Error Codes
Complete reference of 33 error codes across 11 categories returned by the LLM Orchestration Service.
Error response formatjson
{
"error": {
"code": "LLM_1000",
"message": "Prompt is empty, exceeds token limit, or contains forbidden content",
"http": 400
}
}InferenceLLM_1000-1099
| Code | HTTP | Name | Description | Resolution |
|---|---|---|---|---|
LLM_1000 | 400 | INVALID_PROMPT | Prompt is empty, exceeds token limit, or contains forbidden content | Check prompt length and content against model limits |
LLM_1001 | 400 | INVALID_MODEL | Requested model or variant not found | Use GET /variants to list available models |
LLM_1002 | 502 | PROVIDER_ERROR | Upstream LLM provider returned an error | Retry; the provider may be temporarily unavailable |
LLM_1003 | 504 | INFERENCE_TIMEOUT | Inference request timed out before completion | Reduce maxTokens or prompt complexity, then retry |
LLM_1004 | 400 | UNSUPPORTED_USE_CASE | The specified useCase is not recognized | Check valid use cases: event-creation, moderation, translation, etc. |
EmbeddingsLLM_1100-1199
| Code | HTTP | Name | Description | Resolution |
|---|---|---|---|---|
LLM_1100 | 400 | EMBEDDING_INPUT_TOO_LONG | Input text exceeds the embedding model token limit | Chunk input into smaller segments (max 8192 tokens) |
LLM_1101 | 400 | BATCH_TOO_LARGE | Batch embedding request exceeds maximum items | Limit batch size to 100 items per request |
LLM_1102 | 502 | EMBEDDING_PROVIDER_ERROR | Embedding provider returned an error | Retry; provider failover may activate automatically |
RerankLLM_1200-1299
| Code | HTTP | Name | Description | Resolution |
|---|---|---|---|---|
LLM_1200 | 400 | RERANK_INVALID_INPUT | Query or documents array is invalid | Provide a non-empty query and documents array |
LLM_1201 | 502 | RERANK_PROVIDER_ERROR | Rerank provider returned an error | Retry; the rerank provider may be temporarily unavailable |
ProvidersLLM_1300-1399
| Code | HTTP | Name | Description | Resolution |
|---|---|---|---|---|
LLM_1300 | 404 | PROVIDER_NOT_FOUND | The specified provider does not exist | Use GET /providers to list available providers |
LLM_1301 | 503 | PROVIDER_CIRCUIT_OPEN | Provider circuit breaker is open due to repeated failures | Wait for circuit breaker half-open interval or use a different provider |
LLM_1302 | 503 | ALL_PROVIDERS_UNAVAILABLE | All providers in the failover chain are unavailable | Retry later; check provider status at GET /providers/health |
LLM_1303 | 409 | PROVIDER_ALREADY_EXISTS | A provider with this name already exists | Use a different name or update the existing provider |
Quota & CreditsLLM_1400-1499
| Code | HTTP | Name | Description | Resolution |
|---|---|---|---|---|
LLM_1400 | 429 | RATE_LIMIT_EXCEEDED | Rate limit exceeded for this tenant or user | Implement exponential backoff; check Retry-After header |
LLM_1401 | 402 | INSUFFICIENT_CREDITS | Insufficient AI credits in wallet | Purchase additional credits or upgrade subscription tier |
LLM_1402 | 402 | BUDGET_EXCEEDED | Request cost exceeds x-budget-max-usd header limit | Increase budget header or reduce request complexity |
LLM_1403 | 429 | QUOTA_EXCEEDED | Monthly quota exceeded for this subscription tier | Upgrade subscription tier or wait for quota reset |
AuthenticationLLM_1500-1599
| Code | HTTP | Name | Description | Resolution |
|---|---|---|---|---|
LLM_1500 | 401 | UNAUTHORIZED | Authentication required | Provide a valid JWT token in Authorization header |
LLM_1501 | 403 | FORBIDDEN | Insufficient permissions for this operation | Request required role from admin |
LLM_1502 | 401 | INVALID_TOKEN | Invalid or expired authentication token | Obtain a fresh JWT token via auth-svc |
LLM_1503 | 403 | TIER_INSUFFICIENT | Current subscription tier does not support this feature | Upgrade to Pro or Enterprise tier |
ValidationLLM_1600-1699
| Code | HTTP | Name | Description | Resolution |
|---|---|---|---|---|
LLM_1600 | 400 | VALIDATION_FAILED | Request validation failed | Check request body against API docs |
LLM_1601 | 400 | INVALID_INPUT | Invalid input provided | Review field constraints (type, min/max, pattern) |
LLM_1602 | 400 | MISSING_REQUIRED_FIELD | Required field is missing | Add the required field to the request body |
Semantic CacheLLM_1700-1799
| Code | HTTP | Name | Description | Resolution |
|---|---|---|---|---|
LLM_1700 | 400 | CACHE_KEY_INVALID | Cache key format is invalid | Use valid cache key format: <use-case>:<hash> |
LLM_1701 | 404 | CACHE_MISS | No cached response found for this prompt | This is informational; the request will proceed to the provider |
Prompt RegistryLLM_1800-1899
| Code | HTTP | Name | Description | Resolution |
|---|---|---|---|---|
LLM_1800 | 404 | TEMPLATE_NOT_FOUND | Prompt template not found | Verify the template ID or name exists |
LLM_1801 | 400 | TEMPLATE_VARIABLE_MISSING | Required template variable not provided | Check template definition for required variables |
DatabaseLLM_1900-1999
| Code | HTTP | Name | Description | Resolution |
|---|---|---|---|---|
LLM_1900 | 500 | DATABASE_ERROR | Database operation failed | Retry; Aurora Serverless may be scaling up |
LLM_1901 | 500 | TRANSACTION_FAILED | Database transaction failed | Retry the operation |
GeneralLLM_2000-2099
| Code | HTTP | Name | Description | Resolution |
|---|---|---|---|---|
LLM_2000 | 500 | INTERNAL_SERVER_ERROR | Internal server error | Retry; if persistent, contact support with request_id |
LLM_2001 | 503 | SERVICE_UNAVAILABLE | Service temporarily unavailable | Retry with exponential backoff |
LLM_2002 | 504 | TIMEOUT | Request timeout | Reduce request complexity or retry |