---
title: "Return approval chains"
method: GET
path: "/v1/org/{orgId}/approval-chain"
tags: ["approval"]
---

# Return approval chains

`GET /v1/org/{orgId}/approval-chain`

## Path parameters

- `orgId` string, required

## Query parameters

- `entityType` 'COMP_REVIEW' | 'SCENARIO' | 'TIMEOFF'
- `entityId` string
- `from` string
- `limit` integer

## Response `200`

successful operation

- ResultsApprovalChain
  - `data` ApprovalChain[], required
    - `id` string, required — globally unique id
    - `orgId` string, required — parent organization id
    - `entityId` string — entity id
    - `entityType` 'COMP_REVIEW' | 'SCENARIO' | 'TIMEOFF' — entity type
    - `name` string, required — human-readable name of approval chain
    - `isPreview` boolean — isPreview specifies that this is a preview for implementations that use it (e.g. Compensation Reviews)
    - `fallbackApproverJobId` string — the jobId of the fallback approver
    - `fallbackApproverJobError` string — most recent error for fallback approver
    - `approvalNotifierGroups` ApprovalNotifierGroup[] — notifier groups with optional conditions for post-approval notification
      - `groupId` string, required — globally unique id for this notifier group
      - `userIds` string[], required — user ids to notify in this group
      - `inclusionBehavior` 'ONLY_INCLUDE_IF' | 'EXCLUDE_IF' — condition behavior for this notifier group; null means always notify
      - `inclusionExpression` string — expression to evaluate for conditional notification
    - `createId` string — created by user id
    - `createBehalfId` string — created on behalf of user id
    - `createAttribution` Attribution
      - `principalUserId` string
      - `agentUserIds` string[]
      - `eventId` string
      - `aiChatId` string
      - `aiToolUseId` string
      - `channel` 'WEB' | 'MOBILE' | 'SLACK' | 'TEAMS' | 'MCP'
    - `createAt` string — created timestamp
    - `updateId` string — last updated by user id
    - `updateBehalfId` string — last updated on behalf of user id
    - `updateAttribution` Attribution
      - `principalUserId` string
      - `agentUserIds` string[]
      - `eventId` string
      - `aiChatId` string
      - `aiToolUseId` string
      - `channel` 'WEB' | 'MOBILE' | 'SLACK' | 'TEAMS' | 'MCP'
    - `updateAt` string — last updated timestamp
    - `deleteId` string — deleted by user id
    - `deleteBehalfId` string — deleted on behalf of user id
    - `deleteAttribution` Attribution
      - `principalUserId` string
      - `agentUserIds` string[]
      - `eventId` string
      - `aiChatId` string
      - `aiToolUseId` string
      - `channel` 'WEB' | 'MOBILE' | 'SLACK' | 'TEAMS' | 'MCP'
    - `deleteAt` string — deleted timestamp
  - `next` string
  - `access` ResultsAccess[]
    - `ids` string[]
    - `allowed` AccessAction[], required
      - `action` string, required
      - `fields` string[]
      - `types` string[]

## Other responses

- `400` — bad request
- `401` — not authorized
- `404` — not found

---

[API](https://skmtc.net/charthop/apis/charthop-api.md) · [All operations](https://skmtc.net/charthop/apis/charthop-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/charthop/charthop-api/versions/50a1edd6b27e/schema)
