Skip to main content
POST
Validate a batch file or rows

Authorizations

Authorization
string
header
required

Server API key, scoped. pk_test_ keys hit the sandbox tenant.

Headers

X-Request-Id
string

Optional client correlation id, up to 128 characters. It is not echoed: the response's X-Request-Id is always our own req_… id. We log your value with the request as client_request_id, so support can find a request by either id. A longer value is refused with 400 parameter_invalid.

Maximum string length: 128

Body

Multipart body for validate and create with a CSV file.

file
string
required

The CSV, in the template format.

source_account_id
string
required

acc_… to pay from.

skip_invalid_rows
boolean
default:false

Create only. Skip invalid rows instead of failing the whole batch.

reason
string

Create only. Shown to the approver.

Maximum string length: 500

Response

The validation result.

Result of POST /batches/validate. Nothing is created.

object
string
required

Always batch_validation.

Allowed value: "batch_validation"
source_account
object
required

Enough of a PanoFlow account to show it ("Naira · Main · ••••6789"). Full account in the Accounts API.

row_count
integer
required

Rows read (excluding the header).

valid_count
integer
required

Rows that can be paid.

skipped_count
integer
required

Rows that will be skipped.

total
object
required

Sum of the valid rows.

fee_total
object
required

Fees for the valid rows.

available_after
object
required

Source available balance after total + fees ("Available after this batch"). Negative means it can't be covered.

requires_approval
boolean
required

True when creating it will return pending_approval for this caller.

valid_rows
object[]
required

Rows that can be paid, in file order.

skipped_rows
object[]
required

Rows that can't be paid, with reasons.

file_name
string

As sent.