Submit a batch of settlement operations (synchronous NDJSON)
Accepts newline-delimited JSON (application/x-ndjson); the NDJSON media type describes the request wire format only, not how operations are persisted. Each line is one operation, validated and created through the same pipeline as POST /v1/operations, grouped under one generated batchId. Processing is synchronous: the request is received in full and its line count validated before any operation is persisted. The line count is capped (a configured limit, default 50000); an over-limit batch is rejected atomically with 413 and no operations are persisted. Within an accepted batch, one bad line is rejected with a per-line error without aborting the batch. Optionally idempotent via the Idempotency-Key header. Errors are RFC 9457 problem+json.
Authorizations
JWT bearer token issued by the identity provider.
Headers
Idempotency key for safe retries of the whole batch.
Body
Newline-delimited JSON operations (application/x-ndjson); one CreateOperationRequest per line.
The body is of type string.
Response
Batch accepted; per-line accepted/rejected counts and errors with the meta envelope.
Count of accepted operations.
48
Generated batch id grouping every line of the submission.
"018f8a3e-4b2c-7c1a-9e5d-2f6a1b3c4d5e"
Per-line rejection errors (capped at the first batchErrorCap entries).
True when more rejections occurred than the errors array lists.
true
Batch response envelope metadata (requestId + timestamp).
Count of rejected lines.
2

