Reporting API v1

Generate various custom reports to help monitor and optimize your Akamai services.

Learn more:


Overview

If you’re using Akamai’s intelligent platform to deliver your content, you want to see how it’s performing. The Reporting API provides a wide range of reports, with new reports added periodically, and allows you to retrieve data in a range of intervals, from five minutes to monthly, depending on the time period and type of data you want to view. Some reports are available only to those who have purchased the related product. Support for specific intervals, filters, and metrics may vary by report type.

Who should use this API

Use the Reporting API if you want to analyze data about your business on the web. You can use the data to monitor traffic, analyze patterns, find out how popular specific content is, compile information to inform others, or forecast capacity. These reports’ key performance indicators highlight the value of using Akamai to deliver and secure your content.

In addition to general traffic information including hits, bytes, traffic offloaded onto the Akamai network, and URL data, you can access additional data most relevant to the set of Akamai services you use.

Getting started

To configure this API for the first time:

Create an API client in Akamai Control Center for the Reporting API. Follow the steps in Get Started with APIs to learn how to configure credentials to access the API. Tokens appear as customer hostnames that look like this: https://akzz-XXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXX.luna.akamaiapis.net.

Available reports

The following table provides information for each type of report this API generates, either available for all products, widely available basic traffic reports, or enabled by the following products:

