Standard Error Codes¶
Purpose¶
Provide a consistent error response contract and baseline HTTP status interpretation across backend modules.
Standard Error Payload¶
{
"status_code": 400,
"error_code": "MODULE_SPECIFIC_ERROR",
"message": "Human-readable summary",
"details": {}
}
Baseline HTTP Mapping¶
400business rule or request-state violation.401authentication failure.403authorization/permission failure.404target resource not found.409conflicting state transition or duplicate operation.422schema/payload validation failure.429throttling/rate limiting.500internal server error.502upstream integration failure.503upstream service unavailable.
Module-Specific Error Code Prefix Guidance¶
- Authentication:
AUTH_* - Customer:
CUSTOMER_* - Wallet:
WALLET_* - Transaction:
TRANSACTION_* - AML:
AML_* - Reconciliation:
RECONCILIATION_* - Campaign/Inventory:
CAMPAIGN_*orINVENTORY_* - Support:
SUPPORT_* - Core:
CORE_* - Integration:
INTEGRATION_*
Implementation Notes¶
- Keep
error_codestable for clients; evolvemessageanddetailsas needed. - Use
detailsfor machine-readable fields (for examplerequired,available,field_errors,reference_id). - Never expose secrets in
messageordetails.