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. 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 for troubleshooting, 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

Before using the API for the first time:

  • Review Get Started on tools that Akamai provides for all its APIs.

  • Review Authorize Your Client to create your API access credentials and authorizations. As detailed in the API Identity Model section, you then access the API using custom hostnames that looks like this: https://akzz-XXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXX.luna.akamaiapis.net.

  • Review the Authorize Your Client section to make sure the identity under which you provision the API can access its full range of functionality. The API limits the scope of the returned data by the user’s contract and account, its permissions, and access to the business objects (for example, a CP code) that are associated with the user and account. Use the Identity Management application to expand access if necessary, or the Identity Management API as a programmatic alternative.

Reporting API workflow

In this API framework, you use a single Generate a Report operation to produce reports for various types of data to which you have access:

  1. Pick the reportName you want from Available Reports.

  2. Each reportName supports different versions, for which you may vary the reportVersion. The latest version for each report is also listed in Available Reports.

  3. Specify the start and end range as query parameters, and the interval for the data granularity.

  4. Prepare a Query object for the POST request that specifies the set of objectIds you want to report on. The objectType identifies what each object represents, for example, a cpcode.

  5. Optionally specify a subset of metrics within the Query request, or corresponding filters to refine the results. Otherwise all metrics available for the version of the report type generate unfiltered.

  6. The response’s Report object reflects back the set of requested metrics in each row of data. It also reflects back details about the request context as metadata.

  7. Set the Accept header to application/json for JSON output, or text/csv, application/problem+json for CSV output with JSON error messaging.

Report on 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 date 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 listed in Available Reports, the most recent version for each report is 1. 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 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.

Available reports

The following table provides details for each type of report the Reporting API generates. Each reportName appears along with its most recent reportVersion. The groupBy shows how each report’s data aggregates and sorts, potentially by several dimensions of data. (All report requests currently require a single objectType of cpcode.) See also the metrics and filters available for these categories.

