Legends is Not Agent-Ready to agents.
Discry independently scored how well an AI agent can discover and understand the Legends 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 · 29/100Comprehension
55% of score · 26/100What we found
- An agent that starts at the branded domain (livemylegend.com) hits a wall: the Squarespace robots.txt returns 'Disallow: /' for every major AI crawler (GPTBot, ClaudeBot, anthropic-ai, CCBot, Google-Extended, Amazonbot), so the marketing site is off-limits and there is no llms.txt, llms-full.txt, or MCP manifest to fall back on.
- The actual API is undiscoverable from the brand site -- it lives on an unlinked subdomain (traveldna.livemylegend.com) exposed only through a raw FastAPI Swagger UI, so an agent finds it by luck (web search) rather than by any signal the company published.
- The one bright spot is a valid, publicly reachable OpenAPI 3.1 spec covering 21 operations, and 20 of them carry prose descriptions -- some genuinely task-oriented (the /v1/usermetadataresult/{type}/{refID} endpoint explains its 1=Country, 2=City... type mapping in full).
- The spec ships zero request/response examples and mixes casing styles freely (birthDate, createdDate, deviceID alongside core_preferences, freq_of_travel, contactno), so an agent must guess payload shapes and can't rely on consistent field naming.
- There is no getting-started guide, no multi-step workflow documentation, and no error-recovery guidance -- an agent trying to chain token -> create user -> insert metadata -> read results must reverse-engineer the sequence and would discover auth, not-found, and rate-limit behavior only by failing.
What to change
Prioritized by impact on discoverability. You (or your docs platform) deploy these — Discry never touches your API.
- 01Stop blocking AI agents at the front door: replace the blanket Squarespace 'Disallow: /' with rules that allow reputable AI crawlers, or at minimum expose the API under an agent-reachable path -- today the branded domain is invisible to every model.
- 02Publish an llms.txt at livemylegend.com that names the product, states that the TravelDNA API exists, and links directly to traveldna.livemylegend.com/openapi.json -- this single file is the cheapest way to make the API discoverable.
- 03Add realistic request/response examples to every endpoint in the OpenAPI spec (FastAPI supports Field(examples=[...]) and response examples); an agent can't build a correct call from schema types alone.
- 04Normalize field naming to one casing convention (pick snake_case or camelCase) across all 45 schema properties, and fix the endpoint summary typos ('Update Compony', 'Getuserdatabytype', 'Uesrmetadata') so terminology is consistent and machine-parseable.
- 05Document the non-happy path: add 401/403/404/429 responses with a stable error schema and short recovery notes, plus one end-to-end 'authenticate -> create user -> insert metadata -> fetch results' workflow guide so agents can chain operations without trial and error.
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.
A two-step auth flow is documented (company_key -> Bearer access token) and validation errors return a machine-parseable HTTPValidationError schema, with a pagination_metadata_refid schema present. However, only 200 and 422 responses are documented across all 21 operations -- no auth-failure, not-found, or rate-limit responses -- and there is no idempotency guidance.