Plan details
Plan details for a marketplace or Medicare Advantage plan: name, insurer or organization, plan type, the plan years we hold, and whether we hold its provider listings.
WHEN TO USE IT
Use it to show which plan a user picked, to validate a plan id before you store it, or to read available_years.
PATH PARAMETERS
| NAME | DESCRIPTION |
|---|---|
plan_idstring · Required | A marketplace plan id or a Medicare Advantage contract-plan-segment id. Example: 29276OH0970001 · H2526-001-000 |
QUERY PARAMETERS
| NAME | DESCRIPTION |
|---|---|
yearinteger · Optional | The plan year of the details. Default: the newest year we hold. Example: 2026 |
RESPONSE FIELDS
Every response has the envelope request_id, data_as_of, data, sources and notes (details). Fields of data:
| FIELD | DESCRIPTION |
|---|---|
marketstring | aca or ma. |
plan_idstring | The normalized plan id. |
plan_yearinteger | The plan year of these details: the year you sent, else the newest year we hold. |
plan_namestring | The plan name as published. |
issuerobject | Marketplace plans: the insurer. |
issuer.idstring | The 5-digit insurer id. |
issuer.namestring | The insurer name. |
statestring | Marketplace plans: the plan state. |
metal_levelstring | Marketplace plans: the metal level. |
plan_typestring | HMO, PPO, EPO, POS and similar. |
marketsstring[] | Marketplace plans: the markets the plan is sold in, for example Individual. |
network_idstring | Marketplace plans: the insurer's network id for this plan. |
variant_idsstring[] | Marketplace plans: every variant id of this plan. |
plan_details_availableboolean | true when plan name and plan details are included. |
listingsobject | Whether we hold provider listings for this plan. |
listings.has_listingsboolean | true when we hold provider listings for this plan. |
listings.as_ofdate | The date we read its directory. |
variantstring | null | Marketplace plans: the variant you sent, else null. |
input_plan_idstring | The plan id exactly as you sent it. |
available_yearsinteger[] | Every plan year we hold for this plan. |
linksobject | Related endpoints. |
links.providersstring | The path of the provider list for this plan. |
links.checkstring | A check path for this plan. Put an NPI in place of {npi}. |
contract_idstring | Medicare Advantage plans: the contract id (the part before the first dash). |
contract_namestring | Medicare Advantage plans: the contract name as published. |
organizationstring | Medicare Advantage plans: the organization that offers the plan. |
parent_organizationstring | Medicare Advantage plans: the parent organization. |
categorystring | Medicare Advantage plans: the plan category, for example MA-PD. |
snpobject | Medicare Advantage plans: special needs plan details. |
snp.is_snpboolean | true for a special needs plan. |
snp.typestring | The special needs plan type, as published. |
service_areaobject | Medicare Advantage plans: the service area. |
service_area.statesstring[] | States in the service area. |
service_area.countiesinteger | Number of counties in the service area. |
star_ratingnumber | null | Medicare Advantage plans: the overall star rating published for the plan. |
monthly_premiumobject | Medicare Advantage plans: the monthly premium range in US dollars. |
monthly_premium.mininteger | Lowest monthly premium. |
monthly_premium.maxinteger | Highest monthly premium. |
RESPONSES
A marketplace plan.
{ "request_id": "req_qekrIghme3OYo8pW", "data_as_of": "2026-10-29", "data": { "market": "aca", "plan_id": "29276OH0970001", "plan_year": 2026, "plan_name": "Anthem Bronze Pathway 10600 ($0 Virtual PCP + $0 Select Drugs)", "issuer": { "id": "29276", "name": "Anthem Blue Cross and Blue Shield" }, "state": "OH", "metal_level": "Bronze", "plan_type": "HMO", "markets": [ "Individual" ], "network_id": "OHN004", "variant_ids": [ "29276OH0970001-00", "29276OH0970001-01", "29276OH0970001-02", "29276OH0970001-03" ], "plan_details_available": true, "listings": { "has_listings": true, "as_of": "2026-07-27" }, "variant": null, "input_plan_id": "29276OH0970001", "available_years": [ 2026 ], "links": { "providers": "/v1/plans/29276OH0970001/providers", "check": "/v1/check?plan_id=29276OH0970001&npi={npi}" } }, "sources": [ { "type": "insurer_directory", "description": "Provider network directories published by health insurers", "as_of": "2026-10-29" }, { "type": "plan_catalog", "description": "Published health plan catalogs", "as_of": "2026-10-28" } ]}
A Medicare Advantage plan, with service area, star rating and premium range.
{ "request_id": "req_QQiaxVHE9rtUs9XV", "data_as_of": "2026-10-29", "data": { "market": "ma", "plan_id": "H2526-001-000", "plan_year": 2027, "plan_name": "DEVOTED CHOICE 001 OH (PPO)", "contract_id": "H2526", "contract_name": "DEVOTED HEALTH PLAN OF OHIO INC", "organization": "Devoted Health", "parent_organization": "Devoted Health, Inc.", "plan_type": "PPO", "category": "MA-PD", "snp": { "is_snp": false, "type": "Not Applicable" }, "service_area": { "states": [ "OH" ], "counties": 78 }, "star_rating": 4.5, "monthly_premium": { "min": 0, "max": 0 }, "plan_details_available": true, "listings": { "has_listings": true, "as_of": "2026-10-29" }, "input_plan_id": "H2526-001-000", "available_years": [ 2027, 2026 ], "links": { "providers": "/v1/plans/H2526-001-000/providers", "check": "/v1/check?plan_id=H2526-001-000&npi={npi}" } }, "sources": [ { "type": "plan_directory", "description": "Provider network directories published by Medicare Advantage plans", "as_of": "2026-10-29" }, { "type": "plan_catalog", "description": "Published health plan catalogs", "as_of": "2026-10-28" } ]}
The Authorization header is missing or malformed, or the key is unknown or revoked.
{ "type": "unauthorized", "title": "Missing API key", "status": 401, "detail": "Send `Authorization: Bearer ip_live_...`.", "instance": "/v1/plans/29276OH0970001", "request_id": "req_fyedh_HTRJB21DW8", "docs": "https://inplan.io/docs/errors#unauthorized"}
We hold no plan with this id, or not the year you asked for.
{ "type": "plan_not_found", "title": "Plan not found", "status": 404, "detail": "No plan found for 99999OH0010001.", "instance": "/v1/plans/99999OH0010001", "request_id": "req_yJz9v1z9Xg6vHNi9", "docs": "https://inplan.io/docs/errors#plan_not_found"}
ERROR FORMAT
Errors use application/problem+json (RFC 7807) with type, title, status, detail, instance, request_id and docs. Other statuses this endpoint can return: 400 (an id in neither format: invalid_plan_id), 403, 429 and 503. See Errors.
RATE-LIMIT HEADERS
Every response that passes the key and plan checks carries RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset, RateLimit-Policy, X-Quota-Limit, X-Quota-Remaining, X-Quota-Reset and X-Request-Id. Limits apply to each key. See Rate limits and quotas.
| PLAN | REQUESTS A SECOND | CALLS A MONTH |
|---|---|---|
| Free | 2 | 500 |
| Builder | 10 | 25,000 |
| Growth | 25 | 150,000 |
| Scale | Set with you | Set with you |