Customercustomer.io

ScoredJul 24, 2026, 09:16 AM

io's API program has a strong foundation in API design and documentation discovery, giving partners a reliable contract to build against. However, the program has two meaningful gaps that put partner integration quality at risk: agents and coding tools lack the structured context files and machine-readable signals they need to interpret and act on the API correctly, and partners have no runnable, test-backed collection to validate real workflows — compounded by missing rate-limit and pagination guidance that causes agents to build brittle integrations.

API DesignA clean, typed, well-governed API contract agents can reason about3 pass2 warn0 fail96A+
SignalPointsFindingsRationale
passAuth declared & discoverablevia spec25/25authentication documented in the docs site at https://docs.customer.io/messaging/channels/email/deliverability/authentication/. Investigated: spec 100%, docs 100%.Agents can only authenticate when auth is declared, scoped, and discoverable.
warnSchema coverage & depthvia sdk24.9/2586/86 (100%) public params are fully typed (no any/**kwargs). Analyzer confirms all methods have a derivable input schema. Investigated: sdk 100%, spec 56%.Typed, complete request/response schemas are what make agent function-calling possible.
warnMachine-readable, versioned contractvia spec20.3/25info.version="1.0.0" set but no versioning scheme (URL / header / media type) detected. Investigated: spec 81%, docs 63%.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%, wellknown 0%.No leaked secrets, no critical lint violations, no OWASP API Top-10 spec smells, and a published vulnerability-disclosure channel.
passExample coveragevia spec10/1034% example coverage. Investigated: spec 100%, docs 100%, sdk 100%.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 examples5 pass0 warn0 fail100A+
SignalPointsFindingsRationale
passSelf-service developer portalvia docs29/29Signup page at https://fly.customer.io/signup; 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.
passQuickstart presentvia docs25/25Quickstart at https://docs.customer.io/integrations/data-in/connections/javascript/js-source/ has a runnable sample in the .md variant (https://docs.customer.io/integrations/data-in/connections/javascript/js-source.md). Investigated: docs 100%.A quickstart is the fastest path from landing page to first successful call.
passCode samples in docsvia docs18/18Code samples present on 2/13 pages across 1 language(s); broader multi-language coverage missing. Investigated: docs 100%.Multi-language samples shorten time-to-first-call.
passDescription completenessvia spec15/1595% of operations + parameters have substantive descriptions. Investigated: spec 100%, sdk 80%.Complete descriptions are the context humans and agents need to use endpoints.
passChangelog publishedvia sdk13/13Newest official SDK activity 0 day(s) ago. Investigated: sdk 100%, spec 0%, docs 0%.A published changelog lets partners track changes without surprise.
Agent DiscoveryPartners and their agents can find your APIs — llms.txt, registries, crawlable and reachable docs3 pass1 warn0 fail93A+
SignalPointsFindingsRationale
passDocs reachable, not hard auth-gatedvia docs30/30All 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.
passRegistry & SDK presencevia docs28/28Indexed on Context7 (websites/customer_io, 4335 snippets). Investigated: docs 100%, cli 100%, sdk 92%.Listing in MCP registries and publishing SDKs puts the API where agents and their tooling look.
warnllms.txt present, valid & comprehensivevia docs22.5/30Same-origin links point to HTML and no markdown alternatives detected. Investigated: docs 75%, sdk 0%.A valid, comprehensive llms.txt is the machine-readable entry point for agents.
passCrawlable / AEOvia wellknown12/12Docs 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 docs2 pass1 warn2 fail79B
SignalPointsFindingsRationale
passMachine-readable errors (RFC 9457)via docs28/28No 4xx/5xx response codes (or default error response) documented anywhere in the spec. Investigated: docs 100%, spec 50%, sdk 50%.RFC 9457 problem details and a documented error-code inventory let agents parse failures without burning tokens.
passOperation purpose clarityvia spec25/25100% 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.
warnAgent-navigable, token-efficient docsvia docs16.5/225 of 49 pages have substantive content differences between markdown and HTML (avg 12% missing). Investigated: docs 75%.Server-rendered, clean, small-footprint docs are what an agent can cheaply fetch and parse correctly.
failAgent instructions file (AGENTS.md)via wellknown0/10No 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.
failDocs structured datavia docs0/8Neither JSON-LD nor OpenGraph/meta tags detected across 1 assessed pages (1 JS-rendered). Investigated: docs 0%.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 pass0 warn3 fail59D
SignalPointsFindingsRationale
passIdempotency documentedvia sdk27/27Built-in retry machinery is present (grep-derived). Investigated: sdk 100%, spec 0%, docs 0%.Documented idempotency lets agents retry safely.
passSandbox separationvia sdk20/20Sandbox environments are exposed (sandbox). Investigated: sdk 100%, spec 0%, docs 0%.An isolated environment lets agents exercise destructive operations safely.
failRate-limit signalingvia spec0/22No rate-limit response headers documented. Investigated: spec 0%, docs 0%.Machine-readable rate-limit headers let agents throttle adaptively.
failPagination documented & consistentvia spec0/221 list endpoint(s) exist but no pagination params found. Investigated: spec 0%, docs 0%.Consistent, documented pagination lets agents traverse collections.
failRunnable collection with test scriptsvia platform0/9No 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 Customer — the evidence behind the score. All discovered from public sources; nothing here requires access to your systems.

Agent hintsContext7 (4,335)
APIs analyzed4Journeys App API, Journeys Track API, Pipelines API, Reporting webhooks
Want to improve your results?