Delegate payments through a mandate
A mandate combines upstream Perflo recipient authority with stricter local caller and rolling-limit policy. It remains unusable until browser approval verifies one unique active upstream grant.Create United States dollar limits
Create a mandate with one beneficiary, caps, count, expiry, and at least one client or rule:per_payment_max <= total_cap and daily_max <= weekly_max <= monthly_max <= total_cap.
The API creates a pending_approval mandate and returns an operation. It floors the remaining expiry to whole provider days so upstream authority never outlasts local authority. Browser denial or expiry changes the mandate to approval_failed.
Execute as an agent
CallPOST /v1/mandates/{mandate_id}/executions with an OAuth token containing mandates:execute, a client identifier, and the customer subject. The request amount is the exact United States dollar debit.
PostgreSQL atomically reserves count, total, daily, weekly, and monthly capacity. The worker then re-reads the exact upstream grant and compares status, beneficiary destination, chain, caps, count, and expiry before paying.
Revoke or suspend
Customer revocation and operator suspension immediately setrevocation_pending, cancel unsent reservations, and disable local execution. The worker queues one upstream grant revoke. Confirmed read evidence changes the mandate to revoked; uncertainty leaves it disabled and operator-visible.
There is no resume path. Create and approve another mandate if the customer wants new authority.