openapi: 3.1.0
info:
  title: Actions API
  description: >-
    Public access to Zapier Stored Actions and the runs that execute them —
    create, list, retrieve, update, and delete stored actions; trigger runs and
    fetch run results.
  version: v1
  contact:
    url: https://docs.zapier.com
servers:
  - url: https://api.zapier.com
    description: Production
tags:
  - name: Stored Actions
    description: Operations related to a Stored Action
security:
  - OAuth: []
paths:
  /actions/v1/stored-actions:
    get:
      operationId: listStoredActions
      description: >-
        Stored Actions endpoints handle the creation, execution, updates, and
        deletions

        of single created actions.
      summary: List stored actions
      tags:
        - Stored Actions
      security:
        - OAuth:
            - external
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StoredActionRecordListResponse'
              examples:
                Success:
                  value:
                    results:
                      - type: stored_action
                        id: 01932123-02ea-01fc-3fbd-4d66d944064d
                        connection_id: 019320ab-0000-7000-8000-abcdef012345
                        selected_api: SplitwiseCLIAPI@1.0.0
                        action_key: new_contact
                        action_type: read
                        inputs:
                          first_name: John
                          last_name: Doe
                    meta:
                      limit: 1
                      offset: 0
                      count: 1
                    links:
                      next: null
          description: >-
            Success: Includes all the Stored Actions for the caller. This could
            be an empty list.
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: >-
                Effective request cap per 300-second window. Default: 200.
                Maximum via limit_override: 1000.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: date-time
              description: Unix timestamp when the current 300-second window resets.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsErrorResponse'
              examples:
                BadRequest:
                  value:
                    errors:
                      - status: 400
                        code: bad_request
                        title: Bad Request
                        detail: Improperly formatted or incompleted request
                        source: null
                        meta: {}
                  summary: Bad Request
          description: Indicates an error executing the request to list Stored Actions.
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: >-
                Effective request cap per 300-second window. Default: 200.
                Maximum via limit_override: 1000.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: date-time
              description: Unix timestamp when the current 300-second window resets.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsErrorResponse'
              examples:
                PermissionDenied:
                  value:
                    errors:
                      - status: 403
                        code: permission_denied
                        detail: >-
                          User does not have enough permissions to perform
                          action
                  summary: Permission Denied
          description: Permission denied. Unauthorized request.
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsErrorResponse'
              examples:
                TooManyRequests:
                  value:
                    errors:
                      - status: 429
                        code: too_many_requests
                        detail: Rate limit exceeded. Too many requests.
                  summary: Too Many Requests
          description: Too many requests.
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: >-
                Effective request cap per 300-second window. Default: 200.
                Maximum via limit_override: 1000.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: date-time
              description: Unix timestamp when the current 300-second window resets.
            Retry-After:
              schema:
                type: integer
              description: Seconds to wait before retrying.
              required: true
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsErrorResponse'
              examples:
                UnhandledOrExternalServiceError:
                  value:
                    errors:
                      - status: 500
                        code: external_service_error
                        detail: An error occurred with an external service.
                  summary: Unhandled or External Service Error
          description: Internal Server Error
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: >-
                Effective request cap per 300-second window. Default: 200.
                Maximum via limit_override: 1000.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: date-time
              description: Unix timestamp when the current 300-second window resets.
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsErrorResponse'
              examples:
                ServiceUnavailableError:
                  value:
                    errors:
                      - status: 503
                        code: service_unavaiable
                        detail: Service is temporarily unavailable
                  summary: Service Unavailable Error
          description: Service Unavailable
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: >-
                Effective request cap per 300-second window. Default: 200.
                Maximum via limit_override: 1000.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: date-time
              description: Unix timestamp when the current 300-second window resets.
            Retry-After:
              schema:
                type: integer
              description: Seconds to wait before retrying.
              required: true
    post:
      operationId: createStoredAction
      description: >-
        Create Stored Action


        Creates a new stored action entry that can then be executed from a
        simpler call to

        /stored-actions with just the stored action `id`.


        This will not execute a StoredAction.


        This is an async process and will only respond with the id of the stored
        action and other meta data,

        and it is the callers responsibility to poll

        GET /stored-actions/{stored_action_id}/runs/{run_id} with the run id
        returned from

        POST /stored-actions/{stored_action_id}/run to fetch the results after
        executing a stored action.


        The triple (selected_api, action_type, action_key) is required to create
        a stored action.

        Only core actions are supported; external and custom (App Extension)
        actions cannot be

        created as stored actions via this endpoint.


        **Note on `connection_id`:** Other Zapier APIs may expose the same

        identifier under the field name `authentication_id`. The value is the

        same UUID — pass it here under the `connection_id` key.
      summary: Create a stored action
      tags:
        - Stored Actions
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StoredActionsCreateRequest'
            examples:
              ExamplePOSTRequest:
                value:
                  data:
                    connection_id: 019320ab-0000-7000-8000-abcdef012345
                    selected_api: SplitwiseCLIAPI@1.0.0
                    action_key: new_contact
                    action_type: read
                    inputs:
                      first_name: John
                      last_name: Doe
                summary: Example POST Request
        required: true
      security:
        - OAuth:
            - external
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StoredActionsCreateResponse'
              examples:
                Success:
                  value:
                    type: stored_action
                    id: 123e4567-e89b-12d3-a456-426614174000
          description: A StoredAction record was successfully created.
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: >-
                Effective request cap per 300-second window. Default: 200.
                Maximum via limit_override: 1000.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: date-time
              description: Unix timestamp when the current 300-second window resets.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsErrorResponse'
              examples:
                BadRequest:
                  value:
                    errors:
                      - status: 400
                        code: bad_request
                        title: Bad Request
                        detail: Improperly formatted or incompleted request
                        source: null
                        meta: {}
                  summary: Bad Request
          description: Indicates an error creating a StoredAction record.
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: >-
                Effective request cap per 300-second window. Default: 200.
                Maximum via limit_override: 1000.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: date-time
              description: Unix timestamp when the current 300-second window resets.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsErrorResponse'
              examples:
                PermissionDenied:
                  value:
                    errors:
                      - status: 403
                        code: permission_denied
                        detail: >-
                          User does not have enough permissions to perform
                          action
                  summary: Permission Denied
          description: Permission denied. Unauthorized request.
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsErrorResponse'
              examples:
                TooManyRequests:
                  value:
                    errors:
                      - status: 429
                        code: too_many_requests
                        detail: Rate limit exceeded. Too many requests.
                  summary: Too Many Requests
          description: Too many requests.
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: >-
                Effective request cap per 300-second window. Default: 200.
                Maximum via limit_override: 1000.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: date-time
              description: Unix timestamp when the current 300-second window resets.
            Retry-After:
              schema:
                type: integer
              description: Seconds to wait before retrying.
              required: true
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsErrorResponse'
              examples:
                UnhandledOrExternalServiceError:
                  value:
                    errors:
                      - status: 500
                        code: external_service_error
                        detail: An error occurred with an external service.
                  summary: Unhandled or External Service Error
          description: Internal Server Error
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: >-
                Effective request cap per 300-second window. Default: 200.
                Maximum via limit_override: 1000.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: date-time
              description: Unix timestamp when the current 300-second window resets.
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsErrorResponse'
              examples:
                ServiceUnavailableError:
                  value:
                    errors:
                      - status: 503
                        code: service_unavaiable
                        detail: Service is temporarily unavailable
                  summary: Service Unavailable Error
          description: Service Unavailable
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: >-
                Effective request cap per 300-second window. Default: 200.
                Maximum via limit_override: 1000.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: date-time
              description: Unix timestamp when the current 300-second window resets.
            Retry-After:
              schema:
                type: integer
              description: Seconds to wait before retrying.
              required: true
  /actions/v1/stored-actions/{stored_action_id}:
    get:
      operationId: getStoredAction
      description: >-
        Stored Actions endpoints handle the creation, execution, updates, and
        deletions

        of single created actions.
      summary: Get a stored action
      parameters:
        - in: path
          name: stored_action_id
          schema:
            type: string
            format: uuid
          required: true
      tags:
        - Stored Actions
      security:
        - OAuth:
            - external
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StoredActionRecord'
              examples:
                Success:
                  value:
                    type: stored_action
                    id: 01932123-02ea-01fc-3fbd-4d66d944064d
                    connection_id: 019320ab-0000-7000-8000-abcdef012345
                    selected_api: SplitwiseCLIAPI@1.0.0
                    action_key: new_contact
                    action_type: read
                    inputs:
                      first_name: John
                      last_name: Doe
          description: 'Success: Includes data for the requested Stored Action.'
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: >-
                Effective request cap per 300-second window. Default: 200.
                Maximum via limit_override: 1000.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: date-time
              description: Unix timestamp when the current 300-second window resets.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsErrorResponse'
              examples:
                BadRequest:
                  value:
                    errors:
                      - status: 400
                        code: bad_request
                        title: Bad Request
                        detail: Improperly formatted or incompleted request
                        source: null
                        meta: {}
                  summary: Bad Request
          description: Imporoperly formatted or incomplete request.
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: >-
                Effective request cap per 300-second window. Default: 200.
                Maximum via limit_override: 1000.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: date-time
              description: Unix timestamp when the current 300-second window resets.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsErrorResponse'
              examples:
                PermissionDenied:
                  value:
                    errors:
                      - status: 403
                        code: permission_denied
                        detail: >-
                          User does not have enough permissions to perform
                          action
                  summary: Permission Denied
          description: Permission denied. Unauthorized request.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsErrorResponse'
              examples:
                Error:
                  value:
                    errors:
                      - status: 404
                        code: not_found
                        title: Resource not found.
                        detail: Here's a more readable explanation of what happened.
                        source:
                          pointer: /path/to/field
                        meta: {}
          description: No results found for this Stored Action id.
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: >-
                Effective request cap per 300-second window. Default: 200.
                Maximum via limit_override: 1000.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: date-time
              description: Unix timestamp when the current 300-second window resets.
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsErrorResponse'
              examples:
                TooManyRequests:
                  value:
                    errors:
                      - status: 429
                        code: too_many_requests
                        detail: Rate limit exceeded. Too many requests.
                  summary: Too Many Requests
          description: Too many requests.
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: >-
                Effective request cap per 300-second window. Default: 200.
                Maximum via limit_override: 1000.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: date-time
              description: Unix timestamp when the current 300-second window resets.
            Retry-After:
              schema:
                type: integer
              description: Seconds to wait before retrying.
              required: true
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsErrorResponse'
              examples:
                UnhandledOrExternalServiceError:
                  value:
                    errors:
                      - status: 500
                        code: external_service_error
                        detail: An error occurred with an external service.
                  summary: Unhandled or External Service Error
          description: Internal Server Error
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: >-
                Effective request cap per 300-second window. Default: 200.
                Maximum via limit_override: 1000.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: date-time
              description: Unix timestamp when the current 300-second window resets.
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsErrorResponse'
              examples:
                ServiceUnavailableError:
                  value:
                    errors:
                      - status: 503
                        code: service_unavaiable
                        detail: Service is temporarily unavailable
                  summary: Service Unavailable Error
          description: Service Unavailable
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: >-
                Effective request cap per 300-second window. Default: 200.
                Maximum via limit_override: 1000.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: date-time
              description: Unix timestamp when the current 300-second window resets.
            Retry-After:
              schema:
                type: integer
              description: Seconds to wait before retrying.
              required: true
    patch:
      operationId: updateStoredAction
      description: >-
        Stored Actions endpoints handle the creation, execution, updates, and
        deletions

        of single created actions.
      summary: Update a stored action
      parameters:
        - in: path
          name: stored_action_id
          schema:
            type: string
            format: uuid
          required: true
      tags:
        - Stored Actions
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedStoredActionsUpdateRequest'
            examples:
              ExamplePATCHRequest:
                value:
                  data:
                    connection_id: 019320ab-0000-7000-8000-abcdef012345
                    selected_api: SplitwiseCLIAPI@1.0.0
                    action_key: new_contact
                    action_type: read
                    inputs:
                      first_name: John
                      last_name: Doe
                summary: Example PATCH Request
      security:
        - OAuth:
            - external
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StoredActionRecord'
              examples:
                Success:
                  value:
                    type: stored_action
                    id: 01932123-02ea-01fc-3fbd-4d66d944064d
                    connection_id: 019320ab-0000-7000-8000-abcdef012345
                    selected_api: SplitwiseCLIAPI@1.0.0
                    action_key: new_contact
                    action_type: read
                    inputs:
                      first_name: John
                      last_name: Doe
          description: A StoredAction record was successfully updated.
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: >-
                Effective request cap per 300-second window. Default: 200.
                Maximum via limit_override: 1000.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: date-time
              description: Unix timestamp when the current 300-second window resets.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsErrorResponse'
              examples:
                BadRequest:
                  value:
                    errors:
                      - status: 400
                        code: bad_request
                        title: Bad Request
                        detail: Improperly formatted or incompleted request
                        source: null
                        meta: {}
                  summary: Bad Request
          description: Indicates an error updating a StoredAction record.
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: >-
                Effective request cap per 300-second window. Default: 200.
                Maximum via limit_override: 1000.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: date-time
              description: Unix timestamp when the current 300-second window resets.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsErrorResponse'
              examples:
                PermissionDenied:
                  value:
                    errors:
                      - status: 403
                        code: permission_denied
                        detail: >-
                          User does not have enough permissions to perform
                          action
                  summary: Permission Denied
          description: Permission denied. Unauthorized request.
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsErrorResponse'
              examples:
                TooManyRequests:
                  value:
                    errors:
                      - status: 429
                        code: too_many_requests
                        detail: Rate limit exceeded. Too many requests.
                  summary: Too Many Requests
          description: Too many requests.
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: >-
                Effective request cap per 300-second window. Default: 200.
                Maximum via limit_override: 1000.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: date-time
              description: Unix timestamp when the current 300-second window resets.
            Retry-After:
              schema:
                type: integer
              description: Seconds to wait before retrying.
              required: true
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsErrorResponse'
              examples:
                UnhandledOrExternalServiceError:
                  value:
                    errors:
                      - status: 500
                        code: external_service_error
                        detail: An error occurred with an external service.
                  summary: Unhandled or External Service Error
          description: Internal Server Error
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: >-
                Effective request cap per 300-second window. Default: 200.
                Maximum via limit_override: 1000.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: date-time
              description: Unix timestamp when the current 300-second window resets.
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsErrorResponse'
              examples:
                ServiceUnavailableError:
                  value:
                    errors:
                      - status: 503
                        code: service_unavaiable
                        detail: Service is temporarily unavailable
                  summary: Service Unavailable Error
          description: Service Unavailable
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: >-
                Effective request cap per 300-second window. Default: 200.
                Maximum via limit_override: 1000.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: date-time
              description: Unix timestamp when the current 300-second window resets.
            Retry-After:
              schema:
                type: integer
              description: Seconds to wait before retrying.
              required: true
    delete:
      operationId: deleteStoredAction
      description: >-
        Stored Actions endpoints handle the creation, execution, updates, and
        deletions

        of single created actions.
      summary: Delete a stored action
      parameters:
        - in: path
          name: stored_action_id
          schema:
            type: string
            format: uuid
          required: true
      tags:
        - Stored Actions
      security:
        - OAuth:
            - external
      responses:
        '204':
          description: A StoredAction record was successfully deleted.
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: >-
                Effective request cap per 300-second window. Default: 200.
                Maximum via limit_override: 1000.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: date-time
              description: Unix timestamp when the current 300-second window resets.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsErrorResponse'
              examples:
                BadRequest:
                  value:
                    errors:
                      - status: 400
                        code: bad_request
                        title: Bad Request
                        detail: Improperly formatted or incompleted request
                        source: null
                        meta: {}
                  summary: Bad Request
          description: Indicates an error deleting a StoredAction record.
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: >-
                Effective request cap per 300-second window. Default: 200.
                Maximum via limit_override: 1000.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: date-time
              description: Unix timestamp when the current 300-second window resets.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsErrorResponse'
              examples:
                PermissionDenied:
                  value:
                    errors:
                      - status: 403
                        code: permission_denied
                        detail: >-
                          User does not have enough permissions to perform
                          action
                  summary: Permission Denied
          description: Permission denied. Unauthorized request.
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsErrorResponse'
              examples:
                TooManyRequests:
                  value:
                    errors:
                      - status: 429
                        code: too_many_requests
                        detail: Rate limit exceeded. Too many requests.
                  summary: Too Many Requests
          description: Too many requests.
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: >-
                Effective request cap per 300-second window. Default: 200.
                Maximum via limit_override: 1000.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: date-time
              description: Unix timestamp when the current 300-second window resets.
            Retry-After:
              schema:
                type: integer
              description: Seconds to wait before retrying.
              required: true
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsErrorResponse'
              examples:
                UnhandledOrExternalServiceError:
                  value:
                    errors:
                      - status: 500
                        code: external_service_error
                        detail: An error occurred with an external service.
                  summary: Unhandled or External Service Error
          description: Internal Server Error
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: >-
                Effective request cap per 300-second window. Default: 200.
                Maximum via limit_override: 1000.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: date-time
              description: Unix timestamp when the current 300-second window resets.
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsErrorResponse'
              examples:
                ServiceUnavailableError:
                  value:
                    errors:
                      - status: 503
                        code: service_unavaiable
                        detail: Service is temporarily unavailable
                  summary: Service Unavailable Error
          description: Service Unavailable
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: >-
                Effective request cap per 300-second window. Default: 200.
                Maximum via limit_override: 1000.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: date-time
              description: Unix timestamp when the current 300-second window resets.
            Retry-After:
              schema:
                type: integer
              description: Seconds to wait before retrying.
              required: true
  /actions/v1/stored-actions/{stored_action_id}/run:
    post:
      operationId: createStoredActionRun
      description: >-
        Execute Stored Action


        Executes an action on behalf of a user, this is an async process.


        Requires the id from a stored action


        Responds with the unique id for this run of the stored action. In order
        to fetch results

        you will need to poll the GET
        /stored-actions/{stored_action_id}/runs/{run_id} endpoint

        with that run id.


        **Billing**


        The Actions API offers support for directly billing users for Stored
        Action

        Runs, and this functionality is currently _opt-in_. To do this, you

        must provide a `billing` claim on the JWT used to authenticate. This

        claim must be a JSON string, and any values provided will override the

        default configuration shown below. The simplest approach is therefore

        to set `is_billable` to true, and successful Stored Action Runs will be

        charged to a user at a rate of one task.


        ```json

        billing: {
            "is_billable": false,
            "origin": "actions_api",
            "usage_type": "action_run",
            "description": "an action was run via Actions API",
            "exemption_reason": null,
            "exemption_details": null
        }

        ```


        **Rate Limits**


        Rate limiting is applied when Gargoyle flag
        `edge_actions_api_rate_limiting_global`

        is active. Requests are rate limited by default unless the JWT
        explicitly sets

        `rate_limit.exempt` to true.


        ```json

        rate_limit: {
            "exempt": true
        }

        ```


        Non-exempted requests are limited to 200 per 5 minutes by default. To
        set a custom

        limit, include `limit_override` (1–1000 requests per 5 minutes):


        ```json

        rate_limit: {
            "exempt": false,
            "limit_override": 500
        }

        ```
      summary: Run a stored action
      parameters:
        - in: path
          name: stored_action_id
          schema:
            type: string
            format: uuid
          required: true
      tags:
        - Stored Actions
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StoredActionsRunRequest'
            examples:
              ExamplePOSTRequest:
                value:
                  data:
                    inputs:
                      message: Hello World!
                    page: '0'
                summary: Example POST Request
        required: true
      security:
        - OAuth:
            - external
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StoredActionsRunResponse'
              examples:
                Accepted:
                  value:
                    data:
                      type: run
                      id: 123e4567-e89b-12d3-a456-426614174000
          description: Acknowledges the request to execute a StoredAction
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: >-
                Effective request cap per 300-second window. Default: 200.
                Maximum via limit_override: 1000.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: date-time
              description: Unix timestamp when the current 300-second window resets.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsErrorResponse'
              examples:
                BadRequest:
                  value:
                    errors:
                      - status: 400
                        code: bad_request
                        title: Bad Request
                        detail: Improperly formatted or incompleted request
                        source: null
                        meta: {}
                  summary: Bad Request
          description: Indicates an error executing the request to run a StoredAction.
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: >-
                Effective request cap per 300-second window. Default: 200.
                Maximum via limit_override: 1000.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: date-time
              description: Unix timestamp when the current 300-second window resets.
        '402':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsErrorResponse'
              examples:
                PaymentRequired:
                  value:
                    errors:
                      - status: 402
                        code: payment_required
                        title: Payment Required
                        detail: Insufficient tasks on account
                  summary: Payment Required
          description: Payment Required - insufficient tasks on account
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: >-
                Effective request cap per 300-second window. Default: 200.
                Maximum via limit_override: 1000.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: date-time
              description: Unix timestamp when the current 300-second window resets.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsErrorResponse'
              examples:
                PermissionDenied:
                  value:
                    errors:
                      - status: 403
                        code: permission_denied
                        detail: >-
                          User does not have enough permissions to perform
                          action
                  summary: Permission Denied
          description: Permission denied. Unauthorized request.
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsErrorResponse'
              examples:
                TooManyRequests:
                  value:
                    errors:
                      - status: 429
                        code: too_many_requests
                        detail: Rate limit exceeded. Too many requests.
                  summary: Too Many Requests
          description: Too many requests.
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: >-
                Effective request cap per 300-second window. Default: 200.
                Maximum via limit_override: 1000.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: date-time
              description: Unix timestamp when the current 300-second window resets.
            Retry-After:
              schema:
                type: integer
              description: Seconds to wait before retrying.
              required: true
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsErrorResponse'
              examples:
                UnhandledOrExternalServiceError:
                  value:
                    errors:
                      - status: 500
                        code: external_service_error
                        detail: An error occurred with an external service.
                  summary: Unhandled or External Service Error
          description: Internal Server Error
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: >-
                Effective request cap per 300-second window. Default: 200.
                Maximum via limit_override: 1000.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: date-time
              description: Unix timestamp when the current 300-second window resets.
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsErrorResponse'
              examples:
                ServiceUnavailableError:
                  value:
                    errors:
                      - status: 503
                        code: service_unavaiable
                        detail: Service is temporarily unavailable
                  summary: Service Unavailable Error
          description: Service Unavailable
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: >-
                Effective request cap per 300-second window. Default: 200.
                Maximum via limit_override: 1000.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: date-time
              description: Unix timestamp when the current 300-second window resets.
            Retry-After:
              schema:
                type: integer
              description: Seconds to wait before retrying.
              required: true
  /actions/v1/stored-actions/{stored_action_id}/runs/{run_id}:
    get:
      operationId: getStoredActionRun
      description: >-
        Fetch Stored Action Run


        Requires the id returned from a call to
        /stored-actions/{stored_action_id}/run

        to execute the stored action.


        The status code returned by this call does NOT denote the status of the
        action

        in an external system, but the status of the action processing from
        Zapier.


        Results are stored for seven days after the action was initially
        executed.
      summary: Get stored action run results
      parameters:
        - in: path
          name: run_id
          schema:
            type: string
            format: uuid
          required: true
        - in: path
          name: stored_action_id
          schema:
            type: string
            format: uuid
          required: true
      tags:
        - Stored Actions
      security:
        - OAuth:
            - external
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StoredActionResult'
              examples:
                Success:
                  value:
                    type: run
                    status: success
                    results:
                      - key: value
                    next_page: '0'
                    errors: []
          description: 'Success: Includes the results of the task run.'
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: >-
                Effective request cap per 300-second window. Default: 600.
                Maximum via limit_override: 3000.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: date-time
              description: Unix timestamp when the current 300-second window resets.
        '202':
          description: The request is still processing, try fetching results again later.
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: >-
                Effective request cap per 300-second window. Default: 600.
                Maximum via limit_override: 3000.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: date-time
              description: Unix timestamp when the current 300-second window resets.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsErrorResponse'
              examples:
                BadRequest:
                  value:
                    errors:
                      - status: 400
                        code: bad_request
                        title: Bad Request
                        detail: Improperly formatted or incompleted request
                        source: null
                        meta: {}
                  summary: Bad Request
          description: Imporoperly formatted or incomplete request.
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: >-
                Effective request cap per 300-second window. Default: 600.
                Maximum via limit_override: 3000.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: date-time
              description: Unix timestamp when the current 300-second window resets.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsErrorResponse'
              examples:
                PermissionDenied:
                  value:
                    errors:
                      - status: 403
                        code: permission_denied
                        detail: >-
                          User does not have enough permissions to perform
                          action
                  summary: Permission Denied
          description: Permission denied. Unauthorized request.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsErrorResponse'
              examples:
                Error:
                  value:
                    errors:
                      - status: 404
                        code: not_found
                        title: Resource not found.
                        detail: Here's a more readable explanation of what happened.
                        source:
                          pointer: /path/to/field
                        meta: {}
          description: No results found for this run.
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: >-
                Effective request cap per 300-second window. Default: 600.
                Maximum via limit_override: 3000.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: date-time
              description: Unix timestamp when the current 300-second window resets.
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsErrorResponse'
              examples:
                TooManyRequests:
                  value:
                    errors:
                      - status: 429
                        code: too_many_requests
                        detail: Rate limit exceeded. Too many requests.
                  summary: Too Many Requests
          description: Too many requests.
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: >-
                Effective request cap per 300-second window. Default: 600.
                Maximum via limit_override: 3000.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: date-time
              description: Unix timestamp when the current 300-second window resets.
            Retry-After:
              schema:
                type: integer
              description: Seconds to wait before retrying.
              required: true
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsErrorResponse'
              examples:
                UnhandledOrExternalServiceError:
                  value:
                    errors:
                      - status: 500
                        code: external_service_error
                        detail: An error occurred with an external service.
                  summary: Unhandled or External Service Error
          description: Internal Server Error
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: >-
                Effective request cap per 300-second window. Default: 600.
                Maximum via limit_override: 3000.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: date-time
              description: Unix timestamp when the current 300-second window resets.
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsErrorResponse'
              examples:
                ServiceUnavailableError:
                  value:
                    errors:
                      - status: 503
                        code: service_unavaiable
                        detail: Service is temporarily unavailable
                  summary: Service Unavailable Error
          description: Service Unavailable
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: >-
                Effective request cap per 300-second window. Default: 600.
                Maximum via limit_override: 3000.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: date-time
              description: Unix timestamp when the current 300-second window resets.
            Retry-After:
              schema:
                type: integer
              description: Seconds to wait before retrying.
              required: true