reportName reportVersion groupBy Description
aic-by-time 2 timestamp Provides the number of images compressed per second to improve performance, based on network conditions.
cloudlet-activity-by-time 2 timestamp Provides data about the number of times Cloudlets ran in response to either an incoming request or a rule match. Data is available for up to 90 days.
cmlogline-by-time 1 timestamp Provides real-time logging data for your HTTP traffic.
cmreq-by-cpcode 1 timestamp Provides HTTP transaction data delivered through the edge platform to your end users at the CP code level.
cmreq-by-time 1 timestamp Provides HTTP transaction data delivered through the edge platform to your end users.
endpoint-errors-by-response-class 1 response_class_errors Provides error data for your your API endpoints by response class, for example, 4xx.
endpoint-errors-by-response-code 1 response_code_errors Provides error data for your your API endpoints by specific response code.
endpoint-errors-by-time 1 timestamp Provides error information for your API endpoints over time.
endpoint-hits-by-apikey 1 api_key Provides hits data for your API endpoints by the API keys included in the incoming API requests.
endpoint-traffic-by-time 1 timestamp Provides traffic data for your API endpoints over time.
endpoint-usage-by-method 1 http_method Provides information about the usage of your API endpoints and the HTTP methods that API consumers called on your endpoints.
endpoint-usage-by-method-and-response 1 endpoint_id, http_method, response_code 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 1 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 1 timestamp Provides information about the usage of your API endpoints over time and the API keys included in the incoming API requests.
icbytes-by-url 1 timestamp Provides URL volume data associated with supported image formats: JPG, GIF, and PNG configured for Image Converter. Since this report only produces daily data, the only valid interval value is DAY.
ichits-by-url 1 timestamp Provides URL traffic data associated with supported image formats: JPG, GIF, and PNG configured for Image Converter. Since this report only produces daily data, the only valid interval value is DAY.
ictraffic-by-time 1 timestamp Provides data about traffic and bandwidth associated with supported image formats configured for Image Converter.
imbytes-by-browser 1 timestamp Provides volume data for images configured to use Image Manager at the browser level.
imbytes-by-imagetype 1 timestamp Provides volume data for images configured to use Image Manager at the image type level.
imbytes-by-policy 1 timestamp Provides volume data for images configured to use Image Manager at the token policy level.
imbytes-by-policyandbrowser 1 timestamp Provides volume data for images configured to use Image Manager at the token policy and browser level.
imbytes-by-policyandimagetype 1 timestamp Provides volume data for images configured to use Image Manager at the token policy and image type level.
imbytes-by-policyandwidth 1 timestamp Provides volume data for images configured to use Image Manager at the token policy and image width level.
imbytes-by-width 1 timestamp Provides volume data for images configured to use Image Manager at the image width level.
imhits-by-browser 1 timestamp Provides hits data for images configured to use Image Manager at the browser level.
imhits-by-imagetype 1 timestamp Provides traffic data for images configured to use Image Manager on your site.
imhits-by-policy 1 timestamp Provides hits data for images configured to use Image Manager at the token policy level.
imhits-by-policyandbrowser 1 timestamp Provides hits data for images configured to use Image Manager at the token policy and browser level.
imhits-by-policyandimagetype 1 timestamp Provides hits data for images configured to use Image Manager at the token policy and image type level.
imhits-by-policyandwidth 1 timestamp Provides hits data for images configured to use Image Manager at the token policy and image width level.
imhits-by-width 1 timestamp Provides hits data for images configured to use Image Manager at the image width level.
imtopbytesurls-by-url 1 timestamp Provides URL volume data for images configured to use Image Manager, by URL.
imtophiturls-by-url 1 timestamp Provides URL traffic data for images configured to use Image Manager, by URL.
imtraffic-by-time 1 timestamp Provides traffic data for images configured to use Image Manager at the image type level.
ipa-trafficlost-by-time 2 timestamp Provides blocked traffic data for IP Application Accelerator. Valid interval values for this report are FIVE_MINUTES, HOUR, or DAY, and data is available for 90 days.
ipamapping-by-time 1 timestamp Provides data for DNS requests of any type that were made to process sessions associated with IPA traffic. Valid interval values for this report are FIVE_MINUTES, HOUR, or DAY, and data is available for 90 days.
ipatraffic-by-slot 1 timestamp Provides traffic volume data for origins that are served by associated Sureroute IP (SRIP) endpoints. Valid interval values for this report are FIVE_MINUTES, HOUR, or DAY, and data is available for 90 days.
ipatraffic-by-time 1 timestamp Provides traffic and bandwidth data associated with TCP application delivery via IPA. Valid interval values for this report are FIVE_MINUTES, HOUR, or DAY, and data is available for 90 days.
jwt-usage-by-endpoint 1 endpoint_id, error_state, failed_claim Provides information about the usage of your JSON Web Tokens by API endpoint.
jwt-usage-by-errors 1 error_state Provides error information for your JSON Web Tokens.
jwt-usage-by-time 1 timestamp Provides information about the usage of your JSON Web Tokens (JWT) over time.
opresponses-by-time 2 timestamp Provides performance data for Akamai edge servers requests to your origin servers.
prefetchedgemetrics-by-time 1 timestamp Provides volume of responses served by Akamai edge servers when you are using the Akamai Instant (Page Prefetching) behavior. Since this report only produces daily data, the only valid interval value is DAY.
prefetchedgepfmetrics-by-time 1 timestamp 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. Since this report only produces daily data, the only valid interval value is DAY.
prefetchoriginmetrics-by-time 1 timestamp Provides volume of responses served by your origin server when you are using the Akamai Instant (Page Prefetching) behavior. Since this report only produces daily data, the only valid interval value is DAY.
saasappusers-by-cust 1 appid 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. Since this report only produces monthly data, the only valid interval value is MONTH.
saascustusers-by-app 1 appid 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. Since this report only produces monthly data, the only valid interval value is MONTH.
saastraffic-by-app 1 appid Provides traffic data at a SaaS application level. Since this report only produces daily data, the only valid interval value is DAY.
saastraffic-by-cust 1 custid Provides traffic data at a SaaS customer level. Since this report only produces daily data, the only valid interval value is DAY.
snistats-by-host 1 timestamp Provides SNI capability data for SSL connections at the hostname level.
snistats-by-hostappcustsaas 1 timestamp Provides SNI capability data for SSL connections at the hostname, SaaS customer, and SaaS application level.
sxlmapping-by-time 1 timestamp Provides data for DNS requests of any type that were made to process sessions associated with IPA traffic. Valid interval values for this report are FIVE_MINUTES, HOUR, or DAY, and data is available for 90 days.
sxltraffic-by-slot 1 timestamp Provides traffic volume data for origins that are served by associated Sureroute IP (SRIP) endpoints. Valid interval values for this report are FIVE_MINUTES, HOUR, or DAY, and data is available for 90 days.
sxltraffic-by-time 1 timestamp Provides data that is associated with the traffic between an origin web server or a set of origins. Valid interval values for this report are FIVE_MINUTES, HOUR, or DAY, and data is available for 90 days.
upsrtraffic-by-time 1 timestamp Provides the percentage of traffic for which SureRoute provided a faster route for responses. Since this report only produces daily data, the only valid interval value is DAY.

