◎ Discry Score
octagonai.com
ai · API
B
0 / 100
DISCOVERY0
COMPREHENSION0
Category leader: 99 (A)
Discry your API →
AI · RANK #33 OF 43

OctagonAI is Good to agents.

Discry independently scored how well an AI agent can discover and understand the OctagonAI 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 · 62/100
OpenAPI specA machine-readable OpenAPI/Swagger spec agents can parse.Fail
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.Partial
.well-known/mcp.jsonA discoverable MCP manifest at a well-known path.Fail
MCP registryThe API is listed in a public MCP registry.Pass
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 · 91/100
Task-oriented descriptionsEndpoints described by what they accomplish, not just their shape.Pass
Realistic examplesRunnable, real-world request/response examples.Pass
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

  • An agent that finds Octagon lands in strong shape: the API is OpenAI-compatible, so any agent already fluent in the OpenAI SDK can call Octagon's specialized financial-research agents by swapping only the base_url — comprehension scored 91/100 (A).
  • Discovery drags the overall to a B (62/100, C): there is no publicly accessible OpenAPI/Swagger spec — the single highest-weighted discovery signal — so an agent cannot machine-generate a typed client and must infer the surface from prose docs.
  • The docs domain (docs.octagonai.co) ships a genuinely API-focused llms.txt (~21KB) with runnable Python/JS/cURL examples, and its robots.txt explicitly allows GPTBot and OAI-SearchBot — an agent crawler is welcomed rather than blocked.
  • The Kalshi REST reference is a standout for agents: task-oriented endpoint descriptions, parameter tables with defaults/min/max, base64 cursor pagination, and an explicit error Status/Cause table — so an agent can compose calls and interpret failures without guessing.
  • Octagon is MCP-native: official first-party octagon-mcp-server and octagon-deep-research-mcp repos are listed across multiple MCP registries (mcpmarket, FlowHunt, AgentX, Metorial), so agents can discover and wire up Octagon from inside an MCP session — but no substantive AGENTS.md exists in those repos (the hosted CLAUDE.md is a one-line placeholder).

What to change

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

  1. 01Publish a public OpenAPI/Swagger spec at a stable path (e.g. docs.octagonai.co/openapi.json) and link it from the docs — the single highest-impact discovery fix, moving the heaviest-weighted check (weight 5) from fail toward pass and letting agents auto-generate typed clients.
  2. 02Add a real AGENTS.md to the octagon-mcp-server and octagon-deep-research-mcp repos (agents, model IDs, auth, safe usage), replacing the trivial hosted CLAUDE.md — a rising standard that coding agents look for first.
  3. 03Document rate limits and 429/Retry-After behavior; today an agent would only discover throttling by failing at runtime with no recovery guidance.
  4. 04Extend the existing error Status/Cause table with explicit per-error recovery steps (e.g. 'on 503, retry after nightly sync populates the table'; 'on 422, correct the named field') to move error handling from human-readable to agent-actionable.
  5. 05Add a dedicated capability-boundaries/limits page (max page sizes, data freshness/coverage, unsupported query combinations) so agents can plan within constraints rather than probing them by failing.

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 (Bearer token via Authorization header, OpenAI-SDK-compatible) Error format documented Rate limits documented Pagination documented Idempotency documented

Auth is a single API-key Bearer token, documented cleanly via the OpenAI-compatible SDK pattern (swap base_url to https://api.octagonai.co/v1). The REST surface (Kalshi search/baskets, events) documents a machine-parseable error model with an explicit Status/Cause table (400 bad params, 401 auth, 422 Pydantic validation, 502 upstream, 503 unavailable) and base64 cursor pagination with limit/cursor/next_cursor and documented min/max/default page sizes. No rate limits or 429/Retry-After semantics are documented anywhere, and idempotency keys are not mentioned. Execution characteristics were assessed from documentation only, not live-tested.

See your own Discry Score.

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

Discry your API — free