Report Description
Available for all products
authoritative-dns-traffic-by-time Provides DNS requests/sec and NXDomain response/sec.
authoritative-dns-traffic-by-zone Provides DNS requests/sec and NXDomain response/sec by zone.
ecresponse-by-time The number of completed origin or edge requests per second, aggregated for each category of HTTP status code, for use in Event Center.
ectraffic-by-time The origin or edge traffic data, for use in Event Center.
estimatedecresponse-by-time The estimated origin status and edge status data: number of completed HTTP origin or edge requests received for each HTTP status code range (0xx, 1xx, 2xx, 3xx, 4xx, 5xx) per second. Applies to traffic tracked by the Event Center.
estimatedectraffic-by-time The estimated origin and edge traffic data for given CP codes, for use in Event Center.
flashlivetraffic-by-time Returns estimated traffic data for traditional Flash Live streams. Applies to traffic tracked by the Event Center.
sriptraffic-by-time Provides estimated traffic data for IPA/SXL. Applies to traffic tracked by the Event Center.
universallivetraffic-by-time Provides estimated traffic data for traditional Universal Live streams, for use in Event Center. Supports Apple HLS and Adobe HDS formats.
Basic traffic reports
bytes-by-cpcode Returns volume data by CP code.
bytes-by-time Provides traffic volume data.
duv-by-browser Returns daily unique visitor data by browser type. When querying multiple days worth of data, you’ll receive the maximum daily value across the entire date range for each of the dimensions.
duv-by-country Returns daily unique visitor data by country or area. When querying multiple days worth of data, you’ll receive the maximum daily value across the entire date range for each of the dimensions.
duv-by-os Returns daily unique visitor data by operation system. When querying multiple days worth of data, you’ll receive the maximum daily value across the entire date range for each of the dimensions.
duv-by-province Returns daily unique visitor data by Canadian province. When querying multiple days worth of data, you’ll receive the maximum daily value across the entire date range for each of the dimensions.
duv-by-state Returns daily unique visitor data by US state. When querying multiple days worth of data, you’ll receive the maximum daily value across the entire date range for each of the dimensions.
duv-by-time Returns visitor data over time.
enhancedtraffic-by-country Provides traffic data by country or area.
enhancedtraffic-by-province Returns traffic data by Canadian province.
enhancedtraffic-by-state Returns traffic data by state.
hits-by-browser Returns traffic data by browser.
hits-by-cpcode Provides hits data by CP code.
hits-by-os Returns traffic data by operating system
hits-by-time Provides traffic data (edge and origin hits) over time.
midgresshits-by-time Returns data about traffic between Akamai servers over time.
pv-by-time Returns page view (text/html file delivery) data over time.
todaytraffic-by-time Provides hits, volume, bandwidth, and offload data for the most recent 48 hours.
traffic-by-response Provides traffic data by response.
traffic-by-responseclass Provides traffic data by response class.
traffic-by-timeandresponse Returns traffic data by HTTP response over time.
traffic-by-timeandresponseclass Returns traffic data by response class over time.
url0XXresponses-by-url Returns traffic data for URLs that returns 0xx response codes.
url2XXresponses-by-url Returns traffic data for URLs returning 2xx responses.
url3XXresponses-by-url Returns traffic data for URLs returning 3xx responses.
url4XXresponses-by-url Returns traffic data for URLs returning 4xx responses.
urlbytes-by-time Returns URL volume data over time
urlbytes-by-url Returns volume data by URL.
urlerrorbytes-by-url Returns volume data for requests that returned error responses, by URL.
urlerrorhits-by-url Returns traffic data for URLs returning error responses.
urlerrorresponses-by-url Returns traffic data for URLs returning error responses.
urlhits-by-time Returns URL traffic data over time.
urlhits-by-url Returns traffic data for all response types (success and error) by URL.
urlresponses-by-time Returns URL data by response class over time.
urlresponses-by-url Returns URL traffic data by response class and URL.
urlsuccessbytes-by-url Returns volume date for successful URL requests, by URL.
urlsuccesshits-by-url Returns traffic data for successful requests, by URL.
urlsuccessresponses-by-url Returns traffic data for URLs returning successful responses.
uv-by-time Returns unique visitor data over time.
Enabled by the Adaptive Image Compression product
aic-by-time Provides the number of images compressed per second to improve performance, based on network conditions.
Enabled by the API Gateway product
endpoint-errors-by-response-class Provides error data for your API endpoints by response class, for example, 4xx.
endpoint-errors-by-response-code Provides error data for your API endpoints by specific response code.
endpoint-errors-by-time Provides error information for your API endpoints over time.
endpoint-hits-by-apikey Provides hits data for your API endpoints by the API keys included in the incoming API requests.
endpoint-usage-by-method Provides information about the usage of your API endpoints, the HTTP methods that API consumers called on your endpoints, and the HTTP responses for those calls.
endpoint-usage-by-method-and-response Provides information about the usage of your API endpoints, the HTTP methods that API consumers called on your endpoints, and the HTTP responses for those calls.
endpoint-usage-by-response-code Provides information about the usage of your API endpoints over time and the response codes that your API returned.
endpoint-usage-by-time Provides information about the usage of your API endpoints over time and the API keys included in the incoming API requests.
jwt-usage-by-endpoint Provides information about the usage of your JSON Web Tokens by API endpoint.
jwt-usage-by-error Provides error information for your JSON Web Tokens.
jwt-usage-by-time Provides information about the usage of your JSON Web Tokens (JWT) over time.
Enabled by the Cloud Monitor, OTA Updates product
cmlogline-by-time Provides real-time logging data for your HTTP traffic.
cmreq-by-time Provides HTTP transaction data delivered through the edge platform to your end users.
Enabled by the Cloudlet Applications product
cloudlet-activity-by-time Provides data about the number of times Cloudlets ran in response to either an incoming request or a rule match.
Enabled by the Dynamic Site Accelerator product
opresponses-by-time Provides performance data for Akamai edge servers requests to your origin servers.
prefetchedgemetrics-by-time Provides volume of responses served by Akamai edge servers when you are using the Akamai Instant (Page Prefetching) behavior.
prefetchedgepfmetrics-by-time Provides volume of cache hits served by Akamai edge servers for no-store or low-TTL objects when you are using the Akamai Instant (Page Prefetching) behavior.
prefetchoriginmetrics-by-time Provides volume of responses served by your origin server when you are using the Akamai Instant (Page Prefetching) behavior.
Enabled by the Dynamic Site Delivery product
opresponses-by-time Provides performance data for Akamai edge servers requests to your origin servers.
prefetchedgemetrics-by-time Provides volume of responses served by Akamai edge servers when you are using the Akamai Instant (Page Prefetching) behavior.
prefetchedgepfmetrics-by-time Provides volume of cache hits served by Akamai edge servers for no-store or low-TTL objects when you are using the Akamai Instant (Page Prefetching) behavior.
prefetchoriginmetrics-by-time Provides volume of responses served by your origin server when you are using the Akamai Instant (Page Prefetching) behavior.
Enabled by the Image Converter product
icbytes-by-url Provides URL volume data associated with supported image formats: JPG, GIF, and PNG configured for Image Converter.
ichits-by-url Provides URL traffic data associated with supported image formats: JPG, GIF, and PNG configured for Image Converter.
ictraffic-by-time Provides data about traffic and bandwidth associated with supported image formats configured for Image Converter.
Enabled by the Image Manager product
imbytes-by-browser Provides volume data for images configured to use Image Manager at the browser level.
imbytes-by-imagetype Provides volume data for images configured to use Image Manager at the image type level.
imbytes-by-policy Provides volume data for images configured to use Image Manager at the token policy level.
imbytes-by-policyandbrowser Provides volume data for images configured to use Image Manager at the token policy and browser level.
imbytes-by-policyandimagetype Provides volume data for images configured to use Image Manager at the token policy and image type level.
imbytes-by-policyandwidth Provides volume data for images configured to use Image Manager at the token policy and image width level.
imhits-by-browser Provides hits data for images configured to use Image Manager at the browser level.
imhits-by-policy Provides hits data for images configured to use Image Manager at the token policy level.
imhits-by-policyandbrowser Provides hits data for images configured to use Image Manager at the token policy and browser level.
imhits-by-policyandimagetype Provides hits data for images configured to use Image Manager at the token policy and image type level.
imhits-by-policyandwidth Provides hits data for images configured to use Image Manager at the token policy and image width level.
imhits-by-width Provides hits data for images configured to use Image Manager at the image width level.
imtraffic-by-time Provides traffic data for images configured to use Image Manager.
Enabled by the Ion OTA Updates product
opresponses-by-time Provides performance data for Akamai edge servers requests to your origin servers.
prefetchedgemetrics-by-time Provides volume of responses served by Akamai edge servers when you are using the Akamai Instant (Page Prefetching) behavior.
prefetchedgepfmetrics-by-time Provides volume of cache hits served by Akamai edge servers for no-store or low-TTL objects when you are using the Akamai Instant (Page Prefetching) behavior.
prefetchoriginmetrics-by-time Provides volume of responses served by your origin server when you are using the Akamai Instant (Page Prefetching) behavior.
Enabled by the IP Application Accelerator product
ipamapping-by-time Provides data for DNS requests of any type that were made to process sessions associated with IPA traffic.
Enabled by the SaaS Provider Option product
saasappusers-by-cust Provides the total number of users by SaaS customer for which traffic has been reported. You must identify a pattern for extracting customer ID and unique users using the SaaS Definitions Property Manager Behavior.
saascustusers-by-app Provides the total number of users by SaaS application for which traffic has been reported. You must identify a pattern for extracting application ID and unique users using the SaaS Definitions Property Manager Behavior.
saastraffic-by-app Provides traffic data at a SaaS application level.
snistats-by-host Provides SNI capability data for SSL connections at the hostname level.
snistats-by-hostappcustsaas Provides SNI capability data for SSL connections at the hostname, SaaS customer, and SaaS application level.
Enabled by the Session Accelerator product
sxlmapping-by-time The data for DNS requests of any type that were made to process sessions associated with IPA traffic.

Gather data to execute the report

Each report allows a different range of request options, so first you need to gather all the information you’ll need to execute it:

  1. Gather a list of CP codes for which you want to report data.

  2. Run the List report types operation. Optionally specify showDeprecated=false to narrow the results to the latest available version. Set showUnavailable=false to omit any reports that your API client’s identity can’t execute.

    If you want to view other reports not available under your product, set showUnavailable=true, but note that you can’t execute any report unless it is marked as available. While you can execute many reports under any Akamai product, some require specific sets of products to enable them. If a report is unexpectedly not available, make sure you’re executing the report with access to any of the requiredProducts specified. Also make sure the API client identity has any of the permissions specified in requiredRoles.

  3. Optionally store any object from the List report types operation’s response array and store its name and version values. Otherwise use those values to run the Get a report type operation, storing its response object. The ReportType object includes most of the data you need to execute the report.

  4. From the ReportType object’s metrics array, store an array of each metric name you want to include in the report. The accompanying fullDescription provides documentation for each metric.

  5. From the filters array, store an object mapping of each filter name you want to refine results with. Make sure to include any filters that are required. The accompanying fullDescription provides documentation for each filter.

  6. For each filter name key you include in the map, the value needs to be an array. If the filter type is int or string, specify whatever set of values you want to refine the report. If the type is enum, then for each object in values, include any available value in the array. An accompanying fullDescription may clarify its use.

  7. The intervals array specifies a set of duration values, available for each report, to aggregate each row of data. Select a value to later pass in as the interval query parameter.

  8. Specify an overall time span for the entire report as start and end parameter values. But note that there may be a maxLimit cap on the number of data rows in each report. If the interval value is too brief, the report may fail to execute.

