Query your LLM costs broken down by a specific association property. This helps you understand how costs are distributed across different values of a property (e.g., by user_id, session_id, or any other association property you track).
Request Parameters
The name of the association property to group costs by (e.g., “user_id”, “session_id”).
The start time in ISO 8601 format (e.g., “2025-04-15T00:00:00Z”).
The end time in ISO 8601 format (e.g., “2025-04-28T23:00:00Z”).
List of environments to include in the calculation. Separated by comma.
NEW Filter costs by specific token types. Separate multiple types with commas.Supported token types:
input_tokens or prompt_tokens (automatically normalized to prompt_tokens)
output_tokens or completion_tokens (automatically normalized to completion_tokens)
cache_read_input_tokens
cache_creation_input_tokens
- Other token types as they appear in your data
Note: total_tokens cannot be used as a filter.Examples:
selected_token_types=input_tokens,output_tokens
selected_token_types=prompt_tokens,cache_read_input_tokens
selected_token_types=completion_tokens
When this parameter is omitted, costs for all token types are included.
Response
The name of the property that was queried.
A list of property values and their associated costs.
The total cost across all property values.
{
"property_name": "session_id",
"values": [
{
"value": "session_21",
"cost": 1.23
},
{
"value": "session_5",
"cost": 4.56
},
{
"value": "No_Value",
"cost": 0.78
}
],
"total_cost": 6.57
}
The API can return special values:
"No_Association" as property_name if no spans have the requested association properties
"No_Value" as a value for spans that don’t have a value for the specified property
"Unknown_Value" for spans where the property exists but has an empty value