◎ Discry Score
lula.com
communication · API
B
0 / 100
DISCOVERY0
COMPREHENSION0
Category leader: 98 (A)
Discry your API →
COMMUNICATION · RANK #11 OF 24

Lula is Good to agents.

Discry independently scored how well an AI agent can discover and understand the Lula API from what’s public — not whether it’s usable. Below: every signal we checked, what’s costing the score, and what to change.

Discry your API — freeView the docs ↗

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 · 74/100
OpenAPI specA machine-readable OpenAPI/Swagger spec agents can parse.Pass
llms.txtAn llms.txt index that points agents to the docs that matter.Pass
llms.txt qualityThe llms.txt is focused, current, and well under the size budget.Pass
llms-full.txtA full-text bundle agents can load in one request.Partial
AGENTS.mdAn AGENTS.md that tells coding agents how to build on the API.Fail
.well-known/mcp.jsonA discoverable MCP manifest at a well-known path.Fail
MCP registryThe API is listed in a public MCP registry.Fail
robots.txt AI directivesrobots.txt allows (or explicitly guides) AI crawlers.Pass
SitemapA sitemap so agents can enumerate the docs surface.Pass

Comprehension

55% of score · 84/100
Task-oriented descriptionsEndpoints described by what they accomplish, not just their shape.Pass
Realistic examplesRunnable, real-world request/response examples.Partial
Multi-step workflowsDocs that chain calls into complete jobs an agent can follow.Pass
Error-recovery guidanceDocumented failure modes and how to recover from them.Partial
Answer-first formatThe answer leads; preamble does not bury it.Pass
Capability boundariesClear limits — what the API can and cannot do.Partial
Naming consistencyConsistent, predictable naming across endpoints.Pass
Heading hierarchyClean heading structure agents can navigate.Pass
Markdown docsDocs available as clean markdown, not JS-rendered HTML only.Pass
Token efficiencyDocs are concise enough to fit an agent context window.Pass

What we found

  • lula.com no longer serves the 'Lula' insurance API — it 301-redirects to Gail (meetgail.com, Nothing Technologies Inc.), a conversational-AI platform for insurance, banking, and lending. An agent following the registry's 'Lula' entry lands on a different company than the name implies; this assessment scores Gail's public External API, which is what actually lives at the domain.
  • Strongly positive: an agent that reaches docs.meetgail.com finds near-ideal machine consumption — a published OpenAPI 3.1 spec (JSON + YAML), an API-focused llms.txt with an explicit 'Instructions for AI Agents' section, clean per-page Markdown (append .md to any URL), and a hosted MCP server at /_mcp/server. These are Fern-generated docs built for agents, not just humans.
  • Endpoint descriptions are task-oriented ('Start a single outbound call', 'Download a CSV report of campaign results, including outcomes and transcripts') and every endpoint ships copy-pasteable SDK snippets in 8 languages, so an agent can learn both WHAT an endpoint does and HOW to call it without guessing.
  • Weak spot for execution: examples use placeholder values ("to": "string", empty {} request bodies) rather than realistic phone numbers/IDs, and there is no documented rate-limiting or per-error recovery guidance — an agent would learn valid inputs, request limits, and retry behavior only by failing against the live API.
  • Discovery is split-brain: the docs subdomain welcomes AI crawlers, but the primary brand domain (lula.com -> meetgail.com) robots.txt hard-blocks GPTBot, anthropic-ai, Google-Extended, CCBot, Bytespider and cohere-ai. An agent starting from the brand domain is turned away before it ever finds the excellent docs subdomain.

What to change

Prioritized by impact on discoverability. You (or your docs platform) deploy these — Discry never touches your API.

  1. 01Replace placeholder example values ('string', empty {}) with realistic ones — E.164 phone numbers, sample UUIDs, plausible campaign/script names — so agents can adapt the copy-paste examples without having to invent valid inputs.
  2. 02Document rate limits (numeric limits plus the response header names an agent should read) and add per-error recovery guidance for the top 400/401/429 cases, turning the already-structured ProblemDetails schema into actionable self-correction.
  3. 03Align the marketing-domain robots.txt with the docs: stop blocking GPTBot/anthropic-ai/CCBot etc. on meetgail.com (or at minimum allow them to reach the docs) so agents can discover the API starting from the brand domain.
  4. 04Add a /.well-known/mcp.json manifest advertising the existing /_mcp/server endpoint, and list the MCP server in public registries (Glama, Smithery, PulseMCP) so agents can find it without first reading llms.txt.
  5. 05Fix the directory identity: correct the registry entry (and add an AGENTS.md) so the API is discoverable under its real name, Gail / meetgail.com, rather than the stale 'Lula' brand at a redirecting domain.

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.

API key (X-API-Key header)Session tokens (createSession) Error format documented Rate limits documented Pagination documented Idempotency documented

Auth is a single API key passed in the X-API-Key header (generated in the Gail Portal under General > Integrations > API Keys), plus a session-creation endpoint. Errors are machine-parseable JSON documented with two structured schemas — ErrorResponse (errors[] with status/title/detail/code) and RFC-7807-style ProblemDetails (type/title/status/detail/instance). Rate limits, pagination parameters, and idempotency keys are not documented and would only be discovered through live testing.

See your own Discry Score.

Drop your API docs URL. See what an agent sees — in 60 seconds, free.

Discry your API — free