---
title: "Get experiment metric snapshots"
method: GET
path: "/experiments/{id}/snapshots"
---

# Get experiment metric snapshots

`GET /experiments/{id}/snapshots`

Retrieve the cumulative experiment results captured by the
`clickhouse:snapshot_experiment_metrics` scheduled job. Each snapshot stores
the running value of every metric (`users`, `subscribe`,
`conversion_to_subscribe`, etc.) for every variant at the moment of capture
together with statistical-significance fields (`p_value`, `effect_size`,
absolute/relative deltas and confidence intervals).

The response groups rows by `period_index` -> `variants[]` -> `metrics{}` by
default so it can be plotted directly. Pass `format=flat` to receive raw
ClickHouse rows instead. Use `latest=true` to fetch only the most recent
snapshot. Filter by `metric`, `variant_index`, `strict_experiment_filter`,
and the `period_from` / `period_to` window when needed.

## Path parameters

- `id` integer, required

## Query parameters

- `metric` union
  - 'users' | 'started_quiz' | 'paywall_views' | 'initiate_checkout' | 'subscribe' | 'conversion_open_to_start_quiz' | 'conversion_to_complete_registration' | 'conversion_to_initiate_checkout' | 'conversion_to_subscribe' | 'view_to_buy' | 'arpu' | 'arppu'
  - string[]
- `variant_index` integer
- `strict_experiment_filter` 0 | 1
- `period_from` string, date-time
- `period_to` string, date-time
- `latest` boolean
- `format` 'grouped' | 'flat'

## Headers

- `api_key` string, required

## Response `200`

Experiment snapshots retrieved successfully

- object
  - `success` integer
  - `experiment_id` integer
  - `experiment_name` string
  - `experiment_slug` string
  - `available_metrics` string[] — Metrics that the snapshot job records for every experiment.
  - `variants` object[] — Experiment variants configured at the moment of the request.
    - `variant_index` integer
    - `name` string, nullable
    - `model_id` integer, nullable
    - `percent` number, nullable
  - `filters` object — Echo of the filters that were applied to the result.
    - `metric` string[], nullable
    - `variant_index` integer, nullable
    - `strict_experiment_filter` 0 | 1, nullable
    - `period_from` string, nullable
    - `period_to` string, nullable
    - `latest` boolean
  - `snapshots` union — When `format=grouped` (default) — an array of snapshot buckets grouped by `period_index` and `strict_experiment_filter`. When `format=flat` — a flat array of raw snapshot rows as stored in ClickHouse.
    - ExperimentSnapshotBucket[]
      - `period_index` integer — 1-based index of the snapshot in the experiment history.
      - `period_start` string, date-time — Start of the period covered by this snapshot (usually the experiment `start_at`).
      - `period_end` string, date-time — End of the period covered by this snapshot (the moment the snapshot was captured).
      - `snapshot_at` string, date-time — Exact ClickHouse insert moment for this snapshot.
      - `strict_experiment_filter` 0 | 1 — `1` excludes users who participated in more than one experiment simultaneously, `0` keeps them.
      - `variants` object[] — Per-variant metric values captured at this period.
        - `variant_index` integer
        - `variant_name` string
        - `metrics` object — Map of metric name to its snapshot record.
    - ExperimentSnapshotRow[]
      - `period_index` integer
      - `period_start` string, date-time
      - `period_end` string, date-time
      - `snapshot_at` string, date-time
      - `variant_index` integer
      - `variant_name` string
      - `metric_name` string
      - `strict_experiment_filter` 0 | 1
      - `value` number, float, nullable
      - `p_value` number, float, nullable
      - `effect_size` number, float, nullable
      - `abs_diff` number, float, nullable
      - `rel_diff` number, float, nullable
      - `ci_low` number, float, nullable
      - `ci_high` number, float, nullable

## Other responses

- `404` — Experiment not found in current project
- `422` — Validation error
- `500` — Failed to read snapshots from ClickHouse

---

[API](https://skmtc.net/web2wave/apis/web2wave-api.md) · [All operations](https://skmtc.net/web2wave/apis/web2wave-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/web2wave/web2wave-api/versions/c88545119271/schema)
