Object fields
Every shared object shape in one place. These are referenced from the endpoint pages rather than repeated on each of them, so a field is documented once.
Pagination envelope
Returned by every list endpoint. See Page through list results.
| Field | Type | Description |
|---|---|---|
count | integer | Total rows across all pages |
next | string | null | URL of the next page, null on the last |
previous | string | null | URL of the previous page, null on the first |
results | array | The page of objects |
Subscriptions extends this with status counts.
Subscription item
The shape of each element of results[] on Subscriptions.
| Field | Type | Description |
|---|---|---|
subscription_id | string (UUID) | — |
status | string | See Subscription statuses |
is_active | boolean | status == "active" |
client | object | See client object |
product | object | See product object |
current_period_start | datetime | null | — |
current_period_end | datetime | null | = billing_cycle |
next_billing_cycle | datetime | null | The date the subscription bills next (same value as billing_cycle). Use this as the next-billing date. |
created_at | datetime | — |
client object
Buyer details. Sent when creating a subscription, and returned on each subscription item.
| Field | Type | Required on create | Description |
|---|---|---|---|
phone | string | Yes | Buyer identity — matches or creates the buyer |
full_name | string | Yes | — |
email | string | Yes | — |
address | string | Yes | — |
billing | object | No | {billing_business_name*, billing_email*, billing_address*, billing_pan_vat} (* required if billing present; billing_pan_vat 9 numbers) |
shipping | object | No | {phone*, full_name*, email*, address} (* required if shipping present) |
On a read, billing and shipping are nullable and use unprefixed keys (business_name, email, address, pan_vat).
product object
The product snapshot carried on a subscription item.
| Field | Type | Description |
|---|---|---|
product_id | string (UUID) | — |
name | string | Product name |
plan_name | string | The plan the buyer is on |
pbp_id | string | The billing period they subscribed to |
label | string | Display label, e.g. Monthly |
price | decimal string | Sent as a string to avoid float rounding |
currency | string | e.g. NPR |
Plan object
Each element of plan[] on Products.
| Field | Type | Description |
|---|---|---|
plan_id | string | — |
plan_name | string | — |
description | string | — |
billing_periods | array | See Billing period object |
Billing period object
Each element of billing_periods[]. The pbp_id here is what you pass to create a subscription.
| Field | Type | Description |
|---|---|---|
pbp_id | string | Public id — pass this to create a subscription |
interval_type | string | e.g. month, year |
interval_count | integer | — |
label | string | Display label |
price | decimal string | — |
currency | string | e.g. NPR |
is_current / is_limited / is_archived | boolean | — |
offers | array | Attached offers |
Billing periods are returned inline as part of each product; there is no separate billing-periods endpoint.