Formatted examples of the stable JSON envelope your integration should handle.
Success responses
GET /api/v2/catalogue200 SUCCESS
{
"success": true,
"message": "Catalogue fetched successfully.",
"data": [{"id": 1201, "service": "data", "name": "1GB Monthly", "network": "MTN", "price": 450}],
"meta": null,
"errors": null
}
GET /api/v2/wallet200 SUCCESS
{
"success": true,
"message": "Wallet fetched successfully.",
"data": {"currency": "NGN", "available_balance": 12500.50},
"meta": null,
"errors": null
}
POST /api/v2/validate-customer200 SUCCESS
{
"success": true,
"message": "Customer validated successfully.",
"data": {
"validation_reference": "VAL-EXAMPLE",
"customer_name": "Test Customer",
"address": "Ibadan",
"expires_at": "2026-08-04T14:10:00+01:00"
},
"meta": null,
"errors": null
}
POST /api/v2/buy-service200 SUCCESS
{
"success": true,
"message": "Transaction processed successfully.",
"data": {
"reference": "ORDER-10004",
"status": "successful",
"service": "electricity",
"customer_number": "01234567890",
"amount": 5000,
"token": "1234-5678-9012"
},
"meta": null,
"errors": null
}
GET /api/v2/transactions/{reference}200 SUCCESS
{
"success": true,
"message": "Transaction fetched successfully.",
"data": {"reference": "ORDER-10001", "status": "successful", "service": "data", "customer_number": "08030000000", "amount": 450},
"meta": null,
"errors": null
}
Failure responses
Invalid or missing API token401 FAILED
{
"success": false,
"message": "Authentication failed. Provide a valid Bearer API token.",
"data": null,
"meta": null,
"errors": {"authentication": ["The supplied API token is invalid."]}
}
Invalid request information422 FAILED
{
"success": false,
"message": "Please check the provided information.",
"data": null,
"meta": null,
"errors": {"customer_number": ["Provide a valid Nigerian mobile number."]}
}
Expired bill validation422 FAILED
{
"success": false,
"message": "The validation reference is invalid, expired or does not match this purchase.",
"data": null,
"meta": null,
"errors": {"validation_reference": ["Validate the customer again before purchasing."]}
}
Reference already used for different details409 CONFLICT
{
"success": false,
"message": "This reference has already been used for a different transaction.",
"data": null,
"meta": null,
"errors": {"reference": ["Use a new unique reference."]}
}
Transaction reference not found404 NOT FOUND
{
"success": false,
"message": "Transaction not found.",
"data": null,
"meta": null,
"errors": {"reference": ["No transaction matches this reference."]}
}