Ashby Approval API

The Approval API from Ashby — 1 operation(s) for approval.

Documentation

📖
Documentation
https://developers.ashbyhq.com/reference/applicationlist
📖
Documentation
https://developers.ashbyhq.com/reference/candidatelist
📖
Documentation
https://developers.ashbyhq.com/reference/joblist
📖
Documentation
https://developers.ashbyhq.com/reference/jobpostinglist
📖
Documentation
https://developers.ashbyhq.com/reference/interviewschedulelist
📖
Documentation
https://developers.ashbyhq.com/reference/offerlist
📖
Documentation
https://developers.ashbyhq.com/reference/approvaldefinitionupdate
📖
Documentation
https://developers.ashbyhq.com/reference/surveyrequestlist
📖
Documentation
https://developers.ashbyhq.com/reference/assessmentstart
📖
Documentation
https://developers.ashbyhq.com/docs/creating-an-assessments-integration
📖
Documentation
https://developers.ashbyhq.com/reference/customfieldcreate
📖
Documentation
https://developers.ashbyhq.com/reference/userlist
📖
Documentation
https://developers.ashbyhq.com/reference/fileinfo
📖
Documentation
https://developers.ashbyhq.com/reference/reportgenerate
📖
Documentation
https://developers.ashbyhq.com/docs/setting-up-webhooks
📖
Documentation
https://developers.ashbyhq.com/docs/authenticating-webhooks
📖
Documentation
https://developers.ashbyhq.com/docs/common-webhook-payload-data
📖
Documentation
https://developers.ashbyhq.com/docs/related-webhooks
📖
Documentation
https://developers.ashbyhq.com/docs/webhook-retries
📖
Documentation
https://developers.ashbyhq.com/reference/apikeyinfo

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

ashby-hq-approval-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  version: 1.0.0
  title: Ashby API Key Approval API
  description: Complete public API for accessing resources in your Ashby instance. Includes applications, candidates, jobs, interviews, offers, surveys, custom fields, organization metadata, files, reports, approvals, and webhooks.
  contact:
    name: Ashby Support
    url: https://app.ashbyhq.com/support
    email: support@ashbyhq.com
servers:
- url: https://api.ashbyhq.com
security:
- BasicAuth: []
tags:
- name: Approval
paths:
  /approval.list:
    post:
      summary: approval.list
      operationId: approvalList
      description: 'Gets all approvals in the organization. You can optionally filter by entity type and entity ID.


        See the [Pagination and Incremental Synchronization](/docs/pagination-and-incremental-sync) guide for detailed usage examples.


        **Requires the [`approvalsRead`](authentication#permissions-approvallist) permission.**

        '
      tags:
      - Approval
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/paths/~1surveyFormDefinition.list/post/requestBody/content/application~1json/schema'
              - type: object
                properties:
                  entityType:
                    type: string
                    enum:
                    - offer
                    - job
                    - opening
                    description: Filter approvals by the type of entity they are associated with.
                  entityId:
                    type: string
                    format: uuid
                    description: Filter approvals to only those associated with this specific entity ID.
      responses:
        '200':
          description: Responses from the approval.list endpoint
          content:
            application/json:
              schema:
                oneOf:
                - title: Success Response
                  allOf:
                  - $ref: '#/paths/~1job.list/post/responses/200/content/application~1json/schema/oneOf/0/allOf/0'
                  - type: object
                    properties:
                      results:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              $ref: '#/paths/~1interviewerPool.addUser/post/requestBody/content/application~1json/schema/properties/userId'
                            approvalDefinitionId:
                              allOf:
                              - description: The id of the approval definition associated to this approval.
                              - $ref: '#/paths/~1interviewerPool.addUser/post/requestBody/content/application~1json/schema/properties/userId'
                            entityId:
                              allOf:
                              - description: The id of the approval entity (e.g. the id of the offer version).
                              - $ref: '#/paths/~1interviewerPool.addUser/post/requestBody/content/application~1json/schema/properties/userId'
                            entityType:
                              type: string
                              enum:
                              - offer
                              - job
                              - opening
                            createdAt:
                              allOf:
                              - $ref: '#/paths/~1candidate.createNote/post/requestBody/content/application~1json/schema/properties/createdAt'
                            submittedAt:
                              allOf:
                              - $ref: '#/paths/~1candidate.createNote/post/requestBody/content/application~1json/schema/properties/createdAt'
                              - description: The date when the approval was submitted and sent to users for approval.
                            completedAt:
                              allOf:
                              - $ref: '#/paths/~1candidate.createNote/post/requestBody/content/application~1json/schema/properties/createdAt'
                              - description: The date when the approval was completed and approved by everyone.
                            steps:
                              type: array
                              items:
                                type: object
                                properties:
                                  id:
                                    $ref: '#/paths/~1interviewerPool.addUser/post/requestBody/content/application~1json/schema/properties/userId'
                                  approvalsRequired:
                                    type: integer
                                    description: The number of approvers required to approve this step, before the approval moves on to the next step.
                                  completedAt:
                                    allOf:
                                    - $ref: '#/paths/~1candidate.createNote/post/requestBody/content/application~1json/schema/properties/createdAt'
                                    - description: The date when the step is completed based on the number of required approvals
                                  approvers:
                                    type: array
                                    description: An unordered list of who can approve this step.
                                    items:
                                      type: object
                                      properties:
                                        id:
                                          $ref: '#/paths/~1interviewerPool.addUser/post/requestBody/content/application~1json/schema/properties/userId'
                                        userId:
                                          allOf:
                                          - $ref: '#/paths/~1interviewerPool.addUser/post/requestBody/content/application~1json/schema/properties/userId'
                                          - description: The id of a user who is an approver for this step.
                                        decision:
                                          type: string
                                          enum:
                                          - approve
                                          - reject
                                          - pending
                                        decidedAt:
                                          allOf:
                                          - $ref: '#/paths/~1candidate.createNote/post/requestBody/content/application~1json/schema/properties/createdAt'
                                          - description: The date when the decision was taken by the user.
                                        requestedAt:
                                          allOf:
                                          - $ref: '#/paths/~1candidate.createNote/post/requestBody/content/application~1json/schema/properties/createdAt'
                                          - description: The date when the decision was sent to be approved by the user.
                                      required:
                                      - id
                                      - userId
                                      - decision
                                required:
                                - id
                                - approvalsRequired
                                - approvers
                          required:
                          - id
                          - createdAt
                          - approvalDefinitionId
                          - entityId
                          - entityType
                          - steps
                    required:
                    - results
                - $ref: '#/paths/~1report.generate/post/responses/429/content/application~1json/schema'
components:
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic
      description: HTTP Basic Auth. Send your Ashby API key as the username and leave the password blank.
    WebhookSignature:
      type: apiKey
      in: header
      name: Ashby-Signature
      description: HMAC-SHA256 signature of the webhook payload, used to verify webhook authenticity.