Error Response Format
All errors follow a consistent envelope:Common (C)
| Code | HTTP | Description |
|---|---|---|
C-001 | 400 | Invalid input value |
C-002 | 405 | HTTP method not allowed |
C-003 | 404 | Requested resource not found |
C-004 | 500 | Internal server error |
C-005 | 400 | Invalid data type |
C-006 | 409 | Duplicate resource |
C-007 | 429 | Too many requests (TPS limit exceeded) |
Auth (A)
| Code | HTTP | Description |
|---|---|---|
A-001 | 401 | Authentication failed |
A-002 | 403 | Access denied |
A-003 | 401 | Invalid API key |
A-004 | 409 | Email already registered |
A-005 | 409 | Maximum API keys exceeded |
A-006 | 401 | Invalid email or password |
Policy Engine (P)
| Code | HTTP | Description |
|---|---|---|
P-001 | 404 | Policy group not found |
P-002 | 404 | Policy version not found |
P-003 | 400 | Policy execution failed |
P-004 | 400 | Policy version not approved |
P-005 | 404 | Policy rule not found |
P-006 | 400 | Cannot modify version (only DRAFT allowed) |
P-007 | 400 | Cannot publish with no rules |
P-008 | 400 | Operation not allowed in current status |
P-009 | 403 | Policy group is disabled |
P-010 | 400 | Rule reorder ID mismatch |
P-013 | 400 | No previous version available for rollback |
P-014 | 404 | Deployment history not found |
P-015 | 400 | Required facts missing from execution request |
Billing (B)
| Code | HTTP | Description |
|---|---|---|
B-001 | 404 | Plan not found |
B-002 | 404 | Subscription not found |
B-003 | 409 | Active subscription already exists |
B-004 | 400 | Invalid subscription status |
B-005 | 404 | Invoice not found |
B-006 | 500 | No payment processor for the requested currency |
B-007 | 502 | Payment processing failed |
B-008 | 403 | Service quota exceeded |
B-009 | 400 | Free plan cannot be canceled |
Analytics (AN)
| Code | HTTP | Description |
|---|---|---|
AN-001 | 500 | Simulation processing failed |
AN-002 | 404 | Dataset not found |
AN-003 | 400 | Dataset too large |
AN-004 | 400 | Dataset contains no records |
AN-005 | 400 | Invalid dataset format |
AN-009 | 404 | Simulation not found |
AN-010 | 400 | Only PENDING or RUNNING simulations can be canceled |
AN-011 | 400 | Only completed simulations can be exported |
Action (ACT)
| Code | HTTP | Description |
|---|---|---|
ACT-001 | 400 | Action parameters are empty |
ACT-002 | 400 | Reference variable refVar is required |
ACT-003 | 400 | Invalid calculation method (allowed: PERCENTAGE, AMOUNT) |
ACT-004 | 400 | Rate parameter required for PERCENTAGE method |
ACT-005 | 400 | Value parameter required for AMOUNT method |
ACT-006 | 400 | Invalid action type |
ACT-007 | 400 | Discount rate must be between 0 and 100 |
ACT-008 | 400 | Point earning rate must be between 0 and 100 |
ACT-009 | 400 | Integration ID required for external service actions |
Fact Definition (FD)
| Code | HTTP | Description |
|---|---|---|
FD-001 | 409 | Fact key already exists |
FD-002 | 404 | Fact not found |
FD-003 | 403 | System fact cannot be modified or deleted |
FD-004 | 400 | Invalid fact key format |
Integration (INT)
| Code | HTTP | Description |
|---|---|---|
INT-001 | 404 | Integration not found |
INT-002 | 409 | Integration name already exists |
INT-003 | 400 | Invalid integration configuration |
Failure Log (FL)
| Code | HTTP | Description |
|---|---|---|
FL-001 | 404 | Failure log not found |
FL-002 | 400 | Invalid failure log action |
FL-003 | 400 | Retry not supported for this failure type |
Idempotency (I)
| Code | HTTP | Description |
|---|---|---|
I-001 | 409 | Request already processed (duplicate idempotency key) |
I-002 | 409 | Request currently being processed |
Member (M)
| Code | HTTP | Description |
|---|---|---|
M-001 | 404 | Member not found |
M-002 | 403 | Email verification required |
M-003 | 403 | Account suspended |
M-004 | 403 | Account withdrawn |
M-005 | 400 | Invalid or expired verification code |

