v

latestOpenAPI 3.1.0raw.githubusercontent.com2026-08-0926150111.7 MB
Reporting

Query reporting metrics

Returns time-series, scalar, and top-list analytics for AI usage, cost, latency, evaluator results, and guardrail outcomes. This API remains supported while the neutral telemetry envelope is proven against every reporting request shape.

post/v2/reporting

Request body

metric'genai.requests' | 'genai.tokens' | 'genai.cost' | 'genai.errors' | 'genai.error_rate' | 'genai.latency.p50' | 'genai.latency.p95' | 'genai.latency.p99' | 'genai.ttft.avg' | 'genai.ttft.p50' | 'genai.ttft.p95' | 'genai.evaluator.runs' | 'genai.evaluator.pass_rate' | 'genai.evaluator.score.avg' | 'genai.guardrail.runs' | 'genai.guardrail.block_rate' | 'genai.guardrail.triggered' | 'genai.usage' required

Catalogue metric to query.

fromstring date-time required

Inclusive lower bound for the report window (RFC 3339, UTC).

tostring date-time required

Exclusive upper bound for the report window (RFC 3339, UTC).

grain'auto' | 'minute' | 'hour' | 'day'

Requested bucket grain. Use auto or omit the field to let the server choose based on the requested range.

group_bystring[]

Reporting dimensions to break down by. Valid dimensions depend on the selected metric.

limitinteger

Maximum bucket rows returned. Defaults to 1000 and is capped at 5000.

time_zonestring

IANA time zone applied to bucket boundaries, for example America/New_York. Response timestamps remain UTC. Empty means UTC.

include_totalsboolean

When true, include a totals block aggregated across the full report window.

mode'timeseries' | 'scalar'

Value shaping. timeseries (default) buckets by time; scalar returns one aggregated row per group over the whole window, ordered by value (top list), or a single row when group_by is empty.

sort'desc' | 'asc'

Value ordering for scalar rows. Defaults to desc. Ignored for timeseries.

Response

OK

object'report'

Object discriminator for typed SDKs and JSON parsers; always report.

has_moreboolean

Pagination contract. Always populated; currently false because the server caps the response at limit instead of issuing cursors.