Reporting API Data

This API framework specifies a single Query schema whose set of supported metrics and filters varies for each version of a report type. In addition to a fixed set of Report schema members, the response’s data object array reflects back the set of requested metrics.

Download the JSON schemas for this API.

The data schema tables below list membership requirements as follows:

Member is required to be present, regardless of whether its value is empty or null.
Member is optional, and may be omitted in some cases.

Query

Specifies available metrics for the report type, filters to reduce the data, and a set of objects to report on.

Download schema: report-request-schema.json

Sample POST request:

{
    "objectType": "cpcode",
    "objectIds": [
        "536194",
        "536198",
        "539651",
        "539798",
        "539987"
    ],
    "metrics": [
        "top_hits",
        "top_urls",
        "browser_hits",
        "edgres_hits_success",
        "edgres_hits_success_total",
        "edgres_hits_success_min",
        "edgres_hits_success_max",
        "origin_hits_success",
        "origin_hits_success_total",
        "origin_hits_success_min",
        "origin_hits_success_max"
    ],
    "filters": {
        "ip_version": [
            "ipv4"
        ],
        "traffic_type": [
            "standard_secure"
        ]
    }
}

Query Members

Member Type Required Description
filters Map of Arrays Specifies a set of custom filters, with each filter’s name keying an array with each filter’s set of values.
metrics Array The set of desired metrics. The set of available metrics depends on the type of report. If omitted, the report includes all available metrics.
objectIds Array Specifies the set of IDs for the given objectType you want to report on.
objectIds Enumeration As an alternative to an array of specific object IDs, specify all as a string for unfiltered data. Either way, objectIds is required to be present.
objectType Enumeration Specifies the type of object you want to report on. The only currently available option is to report by cpcode.

Report

Encapsulates the response report, including aggregated data and reflecting details on the request.

Download schema: report-response-schema.json

Sample POST response:

