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