> ## 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 the credits this tenant bid on and where each bid stands

> Walks the tenant's bid book, newest claim first: which credits this bancarizador claimed in the leilão, what the rail did with each bid, and whether a fund's cessão was ever registered against it.

'situation' is the row's own durable state, carried verbatim from the money path and never re-derived here. Five values: 'claimed' is the replay claim written before either proposal reached the rail; 'accepted' and 'refused' are the rail's answer; 'unknown' is an outcome that never arrived; and 'retry_in_flight' is a reconduction under way. Repeat 'situacao' to narrow the page to several at once (situacao=unknown&situacao=retry_in_flight). Omitting it means ALL FIVE, never none. A value outside the vocabulary is refused with 422 rather than matching nothing, because a page that matched nothing is indistinguishable from a tenant that never bid.

'payload_retained' is what separates a reconducible unknown from one with no way back. It is DERIVED on every read from whether the request payload is still stored, and the payload itself never leaves the database. An unresolved submission with the payload gone can no longer be replayed.

'retry_lease_expires_at' always carries an instant, including on a settled row where it is simply the last lease that was taken. An instant already in the PAST on a retry_in_flight row is a reconducible submission, and this read reports the book exactly as it stands: it never anticipates the reconduction the recovery sweep will perform.

'cedido', 'cedido_at' and 'fundo_ref' travel as one trio, read from the contract's one cessão record whichever producer registered it (the bancarizador's command or the lender's own cessão), and half a cessão is not a state this ledger can hold. 'cedido' is actual OWNERSHIP and not mere attribution: 'fundo_ref' may name a fund on a credit nothing has ceded yet.

Filter with 'cedido=true' for the ceded half or 'cedido=false' for the credits no cessão was ever registered against. OMITTING the parameter is the whole book, and that is the default on purpose: an accepted credit nobody registered a cessão for is precisely the row this screen exists to surface, so it is never filtered out unasked.

'id_solicitacao' is null on a LOCAL REFUSAL recorded before the rail was ever reached, which is a real row of this book and not a missing value.

Four columns of the stored row never leave: the two proposal and response payloads, the refusal reason and the actor subject. The first three carry money terms and matrícula, and the last is a subject identity. The payload digest, the retry fence and the purge clocks stay behind with them, as the money path's own fence evidence.

Paging is keyset over the claim instant and the credit's business key, both frozen for the life of the row, which is what makes the position safe against a book the money path is still writing. Send the previous page's page.next_after as after. has_more is true exactly when another page exists, and next_after is null exactly when it is false, so a client loop may terminate on either. The cursor never expires; a cursor this service did not mint is refused with 422 rather than silently restarting the walk from the top.

It answers from a LOCAL table and never reaches the Dataprev rail, so it cannot answer 501 and it is served on a deployment with the rail off entirely. That deployment simply has an empty book. The tenant is derived from the validated identity and is never read from the request.

Partner route: the text above describes the party's own route. Here the register id in the path names the party: it must be in the partner credential's scope and registered under the caller's tenant, and the call runs as that party, exactly as the party's own credential would.



## OpenAPI

````yaml /en/openapi/v3-current/consignado.yaml get /v1/consignado/originadores/{originador_id}/bid-submissions
openapi: 3.1.0
info:
  contact:
    email: contact@lerian.studio
    name: Lerian Studio
    url: https://lerian.studio
  description: >-
    OpenAPI 3.1 surface for Lerian Consignado — Dataprev. The API covers tenant
    credentials and rail configuration, worker margin, loan auctions and bids,
    contract registration and lifecycle, B3 instrument codes, disbursement
    confirmation, portability, refinancing, renegotiation, FGTS guarantees,
    reconciliation, funds, assignments, throughput, and event subscriptions.
  license:
    name: Lerian Studio General License
  title: Lerian Consignado API
  version: v1.0.0
servers:
  - url: https://br-consignado-gw.sandbox.lerian.net
security:
  - BearerAuth: []
