Skip to content

View report run data

Request to retrieve the data of a report run:

GET /api/v2/reports/<report-id>/runs/<run-id>/data.json

To get the data of the most recent run, use latest as the run ID:

GET /api/v2/reports/<report-id>/runs/latest/data.json

Example of response:

{
    "headers": [
        {"name": "group_id", "header": "Group - ID", "super_header": null, "hidden": true, "type": "uuid"},
        {"name": "group_name", "header": "Group - Name", "super_header": null, "hidden": false, "type": "str"},
        {"name": "count_calls", "header": "Calls - Total Calls", "super_header": null, "hidden": false, "type": "int"},
        {"name": "minutes_total", "header": "Calls - Total Minutes", "super_header": null, "hidden": false, "type": "float"}
    ],
    "summary": {
        "count_calls": 230,
        "minutes_total": 1200.5
    },
    "data": [
        ["28d20df6-b84f-11ed-ac6d-1207ffee24c3", "Administrators", 4, 20.0],
        ["aa1f91a8-b84f-11ed-ac6d-1207ffee24c3", "Claims & Warranty Operations", 146, 758.25],
        ["ad1185f6-b84f-11ed-bf7f-1207ffee24c3", "Dealer Support and Customer Care", 48, 252.0],
        ["afef22c4-b84f-11ed-ac6d-1207ffee24c3", "Home Office", 14, 75.0],
        ["b39e05de-b84f-11ed-bf7f-1207ffee24c3", "Performance Centre", 18, 95.25]
    ]
}

Response format

Attribute Type Description
headers list Columns of the report, in order. Includes hidden helper columns (for example, IDs) that the web portal does not display.
summary dictionary Summary values keyed by column name. Empty when the template has no summary.
data list Rows. Each row is a list of values in the same order as headers.

Each header has:

Attribute Type Description
name string Internal column name. See the Column reference.
header string Human-readable column header.
super_header string or null Group heading for grouped columns.
hidden boolean Whether the web portal hides the column.
type string Value type: str, int, float, bool, uuid, date, datetime, time, or timedelta.

Values are serialized as JSON strings, numbers, booleans, or null. UUIDs are strings, dates and times are ISO 8601 strings, and durations (timedelta) are numbers of seconds.

The response contains at most 10,000 rows. For larger reports, narrow the period or the filters of the template, or export the report to a file from the web portal (see Export report data).

Response contains HTTP status code as shown in the following table.

Response Description
200 OK The report data is returned in the response body
400 Bad Request The run uses a column that is no longer available. Edit the template to replace the column, then rebuild the report ({"error": "InvalidGeneral", "explanation": "This report run uses columns that are no longer available. ..."})
403 Forbidden The request cannot be completed because API user has no permission to view reports
404 Not Found The report template or the run does not exist, or it is outside the access scope of the API user

Changed format

Before release 2026-06-13, this endpoint returned a rows list of objects with a row_type attribute and accepted a parent_row_id parameter. Integrations that read the old format must be updated.