Error Reference
The closed set of error_reason values, the error categories they map to, and the response shape.
Every failing call returns the same envelope. This page lists the values that can appear in it.
Error Response Format
{
"error_reason": "ErrorInvalidField",
"error_description": "Human-readable message",
"error_category": {
"category": "CategoryValidationFailure",
"http_status_code": 400
},
"error_details": [
{ "key": "field", "details": "email" },
{ "key": "issue", "details": "invalid_format" }
]
}| Field | Description |
|---|---|
error_reason | Machine-readable reason. Branch on this |
error_description | Human-readable message. Do not parse it |
error_category.category | Category the reason resolved to for this call |
error_category.http_status_code | HTTP status returned |
error_details | Key/value pairs naming the offending field and the issue. Present on most validation failures |
Error Reasons
The closed set of error_reason values. Any endpoint can return any of them.
| Error Reason | Meaning |
|---|---|
ErrorMissingField | A required field was not sent |
ErrorInvalidField | A field failed validation or carried an unrecognised value |
ErrorInvalidStatus | The entity's status does not permit the action |
ErrorNotFound | The referenced entity does not exist, or is not visible to this user |
ErrorAlreadyExists | The entity already exists |
ErrorPermissionDenied | Authentication succeeded but the operation is not permitted |
ErrorNotSupported | The operation is not available — wrong company type, unsupported flow, or no configuration |
ErrorExpired | A token or estimate has expired |
ErrorTooManyRequests | Rate limit reached |
ErrorInsufficientFunds | The wallet does not hold enough of the token |
ErrorLimitExceeded | A configured limit was exceeded |
ErrorConfigurationInvalid | A platform configuration problem. Contact Wirex |
ErrorGeneral | An unclassified failure |
ErrorUnknown | An unmapped failure |
ErrorResponseInvalid | A downstream response could not be parsed |
ErrorInvalidMethod | The HTTP method is not supported on that path |
ErrorTimeout | A downstream call timed out |
ErrorInitFailed | A component failed to initialise |
ErrorNotImplemented | The operation is not implemented |
ErrorDeadlinesExceeded | A deadline was exceeded |
ErrorCanceled | The operation was cancelled |
ErrorReverted | An on-chain call reverted |
ErrorNotYetValid | The operation is not valid yet — a time-locked withdrawal before its execution window |
Error Categories
| Category | HTTP | Meaning |
|---|---|---|
CategoryValidationFailure | 400 | The request was rejected |
CategoryUnauthorized | 401 | Authentication failed |
CategoryForbidden | 403 | Authenticated, but the operation is not permitted |
CategoryTransientFailure | 429 | Transient rejection |
CategoryInternalFailure | 500 | Server-side failure |
CategoryTransportFailure | 503 | A downstream service was unreachable |
Branch on error_reason, not on the HTTP status — a reason is not bound to one category across every
endpoint.
Updated 20 days ago
Did this page help you?

