Session ReplaysList session replays

List session replays

List recorded sessions for the location, newest-first, within the 30-day retention window. Each row carries the session's full entry attribution (UTMs, landing page, referrer, device, geo — the same fields as GET /sessions in the Data API) plus identity, duration, and activity counters derived from the recording.

Filtering: accepts the same filters as GET /sessionsutm_source, utm_medium, utm_campaign, landing_page, device_type, browser, os, country, date_from/date_to, engaged, bounce, is_identified, min_duration — plus segment_id to scope to a saved segment's members:

GET /client/v1/data/replays?utm_source=Facebook&landing_page=/pricing

GET /client/v1/data/replays?segment_id=9f4e...&device_type=mobile

Recordings tab (person scoping): pass person_id (canonical id from the People API) or distinct_id (any raw identity value) to list one person's recordings, resolved through the identity graph — no more fetching the recent list and filtering client-side:

GET /client/v1/data/replays?person_id=019f69bc-...

curl -X GET "https://mythic-analytics.gulp.workers.dev/client/v1/data/replays?location_id=example_string&date_from=2024-12-25&date_to=2024-12-25&utm_source=example_string&utm_medium=example_string&utm_campaign=example_string&device_type=example_string&browser=example_string&os=example_string&country=USA&landing_page=example_string&engaged=true&bounce=true&is_identified=true&person_id=example_string&distinct_id=example_string&min_duration=42&segment_id=123e4567-e89b-12d3-a456-426614174000&limit=100&offset=0" \
  -H "Content-Type: application/json" \
  -H "X-Location-Id: example_string" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
{
  "success": true,
  "data": [
    {
      "session_id": "example_string",
      "started_at": "example_string",
      "person_id": "example_string",
      "distinct_id": "example_string",
      "url": "example_string",
      "landing_page": "example_string",
      "utm_source": "example_string",
      "utm_medium": "example_string",
      "utm_campaign": "example_string",
      "browser": "example_string",
      "device_type": "example_string",
      "duration_ms": 42,
      "clicks": 42,
      "keypresses": 42,
      "console_errors": 42,
      "network_count": 10
    }
  ],
  "cursor": "example_string"
}
GET
/replays
GET
Base URLstring

Target server for requests. Edit to use your own host.

Bearer Token
Bearer Tokenstring
Required

Agency key (ak_) or location secret key (sk_) as a bearer token. Format: Bearer ak_... or Bearer sk_.... Scoped keys (mcp_) are accepted too and need replays:read. See Using an mcp_ key over HTTP.

Agency key (ak_) or location secret key (sk_) as a bearer token. Format: Bearer ak_... or Bearer sk_.... Scoped keys (mcp_) are accepted too and need replays:read. See Using an mcp_ key over HTTP.
query
location_idstring

Alternative to the X-Location-Id header for agency (ak_) keys. Ignored for secret (sk_) keys.

query
date_fromstring

Start date (YYYY-MM-DD), on session start time.

Format: date
query
date_tostring

End date (YYYY-MM-DD).

Format: date
query
utm_sourcestring

Filter to sessions with this UTM source. Empty string = "no value set".

query
utm_mediumstring

Filter to sessions with this UTM medium.

query
utm_campaignstring

Filter to sessions with this UTM campaign.

query
device_typestring

Filter to sessions on this device type.

query
browserstring

Filter to sessions on this browser.

query
osstring

Filter to sessions on this operating system.

query
countrystring

Filter to sessions from this country (ISO code).

query
landing_pagestring

Filter to sessions whose entry path matches. Case-insensitive and trailing-slash-insensitive (/About/ matches /about). Query params never apply — the path is captured without them.

query
engagedboolean

Filter by engagement (1/0, or true/false).

query
bounceboolean

Filter by bounce (1/0, or true/false).

query
is_identifiedboolean

Filter to identified (1) or anonymous (0) sessions.

query
person_idstring

Scope to one person's recordings: the canonical person id from the People API. Matches every recorded session whose visitor id belongs to that person in the identity graph (anonymous ids, user ids, emails), so pre-identification recordings are included. Powers a profile view's Recordings tab. Composable with all other filters and the date window.

query
distinct_idstring

Scope to one person's recordings by any raw identity value (anonymous id, user id, or email), resolved through the identity graph to the owning person's full identity set. A value not in the graph (a never-identified visitor) falls back to an exact distinct_id match. Pass either this or person_id, not both (they AND together).

query
min_durationinteger

Minimum session duration in seconds.

query
segment_idstring

Scope results to members of a saved segment (created via the Segments API). The segment decides WHICH PEOPLE qualify (a live definition, evaluated at query time); the date window decides which of their recorded sessions are returned. Composable with all other filters. Unknown or foreign id → 404 segment_not_found.

Format: uuid
query
limitinteger

Max sessions to return (1–1000).

Max: 1000
query
offsetinteger

Row offset for pagination.

header
X-Location-Idstring

Location to scope the request to. Required for agency (ak_) keys. Ignored for secret (sk_) keys, which resolve their own location.

Request Preview
Response

Response will appear here after sending the request

Authentication

header
Authorizationstring
Required

Bearer token. Agency key (ak_) or location secret key (sk_) as a bearer token. Format: Bearer ak_... or Bearer sk_.... Scoped keys (mcp_) are accepted too and need replays:read. See Using an mcp_ key over HTTP.

Query Parameters

location_idstring

Alternative to the X-Location-Id header for agency (ak_) keys. Ignored for secret (sk_) keys.

date_fromstring

Start date (YYYY-MM-DD), on session start time.

date_tostring

End date (YYYY-MM-DD).

utm_sourcestring

Filter to sessions with this UTM source. Empty string = "no value set".

utm_mediumstring

Filter to sessions with this UTM medium.

utm_campaignstring

Filter to sessions with this UTM campaign.

device_typestring

Filter to sessions on this device type.

browserstring

Filter to sessions on this browser.

osstring

Filter to sessions on this operating system.

countrystring

Filter to sessions from this country (ISO code).

landing_pagestring

Filter to sessions whose entry path matches. Case-insensitive and trailing-slash-insensitive (/About/ matches /about). Query params never apply — the path is captured without them.

engagedboolean

Filter by engagement (1/0, or true/false).

bounceboolean

Filter by bounce (1/0, or true/false).

is_identifiedboolean

Filter to identified (1) or anonymous (0) sessions.

person_idstring

Scope to one person's recordings: the canonical person id from the People API. Matches every recorded session whose visitor id belongs to that person in the identity graph (anonymous ids, user ids, emails), so pre-identification recordings are included. Powers a profile view's Recordings tab. Composable with all other filters and the date window.

distinct_idstring

Scope to one person's recordings by any raw identity value (anonymous id, user id, or email), resolved through the identity graph to the owning person's full identity set. A value not in the graph (a never-identified visitor) falls back to an exact distinct_id match. Pass either this or person_id, not both (they AND together).

min_durationinteger

Minimum session duration in seconds.

segment_idstring

Scope results to members of a saved segment (created via the Segments API). The segment decides WHICH PEOPLE qualify (a live definition, evaluated at query time); the date window decides which of their recorded sessions are returned. Composable with all other filters. Unknown or foreign id → 404 segment_not_found.

limitinteger

Max sessions to return (1–1000).

offsetinteger

Row offset for pagination.

Headers

X-Location-Idstring

Location to scope the request to. Required for agency (ak_) keys. Ignored for secret (sk_) keys, which resolve their own location.

Responses

successboolean
dataarray
cursorstring

Reserved; currently always null (no pagination beyond the cap).