Skip to main content
View as Markdown

Reports - User Profile

Reports​

The reports controller provides aggregate statistics over user profiles.

12.1 Event Data Statistics​

Get attendance and registration statistics grouped by dimensions.

POST /api/v1/reports/eventDataStats
Content-Type: application/json
Authorization: Bearer <KS>

This endpoint requires ANALYTICS_BASE or EP_USER_ANALYTICS permission (different from the ADMIN_BASE required by other endpoints).

{
"filter": {
"appGuidIn": ["app-guid-1", "app-guid-2"],
"attendanceStatusIn": ["attended", "participated"],
"regOriginIn": ["registration", "invite"]
},
"dimensions": ["attendanceStatus", "regOrigin"]
}
FieldTypeRequiredDescription
filter.appGuidInstring[]YesOne or more app GUIDs (at least one required)
filter.attendanceStatusInstring[]NoFilter by attendance statuses
filter.regOriginInstring[]NoFilter by registration origins
dimensionsstring[]YesGrouping dimensions (at least one): attendanceStatus, regOrigin, or both

Response:

{
"results": [
{
"appGuid": "app-guid-1",
"dimensions": {
"attendanceStatus": "attended",
"regOrigin": "registration"
},
"count": 45
},
{
"appGuid": "app-guid-1",
"dimensions": {
"attendanceStatus": "participated",
"regOrigin": "invite"
},
"count": 23
}
],
"sum": 68
}
# Get attendance breakdown for an event
curl -X POST "$KALTURA_USER_PROFILE_URL/reports/eventDataStats" \
-H "Authorization: Bearer $KALTURA_KS" \
-H "Content-Type: application/json" \
-d "{
\"filter\": {
\"appGuidIn\": [\"$APP_GUID\"]
},
\"dimensions\": [\"attendanceStatus\"]
}"

12.2 First Attendance Per App​

Get counts of users who reached "attended" status or higher, grouped by app. Uses the firstAttendedStatusTime timestamp.

POST /api/v1/user-profile/firstAttendanceStatusPerApp
Content-Type: application/json
Authorization: Bearer <KS>
{
"fromDate": "2025-01-01T00:00:00Z",
"toDate": "2025-12-31T23:59:59Z"
}
FieldTypeRequiredDescription
fromDatestringNoISO 8601 start date (filters firstAttendedStatusTime)
toDatestringNoISO 8601 end date

Response: Object keyed by appGuid with attendance counts:

{
"app-guid-1": 145,
"app-guid-2": 82
}
curl -X POST "$KALTURA_USER_PROFILE_URL/user-profile/firstAttendanceStatusPerApp" \
-H "Authorization: Bearer $KALTURA_KS" \
-H "Content-Type: application/json" \
-d '{
"fromDate": "2025-01-01T00:00:00Z",
"toDate": "2025-12-31T23:59:59Z"
}'