Authentication
All API requests require your account API key. Send it in either the Authorization header or the Token header.
Authorization: Token YOUR_API_KEY
Content-Type: application/json
Log in to your account dashboard to copy your API key. Keep your key private and do not expose it in frontend JavaScript.
Endpoint Summary
Base URL: https://mskdata.mean.ng
| Service | Method | Endpoint | Purpose |
| User | GET/POST | /api/user/ | Fetch account name and wallet balance. |
| Airtime | POST | /api/airtime/ | Buy VTU or Share And Sell airtime. |
| Alpha Topup | POST | /api/alphatopup/ | Buy Alpha Topup airtime/request. |
| Data | POST | /api/data/ | Buy mobile data plans. |
| Data PIN | POST | /api/datapin/ | Generate printable data PINs. |
| Cable Verify | GET/POST | /api/cabletv/verify/ | Verify decoder/IUC customer name. |
| Cable Purchase | POST | /api/cabletv/ | Purchase cable TV subscription. |
| Electricity Verify | GET/POST | /api/electricity/verify/ | Verify meter customer name. |
| Electricity Purchase | POST | /api/electricity/ | Purchase electricity token/unit. |
| Exam PIN | POST | /api/exam/ | Purchase exam result/checker PINs. |
User Balance
GET/POST https://mskdata.mean.ng/api/user/
curl -X GET "https://mskdata.mean.ng/api/user/" \
-H "Authorization: Token YOUR_API_KEY"
{
"name": "Doe John",
"balance": "1,500.00",
"status": "success"
}
Buy Airtime
POST https://mskdata.mean.ng/api/airtime/
| Field | Required | Description |
|---|
| network | Yes | Network ID. |
| phone | Yes | Recipient phone number. |
| amount | Yes | Airtime amount. |
| airtime_type | No | VTU or Share And Sell. Defaults to VTU. |
| ported_number | No | false validates number prefix; use true for ported lines. |
| ref | No | Unique transaction reference. Auto-generated if omitted. |
{
"network": "1",
"phone": "08030000000",
"amount": "100",
"airtime_type": "VTU",
"ported_number": "false",
"ref": "AIR123456"
}
Buy Alpha Topup
POST https://mskdata.mean.ng/api/alphatopup/
| Field | Required | Description |
|---|
| phone | Yes | Recipient phone number. |
| amount | Yes | Alpha Topup amount/package amount. |
| ref | No | Unique transaction reference. Auto-generated if omitted. |
{
"phone": "08030000000",
"amount": "1000",
"ref": "ALPHA123456"
}
Buy Data
POST https://mskdata.mean.ng/api/data/
| Field | Required | Description |
|---|
| network | Yes | Network ID. |
| phone | Yes | Recipient phone number. |
| data_plan | Yes | Data plan ID. |
| ported_number | No | false or true. |
| ref | No | Unique transaction reference. |
{
"network": "1",
"phone": "08030000000",
"data_plan": "101",
"ported_number": "false",
"ref": "DATA123456"
}
Buy Data PIN
POST https://mskdata.mean.ng/api/datapin/
| Field | Required | Description |
|---|
| network | Yes | Network ID. |
| data_plan | Yes | Data PIN plan ID. |
| quantity | Yes | Number of PINs to generate. |
| businessname | Yes | Name printed/recorded with PIN request. |
| ref | No | Unique transaction reference. |
{
"network": "1",
"data_plan": "10",
"quantity": "5",
"businessname": "My Business",
"ref": "PIN123456"
}
Cable TV
Verify IUC / Smart Card
POST https://mskdata.mean.ng/api/cabletv/verify/
{
"provider": "1",
"iucnumber": "1234567890"
}
Purchase Subscription
POST https://mskdata.mean.ng/api/cabletv/
| Field | Required | Description |
|---|
| provider | Yes | Cable provider ID. |
| iucnumber | Yes | Decoder/IUC number. |
| plan | Yes | Cable plan ID. |
| ref | No | Unique transaction reference. |
{
"provider": "1",
"iucnumber": "1234567890",
"plan": "20",
"ref": "CAB123456"
}
Electricity
Verify Meter
POST https://mskdata.mean.ng/api/electricity/verify/
{
"provider": "1",
"meternumber": "12345678901",
"metertype": "prepaid"
}
Purchase Token
POST https://mskdata.mean.ng/api/electricity/
| Field | Required | Description |
|---|
| provider | Yes | Electricity provider ID. |
| meternumber | Yes | Meter number. |
| metertype | Yes | Meter type, usually prepaid or postpaid. |
| amount | Yes | Minimum amount is N1000. |
| phone | No | Customer phone number. |
| ref | No | Unique transaction reference. |
{
"provider": "1",
"meternumber": "12345678901",
"metertype": "prepaid",
"amount": "1000",
"phone": "08030000000",
"ref": "ELEC123456"
}
Buy Exam PIN
POST https://mskdata.mean.ng/api/exam/
| Field | Required | Description |
|---|
| provider | Yes | Exam provider ID. |
| quantity | Yes | Number of PINs/tokens. |
| ref | No | Unique transaction reference. |
{
"provider": "1",
"quantity": "1",
"ref": "EXAM123456"
}
Common Responses
Successful purchase
{
"status": "success",
"Status": "successful"
}
Failed request
{
"status": "fail",
"Status": "failed",
"msg": "Insufficient balance fund your wallet and try again"
}
Use a unique ref for every transaction. Duplicate references are rejected to protect users from repeated billing.