> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Get STR message detail

> Returns the message-log detail for an STR message identified by its NUOp: the status and BACEN-receipt fields, the structured payload, an on-read reconstructed XML view (the persisted on-wire bytes decoded to XML, labeled reconstructed — the literal sent bytes are not separately retained), and the resolved original<->correspondent counterpart. Searches outbound messages first, then inbound. The NUOp is a 23-digit BACEN identifier: ISPB[8]+DATE[8]+SEQ[7].



## OpenAPI

````yaml en/openapi/v3-current/spb.yaml get /v1/str/messages/{nuOp}
openapi: 3.1.0
info:
  contact:
    email: contact@lerian.studio
    name: Lerian Studio
    url: https://lerian.studio
  description: >-
    OpenAPI 3.1 surface for Lerian SPB, the direct integration between the
    institution and the Brazilian Payment System (SPB) over the National
    Financial System Network (RSFN). It covers the Reserve Transfer System
    (STR): message registry and capability catalog, operation lifecycle (bank
    transfers, IBS repasses, liquidity transfers, returns and cancellations),
    reserve-account and schedule queries, alçada governance, reconciliation, and
    event delivery.
  license:
    name: Lerian Studio General License
  title: Lerian SPB API
  version: 1.0.0
servers:
  - url: https://spb.sandbox.lerian.net
security: []
tags:
  - description: Immutable audit-record trails for STR operations and lifecycle events.
    name: Audit
  - description: >-
      STR capability catalog describing supported message types and their
      constraints.
    name: Capabilities
  - description: >-
      ICP-Brasil certificate inventory with hot-reloadable rotation and
      activation.
    name: Certificates
  - description: >-
      Maker-checker approval queue for emissions parked above their alçada band:
      list pending, sign (approve), and deny.
    name: EmissionApprovals
  - description: Webhook event-delivery records with retry control for failed dispatches.
    name: EventDeliveries
  - description: Operation event catalog enumerating the emitted domain event types.
    name: Events
  - description: >-
      Inbound GEN-family notice log (GEN0001 connectivity echo, GEN0004
      transmission error, GEN0005 administrative notice).
    name: GenNotices
  - description: >-
      SPB alçada governance: the value-band table and per-message-type signature
      requirements, hot-reloaded at runtime.
    name: Governance
  - description: >-
      Read raw STR message status: list messages and read a single message by
      NUOp.
    name: Messages
  - description: Aggregated operational summaries and metrics across STR operations.
    name: OperationalIntelligence
  - description: >-
      STR operation lifecycle for bank transfers and IBS repasses, including
      returns and cancellations.
    name: Operations
  - description: >-
      Service readiness state covering startup self-probes and dependency
      health.
    name: Readiness
  - description: Reconciliation cases and the actions that resolve operation discrepancies.
    name: Reconciliation
  - description: >-
      STR reports suite: synchronous, date-ranged aggregate reports (financial
      movement, rejected transactions, volumetria) over Lerian SPB's own
      transmission record.
    name: Reports
  - description: >-
      STR0013 reserve-account balance and STR0014 statement (extrato,
      message-mode) queries and their async results.
    name: ReserveQueries
  - description: >-
      GEN0019 participant responsável roster: full-replacement updates announced
      to BACEN.
    name: Responsibles
  - description: STR operating-window schedule governing when operations may be sent.
    name: Schedule
  - description: >-
      STR0001 single-party schedule queries (consulta de horários do STR) and
      their async STR0001R1 grid results.
    name: ScheduleQueries
  - description: Runtime SPB configuration settings for the STR integration.
    name: Settings
  - description: Webhook endpoint registration and management for event delivery.
    name: Webhooks
  - description: >-
      Flow (mandatory order): certificate → readiness → connectivity-test →
      submit. Activate a certificate, confirm the rail reports ready, pass a
      connectivity test, then submit an operation. Each step is its own
      resource; a submit must not be attempted before readiness passes.
    name: onboarding
  - description: >-
      Flow (mandatory order): parent operation SETTLED → return/cancel. A return
      or cancellation is a sub-resource of a settled parent operation; the
      {operationId}/{endToEndID} path segment enforces the parent structurally.
    name: lifecycle
