Get Run Analysis Endpoint
GET/runs/:run_id/analysis
Return pre-aggregated scorer statistics and histograms for a completed run.
Provides per-scorer mean, percentiles, and 10-bucket score distributions. Designed to drive the UI output analysis view (histograms, metric table, failure threshold counts). For row-level data use GET /runs/{id}/results.
Optional group_by accepts an embedded categorical column (e.g.
scenario) or a qualified dataset dimension ID (e.g.
declared:scenario or derived:image_properties.brightness) and adds
group_stats to the response for breakdown views. Qualified dimensions
also return join coverage. Derived callers may pin
expected_definition_version; stale definitions return a structured 409.
dimension_columns lists only grouping columns embedded in the run
artifact. Discover qualified IDs through
GET /datasets/{dataset_id}/versions/{version_id}/dimensions.
Optional slice_metric requires group_by and names one supported
full-dataset metric result column. The metric is recomputed from the rows
inside each dimension group and returned in slice_results.
Optional classification_group requires group_by. The response keeps
run-level threshold and dimension clusters, but replaces per-class image
classification metric clusters with those from the selected group.
group_counts reports every group, including groups with no class
failures.
Registered class failure attribution remains part of the standard analysis
response. include_classification_failure_clusters additionally opts into
reconstructing failures across every embedded dimension. Both paths read
classification row payloads; the flag avoids the additional all-dimension
work for callers that do not render the full Failure clusters view.
A trace_metric_invoke run reports a DIFFERENT shape, because it can measure one metric at
several targets at once and a metric name alone then identifies nothing. Instead of the wide
path's scorer_stats/score_distribution/metric_metadata maps it returns series: one
entry per (metric, partition_type, partition_id) measurement, carrying its identity, its
stats, distribution, rollups, session_scopes and occurrence_count.
rollups holds session/system summaries derived from the stored verdicts, each naming the
reduction and version that produced it, and present only where the metric declares that
reduction admissible over that granularity — session_scopes lists the sessions regardless.
clusters and group_stats reference an entry by its opaque series_id. Pooling two measurements would
yield a mean weighted by trace shape rather than quality, which is why they are never merged.
Non-trace runs are entirely unaffected.
Returns 404 if the run does not exist, or if it has neither completed nor
failed with output already written.
Returns 422 if group_by is not a valid dimension column.
Returns 424 if a referenced dataset dimension's own data is currently unavailable and must be
recomputed.
Request
Responses
- 200
- 403
- 404
- 409
- 422
- 424
Successful Response
Forbidden
Not Found
Conflict
Unprocessable Entity
Failed Dependency