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

# Responder a una solicitud entrante de subasta de portabilidad

> Envía una propuesta mediante inclusao-garantias (Manual 011 v1.6 §3.2) en respuesta a una solicitud de subasta de portabilidad obtenida a través de la integración del cliente. El catálogo define consignado.portability_proposal.received para este flujo, pero develop aún no tiene un productor operativo para ese hecho. A diferencia de la operación de oferta M001, este endpoint acepta una propuesta por llamada: una solicitud que permita una segunda propuesta, con o sin garantía de FGTS, requiere dos llamadas separadas en lugar de un array.

dataHoraValidadeSolicitacao es el mismo campo que el hecho iniciador catalogado está diseñado para transportar. Es un dato de respuesta del Manual 011 §3.1.3 y no se envía a Dataprev en esta solicitud. El cliente lo repite para que el gateway pueda rechazar una respuesta a un registro vencido antes de llamar al riel. La caducidad se evalúa por registro sin consultar un calendario.

El Manual 011 usa dos grafías para la ruta de esta operación: §2.2 omite el acento, mientras que §3.2.3.1 lo incluye. Como M011 no publica una ruta Swagger que resuelva la discrepancia, la grafía configurada debe validarse durante la homologación. Por lo demás, la solicitud y la respuesta siguen el Manual 011 §3.2.1 y §3.2.2.

X-Idempotency es la clave obligatoria de repetición del transporte. Un reintento con la misma clave devuelve la respuesta almacenada en vez de volver a enviarla al riel, como ocurre en las rutas de averbação y adjunto CCB. Este endpoint aún no dispone de almacenamiento duradero de repeticiones respaldado por PostgreSQL, por lo que la garantía no sobrevive a una expulsión de Redis ni a un reinicio del servicio.



## OpenAPI

````yaml es/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: >-
    Superficie OpenAPI 3.1 para Lerian Consignado — Dataprev. API cubre las
    credenciales y la configuración de red de tenant, el margen de los
    trabajadores, las subastas y ofertas de préstamos, el registro y el ciclo de
    vida de los contratos, la confirmación de desembolsos, la portabilidad, la
    refinanciación, la renegociación, las garantías de FGTS, la conciliación,
    los fondos, las asignaciones, el uso, el rendimiento y las suscripciones a
    eventos. El material secreto se escribe en el almacén secreto tenant y
    ninguna operación lo devuelve nunca.
  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: >-
      Custodia de credenciales de Dataprev y configuración pública del rail por
      tenant (carga, estado, rotación, revocación, código del solicitante y URL
      base del portal del trabajador)
    name: Credentials
  - description: >-
      Uso de la gateway del consignado en el ámbito del tenant: agregación de
      unidades facturables con precio por competencia
    name: Consignado Usage
  - description: >-
      Plano de control de suscripción al hub de streaming per-tenant (enumerar,
      crear, obtener, rotar, revocar y probar la entrega)
    name: Subscriptions
  - description: >-
      Superficie de rail de nómina Dataprev: lecturas de saldo y autorización
      FGTS, ejecución de garantía FGTS, suspensión de contrato, reactivación y
      cambios de términos, documentos de contrato propios de la red y lecturas
      bajo demanda de leilão solicitações, escriturações, repasses y
      terminaciones de empleo.
    name: Consignado Rail
  - description: >-
      Superficie de comando de red síncrona: las operaciones de un bancarizador
      sin que el prestamista conduzca sobre HTTP. Cada uno comparte su
      implementación de comando con el activador de evento de prestamista
      equivalente.
    name: Consignado Rail Commands
  - description: >-
      Confirmación de desembolso propiedad de la gateway: un banco cliente que
      registra el dinero que ya pagó a un trabajador. No cruza ninguna frontera
      gubernamental y no representa ninguna operación Dataprev.
    name: Consignado Disbursement
  - description: >
      Rendimiento de red Dataprev saliente de autoservicio per-tenant: lea y
      configure el requests-per-second propio de este tenant, incluida una pausa
      deliberada en cero
    name: Consignado Throughput
paths:
  /v1/consignado/leilao/portabilidade/solicitacoes/{id_solicitacao_proposta}/propostas:
    post:
      tags:
        - Consignado Rail Commands
      summary: Responder a una solicitud entrante de subasta de portabilidad
      description: >-
        Envía una propuesta mediante inclusao-garantias (Manual 011 v1.6 §3.2)
        en respuesta a una solicitud de subasta de portabilidad obtenida a
        través de la integración del cliente. El catálogo define
        consignado.portability_proposal.received para este flujo, pero develop
        aún no tiene un productor operativo para ese hecho. A diferencia de la
        operación de oferta M001, este endpoint acepta una propuesta por
        llamada: una solicitud que permita una segunda propuesta, con o sin
        garantía de FGTS, requiere dos llamadas separadas en lugar de un array.


        dataHoraValidadeSolicitacao es el mismo campo que el hecho iniciador
        catalogado está diseñado para transportar. Es un dato de respuesta del
        Manual 011 §3.1.3 y no se envía a Dataprev en esta solicitud. El cliente
        lo repite para que el gateway pueda rechazar una respuesta a un registro
        vencido antes de llamar al riel. La caducidad se evalúa por registro sin
        consultar un calendario.


        El Manual 011 usa dos grafías para la ruta de esta operación: §2.2 omite
        el acento, mientras que §3.2.3.1 lo incluye. Como M011 no publica una
        ruta Swagger que resuelva la discrepancia, la grafía configurada debe
        validarse durante la homologación. Por lo demás, la solicitud y la
        respuesta siguen el Manual 011 §3.2.1 y §3.2.2.


        X-Idempotency es la clave obligatoria de repetición del transporte. Un
        reintento con la misma clave devuelve la respuesta almacenada en vez de
        volver a enviarla al riel, como ocurre en las rutas de averbação y
        adjunto CCB. Este endpoint aún no dispone de almacenamiento duradero de
        repeticiones respaldado por PostgreSQL, por lo que la garantía no
        sobrevive a una expulsión de Redis ni a un reinicio del servicio.
      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

````