---
title: "Medicare Part B & Part D late-enrollment penalties"
method: POST
path: "/v1/medicare/late-enrollment-penalty"
tags: ["Healthcare"]
---

# Medicare Part B & Part D late-enrollment penalties

`POST /v1/medicare/late-enrollment-penalty`

## Request

- Base URL: `https://api.numeratica.com`
- URL: `https://api.numeratica.com/v1/medicare/late-enrollment-penalty`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Computes the permanent Medicare late-enrollment penalties (LEP) for delaying Part B and/or Part D without qualifying coverage. Part B adds 10% of the standard Part B premium for each full 12-month period late; Part D adds 1% of the national base beneficiary premium for each full month without creditable drug coverage — both rounded to the nearest $0.10 and paid for life. Returns the monthly, annual, and projected lifetime surcharge. Year-keyed CMS/SSA figures. Deterministic; confirm determinations with Medicare/SSA.

## Request body

- MedicareLEPRequest
  - `year` integer: Benefit year; omit for 2026.
  - `part_b_months_late` integer: Months eligible but not enrolled in Part B without qualifying coverage.
  - `part_d_months_late` integer: Full months without creditable drug coverage (63+ day gaps).
  - `projection_years` integer: Years to project the lifetime cost; omit for 20.

## Response `200`

The penalty breakdown

- MedicareLEPResponse
  - `result_id` string
  - `engine_version` string
  - `inputs` MedicareLEPRequest
    - `year` integer: Benefit year; omit for 2026.
    - `part_b_months_late` integer: Months eligible but not enrolled in Part B without qualifying coverage.
    - `part_d_months_late` integer: Full months without creditable drug coverage (63+ day gaps).
    - `projection_years` integer: Years to project the lifetime cost; omit for 20.
  - `result` object
    - `year` integer
    - `part_b_standard_premium` number: Monthly standard Part B premium (from the IRMAA tables).
    - `part_b_full_periods_late` integer: Full 12-month periods late.
    - `part_b_monthly_penalty` number
    - `part_d_base_premium` number: National base beneficiary premium.
    - `part_d_monthly_penalty` number
    - `combined_monthly_penalty` number
    - `annual_penalty` number: Combined × 12.
    - `projection_years` integer
    - `lifetime_penalty` number: Annual × projection years.
  - `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)
