> ## 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 inbound portability requests open for the leilão

> Reads one page of the rail's portability-auction listing (Manual 011 v1.7 §3.1.2/§3.1.3): the requests from another institution's client to port an existing payroll loan IN to this bancarizador, each carrying the worker's FREE consignable margin and the rail's own eligibility verdict.

The listing window is MANDATORY and carries no default. Both bounds are required by the rail, and "page N of the solicitações" has no defined answer until the window it pages over is named. Send the SAME window for every page of one walk: a window that slides between requests can let a solicitação cross a page boundary unread.

'data_hora_validade_solicitacao' is the AUTHORITATIVE clock of each row, not of the listing. It is the instant that specific auction closes, and a proposal submitted after it is refused by the rail. The 72 hours Manual 011 §2.1 publishes is only the rule that formed the instant, so never compute a deadline from the read time.

'elegivel_emprestimo' is the rail's own eligibility flag and is ABSENT when the rail published no verdict. Absence is a legal shape on this element, so it travels as absent rather than as a fabricated false.

'margem_disponivel' is the free margin the rail reports for this request, relayed as the decimal string it sent.

'descartadas' carries the elements the rail published on this page that could not be projected onto a solicitação: a malformed identity, or a worker CPF in a shape no padding repairs. It holds no worker data, only the rail identifier and nothing else. It is published rather than dropped because an inbound auction nobody was told about must not look identical to an auction that does not exist.

A window holding no open request answers an EMPTY page and not an error: the rail reports that condition as a refusal, and for a listing "nothing is open" is the answer, not a fault.

This is a window onto the RAIL and writes nothing. It does not advance the portability discovery job's state, so it can return a solicitação the job has already relayed as an offer, and reading it never suppresses one the job still owes. Use the event feed for what the gateway itself has processed. The tenant is derived from the validated identity and is never read from the request.



## OpenAPI

````yaml /pt/openapi/v3-current/consignado.yaml get /v1/consignado/leilao/portabilidade/solicitacoes
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/leilao/portabilidade/solicitacoes:
    get:
      tags:
        - Consignado Portability Auction
      summary: List the inbound portability requests open for the leilão
      description: >-
        Reads one page of the rail's portability-auction listing (Manual 011
        v1.7 §3.1.2/§3.1.3): the requests from another institution's client to
        port an existing payroll loan IN to this bancarizador, each carrying the
        worker's FREE consignable margin and the rail's own eligibility verdict.


        The listing window is MANDATORY and carries no default. Both bounds are
        required by the rail, and "page N of the solicitações" has no defined
        answer until the window it pages over is named. Send the SAME window for
        every page of one walk: a window that slides between requests can let a
        solicitação cross a page boundary unread.


        'data_hora_validade_solicitacao' is the AUTHORITATIVE clock of each row,
        not of the listing. It is the instant that specific auction closes, and
        a proposal submitted after it is refused by the rail. The 72 hours
        Manual 011 §2.1 publishes is only the rule that formed the instant, so
        never compute a deadline from the read time.


        'elegivel_emprestimo' is the rail's own eligibility flag and is ABSENT
        when the rail published no verdict. Absence is a legal shape on this
        element, so it travels as absent rather than as a fabricated false.


        'margem_disponivel' is the free margin the rail reports for this
        request, relayed as the decimal string it sent.


        'descartadas' carries the elements the rail published on this page that
        could not be projected onto a solicitação: a malformed identity, or a
        worker CPF in a shape no padding repairs. It holds no worker data, only
        the rail identifier and nothing else. It is published rather than
        dropped because an inbound auction nobody was told about must not look
        identical to an auction that does not exist.


        A window holding no open request answers an EMPTY page and not an error:
        the rail reports that condition as a refusal, and for a listing "nothing
        is open" is the answer, not a fault.


        This is a window onto the RAIL and writes nothing. It does not advance
        the portability discovery job's state, so it can return a solicitação
        the job has already relayed as an offer, and reading it never suppresses
        one the job still owes. Use the event feed for what the gateway itself
        has processed. The tenant is derived from the validated identity and is
        never read from the request.
      operationId: listConsignadoPortabilidadeSolicitacoes
      parameters:
        - description: >-
            Listing window start, RFC 3339 (rail dataHoraInicio, Obrigatório
            Sim, Manual 011 v1.7 §3.1.2).
          explode: false
          in: query
          name: data_hora_inicio
          required: true
          schema:
            description: >-
              Listing window start, RFC 3339 (rail dataHoraInicio, Obrigatório
              Sim, Manual 011 v1.7 §3.1.2).
            examples:
              - '2026-08-17T00:00:00Z'
            format: date-time
            type: string
        - description: >-
            Listing window end, RFC 3339 (rail dataHoraFim, Obrigatório Sim). It
            must follow data_hora_inicio and lie in the PAST, since the rail
            refuses an end ahead of its own clock with code GR, so leave a
            margin of a minute or so for clock drift between the two
            organizations. The span is capped at 365 days by this gateway.
          explode: false
          in: query
          name: data_hora_fim
          required: true
          schema:
            description: >-
              Listing window end, RFC 3339 (rail dataHoraFim, Obrigatório Sim).
              It must follow data_hora_inicio and lie in the PAST, since the
              rail refuses an end ahead of its own clock with code GR, so leave
              a margin of a minute or so for clock drift between the two
              organizations. The span is capped at 365 days by this gateway.
            examples:
              - '2026-08-18T00:00:00Z'
            format: date-time
            type: string
        - description: >-
            1-based page number, relayed to the rail's nroPagina. The rail owns
            the page size (Manual 011 v1.7 publishes no page-size constant of
            its own); this surface serves exactly one page per call, and the
            caller owns the loop.
          explode: false
          in: query
          name: page
          schema:
            default: 1
            description: >-
              1-based page number, relayed to the rail's nroPagina. The rail
              owns the page size (Manual 011 v1.7 publishes no page-size
              constant of its own); this surface serves exactly one page per
              call, and the caller owns the loop.
            examples:
              - 1
            format: int64
            minimum: 1
            type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/DataprevListPortabilidadeSolicitacoesResponse
          description: OK
        '422':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: >-
            The listing window, page, or a deterministic rail refusal is invalid
            for this request.
        '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
        '501':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: >-
            The Dataprev portability-listing operation is not wired in this
            deployment.
        '503':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: The Dataprev rail is temporarily unavailable.
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Error
      security:
        - BearerAuth: []
