v1

latestOpenAPI 3.1.0Copyright Pismo2026-07-247702,7523.1 MB
Interest engine

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.

patch/v1/interest/plan/{interestPlanId}

Path parameters

interestPlanIdstring required

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

Headers

Authorizationstring required

Account token - an access token encoded with a Pismo account ID. Tokens can expire quickly, which can result in a "** 401 Unauthorized**" error.

content-typestring required

Content type

Request body

start_datestring date required

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

descriptionstring

Challenge result

fixed_interest_ratenumber float

Fixed annual interest rate for investments or deposits. If a benchmark value is provided, this field must be null.

marginnumber double

Also known as a spread, this is an incremental rate the clients receive on investments or deposits. If a benchmark value is provided, this field is optional. If benchmark is null, this field must be null also.

margin_ratenumber double

Rate linked to the benchmark rate. For example, for 110% FED, margin rate is 110%. If a benchmark value is not provided, this field must be null.

Example request

{
  "start_date": "2025-06-17",
  "description": "BANKING PLAN v2",
  "margin": 0.05,
  "margin_rate": 1.2
}

Response

OK

interest_plan_idstring UUID

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

versionstring

ID for the new interest plan version

Example response

{
  "interest_plan_id": "07d84f79-3027-47bd-b628-65528ccc8fb2",
  "version": "2025-06-17"
}