{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/rtcstats/main/json-schema/rtcstats-sessions-list-response-schema.json",
"title": "SessionsListResponse",
"x-generated": "2026-09-28",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/rtcstats-rtcstats-api-api-openapi.yml#/components/schemas/SessionsListResponse",
"type": "object",
"required": [
"total",
"data"
],
"properties": {
"total": {
"type": "integer",
"minimum": 0,
"description": "Number of sessions in data."
},
"data": {
"type": "array",
"items": {
"$ref": "#/$defs/SessionListItem"
}
}
},
"$defs": {
"SessionAbstract": {
"type": "object",
"description": "Denormalized session summary returned alongside each session in the list so clients can render badges or compute their own filters without a second call. observationTypes matches the observationTypes filter input. Every property is always present.",
"required": [
"observationTypes",
"observationTags",
"browser",
"browserVersion",
"os",
"osVersion",
"conferenceId",
"sessionId",
"userId",
"experienceScore",
"connectivity",
"observationsCritical",
"observationsHigh",
"observationsMedium",
"scoreBand"
],
"properties": {
"observationTypes": {
"type": "array",
"items": {
"type": "string"
},
"description": "Unique observation type names with severity critical/high/medium."
},
"observationTags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Unique tags carried by critical/high/medium observations only."
},
"browser": {
"type": [
"string",
"null"
]
},
"browserVersion": {
"type": [
"string",
"null"
],
"description": "Major browser version only (e.g. 142)."
},
"os": {
"type": [
"string",
"null"
]
},
"osVersion": {
"type": [
"string",
"null"
]
},
"conferenceId": {
"type": [
"string",
"null"
]
},
"sessionId": {
"type": [
"string",
"null"
]
},
"userId": {
"type": [
"string",
"null"
]
},
"experienceScore": {
"type": [
"number",
"null"
]
},
"connectivity": {
"type": [
"string",
"null"
]
},
"observationsCritical": {
"type": "integer",
"minimum": 0
},
"observationsHigh": {
"type": "integer",
"minimum": 0
},
"observationsMedium": {
"type": "integer",
"minimum": 0
},
"scoreBand": {
"type": "string",
"enum": [
"low",
"medium",
"high",
"unrated"
],
"description": "Experience-score band: high (>= 80), medium (60..79), low (< 60), or unrated when there is no score."
}
}
},
"SessionListItem": {
"type": "object",
"required": [
"rtcstatsId",
"createdAt",
"sessionStart",
"sessionEnd",
"title",
"rtcstatsUrl",
"abstract"
],
"properties": {
"rtcstatsId": {
"type": "string",
"format": "uuid"
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "When the session row was created."
},
"sessionStart": {
"type": [
"string",
"null"
],
"description": "Call start from summary when available."
},
"sessionEnd": {
"type": [
"string",
"null"
],
"description": "Call end from summary when available."
},
"title": {
"type": "string"
},
"rtcstatsUrl": {
"type": "string",
"description": "Dashboard URL to open the rtcstats session."
},
"embedUrl": {
"type": "string",
"description": "URL to open the session in the embedded viewer. Only present on the Enterprise plan."
},
"abstract": {
"allOf": [
{
"$ref": "#/$defs/SessionAbstract"
}
],
"description": "Denormalized session summary used to drive the list filters. null for rows that have not been indexed yet."
}
}
}
}
}