curl https://api.openfi.co/v1/mandates \
-H "Authorization: Bearer $OPENFI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"payer_account_id": "acc_123",
"max_amount": 50,
"currency": "USD",
"interval": "daily",
"purpose": "AI agent operational expenses"
}'
{
"id": "man_01HZY...",
"status": "active",
"max_amount": 50,
"currency": "USD",
"interval": "daily",
"created_at": "2026-08-27T14:05:00Z"
}
Agentic (recurring pulls)
Create a mandate
Establish the standing authorization behind a recurring, agent-initiated debit relationship.
POST
/
v1
/
mandates
curl https://api.openfi.co/v1/mandates \
-H "Authorization: Bearer $OPENFI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"payer_account_id": "acc_123",
"max_amount": 50,
"currency": "USD",
"interval": "daily",
"purpose": "AI agent operational expenses"
}'
{
"id": "man_01HZY...",
"status": "active",
"max_amount": 50,
"currency": "USD",
"interval": "daily",
"created_at": "2026-08-27T14:05:00Z"
}
A mandate is the top of the three-call agentic flow (mandate → session key → debit pull). It defines who can eventually be pulled from, the ceiling amount, cadence, and purpose, but does not itself move money or authorize any single agent to act.
Mandates support USD and GBP. For CAD, use
POST /v1/payments. See Supported Rails.Body Parameters
string
required
The linked bank account or wallet the mandate authorizes pulls from.
number
required
Ceiling amount per interval, in the mandate’s currency.
string
required
USD or GBP.string
required
One of
daily, weekly, monthly.string
Free-text description, surfaced in audit logs (e.g.
"AI agent operational expenses").boolean
default:"false"
If
true, session keys issued under this mandate can only be granted to subjects holding a valid Verifiable Credential.Response
string
Mandate ID, prefixed
man_.string
active, paused, or revoked.curl https://api.openfi.co/v1/mandates \
-H "Authorization: Bearer $OPENFI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"payer_account_id": "acc_123",
"max_amount": 50,
"currency": "USD",
"interval": "daily",
"purpose": "AI agent operational expenses"
}'
{
"id": "man_01HZY...",
"status": "active",
"max_amount": 50,
"currency": "USD",
"interval": "daily",
"created_at": "2026-08-27T14:05:00Z"
}