Execute the report

The API provides two operations that allow you to execute reports in slightly different ways:

  • The Generate a report POST operation allows you to submit a request with a Query JSON object that specifies the report’s criteria.

  • The Get a cacheable report GET operation specifies the same data as query parameters, allowing you to take advantage of a five minute cache to refresh data more quickly. However, overly long URLs may fail to execute, in which case use you can run the POST operation instead.

Both POST and GET operations respond with the same Report object.

To run the Generate a report POST operation:

  1. Prepare a Query object for the POST request.

  2. Specify the list of CP codes as an objectIds array, otherwise set objectIds to a string value of all. Set the accompanying objectType to cpcode.

  3. Optionally specify an array of metrics whose name values you gathered earlier. Otherwise omit metrics from the request to include all available metrics for this report.

  4. Optionally specify a map of filters whose name values you gathered earlier. Otherwise omit filters from the request to generate unfiltered data.

  5. POST the object to /reporting-api/v1/reports/{name}/versions/{version}/report-data{?start,end,interval}.

To run the Get a cacheable report GET operation:

  1. Specify an objectType query parameter of cpcode.

  2. Specify an objectIds query parameter with the set of CP codes you want to report on, separated with commas. Otherwise instead you can specify an allObjectIds query parameter to widen the scope of the report. Doing so may also shorten the URL.

  3. Specify a metrics query parameter, with the set of metric name values you gathered earlier, separated with commas.

  4. Specify a filters query parameter, with the set of filter name values you gathered earlier, followed by = and the corresponding value. Separate each name/value pair with commas. To represent more than one value, repeat the filter name. For example, this is how filters would appear prior to URL-encoding: filters=ip_version=ipv4,ip_version=ipv6,traffic_type=standard_secure.

To get CSV data instead of JSON:

  • When making either the POST or GET request described above, set the Accept header to text/csv, application/problem+json for CSV output with JSON error messaging.

Example: Get a report for Origin Performance

Origin Performance reporting provides insight into performance characteristics observed by Akamai edge servers when making requests to your origin servers.

Metrics are collected as a request travels from the edge servers to your origin, and the associated response travels from your origin to the edge servers. The request/response represents an exchange between the edge servers and your origin.

This reporting API provides traffic data for those exchanges. You can filter this performance data by whether or not the content is cacheable, and what HTTP response codes were returned by your origin.

The most recent version of the Origin Performance report is 2, as listed in Available reports.

Construct a GET query for Origin Performance report like:

/reporting-reports-executor-api/v1/reports/opresponses-by-time/versions/2/report-data
?start=2016-11-01T00%3A00
&end=2017-01-15T00%3A00
&interval=DAY
&metrics=avgResponseTime%2CminOriginResponseTime
&filters=ca%3Dnon_cacheable%2Cca%3Dcacheable
&objectType=cpcode
&objectIds=78959

Example: Generate a report on Origin Performance

To generate a report on Origin Performance with POST, prepare a base URL such as this:

/reporting-api/v1/reports/opresponses-by-time/versions/2/report-data

Additional query parameters set the range of the report and the interval each record represents. For example, you can specify an interval of a DAY. The example below shows how you would generate data over a range of a week. Since the report aggregates data per customer, data for each customer appears in separate records.

/reporting-api/v1/reports/opresponses-by-time/versions/2/report-data?interval=DAY&start=2017-05-10T00:00:00Z&end=2017-05-17T00:00:00Z

To prepare the Query object for the POST request, you need a set of objectIds to report on, which for this type of report is a CP code. As listed in Available reports, you reflect that as an objectType of cpcode.

This sample request shows how you would specify an Origin Performance report provisioned under several CP codes. The request specifies a set of metrics:

{
  "objectType": "cpcode",
  "objectIds": [
    "536194", "536198", "539651", "539798", "539987"
  ],
  "filters": {},
  "metrics": [
    "originResponsesTotal",
    "originResponses",
    "originResponsesSlope",
    "minOriginResponseTime",
    "avgResponseTime",
    "maxOriginResponseTime"
  ]
}

The response’s metadata section reflects context about the data you requested, based on both the supplied set of query parameters and the Query request object. The groupBy indicates that the data is by start date (startdatetime).

Response data represents your full set of requested metrics, along with the objectId for each record. The following shows a small example of response output:

{
  "metadata": {
    "name": "opresponses-by-time",
    "version": "2",
    "groupBy": [
      "startdatetime"
    ],
    "interval": "FIVE_MINUTES",
    "start": "2017-09-18T04:00:00Z",
    "end": "2017-09-18T04:15:00Z",
    "availableDataEnds": "2017-09-18T04:10:00Z",
    "suggestedRetryTime": "2017-09-18T18:32:27.911Z",
    "rowCount": 3,
    "filters": [],
    "columns": [
      {
        "name": "originResponsesSlope",
        "label": "Origin Responses/Sec Slope"
      },
      {
        "name": "avgResponseTime",
        "label": "Average Origin Response Time "
      },
      {
        "name": "maxOriginResponseTime",
        "label": "Maximum Origin Response Time "
      },
      {
        "name": "minOriginResponseTime",
        "label": "Minimum Origin Response Time"
      },
      {
        "name": "originResponsesTotal",
        "label": "Origin Responses Total"
      },
      {
        "name": "originResponses",
        "label": "Origin Responses/Sec"
      }
    ],
    "objectType": "cpcode",
    "objectIds": [
      "536194", "536198", "539651", "539798", "539987"
    ]
  },
  "data": [
    {
      "minOriginResponseTime": "0",
      "maxOriginResponseTime": "2367",
      "avgResponseTime": "96.683065",
      "originResponses": "11.52",
      "startdatetime": "2017-09-18T04:00:00Z"
    },
    {
      "minOriginResponseTime": "2",
      "maxOriginResponseTime": "1293",
      "avgResponseTime": "61.359237",
      "originResponses": "14.50666666666667",
      "startdatetime": "2017-09-18T04:05:00Z"
    },
    {
      "minOriginResponseTime": "2",
      "maxOriginResponseTime": "2501",
      "avgResponseTime": "64.462784",
      "originResponses": "11.54",
      "startdatetime": "2017-09-18T04:10:00Z"
    }
  ],
  "summaryStatistics": {
    "originResponsesTotal": {
      "value": "11270",
      "details": {}
    },
    "originResponsesSlope": {
      "value": "0.0100000000000",
      "details": {}
    }
  }
}

