---
title: "What an agent can read about its own approval: the state and, once decided, the approver's role and typed reason."
method: GET
path: "/v1/approvals/{id}"
tags: ["approvals"]
---

# What an agent can read about its own approval: the state and, once decided, the approver's role and typed reason.

`GET /v1/approvals/{id}`

## Request

- Base URL: `https://api.50heads.com`
- URL: `https://api.50heads.com/v1/approvals/{id}`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://auth.50heads.com/authorize`, token URL `https://auth.50heads.com/token`; client credentials, token URL `https://auth.50heads.com/token`, scopes: `questions:read`)

Poll this (the 202 says how often), or wait on the question. Denied: `code: refused_by_policy` with the approver's reason and role (owner, admin or billing), never their name. Nobody decided in time: `code: approval_expired`. Only the account that asked, or a person who can see the approval, can read it; anyone else gets 404.

## Path parameters

- `id` string, required

## Response `200`

OK

- ApprovalGetResponse
  - `approvalId` string, required
  - `questionId` string, required
  - `status` 'pending' | 'approved' | 'denied' | 'expired' | 'canceled', required
  - `amountPence` integer, required
  - `approveUrl` string, required
  - `expiresAt` string, required
  - `quorum` union, required
    - 1
    - 2
  - `approvedCount` integer, required
  - `code` 'refused_by_policy' | 'approval_expired', nullable, required
  - `decision` object, nullable, required
    - `outcome` 'approved' | 'denied' | 'expired' | 'canceled', required
    - `reason` string, nullable, required
    - `decidedByRole` string, nullable, required
    - `decidedAt` string, required

## Other responses

- `401`: No key or token, or it expired or was revoked.
- `403`: The key or token lacks the scope (`insufficient_scope`), or the action is not allowed.
- `404`: No such question, endpoint or delivery on this account.
- `429`: Too many requests; wait for Retry-After.

---

[API](https://skmtc.dev/50heads/apis/50heads-api.md) · [All operations](https://skmtc.dev/50heads/apis/50heads-api/llms.txt) · [OpenAPI document](https://skmtc.dev/50heads/apis/50heads-api/revisions/20175e8b00e3?raw)
