Documentation
Guides for running and reading an audit, and the reference for the REST API. Everything here is public: no login, no gate.
Run a free Quick checkGuides
Start here if you are new. Each one answers a single "how do I" question end to end.
API reference
A small REST API to run agent-readiness scans and get notified when audits finish. Everything is JSON over HTTPS. Keys are issued on request: ask support.
Base URL
All endpoints are served from:
https://go.agentchecker.aiAuthentication
Every request must carry an API key. Generate one from your dashboard — the full key is shown once at creation time, so store it securely. Keys are scoped to your organization. Live keys start with ak_live_.
Pass the key in either header — both are accepted:
curl https://go.agentchecker.ai/api/v1/scan \
-X POST \
-H "X-API-Key: ak_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com"}'
# or, equivalently:
-H "Authorization: Bearer ak_live_your_key_here"Requests without a valid key return 401. A key on a plan that no longer includes API access returns 403. Revoke a key any time from the dashboard; revocation takes effect immediately.
Rate limits
Each API key is limited to 30 requests per minute. Every response includes X-RateLimit-Limit and X-RateLimit-Remaining. When you exceed the limit you get 429 Too many requests with a Retry-After header (seconds to wait).
Scan a URL
Runs the deterministic quick check against a URL and returns the full set of agent-readiness signals. This does not consume behavioural audit credits.
/api/v1/scanRequest body
{
"url": "https://example.com", // required
"industry": "ecommerce" // optional, helps tailor checks
}Response 200
{
"url": "https://example.com",
"industry": null,
"summary": {
"passed": 12,
"failed": 3,
"warnings": 2,
"notApplicable": 1
},
"sources": {
"webmcp": { "checks": [ /* ReadinessCheck[] */ ] },
"google": { "checks": [ ... ] },
"agent-protocols": { "checks": [ ... ] },
"accessibility": { "checks": [ ... ] }
// ...one entry per check source that applied
},
"standards_coverage": { /* per-standard pass summary, or null */ },
"generated_at": "2026-07-10T12:00:00.000Z"
}summary holds the roll-up counts; each entry in sources contains the individual checks (id, status, title, detail) behind those counts.
Webhooks
Register an HTTPS endpoint from your dashboard to be notified when audits finish. The signing secret (prefix whsec_) is shown once at creation. Currently one event is emitted:
audit.completed— fired when a full audit finishes and its report is ready.
Delivery request
We POST JSON to your URL with these headers (HTTPS only, 10s timeout, no redirects):
X-AgentChecker-Event: audit.completed
X-AgentChecker-Signature: sha256=<hex>
Content-Type: application/json
User-Agent: AgentChecker-Webhooks/1.0
{
"event": "audit.completed",
"created_at": "2026-07-10T12:00:00.000Z",
"data": {
"audit_id": "aud_...",
"url": "https://example.com",
"business_name": "Example Inc",
"pass_rate": 0.78,
"overall_score": 7,
"passed_count": 12,
"warning_count": 2,
"critical_count": 3,
"site_id": "site_..."
}
}Verifying the signature
The signature is an HMAC-SHA256 of the raw request body, keyed with your webhook secret, hex-encoded and prefixed with sha256=. Compare it in constant time:
import crypto from 'node:crypto';
function verify(rawBody, header, secret) {
const expected =
'sha256=' + crypto.createHmac('sha256', secret).update(rawBody).digest('hex');
return crypto.timingSafeEqual(Buffer.from(header), Buffer.from(expected));
}Errors
Errors are returned as JSON with an appropriate status code:
{ "error": "Human-readable message" }| Status | Meaning |
|---|---|
| 400 | Invalid request — missing/invalid url or body. |
| 401 | Missing or invalid API key. |
| 403 | Your plan doesn't include this API / feature. |
| 404 | Unknown resource, or the API is not enabled for you. |
| 429 | Rate limit exceeded — retry after the Retry-After header. |
| 502 | Upstream scan failed — safe to retry. |
Need something that isn't here? Talk to us — we're expanding the API.
Back to home