---
title: "Preview amortisation schedule"
method: POST
path: "/api/v1/loan-applications/preview-schedule"
tags: ["LoanApplications"]
---

# Preview amortisation schedule

`POST /api/v1/loan-applications/preview-schedule`

Computes a deterministic declining-balance schedule for the supplied loan parameters without persisting any data.

## Request body

- SchedulePreviewHumaRequest
  - `annualInterestRate` string, required — Annual interest rate as a decimal string (e.g. "0.12000000").
  - `dayCountConvention` string, required — Day count convention identifier.
  - `gracePeriodDays` integer — Grace period in days.
  - `jurisdictionCode` string, required — ISO-2 jurisdiction code.
  - `principalAmount` string, required — Principal amount as a decimal string (e.g. "50000.00").
  - `startDate` string, required — Schedule start date (RFC3339 or YYYY-MM-DD).
  - `termMonths` integer, required — Number of months.

## Response `200`

OK

- SchedulePreviewHumaBody
  - `calendarReference` string, required — Identifier of the business calendar used to resolve due dates.
  - `dayCountConvention` string, required — Day count convention applied to interest accrual.
  - `effectiveCostPreview` SchedulePreviewHumaEffectiveCost
    - `effectiveCostAnnualPct` string, required — Effective annual cost as a decimal-string percentage, scale 8 (e.g. "12.00000000").
    - `effectiveCostMonthlyPct` string, required — Effective monthly cost as a decimal-string percentage, scale 8 (e.g. "0.94888100").
    - `memoryOfCalculation` object, required — Opaque step-by-step record of the effective-cost calculation (audit trail).
    - `methodId` string, required — Identifier of the effective-cost calculation method applied by the jurisdiction profile.
    - `rateTableSnapshot` object, required — Opaque snapshot of the rate table inputs used in the calculation.
  - `installments` SchedulePreviewHumaInstallmentLine[], nullable, required — Ordered amortisation schedule, one entry per installment.
    - `dueDate` string, required — Installment due date (date-only, YYYY-MM-DD).
    - `interestAmount` string, required — Interest portion of the installment as a decimal string, minor-unit precision scale 2 (e.g. "234.56").
    - `number` integer, required — 1-based installment sequence number.
    - `principalAmount` string, required — Principal portion of the installment as a decimal string, minor-unit precision scale 2 (e.g. "1000.00").
    - `remainingBalance` string, required — Outstanding principal balance after this installment as a decimal string, minor-unit precision scale 2 (e.g. "49000.00").
    - `totalAmount` string, required — Total installment amount (principal + interest) as a decimal string, minor-unit precision scale 2 (e.g. "1234.56").
  - `jurisdictionCode` string, required — ISO-2 jurisdiction code resolved for this preview.
  - `jurisdictionExtensions` SchedulePreviewHumaJurisdictionExtensions
    - `body` object, required — Opaque per-jurisdiction overlay payload decoded from the use-case result.
    - `overlayKey` string, required — Identifier of the jurisdiction overlay that produced this extension payload.
  - `profileVersion` string, required — Jurisdiction profile version used to compute the schedule.
  - `totalInterest` string, required — Sum of interest across all installments as a decimal string, minor-unit precision scale 2 (e.g. "4321.00").
  - `totalPrincipal` string, required — Sum of principal across all installments as a decimal string, minor-unit precision scale 2 (e.g. "50000.00").

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