Error Codes
Complete reference of 35 error codes across 11 categories returned by the Analytics Service.
Error response formatjson
{
"error": {
"code": "ANALYTICS_1000",
"message": "The requested metric was not found",
"http": 404
}
}MetricsANALYTICS_1000-1099
| Code | HTTP | Name | Description | Resolution |
|---|---|---|---|---|
ANALYTICS_1000 | 404 | METRIC_NOT_FOUND | The requested metric was not found | Verify the metric name and entity ID exist for this tenant |
ANALYTICS_1001 | 400 | INVALID_METRIC_TYPE | Invalid metric type specified | Use a valid metric type: traffic, engagement, transactions, revenue |
ANALYTICS_1002 | 400 | INVALID_TIME_RANGE | Invalid time range specified | Ensure startDate is before endDate and range does not exceed tier limits |
ANALYTICS_1003 | 400 | GRANULARITY_NOT_SUPPORTED | The requested granularity is not supported for this time range | Use a coarser granularity (hourly, daily, weekly, monthly) for longer ranges |
ANALYTICS_1004 | 400 | COMPARISON_LIMIT_EXCEEDED | Too many entities in comparison request | Reduce the number of entities to compare (max 10) |
DashboardANALYTICS_1100-1199
| Code | HTTP | Name | Description | Resolution |
|---|---|---|---|---|
ANALYTICS_1100 | 404 | DASHBOARD_NOT_FOUND | The requested dashboard was not found | Verify the dashboard ID exists for this tenant |
ANALYTICS_1101 | 409 | DASHBOARD_ALREADY_EXISTS | A dashboard with this name already exists | Use a different name or update the existing dashboard |
ANALYTICS_1102 | 400 | DASHBOARD_TILE_LIMIT | Maximum number of tiles per dashboard exceeded | Remove existing tiles before adding new ones (max 20 per dashboard) |
ANALYTICS_1103 | 400 | INVALID_TILE_CONFIG | Invalid tile configuration | Check tile type, data source, and visualization settings |
ANALYTICS_1104 | 423 | DASHBOARD_LOCKED | Dashboard is currently locked for editing | Wait for the lock to be released or contact the lock holder |
ForecastANALYTICS_1200-1299
| Code | HTTP | Name | Description | Resolution |
|---|---|---|---|---|
ANALYTICS_1200 | 404 | FORECAST_NOT_FOUND | The requested forecast was not found | Verify the forecast ID or generate a new forecast |
ANALYTICS_1201 | 500 | FORECAST_GENERATION_FAILED | Failed to generate forecast | Retry; the ML model may be temporarily unavailable |
ANALYTICS_1202 | 400 | INSUFFICIENT_DATA | Not enough historical data to generate a forecast | Ensure at least 14 days of data exists for the entity |
ANALYTICS_1203 | 503 | MODEL_UNAVAILABLE | The forecasting model is currently unavailable | Retry with exponential backoff; model may be updating |
ANALYTICS_1204 | 410 | FORECAST_EXPIRED | The forecast has expired and is no longer valid | Generate a new forecast with current data |
ReportANALYTICS_1300-1399
| Code | HTTP | Name | Description | Resolution |
|---|---|---|---|---|
ANALYTICS_1300 | 404 | REPORT_NOT_FOUND | The requested report was not found | Verify the report ID exists for this tenant |
ANALYTICS_1301 | 500 | REPORT_GENERATION_FAILED | Failed to generate the report | Retry; check report parameters and data availability |
ANALYTICS_1302 | 400 | INVALID_FORMAT | Invalid export format specified | Use a supported format: csv, xlsx, pdf, json |
ANALYTICS_1303 | 413 | EXPORT_SIZE_LIMIT | Export file size exceeds the allowed limit | Narrow the date range or reduce the number of entities |
ANALYTICS_1304 | 409 | SCHEDULE_CONFLICT | A scheduled report with this schedule already exists | Use a different schedule or update the existing one |
AuthenticationANALYTICS_1400-1499
| Code | HTTP | Name | Description | Resolution |
|---|---|---|---|---|
ANALYTICS_1400 | 401 | UNAUTHORIZED | Authentication required | Provide a valid JWT token in Authorization header |
ANALYTICS_1401 | 403 | FORBIDDEN | Insufficient permissions | Request required role from admin |
ANALYTICS_1402 | 401 | INVALID_TOKEN | Invalid or expired authentication token | Obtain a fresh JWT token |
ANALYTICS_1403 | 403 | MISSING_PERMISSIONS | Required permissions are missing | Request the necessary permissions from admin |
ValidationANALYTICS_1500-1599
| Code | HTTP | Name | Description | Resolution |
|---|---|---|---|---|
ANALYTICS_1500 | 400 | VALIDATION_FAILED | Request validation failed | Check request body against API docs |
ANALYTICS_1501 | 400 | INVALID_INPUT | Invalid input provided | Review field constraints (type, min/max, pattern) |
ANALYTICS_1502 | 400 | MISSING_REQUIRED_FIELD | Required field is missing | Add the required field to the request body |
ANALYTICS_1503 | 400 | INVALID_DATE_RANGE | Invalid date range specified | Ensure startDate is before endDate and both are valid ISO 8601 dates |
ANALYTICS_1504 | 400 | INVALID_ENTITY_TYPE | Invalid entity type specified | Use a valid entity type: event, venue, destination, artist, campaign |
AI ServiceANALYTICS_1600-1699
| Code | HTTP | Name | Description | Resolution |
|---|---|---|---|---|
ANALYTICS_1600 | 502 | AI_SERVICE_ERROR | AI service encountered an error | Retry; AI service may be temporarily unavailable |
ANALYTICS_1601 | 502 | INSIGHT_GENERATION_FAILED | Failed to generate AI insights | Check AI credits and retry |
ANALYTICS_1602 | 502 | PREDICTION_FAILED | Failed to generate ML prediction | Retry; ensure sufficient historical data exists |
ANALYTICS_1603 | 402 | INSUFFICIENT_AI_CREDITS | Insufficient AI credits to perform this operation | Purchase additional AI credits or use non-AI features |
ANALYTICS_1604 | 504 | MODEL_TIMEOUT | ML model request timed out | Retry with a simpler request or smaller dataset |
Quota & Rate LimitingANALYTICS_1700-1799
| Code | HTTP | Name | Description | Resolution |
|---|---|---|---|---|
ANALYTICS_1700 | 429 | QUOTA_EXCEEDED | Quota limit exceeded for this operation | Upgrade subscription tier or wait for quota reset |
ANALYTICS_1701 | 429 | RATE_LIMIT_EXCEEDED | Rate limit exceeded | Wait and retry after the rate limit window resets |
ANALYTICS_1702 | 402 | TIER_FEATURE_LOCKED | This feature requires a higher subscription tier | Upgrade your subscription to unlock this feature |
ANALYTICS_1703 | 402 | INSUFFICIENT_CREDITS | Insufficient credits to perform this operation | Purchase additional credits or use basic features |
External ServiceANALYTICS_1800-1899
| Code | HTTP | Name | Description | Resolution |
|---|---|---|---|---|
ANALYTICS_1800 | 502 | EXTERNAL_SERVICE_ERROR | External service error | Retry; the downstream service may be temporarily unavailable |
ANALYTICS_1801 | 502 | AIBRAIN_SERVICE_ERROR | AI Brain service unavailable | Retry; aibrain-svc may be restarting on ECS Fargate |
ANALYTICS_1802 | 502 | WALLET_SERVICE_ERROR | Wallet service unavailable | Retry; wallet-svc may be temporarily unavailable |
ANALYTICS_1803 | 502 | KAFKA_PUBLISH_FAILED | Failed to publish event to Kafka | Retry; Amazon MSK may be temporarily unavailable |
ANALYTICS_1804 | 502 | CACHE_ERROR | Cache operation failed | Retry; ElastiCache Redis may be temporarily unavailable |
DatabaseANALYTICS_1900-1999
| Code | HTTP | Name | Description | Resolution |
|---|---|---|---|---|
ANALYTICS_1900 | 500 | DATABASE_ERROR | Database operation failed | Retry; Aurora Serverless may be scaling up |
ANALYTICS_1901 | 500 | TRANSACTION_FAILED | Database transaction failed | Retry the operation |
ANALYTICS_1902 | 409 | CONSTRAINT_VIOLATION | Database constraint violation | Check for unique constraint conflicts |
ANALYTICS_1903 | 504 | QUERY_TIMEOUT | Database query timed out | Reduce query complexity or narrow the date range |
ANALYTICS_1904 | 500 | PARTITION_ERROR | Table partition operation failed | Retry; partition maintenance may be in progress |
GeneralANALYTICS_2000-2099
| Code | HTTP | Name | Description | Resolution |
|---|---|---|---|---|
ANALYTICS_2000 | 500 | INTERNAL_SERVER_ERROR | Internal server error | Retry; if persistent, contact support with request_id |
ANALYTICS_2001 | 503 | SERVICE_UNAVAILABLE | Service temporarily unavailable | Retry with exponential backoff |
ANALYTICS_2002 | 504 | TIMEOUT | Request timeout | Reduce request complexity or retry |
ANALYTICS_2003 | 503 | BOOTSTRAP_FAILED | Service failed to bootstrap | Wait for service restart; check CloudWatch logs |