Klaviyoklaviyo.com
Klaviyo's API program shows meaningful strength in description quality and schema design, giving partners a readable contract to build against. However, the program has two critical gaps that will slow or block partner and agent adoption: agents cannot safely operate against a production-only surface with no idempotency guidance, no rate-limit signals, and no sandbox — and the documentation lacks the machine-readable affordances (examples, error contracts, llms.txt, AGENTS.md) that modern AI agents require to integrate without guessing.
API DesignA clean, typed, well-governed API contract agents can reason about3 pass1 warn1 fail78B
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Machine-readable, versioned contractvia spec | 25/25 | The API declares version "2026-10-15" and uses media-type-based versioning, so an agent can pin to a stable contract. Investigated: spec 100%, docs 100%. | A current OpenAPI version with a declared versioning scheme lets agents reason about the contract. |
| pass | Auth declared & discoverablevia spec | 25/25 | Authentication is required across the API (declared globally or on every operation), so an agent knows credentials are needed. Investigated: spec 100%, docs 100%. | Agents can only call an API when they can determine its auth posture — a declared scheme, or an explicit statement that none is required. |
| pass | Security & governance hygienevia spec | 15/15 | No credential-shaped strings detected in spec. Investigated: spec 100%, wellknown 0%. | No leaked secrets, no critical lint violations, no OWASP API Top-10 spec smells, and a published vulnerability-disclosure channel. |
| warn | Schema coverage & depthvia spec | 8.3/25 | Schemas nest up to 16 levels deep (15+ is very deep), overflowing agent context and confusing function-calling. Investigated: spec 33%. Fix: Flatten deeply-nested response schemas; agents struggle past 14 levels. | Typed, complete request/response schemas are what make agent function-calling possible. |
| fail | Example coveragevia spec | 0/10 | Only 10% of parameters and responses (271 of 2682) include example values, so an agent has little grounding in real payload shapes. Investigated: spec 0%, docs 0%. Fix: Add example values to parameters and response schemas — examples carry shape semantics schemas under-specify. | 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 | Self-service signup available at https://www.klaviyo.com/sign-up, with a free tier or sandbox documented — an agent can onboard without contacting sales. Investigated: docs 100%. | A first call without a human in the loop — self-serve credentials, a free tier, or an API that needs none. |
| pass | Description completenessvia spec | 15/15 | 98% of operations and parameters carry substantive descriptions (435 of 436 ops, 1395 of 1448 params), the main semantic cue an agent relies on. Investigated: spec 100%. | Complete descriptions are the context humans and agents need to use endpoints. |
| pass | Changelog publishedvia spec | 13/13 | changelog is documented on the docs site at https://www.klaviyo.com/whats-new, even though it isn't declared in the API spec. Investigated: spec 100%, docs 100%. | A published changelog lets partners track changes without surprise. |
| warn | Quickstart presentvia docs | 12.5/25 | Quickstart page is reachable at https://developers.klaviyo.com/en (5 variants scanned) but has no runnable code sample in its HTML or .md variant, so there's nothing to copy and run. Investigated: docs 50%. Fix: Add a copy-pasteable curl or SDK call, with the expected response, to the quickstart page (or its .md variant). | A quickstart is the fastest path from landing page to first successful call. |
| fail | Code samples in docsvia docs | 0/18 | No code samples detected across 1 sampled docs pages, so a coding agent gets no ready-to-use examples. Investigated: docs 0%. Fix: Add copy-pasteable code samples to API reference and quickstart pages. | Multi-language samples shorten time-to-first-call. |
Agent DiscoveryPartners and their agents can find your APIs — llms.txt, registries, crawlable and reachable docs2 pass1 warn1 fail71B
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Docs reachable, not hard auth-gatedvia docs | 30/30 | All 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. |
| pass | Registry & SDK presencevia docs | 28/28 | Indexed on Context7 (websites/developers_klaviyo_en, 6070 snippets). Investigated: docs 100%, sdk 100%, cli 0%, mcp 0%, wellknown 0%. | Listing in MCP registries and publishing SDKs puts the API where agents and their tooling look. |
| warn | Crawlable / AEOvia wellknown | 6/12 | No sitemap found via robots.txt or /sitemap.xml on the docs host, so AI search engines have no crawl map for your docs. Investigated: wellknown 50%. Fix: Publish an XML sitemap and reference it from robots.txt. | Bots allowed plus a fresh sitemap make docs findable by agent crawlers. |
| fail | llms.txt present, valid & comprehensivevia docs | 0/30 | No llms.txt found at any candidate location (https://developers.klaviyo.com/en/llms.txt, https://developers.klaviyo.com/llms.txt, https://developers.klaviyo.com/docs/llms.txt). Investigated: docs 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 docs2 pass2 warn2 fail63C
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Operation purpose clarityvia spec | 25/25 | 97% of operations (424 of 436) 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. |
| pass | Agent-navigable, token-efficient docsvia docs | 22/22 | All 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. |
| warn | Docs structured datavia docs | 4/8 | Only OpenGraph/meta tags across 1 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. |
| warn | Description consistency across surfaces | 1.3/7 | Mean pairwise description similarity across 2 surfaces (spec, docs) is 7% (threshold 35% for full credit). Fix: Align the API description across spec, docs, and SDK so an agent reading any one surface gets the same story. | Every surface tells the same story about what the product is. |
| fail | Machine-readable errors (RFC 9457)via spec | 0/28 | No error responses (4xx/5xx or a catch-all default) are documented anywhere in the spec, so an agent can't anticipate or handle failures. Investigated: spec 0%, docs 0%. Fix: Document at least the common error codes (400, 401, 403, 404, 429, 500) per operation. | 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/, so coding agents have no ready-made setup and usage instructions. Investigated: wellknown 0%. Fix: Publish an AGENTS.md with setup, auth, and usage instructions a coding agent can follow. | 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 them0 pass1 warn3 fail41F
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| warn | Runnable collection with test scriptsvia platform | 4.5/9 | No test scripts found in the workspace's public collections, so an agent can't use them to verify API behavior. Investigated: platform 50%. Fix: Add pm.test() assertions so the collection can be used as an agent-runnable test suite. | A public, maintained collection with assertions is runnable truth agents validate against. |
| fail | Idempotency documentedvia spec | 0/27 | Only 1% of mutating operations (1 of 180) document idempotency, so an agent's retries can create duplicate writes. Investigated: spec 0%, docs 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. |
| fail | Rate-limit signalingvia spec | 0/22 | No 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. |
| fail | Sandbox separationvia spec | 0/20 | None of the 1 declared server(s) is a sandbox/test host, and no test-key prefixes are documented, so agents can only hit production. Investigated: spec 0%, docs 0%. Fix: Add a sandbox server in spec.servers[] with visually distinguishable test credentials. | An isolated environment lets agents exercise destructive operations safely. |
| 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 Klaviyo — the evidence behind the score. All discovered from public sources; nothing here requires access to your systems.
| Agent hints | Context7 (6,070) |
|---|---|
| APIs analyzed | 1 — Klaviyo API |