Saltar al contenido principal
POST
Preview amortisation schedule

Autorizaciones

Authorization
string
header
requerido

JWT bearer token issued by the identity provider.

Cuerpo

application/json
annualInterestRate
string
requerido

Annual interest rate as a decimal string (e.g. "0.12000000").

Ejemplo:

"0.12000000"

dayCountConvention
string
requerido

Day count convention identifier.

Ejemplo:

"ACT/365"

jurisdictionCode
string
requerido

ISO-2 jurisdiction code.

Required string length: 2
Ejemplo:

"BR"

principalAmount
string
requerido

Principal amount as a decimal string (e.g. "50000.00").

Ejemplo:

"50000.00"

startDate
string
requerido

Schedule start date (RFC3339 or YYYY-MM-DD).

Ejemplo:

"2026-06-14T00:00:00Z"

termMonths
integer<int64>
requerido

Number of months.

Rango requerido: 1 <= x <= 600
Ejemplo:

24

firstDueDate
string

Day the first instalment falls due (RFC3339 or YYYY-MM-DD). Omit it and the first instalment falls one month after the start date, clamped to the month's last day, which is the ordinary grid. Supply it and it becomes the grid: every later instalment falls on that day of the month, clamped to each month's last day so a ladder anchored on the 31st falls on the 30th in April and never spills into May, and the first period runs from the start date to this day — longer or shorter than a month, and charged by its real days. Naming the day the ordinary grid was going to fall on anyway is the same as omitting it, and prices the same ladder; naming any other day re-anchors the whole ladder on it, so two requests one day apart can move the SECOND instalment by more than one day. Refused when it is worth zero or fewer days from the start date by this day-count convention, when its first period would cost the whole instalment in interest so the first payment repays no principal, or when gracePeriodDays is also set.

Ejemplo:

"2026-03-10"

gracePeriodDays
integer<int64>

Grace period in days: the first instalment falls this many days after the start date instead of one month. Mutually exclusive with firstDueDate, which says the same thing by naming the day; sending both is refused.

Rango requerido: 0 <= x <= 365
Ejemplo:

30

loanProductVersionId
string<uuid>

Loan product version whose admitted first-due-date window this preview should be bounded by. Optional: omit it and the preview prices whatever the arithmetic allows, which is what a quote made before a product is picked needs. Supply it together with firstDueDate and the preview answers the same refusal booking will, rather than quoting a ladder the door will not take.

Ejemplo:

"018f4e4e-7a3f-7c2e-9a1b-2c3d4e5f6071"

Respuesta

OK

calendarReference
string
requerido

Identifier of the business calendar used to resolve due dates.

dayCountConvention
string
requerido

Day count convention applied to interest accrual.

Ejemplo:

"ACT/365"

installments
object[] | null
requerido

Ordered amortisation schedule, one entry per installment.

jurisdictionCode
string
requerido

ISO-2 jurisdiction code resolved for this preview.

Ejemplo:

"BR"

profileVersion
string
requerido

Jurisdiction profile version used to compute the schedule.

Ejemplo:

"1.0.0"

totalInterest
string
requerido

Sum of interest across all installments as a decimal string, minor-unit precision scale 2 (e.g. "4321.00").

Ejemplo:

"4321.00"

totalPrincipal
string
requerido

Sum of principal across all installments as a decimal string, minor-unit precision scale 2 (e.g. "50000.00").

Ejemplo:

"50000.00"

effectiveCostPreview
object

Effective-cost breakdown; present only when the jurisdiction profile computes one.

jurisdictionExtensions
object

Per-jurisdiction overlay payload; present only when the profile emits one.

scheduleOfferSnapshotId
string

Identifier of the offer this preview recorded; derived from the frozen inputs, so an identical preview returns the same value. Absent whenever no offer was recorded — the request carries no tenant identity, the offer store was unavailable, or the service is misconfigured — and the schedule is returned in every one of those cases.

Ejemplo:

"6f2b9a41-0c3d-5e7f-9a12-4b8c6d0e1f37"