POST

Authorizations

Authorization
string
header
required

The caller's id_token from authentication — the ID token, not the access_token. The program and environment come from the token.

Body

application/json

Send either payments or file — exactly one. A request carrying both is refused rather than resolved by precedence.

payments
object[]
required

The payment items to validate. Required unless a file is sent instead.

action
enum<string>

Optional — this route serves only verify, so a missing value defaults to it. Any other value is rejected with 403.

Available options:
verify
file
object

A CSV or pain.001 file to parse into payments instead of sending payments. Exactly one of payments / file is required; sending both is rejected.

batchId
string<uuid>

Optional. The draft being re-verified after edits — the draft is updated in place and keeps its original creation time. Omit to create a new draft.

Response

Accepted for validation. Returns requestId, the draft's batchId and its expiresAt; poll GET /v1/batch-payments/verify/{requestId} for the outcome.

requestId
string<uuid>

Correlates this verification; poll GET /v1/batch-payments/verify/{requestId} with it.

status
enum<string>

Always PENDING — validation runs in the background.

Available options:
PENDING
batchId
string<uuid>

The draft created (or updated). Submit with this id to pay it.

expiresAt
string<date-time>

After this instant the draft can no longer be submitted.

warnings
string[]

Present only when the uploaded file contained something the parser could not carry across — an unrecognised column value, an EndToEndId outside the length or charset the rails accept, a file mixing currencies. Not row rejections: the payments are still queued for verification. Absent when there is nothing to report, and never present for a payments request.