Errors
Error format, status codes, and retry guidance for Bitdeer AI APIs.
Non-2xx responses return a JSON body in this shape:
application/json— Rate limitedHTTP status codes
| HTTP | Retryable | Meaning |
|---|---|---|
400 | No | Malformed request — check error.message for details |
401 | No | Missing or invalid API key |
403 | No | Insufficient permissions or balance |
404 | No | Resource does not exist (e.g. unknown model) |
429 | Yes | Rate limit exceeded (default: 100 RPM) |
500 | No | Internal server error |
503 | Yes | Service temporarily unavailable |
LLM-specific error codes
| Error | Status | Description |
|---|---|---|
INVALID_API_KEY | 401 | API key not provided or invalid |
MODEL_NOT_FOUND | 404 | The requested model does not exist |
INVALID_REQUEST_BODY | 400 | Request body format error |
RATE_LIMIT_EXCEEDED | 429 | Too many requests — retry later |
TOKEN_LIMIT_EXCEEDED | 429 | Token limit exceeded — retry later |
NOT_ENOUGH_BALANCE | 403 | Insufficient account balance |
SERVICE_NOT_AVAILABLE | 503 | Service temporarily unavailable |
Rate limit
The default rate limit for all endpoints is 100 requests per minute (RPM).
When the limit is exceeded, the API returns HTTP 429 with a RATE_LIMIT_EXCEEDED error.
Error schema
messagestringrequiredHuman-readable description of the failure.
typestringMachine-readable error category.
codestring | nullShort code for programmatic handling.
paramstring | nullName of the offending request field, when applicable.
Last updated on