DocsReference
Errors
Error codes and what counts against your quota.
Errors share one shape: { "error": { "code", "message", … } }. Act on code; message is for people and may change.
| Status | Code | Example message |
|---|---|---|
400 | invalid_request | Unknown task "text.chit" |
400 | key_in_query | API keys are not accepted in the query string; send them in the Authorization header. Rotate a key that was put in a URL. |
401 | invalid_api_key | The API key is not valid |
401 | missing_api_key | Send your API key as Authorization: Bearer <key> |
403 | account_suspended | This account is suspended |
403 | decision_model_not_allowed | decision.model=jev is available to internal accounts only; use openai or local |
403 | insufficient_scope | This key lacks the resolve scope this endpoint needs |
403 | ip_not_allowed | This key may not be used from this IP address |
403 | wrong_key_kind | Management keys only call the key-management API (/api/v1/manage); use a live or test key here |
404 | model_not_found | No model google/nope |
413 | request_too_large | Request bodies are limited to 64 KB |
422 | no_candidate | no_candidate: nothing on your providers meets the need. Says how many candidates each constraint removed, and the nearest miss. Not counted against the quota. |
429 | quota_exhausted | Your plan's 1,000 calls for this period are used up |
429 | rate_limited | Rate limit of 10 requests a minute reached |
What counts
Errors (4xx other than 422, and 5xx) don't count against your quota. A 422 no_candidate doesn't count either, but it still uses the per-minute rate. It says how many candidates each constraint removed and the nearest miss, so you can see which constraint to relax.
The service never answers 5xx because a data source is down: it always serves the last good catalog.