---
title: "Get simulation config"
method: GET
path: "/v1/simulation/configs/{simulation_config_id}"
tags: ["Simulation"]
---

# Get simulation config

`GET /v1/simulation/configs/{simulation_config_id}`

## Request

- Base URL: `https://sandbox.pismolabs.io/rates`
- URL: `https://sandbox.pismolabs.io/rates/v1/simulation/configs/{simulation_config_id}`
- Auth: HTTP bearer

Get simulation configuration given its ID in the path.

## Path parameters

- `simulation_config_id` string, required

## Response `200`

OK

- SimulationConfigDetails
  - `config_id` string: Simulation configuration ID.
  - `description` string: Simulation configuration description
  - `plans` Plans[]: Customer plans created
    - `id` string: Customer plan identifier
    - `description` string: Custom simulation plan description
    - `engine` 'EXTERNAL' | 'PISMO': Calculation engine type: `PISMO` - Uses Pismo's internal calculation methods (default). Requires `calculation_parameters`, `installments`, and `billing_method`. `EXTERNAL` - Delegates calculation to an external service. Requires `calculation_url` (set on update only).
    - `calculation_url` string, uri: URL of your external calculation endpoint. **REQUIRED** when `engine` is `EXTERNAL`. **IMPORTANT:** Cannot be provided during plan creation (POST) — set this field on the first update (PUT) after creation. Once set, this URL is immutable and cannot be changed. Your external engine must respond within 3 seconds.
    - `authentication` object: Authentication configuration for external calculation engine. **REQUIRED** when `engine` is `EXTERNAL`.
      - `authentication_method` 'JWT_DEFAULT': Authentication method for calling your external engine.
    - `calculation_parameters` union: Calculation parameters for Pismo's internal calculation methods. **REQUIRED** when `engine` is `PISMO` or not specified. **MUST NOT** be provided when `engine` is `EXTERNAL`.
      - SimulationCalculationPriceTable
        - `calculation_method` 'PRICE_TABLE', required: Calculation method - `PRICE_TABLE`.
        - `index` 'INSTALLMENT': Define range type when interest rate is dynamic.
        - `fixed` number: Fixed fee amount as decimal field.
        - `percentage` number: Percentage amount as decimal field.
        - `fixed_iof_rate` number, required: Percentage amount as decimal field. IOF = Brazilian tax.
        - `daily_iof_rate` number, required: Percentage amount as decimal field. IOF = Brazilian tax.
        - `interest_rate` InterestRate, required
          - `type` 'FIXED' | 'DYNAMIC', required: Fee type: `FIXED` - Field `value` is required and will be used as interest rate. Field `grace_period` is optional. `DYNAMIC` - Field `rules` is required and the value used as interest rate will be selected according to the installment ranges configured.
          - `value` number: Percentage amount as decimal field. Value used as interest rate. **REQUIRED** for `FIXED` type.
          - `grace_period` object: Optional grace period before interest begins. Only applicable when interest rate `type` is `FIXED`. **Only processed for the `EQUAL_INSTALLMENTS` calculation method.** Silently ignored for all other methods (e.g., `PRICE_TABLE`, `DAILY_PERCENTAGE`).
            - `type` 'FIXED', required
            - `value` number, required: Number of periods to skip before interest begins.
          - `rules` InterestRateRule[]: Installment ranges responsible to configure the value used as interest rate. **REQUIRED** for `DYNAMIC` type.
            - `minimum` number, required: First installment the rule is applied to. For example, if you enter "4", rule application begins on the 4th installment. Must be 1 or higher.
            - `maximum` number, required: Last installment the rule is applied to. For example, if you enter "10", rule application ends after the 10th installment.
            - `calculation` RuleCalculation, required
              - …
            - `progression` Progression: Rate progression configuration.
              - …
      - SimulationCalculationDailyPercentage
        - `calculation_method` 'DAILY_PERCENTAGE', required: Calculation method - `DAILY_PERCENTAGE`. Applied to credit card cash advances and other loan-type products.
        - `value` number, required: Percentage amount as decimal field.
        - `identifier` string, required: Plan identifier used to reference this daily percentage strategy.
      - SimulationCalculationEqualInstallments: Calculation parameters for the `EQUAL_INSTALLMENTS` method. Produces equal amortization installments with a fixed or dynamic interest rate and optional internal fees (e.g., IOF).
        - `calculation_method` 'EQUAL_INSTALLMENTS', required: Calculation method - `EQUAL_INSTALLMENTS`.
        - `day_count_method` 'MONTH_30_YEAR_360' | 'MONTH_ACTUAL_YEAR_365': Day count convention used to calculate interest
        - `interest_rate` InterestRate, required
          - `type` 'FIXED' | 'DYNAMIC', required: Fee type: `FIXED` - Field `value` is required and will be used as interest rate. Field `grace_period` is optional. `DYNAMIC` - Field `rules` is required and the value used as interest rate will be selected according to the installment ranges configured.
          - `value` number: Percentage amount as decimal field. Value used as interest rate. **REQUIRED** for `FIXED` type.
          - `grace_period` object: Optional grace period before interest begins. Only applicable when interest rate `type` is `FIXED`. **Only processed for the `EQUAL_INSTALLMENTS` calculation method.** Silently ignored for all other methods (e.g., `PRICE_TABLE`, `DAILY_PERCENTAGE`).
            - `type` 'FIXED', required
            - `value` number, required: Number of periods to skip before interest begins.
          - `rules` InterestRateRule[]: Installment ranges responsible to configure the value used as interest rate. **REQUIRED** for `DYNAMIC` type.
            - `minimum` number, required: First installment the rule is applied to. For example, if you enter "4", rule application begins on the 4th installment. Must be 1 or higher.
            - `maximum` number, required: Last installment the rule is applied to. For example, if you enter "10", rule application ends after the 10th installment.
            - `calculation` RuleCalculation, required
              - …
            - `progression` Progression: Rate progression configuration.
              - …
        - `identifier` string, required: Plan identifier used to reference this equal installments strategy.
        - `fees` SimulationStrategyInternalFee[]: List of internal fees applied within the installment calculation (e.g., IOF). Supported strategies: `PERCENTAGE`, `FIXED`, `DAILY_PERCENTAGE`, `IOF`.
          - `calculation` 'PERCENTAGE' | 'FIXED' | 'DAILY_PERCENTAGE' | 'IOF', required: Fee calculation strategy.
          - `id` string, required: Fee identifier.
          - `precedence` integer, required: Fee calculation order. Lower numbers are applied first.
          - `value` number: Fee value as a decimal. Required for `PERCENTAGE`, `FIXED`, and `DAILY_PERCENTAGE` strategies.
          - `calculation_basis` 'PRINCIPAL_AMOUNT' | 'CONTRACT_AMOUNT', required: Calculation basis for the fee.
          - `fixed_iof_rate` number: Fixed IOF rate as a decimal. Required when `calculation` is `IOF`.
          - `daily_iof_rate` number: Daily IOF rate as a decimal. Required when `calculation` is `IOF`.
    - `interest_limitation` SimulationInterestLimitation
      - `calculation_basis` 'PRINCIPAL_AMOUNT', required: Basis used to calculate the interest limitation.
      - `percentage` number, required: Maximum interest percentage allowed over the life of the plan.
    - `down_payment_method` SimulationDownPaymentMethod
      - `type` 'PERCENTAGE' | 'INSTALLMENT_EQUIVALENT', required: Down payment calculation method: `PERCENTAGE` - Field `value` is **REQUIRED**; the down payment is a percentage of the transaction amount (max 100). `INSTALLMENT_EQUIVALENT` - Field `value` must be absent; the down payment equals one installment value.
      - `value` number: Percentage value for the down payment. **REQUIRED** when `type` is `PERCENTAGE`. Must be absent when `type` is `INSTALLMENT_EQUIVALENT`.
    - `installments` integer[]: Array containing the installment numbers for which the plan is applicable. **REQUIRED** when `engine` is `PISMO`.
    - `billing_method` 'BNPL' | 'CARD': Plan billing method. **REQUIRED** when `engine` is `PISMO`. `BNPL` - Field `frequency` is **REQUIRED** `CARD` - Field `frequency` is the same as the card, and the field should be **NULL**.
    - `frequency` 'MONTHLY' | 'WEEKLY' | 'BIWEEKLY': Frequency of the billing. Required for billing_method = `BNPL`
    - `installment_parameters` SimulationInstallmentParameters
      - `minimum_installment_value` object
        - `type` 'FIXED' | 'DYNAMIC': Value type: `FIXED` - a single scalar `value` applies to all installments. `DYNAMIC` - per-installment values provided in the `values` map.
        - `value` number: Minimum installment value (used when `type` is `FIXED`).
        - `values` object: Map of installment number (as string key) to minimum value. Used when `type` is `DYNAMIC`. Example: `{"1": 50.0, "2": 100.0}`.
      - `number_of_initial_periods_to_skip` object: Number of initial installments to be skipped before billing starts.
        - `type` 'FIXED' | 'DYNAMIC': Value type: `FIXED` - a single scalar `value` applies. `DYNAMIC` - per-installment values provided in the `values` map.
        - `value` integer: Number of periods to skip (used when `type` is `FIXED`).
        - `values` object: Map of installment number (as string key) to number of periods to skip. Used when `type` is `DYNAMIC`.
    - `filters` object: Simulation configuration filters
      - `merchants` string[]: Array containing the merchants for whom the plan applies
      - `processing_codes` string[]: Array containing the processing codes for whom the plan applies
      - `custom_filters` string[]: Array containing plan custom filters

## Other responses

- `400`: Bad request
- `401`: InvalidToken
- `404`: Simulation configuration not found
- `500`: Internal Server Error

---

[API](https://skmtc.dev/pismo/apis/platform-setup-rates-and-fees.md) - [All operations](https://skmtc.dev/pismo/apis/platform-setup-rates-and-fees/llms.txt) - [OpenAPI document](https://skmtc.dev/pismo/apis/platform-setup-rates-and-fees/revisions/9b015a025dd8?raw)
