Smartlead is Good to agents.
Discry independently scored how well an AI agent can discover and understand the Smartlead API from what’s public — not whether it’s usable. Below: every signal we checked, what’s costing the score, and what to change.
SCORED UNDER RUBRIC 1.2 · A full re-launch under Discry Score 2.5 — a new behavioral instrument, not comparable to these scores — is in progress.
Discovery
45% of score · 71/100Comprehension
55% of score · 100/100What we found
- An agent discovering Smartlead lands well: robots.txt on the docs host carries an explicit Content-Signal (ai-train=yes, search=yes, ai-input=yes), and a clean, API-focused llms.txt maps every guide, core concept, and endpoint group — the API is understandable in under ~2,500 tokens before any page is opened.
- Comprehension is essentially flawless. Endpoint pages lead with the method, URL, and a task-oriented purpose, ship copy-pasteable cURL/Python/JS/PHP examples with realistic values, and consistently use snake_case — an agent can go from zero to a live campaign by following the docs alone.
- Error recovery is best-in-class for agent use: a dedicated guide pairs each common error (401, 400, 404, 409, 429, 5xx) with an explicit fix, exponential-backoff-with-jitter code, and Retry-After handling — the docs tell an agent what to DO, not just what broke.
- The single biggest gap is the OpenAPI spec: the Mintlify 'Try it' reference is generated from an underlying schema, but no machine-readable spec is downloadable at any standard path (openapi.json, openapi.yaml all 404) — an agent that wants to auto-generate a client can't fetch one.
- There is no AGENTS.md in a Smartlead-owned repo, and the vendor-linked .well-known/mcp.json points at a non-canonical Mintlify branch-preview URL (smartlead.main-kill-isr.mintlify.me) rather than a stable production MCP endpoint — a coding agent following it could hit a dead or unstable server.
What to change
Prioritized by impact on discoverability. You (or your docs platform) deploy these — Discry never touches your API.
- 01Publish a downloadable OpenAPI spec at a discoverable path (e.g. https://api.smartlead.ai/openapi.json) and link it from llms.txt. This is the highest-weighted discovery signal and the only comprehension-adjacent gap — it lets agents auto-generate typed clients instead of scraping HTML.
- 02Fix the .well-known/mcp.json URL to point at a stable production MCP endpoint (not a Mintlify preview subdomain), so agents that resolve the manifest connect to a durable server.
- 03Add an AGENTS.md to the primary public Smartlead repo (or publish an official, clearly-branded MCP server repo with one) — the ecosystem already has 6+ community MCP servers, so an authoritative agent-facing entry point would consolidate discovery.
- 04Document pagination explicitly (cursor vs. offset, page-size limits, response envelope) for the list endpoints (campaigns, leads, inbox) so agents can iterate large result sets deterministically.
- 05Document idempotency support (or its absence) for write endpoints like campaigns/create and lead import, so agents can safely retry after a 5xx without creating duplicates.
Execution coverage · INFORMATIONAL, UNSCORED
Whether an agent can actually complete a call and recover from errors is the deeper Audit layer — documented here, but not part of the Discry Score.
Execution characteristics are documented unusually well for a scan-tier API. Errors return a consistent JSON envelope (error.code, error.message, error.details) and are mapped to HTTP status codes with specific recovery steps. Rate limits are published per plan tier with X-RateLimit-* headers and a Retry-After field. Auth is a single API-key model passed via query parameter or request body. Pagination and idempotency-key support are not documented — an agent would have to infer them or discover them by trial.