Payabli is Agent-Ready to agents.
Discry independently scored how well an AI agent can discover and understand the Payabli 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 · 86/100Comprehension
55% of score · 96/100What we found
- Payabli treats agents as a first-class audience: a dedicated /ai-agents page documents an official MCP server, installable Agent Skills (payabli/integration-skills, with AGENTS.md), Context7 indexing, per-page .md URLs, and size-labeled llms.txt/llms-full.txt endpoints — an agent landing anywhere in the docs is redirected to token-efficient access paths.
- An agent can control its own token budget: section-level llms-full.txt endpoints ship query parameters (excludeSpec=true, lang=python) to strip the 1.9MB OpenAPI spec or filter SDK examples to one language — the only API in recent batches that documents response-size tradeoffs (~1KB to ~7.5MB) per endpoint.
- Endpoint pages are built for machine consumption: method + URL appear immediately after the H1, each page embeds its own OpenAPI 3.1 fragment as fetchable markdown, and examples pair a realistic request (test card 4111..., real entrypoint value, plausible amounts) with the actual response envelope plus SDK code in 8 languages.
- Error recovery is agent-grade where it matters most for payments: docs tell you exactly what to DO on a 409 duplicate idempotencyKey (query the transaction list for the approved-but-timed-out transaction) and on a timeout (use the ApprovedTransaction webhook instead of retrying blind) — the two scenarios where a naive agent double-charges a card.
- The remaining gaps are registry-level, not content-level: /.well-known/mcp.json returns 404 even though a real MCP server exists, the server isn't listed in Glama/Smithery/PulseMCP, and the root llms.txt (~112KB) exceeds a comfortable single-fetch token budget — though right-sized section indexes (33-64KB) exist one hop away.
What to change
Prioritized by impact on discoverability. You (or your docs platform) deploy these — Discry never touches your API.
- 01Publish /.well-known/mcp.json describing the existing Payabli MCP server (tools: search-payabli-docs, ask-question-about-payabli) — the server is real and documented, but the standard discovery path for it returns 404, so an agent probing conventional locations never finds it.
- 02List the Payabli MCP server in Glama, Smithery, and PulseMCP. Registry search is how agent frameworks discover tools; today those searches return competitors' payables servers but not Payabli's official one.
- 03Slim the root /llms.txt (~112KB, ~28K tokens) toward the <50KB range — e.g. keep top-level sections and popular pages, and delegate the long per-page tail to the existing section-level indexes it already links.
- 04Add per-endpoint error-response documentation (400/401/429 shapes) to API reference pages; today an agent must join the endpoint page with the separate return-codes reference and API overview to know what a failure looks like on that specific call.
- 05Normalize the residual naming drift: cardHolder sits next to all-lowercase cardcvv/cardnumber/cardzip in the same object, and the webhook correlation field varies by endpoint version (referenceId in v1, paymentTransId in v2) — both are documented, but an agent has to special-case them.
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.
Exceptionally complete execution documentation. Auth is a requestToken header with four documented token types and lifetimes. Responses use a consistent JSON envelope (isSuccess/responseText/responseData) with a dedicated return-codes reference covering ACH, card, AVS, and CVV codes. Rate limits are explicit tables (200/min, 3,000/15min, 10,000/hr) plus separate fraud-control transaction limits, and request timeouts are specified per method (30s write / 90s read -> 504). Idempotency is first-class: an idempotencyKey header with 2-minute retention, documented 409 Conflict behavior, and webhook-based duplicate-recovery guidance. Pagination is documented on query/list endpoints.