Skip to main content

Usage — TypeScript SDK

Serverless usage records, aggregate stats, call history, and gateway providers.

Overview​

The Usage resource exposes time-windowed analytics over the gateway: paginated serverless usage records, aggregated stats over a window, raw API call history, and the gateway provider catalog used for filtering.

Accessed via client.usage.

startTime and endTime are required for serverlessList(), serverlessStats(), and history(). Use ISO 8601 local datetime yyyy-MM-ddTHH:mm:ss (e.g. 2026-04-01T00:00:00). The backend NPEs if either is missing; the SDK rejects the call client-side.

Available Operations​

MethodDescription
serverlessList()Paginated serverless usage records
serverlessStats()Aggregate serverless statistics over a window
history()Paginated API call history
gatewayProviders()Provider list for usage filtering

serverlessList​

Paginated serverless usage records over a time window.

Example Usage​

import { WltClient } from 'wlt-platform';

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

const result = await client.usage.serverlessList({
startTime: '2026-04-01T00:00:00',
endTime: '2026-04-30T23:59:59',
pageNum: 1,
pageSize: 20,
modelIds: ['qwen-turbo'],
});
for (const record of result.list) {
console.log(record.modelName, record.totalTokens);
}

Parameters​

ParameterTypeRequiredDefaultDescription
startTimestringYes—Query start time (ISO 8601 local datetime)
endTimestringYes—Query end time (ISO 8601 local datetime)
pageNumnumberNo1Page number (>= 1)
pageSizenumberNo10Items per page (>= 1)
apiKeystringNo—Filter by API Key
inputsstring[]No—Input type filter list
outputsstring[]No—Output type filter list
modelIdsstring[]No—Model ID filter list

Response​

Returns PageInfo<ServerlessUsageRecord>. ServerlessUsageRecord:

FieldTypeDescription
modelNamestringModel name
apiKeyNamestringAPI Key name
requestsstringRequest count
totalTokensstringTotal token consumption
avgLatencystringAverage latency
successRatestringSuccess rate (%)
errorCountstringError count
totalFeestringTotal fee
throughputstringThroughput (QPS)
usageStatsstringUsage statistics info

Errors​

CodeErrorWhen
1001Validation errorstartTime / endTime missing or malformed
2000 / 2002Authentication failureAPI Key invalid
2007Permission deniedToken lacks permission
3001Token expiredRefresh failed

serverlessStats​

Aggregate serverless statistics over a time window.

Example Usage​

const stats = await client.usage.serverlessStats({
startTime: '2026-04-01T00:00:00',
endTime: '2026-04-30T23:59:59',
modelIds: ['qwen-turbo', 'qwen-plus'],
});
console.log(stats.totalRequests, stats.totalTokens);

Parameters​

ParameterTypeRequiredDefaultDescription
startTimestringYes—Query start time (ISO 8601 local datetime)
endTimestringYes—Query end time (ISO 8601 local datetime)
pageNumnumberNo1Page number
pageSizenumberNo10Items per page
apiKeystringNo—Filter by API Key
inputsstring[]No—Input type filter list
outputsstring[]No—Output type filter list
modelIdsstring[]No—Model ID filter list

Response​

Returns ServerlessStatsResult:

FieldTypeDescription
totalRequestsnumberTotal request count
requestTrendstringRequest trend
totalTokensnumberTotal token consumption
tokenTrendstringToken trend
totalUseModelnumberTotal number of models used
totalUseModelTrendstringModel usage trend
avgLatencystringAverage latency
avgLatencyTrendstringAverage latency trend

Errors​

CodeErrorWhen
1001Validation errorstartTime / endTime missing or malformed
2000 / 2002Authentication failureAPI Key invalid
2007Permission deniedToken lacks permission
3001Token expiredRefresh failed

history​

Paginated API call history with multi-dimension filters. startTime and endTime are required.

Example Usage​

const result = await client.usage.history({
startTime: '2026-04-01T00:00:00',
endTime: '2026-04-30T23:59:59',
provider: 'dashscope',
pageNum: 1,
pageSize: 20,
});
for (const record of result.list) {
console.log(record.modelNameVersion, record.requestType, record.timestamp);
}

// Search by keyword within a window
const searched = await client.usage.history({
keyword: 'qwen',
startTime: '2026-04-01T00:00:00',
endTime: '2026-04-30T23:59:59',
pageNum: 1,
pageSize: 10,
});

Parameters​

ParameterTypeRequiredDefaultDescription
startTimestringYes—Query start time (ISO 8601 local datetime)
endTimestringYes—Query end time (ISO 8601 local datetime)
providerstringNo—Provider filter
featurestringNo—Feature module filter
requestTypestringNo—Request type filter
keywordstringNo—Keyword search
pageNumnumberNo—Page number
pageSizenumberNo—Items per page
modelIdsstring[]No—Model ID filter list
inputsstring[]No—Input type filter list
outputsstring[]No—Output type filter list

Response​

Returns PageInfo<HistoryRecord>. HistoryRecord:

FieldTypeDescription
requestIdstringRequest ID
modelNameVersionstringModel name and version
statusCodenumberHTTP status code
latencynumberGateway latency (ms)
totalTokensnumberTotal token count
timestampstringRequest time (ISO 8601)
requestTypestringRequest type
modelTechnologystringModel technology
promptTokensnumberInput token count
completionTokensnumberOutput token count
providerTtftnumberTTFT (time to first token, ms)
providerLatencynumberProvider latency (ms)
providerResponseTypestringResponse type
apiKeyNamestringAPI Key name
gatewayRequestBodySizenumberRequest body size (bytes)
errorMsgstringError message

Errors​

CodeErrorWhen
1001Validation errorstartTime / endTime missing or malformed
2000 / 2002Authentication failureAPI Key invalid
2007Permission deniedToken lacks permission
3001Token expiredRefresh failed

gatewayProviders​

Get the provider list for usage filtering.

Example Usage​

const providers = await client.usage.gatewayProviders();
for (const p of providers) {
console.log(p.id, p.name);
}

Parameters​

None.

Response​

Returns ProviderVO[]:

FieldTypeDescription
idstringProvider identifier
namestringProvider display name

Errors​

CodeErrorWhen
2000 / 2002Authentication failureAPI Key invalid
2007Permission deniedToken lacks permission
3001Token expiredRefresh failed