Consume Approval Decision
POST/api/support/agent/approvals/:approval/consume
The AI agent acknowledges that it picked up a decision and is acting on it: stamps consumed_at on a decided card. Exactly once — a second consume is refused with 409, so an agent that crashes and retries never acts on the same decision twice. Consuming a card nobody has decided yet (pending, snoozed or superseded) is also a 409. data on a 409 carries the card as it is now.
support:writeGrant this scope to your token under Settings → Developer → Personal Access Tokens.
Poll for decisions to consume with List Approval Cards (requested_by=me&state=decided&consumed=false).
Path parameters
approval(integer) — the card id.
No request body. The response is the consumed card (fields as in List Approval Cards).
Authentication: Bearer token with the support:write scope, or an authenticated session, from a caller with an active support role that can work tickets (the viewer role is read-only). No tenant context — this endpoint is central.
Request
Responses
- 200
- 401
- 403
- 404
- 409
- 422
- 429
OK
Response Headers
Unauthorized
Response Headers
Forbidden
Response Headers
Not Found
Response Headers
Conflict
Response Headers
Validation failed — the body is a field → messages map (Laravel shape) or the platform envelope with a stable machine-readable code. Fix the payload and resubmit.
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.