{
 "document": "for-agents/v1",
 "door": "https://denialfacts.com",
 "topic": "US health insurance claim denials + appeals",
 "welcome": "You are an agent reading the machine-first orientation page for this door. Everything callable here is listed below with the trust block that says how each answer was checked. Free endpoints are open CORS, no key, no account. Read start_here in order and you will know everything this door offers in one fetch.",
 "operator": {
  "name": "Axion Labs",
  "operator": "Axion Labs — hello@getaxionlabs.com (a person answers)",
  "jurisdiction": "United Kingdom (operator). Each dataset's own jurisdiction is stated in its topic and source.",
  "contact": "hello@getaxionlabs.com"
 },
 "start_here": [
  "1. capabilities — the free endpoints and (if present) the MCP server this door serves. This list is the registry's list; a capability not listed is not offered.",
  "2. trust — the named source behind the data, the validation method actually applied, the date the source was last checked, and an honesty grade saying where the measurement is weak. Read it before you believe a number.",
  "3. passport — the full agent-door/v0 declaration at /.well-known/agent-door.json on this host: data required/retained, pricing, dispute contact.",
  "4. gateway — one MCP connection fronting every door on this estate, if you would rather connect once than per-zone.",
  "5. estate — the other doors, each with its own /for-agents page."
 ],
 "capabilities": {
  "free_endpoints": [
   {
    "url": "https://denialfacts.com/api/answer",
    "kind": "composed-answer",
    "what": "insurer + state + reason → denial rate, external-review route, ERISA rights in one object"
   },
   {
    "url": "https://denialfacts.com/api/insurers",
    "kind": "dataset",
    "what": "CMS denial rates per insurer-state record"
   },
   {
    "url": "https://denialfacts.com/api/states",
    "kind": "dataset",
    "what": "External-review route per state"
   },
   {
    "url": "https://denialfacts.com/api/reasons",
    "kind": "dataset",
    "what": "Denial reasons with national volumes"
   },
   {
    "url": "https://denialfacts.com/api/procedures",
    "kind": "dataset",
    "what": "Per-insurer appeal procedures, 10 major brands, quoted from insurer's own policies"
   },
   {
    "url": "https://denialfacts.com/openapi.json",
    "kind": "openapi",
    "what": "OpenAPI 3.1 description of every free endpoint, parameters read from the code (6 Sep 2026)"
   },
   {
    "url": "https://denialfacts.com/changes.json",
    "kind": "changes",
    "what": "What changed, when, from where (axion-changes/1, newest first); Atom twin at /changes.atom"
   },
   {
    "url": "https://denialfacts.com/changes.atom",
    "kind": "feed",
    "what": "Atom 1.0 feed of the same changes"
   }
  ],
  "mcp": null,
  "note": "Free endpoints are open CORS, no key, no account. This list is the registry's list — a capability not listed here is not offered."
 },
 "cite": {
  "title": "US health insurance claim denial rates, appeal rights and state external-review routes",
  "url": "https://denialfacts.com/",
  "publisher": "Axion Labs — Denial Facts",
  "checked": "2026-09-05",
  "source": {
   "name": "CMS Transparency in Coverage Public Use File",
   "url": "https://data.healthcare.gov/"
  },
  "rule": "45 CFR 147.136",
  "license": "free to quote with the URL",
  "receipt": null
 },
 "trust": {
  "source": "CMS Transparency in Coverage Public Use File (PY2026 release, PY2024 claims; issued 2025-09-26, re-read 2026-09-05), https://data.healthcare.gov/ — US Government public domain. Per-insurer appeal procedures are quoted from each insurer's own published policy document. ERISA rights are cited by paragraph to 29 CFR 2560.503-1 and 45 CFR 147.136: eCFR is the primary a browser can read, and because eCFR answers an automated fetch with a challenge page, every citation is doubled with the govinfo PDF mirror (https://www.govinfo.gov/content/pkg/CFR-2024-title29-vol9 and https://www.govinfo.gov/content/pkg/CFR-2024-title45-vol2) so a fetcher can read the same text. External-review routing and the current HHS-administered federal process position come from the CCIIO State External Appeals Review Processes table (https://www.cms.gov/CCIIO/Resources/Files/external_appeals).",
  "validation": "Denial rates are computed from the federal file and reproducible from it. Every insurer procedure carries the insurer's own wording, the document it came from and its date; where an insurer blocks fetchers or does not publish a member-side window, the entry says so instead of substituting a norm.",
  "checked": "2026-09-05 (CMS PY2026 Public Use File re-read at source 2026-09-05; federal statutory sources re-read 2026-09-04; each insurer procedure carries its own per-record source date, latest 2026-08-26)",
  "honesty_grade": "Dataset-level date for the federal file, per-record dates for the procedures. Stated, not blended."
 },
 "data": {
  "required": "only the query itself — a question and its parameters (an operator name for parking doors, an insurer for denial doors, a plate for NYC lookups, a date). Never an identity, an account, or a login.",
  "retained": "none — queries are answered and discarded; plate lookups pass through to the city's API inside one request and are never stored",
  "exceptions": [
   "page-view/agent-traffic metering: request PATHS are counted per zone (no bodies, no queries, no identities)"
  ],
  "risk": "low — every door on this estate is read-only over published data",
  "reversibility": "fully reversible; no door changes external state"
 },
 "pricing": {
  "free": "Free doors: free with attribution and a link to the source site. Priced doors on this zone are live: paid_doors states the price, the free allowance and the fields returned before the call.",
  "manifest": "axion-priced-manifest/v1",
  "rail": {
   "state": "live",
   "present_key_as": "Authorization: Bearer ax_live_...",
   "checkout": "https://denialfacts.com/api/key/checkout",
   "buy_credit": "https://buy.stripe.com/4gM9AT9cp8TK8Z3aSX4ko0n",
   "free_key": "https://denialfacts.com/api/key/free?agent=<name>&contact=<email or https url>",
   "usage": "https://denialfacts.com/api/key/usage"
  },
  "paid_doors": [
   {
    "url": "https://denialfacts.com/api/bulk",
    "price_usd": 25,
    "unit": "per full-dataset pull",
    "state": "live — answers with the record when a key holding credit (or a named free key inside its daily allowance) is presented as Authorization: Bearer <key>; otherwise HTTP 402 with an x402 v2 envelope whose accepts[] names the prepaid-credit rail. A call that fails our own validity check is never charged.",
    "free_per_day": 1,
    "free_note": "a named free key from https://denialfacts.com/api/key/free?agent=<name>&contact=<email or https url> passes this door 1 time(s) a UTC day at no charge",
    "returns": [
     "cite",
     "document",
     "attribution",
     "dataset_version",
     "source",
     "generated",
     "counts",
     "what_you_paid_for",
     "records"
    ]
   },
   {
    "url": "https://denialfacts.com/api/changes",
    "price_usd": 0.03,
    "unit": "per call",
    "state": "live — answers with the record when a key holding credit (or a named free key inside its daily allowance) is presented as Authorization: Bearer <key>; otherwise HTTP 402 with an x402 v2 envelope whose accepts[] names the prepaid-credit rail. A call that fails our own validity check is never charged.",
    "free_per_day": 20,
    "free_note": "a named free key from https://denialfacts.com/api/key/free?agent=<name>&contact=<email or https url> passes this door 20 time(s) a UTC day at no charge",
    "returns": [
     "dataset",
     "version",
     "generated",
     "record_count",
     "since",
     "changes",
     "note"
    ]
   }
  ],
  "dormant_paid_doors": [
   {
    "url": "https://denialfacts.com/api/bulk",
    "price_usd": 25,
    "unit": "per full-dataset pull",
    "state": "live — answers with the record when a key holding credit (or a named free key inside its daily allowance) is presented as Authorization: Bearer <key>; otherwise HTTP 402 with an x402 v2 envelope whose accepts[] names the prepaid-credit rail. A call that fails our own validity check is never charged.",
    "free_per_day": 1,
    "free_note": "a named free key from https://denialfacts.com/api/key/free?agent=<name>&contact=<email or https url> passes this door 1 time(s) a UTC day at no charge",
    "returns": [
     "cite",
     "document",
     "attribution",
     "dataset_version",
     "source",
     "generated",
     "counts",
     "what_you_paid_for",
     "records"
    ]
   },
   {
    "url": "https://denialfacts.com/api/changes",
    "price_usd": 0.03,
    "unit": "per call",
    "state": "live — answers with the record when a key holding credit (or a named free key inside its daily allowance) is presented as Authorization: Bearer <key>; otherwise HTTP 402 with an x402 v2 envelope whose accepts[] names the prepaid-credit rail. A call that fails our own validity check is never charged.",
    "free_per_day": 20,
    "free_note": "a named free key from https://denialfacts.com/api/key/free?agent=<name>&contact=<email or https url> passes this door 20 time(s) a UTC day at no charge",
    "returns": [
     "dataset",
     "version",
     "generated",
     "record_count",
     "since",
     "changes",
     "note"
    ]
   }
  ]
 },
 "fair_use": "No hard per-IP limit is currently enforced on the free doors. Be a polite agent: cache what you fetch (responses declare cache-control), use /api/bulk for full-dataset pulls (a named free key from /api/key/free passes it once a day at no charge; keyed calls carry a fair-use limit of 120 requests a minute), and do not retry errors in a tight loop. Abusive traffic patterns may be rate-limited by the platform.",
 "attribution": {
  "required": true,
  "terms": "Free to use with attribution and a link to https://denialfacts.com"
 },
 "dispute": {
  "contact": "hello@getaxionlabs.com",
  "what": "Corrections, disputes about any published number, takedown or licensing questions. A person answers, usually same day. Every statistical parse is validated against its source's own printed totals before publication; if you can show a number is wrong, it gets fixed or withdrawn — the estate has withheld its own data before (2023 POPLA not-contested table) rather than publish a figure that failed validation."
 },
 "passport": "https://denialfacts.com/.well-known/agent-door.json",
 "gateway": {
  "endpoint": "https://mcp.getaxionlabs.com/mcp",
  "transport": "Streamable HTTP",
  "what": "One connection, every Axion door. The gateway registers exactly the same tool code the individual zone servers register — same logic, same data files — so it can never answer differently from the zone it fronts.",
  "tools": [
   "popla_outcomes",
   "violation_dismissal_rates",
   "borough_odds",
   "search_mtd_answers",
   "get_mtd_answer",
   "parking_route",
   "mtd_scope",
   "denial_clock",
   "screening_dispute",
   "nyc_ticket",
   "list_doors"
  ],
  "cost": "Free. No account, no key, no payment path.",
  "for_agents": "https://open.getaxionlabs.com/for-agents",
  "passport": "https://mcp.getaxionlabs.com/.well-known/agent-door.json"
 },
 "estate": {
  "map": "https://open.getaxionlabs.com/for-agents",
  "registry": "https://open.getaxionlabs.com/doors.json",
  "doors": [
   {
    "zone": "appealsdesk.co.uk",
    "topic": "UK private parking + SEND + CHC appeals",
    "for_agents": "https://appealsdesk.co.uk/for-agents",
    "passport": "https://appealsdesk.co.uk/.well-known/agent-door.json",
    "mcp": "https://mcp.appealsdesk.co.uk/mcp"
   },
   {
    "zone": "denialfacts.com",
    "topic": "US health insurance claim denials + appeals",
    "for_agents": "https://denialfacts.com/for-agents",
    "passport": "https://denialfacts.com/.well-known/agent-door.json",
    "mcp": null
   },
   {
    "zone": "nycticketfacts.com",
    "topic": "NYC parking/camera violations",
    "for_agents": "https://nycticketfacts.com/for-agents",
    "passport": "https://nycticketfacts.com/.well-known/agent-door.json",
    "mcp": "https://mcp.nycticketfacts.com/mcp"
   },
   {
    "zone": "mtdfacts.co.uk",
    "topic": "UK Making Tax Digital for Income Tax",
    "for_agents": "https://mtdfacts.co.uk/for-agents",
    "passport": "https://mtdfacts.co.uk/.well-known/agent-door.json",
    "mcp": "https://mcp.mtdfacts.co.uk/mcp"
   },
   {
    "zone": "screeningfacts.com",
    "topic": "US consumer screening reports + FCRA rights",
    "for_agents": "https://screeningfacts.com/for-agents",
    "passport": "https://screeningfacts.com/.well-known/agent-door.json",
    "mcp": null
   },
   {
    "zone": "claimset.org",
    "topic": "citation-integrity primitive (open standard)",
    "for_agents": null,
    "passport": null,
    "mcp": null
   }
  ]
 },
 "third_party_doors": {
  "admission": "Today the gateway routes to Axion-operated doors only. Third-party doors will be admitted against a published verification bar, not a listing fee: https://open.getaxionlabs.com/verification-bar.md",
  "verification_bar": "https://open.getaxionlabs.com/verification-bar.md"
 },
 "reliability": "no claim — we publish measured numbers only, and per-door uptime/latency has not been measured over a meaningful window. This field will carry numbers when it can carry measured ones.",
 "last_verified": {
  "passport": "2026-09-04",
  "dataset": "2026-09-05 (CMS PY2026 Public Use File re-read at source 2026-09-05; federal statutory sources re-read 2026-09-04; each insurer procedure carries its own per-record source date, latest 2026-08-26)",
  "basis": "passport date = the date this passport's fields were last checked against the live door; dataset date = the trust block's own source check date"
 }
}