A simple REST API to resell airtime, data, cable, electricity, betting and exam pins from your own website or app, funded by your Reteller wallet.
Create keys under Settings → API keys. Every request needs your public + secret key, sent either as a Bearer token or as headers.
# Option A — Bearer Authorization: Bearer rtk_public:rts_secret # Option B — headers X-Public-Key: rtk_public X-Secret-Key: rts_secret
Base URL: https://reteller.net/api/v1
Your wallet balance.
curl https://reteller.net/api/v1/balance \
-H "Authorization: Bearer PUBLIC:SECRET"
{ "status": true, "message": "Balance fetched.",
"data": { "wallet_balance": 15000.00, "currency": "NGN" } }
All categories, products and variations you can sell.
curl https://reteller.net/api/v1/services -H "Authorization: Bearer PUBLIC:SECRET"
{ "status": true, "data": [
{ "code": "data", "service_type": "data",
"products": [ { "code": "data-mtn", "network": "MTN",
"variations": [ { "code": "data-mtn-1gb", "price": 600, "data_value": "1GB" } ] } ] }
] }
Products & variations for one category (e.g. airtime, data).
curl https://reteller.net/api/v1/products/data -H "Authorization: Bearer PUBLIC:SECRET"
Buy a service. Send the variation_code and recipient. For manual-amount services (airtime, electricity, betting) also send amount.
curl -X POST https://reteller.net/api/v1/purchase \
-H "Authorization: Bearer PUBLIC:SECRET" \
-H "Content-Type: application/json" \
-d '{ "variation_code": "data-mtn-1gb", "recipient": "08012345678" }'
{ "status": true, "message": "Transaction successful.",
"data": { "reference": "RT240717…", "status": "successful",
"amount": 600, "wallet_balance": 14400.00 } }
status is one of successful, pending, or reversed (failed & auto-refunded).
Requery a transaction by its reference.
curl https://reteller.net/api/v1/transactions/RT240717ABC123 \ -H "Authorization: Bearer PUBLIC:SECRET"
Pending orders settle asynchronously. Reteller updates the transaction status when the provider calls back; poll /transactions/{reference} to get the final state.