---
title: "Optimize an inherited-IRA 10-year drawdown (SECURE Act)"
method: POST
path: "/v1/inherited-ira"
tags: ["Retirement"]
---

# Optimize an inherited-IRA 10-year drawdown (SECURE Act)

`POST /v1/inherited-ira`

## Request

- Base URL: `https://api.numeratica.com`
- URL: `https://api.numeratica.com/v1/inherited-ira`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Compares distribution schedules for a non-spouse inherited traditional IRA that must be emptied within 10 years, and recommends the one that leaves the heir with the most after-tax wealth. Because the account is fully distributed and proceeds are reinvested at the same rate, terminal wealth = grossFV − future-value-of-taxes, so the optimizer minimizes the FV of taxes — trading off deferral against bracket-spiking. Strategies: even, bracket_fill (up to the target bracket), defer, immediate. Composes the federal tax engine. Brackets held constant across the window; supply annual_rmd_floor when the decedent had begun RMDs. Deterministic.

## Request body

- InheritedIRARequest
  - `inherited_balance` number, required
  - `account_growth_rate` number, required
  - `years` integer: Distribution window (10 under SECURE).
  - `tax_year` 2025 | 2026, required
  - `filing_status` 'single' | 'mfj' | 'mfs' | 'hoh', required
  - `other_income` number: Heir's annual ordinary income outside the IRA.
  - `other_income_schedule` number[]: Optional per-year income (length = years); overrides other_income.
  - `target_bracket` number: Marginal rate the bracket_fill strategy fills up to.
  - `annual_rmd_floor` number: Minimum yearly distribution (e.g. when the decedent had begun RMDs).

## Response `200`

Drawdown comparison

- InheritedIRAResponse
  - `result_id` string
  - `engine_version` string
  - `inputs` InheritedIRARequest
    - `inherited_balance` number, required
    - `account_growth_rate` number, required
    - `years` integer: Distribution window (10 under SECURE).
    - `tax_year` 2025 | 2026, required
    - `filing_status` 'single' | 'mfj' | 'mfs' | 'hoh', required
    - `other_income` number: Heir's annual ordinary income outside the IRA.
    - `other_income_schedule` number[]: Optional per-year income (length = years); overrides other_income.
    - `target_bracket` number: Marginal rate the bracket_fill strategy fills up to.
    - `annual_rmd_floor` number: Minimum yearly distribution (e.g. when the decedent had begun RMDs).
  - `result` object
    - `gross_future_value` number: balance·(1+r)^N (same for every schedule).
    - `recommended` 'even' | 'bracket_fill' | 'defer' | 'immediate'
    - `tax_savings_vs_worst` number: FV-of-tax gap between the best and worst schedule.
    - `strategies` object[]
      - `name` string
      - `total_tax` number: Nominal cumulative tax.
      - `future_value_of_taxes` number
      - `terminal_after_tax_wealth` number
      - `schedule` object[]
        - `year` integer
        - `beginning_balance` number
        - `distribution` number
        - `other_income` number
        - `incremental_tax` number
        - `marginal_rate` number
        - `ending_balance` number
  - `disclaimer` string

## Other responses

- `400`: Invalid request
- `401`: Missing or invalid API key.
- `405`: Method not allowed
- `429`: The key's per-minute request budget is exceeded. Retry after the delay in the Retry-After header.
- `503`: A dependency (e.g. the key store) is temporarily unavailable, or the request exceeded its compute deadline. Retryable.

---

[API](https://skmtc.dev/numeratica/apis/numeratica-financial-planning-calculations-api.md) · [All operations](https://skmtc.dev/numeratica/apis/numeratica-financial-planning-calculations-api/llms.txt) · [OpenAPI document](https://skmtc.dev/numeratica/apis/numeratica-financial-planning-calculations-api/revisions/075bcfbd1ebf?raw)
