---
title: "Prepay loan account (BR alias)"
method: POST
path: "/api/v1/br/loan-accounts/{id}/prepayments"
tags: ["Loan Accounts"]
---

# Prepay loan account (BR alias)

`POST /api/v1/br/loan-accounts/{id}/prepayments`

## Request

- Base URL: `https://identity.sandbox.lerian.net`
- URL: `https://identity.sandbox.lerian.net/api/v1/br/loan-accounts/{id}/prepayments`
- Auth: none required
- TypeScript: <https://skmtc.dev/lerian/apis/identity-plugin/docs/api/v1/br/loan-accounts/:id/prepayments/post.ts> (a function with typed inputs; its response is checked against the schema)

BR-aliased path for prepaying a loan account. Resolves to the same handler as the core endpoint, with the jurisdiction resolver inserted into the chain. BR accounts require quoteId; when amount is also provided, it must equal the quote's net settlement amount. Idempotency is enforced by the lib-commons idempotency middleware via the X-Idempotency header; a reused key with different facts yields 409. A missing quote, malformed UUID, or invalid amount yields 422.

## Path parameters

- `id` string, uuid, required: Loan account identifier (UUID).

## Headers

- `X-Idempotency` string, required: Canonical idempotency request ID. Enforced by the lib-commons idempotency middleware.

## Request body

- PrepayLoanAccountHumaRequest
  - `amount` string: Prepayment amount (2 d.p. string). Amount-only prepayment is available only for non-BR accounts; BR accounts require quoteId.
  - `businessDate` string, required: YYYY-MM-DD business date applied to the prepayment.
  - `effectiveDate` string, required: YYYY-MM-DD effective date of the prepayment.
  - `quoteId` string, uuid: Settlement quote identifier. Required when amount is empty.
  - `transactionId` string, required: Operator-supplied prepayment transaction identifier.

## Response `201`

Created

- ScheduleVersionCommandHumaBody
  - `previousScheduleVersionId` string, required: Predecessor schedule version UUID.
  - `scheduleVersion` ScheduleVersionHumaBody, required
    - `createdAt` string, required: ISO-8601 creation timestamp (UTC).
    - `id` string, required: Schedule version UUID.
    - `installments` ScheduleVersionInstallmentHumaBody[], nullable, required: Recalculated installment schedule.
      - `dueDate` string, required: ISO-8601 due date.
      - `feesAmount` string, required: Fees due (2 d.p. string).
      - `interestAmount` string, required: Interest due (2 d.p. string).
      - `number` integer, required: Installment ordinal (1-based).
      - `penaltiesAmount` string, required: Penalties due (2 d.p. string).
      - `principalAmount` string, required: Principal due (2 d.p. string).
      - `principalRemaining` string, required: Unpaid principal for THIS installment (per-installment, 2 d.p. string) — not the whole-loan declining balance.
      - `totalAmount` string, required: Total due (2 d.p. string).
    - `loanAccountId` string, required: Loan account UUID.
    - `predecessorVersionId` string: Predecessor schedule version UUID, if any.
    - `reason` string, required: Reason the version was appended.
    - `triggerTransactionId` string, required: Transaction that triggered the recalculation.
    - `versionNumber` integer, required: Monotonic schedule version number.

## Other responses

- `default`: Error

---

[API](https://skmtc.dev/lerian/apis/identity-plugin.md) - [All operations](https://skmtc.dev/lerian/apis/identity-plugin/llms.txt) - [OpenAPI document](https://skmtc.dev/lerian/apis/identity-plugin/revisions/25daba385532?raw)
