Billing and resources
Console client configuration · Response and shared models
Billing endpoints operate on the signed-in tenant. Wallet values include available, reserved, consumed, and overdraft points, represented as strings. Separate lists expose ledger entries, usage events, and reservations. Usage can be filtered by application, environment, and time.
estimate returns estimated points and rating lines for participant counts, duration, resolution, recording, AI, conversion, storage, and CDN inputs. Plan and resource-package purchases require a business-generated idempotencyKey; reuse it when retrying the same purchase. Plan purchases activate or replace the subscription and grant points; the current server does not validate payment. Package purchases grant resources to the wallet. Auto recharge defines a package, threshold, monthly limit, and enabled state.
billing.wallet
Wallet balance.
GET /v1/billing/wallet
Authentication: tenant Bearer token.
| Language | Call |
|---|---|
| Node.js | c.billing.wallet() |
| Python | c.billing.wallet() |
| Java | c.billing.wallet() |
| Go | c.Billing.Wallet(ctx, &result) |
| PHP | $c->billing->wallet() |
No request fields.
Returns: WalletSummary. See shared models for nested fields.
billing.entitlements
Tenant entitlements.
GET /v1/billing/entitlements
Authentication: tenant Bearer token.
| Language | Call |
|---|---|
| Node.js | c.billing.entitlements() |
| Python | c.billing.entitlements() |
| Java | c.billing.entitlements() |
| Go | c.Billing.Entitlements(ctx, &result) |
| PHP | $c->billing->entitlements() |
No request fields.
Returns: EntitlementSnapshot. See shared models for nested fields.
billing.listPlans
Plan catalog.
GET /v1/billing/plans
Authentication: tenant Bearer token.
| Language | Call |
|---|---|
| Node.js | c.billing.listPlans() |
| Python | c.billing.list_plans() |
| Java | c.billing.listPlans() |
| Go | c.Billing.ListPlans(ctx, &result) |
| PHP | $c->billing->listPlans() |
No request fields.
Returns: CatalogList<PlanCatalogItem>. See shared models for nested fields.
billing.listPackages
Resource package catalog.
GET /v1/billing/packages
Authentication: tenant Bearer token.
| Language | Call |
|---|---|
| Node.js | c.billing.listPackages() |
| Python | c.billing.list_packages() |
| Java | c.billing.listPackages() |
| Go | c.Billing.ListPackages(ctx, &result) |
| PHP | $c->billing->listPackages() |
No request fields.
Returns: CatalogList<ResourcePackageItem>. See shared models for nested fields.
billing.estimate
Estimate classroom usage.
POST /v1/billing/estimate
Authentication: tenant Bearer token.
| Language | Call |
|---|---|
| Node.js | c.billing.estimate(input) |
| Python | c.billing.estimate(**input) |
| Java | c.billing.estimate(input) |
| Go | c.Billing.Estimate(ctx, input, &result) |
| PHP | $c->billing->estimate($input) |
Input: ClassroomEstimatePayload. Fields are sent in the JSON body.
| Field | Required | Type | Description |
|---|---|---|---|
onStageCount | Yes | number | Estimated on-stage participants |
audienceCount | No | number | undefined | Estimated audience participants |
durationMinutes | Yes | number | Duration in minutes; classroom creation accepts 5–480 |
resolutionTier | No | string | undefined | Resolution tier for pricing |
recordMode | No | string | undefined | Recording mode |
aiSubtitle | No | boolean | undefined | Include AI subtitles |
aiSummary | No | boolean | undefined | Include AI summary |
transcodeMinutes | No | number | undefined | Transcoding minutes |
storageGbMonth | No | number | undefined | Storage in GB-months |
cdnGb | No | number | undefined | CDN delivery in GB |
Returns: ClassroomEstimateResult. See shared models for nested fields.
billing.listLedger
Points ledger.
GET /v1/billing/ledger
Authentication: tenant Bearer token.
| Language | Call |
|---|---|
| Node.js | c.billing.listLedger(input) |
| Python | c.billing.list_ledger(**input) |
| Java | c.billing.listLedger(input) |
| Go | c.Billing.ListLedger(ctx, input, &result) |
| PHP | $c->billing->listLedger($input) |
Input: LedgerInput. Fields are sent as URL query parameters.
| Field | Required | Type | Description |
|---|---|---|---|
type | No | string | undefined | Ledger entry type |
status | No | string | undefined | Status filter or target status |
page | No | number | undefined | Page number starting at 1 |
pageSize | No | number | undefined | Maximum items per page |
Returns: Paged<LedgerEntry>. See shared models for nested fields.
billing.listUsage
Usage records.
GET /v1/billing/usage
Authentication: tenant Bearer token.
| Language | Call |
|---|---|
| Node.js | c.billing.listUsage(input) |
| Python | c.billing.list_usage(**input) |
| Java | c.billing.listUsage(input) |
| Go | c.Billing.ListUsage(ctx, input, &result) |
| PHP | $c->billing->listUsage($input) |
Input: UsageInput. Fields are sent as URL query parameters.
| Field | Required | Type | Description |
|---|---|---|---|
scope | No | "dashboard" | undefined | Usage scope; dashboard uses dashboard aggregation |
appId | No | string | undefined | Target application ID |
environment | No | AppEnvironment | undefined | Application environment |
from | No | string | undefined | Range start, ISO 8601 |
to | No | string | undefined | Range end, ISO 8601 |
type | No | string | undefined | Ledger entry type |
status | No | string | undefined | Status filter or target status |
page | No | number | undefined | Page number starting at 1 |
pageSize | No | number | undefined | Maximum items per page |
Returns: Paged<UsageRecord>. See shared models for nested fields.
billing.listReservations
Resource reservations.
GET /v1/billing/reservations
Authentication: tenant Bearer token.
| Language | Call |
|---|---|
| Node.js | c.billing.listReservations(input) |
| Python | c.billing.list_reservations(**input) |
| Java | c.billing.listReservations(input) |
| Go | c.Billing.ListReservations(ctx, input, &result) |
| PHP | $c->billing->listReservations($input) |
Input: ReservationsInput. Fields are sent as URL query parameters.
| Field | Required | Type | Description |
|---|---|---|---|
status | No | string | undefined | Status filter or target status |
page | No | number | undefined | Page number starting at 1 |
pageSize | No | number | undefined | Maximum items per page |
Returns: Paged<ReservationRecord>. See shared models for nested fields.
billing.purchasePlan
Purchase plan.
POST /v1/billing/plans/purchase
Authentication: tenant Bearer token.
| Language | Call |
|---|---|
| Node.js | c.billing.purchasePlan(input) |
| Python | c.billing.purchase_plan(**input) |
| Java | c.billing.purchasePlan(input) |
| Go | c.Billing.PurchasePlan(ctx, input, &result) |
| PHP | $c->billing->purchasePlan($input) |
Input: PurchasePlanPayload. Fields are sent in the JSON body.
| Field | Required | Type | Description |
|---|---|---|---|
planKey | Yes | string | Plan key |
period | No | string | undefined | Purchase period; defaults to monthly |
idempotencyKey | Yes | string | Business idempotency key; reuse for retries of one purchase |
Returns: PurchasePlanResult. See shared models for nested fields.
billing.purchasePackage
Purchase resource package.
POST /v1/billing/packages/purchase
Authentication: tenant Bearer token.
| Language | Call |
|---|---|
| Node.js | c.billing.purchasePackage(input) |
| Python | c.billing.purchase_package(**input) |
| Java | c.billing.purchasePackage(input) |
| Go | c.Billing.PurchasePackage(ctx, input, &result) |
| PHP | $c->billing->purchasePackage($input) |
Input: PurchasePackagePayload. Fields are sent in the JSON body.
| Field | Required | Type | Description |
|---|---|---|---|
packageKey | Yes | string | Resource package key |
idempotencyKey | Yes | string | Business idempotency key; reuse for retries of one purchase |
Returns: WalletSummary. See shared models for nested fields.
billing.getAutoRecharge
Get auto recharge.
GET /v1/billing/auto-recharge
Authentication: tenant Bearer token.
| Language | Call |
|---|---|
| Node.js | c.billing.getAutoRecharge() |
| Python | c.billing.get_auto_recharge() |
| Java | c.billing.getAutoRecharge() |
| Go | c.Billing.GetAutoRecharge(ctx, &result) |
| PHP | $c->billing->getAutoRecharge() |
No request fields.
Returns: AutoRechargeRule. See shared models for nested fields.
billing.setAutoRecharge
Set auto recharge.
POST /v1/billing/auto-recharge
Authentication: tenant Bearer token.
| Language | Call |
|---|---|
| Node.js | c.billing.setAutoRecharge(input) |
| Python | c.billing.set_auto_recharge(**input) |
| Java | c.billing.setAutoRecharge(input) |
| Go | c.Billing.SetAutoRecharge(ctx, input, &result) |
| PHP | $c->billing->setAutoRecharge($input) |
Input: UpsertAutoRechargePayload. Fields are sent in the JSON body.
| Field | Required | Type | Description |
|---|---|---|---|
packageKey | Yes | string | Resource package key |
thresholdPoints | Yes | string | Auto recharge points threshold as a string |
monthlyLimit | Yes | number | Maximum auto recharges per month |
enabled | Yes | boolean | Whether auto recharge is enabled |
Returns: AutoRechargeRule. See shared models for nested fields.