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

# Originate a consignado privado contract (contratação ativa)

> Re-checks margin, renders and signs the CCB, creates and approves the core loan application (with its BR consignado extension) and persists it, then emits consignado.averbacao.requested so the gateway performs the real averbação. The returned state reflects the core origination progress (approved on contratação); the averbação lifecycle is tracked separately.



## OpenAPI

````yaml en/openapi/v3-current/lender.yaml post /api/v1/br/consignado/contracts
openapi: 3.1.0
info:
  contact:
    email: contact@lerian.studio
    name: Lerian Studio
    url: https://lerian.studio
  description: Code-first OpenAPI 3.1 surface for the Lender service.
  license:
    name: Lerian Studio General License
  title: Lender API
  version: 1.0.0
servers:
  - url: https://lender.sandbox.lerian.net
security:
  - BearerAuth: []
tags:
  - description: >-
      Ledger accounting operations: journal entries and accrual postings for
      loan accounts.
    name: Accounting
  - description: >-
      Loan application intake and lifecycle: submission, decisioning, and
      status.
    name: LoanApplications
  - description: >-
      Loan product catalog: definition, versioning, and activation of lending
      products.
    name: LoanProducts
  - description: >-
      Loan account servicing operations: balances, schedules, and account-level
      actions.
    name: Loan Accounts
  - description: >-
      Servicing read operations: repayment schedules and servicing state for
      loan accounts.
    name: Servicings
  - description: >-
      Portfolio dashboard read operations: aggregated portfolio and performance
      views.
    name: Dashboard
  - description: >-
      Jurisdiction registry: supported jurisdiction profiles and their
      capabilities.
    name: Jurisdictions
  - description: >-
      Jurisdiction-specific loan application operations (Brazil origination
      surface).
    name: Loan Applications
  - description: >-
      Tax computation operations for jurisdiction-specific lending (e.g. Brazil
      IOF).
    name: Tax
  - description: >-
      Brazil consignado privado operations: contract origination (contratação
      ativa) and lifecycle.
    name: Consignado