components:
  schemas:
    StoredActionResult:
      type: object
      description: The flat response payload for fetching a stored action run.
      properties:
        type:
          type: string
          default: run
          description: >-
            Specifies the resource type, as required by the JSON:API
            specification.
        id:
          type: string
          format: uuid
          description: The id returned by the initial call to run an action.
        status:
          allOf:
            - $ref: '#/components/schemas/StatusA45Enum'
          description: >-
            The result of the action call itself from the partner. You could
            have a success=True (Zapier succeeded) and status=error (the partner
            raise an error).


            * `error` - error

            * `success` - success

            * `waiting` - waiting
        results:
          type: array
          items:
            type: object
            additionalProperties: {}
          description: Could be empty, even if the action was successfully run.
        next_page:
          type: string
          description: >-
            When using bulk read action types, this denotes the state of the
            paging utilities. Pass it back as `page` on the next POST
            /stored-actions/{stored_action_id}/run call.
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ActionsFetchError'
          description: Any errors returned by the partner when running this action.
      required:
        - errors
    StoredActionRecordListMeta:
      type: object
      description: Limit-offset pagination metadata for a Stored Action list response.
      properties:
        limit:
          type: integer
          description: Number of results returned in this response.
        offset:
          type: integer
          description: Starting index for this page of results.
        count:
          type: integer
          description: Total number of results across all pages.
      required:
        - count
        - limit
        - offset
    StoredActionRecordListLinks:
      type: object
      description: Pagination navigation links for a Stored Action list response.
      properties:
        next:
          type:
            - string
            - 'null'
          format: uri
          description: Link to the next page of results; null when on the last page.
      required:
        - next
    ActionsErrorSource:
      type: object
      description: Populates the `source` object inside our error responses.
      properties:
        pointer:
          type: string
          description: >-
            Pointer to the value in the request document that caused the error
            e.g. `/actions`.
        parameter:
          type: string
          description: A string indicating which URI query parameter caused the error.
        header:
          type: string
          description: >-
            A string indicating the name of a single request header which caused
            the error.
    CodeEnum:
      enum:
        - user
        - authentication
        - partner
        - system
        - throttled
        - system_throttled
        - hydration
        - authentication_access
      type: string
      description: |-
        * `user` - user
        * `authentication` - authentication
        * `partner` - partner
        * `system` - system
        * `throttled` - throttled
        * `system_throttled` - system_throttled
        * `hydration` - hydration
        * `authentication_access` - authentication_access
    StoredActionsRunRequest:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/StoredActionsRunRequestInput'
      required:
        - data
    StoredActionsCreateResponse:
      type: object
      description: The response returned from creating a Stored Action record.
      properties:
        type:
          type: string
          default: stored_action
          description: >-
            Specifies the resource type, as required by the JSON:API
            specification.
        id:
          type: string
          format: uuid
          description: >-
            The UUID id that identifies this stored action and can be used to
            execute the stored procedure by calling the POST
            /stored-actions/{stored_action_id}/run endpoint.
      required:
        - id
    StoredActionRecord:
      type: object
      description: The shape of a payload representing a stored action record.
      properties:
        connection_id:
          type: string
          format: uuid
          description: >-
            UUID identifying the connection to use when executing a Stored
            Action.
        selected_api:
          type: string
          description: >-
            Something like `SlackAPI` (for Python apps) or
            `SplitwiseCLIAPI@1.0.0` (for CLI apps). Non-public apps are fine as
            long as the authed user can access them. If a version is included we
            attempt to use that version of the integration.  If no version is
            provided we attempt to use the latest version of the integration
        action_key:
          type: string
          description: Name of the action in the integration. Such as `new_contact`.
        action_type:
          allOf:
            - $ref: '#/components/schemas/ActionTypeEnum'
          description: >-
            Specifies the type of action in the integration since some
            integrations could have similarly named actions with different
            actions types


            * `read` - Read

            * `read_bulk` - Read Bulk

            * `write` - Write

            * `run` - Run

            * `search` - Search

            * `search_or_write` - Search Or Write

            * `search_and_write` - Search And Write

            * `filter` - Filter
        inputs:
          default: {}
          description: >-
            Key/value pairs that the action needs to execute. In the example of
            SlackAPI this could be something like `{"channel": "ABC", "text":
            "my message"}`
        id:
          type: string
          format: uuid
          description: >-
            The UUID id that identifies this stored action and can be used to
            execute the stored procedure by calling the POST
            /stored-actions/{stored_action_id}/run endpoint.
        type:
          type: string
          default: stored_action
          description: >-
            Specifies the resource type, as required by the JSON:API
            specification.
      required:
        - id
    PatchedStoredActionsUpdateRequest:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/StoredActionUpdateRequestParams'
    StoredActionsRunResponseParams:
      type: object
      description: The data returned after running a stored action
      properties:
        type:
          type: string
          default: run
          description: >-
            Specifies the resource type, as required by the JSON:API
            specification.
        id:
          type: string
          format: uuid
          description: >-
            The UUID id that identifies this run of the execution and can be
            used to retrieve the results by polling the GET
            /stored-actions/{stored_action_id}/runs/{run_id} endpoint.
    ActionsError:
      type: object
      description: Base Error definition
      properties:
        status:
          type: integer
          description: The HTTP status code applicable to this problem.
        code:
          type: string
          description: A unique identifier for this particular occurrence of the problem.
        title:
          type: string
          description: A short summary of the problem.
        detail:
          type: string
          description: >-
            A human-readable explanation specific to this occurrence of the
            problem.
        source:
          oneOf:
            - $ref: '#/components/schemas/ActionsErrorSource'
            - type: 'null'
          description: An object containing references to the primary source of the error.
        meta:
          type:
            - object
            - 'null'
          additionalProperties: {}
          description: Any additional metadata about the error.
    StoredActionsRunRequestInput:
      type: object
      description: The shape of a request payload accepted when running a stored action.
      properties:
        callback_url:
          type: string
          format: uri
          description: >-
            An optional URL that Zapier will POST the results to when the action
            completes. The POST body will match the same format as the GET
            /stored-actions/{stored_action_id}/runs/{run_id} response.
          maxLength: 2048
        idempotency_id:
          type: string
          format: uuid
          description: >-
            A client-provided UUID that identifies this specific request. If the
            same idempotency_id is used within 72 hours, the second request will
            be ignored and the original response returned.
        inputs:
          default: {}
          description: >-
            Object that matches the input the action would normally get. Has all
            the same keys/types as the `input` of the action. (Formerly known as
            "needs" in some documentation) Specifically includes more "dynamic"
            information to execute such as a specific message when triggering an
            action that sends a Slack DM, for example.
        page:
          type: string
          description: >-
            When using bulk read action types, this denotes the state of the
            paging utilities. Pass it back into the stored-actions endpoint. 
    StoredActionsRunResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/StoredActionsRunResponseParams'
      required:
        - data
    StoredActionRecordListResponse:
      type: object
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/StoredActionRecord'
          description: Stored actions belonging to the caller.
        meta:
          $ref: '#/components/schemas/StoredActionRecordListMeta'
        links:
          $ref: '#/components/schemas/StoredActionRecordListLinks'
      required:
        - links
        - meta
        - results
    ActionsErrorResponse:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ActionsError'
          description: An array of error objects.
      required:
        - errors
    ActionsFetchError:
      type: object
      description: >-
        The error information returned from a third party when running an
        action.
      properties:
        code:
          allOf:
            - $ref: '#/components/schemas/CodeEnum'
          description: |-
            Error type of the result object.

            * `user` - user
            * `authentication` - authentication
            * `partner` - partner
            * `system` - system
            * `throttled` - throttled
            * `system_throttled` - system_throttled
            * `hydration` - hydration
            * `authentication_access` - authentication_access
        title:
          type: string
          description: A short summary of the problem.
        detail:
          type: string
          description: >-
            A human-readable explanation specific to this occurrence of the
            problem.
        delay:
          type: integer
          description: >-
            When a partner throttled the execution call (error_type =
            throttled), this value will hold the number of seconds to wait
            before retrying.
        meta:
          type:
            - object
            - 'null'
          additionalProperties: {}
          description: Any additional error information returned from the partner.
    StoredActionUpdateRequestParams:
      type: object
      description: |-
        The shape of the payload representing the fields available to update
        a StoredAction.

        You should delete your existing StoredAction and create a new record
        if you need to change either the connection_id or the selected_api.
      properties:
        action_key:
          type: string
          description: Name of the action in the integration. Such as `new_contact`.
        action_type:
          allOf:
            - $ref: '#/components/schemas/ActionTypeEnum'
          description: >-
            Specifies the type of action in the integration since some
            integrations could have similarly named actions with different
            actions types


            * `read` - Read

            * `read_bulk` - Read Bulk

            * `write` - Write

            * `run` - Run

            * `search` - Search

            * `search_or_write` - Search Or Write

            * `search_and_write` - Search And Write

            * `filter` - Filter
        inputs:
          default: {}
          description: >-
            Object that matches the input the action would normally get. Has all
            the same keys/types as the `input` of the action. (Formerly known as
            "needs" in some documentation)
    StatusA45Enum:
      enum:
        - error
        - success
        - waiting
      type: string
      description: |-
        * `error` - error
        * `success` - success
        * `waiting` - waiting
    StoredActionsCreateRequest:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/StoredActionsCreateRequestParams'
      required:
        - data
    StoredActionsCreateRequestParams:
      type: object
      description: |-
        The shape of the payload that must be sent to create a Stored Action.

        Only the triple (selected_api, action_type, action_key) is accepted —
        `action_id` is intentionally not exposed on this endpoint.
      properties:
        connection_id:
          type: string
          format: uuid
          description: >-
            UUID of the connection to use when executing the Stored Action. Can
            be any connection visible to the user (including shared).
        selected_api:
          type: string
          description: >-
            Something like `SlackAPI` (for Python apps) or
            `SplitwiseCLIAPI@1.0.0` (for CLI apps). Non-public apps are fine as
            long as the authed user can access them. If a version is included we
            attempt to use that version of the integration.  If no version is
            provided we attempt to use the latest version of the integration
        action_key:
          type: string
          description: Name of the action in the integration. Such as `new_contact`.
        action_type:
          allOf:
            - $ref: '#/components/schemas/ActionTypeEnum'
          description: >-
            Specifies the type of action in the integration since some
            integrations could have similarly named actions with different
            actions types


            * `read` - Read

            * `read_bulk` - Read Bulk

            * `write` - Write

            * `run` - Run

            * `search` - Search

            * `search_or_write` - Search Or Write

            * `search_and_write` - Search And Write

            * `filter` - Filter
        inputs:
          default: {}
          description: >-
            Object that matches the input the action would normally get. Has all
            the same keys/types as the `input` of the action. (Formerly known as
            "needs" in some documentation)
      required:
        - action_key
        - action_type
        - selected_api
    ActionTypeEnum:
      enum:
        - read
        - read_bulk
        - write
        - run
        - search
        - search_or_write
        - search_and_write
        - filter
      type: string
      description: |-
        * `read` - Read
        * `read_bulk` - Read Bulk
        * `write` - Write
        * `run` - Run
        * `search` - Search
        * `search_or_write` - Search Or Write
        * `search_and_write` - Search And Write
        * `filter` - Filter
  securitySchemes:
    OAuth:
      type: oauth2
      description: OAuth 2.0 authentication.
      flows:
        authorizationCode:
          authorizationUrl: https://zapier.com/oauth/authorize
          tokenUrl: https://zapier.com/oauth/token
          scopes:
            external: Scope that gives access to all Public APIs
        clientCredentials:
          tokenUrl: https://zapier.com/oauth/token
          scopes:
            external: Scope that gives access to all Public APIs
