REST API for placing and tracking reseller orders (airtime, data, cable TV, electricity, ePINs, betting)
The Vido API is a reseller-order API. It only processes orders for airtime, data, cable TV, electricity, ePINs and betting funding and lets you check their status. It does not handle account creation, login, wallet transfers or profile management – those are handled on the main website.
Include the token in the Authorization header on every request:
Only one active token per account is issued at a time; regenerating a token immediately revokes the previous one.
Returns the available wallet balance used to fund orders.
Lists active reseller services. Optional category query parameter: 1=airtime, 2=data, 3=electricity, 4=cabletv, 6=betting.
Fetches selectable variations (bundles/packages) for a data (category 2) or cable TV (category 4) service, live from the provider.
Lists active electricity distribution companies used with the Electricity endpoint.
Paginated list of your orders. Query parameters: page, per_page (max 100).
Returns the details and status of a single order belonging to the authenticated account.
Debits your wallet and purchases airtime. Amount must be within the service's min/max range.
| Parameter | Type | Required | Description |
|---|---|---|---|
| service_id | integer | Yes | Airtime service id (category 1), see /services?category=1 |
| phone | string | Yes | Recipient phone number (10/11 digit local or 234-prefixed) |
| amount | number | Yes | Airtime amount |
Fetch a variation_id from /services/{id}/plans first, then submit the order.
| Parameter | Type | Required | Description |
|---|---|---|---|
| service_id | integer | Yes | Data service id (category 2) |
| phone | string | Yes | Recipient phone number |
| variation_id | string | Yes | Data plan variation id |
Verifies the smartcard number with the provider before charging your wallet.
| Parameter | Type | Required | Description |
|---|---|---|---|
| service_id | integer | Yes | Cable TV service id (category 4) |
| smartcard_number | string | Yes | Smartcard / IUC number |
| variation_id | string | Yes | TV package variation id from /services/{id}/plans |
Verifies the meter number with the disco before charging your wallet.
| Parameter | Type | Required | Description |
|---|---|---|---|
| disco_id | integer | Yes | Disco id, see /discos |
| meter_type | string | Yes | prepaid or postpaid |
| meter_number | string | Yes | Meter number |
| amount | number | Yes | Payment amount |
Purchases fixed-denomination recharge ePINs.
| Parameter | Type | Required | Description |
|---|---|---|---|
| service_id | integer | Yes | Network service id (category 1) |
| value | integer | Yes | One of 100, 200, 500, 1000 |
| quantity | integer | Yes | Between 1 and 10 |
Tops up a betting platform account/wallet.
| Parameter | Type | Required | Description |
|---|---|---|---|
| service_id | integer | Yes | Betting platform service id (category 6) |
| customer_id | string | Yes | Betting account id / username |
| amount | number | Yes | Funding amount |
| Status Code | Description |
|---|---|
| 400 Bad Request | Invalid request or business rule violation (e.g. insufficient balance) |
| 401 Unauthorized | Missing, invalid or revoked API token |
| 403 Forbidden | Account not permitted, or KYC not yet verified |
| 404 Not Found | Resource not found |
| 422 Unprocessable Entity | Validation error |
| 429 Too Many Requests | Rate limit exceeded |
| 500/502/503 | Server or upstream provider error |