VendPower API
REST API for electricity, betting wallets, cable TV, mobile data, airtime, and Vend Airtime to Cash. Authenticate with an approved X-API-Key. Catalog endpoints are scoped to billers granted on your API access request.
Quick start
1. Request API access
From Dashboard → API Access, submit the products you need. After approval you receive an X-API-Key. Pending keys cannot call purchase endpoints.
2. Send required headers
Send X-API-Key: <your_key> on every request. For POST also send Content-Type: application/json. Prefer Accept: application/json. Keep the key on your server — never embed it in a mobile app or browser.
3. Validate before you buy
Validate meters before electricity purchase and smartcards before cable. For airtime and data, use a valid Nigerian MSISDN that matches the network prefix.
4. Use a unique idempotency key
Send a unique idempotency_key (recommended VP…) on every purchase. Reusing a key returns 409 with the original transaction — you are never charged twice.
5. Poll pending purchases
When a purchase returns 201 (pending) or 202 (async data), poll GET /transactions/{id or reference} and optionally POST /transactions/{id}/requery until status is terminal.
At a glance
| Item | Value |
|---|---|
| Base URL | https://api.vendpower.ng/api/v1 |
| Authentication | X-API-Key: YOUR_X_API_KEY |
| Format | JSON request and response bodies |
| Idempotency | idempotency_key on purchase POSTs |
| Transaction statuses | processing · pending · success · failed · refunded |
Quick test — list electricity discos
curl -X GET "https://api.vendpower.ng/api/v1/electricity/discos" \
-H "X-API-Key: YOUR_X_API_KEY" \
-H "Accept: application/json"What the API covers
Service availability
Products covered in this API documentation.
Need a product enabled for your API key? Update your request from Dashboard → API Access.
- Available
Electricity
List discos, validate meters, purchase tokens, requery.
GET /electricity/discos · POST /electricity/purchase
- Available
Betting wallets
List providers and fund customer betting accounts.
GET /betting/providers · POST /betting/fund
- Available
Cable TV
Billers, validate smartcard, purchase packages.
GET /cable/billers · POST /cable/purchase
- Available
Mobile data
Networks, plans, async purchase (202 Accepted).
GET /data/billers · POST /data/purchase
- Available
Airtime
Networks (T2 = 9MOBILE), purchase with API charge %.
GET /airtime/billers · POST /airtime/purchase
- Available
Vend Airtime to Cash
OTP, share PIN, convert MTN airtime to wallet credit.
GET /airtime-to-cash/billers · POST /airtime-to-cash/convert
- Available
Transactions
Get by id/reference and provider requery.
GET /transactions/{id} · POST /transactions/{id}/requery