v1

latestOpenAPI 3.1.02026-08-047829.9 KB

Propose a spending mandate

The agent proposes a mandate with a suggested budget, merchant restrictions, and cadence. The mandate is created with status: pending_approval and is not usable until the human owner approves it out-of-band (via push notification, email, or in-app review). The agent should poll GET /v1/mandates/{id} to detect when status becomes active.

post/mandates

Headers

Idempotency-Keystring

Client-generated unique key. Same key returns the same response without re-executing the operation. Always set this on credential requests.

Request body

agent_idstring required
metadataobject

Response

Mandate created in pending_approval status

idstring required

Unique mandate ID.

owner_idstring required

ID of the human user who owns and approved this mandate.

agent_idstring required

ID of the AI agent authorized to request credentials under this mandate.

status'pending_approval' | 'active' | 'exhausted' | 'expired' | 'revoked' required

pending_approval = created, awaiting human approval. active = approved, credential requests accepted. exhausted = once mandate fully used. expired = past expires_at. revoked = manually cancelled.

approved_atstring date-time nullable

When the human owner approved the mandate.

created_atstring date-time required
expires_atstring date-time nullable
metadataobject

Up to 10 key-value string pairs. Use to record user instruction, task context, etc.

x-ap2-notestring

In a future AP2-compatible version, this mandate will be issued as a signed Intent Mandate VDC and approved_at will carry a cryptographic attestation.