Zapier Accounts API

Refers to resources interacting with 'Accounts' associated resources

OpenAPI Specification

zapier-accounts-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Partner Accounts 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: Accounts
  description: Refers to resources interacting with 'Accounts' associated resources
paths:
  /v1/profiles/me:
    get:
      operationId: v1_profiles_me_list
      description: 'This endpoint returns the authenticated user information


        #### When using OAuth


        This endpoint requires the `profile` OAuth scope.'
      summary: Zapier User Profile
      tags:
      - Accounts
      security:
      - OAuth:
        - profile
      responses:
        '403':
          description: Invalid authentication
        '401':
          content:
            application/json:
              schema:
                type: object
                additionalProperties: {}
              examples:
                V1_profiles_me_list401Example:
                  summary: Default v1_profiles_me_list 401 response
                  x-microcks-default: true
                  value: {}
          description: 401 Response
        '409':
          content:
            application/json:
              schema:
                type: object
                additionalProperties: {}
              examples:
                V1_profiles_me_list409Example:
                  summary: Default v1_profiles_me_list 409 response
                  x-microcks-default: true
                  value: {}
          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:
                type: object
                additionalProperties: {}
              examples:
                V1_profiles_me_list429Example:
                  summary: Default v1_profiles_me_list 429 response
                  x-microcks-default: true
                  value: {}
          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:
                type: object
                additionalProperties: {}
              examples:
                V1_profiles_me_list503Example:
                  summary: Default v1_profiles_me_list 503 response
                  x-microcks-default: true
                  value: {}
          description: 503 Response
        '504':
          content:
            application/json:
              schema:
                type: object
                additionalProperties: {}
              examples:
                V1_profiles_me_list504Example:
                  summary: Default v1_profiles_me_list 504 response
                  x-microcks-default: true
                  value: {}
          description: 504 Response
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Profile'
              examples:
                Profile:
                  value:
                  - id: 88998899
                    first_name: Jacob
                    last_name: Corwin
                    full_name: Jacob Corwin
                    email: jacob.corwin@zapier.example
                    email_confirmed: true
                    timezone: America/Toronto
                  summary: profile
          description: ''
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /v2/authorize:
    get:
      operationId: v2_authorize_list
      description: Create a new user and obtain an access token. See our Quick Account Creation guide to get started.
      summary: Zapier Create Account
      parameters:
      - in: query
        name: client_id
        schema:
          type: string
          minLength: 1
        description: Your application Client ID.
        required: true
        example: '500123'
      - in: query
        name: redirect_uri
        schema:
          type: string
          minLength: 1
        description: The page the user will be redirect to after OAuth flow.
        required: true
        example: https://example.com/path/abc123
      - in: query
        name: referer
        schema:
          type: string
          minLength: 1
        example: example-value
      - in: query
        name: response_type
        schema:
          type: string
          minLength: 1
        description: Only OAuth response type `code` is supported
        required: true
        example: standard
      - in: query
        name: scope
        schema:
          type: string
          minLength: 1
        description: Space (`%20`) separated values
        required: true
        example: example-value
      - in: query
        name: sign_up_email
        schema:
          type: string
          format: email
          minLength: 1
        description: Email of the user signing up.
        example: user@example.com
      - in: query
        name: sign_up_first_name
        schema:
          type: string
          minLength: 1
        description: First name of the user signing up.
        example: Example Name
      - in: query
        name: sign_up_last_name
        schema:
          type: string
          minLength: 1
        description: Last name of the user signing up.
        example: Example Name
      - in: query
        name: utm_campaign
        schema:
          type: string
          default: workflow_api
          minLength: 1
        example: workflow_api
      - in: query
        name: utm_content
        schema:
          type: string
          minLength: 1
        example: example-value
      - in: query
        name: utm_medium
        schema:
          type: string
          default: embed
          minLength: 1
        example: embed
      - in: query
        name: utm_source
        schema:
          type: string
          default: partner
          minLength: 1
        example: partner
      tags:
      - Accounts
      security:
      - ClientIDAuthentication: []
      responses:
        '302':
          description: Redirect to authorization URL
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                V2_authorize_list403Example:
                  summary: Default v2_authorize_list 403 response
                  x-microcks-default: true
                  value:
                    errors: &id001
                    - {}
          description: 403 Response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                V2_authorize_list401Example:
                  summary: Default v2_authorize_list 401 response
                  x-microcks-default: true
                  value:
                    errors: *id001
          description: 401 Response
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                V2_authorize_list409Example:
                  summary: Default v2_authorize_list 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:
                V2_authorize_list429Example:
                  summary: Default v2_authorize_list 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:
                V2_authorize_list503Example:
                  summary: Default v2_authorize_list 503 response
                  x-microcks-default: true
                  value:
                    errors: *id001
          description: 503 Response
        '504':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                V2_authorize_list504Example:
                  summary: Default v2_authorize_list 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
