Skip to main content

PlanResponse

planIdstring<uuid>
Example: 169ae891-2c0d-4e3a-9f1b-7a2c5d8e4f60
networkstring

The network for a data plan; the biller's brand (MTN, Smile, Spectranet) for a broadband row.

Example: MTN
namestring
Example: 1.0GB
validitystringnullable
Example: 30 days
priceinteger<int64>

Your price, in kobo.

Example: 27000
productIdstring<uuid>nullable

The canonical product this plan maps to, stable across networks and providers. Present once your account is on the product catalog; null for unmapped rows.

Example: b3d9c1a2-4e5f-6789-a0b1-c2d3e4f5a6b7
sizeMbinteger<int64>nullable

Data allowance in megabytes, when known.

Example: 1024
validityDaysinteger<int32>nullable

Validity in days, when known (the machine-readable form of validity).

Example: 30
isUnlimitedboolean

True for an unlimited plan. Always present (defaults to false).

Example: false
classstringnullable

Product class label, when known (for example "SME").

Example: SME
retailPriceinteger<int64>nullable

The published retail price for this plan, in kobo, when one exists. Null for a plan with no retail basis (see pricingBasis) - this is the ordinary case today. Independent of price: you cannot derive one from the other.

Example: 30000
pricingBasisstringnullable

Which formula to use when you resell this plan. "retail" means sell at retailPrice and keep the difference from price as your margin. "special" means there is no retail figure (retailPrice is null); add your own markup on top of price instead. Null only on a raw/unmapped row, alongside the other product fields above.

Possible values: [retail, special]

Example: retail
servicestringnullable

Which family this row belongs to: "data" or "broadband".

buyEndpointstringnullable

The endpoint that buys THIS row, e.g. "/api/v1/data" or "/api/v1/broadband".

identifierFieldstringnullable

The JSON field the buy endpoint expects for the recipient: "phone" for data, "accountNumber" for broadband.

PlanResponse
{
"planId": "169ae891-2c0d-4e3a-9f1b-7a2c5d8e4f60",
"network": "MTN",
"name": "1.0GB",
"validity": "30 days",
"price": 27000,
"productId": "b3d9c1a2-4e5f-6789-a0b1-c2d3e4f5a6b7",
"sizeMb": 1024,
"validityDays": 30,
"isUnlimited": false,
"class": "SME",
"retailPrice": 30000,
"pricingBasis": "retail",
"service": "string",
"buyEndpoint": "string",
"identifierField": "string"
}