Get a session timeline (LLM-ready)
Return a compact, chronological timeline of the session — the AI-summarization view, NOT the raw rrweb stream. Turns the event stream into an ordered sequence of meaningful steps (page journey, dwell time, form submissions, field inputs, identify, and custom events). Replay heartbeat/start markers, engagement pings, and web vitals are dropped. Contains no PII — form and input values are excluded, only field metadata. sessionId must be a UUIDv7 (all recording session ids are). Feed data to a model to summarize what the visitor did and where they dropped off.
curl -X GET "https://mythic-analytics.gulp.workers.dev/client/v1/data/replays/example_string/timeline?location_id=example_string&limit=500" \
-H "Content-Type: application/json" \
-H "X-Location-Id: example_string" \
-H "Authorization: Bearer YOUR_API_TOKEN"
import requests
import json
url = "https://mythic-analytics.gulp.workers.dev/client/v1/data/replays/example_string/timeline?location_id=example_string&limit=500"
headers = {
"Content-Type": "application/json",
"X-Location-Id": "example_string",
"Authorization": "Bearer YOUR_API_TOKEN"
}
response = requests.get(url, headers=headers)
print(response.json())
const response = await fetch("https://mythic-analytics.gulp.workers.dev/client/v1/data/replays/example_string/timeline?location_id=example_string&limit=500", {
method: "GET",
headers: {
"Content-Type": "application/json",
"X-Location-Id": "example_string",
"Authorization": "Bearer YOUR_API_TOKEN"
}
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
)
func main() {
req, err := http.NewRequest("GET", "https://mythic-analytics.gulp.workers.dev/client/v1/data/replays/example_string/timeline?location_id=example_string&limit=500", nil)
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("X-Location-Id", "example_string")
req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://mythic-analytics.gulp.workers.dev/client/v1/data/replays/example_string/timeline?location_id=example_string&limit=500')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['Content-Type'] = 'application/json'
request['X-Location-Id'] = 'example_string'
request['Authorization'] = 'Bearer YOUR_API_TOKEN'
response = http.request(request)
puts response.body
{
"success": true,
"rows": 42,
"truncated": true,
"data": [
{
"t": "example_string",
"seconds_from_start": 42,
"event": "$pageview",
"path": "example_string",
"detail": "example_string"
}
]
}
{
"error": "Unauthorized",
"message": "Authentication required. Please provide a valid API token",
"code": 401
}
{
"error": "Forbidden",
"message": "You don't have permission to access this resource",
"code": 403
}
/replays/{sessionId}/timelineTarget server for requests. Edit to use your own host.
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.
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.
The session id from the list endpoint.
Alternative to the X-Location-Id header for agency (ak_) keys. Ignored for secret (sk_) keys.
Max timeline rows (1–2000).
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
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.
Path Parameters
The session id from the list endpoint.
Query Parameters
Alternative to the X-Location-Id header for agency (ak_) keys. Ignored for secret (sk_) keys.
Max timeline rows (1–2000).
Headers
Location to scope the request to. Required for agency (ak_) keys. Ignored for secret (sk_) keys, which resolve their own location.
Responses
True when the row cap was hit; the most-recent rows (the session outcome) are kept and earlier rows dropped.