> ## 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 quarantined inbound frames (operator triage)

> Returns a page of inbound frames the STR path could not turn into a persisted message, newest first. Given the stage and message code an INBOUND_QUARANTINED reconciliation case prints, this is how an operator reaches the sibling frames without database access. stage / messageCode / nuOp are exact-match filters; receivedAt bounds are inclusive. Each row publishes its parkKey — the subject of the replay command — plus whether a replay already ran and why the last attempt failed. The response NEVER carries the frame itself (no field on the row can hold it) and carries no monetary field.



## OpenAPI

````yaml /en/openapi/v3-current/spb.yaml get /v1/str/inbound-quarantine
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://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 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: >-
      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: >-
      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: 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/inbound-quarantine:
    get:
      tags:
        - Reconciliation
      summary: List quarantined inbound frames (operator triage)
      description: >-
        Returns a page of inbound frames the STR path could not turn into a
        persisted message, newest first. Given the stage and message code an
        INBOUND_QUARANTINED reconciliation case prints, this is how an operator
        reaches the sibling frames without database access. stage / messageCode
        / nuOp are exact-match filters; receivedAt bounds are inclusive. Each
        row publishes its parkKey — the subject of the replay command — plus
        whether a replay already ran and why the last attempt failed. The
        response NEVER carries the frame itself (no field on the row can hold
        it) and carries no monetary field.
      operationId: listInboundQuarantine
      parameters:
        - description: >-
            Triage-stage filter (exact match), e.g. envelope_decode,
            xsd_validation, error_return_processing. A stage outside the
            vocabulary the table accepts is refused (SPB-0003) rather than
            answered with an empty page.
          explode: false
          in: query
          name: stage
          schema:
            description: >-
              Triage-stage filter (exact match), e.g. envelope_decode,
              xsd_validation, error_return_processing. A stage outside the
              vocabulary the table accepts is refused (SPB-0003) rather than
              answered with an empty page.
            type: string
        - description: Message-code filter (EXACT match only — the column is hash-indexed).
          explode: false
          in: query
          name: messageCode
          schema:
            description: >-
              Message-code filter (EXACT match only — the column is
              hash-indexed).
            type: string
        - description: >-
            Operation-reference filter (EXACT match only — the column is
            hash-indexed).
          explode: false
          in: query
          name: nuOp
          schema:
            description: >-
              Operation-reference filter (EXACT match only — the column is
              hash-indexed).
            type: string
        - description: >-
            Inclusive start of the receivedAt window (RFC3339 timestamp or
            YYYY-MM-DD).
          explode: false
          in: query
          name: startDate
          schema:
            description: >-
              Inclusive start of the receivedAt window (RFC3339 timestamp or
              YYYY-MM-DD).
            type: string
        - description: >-
            Inclusive end of the receivedAt window (RFC3339 timestamp or
            YYYY-MM-DD); a bare date includes the whole day.
          explode: false
          in: query
          name: endDate
          schema:
            description: >-
              Inclusive end of the receivedAt window (RFC3339 timestamp or
              YYYY-MM-DD); a bare date includes the whole day.
            type: string
        - description: >-
            Opaque pagination cursor from a previous response. A malformed
            cursor is refused (SPB-0003), never silently restarted from page
            one.
          explode: false
          in: query
          name: cursor
          schema:
            description: >-
              Opaque pagination cursor from a previous response. A malformed
              cursor is refused (SPB-0003), never silently restarted from page
              one.
            type: string
        - description: Page size (1-100, default 50).
          explode: false
          in: query
          name: limit
          schema:
            default: 50
            description: Page size (1-100, default 50).
            format: int64
            maximum: 100
            minimum: 1
            type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InboundQuarantineListResponse'
          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:
    InboundQuarantineListResponse:
      additionalProperties: false
      properties:
        correlationId:
          description: >-
            Request-scoped correlation identifier echoing X-Request-ID, for
            pivoting from response to trace.
          type: string
        items:
          description: Parked inbound frames on this page, newest first.
          items:
            $ref: '#/components/schemas/InboundQuarantineFrameResponse'
          type:
            - array
            - 'null'
        limit:
          description: Page size applied to this response (max items returned).
          format: int64
          type: integer
        nextCursor:
          description: >-
            Opaque cursor for the next page; absent when there are no further
            pages.
          type: string
      required:
        - items
        - limit
        - correlationId
      type: object
    Detail:
      additionalProperties: false
      properties:
        code:
          description: >-
            Stable, machine-readable domain error code scoped to the emitting
            service (format: <SERVICE>-NNNN).
          examples:
            - SPB-0001
          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
    InboundQuarantineFrameResponse:
      additionalProperties: false
      properties:
        errorMessage:
          description: >-
            The classified failure, untruncated — the reason the evidence row
            exists.
          type: string
        lastReplayError:
          description: >-
            Why the most recent replay attempt failed, verbatim and truncated at
            the column boundary. Absent when no attempt has failed since the
            last successful replay. This is where the reason a replay was
            refused reaches the operator — the command's own response does not
            carry it, because the reason quotes wire text.
          type: string
        messageCode:
          description: >-
            STR/GEN/SME message code as far as it could be read; absent for a
            frame refused before its code resolved.
          examples:
            - STR0008
          type: string
        nuOp:
          description: >-
            BACEN operation reference as far as it could be read, VERBATIM — a
            quarantined frame routinely carries one the official shape refuses,
            so this field is deliberately unconstrained; absent when unreadable.
          examples:
            - '1234567820260614000001'
          type: string
        parkKey:
          description: >-
            The frame's identity: the 64-character lowercase sha256 hex of the
            raw parked bytes. It is the path parameter of the replay command and
            the row's idempotency key. It is not the frame and nothing
            authorizes on it.
          examples:
            - 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
          type: string
        quarantineId:
          description: >-
            Evidence row UUID — the same id the inbound-quarantine alarm and the
            INBOUND_QUARANTINED reconciliation case print.
          examples:
            - 2f8d1c40-0a1b-4c2d-8e3f-000000000001
          type: string
        receivedAt:
          description: >-
            RFC3339 UTC instant the frame arrived. The sort anchor: the listing
            is newest first.
          examples:
            - '2026-09-01T12:00:00Z'
          type: string
        recipientIspb:
          description: >-
            Addressed participant ISPB as far as it could be read; absent when
            unreadable.
          examples:
            - '46026562'
          type: string
        replayedAt:
          description: >-
            RFC3339 UTC instant an operator's replay of this frame succeeded.
            ABSENT is the positive fact 'never replayed' — the frame is still
            parked and still replayable.
          examples:
            - '2026-09-04T09:30:00Z'
          type: string
        replayedBy:
          description: >-
            The operator who commanded the successful replay, as derived from
            their bearer token. Absent exactly when replayedAt is.
          examples:
            - owner/operator
          type: string
        respondedAt:
          description: >-
            RFC3339 UTC instant a courtesy GEN0004 for this frame was durably
            recorded. ABSENT means no durable response record exists for these
            bytes — usually because none was sent, but also when a notice was
            sent and the stamp failed. A frame that was parked and answered is
            acknowledged and does not come back, so on that frame an absent
            stamp is a stamp failure rather than an unanswered counterparty;
            correlate with the listener WARN naming this quarantine id before
            re-notifying anything by hand. Of the frames that do come back, only
            the one whose notice was attempted and failed to persist re-answers;
            the ones nobody could be told about — nothing readable to quote, a
            foreign recipient ISPB, no participant ISPB configured — come back
            and stay silent, so an absent stamp there is the steady state.
            Re-answering at all is at-least-once by choice: an extra notice is
            noise, a missing one is silence about a frame BACEN sent us.
          examples:
            - '2026-09-01T12:00:01Z'
          type: string
        senderIspb:
          description: >-
            Emitting participant ISPB as far as it could be read; absent when
            unreadable.
          examples:
            - '12345678'
          type: string
        stage:
          description: >-
            Where the inbound path gave up. Closed vocabulary: delivery_plan,
            persistence, delivery_finalize, post_persistence_delivery,
            duplicate_webhook_delivery, duplicate_event_delivery_timestamp,
            envelope_decode, xsd_validation, error_return_processing.
          examples:
            - envelope_decode
          type: string
      required:
        - quarantineId
        - parkKey
        - stage
        - errorMessage
        - receivedAt
      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

````