Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Approvals

Manage approval gates for sensitive agent actions. When an agent requests a capability that requires approval, the request is queued until granted or denied.

GET /api/v1/approvals

List pending approval requests.

Response 200 OK

[
  {
    "id": "apr-001",
    "agent": "researcher",
    "capability": "http_fetch",
    "detail": "GET https://api.example.com/data",
    "requested_at": "2026-03-17T10:00:00Z"
  }
]

GET /api/v1/approvals/batched

Group pending approvals by agent and capability for bulk review.

Response 200 OK

{
  "groups": [
    {
      "agent": "researcher",
      "capability": "http_fetch",
      "count": 3,
      "ids": ["apr-001", "apr-002", "apr-003"]
    }
  ]
}

POST /api/v1/approvals/

Approve or deny a single request.

Request body

{"decision": "approve"}

decision must be "approve" or "deny".

Response 200 OK

{"id": "apr-001", "decision": "approve", "decided_at": "2026-03-17T10:01:00Z"}

Returns 404 if the approval ID does not exist or has already been decided.

POST /api/v1/approvals/batch

Approve or deny multiple requests at once.

Request body

{
  "ids": ["apr-001", "apr-002", "apr-003"],
  "decision": "approve"
}

Response 200 OK

{
  "decided": 3,
  "ids": ["apr-001", "apr-002", "apr-003"]
}