Skip to content

List user sessions for a RUM application.

GET
/rum/{app_id}/sessions
curl --request GET \
--url https://api.siteqwality.com/rum/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/sessions \
--header 'Authorization: Bearer <token>'
app_id
required
string format: uuid

RUM application identifier

Sessions

Media type application/json
object
sessions
required
Array<object>
object
session_id
required
string
user_id
string | null
user_email
string | null
browser
required
string
os
required
string
country
required
string
device_type
required
string
first_seen
required
string
last_seen
required
string
view_count
required
integer format: int64
error_count
required
integer format: int64
rage_click_count
required

Frustration signals the SDK detects on click actions and stores in rum_events.frustration. Always present, never null: a session with none reports 0.

serde(default) is deserialization-side robustness only, so a ClickHouse row missing the key cannot make parse_lines drop the whole session (it swallows parse errors with filter_map(...ok())). The serializer always emits these, so schema(required = true) keeps the generated OpenAPI honest: without it utoipa infers optional from the serde default and the published contract disagrees with the real one, while the sibling view_count / error_count stay required.

integer format: int64
dead_click_count
required
integer format: int64
error_click_count
required
integer format: int64
action_count
required

Total user actions in the session, summed from rum_measures.

Reads 0 for every session recorded so far: the browser SDK hardcodes action_count: 0 on the measures it emits. See the caveat on build_rum_sessions_list_query in common/src/db/rum_analytics.rs. Not rendered anywhere in the dashboard for that reason.

integer format: int64
has_replay
required
boolean
total
required
integer format: int64
Example generated
{
"sessions": [
{
"session_id": "example",
"user_id": "example",
"user_email": "example",
"browser": "example",
"os": "example",
"country": "example",
"device_type": "example",
"first_seen": "example",
"last_seen": "example",
"view_count": 1,
"error_count": 1,
"rage_click_count": 1,
"dead_click_count": 1,
"error_click_count": 1,
"action_count": 1,
"has_replay": true
}
],
"total": 1
}

Missing or invalid authentication

Internal server error