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

# List STR messages

> Lists outbound and inbound STR messages with optional filters and cursor-based pagination. The cursor is opaque — pass the nextCursor value from a previous response to continue. Filters can be combined freely; results are merged in the requested sort order.



## OpenAPI

````yaml /pt/openapi/v3-current/spb.yaml get /v1/str/messages
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, SME and LDL
    operations, inbound quarantine triage, reconciliation, and event delivery.
  license:
    name: Lerian Studio General License
  title: Lerian SPB API
  version: 1.0.0
servers:
  - url: https://api.example.com
    description: >-
      Replace the example host with the URL provided during environment
      onboarding.
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: >-
      STR compulsory-movement (RCO) family: the movements BACEN orders on a
      participant's reserve account, their answers and the periods they belong
      to.
    name: Compulsory
  - description: >-
      Maker-checker approval queue for emissions parked above their alçada band:
      list pending, sign (approve), and deny.
    name: EmissionApprovals
  - 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 config: value-band table + 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: >-
      Redesconto do Banco Central: collateralised intraday and one-business-day
      BCB lending against Selic-registered federal securities. One create door
      derives the nine RDC commands from four operator-facing kinds (contract,
      payment, conversion, cancellation), plus the two consultas over
      eligible-security prices and open positions. An accepted rediscount is not
      necessarily a settled one — Selic may hold the request for want of
      securities, and that middle state is reported as its own.
    name: Rediscounts
  - description: >-
      STR Relatórios suite: synchronous, date-ranged aggregate reports
      (movimento financeiro, transações rejeitadas, 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: >-
      STR lançamentos (SLB) family: the charges BACEN raises against this
      participant, the payments that settle them, payments to BACEN it never
      demanded, and the entry consultas over them.
    name: SLB
  - description: >-
      Reads over an IEME's conta correspondente a moeda eletrônica (CCME):
      SME0003 statement (extrato) queries and their async SME0003R1 results,
      plus the log of SME0001R2/SME0002R2/SME0004R2 movement advices the STR
      delivered about movements this rail did not command.
    name: SMEQueries
  - description: Runtime SPB configuration settings for the STR integration.
    name: Settings
  - 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:
    get:
      tags:
        - Messages
      summary: List STR messages
      description: >-
        Lists outbound and inbound STR messages with optional filters and
        cursor-based pagination. The cursor is opaque — pass the nextCursor
        value from a previous response to continue. Filters can be combined
        freely; results are merged in the requested sort order.
      operationId: listMessages
      parameters:
        - description: Opaque pagination token from a previous response.
          explode: false
          in: query
          name: cursor
          schema:
            description: Opaque pagination token from a previous response.
            type: string
        - description: Page size (default 20, max 100).
          explode: false
          in: query
          name: limit
          schema:
            default: 20
            description: Page size (default 20, max 100).
            format: int64
            maximum: 100
            minimum: 1
            type: integer
        - description: Sort order (default desc, most recent first).
          explode: false
          in: query
          name: sort_order
          schema:
            description: Sort order (default desc, most recent first).
            enum:
              - asc
              - desc
            type: string
        - description: Filter by STR message type (e.g. STR0004).
          explode: false
          in: query
          name: message_type
          schema:
            description: Filter by STR message type (e.g. STR0004).
            type: string
        - description: >-
            Filter by processing status. PENDING_APPROVAL is the maker-checker
            parked state: an emission above its alçada band awaiting its
            distinct-actor signatures, filterable here exactly as it is
            published on the log rows.
          explode: false
          in: query
          name: status
          schema:
            description: >-
              Filter by processing status. PENDING_APPROVAL is the maker-checker
              parked state: an emission above its alçada band awaiting its
              distinct-actor signatures, filterable here exactly as it is
              published on the log rows.
            enum:
              - SUBMITTED
              - DELIVERED
              - CONFIRMED
              - REJECTED
              - FAILED
              - RETURNED
              - CANCELED
              - RECEIVED
              - PENDING_APPROVAL
            type: string
        - description: Filter by message direction.
          explode: false
          in: query
          name: direction
          schema:
            description: Filter by message direction.
            enum:
              - INBOUND
              - OUTBOUND
            type: string
        - description: Lower bound for created_at (RFC3339 or YYYY-MM-DD).
          explode: false
          in: query
          name: start_date
          schema:
            description: Lower bound for created_at (RFC3339 or YYYY-MM-DD).
            type: string
        - description: Upper bound for created_at (RFC3339 or YYYY-MM-DD).
          explode: false
          in: query
          name: end_date
          schema:
            description: Upper bound for created_at (RFC3339 or YYYY-MM-DD).
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListMessagesResponse'
          description: OK
        '401':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Unauthorized
        '403':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Forbidden
        '422':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Unprocessable Entity
        '429':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Too Many Requests
        '500':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Internal Server Error
        '503':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Service Unavailable
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Error
      security:
        - BearerAuth: []
components:
  schemas:
    ListMessagesResponse:
      additionalProperties: false
      properties:
        correlationId:
          description: >-
            Request-scoped correlation identifier echoing X-Request-ID, for
            pivoting from response to trace.
          examples:
            - req-7a3f9c2e
          type: string
        items:
          description: Page of message summaries ordered most-recent-first.
          items:
            $ref: '#/components/schemas/MessageSummary'
          type: array
        limit:
          description: Page size applied to this response (number of items requested).
          examples:
            - 50
          format: int64
          type: integer
        nextCursor:
          description: >-
            Opaque cursor for the next page; absent when there are no more
            results. Presence signals more results, absence signals end-of-list.
          examples:
            - >-
              eyJjcmVhdGVkQXQiOiIyMDI2LTA1LTA0VDE4OjMwOjAwWiIsImlkIjoiNTUwZTg0MDAtZTI5Yi00MWQ0LWE3MTYtNDQ2NjU1NDQwMDAwIn0
          type: string
        total:
          description: >-
            Sum of the per-repository (outbound + inbound) COUNT(*) matching the
            same filters as items, excluding the cursor/limit — the full
            filtered-set size, stable across pages (a record count, never a
            monetary sum).
          examples:
            - 318
          format: int64
          type: integer
      required:
        - items
        - limit
        - total
        - correlationId
      type: object
    Detail:
      additionalProperties: false
      properties:
        code:
          description: >-
            Stable, machine-readable domain error code scoped to the emitting
            service (format: <SERVICE>-NNNN).
          type: string
        correlationId:
          description: Request-scoped correlation identifier echoing X-Request-ID.
          examples:
            - req-7a3f9c2e
          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.
      required:
        - correlationId
      type: object
    MessageSummary:
      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
        controlNumber:
          description: >-
            Control number identifying the message on the SPB network (official
            ControleIF, 1-20 characters); an issued number is an 8-digit
            movement date + a 12-digit sequence. Omitted until assigned
            (outbound) or absent (inbound).
          examples:
            - '20260503000000000001'
          maxLength: 20
          minLength: 1
          type: string
        createdAt:
          description: >-
            UTC RFC 3339 timestamp at which the message record was created —
            JD's Data/Hora column.
          examples:
            - '2026-05-04T18:29:55Z'
          format: date-time
          type: string
        direction:
          description: >-
            Message flow direction — JD's Fluxo column: OUTBOUND (Enviada) or
            INBOUND (Recebida).
          enum:
            - INBOUND
            - OUTBOUND
          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'. Outbound only.
          examples:
            - 414d5120514d2020202020202020202060f0c2a201a30b25
          type: string
        nuOp:
          description: >-
            STR operation number (NUOp) of the message, 23 characters:
            8-character alphanumeric ISPB + 8-digit date + 7-digit sequence.
          examples:
            - '12345678202605040000001'
          maxLength: 23
          minLength: 23
          pattern: ^[0-9A-Z]{8}[0-9]{15}$
          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
        status:
          description: >-
            Normalized public processing status of the message — JD's Situação
            column. PENDING_APPROVAL is the maker-checker parked state: the
            emission awaits its distinct-actor signatures before it may
            liquidate, and reaches this list unfiltered.
          enum:
            - SUBMITTED
            - DELIVERED
            - CONFIRMED
            - REJECTED
            - FAILED
            - RETURNED
            - CANCELED
            - RECEIVED
            - PENDING_APPROVAL
          examples:
            - DELIVERED
          type: string
        strStatus:
          description: >-
            Raw STR-network status string as returned by BACEN (e.g. Acatado) —
            JD's StatusCode column. Absent until BACEN responds.
          examples:
            - Acatado
          type: string
      required:
        - nuOp
        - messageType
        - status
        - 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
    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.