---
title: "CableTv subscription via sub account"
method: POST
path: "/v2/bill/cabletv/{subAccountId}"
tags: ["CableTV Subscription"]
---

# CableTv subscription via sub account

`POST /v2/bill/cabletv/{subAccountId}`

## Request

- Base URL: `https://api.nomba.com`
- URL: `https://api.nomba.com/v2/bill/cabletv/{subAccountId}`
- Auth: HTTP bearer

You can use this endpoint to make cable tv subscription via a sub account

## Path parameters

- `subAccountId` string, required

## Headers

- `accountId` string, uuid, required

## Request body

- CableTvSubscriptionRequest
  - `cableTvType` string
  - `merchantTxRef` string: This is an idempotency key and must be unique per transaction.
  - `payerName` string
  - `amount` integer
  - `customerId` string

## Response `200`

OK - your request was successful.

- object
  - `code` '200' | '201' | '400' | '401' | '403' | '429' | '500', required: Response code. This reflects the HTTP status code of the response, e.g. `200` when the request completed successfully and `201` when it was accepted and is still being processed.
  - `description` string, required: Response description
  - `message` string: Response message
  - `status` boolean: Whether the request was successful
  - `data` CableTvSubscriptionV2Response, required
    - `id` string, required: Unique identifier of the cable TV transaction
    - `status` string, required: Status of the transaction. `SUCCESS` (HTTP 200) means the purchase completed; `PENDING_BILLING` (HTTP 201) means it is still being processed. In addition, any undocumented `data.status` should be treated as `PENDING_BILLING`; listen for the webhook or requery the transaction for its final status.
    - `type` string, required: Transaction type. This is the cable TV provider, e.g. `dstv` or `gotv`
    - `amount` number, double, required: Amount paid for the subscription
    - `source` string: Channel through which the transaction was initiated
    - `sourceUserId` string, nullable: Identifier of the source user, if any
    - `customerBillerId` string: Smartcard or IUC number credited with the subscription
    - `productId` string: The cable TV provider
    - `meta` object: Additional transaction metadata
    - `userId` string, nullable: Identifier of the user, if any
    - `timeCreated` string, date-time, required: Time the transaction was created

## Other responses

- `201`: Created - your request was accepted and is being processed. `data.status` is `PENDING_BILLING`; listen for webhook notifications or requery the transaction for the final status.
- `400`: The request body sent by merchant did not pass the validation checks
- `401`: The access_token provided to access the resource is missing or invalid.
- `403`: The client does not have the permissions to access this resource
- `404`: The record that the client is trying to access does not exist.
- `429`: The client has maxed out the number of calls within a time period on this resource.
- `500`: Downstream system error.
- `default`: Resource not available

## Changes

- **2026-11-03** `278a25dccfe5`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/nomba/apis/vendor-api/changes/v2/bill/cabletv/:subAccountId/post.md)

---

[API](https://skmtc.dev/nomba/apis/vendor-api.md) - [All operations](https://skmtc.dev/nomba/apis/vendor-api/llms.txt) - [OpenAPI document](https://skmtc.dev/nomba/apis/vendor-api/revisions/278a25dccfe5?raw)
