401 UNAUTHENTICATED | The X-API-Key header is missing, malformed or unknown. | Send a valid access key; create or rotate one in the console under Keys. |
403 ACCOUNT_SUSPENDED | The account behind the key is suspended. | Check your inbox for the reason and contact support. |
403 ACCOUNT_UNDER_REVIEW | Requests are paused while we review the account. | You get an email the moment the review is complete; contact support if it takes longer than a business day. |
403 ACCOUNT_INACTIVE | The account behind the key has been closed. | Keys of a closed account stop working for good; sign up again to keep using the API. |
403 KEY_SCOPE_FORBIDDEN | The key is not scoped to this service. | Use a key whose scopes include the service, or create one that does. |
403 KEY_IP_FORBIDDEN | The request came from an address outside the key's IP allowlist. | Call from an allowed address or edit the allowlist on the key. |
404 UNKNOWN_ENDPOINT | No endpoint at this path/version (or one your plan cannot see). | Compare the path with this reference; private endpoints need a plan that includes them. |
402 NOT_SUBSCRIBED | No active subscription for this service. | Subscribe in the console — pay-as-you-go has no monthly fee. |
402 PAYMENT_FAILED | A renewal payment failed and access is paused until it succeeds. | Update the card under Billing; access resumes on the next successful charge. |
402 INSUFFICIENT_CREDITS | The monthly quota is used up and the credit wallet is empty. | Top up credits (or enable auto top-up) — the request is retried as soon as credits exist. |
429 QUOTA_EXHAUSTED | A hard plan quota or per-endpoint cap was reached for this window. | Wait for the window to reset (see the error details) or move to a larger plan. |
429 RATE_LIMITED | More requests per second than the plan allows. | Back off using Retry-After and the X-EDH-RateLimit-* headers, then retry. |
503 NODE_SYNCING | The gateway node that took the request is still loading its state. | Retry after a few seconds — other nodes may already answer. |
503 NODE_UNAVAILABLE | The gateway node cannot reach its state store. | Retry with exponential backoff; the status page shows fleet health. |
503 NODE_DISABLED | The node that took the request was taken out of service by the operator. | Retry: the balancer routes the next call to another node. Nothing was charged. |
410 ENDPOINT_SUNSET | This endpoint version was retired after its announced sunset date. | Migrate to the successor named in the Link header and in error.details.replacement. |
405 METHOD_NOT_ALLOWED | The path exists but not with this HTTP method. | Use one of error.details.allowed_methods (also sent as the Allow header). |
503 APPLICATION_UNAVAILABLE | The service is temporarily out of order on the node that took the request. | Retry: another node answers. Nothing was charged. |