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