intents

Create an intent for a governed action

post/intents

Request

  • Base URL
    https://api.catena.com/v1/agent-api
  • Auth
    HTTP bearer

Headers

Idempotency-Keystring

Optional operation identifier. Reuse the same value only when retrying the same logical submission. Without it, each request is a new submission with no request-idempotency guarantee. Separate x402/MPP approval correlation and nonce-reuse rules still apply.

Request body

evidenceobject

Evidence for the action, keyed by the field keys the agent's policy requires for its capability: text, or { attachmentId } for a file uploaded through POST /evidence-attachments. Leave it out, or send an empty object, when the policy requires none. x402 and mpp payments carry send evidence as text only, which a payment that resumes a pending approval or grant ignores. policy_proposal actions cannot carry evidence

Response

Intent created and evaluated. A send or wallet-source transfer from a non-custodial (Turnkey) account returns an additional nextAction object (a submit_stamp envelope) with the unsigned body to stamp and submit to POST /intents/{intentId}/submit-stamp. A policy_proposal needs no policy and always waits for a person to approve it; it carries proposal.reason, as GET /intents/{id} does, and replaces the agent's earlier proposal if one is still pending.

idstring required
accountIdstring

Resolved 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' | 'policy_proposal' | 'card_purchase' required
status'pending' | 'processing' | 'completed' | 'blocked' | 'failed' required
reasonsstring[] required
expiresAtstring date-time nullable required
replayedboolean required
evidenceobject

The evidence submitted with the intent, keyed by field key: text exactly as sent, or a file's details. Absent when the intent carries none

Changes

No recorded changes to this operation across all 1 revision of this API.