Add Items to a Batch Payout
Append up to 10 payout items to an existing batch per call until the batch reaches its 100-item limit. The batch must be in INIT status; invalid items are returned with validation details without blocking other items in the request. Each item follows the same structure as a Create a Payout request for its payout scenario. fvtPreference, oboPreference, paymentType, and paymentNetwork are defined in Create a Batch Payout and applied to every item in the batch.
Request Parameters
idstring
required
Unique identifier of the target batch, returned by Create a Batch Payout.
itemsarray
required
Payout items to append to the batch. Provide 1 to 10 items per request. Build each item from the request of the matching payout scenario in Create a Payout. Items in the same batch can use different payout scenarios. Note: fvtPreference, oboPreference, paymentType, and paymentNetwork are defined in Create a Batch Payout and applied to every item in the batch. transferQuote is not applicable; call Calculate a Batch Payout to preview amounts, fees, and FX rates later.
Response Parameters
resultResult
API call result. See Result.
idstring
Unique identifier of the batch payout.
statusstring
Current batch lifecycle status after the operation. See BatchPayoutStatus.
createdAtdatetime
Time the batch was created, in ISO 8601 extended format.
updatedAtdatetime
Time the batch was most recently updated, in ISO 8601 extended format.
requestIdstring
Idempotency key supplied when the batch was created.
batchNamestring
Human-readable batch name, if provided at creation.
transferMemostring
Internal memo attached to the batch, if provided at creation.
businessSceneCodestring
Business scene code set on the batch, if provided at creation. See BusinessSceneCode.
paymentNetworkstring
Payment clearing network set on the batch, if provided at creation. See PaymentNetwork.
paymentTypestring
Payment channel type set on the batch, if provided at creation. See PaymentType.
fvtPreferencestring
Full value transfer (FVT) preference set on the batch, if provided at creation. See FvtPreference.
oboPreferencestring
On-behalf-of (OBO) routing preference set on the batch, if provided at creation. See OboPreference.
totalItemCountinteger
Total number of payout items currently in the batch, from 0 to 100.
validItemCountinteger
Number of payout items in the batch that have passed validation, from 0 to 100.
calculationSummaryCalculationSummary
Latest reference pricing summary. Returned once calculate (or submit) has completed pricing. All totals and rates are indicative — final values are determined at payout processing.
itemsarray
Results for the items submitted in this request.
Error Codes
Definition
POST /api/open/v1/batchPayouts/addItemsRequest
{
"id": "bp_20260808****",
"items": [
{
"requestId": "req_item_20260808_0001",
"businessSceneCode": "THIRD_PARTY_PAYOUT",
"beneficiary": {
"accountType": "BANK_ACCOUNT",
"beneficiaryId": "ben_9f7c****"
},
"payoutAmount": {
"value": 500000,
"currency": "USD"
},
"purposeCode": "SAL",
"reference": "Salary August 2026",
"transferMemo": "Employee ID E1001"
}
]
}Response
{
"result": {
"resultCode": "SUCCESS",
"resultMessage": "success",
"resultStatus": "S"
},
"id": "bp_20260808****",
"status": "INIT",
"createdAt": "2026-08-08T10:00:00+08:00",
"updatedAt": "2026-08-08T10:05:00+08:00",
"requestId": "req_batch_20260808_0001",
"batchName": "Payroll 2026-08",
"transferMemo": "August payroll run",
"totalItemCount": 2,
"validItemCount": 0,
"items": [
{
"requestId": "req_item_20260808_0001",
"itemId": "item_20260808_0001",
"status": "INVALID",
"failureCode": "BENEFICIARY_INACTIVE",
"failureMessage": "The referenced beneficiary is not ACTIVE. Activate the beneficiary or use an active beneficiary."
}
]
}