Supported metrics

The following lists available metrics for the current version of available reports. Note that data for various Total metrics may be limited by various filters you specify.

Metric Description
Report name: aic-by-time
adaptedHitsTotal The number of compressed images served per second to improve performance, based on network conditions.
excellentHitsPerSecond The rate of compressed images served per second to improve performance, based on excellent network conditions.
goodHitsPerSecond The rate of compressed images served per second to improve performance, based on good network conditions.
poorHitsPerSecond The rate of compressed images served per second to improve performance, based on poor network conditions.
Report name: cloudlet-activity-by-time
hits The number of requests for the associated URL.
hitsLatest The most recent number of match hits and misses for the selected Cloudlets types.
hitsPeak The highest number of match hits and misses for the selected Cloudlets types.
rulesMatched The number of times a Cloudlet ran in response to an incoming request or after a rule within a policy matched.
rulesMatchedLatest The most recent number of times a Cloudlet ran in response to an incoming request or after a rule within a policy matched.
rulesMatchedMax The highest number of times a Cloudlet ran in response to an incoming request or after a rule within a policy matched.
rulesMatchedTotal The total number of times a Cloudlet ran in response to an incoming request or after a rule within a policy matched.
total The total number of match hits and misses for the selected Cloudlets types.
Report name: cmlogline-by-time
forwardRequestBytesPerSecond The total bandwidth rate of aggregated log lines (forward requests containing HTTP event data at the edge sent in an HTTPS POST request from Akamai edge servers to your origin).
forwardRequestBytesPerSecondLatest The most recent bandwidth rate of aggregated log lines (forward requests containing HTTP event data at the edge sent in an HTTPS POST request from Akamai edge servers to your origin).
forwardRequestBytesPerSecondMax The highest bandwidth rate of aggregated log lines (forward requests containing HTTP event data at the edge sent in an HTTPS POST request from Akamai edge servers to your origin).
forwardRequestBytesTotal The total volume of aggregated log lines (forward requests containing HTTP event data at the edge sent in an HTTPS POST request from Akamai edge servers to your origin).
loglineCountPerSecond The rate of aggregated log lines (forward requests containing HTTP event data at the edge sent in an HTTPS POST request from Akamai edge servers to your origin).
loglineCountPerSecondLatest The latest rate of aggregated log lines (forward requests containing HTTP event data at the edge sent in an HTTPS POST request from Akamai edge servers to your origin).
loglineCountPerSecondMax The highest rate of aggregated log lines (forward requests containing HTTP event data at the edge sent in an HTTPS POST request from Akamai edge servers to your origin).
loglineCountTotal The number of aggregated log lines (forward requests containing HTTP event data at the edge sent in an HTTPS POST request from Akamai edge servers to your origin).
requestCountPerSecond The rate of HTTP transactions per second delivered through the edge platform to your end users.
requestCountPerSecondLatest The most recent rate of HTTP transactions per second delivered through the edge platform to your end users.
requestCountPerSecondMax The highest rate of HTTP transactions per second delivered through the edge platform to your end users.
requestCountTotal The number of HTTP transactions per second delivered through the edge platform to your end users.
Report name: cmreq-by-cpcode
requestCount The number of HTTP transactions per second delivered through the edge platform to your end users.
Report name: cmreq-by-time
requestCountPerSecond The rate of HTTP transactions per second delivered through the edge platform to your end users.
requestCountPerSecondLatest The most recent rate of HTTP transactions per second delivered through the edge platform to your end users.
requestCountPerSecondMax The highest rate of HTTP transactions per second delivered through the edge platform to your end users.
requestCountTotal The number of HTTP transactions per second delivered through the edge platform to your end users.
Report name: endpoint-errors-by-response-class, endpoint-errors-by-response-code, endpoint-hits-by-apikey, endpoint-traffic-by-time, jwt-usage-by-endpoint, jwt-usage-by-errors
edgeHits The request count.
Report name: endpoint-errors-by-time, jwt-usage-by-time
edgeHits The request count.
edgeHitsMax The highest number of requests.
edgeHitsMin The lowest number of requests.
edgeHitsTotal The total request count.
Report name: endpoint-usage-by-method, endpoint-usage-by-method-and-response, endpoint-usage-by-response-code
edgeBytes The volume for the amount of API traffic that left the Akamai network.
edgeHits The request count.
midgressBytes The volume for the amount of internal API traffic exchanged between Akamai edge servers.
Report name: endpoint-usage-by-time
edgeBytes The volume for the amount of API traffic that left the Akamai network.
edgeBytesMax The highest volume for the amount of API traffic that left the Akamai network.
edgeBytesMin The lowest volume for the amount of API traffic that left the Akamai network.
edgeBytesTotal The total volume for the amount of API traffic that left the Akamai network.
edgeHits The request count.
edgeHitsMax The highest number of requests.
edgeHitsMin The lowest number of requests.
edgeHitsTotal The total request count.
midgressBytes The volume for the amount of internal API traffic exchanged between Akamai edge servers.
midgressBytesMax The highest volume for the amount of internal API traffic exchanged between Akamai edge servers.
midgressBytesMin The lowest volume for the amount of internal API traffic exchanged between Akamai edge servers.
midgressBytesTotal The total volume for the amount of internal API traffic exchanged between Akamai edge servers.
Report name: icbytes-by-url, ichits-by-url
bytes The bandwidth used during the request for the associated URL.
hits The number of requests for the associated URL.
Report name: ictraffic-by-time
bitsPerSecond The rate for requests for images configured to use Image Converter.
bitsPerSecondLatest The most recent bandwidth per second used for requests for images configured to use Image Converter.
bitsPerSecondMax The highest bandwidth per second used for requests for images configured to use Image Converter.
bytesTotal The bandwidth used for requests for images configured to use Image Converter.
hitsPerSecond The rate of requests for images configured to use Image Converter.
hitsPerSecondLatest The most recent rate of requests for images configured to use Image Converter.
hitsPerSecondMax The highest rate of requests for images configured to use Image Converter.
hitsTotal The number of requests for images configured to use Image Converter.
Report name: imbytes-by-browser, imbytes-by-imagetype, imbytes-by-policy, imbytes-by-policyandbrowser, imbytes-by-policyandimagetype, imbytes-by-policyandwidth, imbytes-by-width
edgeImageBytes The volume used during requests for images that use Image Manager.
Report name: imhits-by-browser, imhits-by-imagetype, imhits-by-policy, imhits-by-policyandbrowser, imhits-by-policyandimagetype, imhits-by-policyandwidth, imhits-by-width, imtophiturls-by-url
edgeImageHits The number of requests for images that use Image Manager.
Report name: imtopbytesurls-by-url
edgeImageVolume The volume used during requests for images that use Image Manager.
Report name: ipa-trafficlost-by-time
blacklistBytes The volume of blocked traffic over time from blacklisted IP addresses or CIDRs from Fast IP Blocking.
blacklistBytesTotal The total volume of blocked traffic from blacklisted IP addresses or CIDRs from Fast IP Blocking.
blacklistPackets The number of blocked packets over time from blacklisted IP addresses or CIDRs from Fast IP Blocking.
blacklistPacketsTotal The total number of blocked packets from blacklisted IP addresses or CIDRs from Fast IP Blocking.
closedPortBytes The volume of blocked traffic over time from packets dropped because the port is not open on the origin, for example, port 22 traffic on a web server with only ports 80 and 443 open.
closedPortBytesTotal The total volume of blocked traffic from packets dropped because the port is not open on the origin, for example, port 22 traffic on a web server with only ports 80 and 443 open.
closedPortPackets The number of blocked packets over time dropped because the port is not open on the origin, for example, port 22 traffic on a web server with only ports 80 and 443 open.
closedPortPacketsTotal The total number of blocked packets dropped because the port is not open on the origin, for example, port 22 traffic on a web server with only ports 80 and 443 open.
geoBytes The volume of blocked traffic over time from blacklisted geographies (countries) from Fast IP Blocking.
geoBytesTotal The total volume of blocked traffic from blacklisted geographies (countries) from Fast IP Blocking.
geoPackets The number of blocked packets over time from blacklisted geographies (countries) from Fast IP Blocking.
geoPacketsTotal The total number of blocked packets from blacklisted geographies (countries) from Fast IP Blocking.
otherBytes The volume of traffic over time blocked for any reason other than blacklisted IPs, CIDRs, or geographies, closed ports, or unsupported protocols blocked wholesale at the origin.
otherBytesTotal The volume of traffic blocked for any reason other than blacklisted IPs, CIDRs, or geographies, closed ports, or unsupported protocols blocked wholesale at the origin.
otherPackets The number of blocked packets over time, blocked for any reason other than blacklisted IPs, CIDRs, or geographies, closed ports, or unsupported protocols blocked wholesale at the origin.
otherPacketsTotal The total number of blocked packets, blocked for any reason other than blacklisted IPs, CIDRs, or geographies, closed ports, or unsupported protocols blocked wholesale at the origin.
unsupportedProtocolBytes The volume of blocked traffic over time from protocols that are blocked wholesale at the origin, for example, GRE traffic.
unsupportedProtocolBytesTotal The total volume of blocked traffic from protocols that are blocked wholesale at the origin, for example, GRE traffic.
unsupportedProtocolPackets The number of blocked packets over time from protocols that are blocked wholesale at the origin, for example, GRE traffic.
unsupportedProtocolPacketsTotal The number of blocked packets from protocols that are blocked wholesale at the origin, for example, GRE traffic.
Report name: ipamapping-by-time, sxlmapping-by-time
dnsRequests The number of DNS requests of any type over time that were made to process the various sessions associated with the IPA traffic to and from the origin servers and clients that are being served.
dnsRequestsLatest The most recent number of DNS requests of any type that were made as a function of time to process the various sessions associated with the IPA traffic to and from the origin servers and clients that are being served.
dnsRequestsMax The highest number of DNS requests of any type that were made as a function of time to process the various sessions associated with the IPA traffic to and from the origin servers and clients that are being served.
dnsRequestsTotal The total number of DNS requests of any type that were made as a function of time to process the various sessions associated with the IPA traffic to and from the origin servers and clients that are being served.
geoMappedToOriginRequests The number of DNS requests over time that are serviced by the Akamai mapper network and directed to retrieve content from an origin server.
geoMappedToOriginRequestsLatest The most recent number of DNS requests that are serviced by the Akamai mapper network and directed to retrieve content from an origin server.
geoMappedToOriginRequestsMax The highest number of DNS requests that are serviced by the Akamai mapper network and directed to retrieve content from an origin server.
geoMappedToOriginRequestsTotal The total number of DNS requests that are serviced by the Akamai mapper network and directed to retrieve content from an origin server.
mappedToAkamaiRequests The number of DNS requests over time that directed content to be retrieved from Akamai servers.
mappedToAkamaiRequestsLatest The most recent number of DNS requests that directed content to be retrieved from Akamai servers.
mappedToAkamaiRequestsMax The highest number of DNS requests that directed content to be retrieved from Akamai servers.
mappedToAkamaiRequestsTotal The total number of DNS requests that directed content to be retrieved from Akamai servers.
mappedToOriginRequests The number of DNS requests over time are are mapped to retrieve content from an origin server.
mappedToOriginRequestsLatest The most recent number of DNS requests are are mapped to retrieve content from an origin server.
mappedToOriginRequestsMax The highest number of DNS requests are are mapped to retrieve content from an origin server.
mappedToOriginRequestsTotal The total number of DNS requests are are mapped to retrieve content from an origin server.
Report name: ipatraffic-by-slot, sxltraffic-by-slot
bytesTotal The bandwidth used for requests for images configured to use Image Converter.
incomingBytesTotal The total volume of traffic from the client to the origin (Incoming) for origins that are served by associated Sureroute IP (SRIP) endpoints, converted into bits per second at 5-minute intervals, based on connectivity from Akamai’s distributed network to edge nodes on your network.
outgoingBytesTotal The total volume of traffic to the client from the origin (Outgoing) for origins that are served by associated Sureroute IP (SRIP) endpoints, converted into bits per second at 5-minute intervals. Based on connectivity from Akamai’s distributed network to edge nodes on your network.
Report name: ipatraffic-by-time, sxltraffic-by-time
concurrentUsers The number of concurrent connections, measured at five minute intervals. A connection is counted if the user is connected for any part of the five minute period.
concurrentUsersLatest The most recent number of concurrent connections, measured at five minute intervals. A connection is counted if the user is connected for any part of the five minute period.
concurrentUsersMax The highest number of concurrent connections, measured at five minute intervals. A connection is counted if the user is connected for any part of the five minute period.
incomingBitsPerSecond The rate of traffic from the client to the origin (Incoming) for origins that are served by associated Sureroute IP (SRIP) endpoints, converted into bits per second at 5-minute intervals, based on connectivity from Akamai’s distributed network to edge nodes on your network.
incomingBytesPercent The portion of traffic volume from the client to the origin (Incoming) for origins that are served by associated Sureroute IP (SRIP) endpoints, converted into bits per second at 5-minute intervals, based on connectivity from Akamai’s distributed network to edge nodes on your network.
incomingBytesTotal The total volume of traffic from the client to the origin (Incoming) for origins that are served by associated Sureroute IP (SRIP) endpoints, converted into bits per second at 5-minute intervals, based on connectivity from Akamai’s distributed network to edge nodes on your network.
outgoingBitsPerSecond The rate of traffic to the client from the origin (Outgoing) for origins that are served by associated Sureroute IP (SRIP) endpoints, converted into bits per second at 5-minute intervals. Based on connectivity from Akamai’s distributed network to edge nodes on your network.
outgoingBytesPercent The portion of traffic volume to the client from the origin (Outgoing) for origins that are served by associated Sureroute IP (SRIP) endpoints, converted into bits per second at 5-minute intervals. Based on connectivity from Akamai’s distributed network to edge nodes on your network.
outgoingBytesTotal The total volume of traffic to the client from the origin (Outgoing) for origins that are served by associated Sureroute IP (SRIP) endpoints, converted into bits per second at 5-minute intervals. Based on connectivity from Akamai’s distributed network to edge nodes on your network.
throughputBitsPerSecondLatest The highest rate of traffic from the client to the origin (Incoming) and the rate of traffic to the client from the origin (Outgoing), for origins that are served by associated Sureroute IP (SRIP) endpoints, converted into bits per second at 5-minute intervals. Based on connectivity from Akamai’s distributed network to edge nodes on your network.
throughputBitsPerSecondMax The highest rate of traffic from the client to the origin (Incoming) and the rate of traffic to the client from the origin (Outgoing), for origins that are served by associated Sureroute IP (SRIP) endpoints, converted into bits per second at 5-minute intervals. Based on connectivity from Akamai’s distributed network to edge nodes on your network.
Report name: opresponses-by-time
avgResponseTime The average elapsed time in milliseconds for request/response exchanges from your origin to edge servers for the selected date range.
maxOriginResponseTime The highest elapsed time in milliseconds for request/response exchanges from your origin to edge servers.
minOriginResponseTime The lowest elapsed time in milliseconds for request/response exchanges from your origin to edge servers for the selected date range.
originResponses The number of responses from your origin to edge servers.
originResponsesSlope Represents the overall change in the number of responses over time, a positive number if increasing or a negative number if decreasing.
Report name: prefetchedgemetrics-by-time
edgeResponsesPerSecond The rate of all responses from the edge server to the end user.
edgeResponsesPerSecondLatest The most recent rate of all responses from the edge server to the end user.
edgeResponsesPerSecondMax The highest rate of all responses from the edge server to the end user.
edgeResponsesTotal The total number of all responses from the edge server to the end user.
Report name: prefetchedgepfmetrics-by-time
edgePrefetchResponsesPerSecond The rate of edge cache hits for request messages correlated to no-store or low TTL objects. Note that this value can be zero when it is related to no-store content.
edgePrefetchResponsesPerSecondLatest The most recent rate of edge cache hits for request messages correlated to no-store or low TTL objects. Note that this value can be zero when it is related to no-store content.
edgePrefetchResponsesPerSecondMax The highest rate of edge cache hits for request messages correlated to no-store or low TTL objects. Note that this value can be zero when it is related to no-store content.
edgePrefetchResponsesTotal The total number of edge cache hits for request messages correlated to no-store or low TTL objects. Note that this value can be zero when it is related to no-store content.
Report name: prefetchoriginmetrics-by-time
originPrefetchResponsesPerSecond The rate of responses served from the origin for prefetch requests, which includes embedded objects as well as Akamai Instant requests for prefetched pages.
originPrefetchResponsesPerSecondLatest The most recent rate of responses served from the origin for prefetch requests, which includes embedded objects as well as Akamai Instant requests for prefetched pages.
originPrefetchResponsesPerSecondMax The highest rate of responses served from the origin for prefetch requests, which includes embedded objects as well as Akamai Instant requests for prefetched pages.
originPrefetchResponsesTotal The total number of responses served from the origin for prefetch requests, which includes embedded objects as well as Akamai Instant requests for prefetched pages.
originResponsesPerSecond The rate of all responses served from the origin.
originResponsesPerSecondLatest The most recent rate of all responses served from the origin.
originResponsesPerSecondMax The highest rate of all responses served from the origin.
originResponsesTotal The total number of all responses served from the origin.
Report name: saasappusers-by-cust, saascustusers-by-app
usersTotal The total number of unique users accessing the SaaS Application ID or Customer ID.
Report name: saastraffic-by-app, saastraffic-by-cust
edgeBytesTotal The total volume for the amount of API traffic that left the Akamai network.
edgeHitsTotal The total request count.
midgressBytesTotal The total volume for the amount of internal API traffic exchanged between Akamai edge servers.
midgressHitsTotal All hits with all response codes delivered from Akamai’s Tiered Distribution network, that is bytes served from the Akamai Tiered Distribution infrastructure to edge servers.
Report name: snistats-by-host
connectionsTotal The total number of SSL connections.
nonSniCapableConnections The number of SSL connections that are not SNI capable.
nonSniCapableConnectionsPercent The percent of SSL connections that are not SNI capable.
nonSniCapableConnectionsTotal The total number of SSL connections that are not SNI capable.
sniCapableConnectionsPercent The percent of SSL connections that are SNI capable.
sniCapableConnectionsTotal The total number of SSL connections that are SNI capable.
Report name: snistats-by-hostappcustsaas
nonSniCapableConnections The number of SSL connections that are not SNI capable.
Report name: upsrtraffic-by-time
originResponses The number of responses from your origin to edge servers.
routeOptimizationLatest The most recent percentage of requests for which SureRoute provided a faster route.
routeOptimizationMax The highest percentage of requests for which SureRoute provided a faster route.
routeOptimizationTotal The percentage of optimized requests is the bandwidth reduction for your origin, or for what percentage of requests SureRoute provided a faster route. This is an aggregate view of traffic from the edge compared to the traffic going to your origin.

