---
title: "Retrieve the approval policy chain for a specific invoice"
method: GET
path: "/invoices/{id}/approval-chain"
tags: ["invoices"]
---

# Retrieve the approval policy chain for a specific invoice

`GET /invoices/{id}/approval-chain`

Returns the ordered policy chain for an invoice, including hierarchical child policies, per-tier status, and approver rows. Use to render multi-tier Advanced Approval workflows with active/blocked/completed tiers.

Note: response is a bare JSON array (no `version` wrapper). The `childrens` field name intentionally matches the backend serializer's spelling.

## Path parameters

- `id` string, required

## Query parameters

- `sync_approval` boolean

## Headers

- `Authorization` string, required
- `X-Api-Key` string, required
- `X-API-Version` string

## Response `200`

Successful response with the ordered approval policy chain

- InvoicesGetInvoicesIdApprovalChainResponse200 — Empty response body

## Other responses

- `400` — Bad request - Invalid parameters or request format
- `401` — Unauthorized - Authentication required or invalid credentials
- `403` — Forbidden - Access denied or insufficient permissions

---

[API](https://skmtc.dev/ottimate/apis/api-reference.md) · [All operations](https://skmtc.dev/ottimate/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ottimate/api-reference/revisions/ba91ff4c6969/schema)
