---
title: "ISO exercise → AMT impact (§55, via the tax engine)"
method: POST
path: "/v1/equity-comp/iso"
tags: ["Equity compensation"]
---

# ISO exercise → AMT impact (§55, via the tax engine)

`POST /v1/equity-comp/iso`

## Request

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

Computes the Alternative Minimum Tax impact of exercising and holding incentive stock options. The bargain element ((fmv − strike) × shares) is an AMT preference; it is routed through the tax engine's §55 path (run with and without the preference) so the incremental AMT — which generally becomes a Minimum Tax Credit (§53) in later years — reflects the current exemption and phase-out. Held past year-end (no regular-tax income / no disqualifying disposition). Deterministic; not tax advice.

## Request body

- EquityCompISORequest
  - `tax_year` integer, required: Supported tax year (2025 or 2026).
  - `filing_status` 'single' | 'mfj' | 'mfs' | 'hoh', required
  - `ordinary_income` number: Other taxable income, to set the AMT baseline.
  - `shares` number, required
  - `strike_price` number, required
  - `fmv_at_exercise` number, required
  - `other_amt_preference_items` number: Any additional AMT add-backs the taxpayer already has (optional).
  - `sale_price` number: Optional. If given, also returns the same-year disqualifying-disposition outcome (sell the shares now: ordinary income, no AMT).

## Response `200`

ISO AMT impact

- EquityCompISOResponse
  - `result_id` string
  - `engine_version` string
  - `inputs` EquityCompISORequest
    - `tax_year` integer, required: Supported tax year (2025 or 2026).
    - `filing_status` 'single' | 'mfj' | 'mfs' | 'hoh', required
    - `ordinary_income` number: Other taxable income, to set the AMT baseline.
    - `shares` number, required
    - `strike_price` number, required
    - `fmv_at_exercise` number, required
    - `other_amt_preference_items` number: Any additional AMT add-backs the taxpayer already has (optional).
    - `sale_price` number: Optional. If given, also returns the same-year disqualifying-disposition outcome (sell the shares now: ordinary income, no AMT).
  - `result` object
    - `bargain_element` number: (fmv − strike) × shares; the AMT preference.
    - `amt_without_exercise` number: AMT on the baseline income alone.
    - `amt_with_exercise` number: AMT including the bargain-element preference.
    - `incremental_amt` number: Extra tax caused by exercising.
    - `amt_credit_carryforward` number: Minimum Tax Credit (§53) generally usable against regular tax in later years.
    - `disqualifying_disposition` object: Present only when sale_price is given — the alternative to holding (no AMT, but ordinary income now).
      - `ordinary_income` number: The bargain element capped at the actual gain.
      - `capital_gain` number: Short-term gain above the exercise FMV (negative ⇒ a capital loss).
  - `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)