Optionally specify a set of filters to refine the data, based on this report type. You can also vary the set of requested metrics as needed. This sample requests data only for minimum and maximum origin response times, and applies filters to consider only non-cacheable content requests:

{
    "objectType": "cpcode",
    "objectIds": [
      "536194", "536198", "539651", "539798", "539987"
    ],
    "metrics": [ "minOriginResponseTime", "maxOriginResponseTime" ],
    "filters": {
        "ca": [ "non-cacheable" ]
    }
}

NOTE: Response data aggregates according to the interval you specify. Some report types return aggregate data and some return time series data, which includes a timestamp for each interval in the response.

Resources

This section provides details on the Reporting API’s operations and parameters.

API summary

Download the RAML descriptors for this API.

Operation Method Endpoint
List report types GET /reporting-api/v1/reports{?showDeprecated,showUnavailable}
List versions GET /reporting-api/v1/reports/{name}/versions{?showDeprecated,showUnavailable}
Get a report type GET /reporting-api/v1/reports/{name}/versions/{version}
Get a cacheable report GET /reporting-api/v1/reports/{name}/versions/{version}/report-data{?start,end,interval,objectType,objectIds,allObjectIds,metrics,filters}
Generate a report POST /reporting-api/v1/reports/{name}/versions/{version}/report-data{?start,end,interval}

List report types

List all versions of all report types, optionally filtering out older deprecated versions.

GET /reporting-api/v1/reports{?showDeprecated,showUnavailable}

Sample: /reporting-api/v1/reports?showDeprecated=true&showUnavailable=true

Parameter Type Sample Description
Optional query parameters
showDeprecated Boolean true Specifies if deprecated reports should be shown.
showUnavailable Boolean true Specifies if unavailable reports should be shown.

Status 200 application/json

Object type: ReportType

Download schema: report-list-response-schema.json

Response Body:

[
    {
        "name": "endpoint-traffic-by-time",
        "fullDescription": "Provides traffic data for your API endpoints over time.",
        "version": "1",
        "status": "PUBLISHED",
        "available": true,
        "deprecated": false,
        "outputType": "FLAT",
        "requiredProducts": [
            "Image Manager"
        ],
        "requiredRoles": [
            "Image Manager Report - View"
        ],
        "groupBy": [
            "startdatetime"
        ],
        "intervals": [
            "FIVE_MINUTE"
        ],
        "metrics": [
            {
                "name": "edgeHits",
                "fullDescription": "The request count."
            },
            {
                "name": "edgeHitsMax",
                "fullDescription": "The highest number of requests."
            },
            {
                "name": "edgeHitsMin",
                "fullDescription": "The lowest number of requests."
            },
            {
                "name": "edgeHitsTotal",
                "fullDescription": "The total number of edge requests for given objects and filters."
            }
        ],
        "filters": [
            {
                "name": "endpoint_id",
                "fullDescription": "The ID of an API configuration registered with Akamai.",
                "type": "int",
                "required": true
            },
            {
                "name": "error_state",
                "fullDescription": "A JWT-related reason for rejecting a request.",
                "type": "enum",
                "required": false,
                "values": [
                    {
                        "fullDescription": "success/ok",
                        "value": "o"
                    },
                    {
                        "fullDescription": "invalid token format",
                        "value": "f"
                    }
                ]
            },
            {
                "name": "response_class_errors",
                "fullDescription": "A class of HTTP response error status codes, for example, 4XX.",
                "type": "enum",
                "required": false,
                "values": [
                    {
                        "value": "4xx"
                    },
                    {
                        "value": "5xx"
                    }
                ]
            },
            {
                "name": "response_code_errors",
                "fullDescription": "An HTTP response error status code, for example, 404.",
                "type": "int",
                "required": false
            },
            {
                "name": "api_key",
                "fullDescription": "A unique identifier of an API consumer.",
                "type": "int",
                "required": false
            },
            {
                "name": "cpcode",
                "fullDescription": "Content Provider (CP) codes let you segment your delivered content for tracking and reporting purposes. All CP codes are tied to one or more services, which are then tracked and reported under that CP code.",
                "type": "string",
                "required": false
            }
        ],
        "links": [
            {
                "rel": "self",
                "href": "/reporting-api/v1/reports/endpoint-traffic-by-time/versions/1.1"
            },
            {
                "rel": "execute-post",
                "href": "/reporting-api/v1/reports/endpoint-traffic-by-time/versions/1.1/report-data",
                "method": "POST"
            },
            {
                "rel": "execute-get",
                "href": "/reporting-api/v1/reports/endpoint-traffic-by-time/versions/1.1/report-data",
                "method": "GET"
            },
            {
                "rel": "versions",
                "href": "/reporting-api/v1/reports/endpoint-traffic-by-time/versions/"
            },
            {
                "rel": "all-reports",
                "href": "/reporting-api/v1/reports"
            }
        ]
    },
    {
        "name": "imbytes-by-imagetype",
        "fullDescription": "Provides volume data for imagFes configured to use Image Manager at the image type level. (Requires Image Manager.)",
        "status": "PUBLISHED",
        "available": true,
        "deprecated": false,
        "dataRetentionDays": 60,
        "outputType": "FLAT",
        "requiredProducts": [
            "Image Manager"
        ],
        "groupBy": [
            "startdatetime"
        ],
        "intervals": [
            "HOUR"
        ],
        "metrics": [
            {
                "name": "edgeImageBytes",
                "fullDescription": "The volume used during requests for images that use Image Manager."
            },
            {
                "name": "edgeImageBytesPercent",
                "fullDescription": "The volume used during requests for images that use Image Manager."
            }
        ],
        "filters": [
            {
                "name": "token_policy",
                "fullDescription": "The Image Manager policy for which you want data included. Policies are associated with their API tokens.",
                "type": "string",
                "required": false
            },
            {
                "name": "cpcode",
                "fullDescription": "Content Provider (CP) codes let you segment your delivered content for tracking and reporting purposes. All CP codes are tied to one or more services, which are then tracked and reported under that CP code.",
                "type": "string",
                "required": true
            }
        ],
        "links": [
            {
                "rel": "self",
                "href": "/reporting-api/v1/reports/imbytes-by-imagetype/versions/1.1"
            },
            {
                "rel": "execute-post",
                "href": "/reporting-api/v1/reports/imbytes-by-imagetype/versions/1.1/report-data",
                "method": "POST"
            },
            {
                "rel": "execute-get",
                "href": "/reporting-api/v1/reports/imbytes-by-imagetype/versions/1.1/report-data",
                "method": "GET"
            },
            {
                "rel": "versions",
                "href": "/reporting-api/v1/reports/imbytes-by-imagetype/versions/"
            },
            {
                "rel": "all-reports",
                "href": "/reporting-api/v1/reports"
            }
        ]
    }
]