{
    "metadata": {
        "name": "opresponses-by-time",
        "version": "1",
        "start": "2016-08-17T00:00:00Z",
        "end": "2016-08-18T00:00:00Z",
        "groupBy": [
            "timestamp"
        ],
        "interval": "HOUR",
        "objectType": "cpcode",
        "objectIds": [
            "536194",
            "536198",
            "539651",
            "539798",
            "539987"
        ],
        "availableDataEnds": null,
        "suggestedRetryTime": null,
        "rowCount": 24,
        "filters": [
            {
                "name": "ip_version",
                "value": [
                    "ipv4"
                ]
            }
        ],
        "columns": [
            {
                "name": "allEdgeHitsPerSecond",
                "label": "Column description of allEdgeHitsPerSecond for ui"
            },
            {
                "name": "allOriginHitsPerSecond",
                "label": "Column description of allOriginHitsPerSecond for ui"
            },
            {
                "name": "allMidgressHitsPerSecond",
                "label": "Column description of allMidgressHitsPerSecond for ui"
            },
            {
                "name": "allHitsOffload",
                "label": "Column description of allHitsOffload for ui"
            },
            {
                "name": "allHitsOffloadAvg",
                "label": "Column description of allHitsOffloadAvg for ui"
            },
            {
                "name": "allHitsOffloadMin",
                "label": "Column description of allHitsOffloadMin for ui"
            },
            {
                "name": "allHitsOffloadMax",
                "label": "Column description of allHitsOffloadMax for ui"
            },
            {
                "name": "allEdgeHitsTotal",
                "label": "Column description of allEdgeHitsTotal for ui"
            },
            {
                "name": "allEdgeHitsMin",
                "label": "Column description of allEdgeHitsMin for ui"
            },
            {
                "name": "allEdgeHitsMax",
                "label": "Column description of allEdgeHitsMax for ui"
            },
            {
                "name": "allMidgressHitsTotal",
                "label": "Column description of allMidgressHitsTotal for ui"
            },
            {
                "name": "allMidgressHitsMin",
                "label": "Column description of allMidgressHitsMin for ui"
            },
            {
                "name": "allMidgressHitsMax",
                "label": "Column description of allMidgressHitsMax for ui"
            },
            {
                "name": "allOriginHitsTotal",
                "label": "Column description of allOriginHitsTotal for ui"
            },
            {
                "name": "allOriginHitsMin",
                "label": "Column description of allOriginHitsMin for ui"
            },
            {
                "name": "allOriginHitsMax",
                "label": "Column description of allOriginHitsMax for ui"
            },
            {
                "name": "allEdgeResponsetimeAvg",
                "label": "Column description of allEdgeResponsetimeAvg for ui"
            },
            {
                "name": "allEdgeResponsetimeMin",
                "label": "Column description of allEdgeResponsetimeMin for ui"
            },
            {
                "name": "allEdgeResponsetimeMax",
                "label": "Column description of allEdgeResponsetimeMax for ui"
            },
            {
                "name": "allOriginResponsetimeAvg",
                "label": "Column description of allOriginResponsetimeAvg for ui"
            },
            {
                "name": "allOriginResponsetimeMin",
                "label": "Column description of allOriginResponsetimeMin for ui"
            },
            {
                "name": "allOriginResponsetimeMax",
                "label": "Column description of allOriginResponsetimeMax for ui"
            },
            {
                "name": "allEdgeHitsPercent",
                "label": "Column description of allEdgeHitsPercent for ui"
            },
            {
                "name": "2xxEdgeHitsTotal",
                "label": "Column description of 2xxEdgeHitsTotal for ui"
            },
            {
                "name": "2xxEdgeHitsPercent",
                "label": "Column description of 2xxEdgeHitsPercent for ui"
            },
            {
                "name": "3xxEdgeHitsTotal",
                "label": "Column description of 3xxEdgeHitsTotal for ui"
            },
            {
                "name": "3xxEdgeHitsPercent",
                "label": "Column description of 3xxEdgeHitsPercent for ui"
            },
            {
                "name": "4xxEdgeHitsTotal",
                "label": "Column description of 4xxEdgeHitsTotal for ui"
            },
            {
                "name": "4xxEdgeHitsPercent",
                "label": "Column description of 4xxEdgeHitsPercent for ui"
            },
            {
                "name": "5xxEdgeHitsTotal",
                "label": "Column description of 5xxEdgeHitsTotal for ui"
            },
            {
                "name": "5xxEdgeHitsPercent",
                "label": "Column description of 5xxEdgeHitsPercent for ui"
            },
            {
                "name": "otherEdgeHitsTotal",
                "label": "Column description of otherEdgeHitsTotal for ui"
            },
            {
                "name": "otherEdgeHitsPercent",
                "label": "Column description of otherEdgeHitsPercent for ui"
            },
            {
                "name": "allOriginHitsPercent",
                "label": "Column description of allOriginHitsPercent for ui"
            },
            {
                "name": "2xxOriginHitsTotal",
                "label": "Column description of 2xxOriginHitsTotal for ui"
            },
            {
                "name": "2xxOriginHitsPercent",
                "label": "Column description of 2xxOriginHitsPercent for ui"
            },
            {
                "name": "3xxOriginHitsTotal",
                "label": "Column description of 3xxOriginHitsTotal for ui"
            },
            {
                "name": "3xxOriginHitsPercent",
                "label": "Column description of 3xxOriginHitsPercent for ui"
            },
            {
                "name": "4xxOriginHitsTotal",
                "label": "Column description of 4xxOriginHitsTotal for ui"
            },
            {
                "name": "4xxOriginHitsPercent",
                "label": "Column description of 4xxOriginHitsPercent for ui"
            },
            {
                "name": "5xxOriginHitsTotal",
                "label": "Column description of 5xxOriginHitsTotal for ui"
            },
            {
                "name": "5xxOriginHitsPercent",
                "label": "Column description of 5xxOriginHitsPercent for ui"
            },
            {
                "name": "otherOriginHitsTotal",
                "label": "Column description of otherOriginHitsTotal for ui"
            },
            {
                "name": "otherOriginHitsPercent",
                "label": "Column description of otherOriginHitsPercent for ui"
            }
        ],
        "uri": "/reporting-report-executor/reports/traffic-by-time/v1"
    },
    "data": [
        {
            "timestamp": "2016-08-17T00:00:00Z",
            "allEdgeHitsPerSecond": 15164,
            "allOriginHitsPerSecond": 850,
            "allMidgressHitsPerSecond": 923,
            "allHitsOffload": 60
        },
        {
            "timestamp": "2016-08-17T01:00:00Z",
            "allEdgeHitsPerSecond": 11729,
            "allOriginHitsPerSecond": 24354,
            "allMidgressHitsPerSecond": 39413,
            "allHitsOffload": 63
        },
        {
            "timestamp": "2016-08-17T02:00:00Z",
            "allEdgeHitsPerSecond": 17529,
            "allOriginHitsPerSecond": 1330,
            "allMidgressHitsPerSecond": 18396,
            "allHitsOffload": 66
        },
        {
            "timestamp": "2016-08-17T03:00:00Z",
            "allEdgeHitsPerSecond": 55126,
            "allOriginHitsPerSecond": 8854,
            "allMidgressHitsPerSecond": 62521,
            "allHitsOffload": 60
        },
        {
            "timestamp": "2016-08-17T04:00:00Z",
            "allEdgeHitsPerSecond": 10660,
            "allOriginHitsPerSecond": 16205,
            "allMidgressHitsPerSecond": 47987,
            "allHitsOffload": 78
        },
        {
            "timestamp": "2016-08-17T05:00:00Z",
            "allEdgeHitsPerSecond": 65350,
            "allOriginHitsPerSecond": 60090,
            "allMidgressHitsPerSecond": 40346,
            "allHitsOffload": 23
        },
        {
            "timestamp": "2016-08-17T06:00:00Z",
            "allEdgeHitsPerSecond": 16012,
            "allOriginHitsPerSecond": 9391,
            "allMidgressHitsPerSecond": 9864,
            "allHitsOffload": 51
        },
        {
            "timestamp": "2016-08-17T07:00:00Z",
            "allEdgeHitsPerSecond": 4080,
            "allOriginHitsPerSecond": 26226,
            "allMidgressHitsPerSecond": 29261,
            "allHitsOffload": 97
        },
        {
            "timestamp": "2016-08-17T08:00:00Z",
            "allEdgeHitsPerSecond": 50053,
            "allOriginHitsPerSecond": 47019,
            "allMidgressHitsPerSecond": 64296,
            "allHitsOffload": 81
        },
        {
            "timestamp": "2016-08-17T09:00:00Z",
            "allEdgeHitsPerSecond": 59183,
            "allOriginHitsPerSecond": 37680,
            "allMidgressHitsPerSecond": 53428,
            "allHitsOffload": 84
        },
        {
            "timestamp": "2016-08-17T10:00:00Z",
            "allEdgeHitsPerSecond": 50898,
            "allOriginHitsPerSecond": 20179,
            "allMidgressHitsPerSecond": 34935,
            "allHitsOffload": 97
        },
        {
            "timestamp": "2016-08-17T11:00:00Z",
            "allEdgeHitsPerSecond": 59410,
            "allOriginHitsPerSecond": 15005,
            "allMidgressHitsPerSecond": 57464,
            "allHitsOffload": 24
        },
        {
            "timestamp": "2016-08-17T12:00:00Z",
            "allEdgeHitsPerSecond": 39521,
            "allOriginHitsPerSecond": 11925,
            "allMidgressHitsPerSecond": 35693,
            "allHitsOffload": 88
        },
        {
            "timestamp": "2016-08-17T13:00:00Z",
            "allEdgeHitsPerSecond": 4708,
            "allOriginHitsPerSecond": 58801,
            "allMidgressHitsPerSecond": 30130,
            "allHitsOffload": 93
        },
        {
            "timestamp": "2016-08-17T14:00:00Z",
            "allEdgeHitsPerSecond": 43295,
            "allOriginHitsPerSecond": 26605,
            "allMidgressHitsPerSecond": 26794,
            "allHitsOffload": 77
        },
        {
            "timestamp": "2016-08-17T15:00:00Z",
            "allEdgeHitsPerSecond": 11385,
            "allOriginHitsPerSecond": 12335,
            "allMidgressHitsPerSecond": 53690,
            "allHitsOffload": 94
        },
        {
            "timestamp": "2016-08-17T16:00:00Z",
            "allEdgeHitsPerSecond": 60225,
            "allOriginHitsPerSecond": 27542,
            "allMidgressHitsPerSecond": 35106,
            "allHitsOffload": 34
        },
        {
            "timestamp": "2016-08-17T17:00:00Z",
            "allEdgeHitsPerSecond": 33740,
            "allOriginHitsPerSecond": 6826,
            "allMidgressHitsPerSecond": 21896,
            "allHitsOffload": 25
        },
        {
            "timestamp": "2016-08-17T18:00:00Z",
            "allEdgeHitsPerSecond": 62785,
            "allOriginHitsPerSecond": 26777,
            "allMidgressHitsPerSecond": 2455,
            "allHitsOffload": 79
        },
        {
            "timestamp": "2016-08-17T19:00:00Z",
            "allEdgeHitsPerSecond": 2353,
            "allOriginHitsPerSecond": 54397,
            "allMidgressHitsPerSecond": 5057,
            "allHitsOffload": 98
        },
        {
            "timestamp": "2016-08-17T20:00:00Z",
            "allEdgeHitsPerSecond": 41339,
            "allOriginHitsPerSecond": 56380,
            "allMidgressHitsPerSecond": 11059,
            "allHitsOffload": 84
        },
        {
            "timestamp": "2016-08-17T21:00:00Z",
            "allEdgeHitsPerSecond": 38348,
            "allOriginHitsPerSecond": 31328,
            "allMidgressHitsPerSecond": 4823,
            "allHitsOffload": 79
        },
        {
            "timestamp": "2016-08-17T22:00:00Z",
            "allEdgeHitsPerSecond": 41124,
            "allOriginHitsPerSecond": 45209,
            "allMidgressHitsPerSecond": 47543,
            "allHitsOffload": 12
        },
        {
            "timestamp": "2016-08-17T23:00:00Z",
            "allEdgeHitsPerSecond": 62975,
            "allOriginHitsPerSecond": 29066,
            "allMidgressHitsPerSecond": 63968,
            "allHitsOffload": 67
        }
    ],
    "summaryStatistics": {
        "allHitsOffloadAvg": {
            "value": "3297439138",
            "details": {}
        },
        "allHitsOffloadMin": {
            "value": "3297439138",
            "details": {
                "startdatetime": "2016-08-17T23:00:00Z"
            }
        },
        "allHitsOffloadMax": {
            "value": "3297439138",
            "details": {
                "startdatetime": "2016-08-18T23:00:00Z"
            }
        },
        "allEdgeHitsTotal": {
            "value": "3297439138",
            "details": {}
        },
        "allEdgeHitsMin": {
            "value": "3297439138",
            "details": {
                "startdatetime": "2016-08-17T23:00:00Z"
            }
        },
        "allEdgeHitsMax": {
            "value": "3297439138",
            "details": {
                "startdatetime": "2016-08-18T23:00:00Z"
            }
        },
        "allMidgressHitsTotal": {
            "value": "3297439138",
            "details": {}
        },
        "allMidgressHitsMin": {
            "value": "3297439138",
            "details": {
                "startdatetime": "2016-08-18T23:00:00Z"
            }
        },
        "allMidgressHitsMax": {
            "value": "3297439138",
            "details": {
                "startdatetime": "2016-08-19T23:00:00Z"
            }
        },
        "allOriginHitsTotal": {
            "value": "3297439138",
            "details": {}
        },
        "allOriginHitsMin": {
            "value": "3297439138",
            "details": {
                "startdatetime": "2016-08-18T23:00:00Z"
            }
        },
        "allOriginHitsMax": {
            "value": "3297439138",
            "details": {
                "startdatetime": "2016-08-13T23:00:00Z"
            }
        },
        "allEdgeResponsetimeAvg": {
            "value": "3297439138",
            "details": {}
        },
        "allEdgeResponsetimeMin": {
            "value": "3297439138",
            "details": {
                "startdatetime": "2016-08-18T23:00:00Z"
            }
        },
        "allEdgeResponsetimeMax": {
            "value": "3297439138",
            "details": {
                "startdatetime": "2016-08-13T23:00:00Z"
            }
        },
        "allOriginResponsetimeAvg": {
            "value": "3297439138",
            "details": {}
        },
        "allOriginResponsetimeMin": {
            "value": "3297439138",
            "details": {
                "startdatetime": "2016-08-18T23:00:00Z"
            }
        },
        "allOriginResponsetimeMax": {
            "value": "3297439138",
            "details": {
                "startdatetime": "2016-08-14T23:00:00Z"
            }
        },
        "allEdgeHitsPercent": {
            "value": "3297439138",
            "details": {}
        },
        "2xxEdgeHitsTotal": {
            "value": "3297439138",
            "details": {}
        },
        "2xxEdgeHitsPercent": {
            "value": "3297439138",
            "details": {}
        },
        "3xxEdgeHitsTotal": {
            "value": "3297439138",
            "details": {}
        },
        "3xxEdgeHitsPercent": {
            "value": "3297439138",
            "details": {}
        },
        "4xxEdgeHitsTotal": {
            "value": "3297439138",
            "details": {}
        },
        "4xxEdgeHitsPercent": {
            "value": "3297439138",
            "details": {}
        },
        "5xxEdgeHitsTotal": {
            "value": "3297439138",
            "details": {}
        },
        "5xxEdgeHitsPercent": {
            "value": "3297439138",
            "details": {}
        },
        "otherEdgeHitsTotal": {
            "value": "3297439138",
            "details": {}
        },
        "otherEdgeHitsPercent": {
            "value": "3297439138",
            "details": {}
        },
        "allOriginHitsPercent": {
            "value": "3297439138",
            "details": {}
        },
        "2xxOriginHitsTotal": {
            "value": "3297439138",
            "details": {}
        },
        "2xxOriginHitsPercent": {
            "value": "3297439138",
            "details": {}
        },
        "3xxOriginHitsTotal": {
            "value": "3297439138",
            "details": {}
        },
        "3xxOriginHitsPercent": {
            "value": "3297439138",
            "details": {}
        },
        "4xxOriginHitsTotal": {
            "value": "3297439138",
            "details": {}
        },
        "4xxOriginHitsPercent": {
            "value": "3297439138",
            "details": {}
        },
        "5xxOriginHitsTotal": {
            "value": "3297439138",
            "details": {}
        },
        "5xxOriginHitsPercent": {
            "value": "3297439138",
            "details": {}
        },
        "otherOriginHitsTotal": {
            "value": "3297439138",
            "details": {}
        },
        "otherOriginHitsPercent": {
            "value": "3297439138",
            "details": {}
        }
    }
}

