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

---

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