Developers · Approval requests
Read a request's decision and cancel it
After creating a request, the system learns the decision by reading the request or receiving a webhook. Webhooks are preferable; reading suits scripts and serves as confirmation.
Reading the request
GET /v1/intents/{intent_id} with the intents:read scope returns:
| Field | Values |
|---|---|
state | pending, approved, denied, expired, cancelled |
decidedAt | When it was decided |
decisionFactor | passkey, or device for a phone decision |
receipt.status | awaiting_signature then signed |
Poll with growing delays (for example 2 seconds, doubling to 30) until the state is no longer pending.
Cancelling
POST /v1/intents/{intent_id}/cancel withdraws a pending request. A request already decided, expired or cancelled gives 409 conflict; treat it as "already over" and read the state.
Error answers
| Answer | Cause |
|---|---|
401 | Missing or expired token: get another |
403 insufficient_scope | The token lacks intents:read |
404 | The request belongs to another client or does not exist |
409 | Incompatible state (for example cancelling a decided request) |
Before running the operation
- Check that
stateisapproved. - Verify the signed receipt (see Verify receipts).
- Only then run the operation in your system.
Decisions and policy
Decisions on third-party requests are not yet evaluated by the organization's access policy. A recovery session cannot decide.
Error codes in this article
Was this page helpful?
Thank you. Your answer stays in this browser; nothing is sent.
Sorry about that. Try:
- searching for the exact text of the message or the error code
- the error code index
- asking your organization's administrator