List of common error responses across all APIs
All API endpoints return errors in a consistent format with an HTTP status code and an error message.
{
"error": "Error message description"
}
| Status Code | Error Message | Description |
|---|---|---|
| 400 Bad Request | ||
| 400 | Missing required fields |
Required field missing in request body |
| 400 | Invalid amount |
Amount is not a valid number or less than/equal to zero |
| 400 | Reference must not contain spaces |
Reference contains spaces |
| 400 | Reference must be at most 30 characters |
Reference exceeds maximum length |
| 400 | Network is required for non-UGX currencies |
Network field missing for non-UGX currency |
| 400 | Amount must be at least X UGX |
Amount below minimum allowed |
| 400 | Collection amount must not exceed X UGX |
Collection amount above maximum allowed |
| 400 | Amount must not exceed X UGX |
Withdrawal amount above maximum allowed |
| 400 | Insufficient balance |
Not enough funds in wallet |
| 400 | Daily withdrawal limit exceeded. You can only withdraw X UGX today. |
Daily withdrawal limit reached |
| 400 | Reference already used for this account |
Duplicate reference ID |
| 400 | Wallet for X not found |
Wallet not found for the specified currency |
| 401 Unauthorized | ||
| 401 | Authorization required |
Missing Authorization header |
| 401 | Invalid API key |
Invalid API key format or value |
| 403 Forbidden | ||
| 403 | Account number does not match API key owner |
Account number mismatch |
| 403 | Withdrawals are disabled for this account |
Withdrawals not allowed for this account |
| 403 | User account pending approval |
User account pending approval |
| 403 | User account suspended |
User account suspended |
| 403 | User account deactivated |
User account deactivated |
| 403 | API access is currently disabled for this business account. Please enable it in your dashboard. |
API access disabled for account |
| 403 | Account not authorized |
Business account not authorized |
| 403 | Account access restricted |
Business account suspended |
| 403 | Wallet for X not active |
Wallet not active for the specified currency |
| 403 | IP X not allowed |
IP address not whitelisted |
| 404 Not Found | ||
| 404 | Invalid business account |
Business account not found |
| 404 | Transaction not found |
Transaction with given reference not found |
| 429 Too Many Requests | ||
| 429 | Too many withdrawal attempts. Maximum 5 withdrawals per minute. Please wait and try again. |
Withdrawal rate limit exceeded (5 per minute) |
| 429 | Too many requests. Please try again later. |
API rate limit exceeded (50 per 15 minutes) |
| 500 Internal Server Error | ||
| 500 | Internal server error |
Internal server error on payment service |
| 504 Gateway Timeout | ||
| 504 | Payment service timeout. Please try again. |
Payment service timeout |