Skip to main content

Working with reports

This section provides examples in curl and python of how to use the Reporting API to generate reports according to your preferences. You can define time window, granularity, metric, aggregation type, and apply a range of filter dimensions.

When creating a report you will:

  • Define the time window.
  • Specify granularity, which is the time interval between data points.
  • Define your filters with the dimensions object, and the dimension_filter_clauses object which will contain an array of filter objects.
  • Request metrics such as connections, time usage, and data usage with the metrics object.
  • Use aggregation_type to choose which data within the raw report data you want to see.
tip

The example scripts in this section give a response in json format, however you can get responses in csv format with --header 'Accept: text/csv'.


Time windows

Some of the reports below require you to specify the time window over which to run the report.

The time window is set with start_date_time and end_date_time. You can either specify actual times and dates, in the format YYYY-MM-DDTHH:mm:ss, or request a set time block with LAST HOUR, LAST DAY, LAST WEEK, LAST MONTH or NOW (returns the last 5 minutes).

If you are requesting a set time block, this must be configured in both start_date_time and end_date_time, for example:

"start_date_time": "LAST HOUR",
"end_date_time": "LAST HOUR",

You can also specify the data point frequency in your report with the granularity parameter, which can be HOUR or DAY (default is HOUR).

Dimensions and metrics

As mentioned above, you will request a report metric, and filter it with dimensions. Our reports are grouped into mobile device or 'UE' reports, and Edge Point reports. Refer to the Mobile Device (UE) Reports and Edge Point Reports sections for more details.

Aggregation types

A report will gather many data points, and you decide which specific data you are interested in by defining the aggregation_type. This may be a single data point, such as MAX or MIN, or a calculation derived from multiple data points, such as AVG.

Supported aggregation types are:

  • EXISTS (for status reports)
  • COUNT (sum of data points)
  • MAX
  • MIN
  • AVG

Different metrics support different aggregation_types:

ue_online_status:

  • EXISTS

ue_connections:

  • COUNT
  • MAX
  • AVG

All other metrics:

  • COUNT
  • MAX
  • MIN
  • AVG