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

# Respond to an inbound portability leilão solicitação

> Submits one proposal through inclusao-garantias (Manual 011 v1.6 §3.2) in response to a portability auction request obtained through the client's integration. The catalog defines consignado.portability_proposal.received for this workflow, but develop has no production producer for that fact yet. Unlike the M001 bid operation, this endpoint accepts one proposal per call: a request that permits a second proposal, with or without FGTS collateral, requires two separate calls rather than an array.

dataHoraValidadeSolicitacao is the same field that the cataloged initiating fact is designed to carry. It is response-side data from Manual 011 §3.1.3 and is not sent to Dataprev in this request. The client echoes it so the gateway can reject a response to an expired record before calling the rail. Expiration is evaluated per record without consulting a calendar.

Manual 011 uses two spellings for this operation's path: §2.2 omits an accent, while §3.2.3.1 includes one. Because M011 publishes no Swagger path to resolve the discrepancy, the configured path spelling must be validated during homologation. The request and response otherwise follow Manual 011 §3.2.1 and §3.2.2.

X-Idempotency is the mandatory transport replay key. A retry with the same key returns the stored response instead of resubmitting to the rail, as on the averbação and CCB attachment routes. This endpoint does not yet have durable PostgreSQL-backed replay storage, so the guarantee does not survive a Redis eviction or service restart.



## OpenAPI

````yaml en/openapi/v3-current/consignado.yaml post /v1/consignado/leilao/portabilidade/solicitacoes/{id_solicitacao_proposta}/propostas
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, disbursement confirmation, portability,
    refinancing, renegotiation, FGTS guarantees, reconciliation, funds,
    assignments, usage, throughput, and event subscriptions. Secret material is
    written to the tenant secret store and is never returned by any operation.
  license:
    name: Lerian Studio General License
  title: Lerian Consignado API
  version: v1.0.0
servers:
  - url: https://consignado.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: >-
      Tenant-scoped consignado gateway usage: priced billable-unit aggregation
      per competência
    name: Consignado Usage
  - 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. Each shares its command implementation with
      the equivalent lender event trigger.
    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
paths:
  /v1/consignado/leilao/portabilidade/solicitacoes/{id_solicitacao_proposta}/propostas:
    post:
      tags:
        - Consignado Rail Commands
      summary: Respond to an inbound portability leilão solicitação
      description: >-
        Submits one proposal through inclusao-garantias (Manual 011 v1.6 §3.2)
        in response to a portability auction request obtained through the
        client's integration. The catalog defines
        consignado.portability_proposal.received for this workflow, but develop
        has no production producer for that fact yet. Unlike the M001 bid
        operation, this endpoint accepts one proposal per call: a request that
        permits a second proposal, with or without FGTS collateral, requires two
        separate calls rather than an array.


        dataHoraValidadeSolicitacao is the same field that the cataloged
        initiating fact is designed to carry. It is response-side data from
        Manual 011 §3.1.3 and is not sent to Dataprev in this request. The
        client echoes it so the gateway can reject a response to an expired
        record before calling the rail. Expiration is evaluated per record
        without consulting a calendar.


        Manual 011 uses two spellings for this operation's path: §2.2 omits an
        accent, while §3.2.3.1 includes one. Because M011 publishes no Swagger
        path to resolve the discrepancy, the configured path spelling must be
        validated during homologation. The request and response otherwise follow
        Manual 011 §3.2.1 and §3.2.2.


        X-Idempotency is the mandatory transport replay key. A retry with the
        same key returns the stored response instead of resubmitting to the
        rail, as on the averbação and CCB attachment routes. This endpoint does
        not yet have durable PostgreSQL-backed replay storage, so the guarantee
        does not survive a Redis eviction or service restart.
      operationId: respondConsignadoPortabilityAuction
      parameters:
        - description: >-
            Portability solicitação identity, echoed from the initiating fact. A
            digit string — Manual 011 v1.6 §3.2.1 publishes 32 algarismos, which
            overflows an int64.
          in: path
          name: id_solicitacao_proposta
          required: true
          schema:
            description: >-
              Portability solicitação identity, echoed from the initiating fact.
              A digit string — Manual 011 v1.6 §3.2.1 publishes 32 algarismos,
              which overflows an int64.
            examples:
              - '221'
            maxLength: 32
            minLength: 1
            pattern: ^[0-9]{1,32}$
            type: string
        - description: Required transport replay key, scoped by authenticated tenant.
          in: header
          name: X-Idempotency
          required: true
          schema:
            description: Required transport replay key, scoped by authenticated tenant.
            examples:
              - idem-portability-2026-08-10-0001
            maxLength: 128
            minLength: 1
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PortabilityAuctionResponseRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PortabilityAuctionResponseResponse'
          description: OK
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Error
      security:
        - BearerAuth: []