Report Members

Member Type Required Description
data Report.data[n] Array of objects representing data rows suitable for aggregation. The value of the groupBy array always appears as a key for each row to indicate by which metric it is grouped and sorted.
metadata Report.metadata Collects context about the requested data set based on the request’s parameters and contents of the Query object, and supplies presentational information for use in report output.
summaryStatistics Report.summaryStatistics Collects Key Performance Indicator data. The name of each KPI metric serves as the object key.

Report.data[n]  

Array of objects representing data rows suitable for aggregation. The value of the groupBy array always appears as a key for each row to indicate by which metric it is grouped and sorted.

Member Type Required Description
startdatetime String For certain time series reports, an ISO 8601 timestamp marking the start of each record.
timestamp String For certain time series reports, an ISO 8601 timestamp marking the start of each record.

Report.metadata  

Collects context about the requested data set based on the request’s parameters and contents of the Query object, and supplies presentational information for use in report output.

Member Type Required Description
availableDataEnds String, Null If data has not been finalized, this ISO 8601 timestamp indicates for when data is no longer available. Otherwise the value is null for finalized data.
columns Report.metadata.columns[n] Provides interface labels for data and summaryStatistics items.
end String The end range of the requested data in ISO–8601 format. This reflects the value of the Generate a Report operation’s end parameter.
filters Report.metadata.filters[n] Reflects the set of filters from the Query request.
groupBy Array Specifies the set of fields by which data is grouped and sorted. The groupBy field is specified along with the request metrics in each data row.
interval Enumeration The duration of each record in the report, either FIVE_MINUTES, HOUR, DAY, WEEK, or MONTH. This reflects the value of the Generate a Report operation’s interval parameter.
name String The name of the current report type.
objectIds Array Reflects the set of objectIds from the Query request.
objectType String Reflects the objectType from the Query request.
rowCount Integer The total number of data records included in the report.
start String The start range of the requested data in ISO–8601 format. This reflects the value of the operation’s start parameter.
suggestedRetryTime String, Null If data has not been finalized, this ISO 8601 timestamp indicates when it is estimated to complete. Otherwise the value is null for finalized data.
uri String Reflects the URL called to retrieve this data.
version String The version of the current report type.

Report.metadata.columns[n]  

Provides interface labels for data and summaryStatistics items.

Member Type Required Description
label String The interface label to assign to the corresponding name.
name String The name of the data or summaryStatistics member.

Report.metadata.filters[n]  

Reflects the set of filters from the Query request.

Member Type Required Description
name String Reflects the name of the filter specified in the request, or included in the default set for the report type.
value Array Reflects the set of requested filter values.

Report.summaryStatistics.{metric}  

Encapsulates information for each Key Performance Indicator. The name of each KPI metric is the object key within the summaryStatistics object.

Member Type Required Description
details Report.summaryStatistics.{metric}.details Collects additional context for each reported KPI. Otherwise the object is empty.
value String The value that qualifies a fulfilling the KPI. Numeric values are represented as strings.

Report.summaryStatistics.{metric}.details  

Collects additional context for each reported KPI. Otherwise the object is empty.

Member Type Required Description
startdatetime String ISO 8601 timestamp indicating when this metric reached this value, for example when a desired minimum or maximum threshold was fulfilled.

Last modified: 4/14/2018