paths:
  /v1/str/messages/{nuOp}:
    get:
      tags:
        - Messages
      summary: Get STR message detail
      description: >-
        Returns the message-log detail for an STR message identified by its
        NUOp: the status and BACEN-receipt fields, the structured payload, an
        on-read reconstructed XML view (the persisted on-wire bytes decoded to
        XML, labeled reconstructed — the literal sent bytes are not separately
        retained), and the resolved original<->correspondent counterpart.
        Searches outbound messages first, then inbound. The NUOp is a 23-digit
        BACEN identifier: ISPB[8]+DATE[8]+SEQ[7].
      operationId: getMessageStatus
      parameters:
        - description: 'Message NUOp (23 digits: ISPB[8]+DATE[8]+SEQ[7]).'
          in: path
          name: nuOp
          required: true
          schema:
            description: 'Message NUOp (23 digits: ISPB[8]+DATE[8]+SEQ[7]).'
            maxLength: 23
            minLength: 23
            pattern: ^[0-9]{23}$
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageDetailResponse'
          description: OK
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Error
      security:
        - BearerAuth: []
components:
  schemas:
    MessageDetailResponse:
      additionalProperties: false
      properties:
        correspondent:
          $ref: '#/components/schemas/MessageCorrespondent'
          description: >-
            The resolved original<->correspondent counterpart: for an outbound,
            the inbound response BACEN sent back; for an inbound, the outbound
            it answers. Absent when no counterpart has been correlated yet.
        message:
          $ref: '#/components/schemas/MessageStatusResponse'
          description: >-
            The message's status projection (identifiers, lifecycle,
            BACEN-receipt fields).
        payload:
          additionalProperties: {}
          description: >-
            The structured payload_json persisted for this message (parsed STR
            fields). Always present.
          type: object
        payloadFormat:
          description: >-
            How the payload is presented: 'reconstructed' when reconstructedXml
            carries the persisted on-wire bytes decoded to XML, 'structured'
            when only the payload fields are available.
          examples:
            - reconstructed
          type: string
        reconstructedXml:
          description: >-
            The persisted on-wire STR payload decoded to UTF-8 XML, labeled
            reconstructed (the literal sent bytes are not separately retained).
            Omitted when payloadFormat is 'structured'.
          type: string
      required:
        - message
        - payload
        - payloadFormat
      type: object
    Detail:
      additionalProperties: false
      properties:
        code:
          description: >-
            Stable, machine-readable domain error code scoped to the emitting
            service (format: <SERVICE>-NNNN).
          examples:
            - ERR-0001
          type: string
        detail:
          description: >-
            A human-readable explanation specific to this occurrence of the
            problem.
          examples:
            - Property foo is required but is missing.
          type: string
        errors:
          description: Optional list of individual error details
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type:
            - array
            - 'null'
        instance:
          description: >-
            A URI reference that identifies the specific occurrence of the
            problem.
          examples:
            - https://example.com/error-log/abc123
          format: uri
          type: string
        status:
          description: HTTP status code
          examples:
            - 400
          format: int64
          type: integer
        title:
          description: >-
            A short, human-readable summary of the problem type. This value
            should not change between occurrences of the error.
          examples:
            - Bad Request
          type: string
        type:
          default: about:blank
          description: A URI reference to human-readable documentation for the error.
          examples:
            - https://example.com/errors/example
          format: uri
          type: string
      type: object
    MessageCorrespondent:
      additionalProperties: false
      properties:
        amount:
          description: Correspondent amount as a decimal string in BRL.
          examples:
            - '150.00'
          pattern: ^[0-9]+(\.[0-9]+)?$
          type: string
        controlNumber:
          description: STR control number of the correspondent, when assigned.
          examples:
            - '20260503000001'
          type: string
        createdAt:
          description: >-
            UTC RFC 3339 timestamp at which the correspondent record was
            created.
          examples:
            - '2026-05-04T18:30:02Z'
          format: date-time
          type: string
        direction:
          description: >-
            Flow direction of the correspondent (always the opposite of the
            primary message).
          examples:
            - INBOUND
          type: string
        messageType:
          description: STR message type/code of the correspondent.
          examples:
            - STR0004R2
          type: string
        nuOp:
          description: NUOp of the correspondent message.
          examples:
            - '12345678202605040000001'
          maxLength: 23
          minLength: 23
          pattern: ^[0-9]{8}[0-9]{8}[0-9]{7}$
          type: string
        status:
          description: Normalized public processing status of the correspondent.
          examples:
            - RECEIVED
          type: string
        strStatus:
          description: Raw STR-network status of the correspondent.
          examples:
            - Acatado
          type: string
      required:
        - nuOp
        - messageType
        - status
        - direction
        - createdAt
      type: object
    MessageStatusResponse:
      additionalProperties: false
      properties:
        amount:
          description: >-
            Message amount as a decimal string in BRL, minor-unit precision (two
            decimal places).
          examples:
            - '150.00'
          pattern: ^[0-9]+(\.[0-9]+)?$
          type: string
        confirmedAt:
          description: >-
            UTC RFC 3339 timestamp at which BACEN confirmed (R1 Acatado) the
            message — JD's 'Confirmação BC'. Present only for a CONFIRMED
            outbound.
          examples:
            - '2026-05-04T18:30:05Z'
          format: date-time
          type: string
        controlNumber:
          description: >-
            STR control number, 14 digits identifying the message on the SPB
            network; omitted until assigned.
          examples:
            - '20260503000001'
          maxLength: 14
          minLength: 14
          type: string
        createdAt:
          description: UTC RFC 3339 timestamp at which the message record was created.
          examples:
            - '2026-05-04T18:29:55Z'
          format: date-time
          type: string
        description:
          description: Optional free-text description carried with the message.
          examples:
            - Wire transfer for invoice 2026-Q2-A47
          type: string
        direction:
          description: >-
            Message flow direction: OUTBOUND (sent by this participant) or
            INBOUND (received).
          examples:
            - OUTBOUND
          type: string
        messageType:
          description: STR message type (e.g. STR0004).
          examples:
            - STR0004
          type: string
        mqMessageId:
          description: >-
            Broker-assigned message identifier returned by MQPUT — JD's 'ID
            Recepção BC' on the receipt view. Outbound only.
          examples:
            - 414d5120514d2020202020202020202060f0c2a201a30b25
          type: string
        nuOp:
          description: >-
            STR operation number (NUOp) of the message, 23 digits: 8-digit ISPB
            + 8-digit date + 7-digit sequence.
          examples:
            - '12345678202605040000001'
          maxLength: 23
          minLength: 23
          pattern: ^[0-9]{8}[0-9]{8}[0-9]{7}$
          type: string
        originalControlNumber:
          description: >-
            Control number of the referenced original message for lifecycle
            (return/cancel) messages, 14 digits.
          examples:
            - '20260503000001'
          maxLength: 14
          minLength: 14
          type: string
        originalNuOp:
          description: >-
            For an inbound response, the NUOp of the original outbound message
            it answers — the correspondent linkage key.
          examples:
            - '12345678202605040000001'
          maxLength: 23
          minLength: 23
          pattern: ^[0-9]{23}$
          type: string
        purposeCode:
          description: BACEN STR purpose code (finalidade), exactly 5 digits.
          examples:
            - '00001'
          pattern: ^[0-9]{5}$
          type: string
        recipientIspb:
          description: >-
            Recipient participant ISPB, the 8-digit BACEN institution
            identifier.
          examples:
            - 38166
          maxLength: 8
          minLength: 8
          type: string
        resolvedAt:
          description: >-
            UTC RFC 3339 timestamp at which the message reached a terminal
            status; absent while still in flight.
          examples:
            - '2026-05-04T18:30:05Z'
          format: date-time
          type: string
        senderIspb:
          description: Sender participant ISPB, the 8-digit BACEN institution identifier.
          examples:
            - '12345678'
          maxLength: 8
          minLength: 8
          type: string
        status:
          description: Normalized public processing status of the message.
          examples:
            - DELIVERED
          type: string
        strRejectReason:
          description: >-
            BACEN STR rejection reason code when the message was rejected (e.g.
            AB03).
          examples:
            - AB03
          type: string
        strStatus:
          description: >-
            Raw STR-network status string as returned by BACEN (e.g. Acatado) —
            JD's StatusCode column.
          examples:
            - Acatado
          type: string
        submittedAt:
          description: >-
            UTC RFC 3339 timestamp at which the message was submitted; empty
            until submission.
          examples:
            - '2026-05-04T18:30:00Z'
          format: date-time
          type: string
      required:
        - nuOp
        - messageType
        - direction
        - createdAt
      type: object
    ErrorDetail:
      additionalProperties: false
      properties:
        location:
          description: >-
            Where the error occurred, e.g. 'body.items[3].tags' or
            'path.thing-id'
          type: string
        message:
          description: Error message text
          type: string
        value:
          description: The value at the given location
      type: object
  securitySchemes:
    BearerAuth:
      bearerFormat: JWT
      description: JWT bearer token issued by the identity provider.
      scheme: bearer
      type: http

````