GET
/
api
/
v2
/
costs
/
by-association-property
curl --request GET \
  --url https://api.traceloop.com/api/v2/costs/by-association-property \
  --header 'Authorization: Bearer <token>'
{
  "property_name": "<string>",
  "values": [
    {}
  ],
  "total_cost": 123
}

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

property_name
string
required

The name of the association property to group costs by (e.g., “user_id”, “session_id”).

start_time
string
required

The start time in ISO 8601 format (e.g., “2025-04-15T00:00:00Z”).

end_time
string
required

The end time in ISO 8601 format (e.g., “2025-04-28T23:00:00Z”).

env
string

List of environments to include in the calculation. Separated by comma.

Response

property_name
string

The name of the property that was queried.

values
PropertyValue[]

A list of property values and their associated costs.

total_cost
number

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