Supported filters

The following lists available filters for the current version of available reports.

Filter Description
Report name: cloudlet-activity-by-time
cloudletType The set of Cloudlets for which you want to see data. Optional; selecting nothing returns data for all Cloudlet Types you may have.
cpcode 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.
Report name: endpoint-errors-by-response-class, endpoint-errors-by-response-code, endpoint-errors-by-time
api_key A unique identifier of an API consumer.
endpoint_id The ID of an API configuration registered with Akamai.
response_class_errors A class of HTTP response error status codes, for example, 4XX.
response_code_errors An HTTP response error status code, for example, 404.
Report name: endpoint-hits-by-apikey
api_key A unique identifier of an API consumer.
endpoint_id The ID of an API configuration registered with Akamai.
Report name: endpoint-traffic-by-time
api_key A unique identifier of an API consumer.
endpoint_id The ID of an API configuration registered with Akamai.
response_class A class of HTTP response status codes, for example, 2XX.
response_code An HTTP response status code, for example, 201.
Report name: endpoint-usage-by-method, endpoint-usage-by-method-and-response, endpoint-usage-by-response-code, endpoint-usage-by-time
endpoint_id The ID of an API configuration registered with Akamai.
http_method A request method indicating the action performed on a resource.
response_class A class of HTTP response status codes, for example, 2XX.
response_code An HTTP response status code, for example, 201.
Report name: icbytes-by-url, ichits-by-url
url_contain URL contains the specified string.
url_end_with URL ends with the specified string.
url_exact_match URL is an exact match for the specified string.
url_match URL matches the specified string.
url_not_contain URL does not contain the specified string.
url_not_end_with URL does not end with with the specified string.
url_not_match URL does not match the specified string.
url_not_start_with URL does not start with with the specified string.
url_start_with URL starts with the specified string.
Report name: imbytes-by-browser, imbytes-by-imagetype, imbytes-by-policy, imbytes-by-policyandbrowser, imbytes-by-policyandimagetype, imbytes-by-policyandwidth, imbytes-by-width, imhits-by-browser, imhits-by-imagetype, imhits-by-policy, imhits-by-policyandbrowser, imhits-by-policyandimagetype, imhits-by-policyandwidth, imhits-by-width, imtraffic-by-time
token_policy The Image Manager policy for which you want data included. Policies are associated with their API tokens.
Report name: imtopbytesurls-by-url, imtophiturls-by-url
token_policy The Image Manager policy for which you want data included. Policies are associated with their API tokens.
url_contain URL contains the specified string.
url_end_with URL ends with the specified string.
url_exact_match URL is an exact match for the specified string.
url_match URL matches the specified string.
url_not_contain URL does not contain the specified string.
url_not_end_with URL does not end with with the specified string.
url_not_match URL does not match the specified string.
url_not_start_with URL does not start with with the specified string.
url_start_with URL starts with the specified string.
Report name: ipa-trafficlost-by-time, ipamapping-by-time, ipatraffic-by-slot, ipatraffic-by-time, sxlmapping-by-time, sxltraffic-by-slot, sxltraffic-by-time
cpcode 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.
Report name: jwt-usage-by-endpoint, jwt-usage-by-errors, jwt-usage-by-time
endpoint_id The ID of an API configuration registered with Akamai.
error_state A JWT-related reason for rejecting a request. Possible values are o: success/ok; u: unknown JWT or key definition; f: invalid token format; d: base64-decoding errors; p: JSON parsing errors; a: unsupported algorithm; j: invalid token type in the header; s: signature mismatch; t: failed timestamp claim; c: failed claim check; k: missing required claim; z: all other errors.
failed_claim A JWT claim that failed the validation. Possible values are iss: issuer of the claim; sub: subject of this token; aud: audiences of this token; exp: expiration time; nbf: not before; alg: unsupported algorithm; typ: unsupported type.
Report name: opresponses-by-time, prefetchedgemetrics-by-time, prefetchedgepfmetrics-by-time, prefetchoriginmetrics-by-time
ca Whether or not requested web content can be stored for future use. Supported array values are cacheable and non_cacheable.
Report name: saasappusers-by-cust, saascustusers-by-app
period The number of months for which you want to see SaaS data. Note that the report always uses the first of the month you submitted as a start date. You can specify 1, 2, or 3 months.
Report name: saastraffic-by-app
custid The ID for a single customer who is using a SaaS application that you have configured in your SaaS implementation. Limits results to a specific set of SaaS applications, relevant when reporting saastraffic-by-app or saascustusers-by-app.
ip_version Supported array values are ipv4 and ipv6.
traffic_type Supported array values are standard_secure and non_secure.
Report name: saastraffic-by-cust
appid The ID for a SaaS application that you have configured for a specific contract using the SaaS Definitions Property Manager Behavior. Limits results to a specific set of SaaS customers, relevant when reporting saastraffic-by-cust or saasappusers-by-cust.
ip_version Supported array values are ipv4 and ipv6.
traffic_type Supported array values are standard_secure and non_secure.

