◎ Discry Score
duplocloud.com
infrastructure · API
B
0 / 100
DISCOVERY0
COMPREHENSION0
Category leader: 98 (A)
Discry your API →
INFRASTRUCTURE · RANK #38 OF 68

DuploCloud is Good to agents.

Discry independently scored how well an AI agent can discover and understand the DuploCloud API from what’s public — not whether it’s usable. Below: every signal we checked, what’s costing the score, and what to change.

Discry your API — freeView the docs ↗

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 · 71/100
OpenAPI specA machine-readable OpenAPI/Swagger spec agents can parse.Partial
llms.txtAn llms.txt index that points agents to the docs that matter.Pass
llms.txt qualityThe llms.txt is focused, current, and well under the size budget.Partial
llms-full.txtA full-text bundle agents can load in one request.Pass
AGENTS.mdAn AGENTS.md that tells coding agents how to build on the API.Partial
.well-known/mcp.jsonA discoverable MCP manifest at a well-known path.Fail
MCP registryThe API is listed in a public MCP registry.Pass
robots.txt AI directivesrobots.txt allows (or explicitly guides) AI crawlers.Pass
SitemapA sitemap so agents can enumerate the docs surface.Pass

Comprehension

55% of score · 79/100
Task-oriented descriptionsEndpoints described by what they accomplish, not just their shape.Pass
Realistic examplesRunnable, real-world request/response examples.Partial
Multi-step workflowsDocs that chain calls into complete jobs an agent can follow.Pass
Error-recovery guidanceDocumented failure modes and how to recover from them.Partial
Answer-first formatThe answer leads; preamble does not bury it.Pass
Capability boundariesClear limits — what the API can and cannot do.Partial
Naming consistencyConsistent, predictable naming across endpoints.Pass
Heading hierarchyClean heading structure agents can navigate.Pass
Markdown docsDocs available as clean markdown, not JS-rendered HTML only.Pass
Token efficiencyDocs are concise enough to fit an agent context window.Partial

What we found

  • An agent evaluating DuploCloud finds a strong discovery surface for an infrastructure platform: robots.txt explicitly signals ai-train=yes and ai-input=yes with no bot blocks, and both llms.txt (a structured, described index) and a 523KB llms-full.txt are served, so an agent can ingest the documentation corpus without scraping HTML — though the llms.txt is a ~130KB site-wide dump of all 241 pages rather than a right-sized agent map.
  • Every documentation page is available as clean markdown via a .md suffix (GitBook), meaning an agent gets loss-free, well-structured content (H1 to H2 to H3 nesting) rather than JS-rendered pages that parse poorly.
  • An agent looking to programmatically drive DuploCloud finds a genuine machine surface via the duploctl CLI/Python SDK, whose reference documents task-oriented operations ('Create a new tenant', 'Retrieve DNS configuration for a tenant') with realistic examples and per-endpoint Pydantic (JSON Schema) request models — but there is no single consolidated, downloadable OpenAPI/Swagger spec at standard paths.
  • The API is agent-discoverable through the ecosystem: a DuploCloud MCP Server is listed on the Glama registry (wrapping duploctl commands as MCP tools), so an MCP-capable agent can find and adopt it without custom integration.
  • The primary weakness for autonomous agents is operational boundary documentation: there is no systematic rate-limit, pagination, or idempotency documentation, and error recovery is scattered across per-method 'Raises' notes and FAQ how-tos rather than a consolidated error-code-to-fix reference, so an agent would learn several failure modes only by failing.

What to change

Prioritized by impact on discoverability. You (or your docs platform) deploy these — Discry never touches your API.

  1. 01Publish a single consolidated OpenAPI/Swagger spec for the DuploCloud REST API at a standard, publicly linkable path (e.g. docs.duplocloud.com/openapi.json). The duploctl SDK already carries per-resource Pydantic schemas; exporting them as one OpenAPI document would move the openApiSpec check from partial to pass and give agents a machine-readable contract for the whole API.
  2. 02Add an AGENTS.md to the primary public repos (duploctl and/or docs). A real CLAUDE.md exists in duploctl, but a dedicated AGENTS.md with build/test/usage context is the rising cross-tool standard and would upgrade the agentsMd check.
  3. 03Create a dedicated API limits page documenting rate limits (with response header names), pagination approach for list operations, and any idempotency guarantees. This is the single biggest comprehension gap — agents currently have no way to plan retry/backoff or paging behavior from the docs.
  4. 04Consolidate error handling into an error-code-to-recovery reference (e.g. 'expired token -> regenerate via Profile page', '429 -> back off'). Recovery guidance exists today only as scattered FAQ how-tos and per-method DuploError notes; a single actionable table would let agents self-correct.
  5. 05Right-size llms.txt: the current file is a ~130KB site-wide index of all 241 pages, which pushes an agent to wade through everything to find core capabilities. Trim it to a curated, API/SDK-focused map (<50KB) leading with authentication and the duploctl resource commands, and leave the exhaustive corpus to llms-full.txt. Optionally also serve a .well-known/mcp.json declaring the DuploCloud MCP tools so MCP-capable agents can discover the server directly from the domain.

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.

Bearer token (temporary session token)Bearer token (permanent API token)Browser-based OAuth (duploctl interactive login / JIT) Error format documented Rate limits documented Pagination documented Idempotency documented

DuploCloud documents Bearer-token auth (temporary and permanent API tokens, plus browser OAuth/JIT for duploctl) clearly, and the duploctl SDK reference documents a machine-parseable error type (DuploError raised per-method). Rate limits, pagination, and idempotency keys are not documented as first-class API concepts — an agent would discover these behaviors only through live testing.

See your own Discry Score.

Drop your API docs URL. See what an agent sees — in 60 seconds, free.

Discry your API — free