Subscribe to cable TV packages (DSTV, GoTV, Startimes).
Cable Subscription
Subscribe to cable TV packages for DSTV, GoTV, Startimes, and other supported providers.
Endpoint
POST https://example.com/api/cable_subscription
Request Headers
{
"Accept": "application/json",
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
}
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
cable_name | string | Yes | Cable provider name (e.g., "DSTV", "GOTV", "STARTIME") |
cable_subscription_plan_id | integer | Yes | Cable plan ID |
smart_card_number | string | Yes | Decoder smart card / IUC number |
Example Request
{
"cable_name": "DSTV",
"cable_subscription_plan_id": 5,
"smart_card_number": "1234567890"
}
curl -X POST https://example.com/api/cable_subscription \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"cable_name": "DSTV",
"cable_subscription_plan_id": 5,
"smart_card_number": "1234567890"
}'
Response
Success (200)
{
"data": {
"id": 1,
"network": null,
"ident": "CS20260318123045123456",
"amount": "10,500.00",
"api_response": "Success",
"description": "DStv Confam 6200 DSTV Cable Subscription to 1234567890 (John Doe)",
"plan_network": "N/A",
"Status": "successful",
"balance_before": "15,000.00",
"balance_after": "4,500.00",
"create_date": "18/03/2026 10:30 AM"
}
}
Response Fields
| Field | Type | Description |
|---|---|---|
id | integer | Transaction ID |
network | integer/null | Network ID (typically null for cable) |
ident | string | Unique transaction reference (prefixed with CS) |
amount | string | Amount charged (formatted with 2 decimals) |
api_response | string | Provider response message, or "N/A" |
description | string | Human-readable transaction description |
plan_network | string | Always "N/A" |
Status | string | "successful", "pending", or "failed" |
balance_before | string | Wallet balance before transaction |
balance_after | string | Wallet balance after transaction |
create_date | string | Transaction timestamp (format: DD/MM/YYYY hh:mm AM/PM) |
Cable Providers
| Provider | Name Value |
|---|---|
| DSTV | "DSTV" |
| GOtv | "GOTV" |
| Startimes | "STARTIME" |
Sample Cable Plans
GOTV:
| Plan | Amount |
|---|---|
| GOtv Smallie | ₦1,100/month |
| GOtv Jinja | ₦2,250/month |
| GOtv Jolli | ₦3,300/month |
| GOtv Max | ₦4,850/month |
DSTV:
| Plan | Amount |
|---|---|
| DStv Padi | ₦2,500/month |
| DStv Yanga | ₦3,500/month |
| DStv Confam | ₦6,200/month |
| DStv Premium | ₦24,500/month |
Plan IDs and pricing may change. Always check your API dashboard for current plan IDs.
Error Handling
Validation Error (422)
Returned when request fields fail validation:
{
"message": "The given data was invalid.",
"errors": {
"cable_name": ["The cable name field is required."],
"cable_subscription_plan_id": ["Please Select Plan"],
"smart_card_number": ["The smart card number field is required."]
}
}
| Error | Cause |
|---|---|
"The cable name field is required." | Missing cable_name parameter |
"Please Select Plan" | Missing cable_subscription_plan_id parameter |
"The smart card number field is required." | Missing smart_card_number parameter |
Business Logic Errors (422)
{
"message": "The given data was invalid.",
"errors": {
"status": ["Something Went Wrong! Try again Letter"]
}
}
| Error Message | Field | Cause |
|---|---|---|
"Insufficient wallet balance!" | amount | Not enough funds in your wallet |
"Service unavailable!." | status | Cable service is currently disabled |
"Your account has been restricted for transaction, Please submit your KYC to activate your account or contact support!." | status | Account KYC restriction |
"Sorry, your daily cable_subscription spending limit exceeded! Limit: ₦X" | status | Daily spending limit reached |
"Something Went Wrong! Try again Letter" | status | Provider-level failure (generic) |
Unauthorized (401)
Returned when the Bearer token is missing or invalid.
IP Whitelist Denied (403)
{
"status": false,
"message": "Access Denied: Your IP (x.x.x.x) or Origin is not whitelisted for this API token."
}
Notes
- Validate the smart card / IUC number using the IUC Validation endpoint before subscribing
- Additional package charges may apply depending on the cable provider