400 Bad Request | bad_request | The body is malformed JSON or a parameter has the wrong shape. | Compare your request against the OpenAPI spec. |
401 Unauthorized | unauthorized | No API key was sent, or the key does not resolve to any account (typo’d, revoked, or never created). | Send the key via X-Api-Key or Authorization: Bearer. Verify it with GET /core/v1/account_exists. |
402 Payment Required | payment_required | Your account exists but its credit balance cannot cover this operation. The message includes the required amount and your balance. | Add funds — card or crypto — or POST /core/v1/billing/create_payment_intent. Check balance with GET /core/v1/billing/balance. |
403 Forbidden | forbidden | The key is valid and funded but not permitted to do this — usually a usage key acting outside its granted groups. | Inspect scopes with GET /core/v1/list_api_keys, or use the account master key. See API Keys. |
404 Not Found | not_found | No such endpoint or resource. | Browse /core/v1/swagger-ui. |
422 Unprocessable Entity | unprocessable_entity | The body parsed as JSON but doesn’t match the endpoint’s schema. | Compare field names and types against the OpenAPI spec. |
429 Too Many Requests | too_many_requests | The node is shedding load (CPU pressure). | Retry with backoff. |
500 Internal Server Error | internal_error | Something failed on our side. | Retry; report it if persistent. |
503 Service Unavailable | service_unavailable | A dependency (billing, chain RPC, or the actions runtime) is temporarily down. Nothing was charged. | Retry in a few seconds. |