Opencodeopencode.ai

ScoredOct 28, 2026, 06:02 AM

Opencode's API program has a standout strength in agent understanding and API contract quality, giving AI agents a reliable surface to build against. However, two areas need urgent attention: developer experience is undermined by sparse descriptions across the vast majority of endpoints and parameters, and agent usability is critically weakened by the complete absence of idempotency guidance and rate-limit signaling — meaning agents retrying mutating operations risk silent data duplication, and have no signal before they get throttled.

API DesignA clean, typed, well-governed API contract agents can reason about4 pass1 warn0 fail94A+
SignalPointsFindingsRationale
passSchema coverage & depthvia sdk25/253/3 enums are named types (not bare strings). Investigated: sdk 100%, spec 50%.Typed, complete request/response schemas are what make agent function-calling possible.
passAuth declared & discoverablevia spec25/25This API requires no credentials and says so — the spec declares `security: []`, meaning no credentials are required (spec). An agent can call it directly. Investigated: spec 100%, docs 100%, mcp 100%, cli 0%.Agents can only call an API when they can determine its auth posture — a declared scheme, or an explicit statement that none is required.
warnMachine-readable, versioned contractvia spec18.8/25The API sets a version ("1.0.0") but exposes no versioning scheme in the URL, a header, or the media type, so an agent can't pin to a specific version. Investigated: spec 75%, docs 50%, cli 0%.
Fix: Pick a versioning scheme (URL path /v1/, Accept: application/vnd.x+json, or a version header) and apply it consistently.
A current OpenAPI version with a declared versioning scheme lets agents reason about the contract.
passSecurity & governance hygienevia spec15/15No credential-shaped strings detected in spec. Investigated: spec 100%, sdk 83%, wellknown 0%.No leaked secrets, no critical lint violations, no OWASP API Top-10 spec smells, and a published vulnerability-disclosure channel.
passExample coveragevia docs10/10Docs show code samples in 4 language(s) (top: shell, javascript, typescript), and 10 of 20 sampled pages offer ≥ 2 languages side by side. Investigated: docs 100%, sdk 100%, spec 0%, cli 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 pass0 warn2 fail68C
SignalPointsFindingsRationale
passSelf-service developer portalvia docs29/29The API requires no credentials (the spec declares `security: []`, meaning no credentials are required (spec)), so there is nothing to sign up for and no sales gate to clear. Investigated: docs 100%.A first call without a human in the loop — self-serve credentials, a free tier, or an API that needs none.
passCode samples in docsvia docs18/18Docs show code samples in 4 language(s) (top: shell, javascript, typescript), and 10 of 20 sampled pages offer ≥ 2 languages side by side. Investigated: docs 100%.Multi-language samples shorten time-to-first-call.
passChangelog publishedvia spec13/13changelog is documented on the docs site at https://opencode.ai/changelog, even though it isn't declared in the API spec. Investigated: spec 100%, docs 100%.A published changelog lets partners track changes without surprise.
failQuickstart presentvia docs0/25No quickstart or getting-started page found at the conventional docs paths, so new developers and agents have no obvious first step. Investigated: docs 0%.
Fix: Publish a single-page quickstart that goes from zero to a first successful API call.
A quickstart is the fastest path from landing page to first successful call.
failDescription completenessvia spec0/15Only 33% of operations and parameters have descriptions (124 of 187 ops, 0 of 414 params), leaving an agent to guess what most endpoints do. Investigated: spec 0%.
Fix: Descriptions are the primary semantic signal agents use for tool selection. Each operation should explain what it does and reference its parameters; each parameter needs a real description.
Complete descriptions are the context humans and agents need to use endpoints.
Agent DiscoveryPartners and their agents can find your APIs — llms.txt, registries, crawlable and reachable docs2 pass1 warn1 fail73B
SignalPointsFindingsRationale
passDocs reachable, not hard auth-gatedvia docs30/30All 1 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.
passRegistry & SDK presencevia docs28/28Indexed on Context7 (anomalyco/opencode, 11195 snippets). Investigated: docs 100%, cli 100%, sdk 50%, mcp 0%, wellknown 0%.Listing in MCP registries and publishing SDKs puts the API where agents and their tooling look.
warnCrawlable / AEOvia wellknown9/12Sitemap has 706 entries but no lastmod values, so crawlers can't tell what changed recently. Investigated: wellknown 75%.
Fix: Add accurate <lastmod> values to sitemap entries — AI-powered search uses them to prioritize crawling.
Bots allowed plus a fresh sitemap make docs findable by agent crawlers.
failllms.txt present, valid & comprehensivevia docs0/30No llms.txt found at any candidate location (https://opencode.ai/docs/llms.txt, https://opencode.ai/llms.txt); 1 failed to fetch. Investigated: docs 0%, sdk 0%.A valid, comprehensive llms.txt is the machine-readable entry point for agents.
Agent UnderstandingAgents can correctly interpret your APIs — machine-readable errors, consistent descriptions, structured data, parseable docs3 pass2 warn0 fail92A+
SignalPointsFindingsRationale
passMachine-readable errors (RFC 9457)via docs28/28Documents 7 distinct 4xx/5xx error response codes, so an agent can branch on specific failures instead of guessing. Investigated: docs 100%, spec 50%, cli 0%.RFC 9457 problem details and a documented error-code inventory let agents parse failures without burning tokens.
passOperation purpose clarityvia spec25/2594% of operations (175 of 187) have both a clear summary and a descriptive name, so an agent can pick the right endpoint. 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.
passAgent-navigable, token-efficient docsvia docs22/22All 1 pages contain server-rendered content. Investigated: docs 100%.Server-rendered, clean, small-footprint docs are what an agent can cheaply fetch and parse correctly.
warnAgent instructions file (AGENTS.md)via sdk5/10No agents.md or skill.md context file found (nice-to-have for agent operation). Investigated: sdk 50%, cli 0%, wellknown 0%.
Fix: Add an agents.md or skill.md describing how an agent should use this SDK (auth setup, key operations, gotchas).
An AGENTS.md gives coding agents explicit setup, auth, and usage instructions to interpret and operate the API — beyond llms.txt's link index.
warnDocs structured datavia docs4/8Only OpenGraph/meta tags across 3 assessed pages — no JSON-LD for AI answer engines to cite. Investigated: docs 50%.
Fix: Emit JSON-LD with Article/TechArticle @type and dateModified in the rendered docs head.
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.
naDescription consistency across surfaces—/7Only 1 surface description(s) with ≥6 tokens available; need at least 2 to compare.Every surface tells the same story about what the product is.
Agent UsabilityAgents have the context to use your APIs reliably, not just find them2 pass1 warn2 fail56D
SignalPointsFindingsRationale
passPagination documented & consistentvia spec22/22Pagination parameters are present on the 50 list endpoint(s), so an agent can page through results. Investigated: spec 100%, docs 100%.Consistent, documented pagination lets agents traverse collections.
warnSandbox separationvia sdk10/20No test-mode flag or sandbox environment is exposed. Investigated: sdk 50%, spec 0%, docs 0%.
Fix: Expose a test-mode flag or sandbox environment so agents can exercise the SDK safely.
An isolated environment lets agents exercise destructive operations safely.
passRunnable collection with test scriptsvia sdk9/9README is present and includes a runnable quickstart. Investigated: sdk 100%, platform 0%.A public, maintained collection with assertions is runnable truth agents validate against.
failIdempotency documentedvia spec0/27Only 0% of mutating operations (0 of 100) document idempotency, so an agent's retries can create duplicate writes. Investigated: spec 0%, docs 0%, sdk 0%, cli 0%.
Fix: Agents retry on failure; without idempotency, retries create duplicates. Document Idempotency-Key on every POST/PUT/PATCH/DELETE.
Documented idempotency lets agents retry safely.
failRate-limit signalingvia spec0/22No rate-limit response headers are documented, so an agent can't tell when it is approaching a limit and will get throttled. Investigated: spec 0%, docs 0%.
Fix: Add x-ratelimit-* response headers and document retry-after semantics.
Machine-readable rate-limit headers let agents throttle adaptively.
Resources Discovered

The public resources we found for Opencode — the evidence behind the score. All discovered from public sources; nothing here requires access to your systems.

Agent hintsContext7 (11,195)
APIs analyzed1 — opencode
Want to improve your results?