> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.modernfi.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.modernfi.com/_mcp/server.

# v1.6.2

See below for our latest API changes. This release introduces **Custom Benchmarks** and **floating / indexed rates** — you can now tie account and pricing-group rates to market reference rates (SOFR, EFFR, Prime, and more) or to your own custom benchmarks, instead of managing fixed rates by hand. We recommend reviewing this page closely before beginning development or upgrading to a new API version.

## New Endpoints

**Custom Benchmarks** — Define and manage your own reference rates, then attach them to accounts and pricing-group rate tiers as a floating-rate index.

* **`GET /digital-banking/v1/custom-benchmarks`** — List all custom benchmarks for your institution, including their current rates.
* **`POST /digital-banking/v1/custom-benchmarks`** — Create a custom benchmark with a `name`, optional `description`, and an initial `rate` (decimal, e.g. `0.0425` for 4.25%).
* **`GET /digital-banking/v1/custom-benchmarks/{custom_benchmark_id}`** — Retrieve a single custom benchmark.
* **`PATCH /digital-banking/v1/custom-benchmarks/{custom_benchmark_id}`** — Update a benchmark's `name` and/or `description`. Does not change its rate.
* **`PUT /digital-banking/v1/custom-benchmarks/{custom_benchmark_id}`** — Set a new `rate`, optionally as of a future `effective_at` timestamp. Accounts indexed to the benchmark update automatically, and historical rates are preserved.
* **`DELETE /digital-banking/v1/custom-benchmarks/{custom_benchmark_id}`** — Delete a custom benchmark.

## Updated Endpoints

* **`POST /digital-banking/v1/accounts`** (Create Account) and **`PATCH /digital-banking/v1/accounts/{account_id}`** (Update Account)
  * Accounts can now be opened or updated as floating-rate, indexed to a market reference rate or a custom benchmark. See the new `rate_configuration` and rate-index fields on `AccountResponse` below.

## Schema Changes

* **`AccountResponse`** — added rate-configuration fields:
  * `rate_configuration` (`RateConfiguration` enum, **required**) — how the account's rate is determined: `FIXED`, `FLOATING_MARKET`, `FLOATING_CUSTOM`, or `TIERED`.
  * `rate` (string, nullable), `index_rate` (string, nullable), and `rate_index_type` (`ReferenceRateType`, nullable) — the resolved rate and, for floating accounts, the market index it tracks.
  * `custom_benchmark_id` (uuid, nullable) and `custom_benchmark_rate` (string, nullable) — the custom benchmark the account is indexed to, if any.
  * `floating_spread`, `floating_spread_bps`, and `floating_rate_percentage` (nullable) — the spread/percentage applied over the index.

* **`InterestRateTier`** and **`PricingGroupRateTier`** (request & response)
  * Added `rate_index_type` (`ReferenceRateType`, nullable), `custom_benchmark_id` (uuid, nullable), and `floating_rate_percentage` (nullable) — rate tiers can now float against a market index or custom benchmark instead of being fixed.

* **New enums**
  * `RateConfiguration` — `FIXED`, `FLOATING_MARKET`, `FLOATING_CUSTOM`, `TIERED`
  * `ReferenceRateType` — market reference rates including `EFFR`, `SOFR_1M`/`SOFR_3M`/`SOFR_6M`/`SOFR_12M`, `CMT_3M`, `WSJ_PRIME`, and Fidelity money-market rates

* **New schemas:** `CreateCustomBenchmarkRequest`, `PatchCustomBenchmarkRequest`, `UpdateCustomBenchmarkRateRequest`