Fernfern.com
Your developer experience and discoverability are standout strengths — partners can find and evaluate your APIs with minimal friction. However, two areas are holding back production-grade partner integrations: agents and developers lack the contextual instructions and runnable, test-backed examples they need to integrate confidently, and operational reliability gaps (missing idempotency guidance and security hygiene documentation) increase the risk of failed or unsafe partner workflows.
API DesignA clean, typed, well-governed API contract agents can reason about2 pass2 warn1 fail72B
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Schema coverage & depthvia sdk | 25/25 | 107/107 (100%) public params are fully typed (no any/**kwargs). Analyzer reports not all methods have a derivable input schema. Investigated: sdk 100%. | Typed, complete request/response schemas are what make agent function-calling possible. |
| warn | Machine-readable, versioned contractvia cli | 18.8/25 | `--help --format json` exits 0 but output is not JSON. Investigated: cli 75%. | A current OpenAPI version with a declared versioning scheme lets agents reason about the contract. |
| warn | Auth declared & discoverablevia cli | 12.5/25 | help mentions auth but not the exact env var. Investigated: cli 50%. | Agents can only authenticate when auth is declared, scoped, and discoverable. |
| pass | Example coveragevia cli | 10/10 | help shows a runnable example invocation. Investigated: cli 100%, sdk 50%. | Examples carry shape semantics schemas under-specify — for humans and agents alike. |
| fail | Security & governance hygienevia wellknown | 0/15 | No security.txt at /.well-known/security.txt or /security.txt. Investigated: wellknown 0%. | No leaked secrets, no critical lint violations, no OWASP API Top-10 spec smells, and a published vulnerability-disclosure channel. |
Developer ExperienceThe context both developers and agents need to integrate fast — onboarding, code samples, complete descriptions and worked examples2 pass1 warn0 fail97A+
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Self-service developer portalvia docs | 29/29 | Signup page at https://dashboard.buildwithfern.com/sign-up?redirect_on_login=%2Fget-started&utm_source=fern-docs; 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 | Quickstart presentvia docs | 25/25 | Quickstart at https://buildwithfern.com/learn/docs/getting-started with a runnable first-call sample. Investigated: docs 100%. | A quickstart is the fastest path from landing page to first successful call. |
| warn | Description completenessvia sdk | 13/15 | 20/23 operations carry a description. Investigated: sdk 87%. | Complete descriptions are the context humans and agents need to use endpoints. |
| na | Code samples in docs | —/18 | No surface produced evidence for this capability in this run. | Multi-language samples shorten time-to-first-call. |
| na | Changelog published | —/13 | No surface produced evidence for this capability in this run. | A published changelog lets partners track changes without surprise. |
Agent DiscoveryPartners and their agents can find your APIs — llms.txt, registries, crawlable and reachable docs2 pass2 warn0 fail87A
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Registry & SDK presencevia docs | 28/28 | Indexed on Context7 (fern-api/docs, 9135 snippets). Investigated: docs 100%, sdk 92%, cli 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 | No llms.txt directive found in HTML of any of 50 sampled pages. Investigated: docs 75%, sdk 0%. | A valid, comprehensive llms.txt is the machine-readable entry point for agents. |
| warn | Docs reachable, not hard auth-gatedvia docs | 22.5/30 | Server ignores Accept: text/markdown header (0/50 sampled pages return markdown). Investigated: docs 75%. | Agents can only index and fetch docs they can reach — past auth gates and over correct HTTP semantics. |
| 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 docs0 pass2 warn1 fail61C
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| warn | Agent-navigable, token-efficient docsvia docs | 15.4/22 | 1 of 50 pages have substantive content differences between markdown and HTML (avg 1% missing). Investigated: docs 70%. | Server-rendered, clean, small-footprint docs are what an agent can cheaply fetch and parse correctly. |
| warn | Machine-readable errors (RFC 9457)via sdk | 14/28 | Single base error "null" present, but only 1 subclass found; a richer hierarchy lets consumers catch narrowly. Investigated: sdk 50%, cli 0%. | RFC 9457 problem details and a documented error-code inventory let agents parse failures without burning tokens. |
| 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. |
| na | Operation purpose clarity | —/25 | No surface produced evidence for this capability in this run. | Agents select the right endpoint from its summary + operationId; clear, named operations make tool-selection reliable — the strongest driver of correct tool choice. |
| na | Docs structured data | —/8 | No surface produced evidence for this capability in this run. | 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. |
| na | Description consistency across surfaces | —/7 | Only 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 them1 pass0 warn2 fail53D
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Sandbox separationvia sdk | 20/20 | Sandbox environments are exposed (sandbox). Investigated: sdk 100%. | An isolated environment lets agents exercise destructive operations safely. |
| fail | Idempotency documentedvia sdk | 0/27 | No built-in retry machinery was found; transient failures are not retried. Investigated: sdk 0%, cli 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. |
| na | Rate-limit signaling | —/22 | No surface produced evidence for this capability in this run. | Machine-readable rate-limit headers let agents throttle adaptively. |
| na | Pagination documented & consistent | —/22 | No surface produced evidence for this capability in this run. | Consistent, documented pagination lets agents traverse collections. |
Resources Discovered
The public resources we found for Fern — the evidence behind the score. All discovered from public sources; nothing here requires access to your systems.
| Agent hints | Context7 (9,135) |
|---|