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

# Prepagar la cuenta de préstamo (alias BR)

> Ruta con alias BR para prepagar una cuenta de préstamo. Se resuelve al mismo handler que el endpoint central, con el resolvedor de jurisdicción insertado en la cadena. Proporciona exactamente uno entre amount o quoteId (o ambos, con amount igual al importe neto de liquidación de la cotización). La idempotencia se aplica mediante el middleware de idempotencia de lib-commons a través del encabezado X-Idempotency; una clave reutilizada con datos diferentes produce 409. Un UUID o amount mal formado produce 422.



## OpenAPI

````yaml es/openapi/v3-current/lender.yaml post /api/v1/br/loan-accounts/{id}/prepayments
openapi: 3.1.0
info:
  contact:
    email: contact@lerian.studio
    name: Lerian Studio
    url: https://lerian.studio
  description: Superficie OpenAPI 3.1 code-first del servicio Lender.
  license:
    name: Lerian Studio General License
  title: Lender API
  version: 1.0.0
servers:
  - url: https://lender.sandbox.lerian.net
security:
  - BearerAuth: []
tags:
  - description: >-
      Operaciones de contabilidad del ledger: entradas de journal y asientos de
      accrual para cuentas de préstamo.
    name: Accounting
  - description: >-
      Recepción y ciclo de vida de la solicitud de préstamo: envío, decisión y
      estado.
    name: LoanApplications
  - description: >-
      Catálogo de productos de préstamo: definición, versionado y activación de
      productos de crédito.
    name: LoanProducts
  - description: >-
      Operaciones de servicing de cuentas de préstamo: saldos, cronogramas y
      acciones a nivel de cuenta.
    name: Loan Accounts
  - description: >-
      Operaciones de lectura de servicing: cronogramas de reembolso y estado de
      servicing para cuentas de préstamo.
    name: Servicings
  - description: >-
      Operaciones de lectura del panel de cartera: vistas agregadas de cartera y
      de rendimiento.
    name: Dashboard
  - description: >-
      Registro de jurisdicciones: perfiles de jurisdicción soportados y sus
      capacidades.
    name: Jurisdictions
  - description: >-
      Operaciones de solicitud de préstamo específicas por jurisdicción
      (superficie de originación de Brasil).
    name: Loan Applications
  - description: >-
      Operaciones de cálculo de impuestos para crédito específico por
      jurisdicción (por ejemplo, IOF de Brasil).
    name: Tax
  - description: >-
      Operaciones de consignado privado de Brasil: originación de contrato
      (contratación activa) y ciclo de vida.
    name: Consignado
