List Usage
/unified/usage-metering/usage
Query Parameters
Refer Specifying query parameters in Truto APIs
Usage view to retrieve. Defaults to activity unless a date range is supplied.
activityconnector_usagecostproject_usageskill_usagesummaryusageuser_costuser_usage
1 supported
The start date for the usage data.
5 supported5 notes
Inclusive usage period start. Accepts YYYY-MM-DD or RFC3339 date-time. For daily activity-style views, the date portion is used.
Alias for date. Accepts YYYY-MM-DD or RFC3339 date-time; only the day portion is used.
If not specified, it defaults to the start of the current month.
Inclusive range start (ISO 8601). Mapped to Cursor startDate epoch ms.
If not specified, it defaults to the start of the current month. Only supports maximum resolution of a month.
The end date for the usage data.
4 supported4 notes
Exclusive usage period end. Accepts YYYY-MM-DD or RFC3339 date-time. Defaults to a recent completed period when omitted.
If not specified, it defaults to the end of the current month or the end of the month specified in the start date.
Inclusive range end (ISO 8601). Mapped to Cursor endDate epoch ms.
If not specified, it defaults to the end of the current month or the end of the month specified in the start date. Only supports maximum resolution of a month.
Filter usage to specific unified product IDs or source product identifiers.
1 supported
Filter usage to specific source user IDs.
1 supported
Filter usage to specific AI model IDs.
1 supported
Filter usage to specific product surfaces such as chat, api, cli, composer, or code.
1 supported
Generic dimensions to group by, such as product, surface, model, user, charge_type, or token_type when supported by the provider.
1 supported
Time bucket size for bucketed usage or cost reports when supported by the provider.
dayhourminute
1 supported
Metric or dimension to sort by when supported by the provider.
1 supported
Sort direction.
ascdesc
1 supported
Whether deleted users should be included when the provider supports that distinction.
1 supported
Maximum number of records to return.
2 supported
Pagination cursor from the previous response.
1 supported
Day to retrieve OpenAI usage for, in YYYY-MM-DD format. Defaults to yesterday.
1 supported
Filter usage to a specific OpenAI user ID.
1 supported
Filter usage to a specific OpenAI API key ID.
1 supported
1 supported
1 supported
Show Truto-specific parameters
The ID of the integrated account to use for the request.
62f44730-dd91-461e-bd6a-aedd9e0ad79dThe format of the response.
unifiedreturns the response with unified mappings applied.rawreturns the unprocessed, raw response from the remote API.normalizedapplies the unified mappings and returns the data in a normalized format.streamreturns the response as a stream, which is ideal for transmitting large datasets, files, or binary data. Using streaming mode helps to efficiently handle large payloads or real-time data flows without requiring the entire data to be buffered in memory.debugreturns the final unified result alongside raw remote fetch information. The response is an envelope containingresult(identical to unified mode output) anddebug(withrequestUrl,requestOptions,data,responseHeaders, and for list operations:nextCursor,isLooping,isEmptyResult,resultCount).debugisnullfor static responses or whentruto_skip_api_call=true.
Defaults to unified.
unifiedunifiedrawnormalizedstreamdebug
By default the result attribute is an array of objects. This parameter allows you to specify a field in each result objects to use as key, which transforms the result array into an object with the array items keyed by the field. This is useful for when you want to use the result as a lookup table.
idIgnores the limit query parameter.
Excludes the remote_data attribute from the response.
Array of fields to exclude from the response.
truto_exclude_fields[]=id&truto_exclude_fields[]=nameQuery parameters to pass to the underlying API without any transformations. Refer this guide to see how to structure the query parameters.
remote_query[foo]=barResponse Body
Present only when truto_response_format=debug. Contains raw fetch details: requestUrl, requestOptions, data, responseHeaders, nextCursor, isLooping, isEmptyResult, resultCount. null for static responses or when truto_skip_api_call=true.
The cursor to use for the next page of results. Pass this value as next_cursor in the query parameter in the next request to get the next page of results.
List of Usage
Unique identifier for the usage.
5 supported
The amounts charged for the usage.
3 supported
3 properties
The amount charged for the usage.
The currency in which the charge is made.
The type of charge.
totalneton_demandcommittedincludedusage_baseddiscounttaxcreditplatform_fee
Date and time when the usage data metric was created.
1 supported
The end date for the usage data.
5 supported
Name of the metric being charged for
5 supported
AI model for the row when applicable. Omit for non-AI vendors.
3 supported
2 properties
Model identifier (e.g. claude-sonnet-4-6, gpt-5).
Provider hosting the model (e.g. anthropic, openai, cursor).
The organization associated with the usage.
2 supported
2 properties
Unique identifier for the organization.
Name of the organization.
The product associated with the usage.
5 supported
2 properties
Unique identifier for the product.
Name of the product.
Raw data returned from the remote API call.
3 supported
3 properties
Unique identifier for the resource.
Name of the resource.
The resource is present in this workspace.
2 properties
Unique identifier for the workspace.
Name of the workspace.
The start date for the usage data.
5 supported
Specific product surface for this row when the source exposes a single surface, such as chat, claude_code, cowork, office_agent, composer, or api. Omit when the row is aggregate and no per-surface split exists.
1 supported
Date and time when the usage data metric was last updated.
The usage data for the product.
4 supported
9 properties
3 properties
11 properties
2 properties
Per-tool accept/reject counts (e.g. Claude Code).
6 properties
Generic quantity (e.g. Confluent).
11 properties
Inline edit (e.g. Cursor Cmd+K).
2 properties
Cowork / background dispatch turns.
7 properties
6 properties
Unit for quantity (e.g. GB, request, hour).
User attributed to the usage row when the vendor exposes a user pivot. Omit for org-level or aggregated rows.
3 supported
3 properties
Primary email of the user.
Unique identifier for the user in the source application.
Display name of the user.
truto unified usage-metering usage \
-a '<integrated_account_id>' \
-o jsonimport Truto from '@truto/truto-ts-sdk';
const truto = new Truto({
token: '<your_api_token>',
});
const result = await truto.unifiedApi.list(
'usage-metering',
'usage',
{ integrated_account_id: '<integrated_account_id>' }
);
console.log(result);import asyncio
from truto_python_sdk import TrutoApi
truto_api = TrutoApi(token="<your_api_token>")
async def main():
async for item in truto_api.unified_api.list(
"usage-metering",
"usage",
{"integrated_account_id": "<integrated_account_id>"}
):
print(item)
asyncio.run(main())curl -X GET 'https://api.truto.one/unified/usage-metering/usage?integrated_account_id=<integrated_account_id>' \
-H 'Authorization: Bearer <your_api_token>' \
-H 'Content-Type: application/json'const integratedAccountId = '<integrated_account_id>';
const response = await fetch(`https://api.truto.one/unified/usage-metering/usage?integrated_account_id=${integratedAccountId}`, {
method: 'GET',
headers: {
'Authorization': 'Bearer <your_api_token>',
'Content-Type': 'application/json',
},
});
const data = await response.json();
console.log(data);import requests
url = "https://api.truto.one/unified/usage-metering/usage"
headers = {
"Authorization": "Bearer <your_api_token>",
"Content-Type": "application/json",
}
params = {
"integrated_account_id": "<integrated_account_id>"
}
response = requests.get(url, headers=headers, params=params)
print(response.json())