Unblocked is Good to agents.
Discry independently scored how well an AI agent can discover and understand the Unblocked 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 · 81/100Comprehension
55% of score · 96/100What we found
- An agent looking for this API would find it effortlessly: docs and marketing robots.txt explicitly allow-list every major AI crawler (GPTBot, ClaudeBot, anthropic-ai, Google-Extended, PerplexityBot) and carry Content-Signal ai-input=yes, and a public OpenAPI 3.0.3 spec sits at a predictable path (getunblocked.com/api/v1/public-api.json).
- An agent could go from zero to a working integration using only the docs: the quickstart chains a complete workflow (create token → create collection → add document → ask question → poll for answer) with copy-pasteable, realistically-valued examples.
- Capability boundaries are unusually explicit — an agent knows the hard limits up front (25 collections/team, 10MB/request, 1,000 questions/day, midnight-PST quota reset, field-length constraints) instead of discovering them by failing.
- There's an official Unblocked MCP server (listed on PulseMCP and declared in .well-known/mcp.json), so agents have a native tool-calling path, not just REST — plus every doc page is retrievable as clean markdown via Mintlify .md URLs, llms.txt, and a 364KB llms-full.txt.
- The gaps an agent would feel: no AGENTS.md for coding-agent context, and error docs stop at 'returns 429' without telling an agent to honor Retry-After or how to recover — self-correction guidance is thin.
What to change
Prioritized by impact on discoverability. You (or your docs platform) deploy these — Discry never touches your API.
- 01Add error-recovery guidance: for each documented error (especially 429), state the concrete recovery step (e.g., 'wait until the quota resets at midnight PST' or honor a Retry-After header) so agents self-correct instead of hard-failing — this is the biggest comprehension lever remaining.
- 02Publish an AGENTS.md in the primary public repo (github.com/unblocked/skills) with API base URL, auth, and rate-limit context for coding agents — a 3-weight discovery gap and a quick win.
- 03Add an API-focused llms.txt (or /api-reference/llms.txt) that indexes only the API surface rather than the current product-wide index that mixes billing, SSO, and data-source pages — sharpens token efficiency for agents that only want to call the API.
- 04Expose and document rate-limit response headers (e.g., X-RateLimit-Remaining, Retry-After) so agents can throttle proactively rather than reactively.
- 05Point .well-known/mcp.json at a branded production MCP URL rather than the Mintlify preview host (unblocked.main-kill-isr.mintlify.me) to signal stability to agent runtimes.
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.
Auth is Bearer API tokens (Personal + Team), documented with scoping and daily call limits. Errors are machine-parseable JSON with documented status codes (204/429/etc.) via the OpenAPI spec; rate limits and quotas are explicitly documented (1,000 questions/day, midnight-PST reset, 429 on overage) though rate-limit response header names aren't specified. Pagination is cursor-based via RFC-5988 link headers (before/after, limit 1-200). No formal idempotency-key mechanism, but PUT endpoints give natural upsert idempotency (documents keyed by uri, answers by client-supplied UUID questionId).