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

# Criar operação de repasse IBS

> Pré-requisito: o rail deve estar pronto antes de um envio: um certificado ativo (ver rotateCertificate, activateCertificate), um relatório de prontidão READY (ver getReadiness) e um teste de conectividade aprovado (ver createConnectivityTest). Aceita uma operação de repasse IBS STR0053 (repasse de reservas dos valores de liquidação IBS ao comitê gestor) através da API centrada em operações. O handler traduz a solicitação JSON para o caminho de solicitação XML STR0053, persiste o agregado de operação e o trabalho de relay de saída SUBMITTED, e retorna o envelope canônico OperationAccepted. O despacho foi aceito, não uma confirmação de liquidação do BACEN. Idempotente: reenviar a mesma chave X-Idempotency com o mesmo corpo retorna a resposta em cache.



## OpenAPI

````yaml pt/openapi/v3-current/spb.yaml post /v1/str/operations/ibs-repasses
openapi: 3.1.0
info:
  contact:
    email: contact@lerian.studio
    name: Lerian Studio
    url: https://lerian.studio
  description: >-
    Interface OpenAPI 3.1 do Lerian SPB, a integração direta entre a instituição
    e o Sistema de Pagamentos Brasileiro (SPB) sobre a Rede do Sistema
    Financeiro Nacional (RSFN). Abrange o Sistema de Transferência de Reservas
    (STR): registro de mensagens e catálogo de capacidades, ciclo de vida das
    operações (transferências bancárias, repasses IBS, transferências de
    liquidez, devoluções e cancelamentos), consultas de conta de reservas e de
    horários, governança de alçada, conciliação e 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: >-
      Trilhas imutáveis de registros de auditoria para operações STR e eventos
      de ciclo de vida.
    name: Audit
  - description: >-
      Catálogo de capacidades STR que descreve os tipos de mensagem suportados e
      suas restrições.
    name: Capabilities
  - description: >-
      Inventário de certificados ICP-Brasil com rotação e ativação recarregáveis
      a quente.
    name: Certificates
  - description: >-
      Fila de aprovação maker-checker para emissões retidas acima de sua banda
      de alçada: listar pendentes, assinar (aprovar) e negar.
    name: EmissionApprovals
  - description: >-
      Registros de entrega de eventos por webhook com controle de retentativas
      para despachos falhos.
    name: EventDeliveries
  - description: >-
      Catálogo de eventos de operação que enumera os tipos de evento de domínio
      emitidos.
    name: Events
  - description: >-
      Registro de avisos recebidos da família GEN (GEN0001 eco de conectividade,
      GEN0004 erro de transmissão, GEN0005 aviso administrativo).
    name: GenNotices
  - description: >-
      Governança de alçada do SPB: a tabela de bandas de valor e os requisitos
      de assinatura por tipo de mensagem, recarregados a quente em tempo de
      execução.
    name: Governance
  - description: >-
      Estado bruto das mensagens STR: listar as mensagens e ler uma mensagem
      individual por NUOp.
    name: Messages
  - description: Resumos e métricas operacionais agregados das operações STR.
    name: OperationalIntelligence
  - description: >-
      Ciclo de vida das operações STR para transferências bancárias e repasses
      IBS, incluindo devoluções e cancelamentos.
    name: Operations
  - description: >-
      Estado de prontidão do serviço que abrange as autoverificações de
      inicialização e a saúde das dependências.
    name: Readiness
  - description: Casos de conciliação e as ações que resolvem as divergências de operação.
    name: Reconciliation
  - description: >-
      Suíte de relatórios STR: relatórios agregados síncronos por intervalo de
      datas (movimento financeiro, transações rejeitadas, volumetria) sobre o
      próprio registro de transmissão do Lerian SPB.
    name: Reports
  - description: >-
      Consultas de saldo de conta de reservas STR0013 e de extrato STR0014 (modo
      mensagem) e seus resultados assíncronos.
    name: ReserveQueries
  - description: >-
      Lista de responsáveis do participante GEN0019: atualizações de
      substituição total anunciadas ao BACEN.
    name: Responsibles
  - description: >-
      Programação de janelas de operação do STR que rege quando as operações
      podem ser enviadas.
    name: Schedule
  - description: >-
      Consultas de horários STR0001 de parte única (consulta de horários do STR)
      e seus resultados de grade STR0001R1 assíncronos.
    name: ScheduleQueries
  - description: Configurações de tempo de execução do SPB para a integração STR.
    name: Settings
  - description: >-
      Registro e gerenciamento de endpoints de webhook para a entrega de
      eventos.
    name: Webhooks
  - description: >-
      Fluxo (ordem obrigatória): certificado → prontidão →
      teste-de-conectividade → envio. Ative um certificado, confirme que o rail
      reporta prontidão, passe em um teste de conectividade e então envie uma
      operação. Cada etapa é seu próprio recurso; um envio não deve ser tentado
      antes de a prontidão passar.
    name: onboarding
  - description: >-
      Fluxo (ordem obrigatória): operação pai SETTLED → devolução/cancelamento.
      Uma devolução ou cancelamento é um sub-recurso de uma operação pai
      liquidada; o segmento de rota {operationId}/{endToEndID} impõe o pai
      estruturalmente.
    name: lifecycle
