Skip to main content
List, play back, and delete session replays — recorded rrweb event streams of a visitor’s session — for one of the current team’s sites. A site is addressed by {siteKey} (UUID or domain). All endpoints require Authorization: Bearer {token}. See Conventions for the base URL, headers, and date-range conventions shared by every endpoint. A session only appears in this API once it has a full rrweb snapshot and at least 2 recorded events — a single-event session has nothing worth playing back.

List replays

Paginated — the standard data/meta/links envelope (see Response envelope), at a fixed internal page size of 20. Advance with ?page=; there is no per_page parameter for this endpoint. Path parameters Query parameters Only a subset of the shared dashboard filters apply to this list, because replay metadata only carries a session’s last-seen dimensions: path (substring match on the recorded page URL), country, browser, os, and device/size. Any other filter key (e.g. referrer, goal) is silently ignored here. Response — each item in data: Status: 200 OK.

Get a replay

Metadata plus the full hydrated rrweb event stream for one session’s player. Path parameters Response — a flat object: Status: 200 OK. A foreign/unknown sessionId returns 404 Not Found.

Delete a replay

Permanently delete a session replay — its recorded event blobs and all ClickHouse rows. Cannot be undone; there is no soft-delete or TTL for replays. Path parameters Status: 204 No Content. A foreign/unknown sessionId returns 404 Not Found.

Enable session replay

Route name: api.sites.replays.enable. Turns on track_session_replay for the site so the tracker starts recording new sessions. This is the only replay-specific enable toggle; see Tracking configuration for the Web Vitals and error-tracking equivalents and for the response fields shared by all three. Response — the updated site (SiteResource, same shape as Sites, including track_session_replay: true). Status: 200 OK.