components:
  schemas:
    Error:
      type: object
      description: Base Error definition
      properties:
        status:
          type: integer
          description: The HTTP status code applicable to this problem.
          example: 100
        code:
          type: string
          description: A unique identifier for this particular occurrence of the problem.
          example: example-value
        title:
          type: string
          description: A short summary of the problem.
          example: Example Name
        detail:
          type: string
          description: A human-readable explanation specific to this occurrence of the problem.
          example: example-value
        source:
          oneOf:
          - $ref: '#/components/schemas/ErrorSource'
          - type: 'null'
          description: An object containing references to the primary source of the error.
          example: example-value
        meta:
          type:
          - object
          - 'null'
          additionalProperties: {}
          description: Freeform metadata about the error
          example: {}
    Profile:
      type: object
      description: An authenticated user profile.
      properties:
        id:
          type: integer
          description: The numeric identifier of this user
          example: 100
        first_name:
          type: string
          description: The first name of this user
          example: Example Name
        last_name:
          type: string
          description: The last name of this user
          example: Example Name
        full_name:
          type: string
          description: The combined full name of this user
          example: Example Name
        email:
          type: string
          format: email
          description: The email this user's account is associated with
          example: user@example.com
        email_confirmed:
          type: boolean
          description: Whether said email is confirmed yet or not
          example: true
        timezone:
          type: string
          description: The timezone set for this user
          example: example-value
      required:
      - email
      - email_confirmed
      - first_name
      - full_name
      - id
      - last_name
      - timezone
    ErrorSource:
      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`.
          example: example-value
        parameter:
          type: string
          description: A string indicating which URI query parameter caused the error.
          example: example-value
        header:
          type: string
          description: A string indicating the name of a single request header which caused the error.
          example: example-value
    ErrorResponse:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
          description: An array of error objects.
          example:
          - {}
      required:
      - errors
  securitySchemes:
    ClientIDAuthentication:
      type: apiKey
      in: query
      name: client_id
      description: See our authentication documentation for how to find your Client ID
      x-zapier-auth-scheme-exempt: true
    OAuth:
      type: oauth2
      description: 'See our OAuth2 authentication documentation here: https://docs.zapier.com/powered-by-zapier/api-reference/authentication'
      flows:
        authorizationCode:
          authorizationUrl: https://zapier.com/oauth/authorize/
          tokenUrl: https://zapier.com/oauth/token/
          refreshUrl: https://zapier.com/oauth/token/
          scopes:
            profile: Read profile information about the currently-authenticated user
            zap: Read Zaps
            zap:write: Write Zaps
            authentication: Read Authentications
            authentication:write: Write Authentications
            zap:runs: Read Zap Runs
            action:run: Run an Action
            zap:all: Read Zaps accessible to the account
        implicit:
          authorizationUrl: https://zapier.com/oauth/authorize/
          scopes:
            profile: Read profile information about the currently-authenticated user
            zap: Read Zaps
            zap:write: Write Zaps
            authentication: Read Authentications
            authentication:write: Write Authentications
            zap:runs: Read Zap Runs
            action:run: Run an Action
            zap:all: Read Zaps accessible to the account