Errors

Errors are always JSON with a stable machine-readable code:

{
  "error": {
    "code": "render_timeout",
    "message": "Page did not finish rendering within the time limit…",
    "docs": "https://rasterkit.com/docs/errors#render_timeout"
  }
}

Catalog

CodeHTTPRetry?Meaning
invalid_request 400 No — fix the request Validation failed; details[] lists each problem.
unauthorized 401 No — fix the key Missing or unknown API key (X-Api-Key header or Bearer token).
signature_invalid 401 No Signed URL signature mismatch.
signature_expired 401 No — re-sign Signed URL past its expires timestamp.
quota_exceeded 402 After upgrade Free plan hard stop at 100 renders/month.
key_suspended 403 No — contact support Key revoked or account suspended.
template_not_found 404 No No such template on your account.
job_not_found 404 No Unknown job id (or not yours).
payload_too_large 413 No — shrink the body Body over 10 MB.
template_invalid 422 No — fix the template Handlebars compilation failed.
rate_limited 429 Yes — with backoff Plan requests/second exceeded. See Retry-After.
spend_cap_reached 429 After raising cap Soft overage protection on paid plans (4× included by default).
url_blocked 451 No URL resolves to a private/reserved address (SSRF protection).
internal_error 500 Yes — once Our fault. Logged with your request id.
render_timeout 504 Yes — tune waits Page did not settle within timeout_ms.

Retry guidance