tags:
  - description: >-
      Per-tenant Dataprev credential custody and public rail configuration
      (upload, status, rotation, revoke, requester code, and worker portal base
      URL)
    name: Credentials
  - description: >-
      Per-tenant streaming-hub subscription control-plane (list, create, get,
      rotate, revoke, and test delivery)
    name: Subscriptions
  - description: >-
      Dataprev payroll-rail surface: FGTS balance and authorization reads, the
      FGTS guarantee execution, contract suspension, reactivation and term
      changes, the rail's own contract documents, and the on-demand reads of
      leilão solicitações, escriturações, repasses and employment terminations
    name: Consignado Rail
  - description: >-
      Synchronous rail command surface: the operations a bancarizador without
      the lender drives over HTTP.
    name: Consignado Rail Commands
  - description: >-
      Gateway-owned disbursement confirmation: a client bank recording money it
      has ALREADY paid to a worker. It crosses no government boundary and
      proxies no Dataprev operation.
    name: Consignado Disbursement
  - description: >-
      Per-tenant self-service outbound Dataprev rail throughput: read and set
      this tenant's own requests-per-second, including a deliberate pause at
      zero
    name: Consignado Throughput
  - description: >-
      The B3 instrument code (Código IF) of an averbado contract: informed once
      by the bancarizador after B3 registers the CCB, and read back
    name: Consignado Registro B3
