DataStream API v1

Reports on real-time application activity, with aggregated metrics on complete request or response cycles and origin response times.

Learn more:


Overview

DataStream is a reporting API service that provides real-time access to application activity data, including aggregated metrics on complete request and response cycles and origin response times.

DataStream’s aggregated metrics provide real-time insight to help you define the end-user experience on your application. It simplifies web application monitoring for applications deployed to cloud hosting providers and those that leverage third-party services.

This API offers a programmatic alternative to many of the features available in Akamai Control Center, under Configure ⇒ DataStream.

Who should use this API

Use this API service if you want to monitor all transactions delivered through the Akamai platform and send the transaction log data to one or more destinations.

Getting started

To configure this API for the first time:

  • Review Get Started with APIs for details on how to set up client tokens to access any Akamai API. These tokens appear as custom hostnames that look like this: https://akzz-XXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXX.luna.akamaiapis.net.

  • To enable this API, choose the API service named DataStream, and set the access level to READ-ONLY.

Hypermedia

This API provides hypermedia link members to help the client to navigate paginated data. The following example within a metadata object shows the set of links to navigate back and forth within the results, to go to the first or last page, or to access the current page

{
    "metadata": {
        "links": [
            {
                "self": "/datastream-pull-api/v1/streams/007/raw-logs/?start=2017-10-23T08:30:00Z&end=2017-10-24T08:30:00Z&page=0&size=1",
                "first": "/datastream-pull-api/v1/streams/007/raw-logs/?start=2017-10-23T08:30:00Z&end=2017-10-24T08:30:00Z&page=0&size=1",
                "next": "/datastream-pull-api/v1/streams/007/raw-logs/?start=2017-10-23T08:30:00Z&end=2017-10-24T08:30:00Z&page=1&size=1",
                "last": "/datastream-pull-api/v1/streams/007/raw-logs/?start=2017-10-23T08:30:00Z&end=2017-10-24T08:30:00Z&page=92&size=1"
            }
        ],
        "streamId": "007",
        "page": 0,
        "pageCount": 93,
        "perPage": 1,
        "totalNumRecords": 93
    }
}

Resources

This section provides details on each API operation.

This API provides two different types of report:

  • Aggregate Logs: Based on your raw server logs, you can gather responses aggregated for the given aggregate dimension for a specified time frame. For example, you can report how many success requests in the 200 range there have been every 15 minutes.

  • Raw Logs: Lets you gather raw server log data for a specified start and end time. The result for a particular time frame is split into separate pages with a specific number (size) of records on each page.

API summary

Download the RAML descriptors for this API.

Operation Method Endpoint
Report raw logs GET /datastream-pull-api/v1/streams/{streamId}/raw-logs{?start,end,page,size}
Report aggregate logs GET /datastream-pull-api/v1/streams/{streamId}/aggregate-logs{?start,end,aggregateMetric,page,size}

Report raw logs

This operation reports raw log data for the specified time range.

GET /datastream-pull-api/v1/streams/{streamId}/raw-logs{?start,end,page,size}

Sample: /datastream-pull-api/v1/streams/272/raw-logs?start=2017-10-23T08%3A30%3A00Z&end=2017-10-23T09%3A30%3A00Z&page=1&size=100

Parameter Type Sample Description
URL parameters
streamId String 272 The identifier of the stream.
Required query parameters
end String 2017-10-23T09:30:00Z Specifies the end time for the raw log data request. The time is an ISO 8601 timestamp.
start String 2017-10-23T08:30:00Z Specifies the start time for the raw log data request. The time is an ISO 8601 timestamp.
Optional query parameters
page Integer 1 The page number of the report. Page numbers start at zero.
size Integer 100 Defines the number of records per page of the report.

Status 200 application/json

Object type: Report

Download schema: raw_data_schema.json

Response Body:

{
    "metadata": {
        "streamId": "158",
        "page": 0,
        "pageCount": 896,
        "perPage": 1,
        "totalNumRecords": 896,
        "links": [
            {
                "first": "/datastream-pull-api/v1/streams/158/raw-logs?start=2018-03-09T11%3A50%3A00Z&end=2018-03-10T00%3A00%3A00Z&page=0&size=1",
                "last": "/datastream-pull-api/v1/streams/158/raw-logs?start=2018-03-09T11%3A50%3A00Z&end=2018-03-10T00%3A00%3A00Z&page=895&size=1",
                "next": "/datastream-pull-api/v1/streams/158/raw-logs?start=2018-03-09T11%3A50%3A00Z&end=2018-03-10T00%3A00%3A00Z&page=1&size=1",
                "self": "/datastream-pull-api/v1/streams/158/raw-logs?start=2018-03-09T11%3A50%3A00Z&end=2018-03-10T00%3A00%3A00Z&page=0&size=1"
            }
        ]
    },
    "data": [
        {
            "cp": "667363",
            "guid": "c3a21ab81d392ca0d",
            "id": "158",
            "reqid": "92ca0d",
            "start": "1520596467648",
            "type": "Raw",
            "geo": {
                "city": "BANGALORE",
                "lat": "12.98",
                "long": "77.58",
                "region": "KA"
            },
            "message": {
                "UA": "curl%2f7.47.0",
                "bytes": "267",
                "cliIP": "133.13.133.13",
                "fwdHost": "dstest.akamaiu.com",
                "proto": "http",
                "protoVer": "1.1",
                "reqHost": "www.dummy.edgesuite.net",
                "reqMethod": "GET",
                "reqPath": "%2f",
                "reqPort": "80",
                "status": "503"
            },
            "netPerf": {
                "asnum": "9498",
                "downloadTime": "1",
                "edgeIP": "144.44.144.144",
                "errCdF29": "ERR_DNS_FAIL",
                "errCdR14": "ERR_DNS_FAIL",
                "lastByte": "1"
            },
            "network": {
                "bw": "5000",
                "throughput": "vhigh"
            },
            "reqHdr": {
                "cookie": "COOKIE1-30-1520596467",
                "reqTime": "1520596467.64"
            },
            "respHdr": {
                "date": "Date%3a%20Fri,%2009%20Mar%202018%2011%3a54%3a27%20GMT%0d%0a",
                "expires": "Expires%3a%20Fri,%2009%20Mar%202018%2011%3a54%3a27%20GMT%0d%0a",
                "respConn": "Connection%3a%20keep-alive%0d%0a",
                "server": "Server%3a%20AkamaiGHost%0d%0a"
            }
        }
    ]
}

Report aggregate logs

This operation reports aggregated log metric data for the specified aggregate dimension and time range.

GET /datastream-pull-api/v1/streams/{streamId}/aggregate-logs{?start,end,aggregateMetric,page,size}

Sample: /datastream-pull-api/v1/streams/272/aggregate-logs?start=2017-10-23T08%3A30%3A00Z&end=2017-10-23T09%3A30%3A00Z&aggregateMetric=2xx%2C3xx&page=1&size=100

Parameter Type Sample Description
URL parameters
streamId String 272 The identifier of the stream.
Required query parameters
end String 2017-10-23T09:30:00Z Specifies the end time for the raw log data request. The time is an ISO 8601 timestamp.
start String 2017-10-23T08:30:00Z Specifies the start time for the raw log data request. The time is an ISO 8601 timestamp.
Optional query parameters
aggregateMetric String 2xx,3xx A comma-separated set of any of the following aggregate dimensions:2xx, 3xx, 4xx, 5xx, edgeResponseTime, originResponseTime, requestsPerSecond, bytesPerSecond, numCacheHit, numCacheMiss, offloadRate. For example, 2xx,3xx ignores any error responses.
page Integer 1 The page number of the report. Page numbers start at zero.
size Integer 100 Defines the number of records per page of the report.

Status 200 application/json

Object type: Report

Download schema: agg_data_schema.json

Response Body:

{
    "data": [
        {
            "2xx": 64,
            "3xx": 0,
            "4xx": 0,
            "5xx": 0,
            "bytesPerSecond": 37445.78,
            "edgeResponseTime": 14.59,
            "endTime": "2019-03-13T02:01:00Z",
            "numCacheHit": 64,
            "numCacheMiss": 0,
            "offloadRate": 100.0,
            "originResponseTime": 0.0,
            "requestsPerSecond": 1.07,
            "startTime": "2019-03-13T02:00:00Z"
        },
        {
            "2xx": 55,
            "3xx": 0,
            "4xx": 0,
            "5xx": 0,
            "bytesPerSecond": 32206.4,
            "edgeResponseTime": 13.58,
            "endTime": "2019-03-13T02:38:00Z",
            "numCacheHit": 55,
            "numCacheMiss": 0,
            "offloadRate": 100.0,
            "originResponseTime": 0.0,
            "requestsPerSecond": 0.92,
            "startTime": "2019-03-13T02:37:00Z"
        },
        {
            "2xx": 68,
            "3xx": 0,
            "4xx": 0,
            "5xx": 0,
            "bytesPerSecond": 39853.12,
            "edgeResponseTime": 14.69,
            "endTime": "2019-03-13T03:14:00Z",
            "numCacheHit": 68,
            "numCacheMiss": 0,
            "offloadRate": 100.0,
            "originResponseTime": 0.0,
            "requestsPerSecond": 1.13,
            "startTime": "2019-03-13T03:13:00Z"
        },
        {
            "2xx": 100,
            "3xx": 0,
            "4xx": 0,
            "5xx": 0,
            "bytesPerSecond": 31553.57,
            "edgeResponseTime": 20.54,
            "endTime": "2019-03-13T04:32:00Z",
            "numCacheHit": 98,
            "numCacheMiss": 2,
            "offloadRate": 98.0,
            "originResponseTime": 1.3,
            "requestsPerSecond": 0.9,
            "startTime": "2019-03-13T04:31:00Z"
        },
        {
            "2xx": 96,
            "3xx": 0,
            "4xx": 0,
            "5xx": 0,
            "bytesPerSecond": 56180.05,
            "edgeResponseTime": 16.44,
            "endTime": "2019-03-13T04:57:00Z",
            "numCacheHit": 96,
            "numCacheMiss": 0,
            "offloadRate": 100.0,
            "originResponseTime": 0.0,
            "requestsPerSecond": 1.6,
            "startTime": "2019-03-13T04:56:00Z"
        }
    ],
    "metadata": {
        "aggregateMetrics": "[2xx,3xx,4xx,5xx,edgeResponseTime,originResponseTime,requestsPerSecond,bytesPerSecond,numCacheHit,numCacheMiss,offloadRate]",
        "links": [
            {
                "first": "/datastream-pull-api/v1/streams/007/aggregate-logs?start=2019-03-13T01:00:30Z&end=2019-03-13T06:30:00Z&page=0&size=5",
                "last": "/datastream-pull-api/v1/streams/007/aggregate-logs?start=2019-03-13T01:00:30Z&end=2019-03-13T06:30:00Z&page=65&size=5",
                "next": "/datastream-pull-api/v1/streams/007/aggregate-logs?start=2019-03-13T01:00:30Z&end=2019-03-13T06:30:00Z&page=1&size=5",
                "self": "/datastream-pull-api/v1/streams/007/aggregate-logs?start=2019-03-13T01:00:30Z&end=2019-03-13T06:30:00Z&page=0&size=5"
            }
        ],
        "page": 0,
        "pageCount": 66,
        "perPage": 5,
        "streamId": "007",
        "totalNumRecords": 329
    }
}

Data

This section describes the data model for the DataStream API.

Report

Contains aggregated metrics from the raw server logs for the specified time frame and dimensions.

Download schema: agg_data_schema.json, raw_data_schema.json

Sample raw log report:

{
    "metadata": {
        "streamId": "158",
        "page": 0,
        "pageCount": 896,
        "perPage": 1,
        "totalNumRecords": 896,
        "links": [
            {
                "first": "/datastream-pull-api/v1/streams/158/raw-logs?start=2018-03-09T11%3A50%3A00Z&end=2018-03-10T00%3A00%3A00Z&page=0&size=1",
                "last": "/datastream-pull-api/v1/streams/158/raw-logs?start=2018-03-09T11%3A50%3A00Z&end=2018-03-10T00%3A00%3A00Z&page=895&size=1",
                "next": "/datastream-pull-api/v1/streams/158/raw-logs?start=2018-03-09T11%3A50%3A00Z&end=2018-03-10T00%3A00%3A00Z&page=1&size=1",
                "self": "/datastream-pull-api/v1/streams/158/raw-logs?start=2018-03-09T11%3A50%3A00Z&end=2018-03-10T00%3A00%3A00Z&page=0&size=1"
            }
        ]
    },
    "data": [
        {
            "cp": "667363",
            "guid": "c3a21ab81d392ca0d",
            "id": "158",
            "reqid": "92ca0d",
            "start": "1520596467648",
            "type": "Raw",
            "geo": {
                "city": "BANGALORE",
                "lat": "12.98",
                "long": "77.58",
                "region": "KA"
            },
            "message": {
                "UA": "curl%2f7.47.0",
                "bytes": "267",
                "cliIP": "133.13.133.13",
                "fwdHost": "dstest.akamaiu.com",
                "proto": "http",
                "protoVer": "1.1",
                "reqHost": "www.dummy.edgesuite.net",
                "reqMethod": "GET",
                "reqPath": "%2f",
                "reqPort": "80",
                "status": "503"
            },
            "netPerf": {
                "asnum": "9498",
                "downloadTime": "1",
                "edgeIP": "144.44.144.144",
                "errCdF29": "ERR_DNS_FAIL",
                "errCdR14": "ERR_DNS_FAIL",
                "lastByte": "1"
            },
            "network": {
                "bw": "5000",
                "throughput": "vhigh"
            },
            "reqHdr": {
                "cookie": "COOKIE1-30-1520596467",
                "reqTime": "1520596467.64"
            },
            "respHdr": {
                "date": "Date%3a%20Fri,%2009%20Mar%202018%2011%3a54%3a27%20GMT%0d%0a",
                "expires": "Expires%3a%20Fri,%2009%20Mar%202018%2011%3a54%3a27%20GMT%0d%0a",
                "respConn": "Connection%3a%20keep-alive%0d%0a",
                "server": "Server%3a%20AkamaiGHost%0d%0a"
            }
        }
    ]
}

Sample aggregate log report:

{
    "data": [
        {
            "2xx": 64,
            "3xx": 0,
            "4xx": 0,
            "5xx": 0,
            "bytesPerSecond": 37445.78,
            "edgeResponseTime": 14.59,
            "endTime": "2019-03-13T02:01:00Z",
            "numCacheHit": 64,
            "numCacheMiss": 0,
            "offloadRate": 100.0,
            "originResponseTime": 0.0,
            "requestsPerSecond": 1.07,
            "startTime": "2019-03-13T02:00:00Z"
        },
        {
            "2xx": 55,
            "3xx": 0,
            "4xx": 0,
            "5xx": 0,
            "bytesPerSecond": 32206.4,
            "edgeResponseTime": 13.58,
            "endTime": "2019-03-13T02:38:00Z",
            "numCacheHit": 55,
            "numCacheMiss": 0,
            "offloadRate": 100.0,
            "originResponseTime": 0.0,
            "requestsPerSecond": 0.92,
            "startTime": "2019-03-13T02:37:00Z"
        },
        {
            "2xx": 68,
            "3xx": 0,
            "4xx": 0,
            "5xx": 0,
            "bytesPerSecond": 39853.12,
            "edgeResponseTime": 14.69,
            "endTime": "2019-03-13T03:14:00Z",
            "numCacheHit": 68,
            "numCacheMiss": 0,
            "offloadRate": 100.0,
            "originResponseTime": 0.0,
            "requestsPerSecond": 1.13,
            "startTime": "2019-03-13T03:13:00Z"
        },
        {
            "2xx": 100,
            "3xx": 0,
            "4xx": 0,
            "5xx": 0,
            "bytesPerSecond": 31553.57,
            "edgeResponseTime": 20.54,
            "endTime": "2019-03-13T04:32:00Z",
            "numCacheHit": 98,
            "numCacheMiss": 2,
            "offloadRate": 98.0,
            "originResponseTime": 1.3,
            "requestsPerSecond": 0.9,
            "startTime": "2019-03-13T04:31:00Z"
        },
        {
            "2xx": 96,
            "3xx": 0,
            "4xx": 0,
            "5xx": 0,
            "bytesPerSecond": 56180.05,
            "edgeResponseTime": 16.44,
            "endTime": "2019-03-13T04:57:00Z",
            "numCacheHit": 96,
            "numCacheMiss": 0,
            "offloadRate": 100.0,
            "originResponseTime": 0.0,
            "requestsPerSecond": 1.6,
            "startTime": "2019-03-13T04:56:00Z"
        }
    ],
    "metadata": {
        "aggregateMetrics": "[2xx,3xx,4xx,5xx,edgeResponseTime,originResponseTime,requestsPerSecond,bytesPerSecond,numCacheHit,numCacheMiss,offloadRate]",
        "links": [
            {
                "first": "/datastream-pull-api/v1/streams/007/aggregate-logs?start=2019-03-13T01:00:30Z&end=2019-03-13T06:30:00Z&page=0&size=5",
                "last": "/datastream-pull-api/v1/streams/007/aggregate-logs?start=2019-03-13T01:00:30Z&end=2019-03-13T06:30:00Z&page=65&size=5",
                "next": "/datastream-pull-api/v1/streams/007/aggregate-logs?start=2019-03-13T01:00:30Z&end=2019-03-13T06:30:00Z&page=1&size=5",
                "self": "/datastream-pull-api/v1/streams/007/aggregate-logs?start=2019-03-13T01:00:30Z&end=2019-03-13T06:30:00Z&page=0&size=5"
            }
        ],
        "page": 0,
        "pageCount": 66,
        "perPage": 5,
        "streamId": "007",
        "totalNumRecords": 329
    }
}

Report members