Resources

This section provides details on the Reporting API’s operation and parameters. See Reporting API Workflow for details on how to call the API.

API Summary

Download the RAML descriptors for this API.

Operation Method Endpoint
Generate a report POST /reporting-api/v1/reports/{reportName}/versions/{reportVersion}/report-data{?start,end,interval}

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. Specify a Query request object for a corresponding Report response.

POST /reporting-api/v1/reports/{reportName}/versions/{reportVersion}/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

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
reportName String opresponses-by-time Identifies the type of report you want to generate. See Available Reports.
reportVersion Integer 1 The version of the report type. Successive versions may support different sets of metrics and filters.
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

Response Body:

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

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.

Download the JSON schemas for this API.

The data schema tables below list membership requirements as follows:

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

Query

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

Download schema: report-request-schema.json

Sample POST request:

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

Query members

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

Report

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

Download schema: report-response-schema.json

Sample POST response:

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

Report members

Member Type Required Description
data Report.data[] 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.

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

Report.metadata  

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

Member Type Required Description
availableDataEnds String, Null If data has not been finalized, this ISO 8601 timestamp indicates for when data is no longer available. Otherwise the value is null for finalized data.
columns Report.metadata.columns[] 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.

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

Report.metadata.filters[]  

Reflects the set of filters from the Query request.

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

Report.summaryStatistics.{metric}  

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

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

Report.summaryStatistics.{metric}.details  

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

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

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 Authorize Your Client for more information.

Last modified: 5/14/2018