Skip to main content

Billing — TypeScript SDK

Monthly billing queries broken down by GPU spec, AI service, or line-item detail.

Overview​

The Billing resource exposes month-cycle billing data: a per-cycle summary, paginated breakdowns by GPU spec and AI service, and a detailed line-item list. All methods take a billingCycle in "YYYY-MM" format.

Accessed via client.billing.

Available Operations​

MethodDescription
queryAllAmount()Monthly billing summary
queryBillByGpu()Paginated bill rows aggregated by GPU spec
queryBillByService()Paginated bill rows aggregated by AI service
queryBillList()Detailed paginated bill list

queryAllAmount​

Monthly billing summary for the given cycle.

Example Usage​

import { WltClient } from 'wlt-platform';

const client = new WltClient({ apiKey: 'your-api-key', baseUrl: 'https://console.example.com' });

const bill = await client.billing.queryAllAmount({ billingCycle: '2026-04' });
console.log(`Total amount: ${bill.pretaxAmountSum}`);
console.log(`Currency: ${bill.currency}`);

Parameters​

ParameterTypeRequiredDefaultDescription
billingCyclestringYes—Billing cycle, format "YYYY-MM" (e.g. "2026-04")

Response​

Returns UserBillingMonthResponse:

FieldTypeDescription
afterDiscountAmountSumnumberAmount after discount
deductedByCouponsSumnumberCoupon deduction amount
pretaxGrossAmountSumnumberOriginal amount (list price)
pretaxAmountSumnumberPayable amount
currencystringCurrency code (e.g. "USD")

Errors​

CodeErrorWhen
1001Validation errorbillingCycle missing or not YYYY-MM
2000 / 2002Authentication failureAPI Key invalid
2007Permission deniedToken lacks permission
3001Token expiredRefresh failed

queryBillByGpu​

Paginated bill rows aggregated by GPU spec.

Example Usage​

const result = await client.billing.queryBillByGpu({
billingCycle: '2026-04',
pageNum: 1,
pageSize: 10,
});
for (const item of result.list) {
console.log(`GPU: ${item.gpuSpec}, Amount: ${item.pretaxAmountSum}`);
}

Parameters​

ParameterTypeRequiredDefaultDescription
billingCyclestringYes—Billing cycle, format "YYYY-MM"
pageNumnumberNo1Page number, starting from 1
pageSizenumberNo10Items per page

Response​

Returns PageInfo<UserBillingGpuServiceResponse>. UserBillingGpuServiceResponse:

FieldTypeDescription
afterDiscountAmountSumnumberAmount after discount
deductedByCouponsSumnumberCoupon deduction amount
pretaxGrossAmountSumnumberOriginal amount
pretaxAmountSumnumberPayable amount
listPricenumberList price (unit price)
currencystringCurrency code
gpuSpecstringGPU spec (e.g. "A100-80G")
servicePeriodUnitstringService period unit (e.g. "Hour")
servicePeriodSumstringTotal service period
modelResourcestringModel resource identifier

Errors​

CodeErrorWhen
1001Validation errorbillingCycle missing or not YYYY-MM
2000 / 2002Authentication failureAPI Key invalid
2007Permission deniedToken lacks permission
3001Token expiredRefresh failed

queryBillByService​

Paginated bill rows aggregated by AI service.

Example Usage​

const result = await client.billing.queryBillByService({
billingCycle: '2026-04',
pageNum: 1,
pageSize: 10,
});
for (const item of result.list) {
console.log(`Service: ${item.bizType}, Amount: ${item.pretaxAmountSum}`);
}

Parameters​

ParameterTypeRequiredDefaultDescription
billingCyclestringYes—Billing cycle, format "YYYY-MM"
pageNumnumberNo1Page number, starting from 1
pageSizenumberNo10Items per page

Response​

Returns PageInfo<UserBillingAiServiceResponse>. UserBillingAiServiceResponse:

FieldTypeDescription
afterDiscountAmountSumnumberAmount after discount
deductedByCouponsSumnumberCoupon deduction amount
pretaxGrossAmountSumnumberOriginal amount
pretaxAmountSumnumberPayable amount
currencystringCurrency code
gpuSpecstringGPU spec
modelResourcestringModel resource identifier
servicePeriodUnitstringService period unit
servicePeriodSumstringTotal service period
bizTypestringBusiness type (e.g. "Deploy", "Finetune")

Errors​

CodeErrorWhen
1001Validation errorbillingCycle missing or not YYYY-MM
2000 / 2002Authentication failureAPI Key invalid
2007Permission deniedToken lacks permission
3001Token expiredRefresh failed

queryBillList​

Detailed paginated bill list.

Example Usage​

const result = await client.billing.queryBillList({
billingCycle: '2026-04',
pageNum: 1,
pageSize: 20,
});
console.log(`Total records: ${result.total}`);
for (const item of result.list) {
console.log(item);
}

Parameters​

ParameterTypeRequiredDefaultDescription
billingCyclestringYes—Billing cycle, format "YYYY-MM"
pageNumnumberNo1Page number, starting from 1
pageSizenumberNo10Items per page

Response​

Returns PageInfo<UserBillingResponse>. UserBillingResponse:

FieldTypeDescription
afterDiscountAmountnumberAmount after discount
deductedByCouponsnumberCoupon deduction amount
pretaxGrossAmountnumberOriginal amount
pretaxAmountnumberPayable amount
instanceIDstringInstance ID
currencystringCurrency code
productCodestringProduct code
regionstringRegion
gpuSpecstringGPU spec
modelResourcestringModel resource identifier
servicePeriodUnitstringService period unit
servicePeriodstringService period
bizTypestringBusiness type (e.g. "Deploy", "Finetune")

Errors​

CodeErrorWhen
1001Validation errorbillingCycle missing or not YYYY-MM
2000 / 2002Authentication failureAPI Key invalid
2007Permission deniedToken lacks permission
3001Token expiredRefresh failed