Payment mandate (AP2)
payment_mandateAP2 spend mandates. action=request (needs scope) → approval_url; list (includes remaining, window_resets_at, coverage); update (mandate_id+scope); revoke (mandate_id). update NEVER approves. Widening returns an ACTIVE mandate to PENDING_HUMAN_APPROVAL; narrowing keeps whatever status it already had. monthly_cap is a rolling 30-day window from create. Same category set as a live mandate replaces it at approval and keeps this period's spend. No covering mandate at checkout is handoff, not an error.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| scope | No | Spend limits — required for action=request and action=update | |
| action | Yes | request = create mandate (needs scope); list = enumerate; update = change scope (needs mandate_id+scope); revoke = revoke (needs mandate_id) | |
| expires | No | Optional ISO-8601 expiry, e.g. 2026-12-31T00:00:00Z | |
| agent_id | Yes | Owning agent id | |
| mandate_id | No | Mandate id required for update/revoke | |
| session_token | No | Session token from agent_authenticate — required whenever agent_id is passed |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| hint | No | ||
| next | No | ||
| error | No | ||
| detail | No | ||
| status | No | ||
| applied | No | ||
| mandates | No | ||
| mandate_id | No | ||
| approval_url | No |