List versions

List all versions for a specific report type.

GET /reporting-api/v1/reports/{name}/versions{?showDeprecated,showUnavailable}

Sample: /reporting-api/v1/reports/opresponses-by-time/versions?showDeprecated=true&showUnavailable=true

Parameter Type Sample Description
URL parameters
name String opresponses-by-time Identifies the type of report.
Optional query parameters
showDeprecated Boolean true Specifies if deprecated reports should be shown.
showUnavailable Boolean true Specifies if unavailable reports should be shown.

Status 200 application/json

Object type: ReportType

Download schema: report-list-response-schema.json

Response Body:

[
    {
        "name": "endpoint-traffic-by-time",
        "fullDescription": "Provides traffic data for your API endpoints over time.",
        "version": "1",
        "status": "PUBLISHED",
        "available": true,
        "deprecated": false,
        "outputType": "FLAT",
        "requiredProducts": [
            "Image Manager"
        ],
        "requiredRoles": [
            "Image Manager Report - View"
        ],
        "groupBy": [
            "startdatetime"
        ],
        "intervals": [
            "FIVE_MINUTE"
        ],
        "metrics": [
            {
                "name": "edgeHits",
                "fullDescription": "The request count."
            },
            {
                "name": "edgeHitsMax",
                "fullDescription": "The highest number of requests."
            },
            {
                "name": "edgeHitsMin",
                "fullDescription": "The lowest number of requests."
            },
            {
                "name": "edgeHitsTotal",
                "fullDescription": "The total number of edge requests for given objects and filters."
            }
        ],
        "filters": [
            {
                "name": "endpoint_id",
                "fullDescription": "The ID of an API configuration registered with Akamai.",
                "type": "int",
                "required": true
            },
            {
                "name": "error_state",
                "fullDescription": "A JWT-related reason for rejecting a request.",
                "type": "enum",
                "required": false,
                "values": [
                    {
                        "fullDescription": "success/ok",
                        "value": "o"
                    },
                    {
                        "fullDescription": "invalid token format",
                        "value": "f"
                    }
                ]
            },
            {
                "name": "response_class_errors",
                "fullDescription": "A class of HTTP response error status codes, for example, 4XX.",
                "type": "enum",
                "required": false,
                "values": [
                    {
                        "value": "4xx"
                    },
                    {
                        "value": "5xx"
                    }
                ]
            },
            {
                "name": "response_code_errors",
                "fullDescription": "An HTTP response error status code, for example, 404.",
                "type": "int",
                "required": false
            },
            {
                "name": "api_key",
                "fullDescription": "A unique identifier of an API consumer.",
                "type": "int",
                "required": false
            },
            {
                "name": "cpcode",
                "fullDescription": "Content Provider (CP) codes let you segment your delivered content for tracking and reporting purposes. All CP codes are tied to one or more services, which are then tracked and reported under that CP code.",
                "type": "string",
                "required": false
            }
        ],
        "links": [
            {
                "rel": "self",
                "href": "/reporting-api/v1/reports/endpoint-traffic-by-time/versions/1.1"
            },
            {
                "rel": "execute-post",
                "href": "/reporting-api/v1/reports/endpoint-traffic-by-time/versions/1.1/report-data",
                "method": "POST"
            },
            {
                "rel": "execute-get",
                "href": "/reporting-api/v1/reports/endpoint-traffic-by-time/versions/1.1/report-data",
                "method": "GET"
            },
            {
                "rel": "versions",
                "href": "/reporting-api/v1/reports/endpoint-traffic-by-time/versions/"
            },
            {
                "rel": "all-reports",
                "href": "/reporting-api/v1/reports"
            }
        ]
    },
    {
        "name": "imbytes-by-imagetype",
        "fullDescription": "Provides volume data for imagFes configured to use Image Manager at the image type level. (Requires Image Manager.)",
        "status": "PUBLISHED",
        "available": true,
        "deprecated": false,
        "dataRetentionDays": 60,
        "outputType": "FLAT",
        "requiredProducts": [
            "Image Manager"
        ],
        "groupBy": [
            "startdatetime"
        ],
        "intervals": [
            "HOUR"
        ],
        "metrics": [
            {
                "name": "edgeImageBytes",
                "fullDescription": "The volume used during requests for images that use Image Manager."
            },
            {
                "name": "edgeImageBytesPercent",
                "fullDescription": "The volume used during requests for images that use Image Manager."
            }
        ],
        "filters": [
            {
                "name": "token_policy",
                "fullDescription": "The Image Manager policy for which you want data included. Policies are associated with their API tokens.",
                "type": "string",
                "required": false
            },
            {
                "name": "cpcode",
                "fullDescription": "Content Provider (CP) codes let you segment your delivered content for tracking and reporting purposes. All CP codes are tied to one or more services, which are then tracked and reported under that CP code.",
                "type": "string",
                "required": true
            }
        ],
        "links": [
            {
                "rel": "self",
                "href": "/reporting-api/v1/reports/imbytes-by-imagetype/versions/1.1"
            },
            {
                "rel": "execute-post",
                "href": "/reporting-api/v1/reports/imbytes-by-imagetype/versions/1.1/report-data",
                "method": "POST"
            },
            {
                "rel": "execute-get",
                "href": "/reporting-api/v1/reports/imbytes-by-imagetype/versions/1.1/report-data",
                "method": "GET"
            },
            {
                "rel": "versions",
                "href": "/reporting-api/v1/reports/imbytes-by-imagetype/versions/"
            },
            {
                "rel": "all-reports",
                "href": "/reporting-api/v1/reports"
            }
        ]
    }
]

