---
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`

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.net/lerian/apis/identity-plugin.md) · [All operations](https://skmtc.net/lerian/apis/identity-plugin/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/lerian/identity-plugin/versions/25daba385532/schema)
