Skip to main content
This page is our posted library (GET /v1/policies). Uploading your manuals is a different API — Your policy documents. Upload facts never land here.

What is in the mart today

If the array is empty, we do not have that payer’s document for that code. We do not fill with Medicare. Try these first (sandbox rows that are in the mart):
99213 on UHC commercial is often empty — that E/M coding policy lives in the reimbursement bulletin index (titles only until those PDFs are parsed). Use 99202 or an anesthesia code (00100) if you want a non-empty commercial example. Playground and curl return the live mart row. Field list: API Reference. policies: [] and count: 0 means that code is not in the mart yet.

Look up cited policy

Coding engines need cited payer policy, not a single Medicare blob. Use GET /v1/policies with an X-API-Key. Medicare FFS is national for NCDs and MAC-scoped for LCDs. Massachusetts and New York are both MAC JK (NGS). Omit state (or send scope=general) to get national rows only. Commercial and Medicaid queries return that payer’s documents only. NCDs, LCDs, MACs, and payer_slug: cms are Medicare constructs — they are not mixed into a United or Anthem response, even when the same CPT is covered by a CMS rule.

Empty is the contract

If we do not have that payer’s policy for the code, policies is [] and count is 0. We do not substitute Medicare, another payer, or an unlabeled row. The same rule applies to GET /v1/payers/{slug}/claim-intelligence (policy_rules) and to plan_type: a row with no plan type is not treated as commercial. codes_covered / codes_not_covered / icd10 stay empty until mart_policy_document has extracted them. We do not invent a coverage list from the query code. MassHealth manuals need payer=masshealth and state=MA. UnitedHealthcare coverage documents (medical and drug policies) come from the posted A–Z index: title, effective date, applicable procedure codes, and the policy PDF URI. That is a different class from the monthly reimbursement bulletin. E/M coding policies (99213 / 99223 and similar) live in the reimbursement library, whose index HTML has titles only — those stay empty until the PDFs are parsed. Anthem and Aetna sandbox samples are posted Clinical UM / CPB rows for a handful of codes — not the full library. Cigna is not ingested beyond a bootstrap row.

Query parameters

Each row includes geo_scope, geo_codes, mac_jurisdiction, document_version, policy_type (medical / payment / prior_auth / provider_manual), codes_covered, codes_not_covered, icd10, delegated_entity, and effective_until. Code arrays and ICD are empty until mart_policy_document has extracted them — we do not invent coverage lists.

Change feed

GET /v1/policies/changes is pull-only (same idea as GET /v1/340b/changes). Filter with payer and since. There is no policy webhook.

REST

MCP

Tool name: lookup_policy

Plan types

Medicare Advantage is not a second medicare_ffs payer. Use the commercial parent slug (uhc, humana, bcbs) with plan_type=medicare_advantage. 340B manufacturer contract-pharmacy rules are a different API: 340B. Prior auth determinations: Prior authorization.