Checker API
Hosted UCP validation & store-readiness API — free, no auth.
The Checker API is a hosted service at https://checker.ucphub.ai exposing
two operations. It is stateless: nothing you send is stored.
The full interactive reference (schemas, try-it, examples) lives at checker.ucphub.ai/docs.
POST /validate
Validates a pasted UCP document — discovery profile, checkout session, cart, order, payment handler, and more — against the official UCP JSON Schemas. Pure and offline: nothing is fetched.
curl -X POST https://checker.ucphub.ai/validate \
-H 'content-type: application/json' \
-d '{
"document": { "id": "cod", "version": "2026-04-08", "config": { "title": "Cash on delivery" } },
"type": "payment_handler"
}'A 200 with valid: false means the request worked and the document did not
conform — non-2xx is reserved for malformed requests. Pass "version": "draft"
to validate against the upcoming spec release.
Pasting a full /.well-known/ucp response works too: the API detects the
top-level ucp envelope, validates the inner object, and says so in a note.
POST /check
Probes a live storefront and returns a scored, graded agent-readiness report:
curl -X POST https://checker.ucphub.ai/check \
-H 'content-type: application/json' \
-d '{"url": "https://your-store.example"}'Four checks feed the report:
| Check | What it does |
|---|---|
ucp-profile | Fetches /.well-known/ucp and validates it against the official schemas |
robots-txt | Checks whether AI agents are allowed to crawl |
llms-txt | Probes for an llms.txt file |
agents-md | Probes for an agents.md file |
Schema conformance is the backbone: a missing or invalid UCP profile caps the score at 40.
Limits
/validaterequest bodies are capped at 1 MiB./checkis rate-limited per IP at the edge — space scans a few seconds apart.