Skip to main content
POST
Compose and send a curated STR message

Autorizaciones

Authorization
string
header
requerido

JWT bearer token issued by the identity provider.

Encabezados

X-Idempotency
string
requerido

Idempotency key. Required on every mutation.

X-TTL
string

Idempotency key TTL in seconds.

Cuerpo

application/json
amount
string
requerido

Transfer amount as a decimal string in BRL, minor-unit precision (two decimal places). Forwarded VERBATIM into the submit DTO and the alçada gate — Lerian SPB performs NO arithmetic on it. Canonical form only: exactly two decimal places and no leading integer zeros — the single spelling the durable column stores; anything else is refused at the door with 422.

Pattern: ^(0|[1-9][0-9]*)\.[0-9]{2}$
Ejemplo:

"150000.00"

capabilityId
string
requerido

STR capability code to compose. Must resolve in the catalog, be PUBLICLY_SUBMITTABLE, and be in the compose allowlist (STR0004/STR0005/STR0006/STR0007/STR0008/STR0053).

Ejemplo:

"STR0008"

recipient
object
requerido

Crediting (creditor) participant account receiving the transfer.

sender
object
requerido

Debiting (debtor) participant account originating the transfer.

description
string

Optional free-text description; mandatory when purposeCode or finlddCli is 99999 (RSTR0034). Serialized into the STR Hist element.

Ejemplo:

"Wire transfer for invoice 2026-Q2-A47"

finlddCli
string

Optional client-level purpose code (5 digits) carried on STR0004/STR0008. When 99999 the description is required (RSTR0034).

Pattern: ^[0-9]{5}$
Ejemplo:

"00001"

metadata
object

Opaque client-side metadata forwarded verbatim to the submit DTO (NOT sent to BACEN). Do not include sensitive fields.

purposeCode
string

BACEN STR purpose code (finalidade), exactly 5 digits, and one the BACEN purpose dictionary names: 176 codes for the institution-level FinlddIF and 113 for the client-level FinlddCli. An unassigned five-digit number is refused. Required for every code that declares a Finalidade element (refused with 422 when absent); omitted for STR0053, which declares none. When 99999 (Outros) a description is mandatory (RSTR0034).

Pattern: ^[0-9]{5}$
Ejemplo:

"00001"

repasse
object

STR0053 repasse identification: the [1..1] identifier and date, the optional originator CNPJ and transaction count, and the [0..n] segregation-informe group. Required when composing STR0053; refused on any other capabilityId, which has no repasse element on the wire.

split
object

Optional IBS/CBS tax-split group (all three children required when the group is present). Carried on STR0005/STR0007/STR0008.

Respuesta

Accepted

controlNumber
string
requerido

Participant control number identifying the message on the SPB network (official ControleIF, 1-20 characters).

Required string length: 1 - 20
Ejemplo:

"20260621000000000001"

correlationId
string
requerido

Request-scoped correlation identifier echoing X-Request-ID, for pivoting from response to trace.

Ejemplo:

"req-7a3f9c2e"

messageId
string
requerido

Internal outbound-message id assigned at persistence time; the key for the approval queue when parked.

Ejemplo:

"6f2c8a1e-..."

nuOp
string
requerido

23-character STR operation number stamped on the composed message (protocol correlation).

Pattern: ^[0-9A-Z]{8}[0-9]{15}$
Ejemplo:

"12345678202606210000001"

status
enum<string>
requerido

Emission status: SUBMITTED (dispatched / liquidatable) or PENDING_APPROVAL (parked awaiting maker-checker quorum).

Opciones disponibles:
SUBMITTED,
PENDING_APPROVAL
Ejemplo:

"PENDING_APPROVAL"

emissionApprovalId
string

Set ONLY when the emission parked: the maker-checker queue id (equal to messageId). Poll GET /v1/str/emission-approvals to track it. Empty when SUBMITTED immediately.

Ejemplo:

"6f2c8a1e-..."

requiredSignatures
integer<int64>

N-of-M distinct-actor quorum the parked emission must collect (the alçada band requirement). Omitted/0 when SUBMITTED immediately.

Ejemplo:

2