Usage — Python SDK
Query gateway request usage, statistics, and history.
Overview
The Usage resource exposes the gateway's request-level analytics: paginated serverless usage records, aggregated statistics, full request history with multi-dimension filters, and the gateway provider catalogue used for filtering.
Accessed via client.usage.
Available Operations
| Method | Description |
|---|---|
serverlessList() | Query serverless usage list with filters |
serverlessStats() | Get serverless usage aggregated statistics |
history() | Query API call history with multi-dimension filters |
gatewayProviders() | Get the gateway provider list for filtering |
serverlessList
Query serverless usage list with filters.
Example Usage
from wlt import WltClient
from datetime import datetime
client = WltClient(api_key="your-api-key", base_url="https://console.example.com")
result = client.usage.serverless_list(
start_time=datetime(2026, 4, 1),
end_time=datetime(2026, 4, 21),
page_num=1,
page_size=20,
model_ids=["qwen-turbo"],
)
for record in result.data.list:
print(record.modelName, record.totalTokens)
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| start_time | datetime | Yes | -- | Query start time |
| end_time | datetime | Yes | -- | Query end time |
| page_num | int | No | 1 | Page number (>= 1) |
| page_size | int | No | 10 | Items per page (>= 1) |
| api_key | str | No | None | Filter by API Key |
| inputs | list[str] | No | None | Input type filter list |
| outputs | list[str] | No | None | Output type filter list |
| model_ids | list[str] | No | None | Model ID filter list |
Response
Returns BaseResponse[PageInfo[ServerlessUsageRecord]].
ServerlessUsageRecord fields:
| Field | Type | Description |
|---|---|---|
| modelName | str | Model name |
| apiKeyName | str | API Key name |
| requests | str | Request count |
| totalTokens | str | Total token consumption |
| avgLatency | str | Average latency |
| successRate | str | Success rate (%) |
| errorCount | str | Error count |
| totalFee | str | Total fee |
| throughput | str | Throughput (QPS) |
| usageStats | str | Usage statistics info |
Errors
| Code | Exception | When |
|---|---|---|
1001 | ValidationError | Missing required start_time / end_time or other invalid params |
2000 / 2002 | AuthenticationError | API Key invalid |
2007 | PermissionError | Permission denied |
3001 | AuthenticationError | Token expired and refresh failed |
serverlessStats
Get serverless usage aggregated statistics.
Example Usage
from wlt import WltClient
from datetime import datetime
client = WltClient(api_key="your-api-key", base_url="https://console.example.com")
stats = client.usage.serverless_stats(
start_time=datetime(2026, 4, 1),
end_time=datetime(2026, 4, 21),
model_ids=["qwen-turbo", "qwen-plus"],
)
print(stats.data)
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| start_time | datetime | Yes | -- | Query start time |
| end_time | datetime | Yes | -- | Query end time |
| page_num | int | No | 1 | Page number |
| page_size | int | No | 10 | Items per page |
| api_key | str | No | None | Filter by API Key |
| inputs | list[str] | No | None | Input type filter list |
| outputs | list[str] | No | None | Output type filter list |
| model_ids | list[str] | No | None | Model ID filter list |
Response
Returns BaseResponse[ServerlessStatsResult].
ServerlessStatsResult fields:
| Field | Type | Description |
|---|---|---|
| totalRequests | int | Total request count |
| requestTrend | str | Request trend |
| totalTokens | int | Total token consumption |
| tokenTrend | str | Token trend |
| totalUseModel | int | Total number of models used |
| totalUseModelTrend | str | Model usage trend |
| avgLatency | str | Average latency |
| avgLatencyTrend | str | Average latency trend |
Errors
| Code | Exception | When |
|---|---|---|
1001 | ValidationError | Invalid request parameters |
2000 / 2002 | AuthenticationError | API Key invalid |
2007 | PermissionError | Permission denied |
3001 | AuthenticationError | Token expired and refresh failed |
history
Query API call history with multi-dimension filters.
Example Usage
from wlt import WltClient
from datetime import datetime
client = WltClient(api_key="your-api-key", base_url="https://console.example.com")
result = client.usage.history(
start_time=datetime(2026, 4, 1),
end_time=datetime(2026, 4, 21),
provider="dashscope",
page_num=1,
page_size=20,
)
for record in result.data.list:
print(record.modelNameVersion, record.requestType, record.timestamp)
# Search by keyword within a time window (start/end remain required)
result = client.usage.history(
keyword="qwen",
start_time=datetime(2026, 4, 1),
end_time=datetime(2026, 4, 21),
page_num=1,
page_size=10,
)
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| provider | str | No | None | Provider filter |
| feature | str | No | None | Feature module filter |
| request_type | str | No | None | Request type filter |
| start_time | datetime | Yes | -- | Query start time (REQUIRED) |
| end_time | datetime | Yes | -- | Query end time (REQUIRED) |
| keyword | str | No | None | Keyword search |
| page_num | int | No | None | Page number |
| page_size | int | No | None | Items per page |
| model_ids | list[str] | No | None | Model ID filter list |
| inputs | list[str] | No | None | Input type filter list |
| outputs | list[str] | No | None | Output type filter list |
Response
Returns BaseResponse[PageInfo[HistoryRecord]].
HistoryRecord fields:
| Field | Type | Description |
|---|---|---|
| requestId | str | Request ID |
| modelNameVersion | str | Model name and version |
| statusCode | int | HTTP status code |
| latency | float | Gateway latency (ms) |
| totalTokens | int | Total token count |
| timestamp | datetime | Request time |
| requestType | str | Request type |
| modelTechnology | str | Model technology |
| promptTokens | int | Input token count |
| completionTokens | int | Output token count |
| providerTtft | float | TTFT (time to first token, ms) |
| providerLatency | float | Provider latency (ms) |
| providerResponseType | str | Response type |
| apiKeyName | str | API Key name |
| gatewayRequestBodySize | int | Request body size (bytes) |
| errorMsg | str | Error message |
Errors
| Code | Exception | When |
|---|---|---|
1001 | ValidationError | Missing required start_time / end_time or other invalid params |
2000 / 2002 | AuthenticationError | API Key invalid |
2007 | PermissionError | Permission denied |
3001 | AuthenticationError | Token expired and refresh failed |
gatewayProviders
Get gateway provider list for usage filtering.
Example Usage
from wlt import WltClient
client = WltClient(api_key="your-api-key", base_url="https://console.example.com")
providers = client.usage.gateway_providers()
for p in providers.data:
print(p.id, p.name)
Parameters
None.
Response
Returns BaseResponse[list[ProviderVO]].
ProviderVO fields:
| Field | Type | Description |
|---|---|---|
| id | str | Provider identifier |
| name | str | Provider display name |
Errors
| Code | Exception | When |
|---|---|---|
2000 / 2002 | AuthenticationError | API Key invalid |
2007 | PermissionError | Permission denied |
3001 | AuthenticationError | Token expired and refresh failed |