---
title: "ISO AMT capacity — largest bargain element with no AMT"
method: POST
path: "/v1/equity-comp/iso-amt-capacity"
tags: ["Equity compensation"]
---

# ISO AMT capacity — largest bargain element with no AMT

`POST /v1/equity-comp/iso-amt-capacity`

## Request

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

Finds the AMT crossover point: the largest ISO bargain element that can be exercised and held before the Alternative Minimum Tax begins, for the given income and filing status. AMT is monotone in the bargain element, so the answer is found by bisection through the tax §55 engine (bounded, ~60 iterations). If strike_price and fmv_at_exercise are given, the capacity is also expressed as a share count. Deterministic; not tax advice.

## Request body

- EquityCompISOAMTCapacityRequest
  - `tax_year` integer, required: Supported tax year (2025 or 2026).
  - `filing_status` 'single' | 'mfj' | 'mfs' | 'hoh', required
  - `ordinary_income` number: Other taxable income (the AMT baseline).
  - `other_amt_preference_items` number: Any AMT add-backs the taxpayer already has (optional).
  - `strike_price` number: Optional — with fmv_at_exercise, expresses capacity as shares.
  - `fmv_at_exercise` number

## Response `200`

ISO AMT capacity

- EquityCompISOAMTCapacityResponse
  - `result_id` string
  - `engine_version` string
  - `inputs` EquityCompISOAMTCapacityRequest
    - `tax_year` integer, required: Supported tax year (2025 or 2026).
    - `filing_status` 'single' | 'mfj' | 'mfs' | 'hoh', required
    - `ordinary_income` number: Other taxable income (the AMT baseline).
    - `other_amt_preference_items` number: Any AMT add-backs the taxpayer already has (optional).
    - `strike_price` number: Optional — with fmv_at_exercise, expresses capacity as shares.
    - `fmv_at_exercise` number
  - `result` object
    - `bargain_element_capacity` number: Largest bargain element exercisable with $0 AMT.
    - `shares_capacity` number: Capacity ÷ (fmv − strike), when both prices are given.
    - `unbounded` boolean: True if no AMT triggers up to the search cap.
  - `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)
