Request Analytics
Behavior Notes
- The response is an aggregated payload, not a paginated list of rows.
- Bucket size is selected automatically based on the filtered time range.
sort_byandsort_orderare accepted for query compatibility but do not affect aggregated output.
Related
Authorizations
Body
Canonical request-log query payload — the filter / search / sort fields shared by POST /api/public/v2/requests/search (which also accepts pagination + include_prompt_name) and POST /api/public/v2/requests/analytics.
Nested filter group with AND/OR logic. Use this for complex queries.
Free-text search query. Searches across the prompt input and LLM output text using fuzzy prefix matching.
Field to sort results by. Does not affect aggregated output for /requests/analytics.
request_start_time, input_tokens, output_tokens, cost, latency_ms, status Sort direction. Must be provided together with sort_by.
asc, desc When provided, the analytics response includes a metadataValueBreakdown array with cost and request counts for each value of this metadata key. Omit or pass null to get an aggregate breakdown across the top metadata keys.
Response
Aggregated analytics for the matching request logs.
Aggregated analytics across the matching request logs. Bucket size is selected automatically based on the filter time range (seconds → minutes → hours → days).
true Bucket-interval metadata describing how the time-series was bucketed.
Overall average latency across all matching requests, in seconds.
totalCachedTokens / total_input_tokens, or null when there are no input tokens.
Per-bucket time-series.
List of [modelName, requestCount] pairs ordered by usage.
Map of model name → list of [date, requestCount] pairs.
Per-bucket latency percentiles in seconds. Keys are bucket dates (e.g. 2025-03-15); values are seconds.
Cost and request count breakdown by metadata key-value pairs. When metadata_cost_breakdown_key is set in the request, all entries share that key and the label equals the value. Otherwise entries span the top key-value combinations and label is key = value. Ordered by cost descending; up to 50 entries.