Get a report type

Get a specific version of a report type.

GET /reporting-api/v1/reports/{name}/versions/{version}

Sample: /reporting-api/v1/reports/opresponses-by-time/versions/1

Parameter Type Sample Description
URL parameters
name String opresponses-by-time Identifies the type of report.
version Integer 1 The version of the report type.

Status 200 application/json

Object type: ReportType

Download schema: data-row-schema.json

Response Body:

{
    "name": "endpoint-traffic-by-time",
    "fullDescription": "Provides traffic data for your API endpoints over time.",
    "version": "1",
    "status": "PUBLISHED",
    "available": true,
    "deprecated": false,
    "outputType": "FLAT",
    "requiredProducts": [
        "Image Manager"
    ],
    "requiredRoles": [
        "Image Manager Report - View"
    ],
    "groupBy": [
        "startdatetime"
    ],
    "intervals": [
        "FIVE_MINUTE"
    ],
    "metrics": [
        {
            "name": "edgeHits",
            "fullDescription": "The request count."
        },
        {
            "name": "edgeHitsMax",
            "fullDescription": "The highest number of requests."
        },
        {
            "name": "edgeHitsMin",
            "fullDescription": "The lowest number of requests."
        },
        {
            "name": "edgeHitsTotal",
            "fullDescription": "The total number of edge requests for given objects and filters."
        }
    ],
    "filters": [
        {
            "name": "endpoint_id",
            "fullDescription": "The ID of an API configuration registered with Akamai.",
            "type": "int",
            "required": true
        },
        {
            "name": "error_state",
            "fullDescription": "A JWT-related reason for rejecting a request.",
            "type": "enum",
            "required": false,
            "values": [
                {
                    "fullDescription": "success/ok",
                    "value": "o"
                },
                {
                    "fullDescription": "invalid token format",
                    "value": "f"
                }
            ]
        },
        {
            "name": "response_class_errors",
            "fullDescription": "A class of HTTP response error status codes, for example, 4XX.",
            "type": "enum",
            "required": false,
            "values": [
                {
                    "value": "4xx"
                },
                {
                    "value": "5xx"
                }
            ]
        },
        {
            "name": "response_code_errors",
            "fullDescription": "An HTTP response error status code, for example, 404.",
            "type": "int",
            "required": false
        },
        {
            "name": "api_key",
            "fullDescription": "A unique identifier of an API consumer.",
            "type": "int",
            "required": false
        },
        {
            "name": "cpcode",
            "fullDescription": "Content Provider (CP) codes let you segment your delivered content for tracking and reporting purposes. All CP codes are tied to one or more services, which are then tracked and reported under that CP code.",
            "type": "string",
            "required": false
        }
    ],
    "links": [
        {
            "rel": "self",
            "href": "/reporting-api/v1/reports/endpoint-traffic-by-time/versions/1.1"
        },
        {
            "rel": "execute-post",
            "href": "/reporting-api/v1/reports/endpoint-traffic-by-time/versions/1.1/report-data",
            "method": "POST"
        },
        {
            "rel": "execute-get",
            "href": "/reporting-api/v1/reports/endpoint-traffic-by-time/versions/1.1/report-data",
            "method": "GET"
        },
        {
            "rel": "versions",
            "href": "/reporting-api/v1/reports/endpoint-traffic-by-time/versions/"
        },
        {
            "rel": "all-reports",
            "href": "/reporting-api/v1/reports"
        }
    ]
}

Get a cacheable report

Produce a report in either JSON or CSV format for a specific version of a type of report. While functionally identical to Generate a report, this alternative GET operation specifies all request data as query parameters. Once initially generated, the API caches corresponding Report responses for quicker access.

GET /reporting-api/v1/reports/{name}/versions/{version}/report-data{?start,end,interval,objectType,objectIds,allObjectIds,metrics,filters}

Sample: /reporting-api/v1/reports/opresponses-by-time/versions/1/report-data?start=2016-07-01T00%3A00%3A00Z&end=2016-07-02T00%3A00%3A00Z&interval=DAY&objectType=cpcode&objectIds=55232%2C23433%2C32433&allObjectIds=true&metrics=top_urls%2Cbrowser_hits%2C%20edgres_hits_success&filters=ip_version%3Dipv4%2Cip_version%3Dipv6%2C%20traffic_type%3Dstandard_secure

Parameter Type Sample Description
URL parameters
name String opresponses-by-time Identifies the type of report.
version Integer 1 The version of the report type.
Required query parameters
end String 2016-07-02T00:00:00Z Specifies the end of the reported period as an ISO–8601 timestamp with optional time zone. The report excludes any data that matches the end value’s timestamp.
interval Enumeration DAY The duration of each data record, either FIVE_MINUTES, HOUR, DAY, WEEK, or MONTH. Support for specific interval values may vary for each report type.
objectType Enumeration cpcode Specifies the type of object you want to report on. The only currently available option is to report by cpcode.
start String 2016-07-01T00:00:00Z Specifies the start of the reported period as an ISO–8601 timestamp with optional time zone.
Optional query parameters
allObjectIds Boolean true As an alternative to objectIds, enabling this generates a report that includes all IDs available for the specified objectType. This parameter is ignored if the request also specifies a set of objectIds.
filters String ip_version=ipv4,ip_version=ipv6, traffic_type=standard_secure Specifies criteria to filter the report’s data. The set of available filters depends on the type of report. Separate each filter name and value with an equals (=) character, and separate various name/value pairs with commas (,). To specify more than one filter value, repeat the filter name. See the accompanying example for guidance. URL-encode the entire value in the GET request.
metrics String top_urls,browser_hits, edgres_hits_success Specifies a comma-separated list of metrics to include in the report, otherwise all metrics if omitted. The set of available metrics depends on the type of report.
objectIds String 55232,23433,32433 As an alternative to allObjectIds, specifies the set of unique IDs for the given objectType you want to report on, formatted as a comma-delimited list.

