Skip to main content
POST
Issue a batch of boletos

Authorizations

Authorization
string
header
required

JWT bearer token issued by the identity provider.

Headers

X-Organization-Id
string

Midaz organization the account and the ledger entry live under. Required: a request without it, or with a value that is not a canonical UUID, is refused with 400 PBP-0025.

Idempotency-Key
string
required

Client-supplied idempotency key, a UUID. Required: a request without it, with a value that is not a UUID, or with the nil UUID (00000000-0000-0000-0000-000000000000) is refused with 400 PBP-0012.

Body

application/json
items
object[]
required

Boletos of the batch, from 1 to 25, in the order the client wants to see them. The position of each item is its index in this list, from 0: the position of the response and the index of body.items[] in a refusal. A list outside 1 to 25 items, the empty list included, refuses the whole batch with 422 PBP-0122, which carries the limit and the number of items received; the batch is never split.

midazAccountId
string
required

Midaz account every item of the batch settles into. Its holder is the final beneficiary of every item. It must belong to the organization and the ledger, or the request is answered 404. Checked once per batch.

ledgerId
string

Midaz ledger the account lives in and the entry is posted to. Required: absent, blank or not a canonical UUID is refused with 400 PBP-0026.

Response

Accepted: the batch is recorded and its items are sent for issuance. Each item carries its position, its boleto and its status.

batchId
string<uuid>
required

Batch identifier.

Example:

"0192a3b4-c5d6-7e8f-9a0b-1c2d3e4f5a6b"

closed
boolean
required

Whether every item is SETTLED, CANCELED, INACTIVATED or FAILED: nothing else will happen to the batch, payment included. Always present. It moves back to false when a cancellation is refused and the item returns to CREATED. True implies finished.

counts
object
required
createdAt
string<date-time>
required

When the batch was created, RFC 3339 in UTC.

Example:

"2026-10-14T19:34:00Z"

finished
boolean
required

Whether no item is PENDING: the issuance of the batch is over. Always present. It never moves back to false; an overdue item keeps it false.

items
object[] | null
required

Every item, in ascending position. Never paginated: a batch holds at most 25 items.

ledgerId
string<uuid>
required

Ledger of the batch and of each item.

Example:

"7c1e5b9a-3d2f-4a6b-8e0c-1f2a3b4c5d6e"

midazAccountId
string
required

Collection account of the batch and of each item.

Example:

"3f9a2c1e-5b7d-4e8f-9a0b-1c2d3e4f5a6b"

organizationId
string<uuid>
required

Organization the batch was recorded with: always the organization of the X-Organization-Id header.

Example:

"0f9d6c2a-1b3e-4f5a-8c7d-6e5f4a3b2c1d"

status
enum<string>
required

Issuance outcome of the batch, derived from its items on every read. CREATED: some item is still PENDING. COMPLETED: no item is PENDING and none is FAILED. PARTIAL_FAILURE: no item is PENDING and some, not all, are FAILED; those carry errorCode and errorMessage. FAILED: every item is FAILED. Only issuance moves it: payment, cancellation and write-off do not, and it never moves back to CREATED.

Available options:
CREATED,
COMPLETED,
PARTIAL_FAILURE,
FAILED