Intents
Get an intent
Get an intent by id.
GET
/v1/agent-api/intents/{id}Path parameters
idstringRequiredResponses
200Intent state. A completed payment intent's
data carries paymentCredential (the credential to present to the seller) and transaction (the same shape send/transfer serve); data.x402 is a deprecated protocol-named copy of both. A payment carried by a movement plan carries movement: its nextStep reads wait while a person decides it, an admin signs it, or its signature is in flight, then done or blocked. A payment a person approved is signed by an admin, not the agent; an agent that restarted before signing a payment nobody had to approve sends its original request again on the same Idempotency-Key. status cannot carry this on its own, because a payment an admin is signing and one whose signature is in flight both read processing.404Intent missing or not owned by the authenticated agent (
intent_not_found)Response fields
idstringRequiredaccountIdstringOptionalResolved source account, pinned when the intent was created. Omitted for actions without an account.
type"send" | "transfer" | "create_counterparty" | "request_counterparty_details" | "x402" | "mpp" | "policy_override"Requiredstatus"pending" | "processing" | "completed" | "blocked" | "failed"Requiredresolution"completed" | "blocked" | "denied" | "expired" | "failed" | "cancelled" or string or nullRequiredExact terminal outcome, or null while the intent is nonterminal. Known values are completed, blocked, denied, expired, failed, and cancelled; clients must preserve future nonblank strings.
reasonsarray of stringRequiredexpiresAtstring or nullRequiredmovementobjectOptionalmovement.planIdstringRequiredmovement.nextStep"wait" | "done" | "blocked"Requireddataobject or nullRequiredmetadataobjectRequiredmetadata.dataUrlstring or nullRequired