---
title: "Resolve an approval request"
method: PATCH
path: "/api/v1/approvals/{id}"
tags: ["Approval Queue"]
---

# Resolve an approval request

`PATCH /api/v1/approvals/{id}`

Approve or deny a pending approval request. If approved, the gateway resumes the full task pipeline (stages 2–8: credit debit → compute → IPFS → fingerprint → receipt). If denied, the task is marked FAILED and no credits are consumed. Both JWT and API key authentication are supported — enabling programmatic resolution from SDKs and scripts without the dashboard.

## Path parameters

- `id` string, required

## Request body

- object
  - `decision` 'approved' | 'denied', required — Approval decision
  - `note` string — Optional note explaining the decision (e.g. "Verified invoice with finance team")

## Response `200`

Approval resolved successfully

- object
  - `success` boolean
  - `decision` 'approved' | 'denied'
  - `taskId` string
  - `receipt` object — Full task receipt (only present when approved)

## Other responses

- `400` — Invalid decision value
- `403` — Not your approval request
- `404` — Approval request not found

## Changes

- **2026-04-14** `0d3faa6ef2db` — 9 warning, 1 info
  - removed the optional property `receipt/agentId` from the response with the `200` status
  - removed the optional property `receipt/attestationUid` from the response with the `200` status
  - removed the optional property `receipt/creditCharged` from the response with the `200` status
  - removed the optional property `receipt/ipfsCid` from the response with the `200` status
  - …6 more
- **2026-04-12** `3011167788c9` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/humbleaf/apis/agentchain-prior-api/changes/api/v1/approvals/:id/patch.md)

---

[API](https://skmtc.dev/humbleaf/apis/agentchain-prior-api.md) · [All operations](https://skmtc.dev/humbleaf/apis/agentchain-prior-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/humbleaf/agentchain-prior-api/revisions/33dd194c5572/schema)
