Skip to main content
POST
Create an immediate bulk payout batch
Creates an immediate, all-or-nothing payout batch funded by the authenticated merchant’s master wallet or one of its subaccounts. The configured single-payout fee is charged for every CSV row.

CSV columns

The required header must be the first non-empty row and fields must be separated with commas. Remove spreadsheet column-label rows such as A,B,C,D; semicolon- and tab-delimited exports are not accepted.

Request

Do not set Content-Type manually; your client must include the generated multipart boundary. A successful 202 response means the batch was accepted for processing, not that recipients have been paid.

Idempotency

The same key, form fields, and exact CSV bytes return the original batch. Changed fields or file bytes with the same key return 409. The batchReference must be globally unique. See the Bulk Payouts guide for the CSV format, processing lifecycle, retries, webhooks, and scheduling guidance.

Authorizations

x-api-key
string
header
required

Headers

X-Idempotency-Key
string
required

Unique key for this logical batch. Idempotency-Key is also accepted; if both headers are sent, they must match.

Maximum string length: 255

Body

multipart/form-data
accountNumber
string
required

Merchant-owned master wallet or subaccount number funding the batch.

batchReference
string
required

Globally unique merchant-defined batch reference.

Maximum string length: 255
executionMode
enum<string>
required
Available options:
IMMEDIATE
csvFile
file
required

UTF-8 CSV containing Account Number, Bank Name, Amount, and Narration columns.

Response

Batch accepted for processing or idempotently replayed

status
string
required
Allowed value: "success"
statusCode
enum<integer>
required
Available options:
200,
202
message
string
required
data
object
required