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:
| Parameter | Description |
|---|---|
reportType | KalturaReportType 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:
| Parameter | Default | Description |
|---|---|---|
reportInputFilter[timeZoneOffset] | 0 | Timezone offset in minutes |
reportInputFilter[interval] | days | Granularity: days, months, hours, tenSeconds, years |
order | varies | Sort field with direction prefix: -count_plays, +date_id |
pager[pageSize] | 25 | Results per page (max 500) |
pager[pageIndex] | 1 | Page number (1-based) |
responseOptions[delimiter] | , | Field delimiter (use ` |
responseOptions[skipEmptyDates] | false | Omit 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]=|"