Digitaloceandigitalocean.com
DigitalOcean's API program demonstrates strong discovery and contract quality, giving partners a solid foundation to find and evaluate your APIs. However, two areas are holding back partner and agent activation: agents lack the structured context files and runnable workflow examples they need to integrate correctly without guesswork, and partners hit friction during onboarding due to missing inline code samples and undocumented idempotency behavior.
API DesignA clean, typed, well-governed API contract agents can reason about3 pass2 warn0 fail87A
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Auth declared & discoverablevia spec | 25/25 | Authentication required (global or on every operation). Investigated: spec 100%, docs 100%. | Agents can only authenticate when auth is declared, scoped, and discoverable. |
| warn | Machine-readable, versioned contractvia spec | 18.8/25 | info.version="2.0" set but no versioning scheme (URL / header / media type) detected. Investigated: spec 75%, docs 50%. | A current OpenAPI version with a declared versioning scheme lets agents reason about the contract. |
| warn | Schema coverage & depthvia spec | 16.7/25 | 84% of operations have documented schemas (target 95%+). Investigated: spec 67%, sdk 60%. | Typed, complete request/response schemas are what make agent function-calling possible. |
| pass | Security & governance hygienevia spec | 15/15 | No credential-shaped strings detected in spec. Investigated: spec 100%, wellknown 50%. | No leaked secrets, no critical lint violations, no OWASP API Top-10 spec smells, and a published vulnerability-disclosure channel. |
| pass | Example coveragevia spec | 10/10 | 94% example coverage across params + responses. Investigated: spec 100%, sdk 100%, docs 0%. | Examples carry shape semantics schemas under-specify — for humans and agents alike. |
Developer ExperienceThe context both developers and agents need to integrate fast — onboarding, code samples, complete descriptions and worked examples3 pass1 warn1 fail75B
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Self-service developer portalvia docs | 29/29 | Signup page at https://www.digitalocean.com/; no free-tier language detected in docs/pricing. Investigated: docs 100%. | Self-serve key/account creation is the fast first call for partners, with no sales gate. |
| pass | Description completenessvia spec | 15/15 | 99% of operations + parameters have substantive descriptions. Investigated: spec 100%, sdk 98%. | Complete descriptions are the context humans and agents need to use endpoints. |
| pass | Changelog publishedvia spec | 13/13 | changelog documented in the docs site at https://docs.digitalocean.com/release-notes/. Investigated: spec 100%, docs 100%, sdk 100%. | A published changelog lets partners track changes without surprise. |
| warn | Quickstart presentvia docs | 12.5/25 | Quickstart page reachable (1 variants scanned starting at https://docs.digitalocean.com/products/getting-started/) but no runnable code sample detected in HTML or .md variant. Investigated: docs 50%. | A quickstart is the fastest path from landing page to first successful call. |
| fail | Code samples in docsvia docs | 0/18 | No detectable code samples across 20 sampled docs pages. Investigated: docs 0%. | Multi-language samples shorten time-to-first-call. |
Agent DiscoveryPartners and their agents can find your APIs — llms.txt, registries, crawlable and reachable docs3 pass1 warn0 fail93A+
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Docs reachable, not hard auth-gatedvia docs | 30/30 | All 50 sampled pages are publicly accessible. Investigated: docs 100%. | Agents can only index and fetch docs they can reach — past auth gates and over correct HTTP semantics. |
| pass | Registry & SDK presencevia docs | 28/28 | Indexed on Context7 (websites/digitalocean, 55277 snippets). Investigated: docs 100%, sdk 67%, cli 0%, mcp 0%, wellknown 0%. | Listing in MCP registries and publishing SDKs puts the API where agents and their tooling look. |
| warn | llms.txt present, valid & comprehensivevia docs | 22.5/30 | llms.txt covers 274/4463 sitemap doc pages (6%); 4189 missing; 7 llms.txt links not in sitemap (may indicate stale links or incomplete sitemap). Investigated: docs 75%, sdk 0%. | A valid, comprehensive llms.txt is the machine-readable entry point for agents. |
| pass | Crawlable / AEOvia wellknown | 12/12 | Docs paths crawlable by all monitored AI agents. Investigated: wellknown 100%. | Bots allowed plus a fresh sitemap make docs findable by agent crawlers. |
Agent UnderstandingAgents can correctly interpret your APIs — machine-readable errors, consistent descriptions, structured data, parseable docs3 pass2 warn1 fail77B
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Machine-readable errors (RFC 9457)via docs | 28/28 | 10 distinct 4xx/5xx response codes documented. Investigated: docs 100%, sdk 100%, spec 50%. | RFC 9457 problem details and a documented error-code inventory let agents parse failures without burning tokens. |
| pass | Operation purpose clarityvia spec | 25/25 | 100% of operations have a clear summary + operationId an agent can select on. Investigated: spec 100%. | Agents select the right endpoint from its summary + operationId; clear, named operations make tool-selection reliable — the strongest driver of correct tool choice. |
| warn | Agent-navigable, token-efficient docsvia docs | 11/22 | 1 of 49 pages have substantive content differences between markdown and HTML (avg 2% missing). Investigated: docs 50%. | Server-rendered, clean, small-footprint docs are what an agent can cheaply fetch and parse correctly. |
| pass | Docs structured datavia docs | 8/8 | JSON-LD Article markup on 16/16 assessed pages (100%) with dateModified present. Investigated: docs 100%. | Structured data (JSON-LD/schema.org) on docs pages gives agents an unambiguous parse target and is what answer engines cite. Detected on the JS-rendered head (Firecrawl) for a bounded page budget, so JS-injected JSON-LD is now caught; pages we can't render are excluded rather than failed. |
| warn | Description consistency across surfaces | 1/7 | Mean pairwise description similarity across 2 surfaces (docs, sdk) is 5% (threshold 35% for full credit). | Every surface tells the same story about what the product is. |
| fail | Agent instructions file (AGENTS.md)via wellknown | 0/10 | No AGENTS.md at the site root or /.well-known/. Investigated: wellknown 0%. | An AGENTS.md gives coding agents explicit setup, auth, and usage instructions to interpret and operate the API — beyond llms.txt's link index. |
Agent UsabilityAgents have the context to use your APIs reliably, not just find them3 pass0 warn2 fail71B
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Rate-limit signalingvia spec | 22/22 | 3 distinct rate-limit response headers documented. Investigated: spec 100%, docs 100%. | Machine-readable rate-limit headers let agents throttle adaptively. |
| pass | Pagination documented & consistentvia spec | 22/22 | Pagination params detected on 4 list endpoint(s). Investigated: spec 100%, docs 100%. | Consistent, documented pagination lets agents traverse collections. |
| pass | Sandbox separationvia sdk | 20/20 | Sandbox environments are exposed (sandbox). Investigated: sdk 100%, spec 0%, docs 0%. | An isolated environment lets agents exercise destructive operations safely. |
| fail | Idempotency documentedvia spec | 0/27 | 0% of mutating operations document idempotency. Investigated: spec 0%, docs 0%, sdk 0%. | Documented idempotency lets agents retry safely. |
| fail | Runnable collection with test scriptsvia platform | 0/9 | No public Postman workspace discovered for the org. Investigated: platform 0%. | A public, maintained collection with assertions is runnable truth agents validate against. |
Resources Discovered
The public resources we found for Digitalocean — the evidence behind the score. All discovered from public sources; nothing here requires access to your systems.
| Agent hints | Context7 (55,277) |
|---|---|
| APIs analyzed | 1 — DigitalOcean API |