Create a payout run
Pay up to 50 people at once from the agent’s customer’s stablecoin Embedded Wallet, in one approved action. Each row pays a contact by phone number or email, through a claimable payout, or one of the customer’s own ACTIVE external accounts, through a send. The run pays now: there is no schedule, and rows succeed or fail one by one.
Validation is all or nothing: a row the agent may not send, or a body Grid cannot read, refuses the whole request and creates nothing. A GRID_CUSTOMER row is refused with 400. A row paying an external account the agent may not pay is refused with DESTINATION_NOT_ALLOWED.
The run is checked against the agent’s policy as one payment of total: it needs the CREATE_QUOTES and EXECUTE_QUOTES permissions, and MANAGE_EXTERNAL_ACCOUNTS when a row pays a contact; total counts toward the spending limits as one transaction, and the spending pool is charged for bank payouts. A run the policy refuses is refused with AGENT_POLICY_DENIED. A run is created PROCESSING, with an APPROVED PAYOUT_RUN agent action, when the policy runs it without approval, the spending pool does not require approval and no row is above the platform’s limit for bank payouts without approval. Otherwise it is created PENDING_APPROVAL with a PENDING_APPROVAL PAYOUT_RUN action, and the AGENT_ACTION.PENDING_APPROVAL webhook fires. Approving the action starts the run. Rejecting it, or letting it expire after 24 hours, cancels the run and skips every row.
The customer’s approval of the run covers each row’s own approval. Each row is still checked when it is paid: the destination, the agent’s delegated key, the wallet’s free balance and sanctions screening. total is what leaves the wallet; a row’s fees come out of what its recipient receives.
Available only where the platform enables payout runs and agent payout runs, and claimable payouts for runs with a contact row.
Authorizations
Bearer token authentication for agent-scoped endpoints. The token is the accessToken returned when redeeming a device code via POST /agents/device-codes/redeem. Agent credentials are user-scoped: all requests are automatically bound to the agent's associated customer and subject to the agent's policy.
Headers
A unique identifier for the request, scoped to the agent. A retry with the same key and body returns the run the first request created; the same key with a different body is refused with 409.
255"<uuid>"
Body
The customer's stablecoin Embedded Wallet that pays every row. It must hold an ACTIVE delegated key of this agent.
"InternalAccount:e85dcbd6-dced-4ec4-b756-3c3a9ea3d965"
The people to pay. Each pays a CONTACT or an EXTERNAL_ACCOUNT: one of the customer's own ACTIVE external accounts on the platform. A GRID_CUSTOMER row is refused.
1 - 50 elementsResponse
Payout run created, or the run this Idempotency-Key already created
A payout run an agent created. allOrNothing is always false, and scheduledAt is never set.
System-generated unique payout run identifier
"PayoutRun:019542f5-b3e7-1d02-0000-000000000001"
Status of a payout run.
VALIDATING, PENDING_APPROVAL, SCHEDULED, PROCESSING, COMPLETED, PARTIALLY_FAILED, FAILED, CANCELLED false
"2026-11-04T22:00:00Z"
"2026-11-05T02:14:00Z"
The agent that created the run.
"Agent:019542f5-b3e7-1d02-0000-000000000042"
The run's PAYOUT_RUN agent action, which the customer approves or rejects when the run needs approval.
"AgentAction:019542f5-b3e7-1d02-0000-000000000099"
The sum of the rows' amounts, in the source account's currency. This is what leaves the wallet if every row is paid.
How many rows the run has.
12
When the run starts paying rows, if it was scheduled.
"2026-11-05T02:00:00Z"
When the run reached COMPLETED, PARTIALLY_FAILED, FAILED or CANCELLED.
"2026-11-05T02:14:00Z"