Approvals queue (Review Loop, console plane)
GET /v1/admin/orgs/{org_id}/projects/{project_id}/reviews
The human Approvals queue: pending reviews across ALL the tenant’s inboxes, newest-first and paginated, each with an intent summary + a body snippet (never the full body). Filter by state (repeatable / comma-separated), inbox, and category_id. Customer-scoped to the Clerk session; these human-authority reads/actions are console-only and never MCP tools (D17).
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”Query Parameters
Section titled “Query Parameters ”Filter by state (repeatable or comma-separated).
Filter by composer inbox address.
Filter by opaque category id (cat_…).
Page size for the cursor-paginated agent surface (default 50; clamped to the 1-100 range).
Opaque page cursor.
Responses
Section titled “ Responses ”Ok
object
One Approvals-queue row (console plane, D17). Metadata + intent summary + subject + a body snippet only; never the full body (loaded on detail open).
object
Human-readable category name; absent when unavailable.
Pending reconsideration; does not assert that the composer is online.
Durable composer completion watermark independent of acknowledgement.
Highest available unresolved recheck event sequence.
Cause of pending reconsideration.
Captured sender name for this review; empty means bare address. Absent on legacy reviews.
The auto-send divert reason (held:
Why a reviewer-loop draft landed back in the human queue (M8; §9): a reviewer’s escalate, or a circuit breaker (max_hops / review_deadline) forcing it to the human. Empty for an ordinary review.
The monotonic reviewer hand-back counter (M8 breaker (a)); surfaced so a maxed-out review reads as forced-to-human.
Missing or invalid credential.
The canonical error envelope. error is a stable machine code.
object
Stable error code (e.g. unauthorized, forbidden, not_found, invalid, quota_exceeded, rate_limited).
Example
forbiddenHuman-readable detail (never leaks internals).
Example
missing required scopeMachine-readable quota reason. inbox_limit_exceeded means billing account inbox capacity across all organizations and projects sharing that account; enrollment_token_mailbox_budget_exhausted means the enrollment key lifetime creation allowance. Read message for recovery; inbox counts are separate from sending quotas.
Consumed plus reserved units.
Requested additional units.
Next UTC usage-period boundary; pending reservations survive this boundary.
Authenticated but lacking the required scope, or out of quota.
The canonical error envelope. error is a stable machine code.
object
Stable error code (e.g. unauthorized, forbidden, not_found, invalid, quota_exceeded, rate_limited).
Example
forbiddenHuman-readable detail (never leaks internals).
Example
missing required scopeMachine-readable quota reason. inbox_limit_exceeded means billing account inbox capacity across all organizations and projects sharing that account; enrollment_token_mailbox_budget_exhausted means the enrollment key lifetime creation allowance. Read message for recovery; inbox counts are separate from sending quotas.
Consumed plus reserved units.
Requested additional units.
Next UTC usage-period boundary; pending reservations survive this boundary.