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

# Read one outbound message, whatever its code

> The universal state of one issued message: its code, the control number the câmara echoes, its lifecycle status, how many queue puts have been attempted and why the last one failed. The stored request is not interpreted here.



## OpenAPI

````yaml /pt/openapi/v3-current/siloc.yaml get /api/v1/siloc/outbound/messages/{id}
openapi: 3.1.0
info:
  description: >-
    OpenAPI 3.1 surface for Lerian SILOC, the participant-side rail connecting
    the institution to Núclea's SILOC deferred-net interbank settlement.
  title: Lerian SILOC API
  version: 1.0.0
servers:
  - url: https://api.example.com
    description: >-
      Replace the example host with the URL provided during environment
      onboarding.
security: []
paths:
  /api/v1/siloc/outbound/messages/{id}:
    get:
      tags:
        - Schedule
      summary: Read one outbound message, whatever its code
      description: >-
        The universal state of one issued message: its code, the control number
        the câmara echoes, its lifecycle status, how many queue puts have been
        attempted and why the last one failed. The stored request is not
        interpreted here.
      operationId: getOutboundMessage
      parameters:
        - description: Outbound message id.
          in: path
          name: id
          required: true
          schema:
            description: Outbound message id.
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OutboundMessageResponse'
          description: OK
        '422':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Unprocessable Entity
        '500':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Internal Server Error
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Error
      security:
        - BearerAuth: []
components:
  schemas:
    OutboundMessageResponse:
      additionalProperties: false
      properties:
        answeredAt:
          description: When the câmara's answer was applied; omitted until it is.
          format: date-time
          type: string
        attempts:
          description: Queue-put attempts made so far.
          format: int64
          type: integer
        closeRequest:
          $ref: '#/components/schemas/OutboundCloseRequestResponse'
          description: >-
            The first operator's request to close this held message as failed,
            awaiting a second operator's approval; omitted when none awaits.
        codMsg:
          description: The SFN message code this row carries, e.g. LDL0023.
          type: string
        codProdt:
          description: >-
            The SILOC product, OT or SLC; omitted when the message's layout
            carries no product element.
          type: string
        dispatchedAt:
          description: When the frame reached the send queue; omitted until it has.
          format: date-time
          type: string
        heldForAnswer:
          description: >-
            True when the câmara's answer may never come and two operators can
            close the message as failed (see requestOutboundMessageClose): its
            time ran out after a put whose outcome is unknown (SUBMITTED), or an
            LTR0002 or LTR0008 was DISPATCHED and its LBTR cycle ended with no
            R1.
          type: boolean
        id:
          description: Outbound message id.
          format: uuid
          type: string
        lastError:
          description: >-
            Why the last attempt failed, or that an LBTR message waits unsent
            for its cycle to open, which counts no attempt; omitted when neither
            applies.
          type: string
        nextAttemptAt:
          description: >-
            When the next queue put comes due; omitted once the row is terminal
            or answered.
          format: date-time
          type: string
        numCtrlIF:
          description: >-
            The control number this institution issued. The câmara echoes it on
            the answer, which is what correlates the two.
          type: string
        nuop:
          description: The BCMSG operation number of the frame.
          type: string
        parkedAnswers:
          description: >-
            The câmara answers parked unresolved for this held message; omitted
            when none. A message with one cannot be closed plainly: a
            SEMANTIC_REJECTED answer is declared by two operators as what its
            codMsg states (parkedAnswerId and outcome on the close request), any
            other can still replay.
          items:
            $ref: '#/components/schemas/ParkedAnswerResponse'
          type: array
        status:
          description: >-
            Lifecycle state. REFUSED and FAILED are both terminal and are
            different facts: REFUSED means the câmara received the message and
            returned its E twin, FAILED means this rail could not deliver it and
            will not retry, or two operators closed a send whose outcome was
            unknown.
          enum:
            - SUBMITTED
            - DISPATCHED
            - ANSWERED
            - REFUSED
            - FAILED
          type: string
        submittedAt:
          description: When the message was recorded.
          format: date-time
          type: string
      required:
        - id
        - codMsg
        - numCtrlIF
        - nuop
        - status
        - attempts
        - submittedAt
        - heldForAnswer
      type: object
    Detail:
      additionalProperties: true
      properties:
        code:
          description: >-
            Stable, machine-readable domain error code scoped to the emitting
            service (format: <SERVICE>-NNNN).
          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
        upstream:
          $ref: '#/components/schemas/Upstream'
          description: >-
            RFC 9457 extension member: the error a proxied third-party provider
            reported. Absent unless the emitting service explicitly surfaced
            one.
      type: object
    OutboundCloseRequestResponse:
      additionalProperties: false
      properties:
        id:
          description: Close request id.
          format: uuid
          type: string
        messageId:
          description: The outbound message the request is about.
          format: uuid
          type: string
        numCtrl:
          description: >-
            The câmara's own control number (NumCtrlPAG) the first operator read
            in the answer, for a SETTLED declaration of a PAG transfer; omitted
            otherwise.
          type: string
        outcome:
          description: >-
            What the operators declared from that answer; omitted for a close
            with no parked answer.
          enum:
            - SETTLED
            - FAILED
          type: string
        parkedAnswerId:
          description: >-
            The refused câmara answer the operators declared the outcome from;
            omitted for a close with no parked answer.
          format: uuid
          type: string
        reason:
          description: The evidence the first operator gave.
          type: string
        requestedAt:
          description: When the request was made.
          format: date-time
          type: string
        requestedBy:
          description: The operator who asked, as the audit trail names them.
          type: string
        settledAt:
          description: >-
            The settlement instant the operators confirmed for a SETTLED
            declaration; omitted otherwise.
          format: date-time
          type: string
        situation:
          description: >-
            The situation (SitLancPAG) the first operator read in the answer,
            for a SETTLED declaration of a PAG transfer; omitted otherwise.
          type: string
        status:
          description: >-
            PENDING until a second operator approves; APPROVED once the message
            is closed.
          enum:
            - PENDING
            - APPROVED
          type: string
      required:
        - id
        - messageId
        - requestedBy
        - reason
        - requestedAt
        - status
      type: object
    ParkedAnswerResponse:
      additionalProperties: false
      properties:
        codMsg:
          description: >-
            The answer's own message code: an R1 (for example LTR0002R1) says
            the câmara took the message, an E twin (LTR0002E) says it refused
            it.
          type: string
        id:
          description: Parked-message id, the same the DLQ read lists.
          format: uuid
          type: string
        payload:
          contentEncoding: base64
          description: >-
            The answer exactly as the rail received it, base64 (the SISMSG
            document); an operator declaring the held message reads the câmara's
            answer here.
          type: string
        rejectReason:
          description: Why the rail refused a SEMANTIC_REJECTED answer; omitted otherwise.
          type: string
        status:
          description: >-
            PENDING and PROCESSING can still replay and settle the message;
            SEMANTIC_REJECTED is terminal, the rail refused it on content and
            never applies it.
          enum:
            - PENDING
            - PROCESSING
            - SEMANTIC_REJECTED
          type: string
      required:
        - id
        - codMsg
        - status
        - payload
      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
    Upstream:
      additionalProperties: false
      properties:
        code:
          description: The upstream provider's own error code, verbatim.
          examples:
            - E4001
          type: string
        message:
          description: >-
            The upstream provider's own error message, verbatim (bounded, never
            its raw response body).
          examples:
            - account not found at provider
          type: string
      type: object
  securitySchemes:
    BearerAuth:
      bearerFormat: JWT
      description: JWT bearer token issued by the identity provider.
      scheme: bearer
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.