---
title: "Create interest plan version"
method: PATCH
path: "/v1/interest/plan/{interestPlanId}"
tags: ["Interest engine"]
---

# Create interest plan version

`PATCH /v1/interest/plan/{interestPlanId}`

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](https://developers.pismo.io/events/docs/interest-engine-interest-plan-creation-success-1) event.

## Path parameters

- `interestPlanId` string, required

## Headers

- `Authorization` string, required
- `content-type` string, required

## Request body

- InterestPlanVersionRequest
  - `start_date` string, date, required — Date to start applying the new interest plan version. Format = YYYY-MM-DD. Must be greater than or equal to current date.
  - `description` string — Challenge result
  - `fixed_interest_rate` number, float — Fixed annual interest rate for investments or deposits. If a `benchmark` value is provided, this field must be null.
  - `margin` number, 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_rate` number, 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.
  - `interest_by_tiers` InterestByTiers — Interest by tiers configuration
    - `type` 'TERM' | 'AMOUNT', required — Interest type - `TERM`: Interest rate varies according to the period of time since the deposit was made. - `AMOUNT`: Interest rate varies according to the current balance.
    - `tier_calculation` 'RETROACTIVE' | 'NON-RETROACTIVE', required — Tier calculation method - `RETROACTIVE`: Interest is recalculated from the beginning based on the new applicable rate. - `NON-RETROACTIVE`: Interest is calculated progressively based on each layer rate.
    - `tiers` InterestByTiersArrayObject[], required
      - `days` integer — Number of days in `interest_by_tier`
      - `amount` number, double — Fee amount.
      - `margin_rate` number, 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.
      - `fixed_interest_rate` number, float — Fixed annual interest rate for investments or deposits. If a `benchmark` value is provided, this field must be null.
  - `interest_thresholds` InterestThresholds — Cap and floor thresholds for the interest plan
    - `cap_threshold` number, double — Cap threshold value. If you provide a value for `cap_threshold`, you must also provide a value for `cap_effective_rate`.
    - `cap_effective_rate` number, double — Cap effective rate. If you provide a value for `cap_effective_rate`, you must also provide a value for `cap_threshold`.
    - `floor_threshold` number, double — Floor threshold value
    - `floor_effective_rate` number, double — Floor effective rate

## Response `200`

OK

- InterestPlanVersionResponse
  - `interest_plan_id` string, UUID — Interest plan ID generated during the plan's creation. Must be an alphanumeric UUID with the alphabetical characters in lowercase.
  - `version` string — ID for the new interest plan version

## Other responses

- `400` — Bad request
- `404` — Not Found
- `409` — The specified resource status conflicts with the current request.
- `500` — Internal server error

---

[API](https://skmtc.net/pismo/apis/platform-authentication.md) · [All operations](https://skmtc.net/pismo/apis/platform-authentication/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/pismo/platform-authentication/revisions/935b62e16de4/schema)
