Worldworld.org
World's API program shows strong fundamentals in contract quality and documentation discovery, but two gaps are creating real friction for partners and their AI agents: the absence of a published changelog leaves partners flying blind through API changes, and undocumented rate-limit signaling means agents will hit throttling walls without warning. Closing these two gaps — changelog visibility and rate-limit transparency — should be the immediate priority to protect partner integrations and enable reliable automated workflows.
API DesignA clean, typed, well-governed API contract agents can reason about4 pass1 warn0 fail98A+
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Schema coverage & depthvia sdk | 25/25 | .d.ts present on disk but not declared in package.json. Investigated: sdk 100%, spec 72%. | Typed, complete request/response schemas are what make agent function-calling possible. |
| pass | Auth declared & discoverablevia spec | 25/25 | authentication is documented on the docs site at https://docs.world.org/mini-apps/commands/wallet-auth, even though it isn't declared in the API spec. Investigated: spec 100%, docs 100%, cli 50%. | 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 | Machine-readable, versioned contractvia spec | 22.9/25 | The API sets a version ("0.1.4") but exposes no versioning scheme in the URL, a header, or the media type, so an agent can't pin to a specific version. Investigated: spec 92%, docs 83%, cli 25%. Fix: Pick a versioning scheme (URL path /v1/, Accept: application/vnd.x+json, or a version header) and apply it consistently. | A current OpenAPI version with a declared versioning scheme lets agents reason about the contract. |
| pass | Security & governance hygienevia spec | 15/15 | No credential-shaped strings detected in spec. Investigated: spec 100%, sdk 100%, wellknown 100%. | 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 | Only 0% of parameters and responses (0 of 29) include example values, so an agent has little grounding in real payload shapes. Investigated: spec 100%, docs 100%, sdk 50%, cli 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 examples4 pass0 warn1 fail89A
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Self-service developer portalvia docs | 29/29 | Signup page found at https://join.world.org/index, 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. |
| pass | Quickstart presentvia docs | 25/25 | Quickstart at https://docs.world.org/mini-apps/quick-start/installing includes a runnable first-call code sample. Investigated: docs 100%. | A quickstart is the fastest path from landing page to first successful call. |
| pass | Code samples in docsvia docs | 18/18 | Docs show code samples in 4 language(s) (top: typescript, shell, javascript), and 3 of 20 sampled pages offer ≥ 2 languages side by side. Investigated: docs 100%. | Multi-language samples shorten time-to-first-call. |
| pass | Description completenessvia spec | 15/15 | Only 36% of operations and parameters have descriptions (34 of 47 ops, 0 of 5 params), leaving an agent to guess what most endpoints do. Investigated: spec 100%. | 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 fail99A+
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Docs reachable, not hard auth-gatedvia docs | 30/30 | All 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. |
| warn | llms.txt present, valid & comprehensivevia docs | 29/30 | llms.txt contains parseable links but doesn't fully follow the proposed structure: https://docs.world.org/llms.txt: No blockquote summary found. Investigated: docs 97%, sdk 0%. | A valid, comprehensive llms.txt is the machine-readable entry point for agents. |
| pass | Registry & SDK presencevia docs | 28/28 | Indexed on Context7 (llmstxt/world_llms-full_txt, 4861 snippets). Investigated: docs 100%, sdk 50%, wellknown 50%, cli 0%, mcp 0%. | Listing in MCP registries and publishing SDKs puts the API where agents and their tooling look. |
| 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 pass4 warn0 fail76B
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Machine-readable errors (RFC 9457)via docs | 28/28 | error codes is documented on the docs site at https://docs.world.org/world-id/idkit/error-codes, even though it isn't declared in the API spec. Investigated: docs 100%, spec 50%, cli 0%. | RFC 9457 problem details and a documented error-code inventory let agents parse failures without burning tokens. |
| warn | Agent-navigable, token-efficient docsvia docs | 21.8/22 | 3 of 49 pages have substantive content differences between markdown and HTML (avg 3% missing). Investigated: docs 99%. | Server-rendered, clean, small-footprint docs are what an agent can cheaply fetch and parse correctly. |
| warn | Operation purpose clarityvia spec | 8.3/25 | Only 0% of operations (0 of 12) have a clear summary plus descriptive name, so an agent must guess purpose from the URL path for most. Investigated: spec 33%. 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. |
| pass | Docs structured datavia docs | 8/8 | Machine-readable JSON-LD Article markup on 20 of 20 assessed pages (100%), with dateModified present. Investigated: docs 100%. | 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 | 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%, cli 0%, 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 | Description consistency across surfaces | 0.3/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. |
Agent UsabilityAgents have the context to use your APIs reliably, not just find them2 pass2 warn1 fail70B
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Idempotency documentedvia sdk | 27/27 | Built-in retry machinery is present (grep-derived). Investigated: sdk 100%, spec 0%, docs 0%, cli 0%. | Documented idempotency lets agents retry safely. |
| pass | Sandbox separationvia spec | 20/20 | sandbox is documented on the docs site at https://docs.world.org/world-id/sandbox/what-is-sandbox, even though it isn't declared in the API spec. Investigated: spec 100%, docs 100%, sdk 100%. | An isolated environment lets agents exercise destructive operations safely. |
| warn | Pagination documented & consistentvia docs | 11/22 | The 1 list endpoint(s) expose no pagination parameters, forcing an agent into all-or-nothing reads. Investigated: docs 50%, spec 38%. Fix: Add pagination parameters (cursor / offset+limit) to all list endpoints. | Consistent, documented pagination lets agents traverse collections. |
| warn | Runnable collection with test scriptsvia sdk | 4.5/9 | README is present but has no runnable quickstart. Investigated: sdk 50%, platform 50%. Fix: Add a runnable quickstart (install + first authenticated call) to the README. | A public, maintained collection with assertions is runnable truth agents validate against. |
| 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. |
Resources Discovered
The public resources we found for World — the evidence behind the score. All discovered from public sources; nothing here requires access to your systems.
| Agent hints | Context7 (4,861) |
|---|---|
| APIs analyzed | 3 — WorldFirst Public Enhanced API, Developer Portal API, world-id-gateway |