# AX Check: appealsdesk.co.uk
Checked 2026-09-21.

Docs are agent-ready, but actual pricing stays a mystery.
Homepage, llms.txt, API and MCP tools all check out clean, but only a single £20 fee is mentioned anywhere — no full pricing page exists for agents to cite.

## Onboarding needs a login

## Coding sessions
All three independent sessions (DeepSeek V4 Pro, Kimi K3, Qwen 3.8 Max) explored the site and explicitly refused to state a price, each saying they had no reliable pricing information and would not guess or fabricate a figure.

### DeepSeek V4 Pro
[View public run](https://agents.withgauge.com/p/runs/39de0261-2744-4edc-af7f-37aff45c94fc) · [Read transcript](https://www.ax-check.com/appealsdesk.co.uk/sessions/deepseek.json)
Final output states 'I can't determine pricing... I won't invent one' — no cost figure of any kind is given, so there is nothing with assumptions attached to satisfy the rubric.
#### End-to-end onboarding
- **Onboarding needs a login**: AppealsDesk's public site is a single internal login page with no signup, API, SDK, or docs surface. The agent found no credentials in the environment and no self-serve path to obtain any, so it stopped without attempting authentication.
  Event 47:

  ```text
  Sign in · MROD Appeals Desk Appeals Desk Firm email Password Sign in Internal tool — authorized firm users only. No client-facing surface. No filing, sending, or signing. Accounts are created by the administrator.
  ```
  Event 86:

  ```text
  PI_GATEWAY_API_KEY=<set>
  done
  
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
- **Product is an internal, admin-provisioned tool with no public developer surface**: Every probed path on appealsdesk.com (api, docs, pricing, signup, openapi.json, etc.) returned the identical login-page HTML rather than distinct content, and no subdomains (docs., api., app., etc.) resolved via DNS. This is product behavior/design (an internal firm tool), not an agent error or environment misconfiguration — the agent's diligence (curl probes, DNS lookups, npm/PyPI/GitHub searches) consistently confirmed no self-serve API, SDK, or account creation exists.
  Event 52:

  ```text
  robots.txt -> 200
  sitemap.xml -> 200
  api -> 200
  docs -> 200
  developer -> 200
  pricing -> 200
  signup -> 200
  register -> 200
  .well-known/openapi.json -> 200
  api/v1 -> 200
  openapi.json -> 200
  swagger.json -> 200
  
  ```
  Event 62:

  ```text
  docs.appealsdesk.com NO
  developer.appealsdesk.com NO
  api.appealsdesk.com NO
  www.appealsdesk.com NO
  app.appealsdesk.com NO
  support.appealsdesk.com NO
  help.appealsdesk.com NO
  
  ```
  Event 47:

  ```text
  No filing, sending, or signing. Accounts are created by the administrator.
  ```

#### Suggested Changes
None identified in this transcript.

### Kimi K3
[View public run](https://agents.withgauge.com/p/runs/68d32d43-a99a-4fe1-aeae-c33cac3b5071) · [Read transcript](https://www.ax-check.com/appealsdesk.co.uk/sessions/kimi.json)
Agent explicitly refused to state any pricing figure ('I can't tell you... Anything I quoted would be fabricated'), so no cost figure or assumptions were ever given.
#### End-to-end onboarding
- **Onboarding needs a login**: The agent found only a hosted login page for AppealsDesk (branded 'MROD Appeals Desk'). Every probed path (docs, api, pricing, signup, developers, openapi.json) redirected to /login. No SDK package exists on npm or PyPI, no API host resolved, and there was no self-serve signup link. The agent had no credentials and could not obtain any without human intervention, so it stopped as instructed rather than attempting further action.
  Event 18:

  ```text
  200 https://appealsdesk.com/login
  <!doctype html>
  <html lang="en">
  ...
  <title>Sign in · MROD Appeals Desk</title>
  ```
  Event 23:

  ```text
  /signup -> 302 (https://appealsdesk.com/login)
  /register -> 302 (https://appealsdesk.com/login)
  /developers -> 302 (https://appealsdesk.com/login)
  ```
  Event 28:

  ```text
  No self-serve access. The login page has no signup or "create account" link — it's credentials-only, and I have no credentials.
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
- **No public signup, docs, or API surface for AppealsDesk**: Every developer-relevant path (/docs, /api, /api/docs, /pricing, /signup, /register, /developers, /openapi.json, /swagger) redirects to the login page. This is product behavior (a fully gated site) rather than agent error or test-environment limitation — the agent correctly probed common paths and confirmed the redirect pattern before stopping.
  Event 23:

  ```text
  /pricing -> 302 (https://appealsdesk.com/login)
  /signup -> 302 (https://appealsdesk.com/login)
  /register -> 302 (https://appealsdesk.com/login)
  /developers -> 302 (https://appealsdesk.com/login)
  /openapi.json -> 302 (https://appealsdesk.com/login)
  ```
- **No SDK package published under expected name**: Searches for an 'appealsdesk' package on both npm and PyPI returned 404/not found, so no client library could be installed to explore the API surface programmatically.
  Event 6:

  ```text
  ERROR: No matching distribution found for appealsdesk
  npm error code E404
  npm error 404 Not Found - GET https://registry.npmjs.org/appealsdesk - Not found
  ```

#### Suggested Changes
- **Add a public developer docs or API reference page**: Every attempted developer entry point (/docs, /api/docs, /openapi.json, /developers) redirects to /login with no unauthenticated preview. Publish a public-facing docs/API reference (even read-only) so prospective developers can evaluate the API surface before signing up. Verify by curling /docs while logged out and confirming it no longer 302s to /login.
  Event 23:

  ```text
  /docs -> 302 (https://appealsdesk.com/login)
  /api/docs -> 302 (https://appealsdesk.com/login)
  ```
- **Add a public pricing page**: The /pricing path also redirects to the login wall, leaving no way to learn cost structure without an account. Publish pricing details on a public page linked from the homepage, and check that /pricing returns content (not a 302) for an unauthenticated request.
  Event 23:

  ```text
  /pricing -> 302 (https://appealsdesk.com/login)
  ```
- **Add a self-serve signup/create-account link on the login page**: The login page HTML contains only a login form action with no signup or account-creation link, blocking any first-time developer from obtaining credentials on their own. Add a visible 'Sign up' or 'Create account' link on the /login page and confirm it leads to an account-creation flow reachable without prior credentials.
  Event 26:

  ```text
  action="/login"
  href="/favicon.svg"
  href="/fonts/ibm-plex-mono-500.woff2"
  href="/fonts/public-sans.woff2"
  ```

### Qwen 3.8 Max
[View public run](https://agents.withgauge.com/p/runs/d5c263f6-efd3-4adf-b21b-ca6182e1f7dd) · [Read transcript](https://www.ax-check.com/appealsdesk.co.uk/sessions/qwen.json)
Final output states "I have no information on how AppealsDesk pricing works. I won't guess" — no cost figure or assumption set is given at all.
#### End-to-end onboarding
- **End-to-end onboarding not demonstrated**: No credentials of any kind were found or obtained during the session, and no authenticated operation against AppealsDesk was attempted or demonstrated. The agent searched the sandbox environment and package registries, found nothing, and stopped without making any API calls.
  Event 6:

  ```text
  ENV:
  PI_CODING_AGENT=true
  PI_REASONING_LEVEL=medium
  ```
  Event 14:

  ```text
  No credentials, API endpoints, or product materials exist anywhere in the sandbox (`env` has nothing AppealsDesk-related).
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
- **No AppealsDesk SDK, docs, or credentials available anywhere**: The agent inspected the sandbox repo (empty except .gitignore and a bootstrap commit), checked environment variables for any AppealsDesk-related config, and tried installing an 'appealsdesk' package from both PyPI and npm. All three came up empty, leaving no product surface to interact with. This is a test-environment/setup limitation rather than a product defect, since no docs URL, package name, or API key was ever supplied for AppealsDesk.
  Event 12:

  ```text
  ERROR: No matching distribution found for appealsdesk
  npm error code E404
  npm error 404 Not Found - GET https://registry.npmjs.org/appealsdesk - Not found
  ```
  Event 14:

  ```text
  There's no published SDK: `appealsdesk` returns 404 on both npm and PyPI, and there's no discoverable public API documentation I can reach.
  ```

#### Suggested Changes
- **Provide a discoverable package name or docs link for AppealsDesk**: The agent could not find any package named 'appealsdesk' on npm or PyPI, nor any documentation URL, API key, or SDK reference in the sandbox. If AppealsDesk has a published SDK or docs site, surface the exact package name and a docs/quickstart URL somewhere reachable by a first-time developer (e.g., in onboarding materials or a discoverable registry listing) so a fresh session can locate it without prior knowledge. Verify by re-running the same registry lookup and confirming it resolves to a real package or docs page.
  Event 12:

  ```text
  ERROR: No matching distribution found for appealsdesk
  ```
  Event 14:

  ```text
  If you can share a pricing page, docs link, or API key + endpoint, I can act on that.
  ```

### Task given to each agent
Help me build a simple example using AppealsDesk. Tell me how pricing works, and briefly tell me whether this product will be easy for you to manage. Let me know if you get blocked. If this product has no developer workflow you can act on, say so plainly and stop. Stay light: use the hosted product through its SDK or API. Do not start local service stacks or wait for long-running commands; if the quickstart requires either, say so plainly and stop.

No product credentials were supplied and no purchases were authorized.

## Score: A · 100/100 (provisional)
Grades come from completed site checks. Coding sessions and skipped checks do not affect the score.

### Clarity
- **Pass** — Homepage answers Markdown requests

  ```text
  Homepage returned text/markdown with 839 tokens when requested with Accept: text/markdown.
  ```

- **Pass** — llms.txt provides an actionable documentation index

  ```text
  llms.txt (200) indexes datasets, tools, API endpoints, MCP server and page URLs with starting guidance.
  ```

- **Pass** — llms.txt provides navigation guidance

  ```text
  llms.txt gives navigation guidance: 'Where to send your human' page URLs and a full URL index.
  ```

- **Pass** — llms.txt mentions offered API, MCP, and skills

  ```text
  llms.txt documents free JSON API endpoints, OpenAPI spec, and the remote MCP server with three tools.
  ```

- **Pass** — A compact guide representation exists

  ```text
  Homepage serves text/markdown (839 tokens) and llms.txt is a compact agent guide.
  ```

- **Pass** — A focused guide is directly retrievable

  ```text
  Homepage Markdown and llms.txt both directly retrievable with concrete steps and links.
  ```

- **Pass** — Equivalent instructions fit a token budget

  ```text
  Homepage Markdown is 839 tokens, well under 8000 and under 40% of HTML.
  ```

- **Pass** — Product-docs links survive format changes

  ```text
  Markdown homepage preserves key docs links: how-to-appeal, operators, deadlines, template letter.
  ```

- **Pass** — The compact guide is independently actionable

  ```text
  llms.txt gives agent-first orientation: free tools, API endpoints, MCP tools, pricing, and page URLs to relay.
  ```

- **Pass** — Install and next-step links resolve

  ```text
  Homepage links to /should-i-appeal, /parking-operators, /how-to-appeal and /parking/preview all resolve on the subject domain.
  ```


### Onboarding
- **Pass** — Docs lead to a relevant quickstart

  ```text
  llms.txt points to /check triage, /parking/preview builder and /how-to-appeal as concrete starting steps.
  ```

- **Skipped** — Installation commands are extractable

  ```text
  No installation or CLI setup commands appear; this is a web tool and API, not an installable package.
  ```

- **Pass** — Code examples are available without interaction

  ```text
  llms.txt documents callable endpoints like GET /api/answer and /api/operators with parameters.
  ```

- **Pass** — Prerequisites and auth boundaries are explicit

  ```text
  Free API and MCP need no key or account; paid endpoints return 402 with contact address.
  ```


### Pricing
- **Failed** — Agents identify pricing and its assumptions

  ```text
  3 of 3 sessions were judged on pricing; 3 fell short. DeepSeek V4 Pro: Final output states 'I can't determine pricing... I won't invent one' — no cost figure of any kind is given, so there is nothing with assumptions attached to satisfy the rubric. Kimi K3: Agent explicitly refused to state any pricing figure ('I can't tell you... Anything I quoted would be fabricated'), so no cost figure or assumptions were ever given. Qwen 3.8 Max: Final output states "I have no information on how AppealsDesk pricing works. I won't guess" — no cost figure or assumption set is given at all. This behavioural item does not affect the fast grade.
  ```

- **Skipped** — Pricing is readable without interaction

  ```text
  Homepage mentions a £20 operator record but no dedicated pricing page was fetched.
  ```

- **Skipped** — Prices are stated, not gated

  ```text
  Only a £20 one-off operator record is mentioned; no full pricing page fetched.
  ```

- **Skipped** — Pricing units and limits are explicit

  ```text
  No pricing page fetched; units and limits for paid offerings not documented.
  ```


### Activation
- **Pass** — An API reference or OpenAPI spec is reachable

  ```text
  OpenAPI 3.1 spec at /openapi.json describes 7 paths including /api/answer and /api/operators.
  ```

- **Pass** — An MCP server is documented and well-formed

  ```text
  llms.txt documents remote MCP endpoint with three named read-only tools and no key required.
  ```

- **Skipped** — A CLI install path is documented

  ```text
  No CLI install path documented; site offers web tools, JSON API and MCP only.
  ```

- **Skipped** — SDK packages resolve on their registries

  ```text
  No SDK or packaged CLI registry lookup supplied; site distributes no developer package.
  ```

- **Skipped** — Agent skills are published

  ```text
  No agent skills published; site offers MCP tools and API instead.
  ```



[Full report data](https://www.ax-check.com/appealsdesk.co.uk/report.json)
