Error codes
Every error response carries {error: {code, message, status, docs}}. The codes:
unauthorized (401)- Missing, unknown, or revoked credential. Send
Authorization: Bearer sk_live_… or sign in with OAuth on /mcp.
rate_limited (429)- Per-key rate limit exceeded. Honor
Retry-After; limits are per minute and reset on their own.
invalid_request (400)- A parameter failed validation. The message names the field.
not_found (404)- Unknown route, or an entity the directory does not cover yet — check
/v1/regions for the served ZIP prefixes before treating this as an error.
upstream_error (502)- The directory backend did not answer. Safe to retry with backoff.
internal (500)- Our bug, already logged. Retrying may work; persistent failures are worth reporting.
Full API reference