Compose and send a curated STR message
Catalog-gated, maker-checker-routed, per-type curated message-compose surface. The chosen capabilityId must be in the compose allowlist (STR0004/STR0005/STR0006/STR0007/STR0008/STR0053), resolve in the catalog, and be PUBLICLY_SUBMITTABLE; otherwise the request is rejected SPB-0003 (HTTP 400). The message is built through the shared compose pipeline and inherits the alçada emission gate: an amount above its band parks in PENDING_APPROVAL (visible in GET /v1/str/emission-approvals, emissionApprovalId set) and dispatches on quorum; below band it is SUBMITTED. Idempotent — replaying the same X-Idempotency key returns the same emission. The declared amount is forwarded verbatim; no position is summed.
Authorizations
JWT bearer token issued by the identity provider.
Headers
Bearer JWT token (the maker subject is derived from it for the alçada gate).
Idempotency key (canonical; legacy alias X-Idempotency-Key).
Idempotency key (legacy alias).
Idempotency key TTL in seconds.
Body
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.
^[0-9]+(\.[0-9]+)?$"150000.00"
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).
"STR0008"
BACEN STR purpose code (finalidade), exactly 5 digits. When 99999 (Outros) a description is mandatory (RSTR0034).
^[0-9]{5}$"00001"
Crediting (creditor) participant account receiving the transfer.
Debiting (debtor) participant account originating the transfer.
Optional free-text description; mandatory when purposeCode or finlddCli is 99999 (RSTR0034). Serialized into the STR Hist element.
"Wire transfer for invoice 2026-Q2-A47"
Optional client-level purpose code (5 digits) carried on STR0004/STR0008. When 99999 the description is required (RSTR0034).
^[0-9]{5}$"00001"
Opaque client-side metadata forwarded verbatim to the submit DTO (NOT sent to BACEN). Do not include sensitive fields.
Response
Accepted
14-digit STR control number identifying the message on the SPB network.
"20260621000001"
Request-scoped correlation identifier echoing X-Request-ID, for pivoting from response to trace.
"req-7a3f9c2e"
Internal outbound-message id assigned at persistence time; the key for the approval queue when parked.
"6f2c8a1e-..."
23-digit STR operation number stamped on the composed message (protocol correlation).
"12345678202606210000001"
Emission status: SUBMITTED (dispatched / liquidatable) or PENDING_APPROVAL (parked awaiting maker-checker quorum).
"PENDING_APPROVAL"
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.
"6f2c8a1e-..."
N-of-M distinct-actor quorum the parked emission must collect (the alçada band requirement). Omitted/0 when SUBMITTED immediately.
2