paths:
  /api/v1/br/consignado/contracts:
    post:
      tags:
        - Consignado
      summary: Originate a consignado privado contract (contratação ativa)
      description: >-
        Re-checks margin, renders and signs the CCB, creates and approves the
        core loan application (with its BR consignado extension) and persists
        it, then emits consignado.averbacao.requested so the gateway performs
        the real averbação. The returned state reflects the core origination
        progress (approved on contratação); the averbação lifecycle is tracked
        separately.
      operationId: createConsignadoContract
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContratacaoAtivaRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContratacaoAtivaResponse'
          description: Created
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Error
components:
  schemas:
    ContratacaoAtivaRequest:
      additionalProperties: false
      properties:
        annualRate:
          description: Annual interest rate as a fraction (RateScale, e.g. "0.2400").
          examples:
            - '0.2400'
          type: string
        averbacaoDate:
          description: >-
            Instant the averbação is requested (RFC3339); anchors the
            first-deduction competência. Defaults to now when omitted.
          examples:
            - '2026-06-22T12:00:00Z'
          format: date-time
          type: string
        borrowerCpf:
          description: Borrower CPF, digits only (pre-normalized).
          examples:
            - '12345678909'
          type: string
        borrowerName:
          description: Borrower (emitente/devedor) full legal name (CCB Art. 23).
          type: string
        cetAnnual:
          description: Annual CET as a fraction (RateScale).
          examples:
            - '0.2610'
          type: string
        cetMonthly:
          description: Monthly CET as a fraction (RateScale).
          examples:
            - '0.0195'
          type: string
        creditorName:
          description: Financing institution issuing the credit (CCB Art. 23 credor).
          type: string
        eSocialCategory:
          description: eSocial category code of the vínculo.
          type: string
        employerCnpj:
          description: Employer CNPJ, digits only (pre-normalized).
          examples:
            - '12345678000199'
          type: string
        employerLegalName:
          description: Employer / payroll counterparty legal name.
          type: string
        extendedTermEligible:
          description: >-
            True enables the 144-month cap (public-company/autarquia CLT, Art.
            10 V); false keeps the 96-month cap.
          type: boolean
        fgtsGuaranteePercent:
          description: >-
            Optional FGTS-guarantee fraction (RateScale); omit when not
            applicable.
          examples:
            - '0.1000'
          type: string
        installmentAmount:
          description: Monthly installment amount in major currency units.
          examples:
            - '450.00'
          type: string
        installmentCount:
          description: Number of installments.
          examples:
            - 24
          format: int64
          minimum: 1
          type: integer
        iofAmount:
          description: IOF tax amount in major currency units.
          examples:
            - '86.84'
          type: string
        loanProductVersionId:
          description: UUID of the activated loan-product version the contract binds to.
          examples:
            - 550e8400-e29b-41d4-a716-446655440000
          format: uuid
          type: string
        matricula:
          description: Payroll registration the margin lookup and CCB key against.
          type: string
        monthlyRate:
          description: Monthly interest rate as a fraction (RateScale, e.g. "0.0180").
          examples:
            - '0.0180'
          type: string
        numeroContrato:
          description: Human-facing contract number assigned by the originating channel.
          type: string
        principalAmount:
          description: Financed principal in major currency units.
          examples:
            - '10000.00'
          type: string
        vinculoId:
          description: >-
            UUID of the borrower<->employer vínculo the contract originates
            against.
          examples:
            - 550e8400-e29b-41d4-a716-446655440010
          format: uuid
          type: string
      required:
        - vinculoId
        - loanProductVersionId
        - numeroContrato
        - borrowerName
        - borrowerCpf
        - employerLegalName
        - employerCnpj
        - matricula
        - eSocialCategory
        - principalAmount
        - installmentAmount
        - installmentCount
        - monthlyRate
        - annualRate
        - cetMonthly
        - cetAnnual
        - iofAmount
        - creditorName
      type: object
    ContratacaoAtivaResponse:
      additionalProperties: false
      properties:
        annualRate:
          description: Annual interest rate as a fraction (RateScale).
          examples:
            - '0.2400'
          type: string
        biometricEvidenceRef:
          description: Reference to the captured biometric signing evidence.
          type: string
        cetAnnual:
          description: Annual CET as a fraction (RateScale).
          examples:
            - '0.2610'
          type: string
        cetMonthly:
          description: Monthly CET as a fraction (RateScale).
          examples:
            - '0.0195'
          type: string
        createdAt:
          description: RFC3339 UTC timestamp when the contract was persisted.
          examples:
            - '2026-06-22T12:00:00Z'
          type: string
        firstDeductionCompetencia:
          description: First payroll-deduction competência as YYYYMM.
          examples:
            - '202608'
          type: string
        id:
          description: Server-generated UUID of the persisted contract.
          examples:
            - 550e8400-e29b-41d4-a716-446655440000
          type: string
        installmentAmount:
          description: Monthly installment amount in major currency units.
          examples:
            - '450.00'
          type: string
        installmentCount:
          description: Number of installments.
          examples:
            - 24
          format: int64
          type: integer
        iofAmount:
          description: IOF tax amount in major currency units.
          examples:
            - '86.84'
          type: string
        loanProductVersionId:
          description: UUID of the bound loan-product version.
          type: string
        monthlyRate:
          description: Monthly interest rate as a fraction (RateScale).
          examples:
            - '0.0180'
          type: string
        numeroContrato:
          description: Human-facing contract number.
          type: string
        principalAmount:
          description: Financed principal in major currency units.
          examples:
            - '10000.00'
          type: string
        signatureSessionRef:
          description: Reference to the out-of-band signature ceremony session.
          type: string
        state:
          description: >-
            Core origination-progress state of the loan application:
            pending_approval, approved, disbursed, rejected, or withdrawn.
          examples:
            - approved
          type: string
        vinculoId:
          description: Identifier of the originating vínculo.
          type: string
      required:
        - id
        - numeroContrato
        - vinculoId
        - loanProductVersionId
        - state
        - principalAmount
        - installmentAmount
        - installmentCount
        - monthlyRate
        - annualRate
        - cetMonthly
        - cetAnnual
        - iofAmount
        - firstDeductionCompetencia
        - signatureSessionRef
        - biometricEvidenceRef
        - createdAt
      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
      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
  securitySchemes:
    BearerAuth:
      bearerFormat: JWT
      description: JWT bearer token issued by the identity provider.
      scheme: bearer
      type: http

````