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
| Method | Description |
|---|---|
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
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
startTime | string | Yes | — | Query start time (ISO 8601 local datetime) |
endTime | string | Yes | — | Query end time (ISO 8601 local datetime) |
pageNum | number | No | 1 | Page number (>= 1) |
pageSize | number | No | 10 | Items per page (>= 1) |
apiKey | string | No | — | Filter by API Key |
inputs | string[] | No | — | Input type filter list |
outputs | string[] | No | — | Output type filter list |
modelIds | string[] | No | — | Model ID filter list |
Response
Returns PageInfo<ServerlessUsageRecord>. ServerlessUsageRecord:
| Field | Type | Description |
|---|---|---|
modelName | string | Model name |
apiKeyName | string | API Key name |
requests | string | Request count |
totalTokens | string | Total token consumption |
avgLatency | string | Average latency |
successRate | string | Success rate (%) |
errorCount | string | Error count |
totalFee | string | Total fee |
throughput | string | Throughput (QPS) |
usageStats | string | Usage statistics info |
Errors
| Code | Error | When |
|---|---|---|
1001 | Validation error | startTime / endTime missing or malformed |
2000 / 2002 | Authentication failure | API Key invalid |
2007 | Permission denied | Token lacks permission |
3001 | Token expired | Refresh 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
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
startTime | string | Yes | — | Query start time (ISO 8601 local datetime) |
endTime | string | Yes | — | Query end time (ISO 8601 local datetime) |
pageNum | number | No | 1 | Page number |
pageSize | number | No | 10 | Items per page |
apiKey | string | No | — | Filter by API Key |
inputs | string[] | No | — | Input type filter list |
outputs | string[] | No | — | Output type filter list |
modelIds | string[] | No | — | Model ID filter list |
Response
Returns ServerlessStatsResult:
| Field | Type | Description |
|---|---|---|
totalRequests | number | Total request count |
requestTrend | string | Request trend |
totalTokens | number | Total token consumption |
tokenTrend | string | Token trend |
totalUseModel | number | Total number of models used |
totalUseModelTrend | string | Model usage trend |
avgLatency | string | Average latency |
avgLatencyTrend | string | Average latency trend |
Errors
| Code | Error | When |
|---|---|---|
1001 | Validation error | startTime / endTime missing or malformed |
2000 / 2002 | Authentication failure | API Key invalid |
2007 | Permission denied | Token lacks permission |
3001 | Token expired | Refresh 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
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
startTime | string | Yes | — | Query start time (ISO 8601 local datetime) |
endTime | string | Yes | — | Query end time (ISO 8601 local datetime) |
provider | string | No | — | Provider filter |
feature | string | No | — | Feature module filter |
requestType | string | No | — | Request type filter |
keyword | string | No | — | Keyword search |
pageNum | number | No | — | Page number |
pageSize | number | No | — | Items per page |
modelIds | string[] | No | — | Model ID filter list |
inputs | string[] | No | — | Input type filter list |
outputs | string[] | No | — | Output type filter list |
Response
Returns PageInfo<HistoryRecord>. HistoryRecord:
| Field | Type | Description |
|---|---|---|
requestId | string | Request ID |
modelNameVersion | string | Model name and version |
statusCode | number | HTTP status code |
latency | number | Gateway latency (ms) |
totalTokens | number | Total token count |
timestamp | string | Request time (ISO 8601) |
requestType | string | Request type |
modelTechnology | string | Model technology |
promptTokens | number | Input token count |
completionTokens | number | Output token count |
providerTtft | number | TTFT (time to first token, ms) |
providerLatency | number | Provider latency (ms) |
providerResponseType | string | Response type |
apiKeyName | string | API Key name |
gatewayRequestBodySize | number | Request body size (bytes) |
errorMsg | string | Error message |
Errors
| Code | Error | When |
|---|---|---|
1001 | Validation error | startTime / endTime missing or malformed |
2000 / 2002 | Authentication failure | API Key invalid |
2007 | Permission denied | Token lacks permission |
3001 | Token expired | Refresh 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[]:
| Field | Type | Description |
|---|---|---|
id | string | Provider identifier |
name | string | Provider display name |
Errors
| Code | Error | When |
|---|---|---|
2000 / 2002 | Authentication failure | API Key invalid |
2007 | Permission denied | Token lacks permission |
3001 | Token expired | Refresh failed |