This Error codes doc explains how free scans finish 30 checks in under 10 seconds (ruleset v23).
Error codes
Every failing API and MCP call returns a stable FR-ERR envelope with an executable fix:
{
"ok": false,
"error": {
"code": "rate_limited",
"message": "Daily scan quota exceeded.",
"fix": "Wait 3600s or pass Authorization: Bearer <key>",
"docs": "https://aeogeo.site/docs/errors#rate_limited"
}
} API worker codes
| Code | When | Fix |
|---|---|---|
method_not_allowed | Wrong HTTP method for a route | Use the documented method |
not_found | No route matches the path | Check the API path |
invalid_json | Body is not JSON | Send a JSON body |
invalid_email | Email is not valid | Send [email protected] |
invalid_url | URL is not a valid public http(s) URL | Pass an absolute public URL |
blocked_url | Refusing to fetch that target | Scan a public URL on the open internet |
invalid_api_key | Key not found or not active | Check the key, or scan anonymously |
subscription_past_due | Key's subscription is past due | Resume the subscription |
invalid_webhook_signature | Webhook signature check failed | Resend the callback with the signature header the provider attached to that exact body |
unauthorized | Admin action without token | Provide X-Aeogeo-Admin |
requires_pro | Tier-gated action on the free tier | Pass a Pro/Team API key |
rate_limited | Daily quota exceeded | Wait, or pass a key for higher limits |
fetch_failed | Could not fetch the target page | Retry, or scan another URL |
page_unusable | The page answered but could not be graded | Open the URL in a browser. If it loads, copy the HTML into lint_html |
payload_too_large | Target page over 2 MB | Reduce the page or scan another URL |
scan_budget_exceeded | Not a page-size limit. A full analysis queue waits; it is not refused with this code | Retry the scan. Pages over 64 KB are scanned |
report_not_found | Report id unknown, expired, or not owned by the key | Create a new report with POST /api/reports |
internal_error | Unexpected server failure | Retry, or contact support |
MCP-only codes
| Code | When | Fix |
|---|---|---|
not_supported | Generation-style request | Draft with your own BYOK LLM, then lint here |
unknown_tool | Tool not registered | Call tools/list |
invalid_arguments | Tool arguments don't match the schema | Re-check tools/list and retry |