bulk type payout intent that is in the pending state. Unlike the single payout intent actions endpoint, this accepts an array of items, each describing one disbursement leg of the batch.entity_id is always resolved from the authenticated caller and cannot be supplied in the request body. The referenced payout_intent_id must belong to the authenticated entity, must be a bulk type intent (otherwise a 400 is returned), and must currently be in the pending status (otherwise a 400 is returned).items is validated independently against its own schema. Items that pass validation are marked queued and immediately pushed onto an asynchronous processing queue; items that fail validation are marked invalid and recorded with the validation error message, but do not cause the whole request to fail — the batch is still created with a mix of queued and invalid items. Queued items are later processed by a background worker, which independently resolves providers, checks balances, and creates the underlying payout intent action for each one (that downstream processing is not part of this endpoint's response).BulkPayoutIntentActionData record with status processing, advances the parent payout intent's status to processing, and returns the created batch record including the per-item validation outcome.money_action_confirmation_id (minted via POST /money-action-confirmations with action_type bulk_payout and reference_id set to the payout_intent_id, after the caller re-confirms their PIN) in the request body. This requirement is skipped entirely for secret-API-key requests, since PIN confirmation only applies to interactive human sessions.curl --location '/bulk-payout-intent-actions' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '{
"payout_intent_id": "01HXYZ9876543210ZYXWVUTSRQ",
"items": [
{
"type": "payout",
"counterparty": {
"email": "jane.doe@example.com",
"account_number": "0123456789",
"bank_code": "058"
}
}
]
}'{
"message": "Bulk payout intent actions created successfully",
"status": "success",
"data": {
"id": "01HBLKAAAABBBBCCCCDDDDEEEE",
"entity_id": "01HABC9999888877776666ZZZZ",
"payout_intent_id": "01HXYZ9876543210ZYXWVUTSRQ",
"status": "processing",
"items": [
{
"index": 0,
"status": "queued",
"data": {
"type": "payout",
"counterparty": {
"email": "jane.doe@example.com",
"account_number": "0123456789",
"bank_code": "058"
}
},
"error": null
},
{
"index": 1,
"status": "invalid",
"data": {
"type": "payout",
"counterparty": {
"account_number": "0987654321",
"bank_code": "011"
}
},
"error": "counterparty.email is required"
}
],
"created": 1754393520000,
"updated": 1754393520000
}
}