paths:
  /v1/str/operations/ibs-repasses:
    post:
      tags:
        - Operations
        - onboarding
      summary: Criar operação de repasse IBS
      description: >-
        Pré-requisito: o rail deve estar pronto antes de um envio: um
        certificado ativo (ver rotateCertificate, activateCertificate), um
        relatório de prontidão READY (ver getReadiness) e um teste de
        conectividade aprovado (ver createConnectivityTest). Aceita uma operação
        de repasse IBS STR0053 (repasse de reservas dos valores de liquidação
        IBS ao comitê gestor) através da API centrada em operações. O handler
        traduz a solicitação JSON para o caminho de solicitação XML STR0053,
        persiste o agregado de operação e o trabalho de relay de saída
        SUBMITTED, e retorna o envelope canônico OperationAccepted. O despacho
        foi aceito, não uma confirmação de liquidação do BACEN. Idempotente:
        reenviar a mesma chave X-Idempotency com o mesmo corpo retorna a
        resposta em cache.
      operationId: createIBSRepasseOperation
      parameters:
        - description: Bearer JWT token.
          in: header
          name: Authorization
          schema:
            description: Bearer JWT token.
            type: string
        - description: Idempotency key (canonical).
          in: header
          name: X-Idempotency
          schema:
            description: Idempotency key (canonical).
            type: string
        - description: Idempotency key (legacy alias).
          in: header
          name: X-Idempotency-Key
          schema:
            description: Idempotency key (legacy alias).
            type: string
        - description: Idempotency key TTL in seconds.
          in: header
          name: X-TTL
          schema:
            description: Idempotency key TTL in seconds.
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateIBSRepasseOperationRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationAcceptedResponse'
          description: Created
          links:
            prerequisite:
              description: >-
                Onboarding prerequisite: the rail readiness reported by
                getReadiness must be READY before a submit is accepted.
              operationId: getReadiness
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Error
      security:
        - BearerAuth: []