Member Type Agg. Raw Description
Report: Contains aggregated metrics from the raw server logs for the specified time frame and dimensions.
data Report.data[] Contains the time frame and total count for the aggregateMetric result set.
metadata Report.metadata Contains details about the range of the requested data, such as the stream, the time frame and interval, and aggregated metrics. It also shows the number of items in the resulting report and provides hypermedia for navigating to different pages of the results.
Report.data[]: Contains the time frame and total count for the aggregateMetric result set.
2xx Integer The count of 2xx error codes for this time interval.
3xx Integer The count of 3xx error codes for this time interval.
4xx Integer The count of 4xx error codes for this time interval.
5xx Integer The count of 5xx error codes for this time interval.
bytesPerSecond Number The average number of bytesPerSecond for this time interval.
cp String Identifies the content provider (CP) code that applies to the set of requests being reported on.
edgeResponseTime Number The average of edgeResponseTime in milliseconds for this time interval.
endTime String An ISO 8601 timestamp that indicates when to stop collecting data.
geo Report.data[].geo Contains the geographic data of the stream’s data set.
guid String A globally unique identifier (GUID) generated for this request.
id String Identifies the datastream ID.
message Report.data[].message Contains the message exchange data of the stream’s data set.
netPerf Report.data[].netPerf The network performance data of the stream’s data set.
network Report.data[].network The network data of the stream’s data set.
numCacheHit Integer The total number of requests that received the required data from the cache for this time interval.
numCacheMiss Integer The total number of requests that received the required data from the origin for this time interval.
offloadRate Number The percentage value of cache hit requests divided by the total number of requests for this time interval.
originResponseTime Number The average of originResponseTime in milliseconds for this time interval.
reqHdr Report.data[].reqHdr Identifies the request header.
reqid String The request ID used for troubleshooting purposes.
requestsPerSecond Number The average number of requestsPerSecond for this time interval.
respHdr Report.data[].respHdr Identifies the response header.
start String The time the request begins.
startTime String An ISO 8601 timestamp that indicates when to begin collecting data.
type String Identifies the type of response.
Report.data[].geo: Contains the geographic data of the stream’s data set.
area String The area code that the requesting IP address maps to.
city String The city that the requesting IP address maps to.
country String The country that the requesting IP address maps to.
lat String The client’s latitude.
long String The client’s longitude.
region String The state that the requesting IP address maps to.
zip String The zip code that the requesting IP address maps to.
Report.data[].message: Contains the message exchange data of the stream’s data set.
bytes String The content bytes served in the client’s response.
cliIP String The IP address of the requesting client.
fwdHost String The hostname of the forward origin server where an Akamai edge server sends a request.
proto Enumeration The protocol of the transaction being monitored, either http or https.
protoVer Enumeration The version of the protocol. It is either 1.0 or 1.1.
reqHost String The host header value of the incoming client’s request.
reqMethod String The HTTP method the incoming client’s request uses. For example, GET.
reqPath String A base64-encoded representation of the path used by the URL requested from the client. It doesn’t include query parameters.
reqPort String The port number of the incoming client’s request.
respCT String The value of the Content-Type header in the client’s request.
respLen String The value of the Content-Length header in the client’s response.
status String The HTTP response status sent to the client.
UA String The value of the User-Agent header in the client’s request.
Report.data[].netPerf: The network performance data of the stream’s data set.
asnum String The Autonomous Systems Number for the client’s request.
downloadTime String The number of milliseconds from when the edge server first accepts the request to when it sends the last byte, not when the client acknowledges receiving the last byte.
edgeIP String The IP address of the edge server that served the response to the client.
errCdF29 String Identifies an error while forwarding requests.
errCdR14 String Identifies an error while serving the request.
lastByte String The last byte of the object served by this response. Zero indicates part of a byte-range response.
Report.data[].network: The network data of the stream’s data set.
bw String Specifies the bandwidth usage.
nw String Identifies the network.
nwType String Identifies the network type.
proxy String The type of a proxy or browser. For example, transparent.
throughput String Identifies the average amount of data passing through the stream’s data set.
Report.data[].reqHdr: Identifies the request header.
accEnc String A URL-encoded, comma-separated series of acceptable encodings. For example, gzip,%20deflate.
accLang String A URL-encoded, comma-separated series of acceptable encodings. For example, en-US,en%3bq%3d0.8 translates to en-US,en;q=0.8.
auth String Provides credentials for HTTP authentication.
cookie String Lists the HTTP cookie previously sent by the server in the Set-Cookie field.
DNT String Requests a web application to disable tracking of an individual user. This is Mozilla’s version of the X-Do-Not-Track header field. Versions of Firefox, Safari, and IE9 also support this field.
expect String Indicates that the client requires particular server behaviors. A server that doesn’t understand or is unable to comply with any of the values in this field responds with an appropriate error status such as 417 (Expectation Failed).
ifMatch String Only performs an action if the client’s supplied entity matches the same entity on the server.
ifMod String Returns a 304 (Not Modified) status if the content is current. This determines whether the item cached is old or new.
ifNone String Returns a 304 (Not Modified) status if the content is current. This determines whether the item cached is identical to the one requested.
ifRange String Either sends the client any missing parts of the entity or sends a new entity.
ifUnmod String Only sends the response if the entity hasn’t been modified since a specific time.
range String Requests a specific part of an entity by providing a single byte range or a set of byte ranges. The byte range starts with zero.
referer String Specifies the resource of the requested URI.
reqCacheCtl String Specifies caching rules for the response.
reqConn String A URL-encoded representation of the HTTP header that specifies whether the network connection is to remain open following the transaction.
reqContMD5 String Checks the integrity of the message body.
reqTime String The time of the incoming client’s request.
reqVia String Informs the client of any proxies that the response goes through.
te String Includes the transfer encodings that the user agent might accept.
upgrade String Allows the client to specify additionally supported protocols if the server needs to switch them.
xFrwdFor String Identifies the originating IP address of a client connecting to a web server through an HTTP proxy or load balancer.
xReqWith String Identifies Ajax requests.
Report.data[].respHdr: Identifies the response header.
accRange String The content bytes served in the client’s response.
age String The time in seconds that the object has been in cache.
allow String Lists the supported HTTP methods such as GET, PUT or POST.
allowOrigin String Indicates whether the response can be shared with resources with the given origin.
contDisp String Specifies how to display content, on a screen or as a file download.
contEnc String Indicates compression of the message body.
contLang String Lists the languages for the intended audiences.
contRange String Specifies where a partial body can be applied to the full entity body.
date String A URL-encoded representation that reflects the date and time of originating the message.
eTag String Identifies the version of a specific resource.
expires String The timestamp specifying when the message is no longer valid.
lastMod String The timestamp specifying when the resource was last modified by the origin.
link String Links to a resource that contains additional information.
p3p String The Privacy Preferences Project (P3P) header field that specifies the intended use of information collected about requesting users.
respCacheCtl String Specifies the caching rules for the response.
respConn String Controls whether the network connection stays open once the current transaction finishes.
respContMD5 String Checks the integrity of the message body.
respVia String Indicates the protocols used to send the response from the originating server to the requesting client.
retry String Indicates the number of seconds that the user agent waits before sending a follow-up request.
server String Provides information about the software that the origin server used to handle the request.
setCookie String Allows sending cookies with the response.
trailer String The header field that enables the use of metadata fields.
transEnc String The Transfer-Encoding header field that specifies the type of encoding used.
vary String Lists the headers that specify whether to send the response to a subsequent request without any additional validation.
warning String Provides information about transformations made to the message’s entity body.
wwwAuth String Contains challenge information for the requesting client and is required for all 401 responses.
xPwrdBy String Lists the type of technology the web application uses.
Report.metadata: Contains details about the range of the requested data, such as the stream, the time frame and interval, and aggregated metrics. It also shows the number of items in the resulting report and provides hypermedia for navigating to different pages of the results.
aggregateMetrics String Shows the value of the request’s aggregateMetrics parameter that specifies the different aggregate dimensions such as 2xx, 3xx, 4xx, 5xx, edgeResponseTime ,originResponseTime, requestsPerSecond, bytesPerSecond, numCacheHit, numCacheMiss and offloadRate.
links Report.metadata.links[] Contains hypermedia links for paging of the aggregateMetrics result set.
page Integer Specifies the page number of the result set. Page numbers start at zero.
pageCount Integer Specifies the number of pages in the result set.
perPage Integer Specifies the number of records per page in the result set.
streamId String Identifies the stream.
totalNumRecords Integer Specifies the total number of records in the result set.
Report.metadata.links[]: Contains hypermedia links for paging of the aggregateMetrics result set.
first String Specifies the paging link for the first page of the result set.
last String Specifies the paging link for the last page of the result set.
next String Specifies the paging link for the next page of the result set.
previous String Specifies the paging link for the previous page of the result set.
self String Specifies the paging link for the currently requested page of the result set.

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.

Error responses

If an error case occurs, this API responds with JSON objects that follow the HTTP Problem Details standard. This example shows a typical error response object:

{
    "timestamp": "timestamp of err API call",
    "status": "the status code",
    "error": "description of error",
    "exception": "Name of exception",
    "message": "detailed desc of error",
    "path": " the API uri path"
}

HTTP status codes

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

Code Description
200 The operation was successful.
400 Incorrect query parameters in the request.
401 Authentication failure.
404 No content for the specified query parameters.
500 Internal server error.
503 Service unavailable.

Last modified: 4/8/2019