Create interest plan version

Create a new version of an existing interest plan. This endpoint allows you to update specific fields while preserving others from the previous version.

Key features:

  • Creates a new version with the specified start_date.
  • Updates only the provided fields—any field not specified inherits the value from the previous version.
  • Validates that the new start_date is after the start_date of the previous version.
  • Maintains immutable fields like interest_type and tier_calculation.
  • Preserves existing tiers when updating interest_by_tiers—only specified tiers are updated.

This endpoint generates an Interest plan created event.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
string
required

Interest plan ID generated during the plan's creation. Must be an alphanumeric UUID with the alphabetical characters in lowercase.

Body Params

Request body

date
required

Date to start applying the new interest plan version. Format = YYYY-MM-DD. Must be greater than or equal to current date.

string

Interest plan name

float | null

Nominal annual interest rate, expressed as a decimal fraction. 0.10 = 10% per year. 1.00 = 100% per year. Do not send 10 for 10%. Maximum precision: 8 decimal places. The platform converts this annual rate to the accrual period using accrual_basis and interest_type.

If you pass a value for benchmark, this field must be null. Otherwise, it's required.

double

Additive spread, in the same unit and period as the benchmark rate: nominal annual, decimal fraction. If benchmark is 0.025 and margin is 0.0225, the resulting annual rate is 0.0475.

If you pass a value for benchmark, this field is optional. If benchmark is null, this field must be null also.

double | null

Multiplier applied to the benchmark rate, expressed as a decimal fraction of 100%. 1.00 = 100% of the benchmark. 1.10 = 110% of the benchmark. 0.95 = 95% of the benchmark. This is not added to the benchmark—use margin for an additive spread.

If you don't pass a value for benchmark, this field must be null. Otherwise, it's required.

interest_by_tiers
object

Interest by tiers configuration

interest_thresholds
object

Cap and floor thresholds for the interest plan

Responses

401

Unauthorized. The response body is produced by the upstream authentication gateway and is not defined by this service.

Language
Credentials
Bearer
JWT
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json