Guardrails
Errors
Error codes, status, and retry behavior.
Errors are returned as:
{
"request_id": "req_123",
"error": {
"code": "invalid_request",
"message": "Request validation failed.",
"details": {}
}
}Error codes
| Code | Status | Retryable | Notes |
|---|---|---|---|
| access_key_required | 401 | no | Missing API key |
| access_key_invalid | 401 | no | Invalid or inactive key |
| quota_exceeded | 403 | no | Monthly quota exceeded |
| concurrency_limit_reached | 429 | yes | Concurrency hit |
| rate_limited | 429 | yes | Rate limit exceeded |
| invalid_request | 400 | no | Validation failed |
| url_required | 400 | no | Missing input |
| invalid_url | 400 | no | URL invalid |
| ssrf_blocked | 403 | no | Target blocked by SSRF |
| navigation_timeout | 504 | yes | Navigation timed out |
| timeout_error | 504 | yes | Capture timed out |
| selector_not_found | 400 | no | Selector not found |
| browser_crashed | 500 | yes | Browser crashed |
| internal_error | 500 | yes | Internal error |
| temporary_unavailable | 503 | yes | Temporary issue |