---
title: "Get a coherent SQLite analytics snapshot"
method: GET
path: "/api/ui/analytics"
tags: ["web-ui"]
---

# Get a coherent SQLite analytics snapshot

`GET /api/ui/analytics`

## Query parameters

- `since` string — Inclusive RFC 3339 finished-at bound; omit with an explicit until for all time
- `until` string — Exclusive RFC 3339 finished-at bound
- `project` string[], nullable — Exact displayed project names (repeatable)
- `source` string[], nullable — Exact stored source values (repeatable)
- `agent` string — Exact agent filter for attempt metrics
- `model` string — Exact model filter for attempt metrics
- `bucket` string — UTC time bucket: hour, day, week, or month

## Response `200`

OK

- AnalyticsSnapshot
  - `$schema` string, uri — A URL to the JSON Schema for this object.
  - `agents` AnalyticsDimensionRow[], nullable, required
    - `attempts` AnalyticsAttemptStats, required
      - `duration` AnalyticsPercentiles, required
        - `p50_secs` number, double, required
        - `p90_secs` number, double, required
        - `p99_secs` number, double, required
      - `eligible` integer, required
    - `cost` AnalyticsCostStats, required
      - `complete` boolean, required
      - `coverage` number, double, required
      - `eligible_attempts` integer, required
      - `priced_attempts` integer, required
      - `total_usd` number, double, required
    - `review_latency` AnalyticsPercentiles, required
      - `p50_secs` number, double, required
      - `p90_secs` number, double, required
      - `p99_secs` number, double, required
    - `reviews` AnalyticsReviewStats, required
      - `canceled` integer, required
      - `done` integer, required
      - `failed` integer, required
      - `failure_rate` number, double, required
      - `run_error_rate` number, double, required
      - `run_errors` integer, required
      - `skipped` integer, required
      - `total` integer, required
    - `value` string, required
    - `verdicts` AnalyticsVerdictStats, required
      - `fail_closed` integer, required
      - `fail_open` integer, required
      - `failure_rate` number, double, required
      - `passed` integer, required
      - `rated` integer, required
  - `filters` AnalyticsFilters, required
    - `agents` string[], nullable, required
    - `bucket` string, required
    - `models` string[], nullable, required
    - `projects` string[], nullable, required
    - `since` string, date-time
    - `sources` string[], nullable, required
    - `until` string, date-time, required
  - `models` AnalyticsDimensionRow[], nullable, required
    - `attempts` AnalyticsAttemptStats, required
      - `duration` AnalyticsPercentiles, required
        - `p50_secs` number, double, required
        - `p90_secs` number, double, required
        - `p99_secs` number, double, required
      - `eligible` integer, required
    - `cost` AnalyticsCostStats, required
      - `complete` boolean, required
      - `coverage` number, double, required
      - `eligible_attempts` integer, required
      - `priced_attempts` integer, required
      - `total_usd` number, double, required
    - `review_latency` AnalyticsPercentiles, required
      - `p50_secs` number, double, required
      - `p90_secs` number, double, required
      - `p99_secs` number, double, required
    - `reviews` AnalyticsReviewStats, required
      - `canceled` integer, required
      - `done` integer, required
      - `failed` integer, required
      - `failure_rate` number, double, required
      - `run_error_rate` number, double, required
      - `run_errors` integer, required
      - `skipped` integer, required
      - `total` integer, required
    - `value` string, required
    - `verdicts` AnalyticsVerdictStats, required
      - `fail_closed` integer, required
      - `fail_open` integer, required
      - `failure_rate` number, double, required
      - `passed` integer, required
      - `rated` integer, required
  - `options` AnalyticsFilterOptions, required
    - `agents` string[], nullable, required
    - `models` string[], nullable, required
    - `projects` string[], nullable, required
    - `sources` string[], nullable, required
  - `projects` AnalyticsProjectRow[], nullable, required
    - `attempts` AnalyticsAttemptStats, required
      - `duration` AnalyticsPercentiles, required
        - `p50_secs` number, double, required
        - `p90_secs` number, double, required
        - `p99_secs` number, double, required
      - `eligible` integer, required
    - `cost` AnalyticsCostStats, required
      - `complete` boolean, required
      - `coverage` number, double, required
      - `eligible_attempts` integer, required
      - `priced_attempts` integer, required
      - `total_usd` number, double, required
    - `project` string, required
    - `review_latency` AnalyticsPercentiles, required
      - `p50_secs` number, double, required
      - `p90_secs` number, double, required
      - `p99_secs` number, double, required
    - `reviews` AnalyticsReviewStats, required
      - `canceled` integer, required
      - `done` integer, required
      - `failed` integer, required
      - `failure_rate` number, double, required
      - `run_error_rate` number, double, required
      - `run_errors` integer, required
      - `skipped` integer, required
      - `total` integer, required
    - `verdicts` AnalyticsVerdictStats, required
      - `fail_closed` integer, required
      - `fail_open` integer, required
      - `failure_rate` number, double, required
      - `passed` integer, required
      - `rated` integer, required
  - `schema_version` integer, required
  - `sources` AnalyticsDimensionRow[], nullable, required
    - `attempts` AnalyticsAttemptStats, required
      - `duration` AnalyticsPercentiles, required
        - `p50_secs` number, double, required
        - `p90_secs` number, double, required
        - `p99_secs` number, double, required
      - `eligible` integer, required
    - `cost` AnalyticsCostStats, required
      - `complete` boolean, required
      - `coverage` number, double, required
      - `eligible_attempts` integer, required
      - `priced_attempts` integer, required
      - `total_usd` number, double, required
    - `review_latency` AnalyticsPercentiles, required
      - `p50_secs` number, double, required
      - `p90_secs` number, double, required
      - `p99_secs` number, double, required
    - `reviews` AnalyticsReviewStats, required
      - `canceled` integer, required
      - `done` integer, required
      - `failed` integer, required
      - `failure_rate` number, double, required
      - `run_error_rate` number, double, required
      - `run_errors` integer, required
      - `skipped` integer, required
      - `total` integer, required
    - `value` string, required
    - `verdicts` AnalyticsVerdictStats, required
      - `fail_closed` integer, required
      - `fail_open` integer, required
      - `failure_rate` number, double, required
      - `passed` integer, required
      - `rated` integer, required
  - `summary` AnalyticsSummary, required
    - `attempts` AnalyticsAttemptStats, required
      - `duration` AnalyticsPercentiles, required
        - `p50_secs` number, double, required
        - `p90_secs` number, double, required
        - `p99_secs` number, double, required
      - `eligible` integer, required
    - `cost` AnalyticsCostStats, required
      - `complete` boolean, required
      - `coverage` number, double, required
      - `eligible_attempts` integer, required
      - `priced_attempts` integer, required
      - `total_usd` number, double, required
    - `review_latency` AnalyticsPercentiles, required
      - `p50_secs` number, double, required
      - `p90_secs` number, double, required
      - `p99_secs` number, double, required
    - `reviews` AnalyticsReviewStats, required
      - `canceled` integer, required
      - `done` integer, required
      - `failed` integer, required
      - `failure_rate` number, double, required
      - `run_error_rate` number, double, required
      - `run_errors` integer, required
      - `skipped` integer, required
      - `total` integer, required
    - `verdicts` AnalyticsVerdictStats, required
      - `fail_closed` integer, required
      - `fail_open` integer, required
      - `failure_rate` number, double, required
      - `passed` integer, required
      - `rated` integer, required
  - `time_series` AnalyticsTimeBucket[], nullable, required
    - `attempts` AnalyticsAttemptStats, required
      - `duration` AnalyticsPercentiles, required
        - `p50_secs` number, double, required
        - `p90_secs` number, double, required
        - `p99_secs` number, double, required
      - `eligible` integer, required
    - `cost` AnalyticsCostStats, required
      - `complete` boolean, required
      - `coverage` number, double, required
      - `eligible_attempts` integer, required
      - `priced_attempts` integer, required
      - `total_usd` number, double, required
    - `end` string, date-time, required
    - `review_latency` AnalyticsPercentiles, required
      - `p50_secs` number, double, required
      - `p90_secs` number, double, required
      - `p99_secs` number, double, required
    - `reviews` AnalyticsReviewStats, required
      - `canceled` integer, required
      - `done` integer, required
      - `failed` integer, required
      - `failure_rate` number, double, required
      - `run_error_rate` number, double, required
      - `run_errors` integer, required
      - `skipped` integer, required
      - `total` integer, required
    - `start` string, date-time, required
    - `verdicts` AnalyticsVerdictStats, required
      - `fail_closed` integer, required
      - `fail_open` integer, required
      - `failure_rate` number, double, required
      - `passed` integer, required
      - `rated` integer, required

## Other responses

- `default` — Error

## Changes

- **2026-08-16** `da030fad394f` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/kenn-io/apis/roborev/changes/api/ui/analytics/get.md)

---

[API](https://skmtc.dev/kenn-io/apis/roborev.md) · [All operations](https://skmtc.dev/kenn-io/apis/roborev/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/kenn-io/roborev/revisions/0dfdca81e88d/schema)
