---
title: "approval.list"
method: POST
path: "/approval.list"
tags: ["Approval"]
---

# approval.list

`POST /approval.list`

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.**

## Request body

- ApprovalListRequest
  - `entityType` 'offer' | 'job' | 'opening', nullable — Filter approvals by the type of entity they are associated with
  - `entityId` string, uuid, nullable — Filter approvals to only those associated with this specific entity ID
  - `cursor` string, nullable — The pagination cursor. Use 'start' for the first page or the nextCursor value from a previous response.
  - `limit` integer, nullable — The maximum number of approvals to return per page. Maximum is 100.
  - `syncToken` string, nullable — A sync token to retrieve only approvals updated since the last sync. Obtained from a previous list response.

## Response `200`

Responses from the approval.list endpoint

- union
  - ApprovalListSuccessResponse
    - `success` true, required
    - `results` Approval[], required
      - `id` string, uuid, required — The unique identifier for the approval
      - `approvalDefinitionId` string, uuid, required — The id of the approval definition associated with this approval
      - `entityId` string, uuid, required — The id of the approval entity, such as the id of the offer version
      - `entityType` 'Job' | 'Offer' | 'Opening', required — The type of entity associated with this approval
      - `createdAt` string, date-time, required — The date and time when the approval was created
      - `submittedAt` string, date-time, nullable — The date and time when the approval was submitted to approvers
      - `completedAt` string, date-time, nullable — The date and time when the approval was completed
      - `steps` ApprovalStep[], required — The approval steps for this approval
        - `id` string, uuid, required — The unique identifier for the approval step
        - `approvalsRequired` integer, required — The number of approvers required to approve this step before the approval moves to the next step
        - `completedAt` string, date-time, nullable — The date and time when the step was completed
        - `approvers` ApprovalStepApprover[], required — An unordered list of users who can approve this step
          - `id` string, uuid, required — The unique identifier for the approval step approver
          - `userId` string, uuid, required — The id of a user who is an approver for this step
          - `decision` 'approve' | 'reject' | 'pending', required — The approver's decision for this approval step
          - `decidedAt` string, date-time, nullable — The date and time when the decision was taken by the user
          - `requestedAt` string, date-time, nullable — The date and time when the approval request was sent to the user
    - `nextCursor` string — Cursor for the next page of results, if available
    - `moreDataAvailable` boolean — Whether more data is available beyond this page
    - `syncToken` string — Sync token to use for future incremental syncs. Only present on the last page.
  - ErrorResponse
    - `success` false, required
    - `errors` ErrorDetail[], required
      - `message` string, required
      - `parameter` string

---

[API](https://skmtc.net/ashbyhq/apis/ashby-api.md) · [All operations](https://skmtc.net/ashbyhq/apis/ashby-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ashbyhq/ashby-api/revisions/778b919dc743/schema)
