Polyrankdocs

Errors

The error envelope and the codes you'll actually see.

Every error is JSON with a stable envelope:

{
  "error": "machine_readable_code",
  "message": "Human-readable explanation",
  "trace_id": "01JXYZ…"
}

trace_id is also returned as the X-Trace-Id header on every response — include it when reporting issues.

Codes

HTTPerrorWhen
400validation_errorRequest didn't match the schema — includes an issues array (see below)
401auth_requiredNo session cookie or API key on a gated route
403plan_requiredYour plan doesn't include this feature (Builder, Compare, full metrics, webhooks)
404not_foundNo such route or resource
429rate_limitedSee Rate limits — honor Retry-After
5xxinternal_errorOur fault. Retry with backoff; report persistent trace_ids

The x402 agent tier adds 402 (payment required), 451 (payer blocklisted), and payment-specific errors.

Validation errors

{
  "error": "validation_error",
  "issues": [
    { "path": "params.proxy", "message": "invalid proxy address", "code": "custom" }
  ],
  "trace_id": "01J…"
}

Each issue carries the JSON path, a message, and a zod issue code.

On this page