Docs·Sessions
GET
/api/v1/event/analytics/web-analytics/sessions/:sessionId/eventsList a session's events
The page views and events of one session in the order they happened, oldest first and paged: the session's Timeline. Session ends are left out. It takes no date range, and an unknown session returns an empty list.
Keys: an account key. Getting started explains both kinds.
Parameters
| Prop | In | Type | Notes |
|---|---|---|---|
sessionId | path | string | The session id, as id on a session row or sessionId on an event. |
contactListId | query | string | The id of the audience (the tracked site) to read, a UUID: anything else returns a 400. You must be a member of the workspace the audience belongs to, or the call returns a 401. An id that matches no audience is not an error: the call returns no data. |
page | query | number | Page number, starting at 0. |
pageSize | query | number | Rows per page. |
Response
| Prop | Type | Notes |
|---|---|---|
content | VisitorActivityItem[] | One item per page view or event, oldest first. |
size | number | The pageSize you asked for. |
page | number | The page you asked for, counted from 0. |
totalItems | number | Rows across all pages. |
totalPages | number | totalItems divided by size, rounded up. |
Each item in content
| Prop | Type | Notes |
|---|---|---|
type | ``pageview` \ | `event`` |
label | string | The page path for a page view; for an event, its name, or its type when it has no name. |
timestamp | string | When it happened, in UTC to the second, such as 2026-09-30T14:03:12Z. |
parameters | Record_string.string_ | The event's properties, as keys with string values. Left out on page views and on events without properties. On payments, revenueReportingAmount and reportingCurrency give the amount in the audience's current reporting currency. |
Request
curl 'https://app.spreelytics.com/api/v1/event/analytics/web-analytics/sessions/:sessionId/events?contactListId=…&page=…&pageSize=…' \
-H 'Authorization: Bearer YOUR_API_KEY'
const url = new URL('https://app.spreelytics.com/api/v1/event/analytics/web-analytics/sessions/:sessionId/events');
url.searchParams.set('contactListId', '…');
url.searchParams.set('page', '…');
url.searchParams.set('pageSize', '…');
const res = await fetch(url, {
headers: { Authorization: 'Bearer YOUR_API_KEY' },
});
const data = await res.json();
import requests
res = requests.get(
"https://app.spreelytics.com/api/v1/event/analytics/web-analytics/sessions/:sessionId/events",
headers={"Authorization": "Bearer YOUR_API_KEY"},
params={"contactListId": "…", "page": "…", "pageSize": "…"},
)
data = res.json()
Response
{
"content": [
{
"type": "pageview",
"label": "string",
"timestamp": "string",
"parameters": {}
}
],
"size": 0,
"page": 0,
"totalItems": 0,
"totalPages": 0
}