> ## 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.

# Obtener detalle de mensaje STR

> Devuelve el detalle del registro de mensajes para un mensaje STR identificado por su NUOp: el estado y los campos de recibo de BACEN, el payload estructurado, una vista XML reconstruida en lectura (los bytes on-wire persistidos decodificados a XML, etiquetados como reconstruidos; los bytes literales enviados no se retienen por separado) y la contraparte original<->corresponsal resuelta. Busca primero los mensajes de salida y luego los de entrada. El NUOp es un identificador BACEN de 23 dígitos: ISPB[8]+FECHA[8]+SEQ[7].



## OpenAPI

````yaml es/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: >-
    Interfaz OpenAPI 3.1 de Lerian SPB, la integración directa entre la
    institución y el Sistema de Pagos Brasileño (SPB) sobre la Red del Sistema
    Financiero Nacional (RSFN). Cubre el Sistema de Transferencia de Reservas
    (STR): registro de mensajes y catálogo de capacidades, ciclo de vida de las
    operaciones (transferencias bancarias, repasses IBS, transferencias de
    liquidez, devoluciones y cancelaciones), consultas de cuenta de reservas y
    de horarios, gobernanza de alçada, conciliación y entrega de eventos.
  license:
    name: Lerian Studio General License
  title: Lerian SPB API
  version: 1.0.0
servers:
  - url: https://spb.sandbox.lerian.net
security: []
tags:
  - description: >-
      Rastros inmutables de registros de auditoría para operaciones STR y
      eventos de ciclo de vida.
    name: Audit
  - description: >-
      Catálogo de capacidades STR que describe los tipos de mensaje admitidos y
      sus restricciones.
    name: Capabilities
  - description: >-
      Inventario de certificados ICP-Brasil con rotación y activación
      recargables en caliente.
    name: Certificates
  - description: >-
      Cola de aprobación maker-checker para emisiones retenidas por encima de su
      banda de alçada: listar pendientes, firmar (aprobar) y denegar.
    name: EmissionApprovals
  - description: >-
      Registros de entrega de eventos por webhook con control de reintentos para
      despachos fallidos.
    name: EventDeliveries
  - description: >-
      Catálogo de eventos de operación que enumera los tipos de evento de
      dominio emitidos.
    name: Events
  - description: >-
      Registro de avisos entrantes de la familia GEN (GEN0001 eco de
      conectividad, GEN0004 error de transmisión, GEN0005 aviso administrativo).
    name: GenNotices
  - description: >-
      Gobernanza de alçada del SPB: la tabla de bandas de valor y los requisitos
      de firma por tipo de mensaje, recargados en caliente en tiempo de
      ejecución.
    name: Governance
  - description: >-
      Estado crudo de los mensajes STR: listar los mensajes y leer un mensaje
      individual por NUOp.
    name: Messages
  - description: Resúmenes y métricas operativas agregadas de las operaciones STR.
    name: OperationalIntelligence
  - description: >-
      Ciclo de vida de las operaciones STR para transferencias bancarias y
      repasses IBS, incluyendo devoluciones y cancelaciones.
    name: Operations
  - description: >-
      Estado de disponibilidad del servicio que abarca las autopruebas de
      arranque y la salud de las dependencias.
    name: Readiness
  - description: >-
      Casos de conciliación y las acciones que resuelven las discrepancias de
      operación.
    name: Reconciliation
  - description: >-
      Suite de reportes STR: reportes agregados síncronos por rango de fechas
      (movimiento financiero, transacciones rechazadas, volumetria) sobre el
      propio registro de transmisión de Lerian SPB.
    name: Reports
  - description: >-
      Consultas de saldo de cuenta de reservas STR0013 y de extrato STR0014
      (modo mensaje) y sus resultados asíncronos.
    name: ReserveQueries
  - description: >-
      Lista de responsáveis del participante GEN0019: actualizaciones de
      reemplazo total anunciadas a BACEN.
    name: Responsibles
  - description: >-
      Programación de ventanas de operación del STR que rige cuándo pueden
      enviarse las operaciones.
    name: Schedule
  - description: >-
      Consultas de horarios STR0001 de parte única (consulta de horários do STR)
      y sus resultados de grilla STR0001R1 asíncronos.
    name: ScheduleQueries
  - description: >-
      Ajustes de configuración del SPB en tiempo de ejecución para la
      integración STR.
    name: Settings
  - description: Registro y gestión de endpoints de webhook para la entrega de eventos.
    name: Webhooks
  - description: >-
      Flujo (orden obligatorio): certificado → disponibilidad →
      prueba-de-conectividad → envío. Activa un certificado, confirma que el
      rail reporta listo, pasa una prueba de conectividad y luego envía una
      operación. Cada paso es su propio recurso; no debes intentar un envío
      antes de que la disponibilidad pase.
    name: onboarding
  - description: >-
      Flujo (orden obligatorio): operación padre SETTLED →
      devolución/cancelación. Una devolución o cancelación es un sub-recurso de
      una operación padre liquidada; el segmento de ruta
      {operationId}/{endToEndID} impone el padre estructuralmente.
    name: lifecycle
paths:
  /v1/str/messages/{nuOp}:
    get:
      tags:
        - Messages
      summary: Obtener detalle de mensaje STR
      description: >-
        Devuelve el detalle del registro de mensajes para un mensaje STR
        identificado por su NUOp: el estado y los campos de recibo de BACEN, el
        payload estructurado, una vista XML reconstruida en lectura (los bytes
        on-wire persistidos decodificados a XML, etiquetados como reconstruidos;
        los bytes literales enviados no se retienen por separado) y la
        contraparte original<->corresponsal resuelta. Busca primero los mensajes
        de salida y luego los de entrada. El NUOp es un identificador BACEN de
        23 dígitos: ISPB[8]+FECHA[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

````