Skip to main content
View as Markdown

report.getTable - Analytics

report.getTable​

Retrieves tabular analytics data with dimensions and metrics. Supports pagination.

curl -X POST "$KALTURA_SERVICE_URL/service/report/action/getTable" \
-d "ks=$KALTURA_KS" \
-d "format=1" \
-d "reportType=38" \
-d "reportInputFilter[objectType]=KalturaEndUserReportInputFilter" \
-d "reportInputFilter[fromDate]=$FROM_TIMESTAMP" \
-d "reportInputFilter[toDate]=$TO_TIMESTAMP" \
-d "reportInputFilter[timeZoneOffset]=-240" \
-d "reportInputFilter[interval]=days" \
-d "order=-count_plays" \
-d "pager[pageSize]=25" \
-d "pager[pageIndex]=1" \
-d "responseOptions[objectType]=KalturaReportResponseOptions" \
-d "responseOptions[delimiter]=|" \
-d "responseOptions[skipEmptyDates]=false"

Required parameters:

ParameterDescription
reportTypeKalturaReportType integer ID (see Report Types Reference)
reportInputFilter[objectType]Always KalturaEndUserReportInputFilter
reportInputFilter[fromDate]Start date as Unix timestamp in seconds
reportInputFilter[toDate]End date as Unix timestamp in seconds

Optional parameters:

ParameterDefaultDescription
reportInputFilter[timeZoneOffset]0Timezone offset in minutes
reportInputFilter[interval]daysGranularity: days, months, hours, tenSeconds, years
ordervariesSort field with direction prefix: -count_plays, +date_id
pager[pageSize]25Results per page (max 500)
pager[pageIndex]1Page number (1-based)
responseOptions[delimiter],Field delimiter (use `
responseOptions[skipEmptyDates]falseOmit dates with zero values

Filtering by Entry​

curl -X POST "$KALTURA_SERVICE_URL/service/report/action/getTable" \
-d "ks=$KALTURA_KS" \
-d "format=1" \
-d "reportType=38" \
-d "reportInputFilter[objectType]=KalturaEndUserReportInputFilter" \
-d "reportInputFilter[fromDate]=$FROM_TIMESTAMP" \
-d "reportInputFilter[toDate]=$TO_TIMESTAMP" \
-d "reportInputFilter[entryIdIn]=$KALTURA_ENTRY_ID" \
-d "pager[pageSize]=25" \
-d "pager[pageIndex]=1" \
-d "responseOptions[objectType]=KalturaReportResponseOptions" \
-d "responseOptions[delimiter]=|"

Filtering by Category​

curl -X POST "$KALTURA_SERVICE_URL/service/report/action/getTable" \
-d "ks=$KALTURA_KS" \
-d "format=1" \
-d "reportType=38" \
-d "reportInputFilter[objectType]=KalturaEndUserReportInputFilter" \
-d "reportInputFilter[fromDate]=$FROM_TIMESTAMP" \
-d "reportInputFilter[toDate]=$TO_TIMESTAMP" \
-d "reportInputFilter[categoriesIdsIn]=$CATEGORY_ID" \
-d "pager[pageSize]=25" \
-d "pager[pageIndex]=1" \
-d "responseOptions[objectType]=KalturaReportResponseOptions" \
-d "responseOptions[delimiter]=|"

Multiple values within a filter are pipe-separated (e.g., entryIdIn=1_abc123|1_def456).

Filtering by Virtual Event​

curl -X POST "$KALTURA_SERVICE_URL/service/report/action/getTable" \
-d "ks=$KALTURA_KS" \
-d "format=1" \
-d "reportType=38" \
-d "reportInputFilter[objectType]=KalturaEndUserReportInputFilter" \
-d "reportInputFilter[fromDate]=$FROM_TIMESTAMP" \
-d "reportInputFilter[toDate]=$TO_TIMESTAMP" \
-d "reportInputFilter[virtualEventIdIn]=$VIRTUAL_EVENT_ID" \
-d "pager[pageSize]=25" \
-d "pager[pageIndex]=1" \
-d "responseOptions[objectType]=KalturaReportResponseOptions" \
-d "responseOptions[delimiter]=|"