paths:
  /v1/consignado/originadores/{originador_id}/bid-submissions:
    get:
      tags:
        - Consignado Bid Submissions
      summary: List the credits this tenant bid on and where each bid stands
      description: >-
        Walks the tenant's bid book, newest claim first: which credits this
        bancarizador claimed in the leilão, what the rail did with each bid, and
        whether a fund's cessão was ever registered against it.


        'situation' is the row's own durable state, carried verbatim from the
        money path and never re-derived here. Five values: 'claimed' is the
        replay claim written before either proposal reached the rail; 'accepted'
        and 'refused' are the rail's answer; 'unknown' is an outcome that never
        arrived; and 'retry_in_flight' is a reconduction under way. Repeat
        'situacao' to narrow the page to several at once
        (situacao=unknown&situacao=retry_in_flight). Omitting it means ALL FIVE,
        never none. A value outside the vocabulary is refused with 422 rather
        than matching nothing, because a page that matched nothing is
        indistinguishable from a tenant that never bid.


        'payload_retained' is what separates a reconducible unknown from one
        with no way back. It is DERIVED on every read from whether the request
        payload is still stored, and the payload itself never leaves the
        database. An unresolved submission with the payload gone can no longer
        be replayed.


        'retry_lease_expires_at' always carries an instant, including on a
        settled row where it is simply the last lease that was taken. An instant
        already in the PAST on a retry_in_flight row is a reconducible
        submission, and this read reports the book exactly as it stands: it
        never anticipates the reconduction the recovery sweep will perform.


        'cedido', 'cedido_at' and 'fundo_ref' travel as one trio, read from the
        contract's one cessão record whichever producer registered it (the
        bancarizador's command or the lender's own cessão), and half a cessão is
        not a state this ledger can hold. 'cedido' is actual OWNERSHIP and not
        mere attribution: 'fundo_ref' may name a fund on a credit nothing has
        ceded yet.


        Filter with 'cedido=true' for the ceded half or 'cedido=false' for the
        credits no cessão was ever registered against. OMITTING the parameter is
        the whole book, and that is the default on purpose: an accepted credit
        nobody registered a cessão for is precisely the row this screen exists
        to surface, so it is never filtered out unasked.


        'id_solicitacao' is null on a LOCAL REFUSAL recorded before the rail was
        ever reached, which is a real row of this book and not a missing value.


        Four columns of the stored row never leave: the two proposal and
        response payloads, the refusal reason and the actor subject. The first
        three carry money terms and matrícula, and the last is a subject
        identity. The payload digest, the retry fence and the purge clocks stay
        behind with them, as the money path's own fence evidence.


        Paging is keyset over the claim instant and the credit's business key,
        both frozen for the life of the row, which is what makes the position
        safe against a book the money path is still writing. Send the previous
        page's page.next_after as after. has_more is true exactly when another
        page exists, and next_after is null exactly when it is false, so a
        client loop may terminate on either. The cursor never expires; a cursor
        this service did not mint is refused with 422 rather than silently
        restarting the walk from the top.


        It answers from a LOCAL table and never reaches the Dataprev rail, so it
        cannot answer 501 and it is served on a deployment with the rail off
        entirely. That deployment simply has an empty book. The tenant is
        derived from the validated identity and is never read from the request.


        Partner route: the text above describes the party's own route. Here the
        register id in the path names the party: it must be in the partner
        credential's scope and registered under the caller's tenant, and the
        call runs as that party, exactly as the party's own credential would.
      operationId: listConsignadoBidSubmissionsAsOriginador
      parameters:
        - description: >-
            The originador's register id, as returned in the id field of GET
            /v1/consignado/originadores. It must be in the partner credential's
            scope.
          in: path
          name: originador_id
          required: true
          schema:
            description: >-
              The originador's register id, as returned in the id field of GET
              /v1/consignado/originadores. It must be in the partner
              credential's scope.
            examples:
              - 6f1c2a3b-4d5e-4f60-8a7b-9c0d1e2f3a4b
            format: uuid
            type: string
        - description: >-
            Narrows the page to the named situations. Repeat the parameter for
            several. Omitted means all five.
          explode: true
          in: query
          name: situacao
          schema:
            description: >-
              Narrows the page to the named situations. Repeat the parameter for
              several. Omitted means all five.
            examples:
              - - claimed
            items:
              enum:
                - claimed
                - accepted
                - refused
                - unknown
                - retry_in_flight
              type: string
            type: array
        - description: >-
            Narrows the page to credits with a cessão registered (true) or to
            the ones without one (false). Omitted means the whole book, which is
            never the same as either half.
          explode: false
          in: query
          name: cedido
          schema:
            description: >-
              Narrows the page to credits with a cessão registered (true) or to
              the ones without one (false). Omitted means the whole book, which
              is never the same as either half.
            enum:
              - 'true'
              - 'false'
            examples:
              - 'true'
            type: string
        - description: >-
            The previous page's page.next_after. Omitted starts at the newest
            claim. A cursor this service did not mint is refused, never
            restarted from the top.
          explode: false
          in: query
          name: after
          schema:
            description: >-
              The previous page's page.next_after. Omitted starts at the newest
              claim. A cursor this service did not mint is refused, never
              restarted from the top.
            examples:
              - >-
                eyJ2IjoxLCJyIjoiYm9hcmQiLCJ0IjoiMjAyNi0wOC0xNFQwOToxMjozM1oiLCJrIjpbImMwMDEyIl19
            type: string
        - description: >-
            Maximum number of submissions to return. Omitted means the ceiling
            of 200.
          explode: false
          in: query
          name: limit
          schema:
            description: >-
              Maximum number of submissions to return. Omitted means the ceiling
              of 200.
            examples:
              - 50
            format: int64
            maximum: 200
            minimum: 1
            type: integer
        - description: >-
            Narrows the page to the bids ONE originador placed, matched byte for
            byte. A bancarizador may name any originador of its register; an
            originador authenticating with its own credential does not need to
            send it, and if it does it must be its own. Omitted is the whole
            book for a bancarizador, and the caller's own bids for an
            originador.
          explode: false
          in: query
          name: originadorRef
          schema:
            description: >-
              Narrows the page to the bids ONE originador placed, matched byte
              for byte. A bancarizador may name any originador of its register;
              an originador authenticating with its own credential does not need
              to send it, and if it does it must be its own. Omitted is the
              whole book for a bancarizador, and the caller's own bids for an
              originador.
            examples:
              - originador-a
            maxLength: 128
            minLength: 1
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BidSubmissionsPage'
          description: OK
        '401':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: >-
            The request carries no validated identity, or none that names a
            tenant.
        '403':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: >-
            The identity is valid but does not hold
            consignado-operations/bid-submissions:read, is neither a
            bancarizador nor an originador, or is an originador whose
            originadorRef names a partner other than itself.
        '422':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: >-
            A caller-correctable refusal, always carrying one of two codes.
            BID_SUBMISSIONS_INVALID_CURSOR means the cursor was not minted by
            this service; restart the walk from the first page rather than
            editing a cursor. BID_SUBMISSIONS_UNKNOWN_SITUATION means the
            situation filter is outside the five this book records; it is
            refused rather than answered with an empty page, because a page that
            matches nothing is indistinguishable from a tenant that submitted no
            bids.
        '429':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: The tenant's own request pace for this read was exceeded.
        '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:
    BidSubmissionsPage:
      additionalProperties: false
      properties:
        items:
          items:
            $ref: '#/components/schemas/BidSubmissionItem'
          type: array
        page:
          $ref: '#/components/schemas/KeysetPageMetadata'
      required:
        - items
        - page
      type: object
    Detail:
      additionalProperties: true
      properties:
        code:
          description: >-
            Stable, machine-readable product error code. One of the enumerated
            values: the CLT-NNNN catalog codes for the general refusal classes;
            the named command conflicts, which a client branches on to tell one
            conflict from another; the four terminal refusals
            IDEMPOTENCY_STATE_UNRECOGNISED, IDEMPOTENCY_RECORD_UNREADABLE,
            IDEMPOTENCY_OUTCOME_UNRECORDED and IDEMPOTENCY_REPLAY_UNAVAILABLE
            (422), which tell the client to reconcile the original request and
            never retry under a new key; IDEMPOTENCY_KEY_REUSE (422): the key is
            spent on a different request, so send a new key; the codes a single
            surface answers, named after it (FUNDO_*, CESSAO_*, REGISTRO_B3_*,
            ...); and the 5xx codes naming an upstream (DATAPREV_*,
            STREAMING_HUB_*, TENANT_MANAGER_*, the Access Manager's AUT-0033 and
            AUT-1021) or an unknown outcome, whose detail is client-readable.
          enum:
            - AUT-0033
            - AUT-1021
            - AVERBACAO_ARTIFACT_CONFLICT
            - AVERBACAO_CLAIM_CONFLICT
            - AVERBACAO_DOCUMENTATION_CONFLICT
            - AVERBACAO_EXCLUDED
            - AVERBACAO_HELD_BY_ANOTHER_SENDER
            - AVERBACAO_NOT_ACCEPTED
            - AVERBACAO_OPERATIONS_INTERNAL
            - AVERBACAO_OPERATIONS_INVALID_CURSOR
            - AVERBACAO_OPERATIONS_INVALID_QUERY
            - AVERBACAO_OPERATIONS_UNKNOWN_STATUS
            - AVERBACAO_OPERATION_NOT_FOUND
            - BID_NO_PROPOSTA_LEFT
            - BID_ORIGINADOR_INACTIVE
            - BID_ORIGINADOR_UNKNOWN
            - BID_PROPOSAL_SLOT_TAKEN
            - BID_SOLICITACAO_TAKEN
            - BID_SOLICITACAO_UNKNOWN
            - BID_SUBMISSIONS_INTERNAL
            - BID_SUBMISSIONS_INVALID_CURSOR
            - BID_SUBMISSIONS_UNKNOWN_SITUATION
            - BOOKING_FIELD_INVALID
            - CEDED_CREDIT_INTERNAL
            - CEDED_CREDIT_NO_FUND_ENTITLEMENT
            - CEDED_CREDIT_UNAVAILABLE
            - CESSAO_CEDED_TO_OTHER_FUND
            - CESSAO_CREDIT_NOT_ACCEPTED
            - CESSAO_CREDIT_NOT_FOUND
            - CESSAO_CREDIT_NOT_WITNESSED
            - CESSAO_CREDIT_PENDING
            - CESSAO_FUNDO_NOT_ATTRIBUTED
            - CESSAO_INTERNAL
            - CESSAO_INVALID_INPUT
            - CESSAO_UNAVAILABLE
            - CESSAO_UNWIRED
            - CLT-0001
            - CLT-0002
            - CLT-0003
            - CLT-0004
            - CLT-0005
            - CLT-0006
            - CLT-0007
            - CLT-0008
            - CLT-0009
            - CLT-0010
            - CLT-0011
            - CONTRACT_ALREADY_REGISTERED
            - CONTRACT_NOT_BOOKABLE
            - CURSOR_EXPIRED
            - CURSOR_FENCE_MISMATCH
            - DATAPREV_CREDENTIAL_REJECTED
            - DATAPREV_CREDENTIAL_REQUIRED
            - DATAPREV_CREDENTIAL_REVOKED
            - DATAPREV_INVALID_RESPONSE
            - DATAPREV_TIMEOUT
            - DATAPREV_UNAVAILABLE
            - DECLARED_DATES_OUT_OF_ORDER
            - DECLARED_TERMS_INCONSISTENT
            - DISBURSEMENT_CONFIRMATIONS_INTERNAL
            - DISBURSEMENT_CONFIRMATIONS_INVALID_CURSOR
            - DISBURSEMENT_PAYMENT_CONFLICT
            - EVENT_DELIVERY_INTERNAL
            - EXCLUSION_AUTHORITY_CONFLICT
            - EXCLUSION_BOOKING_IDENTITY_INCOMPLETE
            - EXCLUSION_DOCUMENTATION_UNDERWAY
            - EXCLUSION_OPERATIONS_INTERNAL
            - EXCLUSION_OPERATIONS_INVALID_CURSOR
            - EXCLUSION_OPERATIONS_INVALID_QUERY
            - EXCLUSION_OPERATIONS_UNKNOWN_STATUS
            - EXCLUSION_OPERATION_NOT_FOUND
            - FGTS_EXECUTION_ALREADY_REFUSED
            - FGTS_EXECUTION_CONTRACT_TAKEN
            - FGTS_EXECUTION_OUTCOME_UNRESOLVED
            - FGTS_EXECUTION_PAYLOAD_MISMATCH
            - FIRST_DEDUCTION_BEFORE_COMPETENCIA
            - FORMALIZATION_DEADLINE_EXCEEDED
            - FUNDO_CNPJ_CONFLICT
            - FUNDO_DEACTIVATED
            - FUNDO_INTERNAL
            - FUNDO_INVALID_ID
            - FUNDO_INVALID_INPUT
            - FUNDO_NOT_FOUND
            - FUNDO_NOT_REGISTERED
            - FUNDO_REF_CONFLICT
            - FUNDO_UNAVAILABLE
            - IDEMPOTENCY_KEY_REUSE
            - IDEMPOTENCY_OUTCOME_UNRECORDED
            - IDEMPOTENCY_RECORD_UNREADABLE
            - IDEMPOTENCY_REPLAY_UNAVAILABLE
            - IDEMPOTENCY_STATE_UNRECOGNISED
            - INVALID_CONTRACT_NUMBER
            - INVALID_CURSOR
            - INVALID_EVENTS_INVALID_CURSOR
            - INVALID_EVENT_NOT_FOUND
            - INVALID_EVENT_NOT_REQUEUEABLE
            - INVALID_PAGE_LIMIT
            - INVENTORY_UNAVAILABLE
            - MARGIN_SNAPSHOT_INCONSISTENT
            - ORIGINADOR_INTERNAL
            - ORIGINADOR_INVALID_ID
            - ORIGINADOR_INVALID_INPUT
            - ORIGINADOR_NOT_FOUND
            - ORIGINADOR_REF_CONFLICT
            - ORIGINADOR_UNAVAILABLE
            - OUTCOME_UNKNOWN
            - PORTABILIDADE_WINDOW_EXPIRED
            - RAIL_COMMANDS_INTERNAL
            - RAIL_COMMANDS_INVALID_CURSOR
            - RAIL_COMMANDS_TENANT_REQUIRED
            - RAIL_COMMANDS_UNKNOWN_FILTER
            - RAIL_COMMAND_ALREADY_REFUSED
            - RAIL_COMMAND_ANSWER_NOT_RETAINED
            - RAIL_COMMAND_CLAIM_CONFLICT
            - RAIL_COMMAND_OUTCOME_UNRESOLVED
            - RAIL_COMMAND_PAYLOAD_MISMATCH
            - RATE_OUTSIDE_PRODUCT_RANGE
            - REGISTRATION_NOT_FOUND
            - REGISTRO_B3_AVERBACAO_NAO_CONFIRMADA
            - REGISTRO_B3_CONTRATO_NAO_ENCONTRADO
            - REGISTRO_B3_DATA_REGISTRO_INVALIDA
            - REGISTRO_B3_INTERNAL
            - REGISTRO_B3_JA_INFORMADO
            - REGISTRO_B3_NAO_INFORMADO
            - REGISTRO_B3_UNAVAILABLE
            - REGISTRO_B3_UNWIRED
            - REPASSE_EXPECTATIONS_INTERNAL
            - REPASSE_EXPECTATIONS_INVALID_CURSOR
            - REPASSE_EXPECTATIONS_UNKNOWN_SITUATION
            - REVERSAO_WINDOW_EXPIRED
            - SALDO_DEVEDOR_INTERNAL
            - SALDO_DEVEDOR_INVALID_CURSOR
            - SALDO_DEVEDOR_NOT_FOUND
            - SALDO_DEVEDOR_TENANT_REQUIRED
            - SALDO_DEVEDOR_UNAVAILABLE
            - STREAMING_HUB_TIMEOUT
            - STREAMING_HUB_UNAVAILABLE
            - TENANT_MANAGER_TIMEOUT
            - TENANT_MANAGER_UNAVAILABLE
            - THROUGHPUT_HISTORY_INTERNAL
            - THROUGHPUT_HISTORY_INVALID_CURSOR
            - THROUGHPUT_HISTORY_TENANT_REQUIRED
            - THROUGHPUT_HISTORY_UNAVAILABLE
            - THROUGH_REQUIRED
            - UNKNOWN_QUERY_PARAMETER
          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
    BidSubmissionItem:
      additionalProperties: false
      properties:
        cedido:
          description: Whether a cessão is durably registered for this credit.
          examples:
            - true
          type: boolean
        cedido_at:
          description: >-
            When the cessão was registered, in UTC. Null exactly when cedido is
            false.
          examples:
            - '2026-08-14T10:02:15Z'
          format: date-time
          type:
            - string
            - 'null'
        claimed_at:
          description: When the replay claim was written, in UTC.
          examples:
            - '2026-08-14T09:12:33Z'
          format: date-time
          type: string
        fundo_ref:
          description: >-
            The fund this credit is ceded to once cedido, otherwise the fund it
            is attributed to, byte for byte. Null when neither.
          examples:
            - FUNDO-A
          type:
            - string
            - 'null'
        id_solicitacao:
          description: >-
            The rail's pre-auction solicitação this bid answered. Null for a
            local refusal recorded before the rail was reached.
          examples:
            - '9876543210'
          type:
            - string
            - 'null'
        idempotency_key:
          description: >-
            The credit's own business key: the same idempotency_key the bid was
            submitted under.
          examples:
            - credit-2026-08-14-000123
          type: string
        originador_ref:
          description: >-
            The originador that placed this bid, byte for byte. Null when the
            bancarizador bid on its own account.
          examples:
            - originador-a
          type:
            - string
            - 'null'
        payload_retained:
          description: >-
            Whether the request payload is still retained, so an unresolved
            submission can still be replayed. The payload itself is never
            published.
          examples:
            - true
          type: boolean
        portal_base_url:
          description: >-
            Formalização portal base URL this bid resolved to: the bid's own,
            else the named originador's registered one, else the tenant's;
            absent when no link was minted, which is either a bid that travelled
            on client contacts alone or a durable refusal row. Published only to
            the bancarizador's own book: a partner reading its own bids never
            receives this member.
          examples:
            - https://partner.example.com/formalizacao
          type: string
        retry_lease_expires_at:
          description: >-
            The current retry lease horizon, in UTC. An instant already in the
            past on a retry_in_flight row means the submission is reconducible.
          examples:
            - '2026-08-14T09:13:33Z'
          format: date-time
          type: string
        settled_at:
          description: >-
            When the submission reached a terminal outcome, in UTC. Null while
            it is unsettled.
          examples:
            - '2026-08-14T09:12:41Z'
          format: date-time
          type:
            - string
            - 'null'
        situation:
          description: >-
            The durable state of this submission, carried verbatim from the
            money path.
          enum:
            - claimed
            - accepted
            - refused
            - unknown
            - retry_in_flight
          examples:
            - accepted
          type: string
      required:
        - idempotency_key
        - id_solicitacao
        - situation
        - claimed_at
        - settled_at
        - retry_lease_expires_at
        - payload_retained
        - cedido
        - cedido_at
        - fundo_ref
        - originador_ref
      type: object
    KeysetPageMetadata:
      additionalProperties: false
      properties:
        after:
          description: >-
            The cursor this page resumed from, echoed back. Null when the read
            started at the beginning.
          examples:
            - >-
              eyJ2IjoxLCJyIjoiYm9hcmQiLCJ0IjoiMjAyNi0wOC0xNFQwOToxMjozM1oiLCJrIjpbImMwMDEyIl19
          type:
            - string
            - 'null'
        has_more:
          description: Whether at least one further page exists.
          examples:
            - true
          type: boolean
        next_after:
          description: >-
            The cursor for the page after this one. Null exactly when has_more
            is false.
          examples:
            - >-
              eyJ2IjoxLCJyIjoiYm9hcmQiLCJ0IjoiMjAyNi0wOC0xNFQwOTowNzo1MVoiLCJrIjpbImMwMDM3Il19
          type:
            - string
            - 'null'
      required:
        - after
        - next_after
        - has_more
      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.