Error format
{
"type": "error",
"error": {
"message": "Your AtlasFlux balance is insufficient to complete this request.",
"type": "billing_error",
"code": "insufficient_balance",
"param": null,
"request_id": "req_abc123",
"guidance": "Add credits to your AtlasFlux balance, then retry the request.",
"action_url": "https://platform.atlasflux.my/dashboard/billing",
"retryable": false
}
}
error.code for application logic. Messages and guidance are for display and may be refined over time. Keep the request_id for support requests.
| Code | Status | Resolution |
|---|---|---|
invalid_request | 400 | Review the request body and parameter values. |
authentication_error | 401 | Check the Authorization header and API key/session. |
invalid_api_key | 401 | Check the key in the API Keys dashboard. |
expired_api_key | 401 | Create a new API key. |
revoked_api_key | 403 | Replace the revoked API key. |
permission_denied | 403 | Use a key with the required permission. |
insufficient_balance | 402 | Add credits in the Billing dashboard. |
spend_limit_exceeded | 402 | Review the API key or account spending limit. |
billing_error | 400 | Review billing settings and retry later if needed. |
context_length_exceeded | 400 | Reduce input/history or lower the output limit. |
unsupported_input | 400 | Remove or change the unsupported input. |
rate_limit_exceeded | 429 | Wait for the retry interval and retry. |
provider_unavailable | 502/503 | Retry with exponential backoff. |
provider_timeout | 504 | Retry, reduce request size, or use streaming. |
search_error | 502 | Retry later or disable web search. |
idempotency_conflict | 409 | Use a new key or resend the original payload. |
not_implemented | 501 | Check currently supported capabilities. |
internal_error | 500 | Retry if retryable is true; otherwise contact support with the request ID. |
