Download OpenAPI specification:Download
Conectividade ponta-a-ponta com o Sistema de Pagamentos Brasileiro.
O ONZ SPB é a camada que conecta sua instituição ao Banco Central do Brasil pela Rede do Sistema Financeiro Nacional (RSFN). Em um único contrato de API, você envia, recebe e audita mensagens do SPB com segurança, rastreabilidade e idempotência por padrão.

O ciclo de uma mensagem segue quatro passos:
POST /api/v1/operations (payload SPB cru)
ou em POST /api/v1/operations/:evento (mapeada por tipo de evento, ex.: STR0007, STR0008).GET /longpolling/v1/messages/:pullNext,
com a conexão mantida aberta até a próxima mensagem chegar.POST /api/v1/operations para o payload SPB cru, ou
POST /api/v1/operations/:evento para um modelo de domínio mais conveniente, com mapeamento
automático para a mensagem do BCB (:evento aceita códigos como STR0007, STR0008,
STR0025, entre outros).GET /longpolling/v1/messages/:pullNext entrega respostas
assim que chegam, sem polling agressivo nem webhooks para manter.STR0005, STR0006,
STR0007, STR0008, STR0025, STR0034, STR0037, STR0041, STR0051) com controle de
limites, validações condicionais.Endpoints de listagem aceitam um DSL de filtros que permite compor consultas complexas via
query string, sem precisar de um corpo POST.
Anatomia de um filtro
Cada filtro tem três partes:
| Parâmetro | Função |
|---|---|
queryFilter[{i}][column] |
Coluna/campo a filtrar |
queryFilter[{i}][operation] |
Operador de comparação |
queryFilter[{i}][value] ou queryFilter[{i}][valueArray][] |
Valor(es) a comparar |
Operadores escalares (use com value)
| Operador | Significado |
|---|---|
EQUALS / NOT_EQUALS |
Igual / diferente |
ILIKE / NOT_ILIKE |
Contém / não contém — use % como curinga |
HIGHER / LOWER |
Maior / menor que |
EQUALS_DATE / AFTER_DATE / BEFORE_DATE |
Comparações por data |
EQUALS_DATETIME / AFTER_DATETIME / BEFORE_DATETIME |
Comparações por data e hora |
Operadores de conjunto (use com valueArray)
| Operador | Significado |
|---|---|
IN / NOT_IN |
Pertence / não pertence ao conjunto |
BETWEEN_DATETIME |
Entre duas datas/horas (exatamente 2 valores) |
Exemplos
# Filtro único
?queryFilter[0][column]=status
&queryFilter[0][operation]=EQUALS
&queryFilter[0][value]=active
# Filtro com lista de valores
?queryFilter[0][column]=type
&queryFilter[0][operation]=IN
&queryFilter[0][valueArray][0]=TYPE1
&queryFilter[0][valueArray][1]=TYPE2
# Múltiplos filtros combinados (AND)
?queryFilter[0][column]=status&queryFilter[0][operation]=EQUALS&queryFilter[0][value]=active
&queryFilter[1][column]=type&queryFilter[1][operation]=IN&queryFilter[1][valueArray][0]=TYPE1
Paginated audit-log entries for the tenant, optionally filtered by period, actor, resource, action, operation, event or document.
| page | integer >= 1 1-indexed page (default 1) |
| perPage | integer [ 1 .. 100 ] Page size (default 20, max 100) |
| sort | string Enum: "occurred_at_asc" "occurred_at_desc" Sort key |
| from | string Start date (inclusive) YYYY-MM-DD |
| to | string End date (inclusive) YYYY-MM-DD |
| actor | string Actor filter (exact match) |
| resource | string Resource filter (exact match) |
| action | string Action filter (exact match) |
| operation_id | string Operation id filter |
| event_id | string Event id filter |
| document_id | integer Document id filter |
{- "data": [
- {
- "action": "string",
- "actor": "string",
- "client_name": "string",
- "correlation_id": "string",
- "email": "string",
- "id": 0,
- "metadata": {
- "property1": null,
- "property2": null
}, - "occurred_at": "string",
- "outcome": "string",
- "request_id": "string",
- "resource": "string"
}
], - "meta": {
- "current_page": 0,
- "first_page": 0,
- "last_page": 0,
- "per_page": 0,
- "total": 0
}
}Paginated audit-log entries scoped to a single operation, with the same query-filter protocol used by /transactions.
| operation_id required | string Operation ID |
| event_id | string Event ID filter |
| page | integer >= 1 1-indexed page (default 1) |
| perPage | integer [ 1 .. 100 ] Page size (default 20, max 100) |
| sortBy | string Value: "occurred_at" Sort column |
| order | string Enum: "asc" "desc" Sort order |
{- "data": [
- {
- "action": "string",
- "actor": "string",
- "client_name": "string",
- "correlation_id": "string",
- "email": "string",
- "id": 0,
- "metadata": {
- "property1": null,
- "property2": null
}, - "occurred_at": "string",
- "outcome": "string",
- "request_id": "string",
- "resource": "string"
}
], - "meta": {
- "current_page": 0,
- "first_page": 0,
- "last_page": 0,
- "per_page": 0,
- "total": 0
}
}Paginated balance snapshots for a given period. Defaults to today when no query is supplied. Period must not exceed 30 days.
| from | string Example: from=2026-04-01 Start date (inclusive) YYYY-MM-DD |
| to | string Example: to=2026-04-30 End date (inclusive) YYYY-MM-DD |
| page | integer >= 1 1-indexed page number (default 1) |
| per_page | integer >= 1 Page size (default 3000) |
{- "data": [
- {
- "bacen_date": "string",
- "bacen_time": "string",
- "balance": 0,
- "created_at": "string",
- "id": 0,
- "movement_date": "string",
- "operation_id": "string",
- "projected_balance": 0,
- "projection_delta": 0
}
], - "meta": {
- "current_page": 0,
- "first_page": 0,
- "last_page": 0,
- "per_page": 0,
- "total": 0
}
}Returns the most recent balance snapshot plus the projected balance and delta computed from STR reserve movements since the snapshot.
{- "data": {
- "bacen_date": "string",
- "bacen_time": "string",
- "balance": 0,
- "created_at": "string",
- "id": 0,
- "movement_date": "string",
- "operation_id": "string",
- "projected_balance": 0,
- "projection_delta": 0
}
}Deprecated alias. Use /api/v1/admin/certificates/private-key.
| ispb required | string Participant ISPB (8 digits) |
| certificate required | string <binary> PEM-encoded private key file |
{- "property1": "string",
- "property2": "string"
}Deprecated alias. Use /api/v1/admin/certificates/public-key.
| ispb required | string Participant ISPB (8 digits) |
| certifier required | string Certificate authority id |
| asymmetric_key_algorithm | string Asymmetric key algorithm (e.g. RSA, ECDSA) |
| certificate required | string <binary> PEM-encoded public key file |
{- "property1": "string",
- "property2": "string"
}Custom method (read-only) returning the most up-to-date public-key certificate for a participant (no PEM body), including its expiration metadata. Requires spb.read (does not require onz.master). Filter is the required ispb query parameter (8 digits).
| ispb required | string Participant ISPB (8 digits) |
{- "asymmetric_key_algorithm": "string",
- "certificate_type": "string",
- "certifier": "string",
- "created_at": "string",
- "days_until_expiry": 0,
- "hash": "string",
- "id": 0,
- "ispb": "string",
- "valid_not_after": "string",
- "valid_not_before": "string",
- "validity_status": "string"
}Paginated list of stored file metadata (bucket / S3 key are never exposed). Supports period filtering via from/to (YYYY-MM-DD, max 31 days) and the shared queryFilter[i][...] protocol.
| page | integer >= 1 1-indexed page (default 1) |
| perPage | integer [ 1 .. 100 ] Page size (default 25, max 100) |
| from | string Start date YYYY-MM-DD |
| to | string End date YYYY-MM-DD |
| sortBy | string Column to sort by (requires order) |
| order | string Enum: "asc" "desc" Sort order |
{- "data": [
- {
- "checksum": "string",
- "content_type": "string",
- "created_at": "string",
- "file_name": "string",
- "id": 0,
- "operation_id": "string",
- "size_bytes": 0,
- "updated_at": "string"
}
], - "meta": {
- "current_page": 0,
- "first_page": 0,
- "last_page": 0,
- "per_page": 0,
- "total": 0
}
}Post a typed JSON payload for the given file_type. The payload is converted to the file's on-the-wire format, an ftp_transfer (OUTBOUND/PENDING) row is recorded and the job is published to the spb.ftp.send queue for asynchronous upload to RSFN FTP.
| file_type required | string File type (e.g. ACCS001) |
| X-Idempotency-Key | string Idempotency key |
Typed file payload (JSON)
{ }{- "file_name": "string",
- "file_type": "string",
- "id": 0,
- "message": "string",
- "status": "string"
}Paginated list of operations with the standard query-filter protocol (same as /transactions).
| page | integer >= 1 1-indexed page (default 1) |
| perPage | integer [ 1 .. 100 ] Page size (default 25, max 100) |
| sortBy | string Column to sort by (requires order) |
| order | string Enum: "asc" "desc" Sort order |
| filter | string Raw filter expression (advanced) |
{- "data": [
- {
- "created_at": "string",
- "created_by": "string",
- "decided_by": "string",
- "domain": "string",
- "event_type": "string",
- "events": [
- {
- "created_at": "string",
- "event_type": "string",
- "id": 0,
- "idempotency_key": "string",
- "message_type": "string",
- "operation_id": "string",
- "original_operation_id": "string",
- "plaintext": "string",
- "recipient": "string",
- "sender": "string",
- "sent_at": "string",
- "updated_at": "string"
}
], - "id": "string",
- "operation_type": "string",
- "recipient": "string",
- "sender": "string",
- "status": "string",
- "str_id": "string",
- "timeline": [
- {
- "created_at": "string",
- "event_id": 0,
- "event_type": "string",
- "message_type": "string",
- "operation_id": "string"
}
]
}
], - "meta": {
- "current_page": 0,
- "first_page": 0,
- "last_page": 0,
- "per_page": 0,
- "total": 0
}
}Post a raw SPB XML event (SISMSG envelope). The event type is inferred from the body. Signature + idempotency enforced via headers.
| X-Idempotency-Key required | string Idempotency key |
| X-Message-Type required | string SPB message type |
| X-Recipient | string Recipient ISPB (required for events that address a specific participant) |
| X-Domain | string Override operation domain (optional) |
| X-Request-Timeout | integer Wait for response up to N seconds; 0 for fire-and-forget (default 0) |
Raw SPB SISMSG XML
{- "created_at": "string",
- "created_by": "string",
- "decided_by": "string",
- "domain": "string",
- "event_type": "string",
- "events": [
- {
- "created_at": "string",
- "event_type": "string",
- "id": 0,
- "idempotency_key": "string",
- "message_type": "string",
- "operation_id": "string",
- "original_operation_id": "string",
- "plaintext": "string",
- "recipient": "string",
- "sender": "string",
- "sent_at": "string",
- "updated_at": "string"
}
], - "id": "string",
- "operation_type": "string",
- "recipient": "string",
- "sender": "string",
- "status": "string",
- "str_id": "string",
- "timeline": [
- {
- "created_at": "string",
- "event_id": 0,
- "event_type": "string",
- "message_type": "string",
- "operation_id": "string"
}
]
}Post a typed payload (JSON or proprietary format) for the given event_type. The registry converts it to canonical SPB XML before processing.
| event_type required | string Event type (e.g. SLB0001, STR0003) |
| X-Idempotency-Key required | string Idempotency key |
| X-Message-Type required | string SPB message type |
| X-Recipient | string Recipient ISPB (when applicable) |
| X-Domain | string Override operation domain (optional) |
| X-Request-Timeout | integer Wait for response up to N seconds (default 0) |
Mapped payload (JSON or XML)
{ }{- "created_at": "string",
- "created_by": "string",
- "decided_by": "string",
- "domain": "string",
- "event_type": "string",
- "events": [
- {
- "created_at": "string",
- "event_type": "string",
- "id": 0,
- "idempotency_key": "string",
- "message_type": "string",
- "operation_id": "string",
- "original_operation_id": "string",
- "plaintext": "string",
- "recipient": "string",
- "sender": "string",
- "sent_at": "string",
- "updated_at": "string"
}
], - "id": "string",
- "operation_type": "string",
- "recipient": "string",
- "sender": "string",
- "status": "string",
- "str_id": "string",
- "timeline": [
- {
- "created_at": "string",
- "event_id": 0,
- "event_type": "string",
- "message_type": "string",
- "operation_id": "string"
}
]
}Convert a mapped payload (JSON or proprietary format) for the given event_type into canonical SPB XML, without dispatching.
| event_type required | string Event type (e.g. SLB0001, STR0003) |
| X-Message-Type required | string SPB message type |
| X-Recipient | string Recipient ISPB (when applicable) |
| X-Domain | string Override operation domain (optional) |
Mapped payload (JSON serialized or raw XML)
"string"Return the full operation detail (including its events) by ID.
| operation_id required | string Operation ID |
{- "created_at": "string",
- "created_by": "string",
- "decided_by": "string",
- "domain": "string",
- "event_type": "string",
- "events": [
- {
- "created_at": "string",
- "event_type": "string",
- "id": 0,
- "idempotency_key": "string",
- "message_type": "string",
- "operation_id": "string",
- "original_operation_id": "string",
- "plaintext": "string",
- "recipient": "string",
- "sender": "string",
- "sent_at": "string",
- "updated_at": "string"
}
], - "id": "string",
- "operation_type": "string",
- "recipient": "string",
- "sender": "string",
- "status": "string",
- "str_id": "string",
- "timeline": [
- {
- "created_at": "string",
- "event_id": 0,
- "event_type": "string",
- "message_type": "string",
- "operation_id": "string"
}
]
}Approve an operation currently in pending_approval (moves it back into processing).
| operation_id required | string Operation ID |
| X-Domain | string Operation domain (required by domain middleware) |
{- "created_at": "string",
- "created_by": "string",
- "decided_by": "string",
- "domain": "string",
- "event_type": "string",
- "events": [
- {
- "created_at": "string",
- "event_type": "string",
- "id": 0,
- "idempotency_key": "string",
- "message_type": "string",
- "operation_id": "string",
- "original_operation_id": "string",
- "plaintext": "string",
- "recipient": "string",
- "sender": "string",
- "sent_at": "string",
- "updated_at": "string"
}
], - "id": "string",
- "operation_type": "string",
- "recipient": "string",
- "sender": "string",
- "status": "string",
- "str_id": "string",
- "timeline": [
- {
- "created_at": "string",
- "event_id": 0,
- "event_type": "string",
- "message_type": "string",
- "operation_id": "string"
}
]
}Paginated audit-log entries scoped to a single operation, with the same query-filter protocol used by /transactions.
| operation_id required | string Operation ID |
| event_id | string Event ID filter |
| page | integer >= 1 1-indexed page (default 1) |
| perPage | integer [ 1 .. 100 ] Page size (default 20, max 100) |
| sortBy | string Value: "occurred_at" Sort column |
| order | string Enum: "asc" "desc" Sort order |
{- "data": [
- {
- "action": "string",
- "actor": "string",
- "client_name": "string",
- "correlation_id": "string",
- "email": "string",
- "id": 0,
- "metadata": {
- "property1": null,
- "property2": null
}, - "occurred_at": "string",
- "outcome": "string",
- "request_id": "string",
- "resource": "string"
}
], - "meta": {
- "current_page": 0,
- "first_page": 0,
- "last_page": 0,
- "per_page": 0,
- "total": 0
}
}Paginated list of events associated with an operation (operation_id OR original_operation_id match).
| operation_id required | string Operation ID |
| page | integer >= 1 1-indexed page (default 1) |
| perPage | integer >= 1 Page size (default 2) |
| sortBy | string Column to sort by (requires order) |
| order | string Enum: "asc" "desc" Sort order |
{- "data": [
- {
- "created_at": "string",
- "event_type": "string",
- "id": 0,
- "idempotency_key": "string",
- "message_type": "string",
- "operation_id": "string",
- "original_operation_id": "string",
- "plaintext": "string",
- "recipient": "string",
- "sender": "string",
- "sent_at": "string",
- "updated_at": "string"
}
], - "meta": {
- "current_page": 0,
- "first_page": 0,
- "last_page": 0,
- "per_page": 0,
- "total": 0
}
}Return a single event detail for the given operation/event pair.
| operation_id required | string Operation ID |
| event_id required | integer Event ID |
{- "created_at": "string",
- "event_type": "string",
- "id": 0,
- "idempotency_key": "string",
- "message_type": "string",
- "operation_id": "string",
- "original_operation_id": "string",
- "plaintext": "string",
- "recipient": "string",
- "sender": "string",
- "sent_at": "string",
- "updated_at": "string"
}Reject an operation currently in pending_approval. Terminal transition.
| operation_id required | string Operation ID |
| X-Domain | string Operation domain (required by domain middleware) |
{- "created_at": "string",
- "created_by": "string",
- "decided_by": "string",
- "domain": "string",
- "event_type": "string",
- "events": [
- {
- "created_at": "string",
- "event_type": "string",
- "id": 0,
- "idempotency_key": "string",
- "message_type": "string",
- "operation_id": "string",
- "original_operation_id": "string",
- "plaintext": "string",
- "recipient": "string",
- "sender": "string",
- "sent_at": "string",
- "updated_at": "string"
}
], - "id": "string",
- "operation_type": "string",
- "recipient": "string",
- "sender": "string",
- "status": "string",
- "str_id": "string",
- "timeline": [
- {
- "created_at": "string",
- "event_id": 0,
- "event_type": "string",
- "message_type": "string",
- "operation_id": "string"
}
]
}Send the SLB0002 acknowledgement for a previously received operation back to BACEN.
| operation_id required | string Operation ID |
| X-Idempotency-Key required | string Idempotency key |
| X-Message-Type required | string SPB message type |
{- "property1": "string",
- "property2": "string"
}Post the response XML for an in-flight operation (follow-up message such as STR0003 reply, LDL retorno, etc.).
| operation_id required | string Operation ID |
| X-Idempotency-Key required | string Idempotency key |
| X-Message-Type required | string SPB message type |
| X-Domain required | string Operation domain |
| X-Recipient | string Recipient ISPB (when applicable) |
Raw SPB SISMSG XML
{- "created_at": "string",
- "created_by": "string",
- "decided_by": "string",
- "domain": "string",
- "event_type": "string",
- "events": [
- {
- "created_at": "string",
- "event_type": "string",
- "id": 0,
- "idempotency_key": "string",
- "message_type": "string",
- "operation_id": "string",
- "original_operation_id": "string",
- "plaintext": "string",
- "recipient": "string",
- "sender": "string",
- "sent_at": "string",
- "updated_at": "string"
}
], - "id": "string",
- "operation_type": "string",
- "recipient": "string",
- "sender": "string",
- "status": "string",
- "str_id": "string",
- "timeline": [
- {
- "created_at": "string",
- "event_id": 0,
- "event_type": "string",
- "message_type": "string",
- "operation_id": "string"
}
]
}Aggregated analytics across operations / balances / statements / transactions for the requested period. Defaults to today when no query is supplied. Period must not exceed 30 days.
| from | string Example: from=2026-04-01 Start date YYYY-MM-DD |
| to | string Example: to=2026-04-30 End date YYYY-MM-DD |
{- "balances": {
- "totals": {
- "property1": 0,
- "property2": 0
}
}, - "operations": {
- "by_event_type": [
- {
- "count": 0,
- "type": "string"
}
], - "by_operation_type": [
- {
- "count": 0,
- "type": "string"
}
], - "totals": {
- "canceled": 0,
- "failed": 0,
- "pending_approval": 0,
- "successful": 0,
- "total_operations": 0,
- "waiting_bacen": 0
}
}, - "period": {
- "end": "string",
- "start": "string"
}, - "statements": {
- "totals": {
- "property1": 0,
- "property2": 0
}
}, - "transactions": {
- "totals": {
- "property1": 0,
- "property2": 0
}
}
}Return the operation tied to a given idempotency key (max 36 chars).
| idempotency_key required | string <= 36 characters Idempotency key (max 36) |
{- "created_at": "string",
- "created_by": "string",
- "decided_by": "string",
- "domain": "string",
- "event_type": "string",
- "events": [
- {
- "created_at": "string",
- "event_type": "string",
- "id": 0,
- "idempotency_key": "string",
- "message_type": "string",
- "operation_id": "string",
- "original_operation_id": "string",
- "plaintext": "string",
- "recipient": "string",
- "sender": "string",
- "sent_at": "string",
- "updated_at": "string"
}
], - "id": "string",
- "operation_type": "string",
- "recipient": "string",
- "sender": "string",
- "status": "string",
- "str_id": "string",
- "timeline": [
- {
- "created_at": "string",
- "event_id": 0,
- "event_type": "string",
- "message_type": "string",
- "operation_id": "string"
}
]
}Take a raw SPB XML body, validate it and return the canonical document that would be sent — without actually dispatching it. Useful for debugging / tooling.
| X-Message-Type required | string SPB message type |
| X-Recipient | string Recipient ISPB (when applicable) |
| X-Domain | string Override operation domain (optional) |
Raw SPB SISMSG XML
Paginated list of events associated with an operation (operation_id OR original_operation_id match).
| operation_id required | string Operation ID |
| page | integer >= 1 1-indexed page (default 1) |
| perPage | integer >= 1 Page size (default 2) |
| sortBy | string Column to sort by (requires order) |
| order | string Enum: "asc" "desc" Sort order |
{- "data": [
- {
- "created_at": "string",
- "event_type": "string",
- "id": 0,
- "idempotency_key": "string",
- "message_type": "string",
- "operation_id": "string",
- "original_operation_id": "string",
- "plaintext": "string",
- "recipient": "string",
- "sender": "string",
- "sent_at": "string",
- "updated_at": "string"
}
], - "meta": {
- "current_page": 0,
- "first_page": 0,
- "last_page": 0,
- "per_page": 0,
- "total": 0
}
}Return a single event detail for the given operation/event pair.
| operation_id required | string Operation ID |
| event_id required | integer Event ID |
{- "created_at": "string",
- "event_type": "string",
- "id": 0,
- "idempotency_key": "string",
- "message_type": "string",
- "operation_id": "string",
- "original_operation_id": "string",
- "plaintext": "string",
- "recipient": "string",
- "sender": "string",
- "sent_at": "string",
- "updated_at": "string"
}Deprecated alias. Use /api/v1/admin/operations/{operation_id}/events/{event_id}/requeue.
| operation_id required | string Operation ID |
| event_id required | integer Event ID |
{- "created_at": "string",
- "created_by": "string",
- "decided_by": "string",
- "domain": "string",
- "event_type": "string",
- "events": [
- {
- "created_at": "string",
- "event_type": "string",
- "id": 0,
- "idempotency_key": "string",
- "message_type": "string",
- "operation_id": "string",
- "original_operation_id": "string",
- "plaintext": "string",
- "recipient": "string",
- "sender": "string",
- "sent_at": "string",
- "updated_at": "string"
}
], - "id": "string",
- "operation_type": "string",
- "recipient": "string",
- "sender": "string",
- "status": "string",
- "str_id": "string",
- "timeline": [
- {
- "created_at": "string",
- "event_id": 0,
- "event_type": "string",
- "message_type": "string",
- "operation_id": "string"
}
]
}Read-only paginated list of the participant catalog. Supports a quick-search filter, AIP-157 partial responses via fields, and the shared queryFilter[i][...] protocol (mutually exclusive with filter).
| page | integer >= 1 1-indexed page (default 1) |
| perPage | integer [ 1 .. 100 ] Page size (default 25, max 100) |
| filter | string Quick search across ispb / short_name |
| fields | string Comma-separated field selection (partial response) |
| sortBy | string Column to sort by (requires order) |
| order | string Enum: "asc" "desc" Sort order |
{- "data": [
- {
- "code_number": "string",
- "created_at": "string",
- "full_name": "string",
- "ispb": "string",
- "main_access": "string",
- "operation_start_date": "string",
- "participates_in_compe": true,
- "short_name": "string",
- "updated_at": "string"
}
], - "meta": {
- "current_page": 0,
- "first_page": 0,
- "last_page": 0,
- "per_page": 0,
- "total": 0
}
}Paginated list of institution statements, with optional period and filter support (same protocol as /transactions).
| page | integer >= 1 1-indexed page (default 1) |
| perPage | integer [ 1 .. 100 ] Page size (default 25, max 100) |
| from | string Start date YYYY-MM-DD |
| to | string End date YYYY-MM-DD |
| sortBy | string Column to sort by (requires order) |
| order | string Enum: "asc" "desc" Sort order |
| filter | string Raw filter expression (advanced) |
{- "data": [
- {
- "bacen_at": "string",
- "created_at": "string",
- "document_id": 0,
- "event_id": 0,
- "final_balance": "string",
- "id": 0,
- "if_at": "string",
- "initial_balance": "string",
- "movement_date": "string",
- "operation_id": "string",
- "sender_ispb": "string"
}
], - "meta": {
- "current_page": 0,
- "first_page": 0,
- "last_page": 0,
- "per_page": 0,
- "total": 0
}
}Return the full statement detail (including all entries) by ID.
| id required | integer Statement ID |
{- "bacen_at": "string",
- "created_at": "string",
- "document_id": 0,
- "entries": [
- {
- "amount": "string",
- "counterpart_ispb": "string",
- "created_at": "string",
- "entry_type": "string",
- "event_at": "string",
- "id": 0,
- "origin_control_number": "string",
- "origin_message_code": "string",
- "statement_id": 0,
- "str_control_number": "string"
}
], - "event_id": 0,
- "final_balance": "string",
- "id": 0,
- "if_at": "string",
- "initial_balance": "string",
- "movement_date": "string",
- "operation_id": "string",
- "sender_ispb": "string"
}Paginated list of transactions with rich query-filter support. See project docs for the queryFilter[i][column|operation|value|valueArray] protocol.
| page | integer >= 1 1-indexed page (default 1) |
| perPage | integer [ 1 .. 100 ] Page size (default 25, max 100) |
| sortBy | string Column to sort by (requires order) |
| order | string Enum: "asc" "desc" Sort order |
| filter | string Raw filter expression (advanced) |
{- "data": [
- {
- "amount": 0,
- "created_at": "string",
- "entry_type": "string",
- "group_event_type": "string",
- "id": 0,
- "operation_id": "string",
- "operation_type": "string",
- "receiver_agency": 0,
- "receiver_institution": {
- "code_number": "string",
- "full_name": "string",
- "ispb": "string",
- "short_name": "string"
}, - "receiver_ispb": "string",
- "sender_agency": 0,
- "sender_institution": {
- "code_number": "string",
- "full_name": "string",
- "ispb": "string",
- "short_name": "string"
}, - "sender_ispb": "string",
- "status": "string",
- "str_id": "string",
- "updated_at": "string"
}
], - "meta": {
- "current_page": 0,
- "first_page": 0,
- "last_page": 0,
- "per_page": 0,
- "total": 0
}
}Return the complete transaction detail by ID.
| id required | integer Transaction ID |
{- "amount": 0,
- "content": [
- 0
], - "contract_number": "string",
- "control_number": "string",
- "created_at": "string",
- "description": "string",
- "entry_type": "string",
- "group_event_type": "string",
- "id": 0,
- "idempotency_key": "string",
- "identifier_code": "string",
- "operation_id": "string",
- "operation_type": "string",
- "priority": 0,
- "reason": 0,
- "receiver": {
- "account_number": "string",
- "account_type": "string",
- "agency": 0,
- "entity_name": "string",
- "entity_number": "string",
- "entity_type": "string",
- "institution": {
- "code_number": "string",
- "full_name": "string",
- "ispb": "string",
- "short_name": "string"
}, - "ispb": "string"
}, - "reference_str_id": "string",
- "schedule_datetime": "string",
- "sender": {
- "account_number": "string",
- "account_type": "string",
- "agency": 0,
- "entity_name": "string",
- "entity_number": "string",
- "entity_type": "string",
- "institution": {
- "code_number": "string",
- "full_name": "string",
- "ispb": "string",
- "short_name": "string"
}, - "ispb": "string"
}, - "status": "string",
- "status_description": "string",
- "str_id": "string",
- "updated_at": "string"
}Streams a single page of STR transactions matching the query filters as a ;-delimited CSV file (UTF-8 BOM). Shares the list endpoint's query/perPage contract — narrow with filters to export a specific subset.
| page | integer >= 1 1-indexed page (default 1) |
| perPage | integer >= 1 Page size (default 25) |
| sortBy | string Column to sort by (requires order) |
| order | string Enum: "asc" "desc" Sort order |
| filter | string Raw filter expression (advanced) |
Probes PostgreSQL, RabbitMQ, and every configured IBM MQ queue manager. Returns 200 with per-dependency status when ready, 503 otherwise. Also updates DB connection pool gauges.
{- "checks": {
- "ibmmq": {
- "queue_managers": [
- {
- "key": "string",
- "reason": "string",
- "status": "up"
}
], - "status": "up"
}, - "postgres": {
- "reason": "string",
- "status": "up"
}, - "rabbitmq": {
- "reason": "string",
- "status": "up"
}
}, - "status": "string"
}Long-polling endpoint. The first call MUST use pullNext=start; subsequent calls reuse the value returned in the onz-pull-next response header. The connection is held for up to ~5s waiting for a new message.
200 body is either the next message envelope (see the LpMessage schema) or an empty body for bootstrap requests. 204 means the polling window expired. The onz-pull-next response header always carries the cursor for the next call.
{
"id": 1,
"operation_id": "op-uuid",
"event_type": "response",
"message_type": "PACS008",
"sender": "12345678",
"recipient": "08253539",
"plaintext": "<xml/>",
"created_at": "2025-01-01T00:00:00Z",
"updated_at": "2025-01-01T00:00:00Z"
}
| pullNext required | string non-empty
|
{- "id": 0,
- "operation_id": "string",
- "event_type": "string",
- "message_type": "string",
- "sender": "string",
- "recipient": "string",
- "plaintext": "string",
- "created_at": "string",
- "updated_at": "string"
}Internal consumer management endpoint used by ops tooling to start or cancel the RabbitMQ consumer bound to a participant queue.
| action required | string Enum: "start" "cancel" |
| ispb required | string [ 4 .. 8 ] characters Participant ISPB (4-8 char identifier). |
{- "message": "string"
}