List Usage
/unified/usage-metering/usage
Query Parameters
Refer Specifying query parameters in Truto APIs
2 supported2 notes
Date for which to retrieve records, in YYYY-MM-DD format. If omitted, the date from 3 days ago is used by default.
Day to retrieve OpenAI usage for, in YYYY-MM-DD format. Defaults to yesterday.
The start date for the usage data.
4 supported4 notes
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.
Filter usage to a specific OpenAI user ID.
1 supported
The end date for the usage data.
3 supported3 notes
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.
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.
2 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.
The end date for the usage data.
5 supported
Name of the metric being charged for
4 supported
AI model for the row when applicable. Omit for non-AI vendors.
2 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.
2 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.
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())