General Error Pattern & Codes
Description
In all services, a standard JSON error model is returned in case of errors.
This model allows client applications to easily distinguish the error type and take appropriate action.
Error Model Format
{
"isSuccess": false,
"errorCode": "ERR_VALIDATION",
"message": "Required field is missing or has an invalid format.",
"details": {
"field": "email",
"reason": "A valid email address must be provided."
},
"timestamp": "2025-10-13T10:15:30Z",
"traceId": "f6b71239-8cfa-49de-8b5f-53f9fbd173a4"
}
| Field | Type | Description |
|---|---|---|
| isSuccess | boolean | Indicates whether the operation was successful. |
| errorCode | string | Error code defined by the system. (e.g., ERR_UNAUTHORIZED, ERR_VALIDATION) |
| message | string | Description message suitable for user display. |
| details | object | (Optional) Explains error details on a field basis. |
| timestamp | datetime | Time the error occurred (UTC). |
| traceId | string | Unique operation ID for logging or error tracking. |
General Error Codes
| HTTP Code | Error Code | Description | Suggested Solution |
|---|---|---|---|
| 400 | ERR_VALIDATION | Invalid or missing parameter. | Check field types and required status. |
| 401 | ERR_UNAUTHORIZED | Invalid AccessToken or token expired. | Obtain a new AccessToken. |
| 403 | ERR_FORBIDDEN | User does not have permission for this operation. | Check user role or permission set. |
| 404 | ERR_NOT_FOUND | Requested record or resource not found. | Verify the submitted code / erpCode value. |
| 409 | ERR_CONFLICT | The same unique value already exists in the system. | code or erpCode may conflict with another record. |
| 500 | ERR_INTERNAL | Unexpected server-side error occurred. | Contact the technical team using logs or traceId. |