Zapier Actions API

Refers to resources interacting with 'Actions' associated resources

OpenAPI Specification

zapier-actions-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Partner Accounts Actions API
  version: 2024.11.0
  description: '

    ## Introduction


    The Partner API is the best tool for complete style control over a user''s Zapier experience within your app.

    Essentially, it lets you customize how you present Zapier within your product without sacrificing your app''s look,

    feel, and flow.


    Think of it as a native Zapier integration, helping you showcase your best Zapier-powered workflows where it''s most

    helpful to your users (within the flow of your tool). You can customize styling, streamline Zap set-up for users,

    expose relevant Zap information, and more!


    With the Partner API, you can:


    - Get a list of all the apps available in Zapier''s app directory so you can power your app directory and show your

    users all the integration possibilities with your Zapier integration.

    - Have complete style control over how you present Zap templates in your product. The Partner API gives you access

    to the raw Zap Template data so you can give your users access to your Zap template with your product''s style, look

    and feel.

    - Get access to all your Zap templates and give your users the ability to search to quickly find the one they need.

    - Streamline Zap setup by pre-filling fields on behalf of your users.

    - Show users the Zaps they have set up from right within your product keeping them on your site longer and giving them

    complete confidence in their Zapier integration.

    - Embed our Zapier Editor to allow your users to create new Zaps and modify existing ones, without needing to leave

    your product.


    ## Authentication


    There are two ways to authenticate with the Partner API.


    1. Your application''s `client_id` which you will receive once you are approved for access to the API

    (Client ID Authentication)

    2. A user''s access token (Access Token Authentication).


    Which authentication method you should use depends on which endpoint(s) you are using.

    Review each endpoint''s documentation to understand which parameters are required.


    > Note: while we do generate a `client_secret`, the type of grant we use (implicit) doesn''t

    need it so it''s not something we provide.''


    ## Learn more


    See the [Workflow API documentation](https://docs.zapier.com/partner-solutions/workflow-api/intro) for more information.

    '
  contact:
    name: Zapier
    url: https://developer.zapier.com/contact
servers:
- url: https://api.zapier.com
tags:
- name: Actions
  description: Refers to resources interacting with 'Actions' associated resources
paths:
  /v2/actions:
    get:
      operationId: get-actions
      description: 'Fetch the available actions for the provided App. It''s typical to filter by type so that only actions that make sense for a particular step are shown. Action IDs may not be reused, see our documentation for how to hardcode a particular action.


        #### When using Client ID


        Simply providing a client ID query parameter is sufficient. If an Authorization header is present, it will be used instead.


        #### When using OAuth


        This endpoint requires the `zap` OAuth scope.'
      summary: Zapier Get Actions
      parameters:
      - in: query
        name: action_type
        schema:
          type: string
          enum:
          - READ
          - READ_BULK
          - SEARCH
          - SEARCH_AND_WRITE
          - SEARCH_OR_WRITE
          - WRITE
        description: The type of Action to filter for. Defaults to returning all actions regardless of type.
        example: READ
      - in: query
        name: app
        schema:
          type: string
          format: uuid
        description: A canonical App ID, as provided by the `/apps` endpoint.
        required: true
        example: 868f9d3c-2ea0-4f19-a32d-a61b276ab8de
      tags:
      - Actions
      security:
      - OAuth:
        - zap
      - ClientIDAuthentication: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ActionsResponse'
              examples:
                ActionsExample:
                  value:
                  - links:
                      next: null
                      prev: null
                    meta:
                      count: 1
                      limit: 10
                      offset: 0
                    data:
                    - id: uag:1f188536-6dd0-4172-8414-2b90914ddee9
                      key: new_lead
                      app: 83b47c0e-adda-44da-a45d-42565fe521ef
                      type: action
                      action_type: action
                      is_instant: true
                      title: New Lead
                      description: Triggers when a new lead is added to SuperExampleCRM
          description: ''
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Get-actions403Example:
                  summary: Default get-actions 403 response
                  x-microcks-default: true
                  value:
                    errors: &id001
                    - {}
          description: 403 Response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Get-actions401Example:
                  summary: Default get-actions 401 response
                  x-microcks-default: true
                  value:
                    errors: *id001
          description: 401 Response
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Get-actions409Example:
                  summary: Default get-actions 409 response
                  x-microcks-default: true
                  value:
                    errors: *id001
          description: 409 Response
        '429':
          headers:
            Retry-After:
              schema:
                type: string
                format: uri
              description: Indicates when to retry the request
            X-RateLimit-Limit:
              schema:
                type: string
                format: uri
              description: The maximum number of requests you're permitted to make per hour.
            X-RateLimit-Remaining:
              schema:
                type: string
                format: uri
              description: The number of requests remaining in the current rate limit window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: uri
              description: The time at which the current rate limit window resets in UTC epoch seconds.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Get-actions429Example:
                  summary: Default get-actions 429 response
                  x-microcks-default: true
                  value:
                    errors: *id001
          description: 429 Response
        '503':
          headers:
            Retry-After:
              schema:
                type: string
                format: uri
              description: Indicates when to retry the request
            X-RateLimit-Limit:
              schema:
                type: string
                format: uri
              description: The maximum number of requests you're permitted to make per hour.
            X-RateLimit-Remaining:
              schema:
                type: string
                format: uri
              description: The number of requests remaining in the current rate limit window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: uri
              description: The time at which the current rate limit window resets in UTC epoch seconds.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Get-actions503Example:
                  summary: Default get-actions 503 response
                  x-microcks-default: true
                  value:
                    errors: *id001
          description: 503 Response
        '504':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Get-actions504Example:
                  summary: Default get-actions 504 response
                  x-microcks-default: true
                  value:
                    errors: *id001
          description: 504 Response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                MalformedRequest.:
                  value:
                    errors:
                    - status: 400
                      code: parse_error
                      title: ParseError
                      detail: Malformed request.
                      source: null
                      meta:
                        source: ZAPIER
                        full_details:
                          message: Malformed request.
                          code: parse_error
                  summary: Malformed request.
          description: This schema can be expected for 4xx 'Malformed request.' errors
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                AServerErrorOccurred.:
                  value:
                    errors:
                    - status: 500
                      code: error
                      title: APIException
                      detail: A server error occurred.
                      source: null
                      meta:
                        source: ZAPIER
                        full_details:
                          message: A server error occurred.
                          code: error
                  summary: A server error occurred.
          description: This schema can be expected for 5xx 'A server error occurred.' errors
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /v2/actions/{action_id}/inputs:
    post:
      operationId: get-fields-inputs
      description: 'Get the Input Fields for a particular Action, using the provided authentication and inputs. See the fields and fieldsets guide for more information.

        See [our docs](https://docs.zapier.com/powered-by-zapier/zap-creation/fields-and-fieldsets#input-fields) for more information.


        #### When using OAuth


        This endpoint requires the `zap:write` OAuth scope.'
      summary: Zapier Get Input Fields
      parameters:
      - in: path
        name: action_id
        schema:
          type: string
        description: An Action ID, as provided by the `/actions` endpoint.
        required: true
        example: uag:87b1c14e-ef30-43d5-9395-6c6514dbb123
      tags:
      - Actions
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ListInputFieldsRequest'
            examples:
              FetchInputFields:
                value:
                  data:
                    authentication: '928117'
                    inputs:
                      spreadsheet: my_sheet
                summary: Fetch input fields
        required: true
      security:
      - OAuth:
        - zap:write
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InputFieldsResponse'
              examples:
                InputFieldsForSomeApp:
                  value:
                    links:
                      next: null
                      prev: null
                    meta:
                      count: 2
                      limit: null
                      offset: 0
                    data:
                    - type: input_field
                      id: input
                      default_value: ''
                      depends_on: []
                      description: Use the Input Data fields above to assign key names (left) and map values (right) from previous steps. Use notation `inputData.keyName` or `inputData['keyName']` to access the values within your code. The data will be provided **as strings**. Learn more [here](https://zapier.com/help/create/code-webhooks/use-javascript-code-in-zaps#input-data-for-code-steps).
                      invalidates_input_fields: false
                      is_required: false
                      placeholder: ''
                      title: Input Data
                      value_type: OBJECT
                    - type: input_field
                      id: code
                      default_value: '// this is wrapped in an `async` function

                        // you can use await throughout the function


                        output = [{id: 123, hello: "world"}];'
                      depends_on: []
                      description: '**Warning! This is an advanced action!** Uses Node 10.x.x. Please read the [Code documentation for more information](/help/create/code-webhooks/use-javascript-code-in-zaps).'
                      format: CODE
                      invalidates_input_fields: false
                      is_required: true
                      placeholder: ''
                      title: Code
                      value_type: STRING
                  summary: Input fields for some app
          description: ''
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Get-fields-inputs403Example:
                  summary: Default get-fields-inputs 403 response
                  x-microcks-default: true
                  value:
                    errors: &id002
                    - {}
          description: 403 Response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Get-fields-inputs401Example:
                  summary: Default get-fields-inputs 401 response
                  x-microcks-default: true
                  value:
                    errors: *id002
          description: 401 Response
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Get-fields-inputs409Example:
                  summary: Default get-fields-inputs 409 response
                  x-microcks-default: true
                  value:
                    errors: *id002
          description: 409 Response
        '429':
          headers:
            Retry-After:
              schema:
                type: string
                format: uri
              description: Indicates when to retry the request
            X-RateLimit-Limit:
              schema:
                type: string
                format: uri
              description: The maximum number of requests you're permitted to make per hour.
            X-RateLimit-Remaining:
              schema:
                type: string
                format: uri
              description: The number of requests remaining in the current rate limit window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: uri
              description: The time at which the current rate limit window resets in UTC epoch seconds.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Get-fields-inputs429Example:
                  summary: Default get-fields-inputs 429 response
                  x-microcks-default: true
                  value:
                    errors: *id002
          description: 429 Response
        '503':
          headers:
            Retry-After:
              schema:
                type: string
                format: uri
              description: Indicates when to retry the request
            X-RateLimit-Limit:
              schema:
                type: string
                format: uri
              description: The maximum number of requests you're permitted to make per hour.
            X-RateLimit-Remaining:
              schema:
                type: string
                format: uri
              description: The number of requests remaining in the current rate limit window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: uri
              description: The time at which the current rate limit window resets in UTC epoch seconds.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Get-fields-inputs503Example:
                  summary: Default get-fields-inputs 503 response
                  x-microcks-default: true
                  value:
                    errors: *id002
          description: 503 Response
        '504':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Get-fields-inputs504Example:
                  summary: Default get-fields-inputs 504 response
                  x-microcks-default: true
                  value:
                    errors: *id002
          description: 504 Response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                MalformedRequest.:
                  value:
                    errors:
                    - status: 400
                      code: parse_error
                      title: ParseError
                      detail: Malformed request.
                      source: null
                      meta:
                        source: ZAPIER
                        full_details:
                          message: Malformed request.
                          code: parse_error
                  summary: Malformed request.
          description: This schema can be expected for 4xx 'Malformed request.' errors
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                AServerErrorOccurred.:
                  value:
                    errors:
                    - status: 500
                      code: error
                      title: APIException
                      detail: A server error occurred.
                      source: null
                      meta:
                        source: ZAPIER
                        full_details:
                          message: A server error occurred.
                          code: error
                  summary: A server error occurred.
          description: This schema can be expected for 5xx 'A server error occurred.' errors
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /v2/actions/{action_id}/inputs/{input_id}/choices:
    post:
      operationId: get-choices
      description: 'Get the possible values for a `SELECT` Input Field.


        #### When using OAuth


        This endpoint requires the `zap` OAuth scope.'
      summary: Zapier Get Choices
      parameters:
      - in: path
        name: action_id
        schema:
          type: string
        description: An Action ID, as provided by the `/actions` endpoint.
        required: true
        example: uag:87b1c14e-ef30-43d5-9395-6c6514dbb123
      - in: path
        name: input_id
        schema:
          type: string
        description: An Input Field ID, as provided by the `/inputs` endpoint.
        required: true
        example: lead_id
      - in: query
        name: page
        schema:
          type: string
          default: '1'
        description: The page of choices to return, defaults to the first
        example: '1'
      tags:
      - Actions
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChoiceRequest'
            examples:
              Get-choicesRequestExample:
                summary: Default get-choices request
                x-microcks-default: true
                value:
                  data:
                    authentication: {}
                    inputs: {}
        required: true
      security:
      - OAuth:
        - zap
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ChoiceResponse'
              examples:
                ChoicesForSomeAction:
                  value:
                  - data:
                    - id: 55c
                      type: choice
                      label: First
                      value: example
                    - id: a73
                      type: choice
                      label: Second
                      value: example
                    links:
                      next: null
                      prev: null
                    meta:
                      page: 1
                  summary: Choices for Some Action
          description: ''
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Get-choices403Example:
                  summary: Default get-choices 403 response
                  x-microcks-default: true
                  value:
                    errors: &id003
                    - {}
          description: 403 Response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Get-choices401Example:
                  summary: Default get-choices 401 response
                  x-microcks-default: true
                  value:
                    errors: *id003
          description: 401 Response
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Get-choices409Example:
                  summary: Default get-choices 409 response
                  x-microcks-default: true
                  value:
                    errors: *id003
          description: 409 Response
        '429':
          headers:
            Retry-After:
              schema:
                type: string
                format: uri
              description: Indicates when to retry the request
            X-RateLimit-Limit:
              schema:
                type: string
                format: uri
              description: The maximum number of requests you're permitted to make per hour.
            X-RateLimit-Remaining:
              schema:
                type: string
                format: uri
              description: The number of requests remaining in the current rate limit window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: uri
              description: The time at which the current rate limit window resets in UTC epoch seconds.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Get-choices429Example:
                  summary: Default get-choices 429 response
                  x-microcks-default: true
                  value:
                    errors: *id003
          description: 429 Response
        '503':
          headers:
            Retry-After:
              schema:
                type: string
                format: uri
              description: Indicates when to retry the request
            X-RateLimit-Limit:
              schema:
                type: string
                format: uri
              description: The maximum number of requests you're permitted to make per hour.
            X-RateLimit-Remaining:
              schema:
                type: string
                format: uri
              description: The number of requests remaining in the current rate limit window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: uri
              description: The time at which the current rate limit window resets in UTC epoch seconds.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Get-choices503Example:
                  summary: Default get-choices 503 response
                  x-microcks-default: true
                  value:
                    errors: *id003
          description: 503 Response
        '504':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Get-choices504Example:
                  summary: Default get-choices 504 response
                  x-microcks-default: true
                  value:
                    errors: *id003
          description: 504 Response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                MalformedRequest.:
                  value:
                    errors:
                    - status: 400
                      code: parse_error
                      title: ParseError
                      detail: Malformed request.
                      source: null
                      meta:
                        source: ZAPIER
                        full_details:
                          message: Malformed request.
                          code: parse_error
                  summary: Malformed request.
          description: This schema can be expected for 4xx 'Malformed request.' errors
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                AServerErrorOccurred.:
                  value:
                    errors:
                    - status: 500
                      code: error
                      title: APIException
                      detail: A server error occurred.
                      source: null
                      meta:
                        source: ZAPIER
                        full_details:
                          message: A server error occurred.
                          code: error
                  summary: A server error occurred.
          description: This schema can be expected for 5xx 'A server error occurred.' errors
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /v2/actions/{action_id}/outputs:
    post:
      operationId: get-fields-outputs
      description: 'Get the Output Fields for a particular Action, using the provided authentication and inputs.


        #### When using OAuth


        This endpoint requires the `zap:write` OAuth scope.'
      summary: Zapier Get Output Fields
      parameters:
      - in: path
        name: action_id
        schema:
          type: string
        description: An Action ID, as provided by the `/actions` endpoint.
        required: true
        example: uag:87b1c14e-ef30-43d5-9395-6c6514dbb123
      tags:
      - Actions
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ListOutputFieldsRequest'
            examples:
              FetchingOutputsForSomeApp:
                value:
                  data:
                    authentication: example_QVaAreV1
                    inputs:
                      someparam: somevalue
                summary: Fetching outputs for some app
        required: true
      security:
      - OAuth:
        - zap:write
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OutputFieldsResponse'
              examples:
                OutputFieldsForSomeApp:
                  value:
                    links:
                      next: null
                      prev: null
                    meta:
                      count: 3
                      limit: null
                      offset: 0
                    data:
                    - type: output_fields
                      id: commit__message
                      title: Commit Message
                      sample: Git 2.0
                    - type: output_field
                      id: parents[]sha
                      title: Parents Sha
                      sample: 4a28f169ad29ba452e0e7bea2583914c10c58322
                    - type: output_field
                      id: parents[]url
                      title: Parents Url
                      sample: https://github.com/git/git/commit/4a28f169ad29ba452e0e7bea2583914c10c58322
                  summary: Output fields for some app
          description: ''
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Get-fields-outputs403Example:
                  summary: Default get-fields-outputs 403 response
                  x-microcks-default: true
                  value:
                    errors: &id004
                    - {}
          description: 403 Response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Get-fields-outputs401Example:
                  summary: Default get-fields-outputs 401 response
                  x-microcks-default: true
                  value:
                    errors: *id004
          description: 401 Response
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Get-fields-outputs409Example:
                  summary: Default get-fields-outputs 409 response
                  x-microcks-default: true
                  value:
                    errors: *id004
          description: 409 Response
        '429':
          headers:
            Retry-After:
              schema:
                type: string
                format: uri
              description: Indicates when to retry the request
            X-RateLimit-Limit:
              schema:
                type: string
                format: uri
              description: The maximum number of requests you're permitted to make per hour.
            X-RateLimit-Remaining:
              schema:
                type: string
                format: uri
              description: The number of requests remaining in the current rate limit window.
            X-RateLimit-Reset:
              schema:
                type: string
                format: uri
              description: The time at which the current rate limit window resets in UTC epoch seconds.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Get-fields-outputs429Example:
                  summary: Default get-fields-outputs 429 response
                  x-microcks-default: true
          

# --- truncated at 32 KB (67 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/zapier/refs/heads/main/openapi/zapier-actions-api-openapi.yml