Smssms.yoga
Sms (sms.yoga) has a solid API design foundation, but the partner program is being held back by two critical gaps: agents and partners cannot safely or reliably use the API in practice, and the documentation leaves most endpoints undescribed and without examples. The most urgent priorities are establishing a sandbox environment and documenting idempotency and rate-limit behavior so partners can integrate without risking production data, followed by filling in operation descriptions and code samples so partners and their AI agents can understand and use the API without guesswork.
API DesignA clean, typed, well-governed API contract agents can reason about4 pass1 warn0 fail93A+
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Machine-readable, versioned contractvia spec | 25/25 | The API declares version "1.0.0" and uses url-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. |
| warn | Schema coverage & depthvia spec | 16.7/25 | Only 91% of the 23 operations document both request and response schemas (target 95%+), so an agent can't reliably call the rest. Investigated: spec 67%, sdk 0%. Fix: Document request body and 2xx response schemas for every non-deprecated operation. | Typed, complete request/response schemas are what make agent function-calling possible. |
| pass | Security & governance hygienevia spec | 15/15 | No credential-shaped strings detected in spec. Investigated: spec 100%, sdk 100%, wellknown 50%. | No leaked secrets, no critical lint violations, no OWASP API Top-10 spec smells, and a published vulnerability-disclosure channel. |
| pass | Example coveragevia spec | 10/10 | 100% of parameters and responses (57 of 57) include example values, grounding an agent in real payload shapes. Investigated: spec 100%, docs 0%, sdk 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 examples1 pass1 warn3 fail56D
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Self-service developer portalvia docs | 29/29 | Signup page found at https://sms.yoga/signup, but no free tier or sandbox is documented in docs/pricing, so an agent may hit a paywall. Investigated: docs 100%. | A first call without a human in the loop — self-serve credentials, a free tier, or an API that needs none. |
| warn | Quickstart presentvia docs | 12.5/25 | Quickstart page is reachable at https://sms.yoga/docs-api/quickstart (24 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. |
| fail | Description completenessvia spec | 0/15 | Only 48% of operations and parameters have descriptions (22 of 23 ops, 0 of 4 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. |
| fail | Changelog publishedvia spec | 0/13 | No changelog link or mention appears in the spec, so an agent can't tell what changed before something breaks. Investigated: spec 0%, docs 0%. Fix: Publish a structured changelog (e.g., /changelog.json or releases.atom) and reference it in info or externalDocs. | 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 fail87A
| 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 (yunpian/sms, 63 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 | llms.txt present, valid & comprehensivevia docs | 15/30 | No llms.txt found at any candidate location (https://sms.yoga/docs-api/llms.txt, https://sms.yoga/llms.txt, https://sms.yoga/docs/llms.txt). Investigated: docs 50%. | A valid, comprehensive llms.txt is the machine-readable entry point for agents. |
| pass | Crawlable / AEOvia wellknown | 12/12 | robots.txt lets all monitored AI crawlers reach the docs paths. 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 pass3 warn1 fail67C
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Machine-readable errors (RFC 9457)via docs | 28/28 | Documents 5 distinct 4xx/5xx error response codes, so an agent can branch on specific failures instead of guessing. Investigated: docs 100%, spec 50%. | RFC 9457 problem details and a documented error-code inventory let agents parse failures without burning tokens. |
| 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 | Agent instructions file (AGENTS.md)via sdk | 5/10 | No agents.md or skill.md context file found (nice-to-have for agent operation). Investigated: sdk 50%, 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. |
| 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 | 0.1/7 | Mean pairwise description similarity across 2 surfaces (spec, docs) is 1% (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 | Operation purpose clarityvia spec | 0/25 | Only 43% of operations (10 of 23) have a clear summary plus descriptive name, so an agent must guess purpose from the URL path for most. Investigated: spec 0%. Fix: Operations without a summary or operationId force agents to guess purpose from the path. Add a concise summary + descriptive operationId to each. | Agents select the right endpoint from its summary + operationId; clear, named operations make tool-selection reliable — the strongest driver of correct tool choice. |
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%, sdk 0%. 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 0% of mutating operations (0 of 17) 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 Sms — the evidence behind the score. All discovered from public sources; nothing here requires access to your systems.
| Agent hints | Context7 (63) |
|---|---|
| APIs analyzed | 2 — ProSMS.se API Documentation, SMS.dk API Documentation |