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

# Executar a garantia FGTS para um contrato

> Atua como proxy de execucao-garantias-fgts (Manual 017 §3.1). Esta operação movimenta dinheiro e não pode ser desfeita, por isso está marcada como x-money-path: true. A garantia é executada no máximo uma vez por (tenant, contrato). X-Idempotency é obrigatório e não é normalizado; o gateway registra a solicitação de forma durável antes de chamar a rede.

Os casos de conflito retornam 409:
1. Mesma chave e mesmo corpo: o resultado registrado é repetido (replayed: true) sem chamar a rede; é a única repetição sem conflito.
2. Mesma chave e corpo diferente: recusado sem retornar a resposta anterior.
3. Nova chave para um contrato que já possui registro de execução: recusado, não repetido. A nova chave não autoriza uma segunda movimentação.
4. Resultado da primeira tentativa não estabelecido: a chave fica terminalmente não resolvida. Como o Manual 017 não oferece uma consulta para confirmar a execução, a reconciliação exige ação manual do operador.

Os dois valores de garantia são opcionais na rede e devem ser omitidos quando o contrato não tiver garantia FGTS. O valor 0 é recusado localmente com 422 para evitar consumir a chave de idempotência com uma solicitação que a rede considera inválida.



## OpenAPI

````yaml pt/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: >-
    Superfície OpenAPI 3.1 para Lerian Consignado — Dataprev. o API cobre
    credenciais tenant e configuração de rede, margem do trabalhador, leilões e
    licitações de empréstimos, registro e ciclo de vida do contrato, confirmação
    de desembolso, portabilidade, refinanciamento, renegociação, garantias FGTS,
    reconciliação, fundos, atribuições, uso, rendimento e assinaturas de
    eventos. o material secreto é gravado no armazenamento secreto tenant e
    nunca é devolvido por nenhuma operação.
  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: >-
      Custódia de credenciais do Dataprev e configuração pública do rail por
      tenant (upload, status, rotação, revogação, código do solicitante e URL
      base do portal do trabalhador)
    name: Credentials
  - description: >-
      Uso do gateway consignado no escopo do tenant: agregação de unidades
      faturáveis ​​com preço por competência
    name: Consignado Usage
  - description: >-
      Per-tenant plano de controle de assinatura do streaming-hub (listar,
      criar, obter, girar, revogar e testar a entrega)
    name: Subscriptions
  - description: >-
      Superfície folha de pagamento da rail Dataprev: leituras de saldo e
      autorização FGTS, execução de garantias FGTS, suspensão de contrato,
      reativação e alteração de prazo, documentos contratuais próprios da rede e
      leituras sob demanda de transações, escriturações, repasses e rescisões
      trabalhistas
    name: Consignado Rail
  - description: >-
      Superfície de comando da rede síncrona: as operações que um bancarizador
      sem o credor realizam sobre HTTP. cada um compartilha sua implementação de
      comando com o gatilho de evento de credor equivalente.
    name: Consignado Rail Commands
  - description: >-
      Confirmação de desembolso de propriedade do gateway: um banco cliente
      registrando o dinheiro que ALREADY pagou a um trabalhador. ele não cruza
      nenhuma fronteira governamental e não representa nenhuma operação
      Dataprev.
    name: Consignado Disbursement
  - description: >
      Taxa de transferência da rail Dataprev de saída de autoatendimento
      per-tenant: leia e defina o próprio requests-per-second deste tenant,
      incluindo uma pausa deliberada em zero
    name: Consignado Throughput
paths:
  /v1/consignado/fgts/garantias/execucao:
    post:
      tags:
        - Consignado Rail
      summary: Executar a garantia FGTS para um contrato
      description: >-
        Atua como proxy de execucao-garantias-fgts (Manual 017 §3.1). Esta
        operação movimenta dinheiro e não pode ser desfeita, por isso está
        marcada como x-money-path: true. A garantia é executada no máximo uma
        vez por (tenant, contrato). X-Idempotency é obrigatório e não é
        normalizado; o gateway registra a solicitação de forma durável antes de
        chamar a rede.


        Os casos de conflito retornam 409:

        1. Mesma chave e mesmo corpo: o resultado registrado é repetido
        (replayed: true) sem chamar a rede; é a única repetição sem conflito.

        2. Mesma chave e corpo diferente: recusado sem retornar a resposta
        anterior.

        3. Nova chave para um contrato que já possui registro de execução:
        recusado, não repetido. A nova chave não autoriza uma segunda
        movimentação.

        4. Resultado da primeira tentativa não estabelecido: a chave fica
        terminalmente não resolvida. Como o Manual 017 não oferece uma consulta
        para confirmar a execução, a reconciliação exige ação manual do
        operador.


        Os dois valores de garantia são opcionais na rede e devem ser omitidos
        quando o contrato não tiver garantia FGTS. O valor 0 é recusado
        localmente com 422 para evitar consumir a chave de idempotência com uma
        solicitação que a rede considera inválida.
      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

````