components:
  schemas:
    DataprevListPortabilidadeSolicitacoesResponse:
      additionalProperties: false
      properties:
        descartadas:
          items:
            $ref: '#/components/schemas/DataprevPortabilidadeSolicitacaoDescartada'
          type:
            - array
            - 'null'
        has_more:
          type: boolean
        page:
          format: int64
          type: integer
        size:
          format: int64
          type: integer
        solicitacoes:
          items:
            $ref: '#/components/schemas/DataprevPortabilidadeSolicitacao'
          type: array
      required:
        - solicitacoes
        - page
        - size
        - has_more
      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_*, 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; and the Access
            Manager's AUT-1022 (403): the partner credential holds more than one
            originador, so name it in the path.
          enum:
            - AUT-0033
            - AUT-1021
            - AUT-1022
            - 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
            - 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
            - EXCLUSION_RENEGOTIATION_UNDERWAY
            - 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
            - HELD_REPASSE_MONTH_CLOSED
            - HELD_REPASSE_MONTH_MISMATCH
            - HELD_REPASSE_NOT_FOUND
            - HELD_REPASSE_UNATTRIBUTABLE
            - 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
            - LOAN_PRODUCT_VERSION_UNKNOWN
            - MARGIN_SNAPSHOT_INCONSISTENT
            - MATRICULA_DIFFERS_FROM_PROPOSAL
            - 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_CLOSE_CONTRADICTED
            - RAIL_COMMAND_NOT_CLOSEABLE
            - 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
            - RENEGOTIATION_EXCLUSION_UNDERWAY
            - 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
            - VERSION_ADMITS_NO_PESSOA_FISICA
          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
    DataprevPortabilidadeSolicitacaoDescartada:
      additionalProperties: false
      properties:
        id_solicitacao:
          type: string
        id_solicitacao_raw:
          type: string
      required:
        - id_solicitacao_raw
      type: object
    DataprevPortabilidadeSolicitacao:
      additionalProperties: false
      properties:
        cpf:
          type: string
        data_hora_validade_solicitacao:
          format: date-time
          type: string
        elegivel_emprestimo:
          type: boolean
        id_solicitacao:
          type: string
        margem_disponivel:
          type: string
        matricula:
          type: string
        nome_trabalhador:
          type: string
        numero_inscricao_empregador:
          type: string
      required:
        - id_solicitacao
        - data_hora_validade_solicitacao
        - cpf
        - matricula
        - nome_trabalhador
        - numero_inscricao_empregador
        - margem_disponivel
      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.