Status 200 application/json

Object type: Report

Download schema: report-response-schema.json

Response Body:

{
    "metadata": {
        "name": "opresponses-by-time",
        "version": "1",
        "outputType": "FLAT",
        "start": "2016-08-17T00:00:00Z",
        "end": "2016-08-18T00:00:00Z",
        "interval": "HOUR",
        "objectType": "cpcode",
        "availableDataEnds": null,
        "suggestedRetryTime": null,
        "rowCount": 24,
        "uri": "/reporting-report-executor/reports/traffic-by-time/v1",
        "groupBy": [
            "timestamp"
        ],
        "objectIds": [
            "536194",
            "536198",
            "539651",
            "539798",
            "539987"
        ],
        "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"
            }
        ]
    },
    "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": {}
        }
    },
    "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
        }
    ]
}

Status 200 text/csv

Response Body:

#METADATA_START
name,some_category
version,1
source,some_category/versions/1
groupBy,service,url
start,2017-01-01T00:00:00Z
end,2017-01-01T00:15:00Z
interval,FIVE_MINUTES,
availableDataEnds,
suggestedRetryTime,
rowCount,2
objectType,cpcode
objectIds,113453,313508
http_method,include_putpost
ip_version,ipv4
#METADATA_END

#SUMMARYSTATISTICS_START
#SUMMARYSTATISTICS_END

#COLUMNS_START
service,url,metric1,metric2
#COLUMNS_END

#DATA_START
ts.download.akamai.com,/../login.php,11,21
ts.download.akamai.com,/:443,12,22
#DATA_END

Generate a report

Produce a report in either JSON or CSV format for a specific version of a type of report. Query parameters specify the range of data and the aggregation interval for each record. While functionally identical to Get a cacheable report, this POST operation specifies a Query request object for a corresponding Report response, which the API does not cache.

POST /reporting-api/v1/reports/{name}/versions/{version}/report-data{?start,end,interval}

Sample: /reporting-api/v1/reports/opresponses-by-time/versions/1/report-data?start=2016-07-01T00%3A00%3A00Z&end=2016-07-02T00%3A00%3A00Z&interval=DAY

Content-Type: application/json

Object type: Query

Download schema: report-request-schema.json

Request Body:

{
    "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"
        ]
    }
}
Parameter Type Sample Description
URL parameters
name String opresponses-by-time Identifies the type of report.
version Integer 1 The version of the report type.
Required query parameters
end String 2016-07-02T00:00:00Z Specifies the end of the reported period as an ISO–8601 date with timezone. Any data that matches the end value’s timestamp is excluded from the report.
interval Enumeration DAY The duration of each data record, either FIVE_MINUTES, HOUR, DAY, WEEK, or MONTH. Support for specific interval values may vary by report type.
start String 2016-07-01T00:00:00Z Specifies the start of the reported period as an ISO–8601 date with timezone.

Status 200 application/json

Object type: Report

Download schema: report-response-schema.json

Response Body:

{
    "metadata": {
        "name": "opresponses-by-time",
        "version": "1",
        "outputType": "FLAT",
        "start": "2016-08-17T00:00:00Z",
        "end": "2016-08-18T00:00:00Z",
        "interval": "HOUR",
        "objectType": "cpcode",
        "availableDataEnds": null,
        "suggestedRetryTime": null,
        "rowCount": 24,
        "uri": "/reporting-report-executor/reports/traffic-by-time/v1",
        "groupBy": [
            "timestamp"
        ],
        "objectIds": [
            "536194",
            "536198",
            "539651",
            "539798",
            "539987"
        ],
        "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"
            }
        ]
    },
    "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": {}
        }
    },
    "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
        }
    ]
}

Status 200 text/csv

Response Body:

#METADATA_START
name,some_category
version,1
source,some_category/versions/1
groupBy,service,url
start,2017-01-01T00:00:00Z
end,2017-01-01T00:15:00Z
interval,FIVE_MINUTES,
availableDataEnds,
suggestedRetryTime,
rowCount,2
objectType,cpcode
objectIds,113453,313508
http_method,include_putpost
ip_version,ipv4
#METADATA_END

#SUMMARYSTATISTICS_START
#SUMMARYSTATISTICS_END

#COLUMNS_START
service,url,metric1,metric2
#COLUMNS_END

#DATA_START
ts.download.akamai.com,/../login.php,11,21
ts.download.akamai.com,/:443,12,22
#DATA_END

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.

Note that the list of objectIds identified in your query must be unique.

Download the JSON schemas for this API.

The data schema tables below list membership requirements as follows:

Member is required in requests, or always present in responses, even if its value is empty or null.
Member is optional, and may be omitted in some cases.

ReportType

Describes the range of query options available for each report.

Download schema: report-list-row-schema.json

Sample GET request:

{
    "name": "endpoint-traffic-by-time",
    "fullDescription": "Provides traffic data for your API endpoints over time.",
    "version": "1",
    "status": "PUBLISHED",
    "available": true,
    "deprecated": false,
    "outputType": "FLAT",
    "requiredProducts": [
        "Image Manager"
    ],
    "requiredRoles": [
        "Image Manager Report - View"
    ],
    "groupBy": [
        "startdatetime"
    ],
    "intervals": [
        "FIVE_MINUTE"
    ],
    "metrics": [
        {
            "name": "edgeHits",
            "fullDescription": "The request count."
        },
        {
            "name": "edgeHitsMax",
            "fullDescription": "The highest number of requests."
        },
        {
            "name": "edgeHitsMin",
            "fullDescription": "The lowest number of requests."
        },
        {
            "name": "edgeHitsTotal",
            "fullDescription": "The total number of edge requests for given objects and filters."
        }
    ],
    "filters": [
        {
            "name": "endpoint_id",
            "fullDescription": "The ID of an API configuration registered with Akamai.",
            "type": "int",
            "required": true
        },
        {
            "name": "error_state",
            "fullDescription": "A JWT-related reason for rejecting a request.",
            "type": "enum",
            "required": false,
            "values": [
                {
                    "fullDescription": "success/ok",
                    "value": "o"
                },
                {
                    "fullDescription": "invalid token format",
                    "value": "f"
                }
            ]
        },
        {
            "name": "response_class_errors",
            "fullDescription": "A class of HTTP response error status codes, for example, 4XX.",
            "type": "enum",
            "required": false,
            "values": [
                {
                    "value": "4xx"
                },
                {
                    "value": "5xx"
                }
            ]
        },
        {
            "name": "response_code_errors",
            "fullDescription": "An HTTP response error status code, for example, 404.",
            "type": "int",
            "required": false
        },
        {
            "name": "api_key",
            "fullDescription": "A unique identifier of an API consumer.",
            "type": "int",
            "required": false
        },
        {
            "name": "cpcode",
            "fullDescription": "Content Provider (CP) codes let you segment your delivered content for tracking and reporting purposes. All CP codes are tied to one or more services, which are then tracked and reported under that CP code.",
            "type": "string",
            "required": false
        }
    ],
    "links": [
        {
            "rel": "self",
            "href": "/reporting-api/v1/reports/endpoint-traffic-by-time/versions/1.1"
        },
        {
            "rel": "execute-post",
            "href": "/reporting-api/v1/reports/endpoint-traffic-by-time/versions/1.1/report-data",
            "method": "POST"
        },
        {
            "rel": "execute-get",
            "href": "/reporting-api/v1/reports/endpoint-traffic-by-time/versions/1.1/report-data",
            "method": "GET"
        },
        {
            "rel": "versions",
            "href": "/reporting-api/v1/reports/endpoint-traffic-by-time/versions/"
        },
        {
            "rel": "all-reports",
            "href": "/reporting-api/v1/reports"
        }
    ]
}

ReportType members

Member Type Required Description
ReportType: Describes the range of query options available for each report.
available Boolean When enabled, indicates the report can be executed by the current user.
dataRetentionDays Integer The number of days for which this report’s data is available.
deprecated Boolean When enabled, indicates that this is an older version of the report.
filters ReportType.filters[] Lists the set of available filters available for this report.
fullDescription String Documentation that describes this report.
groupBy Array This indicates names of columns by which reported data is grouped. It’s reflected in the generated report’s metadata.
intervals Array Specifies the set of available spans of time to aggregate data by. Use one of these values as the interval query parameter when executing the report.
limit Integer The default number of data rows included for this report.
links ReportType.links[] Specifies dynamic hypermedia links to report-generating operations.
maxLimit Integer The maximum number of data rows permitted for this report.
metrics ReportType.metrics[] Lists the set of available metrics available for this report.
name String Specifies the name of the report.
requiredProducts Array If specified, this lists any product you need to execute the report.
requiredRoles Array A set of permissions, any of which you need to execute the report. Some permissions may correspond to specific requiredProducts.
status Enumeration Whether this version of the report is PUBLISHED or DEPRECATED, in which case deprecated is also enabled.
version String The version of this report.
ReportType.filters[]: Lists the set of available filters available for this report.
fullDescription String Provides documentation describing the available filter.
name String The name of the available filter.
required Boolean When enabled, you need to specify this filter when executing the report.
type Enumeration The type of data this filter expects, either arbitrary int or string, or a fixed enum specified by values.
values ReportType.filters[].values[] When the type of filter is enum, this lists available values.
ReportType.filters[].values[]: When the type of filter is enum, this lists available values.
fullDescription String Where necessary, provides documentation describing the enumerated value.
value String Specifies each enumerated string value.
ReportType.links[]: Specifies dynamic hypermedia links to report-generating operations.
href String The hypermedia URL linking the API resource.
method String The HTTP method to call the href link with. If unspecified, use the GET method.
rel String Identifies the type of resource.
ReportType.metrics[]: Lists the set of available metrics available for this report.
fullDescription String Provides documentation describing the available metric.
name String The name of the available metric.

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
Query: Specifies available metrics for the report type, filters to reduce the data, and a set of objects to report on.
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. The set of available filters depends on the type of report.
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",
        "outputType": "FLAT",
        "start": "2016-08-17T00:00:00Z",
        "end": "2016-08-18T00:00:00Z",
        "interval": "HOUR",
        "objectType": "cpcode",
        "availableDataEnds": null,
        "suggestedRetryTime": null,
        "rowCount": 24,
        "uri": "/reporting-report-executor/reports/traffic-by-time/v1",
        "groupBy": [
            "timestamp"
        ],
        "objectIds": [
            "536194",
            "536198",
            "539651",
            "539798",
            "539987"
        ],
        "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"
            }
        ]
    },
    "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": {}
        }
    },
    "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
        }
    ]
}

Report members

Member Type Required Description
Report: Encapsulates the response report, including aggregated data and reflecting details on the request.
data Report.data[] 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[]: 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.
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.
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[] 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[] 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[]: Provides interface labels for data and summaryStatistics items.
label String The interface label to assign to the corresponding name.
name String The name of the data or summaryStatistics member.
Report.metadata.filters[]: Reflects the set of filters from the Query request.
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: Collects Key Performance Indicator data. The name of each KPI metric serves as the object key.
{metric} Report.summaryStatistics.{metric} Encapsulates information for each Key Performance Indicator. The name of each KPI metric is the object key within the summaryStatistics object.
Report.summaryStatistics.{metric}: Encapsulates information for each Key Performance Indicator. The name of each KPI metric is the object key within the summaryStatistics object.
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.
startdatetime String ISO 8601 timestamp indicating when this metric reached this value, for example when a desired minimum or maximum threshold was fulfilled.

Errors

This section provides details on the data object that reflects the API’s common response to error cases, and lists the API’s range of response status codes for both error and success cases.

HTTP status codes

This section lists the full range of response codes the API may generate.

Code Description
200 The operation was successful.
400 Invalid report request. For example, this error occurs if you form a filter value incorrectly, forget a required filter, or use a filter or metric not supported by a type of report. The associated error message instructs you further.
403 Access is forbidden, for example, when you don’t have access to one or more objects, like CP codes, for which you tried to retrieve data. If needed, talk to your local administrator to adjust access. See Get Started with APIs for more information.

Last modified: 3/15/2019