Zendesk is Needs Work to agents.
Discry independently scored how well an AI agent can discover and understand the Zendesk API from what’s public — not whether it’s usable. Below: every signal we checked, what’s costing the score, and what to change.
SCORED UNDER RUBRIC 1.2 · A full re-launch under Discry Score 2.5 — a new behavioral instrument, not comparable to these scores — is in progress.
Discovery
45% of score · 29/100Comprehension
55% of score · 96/100What we found
- An agent that already has the docs URL would comprehend this API almost flawlessly: every endpoint ships copy-pasteable code samples in 6+ languages (curl, Python, Ruby, Java, Go, Node.js), realistic field values, an 'Allowed For' permissions block, and an example response — comprehension scored 96/100 (A).
- But an agent trying to DISCOVER Zendesk autonomously is left empty-handed: no robots.txt, no llms.txt, no llms-full.txt, no .well-known/mcp.json, and no sitemap.xml exist at developer.zendesk.com — all five returned 404. Discovery scored 29/100 (F).
- Error recovery is genuinely agent-grade: the docs don't just list status codes, they prescribe the fix — 'wait the Retry-After interval' for 429, 'fetch the latest ticket data and try again' for 409/UpdateConflict, serialize requests to avoid conflicts, and retry 503s per Retry-After. This is the kind of self-correction guidance most APIs omit.
- Capability boundaries are unusually explicit: hard caps (48 email CCs, 256 API tokens, 10,000-record offset-pagination ceiling, 30 concurrent jobs), per-endpoint rate limits, and edge-case behavior ('closed tickets can't be reopened') are all documented, so an agent learns limits by reading rather than by failing.
- Discovery is salvaged only by third parties: there is no official Zendesk MCP server, but a dozen community servers are indexed on Glama and PulseMCP, and a downloadable OpenAPI spec exists (full official spec for Sunshine Conversations, plus a ticketing-API download).
What to change
Prioritized by impact on discoverability. You (or your docs platform) deploy these — Discry never touches your API.
- 01Publish an llms.txt at developer.zendesk.com pointing agents to the core resources (auth, requests/responses, pagination, rate limits, and the top product API references). This single file is the highest-impact discovery fix and would lift the weakest dimension immediately.
- 02Add a robots.txt that explicitly allows reputable AI crawlers (GPTBot, ClaudeBot, Google-Extended, CCBot) and a sitemap.xml covering the API reference and guide pages — both are currently 404 and are trivial wins that let agents find and index the docs.
- 03Add an AGENTS.md to the primary public Zendesk GitHub repos (and/or an llms-full.txt) so coding agents working against Zendesk SDKs get authoritative, machine-readable guidance instead of inferring from READMEs.
- 04Ship and prominently link an official, complete OpenAPI/Swagger spec for the Support/Ticketing API (not just Sunshine Conversations) — and consider an official Zendesk MCP server to replace the dozen unmaintained community implementations agents currently surface.
- 05Improve token efficiency with a concise 'API overview' or capability summary page (<5,000 tokens): the Tickets reference alone is ~260KB, so an agent must currently read a great deal to grasp core capabilities. A compact map of products and core verbs would let agents orient before drilling in.
Execution coverage · INFORMATIONAL, UNSCORED
Whether an agent can actually complete a call and recover from errors is the deeper Audit layer — documented here, but not part of the Discry Score.
Execution documentation is excellent. A dedicated Requests page documents a machine-parseable JSON error envelope (error, description, details[]) and per-status guidance for 400/403/409/422/429/500/503. Rate limits are exhaustively documented with X-Rate-Limit / RateLimit-Remaining / Retry-After headers and per-plan and per-endpoint tables. Both cursor (page[size]/after_cursor) and offset pagination are documented with hard limits. No idempotency-key mechanism is offered, but optimistic locking via safe_update/updated_stamp is documented for collision protection.