---
title: "Get interest plan"
method: GET
path: "/v1/interest/plan/{interestPlanId}"
tags: ["Interest engine"]
---

# Get interest plan

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

Get interest plan details. By default, returns the latest version of the interest plan.
You can optionally specify a `version_date` query parameter to retrieve the version that was active on a specific date.
If a `version_date` is provided, the endpoint returns the latest version with a start date less than or equal to the specified date.

## Path parameters

- `interestPlanId` string, required

## Query parameters

- `version_date` string, date

## Headers

- `Authorization` string, required

## Response `200`

OK

- GetInterestPlanResponse
  - `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.
  - `org_id` string — Organization/tenant ID.
  - `description` string — Challenge result
  - `currency_code` string — ISO 4217 3-letter currency code, For example, `986` = Brazilian real and `840` = US dollar.
  - `benchmark` 'BOE' | 'DI' | 'FED' | 'RBA' | 'RBI' | 'TO' — Market index used to measure interest value over time. For fixed interest, this field must be null. - `BOE`: Bank of England, UK - `DI`: Interbank Deposit Contract, Brazil - `FED`: Federal Reserve System, USA - `RBA`: Reserve Bank of Australia - `RBI`: Reserve Bank of India - `TO`: Overnight Interbank Target Rate (Tasa Objetivo), Mexico
  - `fixed_interet_rate` number, float — Fixed annual interest rate for investments or deposits. If a `benchmark` value is provided, this field must be null.
  - `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.
  - `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.
  - `tax_withholding` TaxWithholding — Tax withholding configuration. Replaces the standalone `fee_processing_code` field. Conditional rules enforced at creation/update time: - `ACCRUAL`: `fee_processing_code` is required; `tax_rules` must be omitted. - `CAPITALIZATION`: `tax_rules` is required; `fee_processing_code` must be omitted. - Omitted `withholding_moment`: both `fee_processing_code` and `tax_rules` must be omitted. In GET responses, legacy plans that predate this field may return `fee_processing_code` with a null `withholding_moment`.
    - `withholding_moment` 'ACCRUAL' | 'CAPITALIZATION', required — Moment at which tax is withheld. When omitted, no withholding applies.
    - `fee_processing_code` string, number — Processing code configured in the [fee model](https://developers.pismo.io/pismo-docs/docs/fee-model) for charging a tax, penalty, or fee.
    - `tax_rules` TaxRule[]
      - `description` string, required — Description of the tax rule.
      - `fixed_percentage` number, required — Fixed percentage applied by the tax rule.
      - `threshold_amount` number — Amount threshold above which the tax rule applies.
  - `accrual_basis` 'BD/252' | 'ACTUAL/360' | 'ACTUAL/365' | 'ACTUAL/ACTUAL' — Method used to calculate interest accrual. * `BD/252`: Calculates daily interest using a 252-day year and the actual number of business days in each time period. * `ACTUAL/360`: Calculates daily interest using a 360-day year and the actual number of days in each time period. * `ACTUAL/365`: Calculates daily interest using a 365-day year and the actual number of days in each time period. * `ACTUAL/ACTUAL`: Calculates daily interest using the actual number of days in the year (which in the leap year is 366) and the actual number of days in each time period.
  - `interest_type` 'SIMPLE' | 'COMPOUND' — Interest calculation type - `SIMPLE`: Calculated on the original deposit or investment value. - `COMPOUND`: Calculated on the original value plus the last accumulated interest.
  - `capitalization_frequency` 'DAILY' | 'MONTHLY' | 'QUARTERLY' | 'HALF_YEARLY' | 'YEARLY' | 'MATURITY' — Interest payout frequency
  - `accrual_frequency` 'DAILY' | 'MONTHLY' | 'QUARTERLY' | 'HALF_YEARLY' | 'YEARLY' | 'MATURITY' — Interest accrual frequency
  - `interest_base_model` 'CLOSING-BALANCE' | 'BALANCE-CHANGE' — Interest calculation model. `CLOSING-BALANCE` uses the end-of-day balance. `BALANCE-CHANGE` uses balance variation events. Defaults to `CLOSING-BALANCE`.

## Other responses

- `400` — Bad request
- `401` — Access token is missing or invalid
- `404` — Not Found
- `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/versions/935b62e16de4/schema)