components:
  schemas:
    PortabilityAuctionResponseRequest:
      additionalProperties: false
      properties:
        contatos:
          description: Client contacts.
          items:
            $ref: '#/components/schemas/PortabilityAuctionContactRequest'
          maxItems: 4
          type:
            - array
            - 'null'
        dataHoraValidadeProposta:
          description: >-
            This proposal's own validity instant — a SEPARATE validity from
            dataHoraValidadeSolicitacao above, informed by the client (Manual
            011 v1.6 §3.2.1).
          examples:
            - '2030-01-01T10:00:00Z'
          format: date-time
          type: string
        dataHoraValidadeSolicitacao:
          description: >-
            The portability solicitação's own validity instant from Manual 011
            v1.6 §3.1.3. The cataloged consignado.portability_proposal.received
            fact is designed to carry this value, but that fact has no
            production producer on develop yet. The value is authoritative per
            record and is judged against the gateway's clock before the rail is
            called.
          examples:
            - '2025-10-30T23:45:29Z'
          format: date-time
          type: string
        numeroParcelas:
          description: Number of instalments.
          examples:
            - 12
          format: int64
          maximum: 999
          minimum: 1
          type: integer
        numeroProposta:
          description: Proposal identifier this gateway mints.
          examples:
            - 7K9M2P4R6T8V3W5X2Y4Z
          maxLength: 20
          minLength: 1
          type: string
        percVerbaRescisoriaGarantia:
          description: Optional severance-pay percentage pledged as collateral.
          examples:
            - '15.00'
          maxLength: 6
          pattern: ^[0-9]+(\.[0-9]{1,2})?$
          type: string
        temGarantias:
          description: Whether this proposal pledges FGTS collateral.
          examples:
            - false
          type: boolean
        valorCETAnual:
          description: Annual total effective cost in percent.
          examples:
            - '11.00'
          maxLength: 10
          pattern: ^[0-9]+(\.[0-9]{1,2})?$
          type: string
        valorCETMensal:
          description: Monthly total effective cost in percent.
          examples:
            - '0.90'
          maxLength: 10
          pattern: ^[0-9]+(\.[0-9]{1,2})?$
          type: string
        valorEmprestimo:
          description: Principal plus financed costs as an exact decimal string.
          examples:
            - '2160.00'
          maxLength: 13
          pattern: ^[0-9]+(\.[0-9]{1,2})?$
          type: string
        valorMultaRescisoriaGarantiaFgts:
          description: Optional rescission-penalty amount pledged as collateral.
          examples:
            - '300.00'
          maxLength: 13
          pattern: ^[0-9]+(\.[0-9]{1,2})?$
          type: string
        valorParcela:
          description: Instalment amount as an exact decimal string.
          examples:
            - '180.00'
          maxLength: 13
          pattern: ^[0-9]+(\.[0-9]{1,2})?$
          type: string
        valorSaldoDisponivelGarantiaFgts:
          description: Optional consignable FGTS balance pledged as collateral.
          examples:
            - '600.00'
          maxLength: 13
          pattern: ^[0-9]+(\.[0-9]{1,2})?$
          type: string
        valorTaxaAnual:
          description: Annual interest rate in percent.
          examples:
            - '10.00'
          maxLength: 10
          pattern: ^[0-9]+(\.[0-9]{1,2})?$
          type: string
        valorTaxaMensal:
          description: Monthly interest rate in percent.
          examples:
            - '0.80'
          maxLength: 10
          pattern: ^[0-9]+(\.[0-9]{1,2})?$
          type: string
      required:
        - dataHoraValidadeSolicitacao
        - numeroProposta
        - dataHoraValidadeProposta
        - numeroParcelas
        - valorEmprestimo
        - valorParcela
        - valorTaxaAnual
        - valorTaxaMensal
        - valorCETAnual
        - valorCETMensal
        - temGarantias
      type: object
    PortabilityAuctionResponseResponse:
      additionalProperties: false
      properties:
        accepted:
          description: True only when the rail's codigo equalled the observed success code.
          examples:
            - true
          type: boolean
        codigo:
          description: >-
            Bounded rail outcome code, relayed verbatim. Free-form provider text
            is never returned.
          examples:
            - BD
          maxLength: 32
          pattern: ^[A-Za-z0-9_-]*$
          type: string
        dataHoraValidadeProposta:
          description: Proposal validity echoed by Dataprev.
          examples:
            - '2030-01-01T10:00:00Z'
          format: date-time
          type: string
        hashOperacao:
          description: Opaque rail audit identifier, when published.
          examples:
            - '34027710'
          type: string
        idSolicitacaoProposta:
          description: The solicitação identity addressed by this response.
          examples:
            - '221'
          type: string
        numeroProposta:
          description: Proposal identifier echoed by Dataprev.
          examples:
            - 7K9M2P4R6T8V3W5X2Y4Z
          type: string
        submittedAt:
          description: UTC instant the gateway submitted this proposal.
          examples:
            - '2025-10-28T00:00:00Z'
          format: date-time
          type: string
      required:
        - idSolicitacaoProposta
        - submittedAt
        - accepted
        - codigo
        - numeroProposta
        - dataHoraValidadeProposta
      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
        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
    PortabilityAuctionContactRequest:
      additionalProperties: false
      properties:
        contato:
          description: Client-supplied contact value.
          examples:
            - bidder@example.com
          maxLength: 4000
          minLength: 1
          type: string
        tipo:
          description: 'Client contact type: 0 URL, 1 WhatsApp, 2 phone, 3 email, 4 other.'
          examples:
            - 3
          format: int64
          maximum: 4
          minimum: 0
          type: integer
      required:
        - tipo
        - contato
      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

````