Hourly tool distribution
Tool execution counts grouped by hour of day (0-23 UTC).
Tool execution counts grouped by hour of day (0-23 UTC).
ApiKeyAuthAuthorizationBearer <token>Bearer token authentication. Send an API key (a saai_api_-prefixed token) as Authorization: Bearer <token>.
Required permission
view_tool_analyticsstart_time*stringStart of the time range to report on, inclusive.
date-timeend_time*stringEnd of the time range to report on, exclusive.
date-timeagent_instance_id?array<>Filter to specific agent instances by id.
agent_slug?array<string>Filter to agents by slug, the agent type such as claude-code.
mcp_id?array<>Filter to specific MCP servers by id.
tool_name?array<string>Filter to specific tool names.
user_id?array<>Filter to specific users by id.
user_group?array<string>Filter to users in specific groups.
agent_tag_id?array<>Filter to agent instances carrying specific tags.
resource_tag_id?array<>Filter to MCP servers carrying specific tags.
The request has succeeded.
application/json- response
Tool executions grouped by hour of day (0-23 UTC).
items*array<>One entry per hour of day with a nonzero count.
curl -X GET "https://example.com/analytics/hourly-distribution?start_time=2019-08-24T14%3A15%3A22Z&end_time=2019-08-24T14%3A15%3A22Z"{ "items": [ { "hour": 0, "count": 0 } ]}Event breakdown by action GET
Audit event breakdown by action type.
LLM cost by group GET
Cost per user group over a time range, alongside how much of each group's seats are in use. A user who belongs to several groups has their cost split evenly across them, so group rows always sum to the org total. Usage from users with no group is returned in an Unassigned ("") row, which cannot be filtered to. Filtering by group narrows the split as well as the rows: only the selected groups come back, each charged its members' whole cost, and the rows still sum to the filtered total. Filters are limited to provider and user_group; for one person's cost, filter the per-user endpoints by user_id.