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

# Ejecutar la garantía FGTS para un contrato

> Esta operación actúa como proxy de execucao-garantias-fgts (Manual 017 §3.1). ESTA OPERACIÓN MUEVE EFECTIVO Y NO SE PUEDE DESHACER; está marcado como x-money-path: true en este documento. La garantía se ejecuta en COMO MÁXIMO UNA VEZ según (tenant, contrato). X-Idempotency es obligatorio y nunca es un valor predeterminado; la gateway registra la solicitud de forma duradera ANTES DE llamando a la red.

los cuatro casos de conflicto, los 409:
1. Misma clave, mismo cuerpo: el resultado registrado es reproducido (replayed: true) sin tocar la red. Esta es la única repetición que no genera conflicto.
2. Misma clave, cuerpo diferente: rechazado, nunca entregó la respuesta anterior.
3. Una clave nueva para un contrato que ya tiene un registro de ejecución: rechazado, no replayed. El resultado almacenado pertenece a la otra clave y una clave nueva no debe comprar un segundo movimiento de efectivo. Esto es una negativa, no una falta: no se reclamó nada y no se llamó a la red.
4. No se pudo establecer el resultado del primer intento: la clave está terminalmente sin resolver. Volver a intentarlo podría ejecutar la garantía dos veces y el Manual 017 no publica ninguna operación que pregunte a la red si ya lo hizo, por lo que la conciliación es una acción del operador, deliberadamente no automática.

los dos valores de garantía son obrigatório=não en la red: omite para un contrato sin garantía FGTS. El envío de 0 se rechaza localmente con 422: la red lee 0 como un valor de garantía no válido y el rechazo anticipado evita que el error queme su clave de idempotencia.



## OpenAPI

````yaml es/openapi/v3-current/consignado.yaml post /v1/consignado/fgts/garantias/execucao
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/fgts/garantias/execucao:
    post:
      tags:
        - Consignado Rail
      summary: Ejecutar la garantía FGTS para un contrato
      description: >-
        Esta operación actúa como proxy de execucao-garantias-fgts (Manual 017
        §3.1). ESTA OPERACIÓN MUEVE EFECTIVO Y NO SE PUEDE DESHACER; está
        marcado como x-money-path: true en este documento. La garantía se
        ejecuta en COMO MÁXIMO UNA VEZ según (tenant, contrato). X-Idempotency
        es obligatorio y nunca es un valor predeterminado; la gateway registra
        la solicitud de forma duradera ANTES DE llamando a la red.


        los cuatro casos de conflicto, los 409:

        1. Misma clave, mismo cuerpo: el resultado registrado es reproducido
        (replayed: true) sin tocar la red. Esta es la única repetición que no
        genera conflicto.

        2. Misma clave, cuerpo diferente: rechazado, nunca entregó la respuesta
        anterior.

        3. Una clave nueva para un contrato que ya tiene un registro de
        ejecución: rechazado, no replayed. El resultado almacenado pertenece a
        la otra clave y una clave nueva no debe comprar un segundo movimiento de
        efectivo. Esto es una negativa, no una falta: no se reclamó nada y no se
        llamó a la red.

        4. No se pudo establecer el resultado del primer intento: la clave está
        terminalmente sin resolver. Volver a intentarlo podría ejecutar la
        garantía dos veces y el Manual 017 no publica ninguna operación que
        pregunte a la red si ya lo hizo, por lo que la conciliación es una
        acción del operador, deliberadamente no automática.


        los dos valores de garantía son obrigatório=não en la red: omite para un
        contrato sin garantía FGTS. El envío de 0 se rechaza localmente con 422:
        la red lee 0 como un valor de garantía no válido y el rechazo anticipado
        evita que el error queme su clave de idempotencia.
      operationId: executeConsignadoFgtsGuarantee
      parameters:
        - description: >-
            Client-chosen idempotency key. REQUIRED: an absent key is 422, never
            a generated default. The key decides what a REPEAT gets back; the
            CONTRACT decides what may happen at all. Same key + same body: the
            recorded outcome is replayed without touching the rail. Same key +
            different body: 409. A BRAND-NEW key for a contract that already has
            an execution record: 409 — a fresh key does not buy a second
            execution. First attempt's outcome unestablished: 409 until an
            operator reconciles it.
          in: header
          name: X-Idempotency
          required: true
          schema:
            description: >-
              Client-chosen idempotency key. REQUIRED: an absent key is 422,
              never a generated default. The key decides what a REPEAT gets
              back; the CONTRACT decides what may happen at all. Same key + same
              body: the recorded outcome is replayed without touching the rail.
              Same key + different body: 409. A BRAND-NEW key for a contract
              that already has an execution record: 409 — a fresh key does not
              buy a second execution. First attempt's outcome unestablished: 409
              until an operator reconciles it.
            examples:
              - idem-fgts-exec-2026-07-30-0001
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FgtsGuaranteeExecutionRequestBody'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FgtsGuaranteeExecutionResponse'
          description: OK
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Error
      security:
        - BearerAuth: []
components:
  schemas:
    FgtsGuaranteeExecutionRequestBody:
      additionalProperties: false
      properties:
        codigoInscricaoEmpregador:
          enum:
            - '1'
            - '2'
          examples:
            - '1'
          type: string
        cpf:
          description: >-
            Worker CPF, exactly 11 digits. In the BODY, never a path or query
            parameter.
          examples:
            - '99999999999'
          pattern: ^[0-9]{11}$
          type: string
        matricula:
          examples:
            - 99999999999-A
          minLength: 1
          type: string
        numeroContrato:
          description: Rail contract number.
          examples:
            - 99999999999AN1
          maxLength: 15
          minLength: 1
          type: string
        numeroInscricaoEmpregador:
          examples:
            - '42422253000101'
          minLength: 1
          type: string
        valorMultaRescisoriaGarantiaFgts:
          description: >-
            Rescission-penalty portion pledged as collateral (decimal string,
            BRL). Obrigatório=Não — omit rather than send 0.
          examples:
            - '100.00'
          pattern: ^[0-9]+(\.[0-9]{1,2})?$
          type: string
        valorSaldoDisponivelGarantiaFgts:
          description: >-
            Consignable FGTS balance pledged as collateral (decimal string,
            BRL). Obrigatório=Não at the rail: OMIT it for a contract with no
            FGTS collateral. Sending 0 is not an absence — the rail reads it as
            an invalid guarantee value.
          examples:
            - '98587.56'
          pattern: ^[0-9]+(\.[0-9]{1,2})?$
          type: string
      required:
        - numeroContrato
        - cpf
        - matricula
        - codigoInscricaoEmpregador
        - numeroInscricaoEmpregador
      type: object
    FgtsGuaranteeExecutionResponse:
      additionalProperties: false
      properties:
        dtPrevRepasse:
          description: Forecast repasse date (yyyy-MM-dd).
          examples:
            - '2026-07-15'
          type: string
        protocolo:
          description: >-
            Rail protocol number, up to 32 digits. A string so 32 digits survive
            without precision loss.
          examples:
            - '12345678901234567890123456789012'
          type: string
        replayed:
          description: >-
            true when this response was served from the durable record of an
            earlier identical request under the same X-Idempotency key, without
            touching the rail — the guarantee was executed once, and this is the
            recorded outcome. false means THIS call performed the execution.
          examples:
            - false
          type: boolean
      required:
        - protocolo
        - replayed
      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
    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

````