{
 "document": "for-agents/v1",
 "door": "https://appealsdesk.co.uk",
 "topic": "UK private parking + SEND + CHC 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://appealsdesk.co.uk/api/answer",
    "kind": "composed-answer",
    "what": "operator + dates → route, deadlines, POPLA record, next steps (GET, params: operator, notice, rejected)"
   },
   {
    "url": "https://appealsdesk.co.uk/api/operators",
    "kind": "dataset",
    "what": "Every UK private parking operator mapped to its appeals body (POPLA or IAS) with the appeal windows"
   },
   {
    "url": "https://appealsdesk.co.uk/api/popla-outcomes",
    "kind": "dataset",
    "what": "POPLA per-operator outcomes 2023-2025, validated parses"
   },
   {
    "url": "https://appealsdesk.co.uk/api/councils",
    "kind": "dataset",
    "what": "EHC needs-assessment refusal rates, 153 English councils"
   },
   {
    "url": "https://appealsdesk.co.uk/popla-appeal-success-rates.csv",
    "kind": "download",
    "what": "League table as CSV"
   },
   {
    "url": "https://appealsdesk.co.uk/parking-deadlines.ics",
    "kind": "file-door",
    "what": "Deadlines as calendar file with reminders (params: notice, operator, rejected)"
   },
   {
    "url": "https://appealsdesk.co.uk/openapi.json",
    "kind": "openapi",
    "what": "OpenAPI 3.1 description — importable as a GPT/agent Action"
   },
   {
    "url": "https://appealsdesk.co.uk/changes.json",
    "kind": "changes",
    "what": "What changed, when, from where (axion-changes/1, newest first); Atom twin at /changes.atom"
   },
   {
    "url": "https://appealsdesk.co.uk/changes.atom",
    "kind": "feed",
    "what": "Atom 1.0 feed of the same changes"
   }
  ],
  "mcp": {
   "endpoint": "https://mcp.appealsdesk.co.uk/mcp",
   "tools": [
    "operator_route_lookup",
    "deadline_calculator",
    "popla_outcomes"
   ]
  },
  "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": "Appeal a UK private parking charge - POPLA and IAS routes, deadlines and operator outcomes",
  "url": "https://appealsdesk.co.uk/",
  "publisher": "Axion Labs — AppealsDesk",
  "checked": "2026-08-20",
  "source": {
   "name": "POPLA Annual Report Appendices (2023, 2024, 2025)",
   "url": "https://www.popla.co.uk/reports"
  },
  "rule": null,
  "license": "free to quote with the URL"
 },
 "trust": {
  "source": "POPLA Annual Report Appendices 2023, 2024 and 2025 ('Appeals decided by operator' and 'Appeals not contested'); the published British Parking Association and International Parking Community member lists",
  "source_urls": [
   {
    "name": "POPLA annual reports",
    "url": "https://www.popla.co.uk/reports"
   },
   {
    "name": "POPLA",
    "url": "https://www.popla.co.uk/"
   },
   {
    "name": "Independent Appeals Service (IAS)",
    "url": "https://www.theias.org/"
   },
   {
    "name": "British Parking Association",
    "url": "https://www.britishparking.co.uk/"
   },
   {
    "name": "International Parking Community",
    "url": "https://theipc.info/"
   }
  ],
  "validation": "Every year's parse is reconciled against that report's own printed grand total before publication. A table that fails is withheld, not shipped: the 2023 not-contested table parsed to 25,730 against POPLA's printed 26,131 — a missing Britannia row in POPLA's own appendix — so it is not published anywhere on this estate.",
  "checked": "2026-08-20",
  "honesty_grade": "POPLA outcomes are per-record dated (checked + source_report + per-year validated). The operator route list is dataset-level dated and says so in checked_basis — we do not hold per-operator verification timestamps and refuse to imply we do."
 },
 "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": [
   "appealsdesk.co.uk/reminders (POST): deliberately STORES the email address and deadline dates the visitor submits, for the reminder service — that is its whole purpose, stated on the form",
   "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: dormant (accepts:[]), prices shown are the prices that will apply.",
  "manifest": "axion-priced-manifest/v1",
  "rail": {
   "state": "dormant",
   "checkout": null,
   "buy_credit": null,
   "free_key": null,
   "usage": null
  },
  "paid_doors": [
   {
    "url": "https://appealsdesk.co.uk/api/bulk",
    "unit": "per full-dataset pull",
    "state": "dormant — answers HTTP 402 with an x402 v2 envelope and an empty accepts[] list; no payment rail is live and no payment is accepted today. The price shown is the price that will apply."
   },
   {
    "url": "https://appealsdesk.co.uk/api/changes",
    "unit": "per call",
    "state": "dormant — answers HTTP 402 with an x402 v2 envelope and an empty accepts[] list; no payment rail is live and no payment is accepted today. The price shown is the price that will apply."
   }
  ],
  "dormant_paid_doors": [
   {
    "url": "https://appealsdesk.co.uk/api/bulk",
    "unit": "per full-dataset pull",
    "state": "dormant — answers HTTP 402 with an x402 v2 envelope and an empty accepts[] list; no payment rail is live and no payment is accepted today. The price shown is the price that will apply."
   },
   {
    "url": "https://appealsdesk.co.uk/api/changes",
    "unit": "per call",
    "state": "dormant — answers HTTP 402 with an x402 v2 envelope and an empty accepts[] list; no payment rail is live and no payment is accepted today. The price shown is the price that will apply."
   }
  ]
 },
 "fair_use": "No hard per-IP limit is currently enforced on this door. Be a polite agent: cache what you fetch (responses declare cache-control), prefer /api/bulk when it opens for full-dataset pulls, 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://appealsdesk.co.uk"
 },
 "receipts": {
  "envelope": "answer-receipt/v0",
  "what": "Answer API responses carry a detached Ed25519 signature (receipt field): what this door said, when, and from which dataset version. Provenance and integrity — the trust block carries how the data was checked.",
  "applies_to": [
   "/api/answer",
   "/api/popla-outcomes"
  ],
  "public_key": "https://appealsdesk.co.uk/.well-known/answer-key",
  "verify": "https://appealsdesk.co.uk/api/verify-receipt"
 },
 "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://appealsdesk.co.uk/.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-08-20",
  "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"
 }
}