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

# Registrar um empréstimo pré-existente (legado)

> Atua como proxy de incluir-emprestimo-legado-trabalhador (Manual 007 v1.4 §3.1) e registra um contrato originado antes deste modelo de rede. O trabalhador permanece inelegível para novas contratações até o contrato legado ser excluído ou renegociado. A Dataprev não valida a documentação desses contratos (§2.2.1.3); a instituição responde pela veracidade dos dados. Quando codigoTipoContrato for 2 (folha), codigoInscricaoEmpregador, numeroInscricaoEmpregador e matricula são obrigatórios e o gateway valida essa condição antes da chamada. X-Idempotency é obrigatório. Uma repetição que recebe da rede o código de empréstimo já cadastrado é tratada como sucesso.



## OpenAPI

````yaml pt/openapi/v3-current/consignado.yaml post /v1/consignado/legacy-contracts
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/legacy-contracts:
    post:
      tags:
        - Consignado Rail
      summary: Registrar um empréstimo pré-existente (legado)
      description: >-
        Atua como proxy de incluir-emprestimo-legado-trabalhador (Manual 007
        v1.4 §3.1) e registra um contrato originado antes deste modelo de rede.
        O trabalhador permanece inelegível para novas contratações até o
        contrato legado ser excluído ou renegociado. A Dataprev não valida a
        documentação desses contratos (§2.2.1.3); a instituição responde pela
        veracidade dos dados. Quando codigoTipoContrato for 2 (folha),
        codigoInscricaoEmpregador, numeroInscricaoEmpregador e matricula são
        obrigatórios e o gateway valida essa condição antes da chamada.
        X-Idempotency é obrigatório. Uma repetição que recebe da rede o código
        de empréstimo já cadastrado é tratada como sucesso.
      operationId: incluirConsignadoEmprestimoLegado
      parameters:
        - description: >-
            Client-chosen idempotency key. REQUIRED: an absent key is 422, never
            a generated default.
          in: header
          name: X-Idempotency
          required: true
          schema:
            description: >-
              Client-chosen idempotency key. REQUIRED: an absent key is 422,
              never a generated default.
            examples:
              - idem-legado-incluir-0001
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LegadoIncluirBody'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LegadoOperationResponse'
          description: OK
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Error
      security:
        - BearerAuth: []
components:
  schemas:
    LegadoIncluirBody:
      additionalProperties: false
      properties:
        codigoInscricaoEmpregador:
          description: >-
            Employer inscription type: 1 CNPJ, 2 CPF. Required when
            codigoTipoContrato is 2 (folha).
          enum:
            - '1'
            - '2'
          examples:
            - '1'
          type: string
        codigoTipoContrato:
          description: >-
            1 = empréstimo não consignado sem garantia; 2 = empréstimo com
            descontos em folha de pagamento. When 2, codigoInscricaoEmpregador,
            numeroInscricaoEmpregador and matricula become required (§3.1.1, a
            condition the official Swagger does not express).
          enum:
            - 1
            - 2
          examples:
            - 2
          format: int64
          type: integer
        cpfTrabalhador:
          description: Worker CPF, exactly 11 digits.
          examples:
            - '99999999999'
          pattern: ^[0-9]{11}$
          type: string
        dataFimContrato:
          description: End date of the legado contract, RFC 3339 UTC.
          examples:
            - '2025-12-23T00:00:00Z'
          format: date-time
          type: string
        dataInicioContrato:
          description: Start date of the legado contract, RFC 3339 UTC.
          examples:
            - '2024-09-03T00:00:00Z'
          format: date-time
          type: string
        matricula:
          description: >-
            Matrícula assigned to the worker by the employer. Required when
            codigoTipoContrato is 2 (folha).
          examples:
            - 99999999999-A
          maxLength: 30
          type: string
        numeroContrato:
          description: Number of the legado contract, freely chosen by the institution.
          examples:
            - 99999999999AL1
          maxLength: 20
          minLength: 1
          type: string
        numeroInscricaoEmpregador:
          description: >-
            Employer inscription number: 14 digits for CNPJ, 11 for CPF
            (matching codigoInscricaoEmpregador; §3.1.1's own '15 algarismos' is
            a stale maximum, see ports.ValidateNumeroInscricaoEmpregador).
            Required when codigoTipoContrato is 2 (folha).
          examples:
            - '42422253000101'
          pattern: ^[0-9]{11,14}$
          type: string
        numeroParcelas:
          description: Total number of instalments of the legado loan.
          examples:
            - 15
          format: int64
          maximum: 999
          minimum: 1
          type: integer
        qtdParcelasPagas:
          description: Number of instalments already paid.
          examples:
            - 7
          format: int64
          maximum: 999
          minimum: 0
          type: integer
        valorCETMensal:
          description: >-
            valorCETMensal — Custo Efetivo Total, monthly percent decimal
            string.
          examples:
            - '0.5'
          pattern: ^[0-9]+(\.[0-9]{1,2})?$
          type: string
        valorEmprestimo:
          description: valorEmprestimo — the legado loan's principal (decimal string, BRL).
          examples:
            - '12000.00'
          pattern: ^[0-9]+(\.[0-9]{1,2})?$
          type: string
        valorParcela:
          description: >-
            valorParcela — the legado loan's instalment amount (decimal string,
            BRL).
          examples:
            - '831.34'
          pattern: ^[0-9]+(\.[0-9]{1,2})?$
          type: string
        valorSaldoDevedor:
          description: >-
            valorSaldoDevedor — present value of the remaining instalments, base
            date the day of the request (Manual 007 §3.1.1's OWN definition, not
            Manual 015's — decimal string, BRL).
          examples:
            - '6512.46'
          pattern: ^[0-9]+(\.[0-9]{1,2})?$
          type: string
        valorTaxaMensal:
          description: valorTaxaMensal — monthly interest rate, percent decimal string.
          examples:
            - '0.5'
          pattern: ^[0-9]+(\.[0-9]{1,2})?$
          type: string
      required:
        - cpfTrabalhador
        - codigoTipoContrato
        - numeroContrato
        - dataInicioContrato
        - dataFimContrato
        - numeroParcelas
        - qtdParcelasPagas
        - valorEmprestimo
        - valorParcela
        - valorSaldoDevedor
        - valorTaxaMensal
        - valorCETMensal
      type: object
    LegadoOperationResponse:
      additionalProperties: false
      properties:
        idempotent:
          description: >-
            True when the rail answered its own HX (incluir)/HY (excluir)
            idempotency code rather than fresh confirmation. On excluir (HY)
            this means the contract is confirmed gone, which is sound. On
            incluir (HX) it means ONLY that this numeroContrato is already
            registered on the rail — the values THIS request carried
            (valorEmprestimo, valorParcela, etc.) were NOT compared against what
            is stored. To correct a legado registered with wrong values, exclude
            it (motivo 9) and include it again; do not rely on idempotent:true
            as proof the stored values match.
          examples:
            - false
          type: boolean
        mensagem:
          description: The rail's own message.
          examples:
            - Emprestimo legado incluido com sucesso
          type: string
        numeroContrato:
          description: The contract number the rail confirmed the operation against.
          examples:
            - 99999999999AL1
          type: string
      required:
        - mensagem
        - numeroContrato
        - idempotent
      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

````