v1

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

Get interest plan

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.

get/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.

Query parameters

version_datestring date

Optional date to retrieve a specific version of the interest plan. If not provided, returns the latest version. Format = YYYY-MM-DD.

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.

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.

org_idstring

Organization/tenant ID.

descriptionstring

Challenge result

currency_codestring

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_ratenumber float

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

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.

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.

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.

Example response

{
  "interest_plan_id": "07d84f79-3027-47bd-b628-65528ccc8fb2",
  "org_id": "TN-34778262-f4f0-464d-b4c6-a14exxxxxxxx",
  "description": "Challenge expired",
  "currency_code": "840",
  "benchmark": "FED",
  "fixed_interet_rate": 0.1,
  "margin_rate": 1.1,
  "margin": 0.02,
  "tax_withholding": {
    "withholding_moment": "ACCRUAL",
    "fee_processing_code": "001100",
    "tax_rules": [
      {
        "description": "IOF",
        "fixed_percentage": 0.0038,
        "threshold_amount": 1000
      }
    ]
  },
  "accrual_basis": "ACTUAL/365",
  "interest_type": "SIMPLE",
  "capitalization_frequency": "DAILY",
  "accrual_frequency": "DAILY",
  "interest_base_model": "CLOSING-BALANCE"
}