paths:
  /api/v1/br/loan-accounts/{id}/prepayments:
    post:
      tags:
        - Loan Accounts
      summary: Prepagar la cuenta de préstamo (alias BR)
      description: >-
        Ruta con alias BR para prepagar una cuenta de préstamo. Se resuelve al
        mismo handler que el endpoint central, con el resolvedor de jurisdicción
        insertado en la cadena. Proporciona exactamente uno entre amount o
        quoteId (o ambos, con amount igual al importe neto de liquidación de la
        cotización). La idempotencia se aplica mediante el middleware de
        idempotencia de lib-commons a través del encabezado X-Idempotency; una
        clave reutilizada con datos diferentes produce 409. Un UUID o amount mal
        formado produce 422.
      operationId: prepayLoanAccountBR
      parameters:
        - description: Loan account identifier (UUID).
          in: path
          name: id
          required: true
          schema:
            description: Loan account identifier (UUID).
            examples:
              - 550e8400-e29b-41d4-a716-446655440000
            format: uuid
            type: string
        - description: >-
            Canonical idempotency request ID. Enforced by the lib-commons
            idempotency middleware.
          in: header
          name: X-Idempotency
          required: true
          schema:
            description: >-
              Canonical idempotency request ID. Enforced by the lib-commons
              idempotency middleware.
            examples:
              - 550e8400-e29b-41d4-a716-446655440011
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PrepayLoanAccountHumaRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduleVersionCommandHumaBody'
          description: Created
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Error
components:
  schemas:
    PrepayLoanAccountHumaRequest:
      additionalProperties: false
      properties:
        amount:
          description: Prepayment amount (2 d.p. string). Required when quoteId is empty.
          examples:
            - '100.00'
          type: string
        businessDate:
          description: YYYY-MM-DD business date applied to the prepayment.
          examples:
            - '2026-06-14'
          type: string
        effectiveDate:
          description: YYYY-MM-DD effective date of the prepayment.
          examples:
            - '2026-06-14'
          type: string
        quoteId:
          description: Settlement quote identifier. Required when amount is empty.
          examples:
            - 550e8400-e29b-41d4-a716-446655440020
          format: uuid
          type: string
        transactionId:
          description: Operator-supplied prepayment transaction identifier.
          maxLength: 128
          type: string
      required:
        - transactionId
        - effectiveDate
        - businessDate
      type: object
    ScheduleVersionCommandHumaBody:
      additionalProperties: false
      properties:
        previousScheduleVersionId:
          description: Predecessor schedule version UUID.
          examples:
            - 550e8400-e29b-41d4-a716-446655440031
          type: string
        scheduleVersion:
          $ref: '#/components/schemas/ScheduleVersionHumaBody'
          description: The newly appended immutable schedule version.
      required:
        - previousScheduleVersionId
        - scheduleVersion
      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
    ScheduleVersionHumaBody:
      additionalProperties: false
      properties:
        createdAt:
          description: ISO-8601 creation timestamp (UTC).
          examples:
            - '2026-06-14T12:00:00Z'
          type: string
        id:
          description: Schedule version UUID.
          examples:
            - 550e8400-e29b-41d4-a716-446655440030
          type: string
        installments:
          description: Recalculated installment schedule.
          items:
            $ref: '#/components/schemas/ScheduleVersionInstallmentHumaBody'
          type:
            - array
            - 'null'
        loanAccountId:
          description: Loan account UUID.
          examples:
            - 550e8400-e29b-41d4-a716-446655440000
          type: string
        predecessorVersionId:
          description: Predecessor schedule version UUID, if any.
          examples:
            - 550e8400-e29b-41d4-a716-446655440031
          type: string
        reason:
          description: Reason the version was appended.
          type: string
        triggerTransactionId:
          description: Transaction that triggered the recalculation.
          type: string
        versionNumber:
          description: Monotonic schedule version number.
          examples:
            - 2
          format: int64
          type: integer
      required:
        - id
        - loanAccountId
        - versionNumber
        - reason
        - triggerTransactionId
        - createdAt
        - installments
      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
    ScheduleVersionInstallmentHumaBody:
      additionalProperties: false
      properties:
        dueDate:
          description: ISO-8601 due date.
          examples:
            - '2026-06-14T12:00:00Z'
          type: string
        feesAmount:
          description: Fees due (2 d.p. string).
          examples:
            - '3.50'
          type: string
        interestAmount:
          description: Interest due (2 d.p. string).
          examples:
            - '20.00'
          type: string
        number:
          description: Installment ordinal (1-based).
          examples:
            - 3
          format: int64
          type: integer
        penaltiesAmount:
          description: Penalties due (2 d.p. string).
          examples:
            - '1.50'
          type: string
        principalAmount:
          description: Principal due (2 d.p. string).
          examples:
            - '100.00'
          type: string
        principalRemaining:
          description: >-
            Unpaid principal for THIS installment (per-installment, 2 d.p.
            string) — not the whole-loan declining balance.
          examples:
            - '100.00'
          type: string
        totalAmount:
          description: Total due (2 d.p. string).
          examples:
            - '125.00'
          type: string
      required:
        - number
        - dueDate
        - principalAmount
        - principalRemaining
        - interestAmount
        - feesAmount
        - penaltiesAmount
        - totalAmount
      type: object
  securitySchemes:
    BearerAuth:
      bearerFormat: JWT
      description: JWT bearer token issued by the identity provider.
      scheme: bearer
      type: http

````