Error Codes
REFERENCEQuick Summary
All API errors return a standard JSON response with a status code and message. Use this reference to understand and handle error responses in your integration.
Error Response Format
All errors follow this standard structure:
{
"code": 201,
"status": "error",
"message": "Human-readable description of what went wrong."
}
HTTP Status Codes
| Status | Code | Description |
|---|---|---|
| 200 | success |
Request completed successfully |
| 401 | unauthorized |
Missing or invalid API key |
| 403 | forbidden |
API key or account suspended |
| 404 | not_found |
Requested resource not found |
| 422 | validation_error |
Invalid request parameters |
| 429 | rate_limited |
Too many requests |
| 500 | server_error |
An unexpected error occurred |
Validation Errors (422)
When a request fails validation, additional details are returned in the errors object:
{
"code": 201,
"status": "error",
"message": "Validation failed.",
"errors": {
"recipient": ["The recipient field is required."],
"amount": ["The amount must be at least 50."]
}
}
Common Error Messages
| Message | Description |
|---|---|
Missing API key. |
No Bearer token in the Authorization header |
Invalid API key. |
Token does not match any active key |
API key is suspended. |
Your API key has been deactivated |
Account is inactive or suspended. |
Your Pairgate account is not active |
Invalid provider type. |
The provider type does not match any available category |
Invalid provider. |
Provider not found or inactive |
Data plan not found or unavailable. |
Plan ID is invalid or no longer active |
Cable package not found or unavailable. |
Package ID is invalid or no longer active |
Insufficient balance. |
Your wallet does not have enough funds |
This purchase was already processed. |
The reference provided has already been used |
Minimum airtime purchase is N50. |
Airtime amount is below the minimum |
Minimum electricity purchase is N1000. |
Electricity amount is below the minimum |
Transaction not found. |
Reference code does not exist or belongs to another user |