components:
  schemas:
    CreateIBSRepasseOperationRequest:
      additionalProperties: false
      properties:
        amount:
          description: >-
            Repasse amount as a decimal string in BRL, minor-unit precision (two
            decimal places).
          examples:
            - '1500.25'
          pattern: ^[0-9]+(\.[0-9]+)?$
          type: string
        clientReference:
          description: >-
            Optional caller-supplied correlation reference echoed back for
            client-side reconciliation.
          examples:
            - ibs-ref-1
          type: string
        description:
          description: Optional free-text description carried with the operation.
          examples:
            - Repasse IBS comite gestor
          type: string
        dtHrInfSeggc:
          description: >-
            Settlement-info timestamp in BACEN STR0053 ISO dateTime form (e.g.
            2026-06-09T12:00:00) WITHOUT a timezone offset; the use case
            validates the BACEN format.
          examples:
            - '2026-06-09T12:00:00'
          type: string
        dtRepFinanc:
          description: >-
            Financial repasse date in BACEN STR0053 ISO date form (e.g.
            2026-06-09).
          examples:
            - '2026-06-09'
          type: string
        identdInfSeggc:
          description: Comitê-gestor settlement-info identifier (required, 1-50 chars).
          examples:
            - SEGGC-INFO-0001
          maxLength: 50
          type: string
        metadata:
          additionalProperties: {}
          description: >-
            Opaque client-side metadata forwarded verbatim to the legacy submit
            DTO. NOT persisted on the operation intent or sanitized payload.
          type: object
        qtdTransc:
          description: Optional transaction count (digits only).
          examples:
            - '10'
          type: string
        recipient:
          $ref: '#/components/schemas/OperationParticipantAccount'
          description: >-
            Crediting participant account (comitê gestor) receiving the IBS
            repasse.
        sender:
          $ref: '#/components/schemas/OperationParticipantAccount'
          description: Debiting participant account originating the IBS repasse.
      required:
        - sender
        - recipient
        - amount
        - identdInfSeggc
        - dtHrInfSeggc
        - dtRepFinanc
      type: object
    OperationAcceptedResponse:
      additionalProperties: false
      properties:
        acceptedAt:
          description: UTC RFC 3339 timestamp at which the command was accepted.
          examples:
            - '2026-05-06T18:30:00Z'
          format: date-time
          type: string
        capabilityId:
          description: >-
            STR capability identifier resolved for the accepted operation (e.g.
            STR0004).
          examples:
            - STR0004
          type: string
        correlationId:
          description: >-
            Request correlation identifier for tracing the accept across logs
            and traces.
          examples:
            - req-7c8b3a2e-9f1d-4a55-9b8e-1e1234567890
          type: string
        isReplay:
          description: >-
            True when this response replays a prior idempotent accept rather
            than creating a new operation.
          examples:
            - false
          type: boolean
        operationFamily:
          description: >-
            Operation family the accepted command belongs to (e.g.
            bankTransfer).
          examples:
            - bankTransfer
          type: string
        operationId:
          description: >-
            Server-assigned operation aggregate UUID used for subsequent status,
            return, and cancellation calls.
          examples:
            - 7c8b3a2e-9f1d-4a55-9b8e-1e1234567890
          format: uuid
          type: string
        protocolMetadata:
          $ref: '#/components/schemas/OperationProtocolMetadata'
          description: >-
            Optional SAFE protocol correlation fields; present once the
            operation is mapped to STR wire identifiers.
        status:
          description: >-
            Current control-plane lifecycle status of the operation; ACCEPTED on
            initial accept.
          examples:
            - ACCEPTED
          type: string
      required:
        - operationId
        - operationFamily
        - capabilityId
        - status
        - acceptedAt
        - isReplay
        - correlationId
      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
    OperationParticipantAccount:
      additionalProperties: false
      properties:
        account:
          description: Optional traditional bank account number.
          examples:
            - '123456'
          type: string
        accountType:
          description: >-
            Optional account type: CC (checking/conta corrente) or PP (payment
            account/conta de pagamento).
          examples:
            - CC
          type: string
        branch:
          description: Optional bank branch (agência) number.
          examples:
            - '0001'
          type: string
        document:
          description: Optional holder document number (CPF or CNPJ, digits only).
          examples:
            - '12345678901'
          type: string
        ispb:
          description: Participant ISPB, the 8-digit BACEN institution identifier.
          examples:
            - '12345678'
          maxLength: 8
          minLength: 8
          pattern: ^[0-9]{8}$
          type: string
        name:
          description: Optional account holder name.
          examples:
            - João da Silva
          type: string
        party:
          description: >-
            Domain role of this participant: institution (own-account, no client
            identity), client (account-holding client), or nonAccountHolder
            (identified person with no account at the IFs). The transfer's STR
            code is derived from the sender+recipient roles; defaults to
            institution.
          examples:
            - institution
          type: string
        paymentAccount:
          description: Optional payment account identifier (conta de pagamento).
          examples:
            - '00000000123456'
          type: string
      required:
        - ispb
      type: object
    OperationProtocolMetadata:
      additionalProperties: false
      properties:
        controlNumber:
          description: >-
            STR control number, 14 digits identifying the message on the SPB
            network.
          examples:
            - '20260506000001'
          maxLength: 14
          minLength: 14
          type: string
        nuOp:
          description: >-
            STR operation number (NUOp), 23 digits: 8-digit ISPB + 8-digit date
            + 7-digit sequence.
          examples:
            - '12345678202605060000001'
          maxLength: 23
          minLength: 23
          pattern: ^[0-9]{8}[0-9]{8}[0-9]{7}$
          type: string
      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

````