
DataStream API v1
Reports on real-time application activity, with aggregated metrics on complete request or response cycles and origin response times.
Learn more:
Download this API’s RAML and JSON schema descriptors.
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.
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.
Get 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.
How to use this API
For every transaction coming through the Platform, Akamai stores and aggregates your logs. After that, this data is available to you for 12 hours.
Compare. You can test your new code or CDN configuration on production. Gather near real-time data to measure the impact of your changes on the CDN’s efficiency and usage, without taking a risk of a bad use experience or downtime.
Monitor. You can ingest near real-time data into your log analytics platform and build your own dashboards and alerts to spot any issues or service disruptions.
Benchmark. You can access past data on your CDN’s health, efficiency, and usage for analyzing and benchmarking. You can also develop your own solutions to store historical data.
Diagnose. You can receive pre-aggregated metrics over a specific window of time. Use this option to easily switch between aggregated and raw data views for diagnostics or root cause analysis.
Hypermedia
This API provides hypermedia link members to help the client to
navigate paginated data. This 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": {
"streamId": "007",
"page": 0,
"pageCount": 93,
"perPage": 1,
"totalNumRecords": 93,
"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"
}
]
}
}
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
andend
time. The result for a particular time frame is split into separate pages with a specific number (size
) of records on eachpage
.
API summary
Download the RAML descriptors for this API.
Operation | Method | Endpoint |
---|---|---|
Report raw logs | GET | /datastream-pull-api/ |
Report aggregate logs | GET | /datastream-pull-api/ |
Report raw logs
Reports raw log data for the specified time range.
GET /datastream-pull-api/
Sample: /datastream-pull-api/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path 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:
{
"numRecords": 3,
"metadata": {
"page": 0,
"pageCount": 1,
"perPage": 1000,
"streamId": "5101",
"totalNumRecords": 3,
"links": [
{
"first": "/datastream-pull-api/v1/streams/5101/raw-logs?start=2020-06-03T20%3A40%3A00Z&end=2020-06-03T20%3A50%3A00Z&page=0&size=1000",
"last": "/datastream-pull-api/v1/streams/5101/raw-logs?start=2020-06-03T20%3A40%3A00Z&end=2020-06-03T20%3A50%3A00Z&page=0&size=1000",
"self": "/datastream-pull-api/v1/streams/5101/raw-logs?start=2020-06-03T20%3A40%3A00Z&end=2020-06-03T20%3A50%3A00Z&page=0&size=1000"
}
]
},
"data": [
{
"cp": "630576",
"guid": "3c6775c7396bc352db",
"id": 5101,
"processedTime": 1591217099220,
"reqid": "bc352db",
"start": 1591216918040,
"type": "Raw",
"cache": {
"cacheH": "0/0/0/0/0",
"cacheHit": "0",
"cacheStats": "0/10",
"cacheable": "1"
},
"geo": {
"area": "970",
"city": "FORTCOLLINS",
"country": "US",
"lat": "40.5917",
"long": "-105.129",
"region": "CO",
"zip": "80521-80528+80553"
},
"message": {
"UA": "curl/7.64.1",
"bytes": "10",
"cliIP": "216.160.166.223",
"fwdHost": "datastream.download.akamai.com",
"httpVer": "1.1",
"proto": "http",
"protoVer": "-",
"queryStr": "%3cscript%3ealert(%27XSS_Test%27)%3c%2fscript%3e",
"reqHost": "www.ds-sqa-ion.in.edgesuite.net",
"reqMethod": "GET",
"reqPath": "/alert/",
"reqPort": "80",
"respLen": "Content-Length%3a%2010%0d%0a",
"status": "404"
},
"netPerf": {
"asnum": "209",
"clientRTT": "6",
"downloadStatus": "1110",
"downloadTime": "615",
"edgeIP": "199.117.103.60",
"errCdF29": "ERR_NONE",
"errCdR14": "ERR_NONE",
"lastByte": "1"
},
"network": {
"bw": "5000",
"nw": "qwest",
"throughput": "vhigh"
},
"reqHdr": {
"reqTime": "1591216918.04"
},
"respHdr": {
"accRange": "Accept-Ranges: bytes",
"date": "Date: Wed, 03 Jun 2020 20:41:58 GMT",
"expires": "Expires: Wed, 03 Jun 2020 20:41:58 GMT",
"respCacheCtl": "Cache-Control: max-age=0",
"respConn": "Connection: keep-alive",
"server": "Server: AkamaiNetStorage"
},
"waf": {
"policy": "4437_85847",
"ver": "2.0",
"warnActions": "2",
"warnData": "RXZpZGVuY2U6IFs8c2NyaXB0PmFsZXJ0KCdYU1NfVGVzdCcpPC9zY3JpcHQ XSwgRXZpZGVuY2U6IFs8c2NyaXB0PmFsZXJ0KF0sIEV2aWRlbmNlOiBbYWxlcnQoXSwgRXZpZGVuY2U6IFs8c2NyaXB0XSwgRXZpZGVuY2U6IFs YWxlcnQoXSwgVGhyZWF0LVNjb3JlOiAx",
"warnMsg": "Detected Cross-Site Scripting Attack",
"warnRules": "1000002",
"warnSlrs": "ARGS_NAMES:<script>alert('XSS_Test')</script>",
"warnTags": "AKAMAI/AAG/XSS"
}
},
{
"cp": "630576",
"guid": "446775c71131f93414e",
"id": 5101,
"processedTime": 1591217282062,
"reqid": "1f93414e",
"start": 1591217275503,
"type": "Raw",
"cache": {
"cacheH": "0/0/0/0/0",
"cacheHit": "0",
"cacheStats": "0/311",
"cacheable": "0"
},
"geo": {
"area": "970",
"city": "FORTCOLLINS",
"country": "US",
"lat": "40.5917",
"long": "-105.129",
"region": "CO",
"zip": "80521-80528+80553"
},
"message": {
"UA": "curl/7.64.1",
"bytes": "311",
"cliIP": "216.160.166.223",
"fwdHost": "datastream.download.akamai.com",
"httpVer": "1.1",
"proto": "http",
"protoVer": "-",
"queryStr": "%3cscript%3ealert(%27XSS_Test%27)%3c%2fscript%3e",
"reqHost": "www.ds-sqa-ion.in.edgesuite.net",
"reqMethod": "GET",
"reqPath": "/deny/",
"reqPort": "80",
"respCT": "Content-Type: text/html\r\n",
"respLen": "Content-Length%3a%20311%0d%0a",
"status": "403"
},
"netPerf": {
"asnum": "209",
"clientRTT": "8",
"downloadStatus": "1110",
"downloadTime": "4",
"edgeIP": "199.117.103.68",
"errCdF29": "ERR_NONE",
"errCdR14": "ERR_ACCESS_DENIED",
"lastByte": "1"
},
"network": {
"bw": "5000",
"nw": "qwest",
"throughput": "vhigh"
},
"reqHdr": {
"reqTime": "1591217275.50"
},
"respHdr": {
"date": "Date: Wed, 03 Jun 2020 20:47:55 GMT",
"expires": "Expires: Wed, 03 Jun 2020 20:47:55 GMT",
"respCacheCtl": "Cache-Control: max-age=0",
"respConn": "Connection: close",
"server": "Server: AkamaiGHost"
},
"waf": {
"denyActions": "3",
"denyData": "RXZpZGVuY2U6IFs8c2NyaXB0PmFsZXJ0KCdYU1NfVGVzdCcpPC9zY3JpcHQ XSwgRXZpZGVuY2U6IFs8c2NyaXB0PmFsZXJ0KF0sIEV2aWRlbmNlOiBbYWxlcnQoXSwgRXZpZGVuY2U6IFs8c2NyaXB0XSwgRXZpZGVuY2U6IFs YWxlcnQoXSwgVGhyZWF0LVNjb3JlOiAx",
"denyMsg": "Detected Cross-Site Scripting Attack",
"denySlrs": "ARGS_NAMES:<script>alert('XSS_Test')</script>",
"policy": "deny_86287",
"ver": "2.0"
}
},
{
"cp": "630576",
"guid": "8737df1735a20d14511",
"id": 5101,
"processedTime": 1591216932260,
"reqid": "20d14511",
"start": 1591216858404,
"type": "Raw",
"cache": {
"cacheH": "0/0/0/0/0",
"cacheHit": "1",
"cacheStats": "34803/34815",
"cacheStatus": "1",
"cacheable": "0"
},
"geo": {
"area": "509",
"city": "QUINCY",
"country": "US",
"lat": "47.1872",
"long": "-119.8129",
"region": "WA",
"zip": "98848"
},
"message": {
"UA": "curl/7.35.0",
"bytes": "34815",
"cliIP": "23.79.233.24",
"fwdHost": "datastream.download.akamai.com",
"httpVer": "1.1",
"proto": "http",
"protoVer": "-",
"reqHost": "www.ds-sqa-ion.in.edgesuite.net",
"reqMethod": "GET",
"reqPath": "/",
"reqPort": "80",
"respCT": "Content-Type: text/html\r\n",
"status": "200"
},
"netPerf": {
"asnum": "35994",
"clientRTT": "5",
"downloadStatus": "1100",
"downloadTime": "8",
"edgeIP": "23.223.55.135",
"errCdF29": "ERR_NONE",
"errCdR14": "ERR_NONE",
"lastByte": "1"
},
"network": {
"bw": "5000",
"throughput": "vhigh"
},
"reqHdr": {
"cookie": "COOKIE2-24044710-1591216858",
"reqTime": "1591216858.40"
},
"respHdr": {
"accRange": "Accept-Ranges: bytes",
"date": "Date: Wed, 03 Jun 2020 20:40:58 GMT",
"eTag": "ETag: \\\"12f48e52c6d5298448fe49c05082ff51:1519289789\\\"",
"expires": "Expires: Wed, 03 Jun 2020 20:40:58 GMT",
"lastMod": "Last-Modified: Thu, 22 Feb 2018 08:56:29 GMT",
"respCacheCtl": "Cache-Control: max-age=0",
"respConn": "Connection: keep-alive\r\nConnection: Transfer-Encoding",
"server": "Server: AkamaiNetStorage",
"transEnc": "Transfer-Encoding: chunked"
}
}
]
}
Report aggregate logs
Reports aggregated log metric data for the specified aggregate dimension and time range.
GET /datastream-pull-api/
Sample: /datastream-pull-api/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path 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 these aggregate dimensions: 1xx , 2xx , 3xx , 4xx , 5xx , edgeResponseTime , originResponseTime , requestsPerSecond , bytesPerSecond , numCacheHit , numCacheMiss , offloadRate . For example, 2xx,3xx ignores any error responses. If omitted, all dimensions are logged. |
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:
{
"numRecords": 5,
"metadata": {
"aggregateMetrics": "[1xx,2xx,3xx,4xx,5xx,1xx_dist,2xx_dist,3xx_dist,4xx_dist,5xx_dist,edgeResponseTime,originResponseTime,requestsPerSecond,bytesPerSecond,numCacheHit,numCacheMiss,offloadRate]",
"page": 0,
"pageCount": 1,
"perPage": 1000,
"streamId": "1116",
"totalNumRecords": 5,
"links": [
{
"first": "/datastream-pull-api/v1/streams/1116/aggregate-logs?start=2020-05-29T17%3A00%3A00Z&end=2020-05-29T17%3A05%3A00Z&page=0&size=1000",
"last": "/datastream-pull-api/v1/streams/1116/aggregate-logs?start=2020-05-29T17%3A00%3A00Z&end=2020-05-29T17%3A05%3A00Z&page=0&size=1000",
"self": "/datastream-pull-api/v1/streams/1116/aggregate-logs?start=2020-05-29T17%3A00%3A00Z&end=2020-05-29T17%3A05%3A00Z&page=0&size=1000"
}
]
},
"data": [
{
"1xx": 0,
"2xx": 35,
"3xx": 0,
"4xx": 0,
"5xx": 0,
"bytesPerSecond": 19263.22,
"edgeResponseTime": 5.51,
"endTime": "2020-05-29T17:01:00Z",
"numCacheHit": 35,
"numCacheMiss": 0,
"offloadRate": 100,
"originResponseTime": 0,
"requestsPerSecond": 0.58,
"startTime": "2020-05-29T17:00:00Z",
"streamId": "1116",
"1xx_dist": {},
"2xx_dist": {
"200": 35
},
"3xx_dist": {},
"4xx_dist": {},
"5xx_dist": {}
},
{
"1xx": 0,
"2xx": 41,
"3xx": 0,
"4xx": 0,
"5xx": 0,
"bytesPerSecond": 22994.67,
"edgeResponseTime": 8.46,
"endTime": "2020-05-29T17:00:00Z",
"numCacheHit": 41,
"numCacheMiss": 0,
"offloadRate": 100,
"originResponseTime": 0,
"requestsPerSecond": 0.68,
"startTime": "2020-05-29T16:59:00Z",
"streamId": "1116",
"1xx_dist": {},
"2xx_dist": {
"200": 41
},
"3xx_dist": {},
"4xx_dist": {},
"5xx_dist": {}
},
{
"1xx": 0,
"2xx": 38,
"3xx": 0,
"4xx": 0,
"5xx": 0,
"bytesPerSecond": 21269.9,
"edgeResponseTime": 7.76,
"endTime": "2020-05-29T17:04:00Z",
"numCacheHit": 38,
"numCacheMiss": 0,
"offloadRate": 100,
"originResponseTime": 0,
"requestsPerSecond": 0.63,
"startTime": "2020-05-29T17:03:00Z",
"streamId": "1116",
"1xx_dist": {},
"2xx_dist": {
"200": 38
},
"3xx_dist": {},
"4xx_dist": {},
"5xx_dist": {}
},
{
"1xx": 0,
"2xx": 34,
"3xx": 0,
"4xx": 0,
"5xx": 0,
"bytesPerSecond": 19081.18,
"edgeResponseTime": 8.68,
"endTime": "2020-05-29T17:03:00Z",
"numCacheHit": 34,
"numCacheMiss": 0,
"offloadRate": 100,
"originResponseTime": 0,
"requestsPerSecond": 0.57,
"startTime": "2020-05-29T17:02:00Z",
"streamId": "1116",
"1xx_dist": {},
"2xx_dist": {
"200": 34
},
"3xx_dist": {},
"4xx_dist": {},
"5xx_dist": {}
},
{
"1xx": 0,
"2xx": 40,
"3xx": 0,
"4xx": 0,
"5xx": 0,
"bytesPerSecond": 22281.02,
"edgeResponseTime": 7.9,
"endTime": "2020-05-29T17:02:00Z",
"numCacheHit": 40,
"numCacheMiss": 0,
"offloadRate": 100,
"originResponseTime": 0,
"requestsPerSecond": 0.67,
"startTime": "2020-05-29T17:01:00Z",
"streamId": "1116",
"1xx_dist": {},
"2xx_dist": {
"200": 40
},
"3xx_dist": {},
"4xx_dist": {},
"5xx_dist": {}
}
]
}
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:
{
"numRecords": 3,
"metadata": {
"page": 0,
"pageCount": 1,
"perPage": 1000,
"streamId": "5101",
"totalNumRecords": 3,
"links": [
{
"first": "/datastream-pull-api/v1/streams/5101/raw-logs?start=2020-06-03T20%3A40%3A00Z&end=2020-06-03T20%3A50%3A00Z&page=0&size=1000",
"last": "/datastream-pull-api/v1/streams/5101/raw-logs?start=2020-06-03T20%3A40%3A00Z&end=2020-06-03T20%3A50%3A00Z&page=0&size=1000",
"self": "/datastream-pull-api/v1/streams/5101/raw-logs?start=2020-06-03T20%3A40%3A00Z&end=2020-06-03T20%3A50%3A00Z&page=0&size=1000"
}
]
},
"data": [
{
"cp": "630576",
"guid": "3c6775c7396bc352db",
"id": 5101,
"processedTime": 1591217099220,
"reqid": "bc352db",
"start": 1591216918040,
"type": "Raw",
"cache": {
"cacheH": "0/0/0/0/0",
"cacheHit": "0",
"cacheStats": "0/10",
"cacheable": "1"
},
"geo": {
"area": "970",
"city": "FORTCOLLINS",
"country": "US",
"lat": "40.5917",
"long": "-105.129",
"region": "CO",
"zip": "80521-80528+80553"
},
"message": {
"UA": "curl/7.64.1",
"bytes": "10",
"cliIP": "216.160.166.223",
"fwdHost": "datastream.download.akamai.com",
"httpVer": "1.1",
"proto": "http",
"protoVer": "-",
"queryStr": "%3cscript%3ealert(%27XSS_Test%27)%3c%2fscript%3e",
"reqHost": "www.ds-sqa-ion.in.edgesuite.net",
"reqMethod": "GET",
"reqPath": "/alert/",
"reqPort": "80",
"respLen": "Content-Length%3a%2010%0d%0a",
"status": "404"
},
"netPerf": {
"asnum": "209",
"clientRTT": "6",
"downloadStatus": "1110",
"downloadTime": "615",
"edgeIP": "199.117.103.60",
"errCdF29": "ERR_NONE",
"errCdR14": "ERR_NONE",
"lastByte": "1"
},
"network": {
"bw": "5000",
"nw": "qwest",
"throughput": "vhigh"
},
"reqHdr": {
"reqTime": "1591216918.04"
},
"respHdr": {
"accRange": "Accept-Ranges: bytes",
"date": "Date: Wed, 03 Jun 2020 20:41:58 GMT",
"expires": "Expires: Wed, 03 Jun 2020 20:41:58 GMT",
"respCacheCtl": "Cache-Control: max-age=0",
"respConn": "Connection: keep-alive",
"server": "Server: AkamaiNetStorage"
},
"waf": {
"policy": "4437_85847",
"ver": "2.0",
"warnActions": "2",
"warnData": "RXZpZGVuY2U6IFs8c2NyaXB0PmFsZXJ0KCdYU1NfVGVzdCcpPC9zY3JpcHQ XSwgRXZpZGVuY2U6IFs8c2NyaXB0PmFsZXJ0KF0sIEV2aWRlbmNlOiBbYWxlcnQoXSwgRXZpZGVuY2U6IFs8c2NyaXB0XSwgRXZpZGVuY2U6IFs YWxlcnQoXSwgVGhyZWF0LVNjb3JlOiAx",
"warnMsg": "Detected Cross-Site Scripting Attack",
"warnRules": "1000002",
"warnSlrs": "ARGS_NAMES:<script>alert('XSS_Test')</script>",
"warnTags": "AKAMAI/AAG/XSS"
}
},
{
"cp": "630576",
"guid": "446775c71131f93414e",
"id": 5101,
"processedTime": 1591217282062,
"reqid": "1f93414e",
"start": 1591217275503,
"type": "Raw",
"cache": {
"cacheH": "0/0/0/0/0",
"cacheHit": "0",
"cacheStats": "0/311",
"cacheable": "0"
},
"geo": {
"area": "970",
"city": "FORTCOLLINS",
"country": "US",
"lat": "40.5917",
"long": "-105.129",
"region": "CO",
"zip": "80521-80528+80553"
},
"message": {
"UA": "curl/7.64.1",
"bytes": "311",
"cliIP": "216.160.166.223",
"fwdHost": "datastream.download.akamai.com",
"httpVer": "1.1",
"proto": "http",
"protoVer": "-",
"queryStr": "%3cscript%3ealert(%27XSS_Test%27)%3c%2fscript%3e",
"reqHost": "www.ds-sqa-ion.in.edgesuite.net",
"reqMethod": "GET",
"reqPath": "/deny/",
"reqPort": "80",
"respCT": "Content-Type: text/html\r\n",
"respLen": "Content-Length%3a%20311%0d%0a",
"status": "403"
},
"netPerf": {
"asnum": "209",
"clientRTT": "8",
"downloadStatus": "1110",
"downloadTime": "4",
"edgeIP": "199.117.103.68",
"errCdF29": "ERR_NONE",
"errCdR14": "ERR_ACCESS_DENIED",
"lastByte": "1"
},
"network": {
"bw": "5000",
"nw": "qwest",
"throughput": "vhigh"
},
"reqHdr": {
"reqTime": "1591217275.50"
},
"respHdr": {
"date": "Date: Wed, 03 Jun 2020 20:47:55 GMT",
"expires": "Expires: Wed, 03 Jun 2020 20:47:55 GMT",
"respCacheCtl": "Cache-Control: max-age=0",
"respConn": "Connection: close",
"server": "Server: AkamaiGHost"
},
"waf": {
"denyActions": "3",
"denyData": "RXZpZGVuY2U6IFs8c2NyaXB0PmFsZXJ0KCdYU1NfVGVzdCcpPC9zY3JpcHQ XSwgRXZpZGVuY2U6IFs8c2NyaXB0PmFsZXJ0KF0sIEV2aWRlbmNlOiBbYWxlcnQoXSwgRXZpZGVuY2U6IFs8c2NyaXB0XSwgRXZpZGVuY2U6IFs YWxlcnQoXSwgVGhyZWF0LVNjb3JlOiAx",
"denyMsg": "Detected Cross-Site Scripting Attack",
"denySlrs": "ARGS_NAMES:<script>alert('XSS_Test')</script>",
"policy": "deny_86287",
"ver": "2.0"
}
},
{
"cp": "630576",
"guid": "8737df1735a20d14511",
"id": 5101,
"processedTime": 1591216932260,
"reqid": "20d14511",
"start": 1591216858404,
"type": "Raw",
"cache": {
"cacheH": "0/0/0/0/0",
"cacheHit": "1",
"cacheStats": "34803/34815",
"cacheStatus": "1",
"cacheable": "0"
},
"geo": {
"area": "509",
"city": "QUINCY",
"country": "US",
"lat": "47.1872",
"long": "-119.8129",
"region": "WA",
"zip": "98848"
},
"message": {
"UA": "curl/7.35.0",
"bytes": "34815",
"cliIP": "23.79.233.24",
"fwdHost": "datastream.download.akamai.com",
"httpVer": "1.1",
"proto": "http",
"protoVer": "-",
"reqHost": "www.ds-sqa-ion.in.edgesuite.net",
"reqMethod": "GET",
"reqPath": "/",
"reqPort": "80",
"respCT": "Content-Type: text/html\r\n",
"status": "200"
},
"netPerf": {
"asnum": "35994",
"clientRTT": "5",
"downloadStatus": "1100",
"downloadTime": "8",
"edgeIP": "23.223.55.135",
"errCdF29": "ERR_NONE",
"errCdR14": "ERR_NONE",
"lastByte": "1"
},
"network": {
"bw": "5000",
"throughput": "vhigh"
},
"reqHdr": {
"cookie": "COOKIE2-24044710-1591216858",
"reqTime": "1591216858.40"
},
"respHdr": {
"accRange": "Accept-Ranges: bytes",
"date": "Date: Wed, 03 Jun 2020 20:40:58 GMT",
"eTag": "ETag: \\\"12f48e52c6d5298448fe49c05082ff51:1519289789\\\"",
"expires": "Expires: Wed, 03 Jun 2020 20:40:58 GMT",
"lastMod": "Last-Modified: Thu, 22 Feb 2018 08:56:29 GMT",
"respCacheCtl": "Cache-Control: max-age=0",
"respConn": "Connection: keep-alive\r\nConnection: Transfer-Encoding",
"server": "Server: AkamaiNetStorage",
"transEnc": "Transfer-Encoding: chunked"
}
}
]
}
Sample aggregate log report:
{
"numRecords": 5,
"metadata": {
"aggregateMetrics": "[1xx,2xx,3xx,4xx,5xx,1xx_dist,2xx_dist,3xx_dist,4xx_dist,5xx_dist,edgeResponseTime,originResponseTime,requestsPerSecond,bytesPerSecond,numCacheHit,numCacheMiss,offloadRate]",
"page": 0,
"pageCount": 1,
"perPage": 1000,
"streamId": "1116",
"totalNumRecords": 5,
"links": [
{
"first": "/datastream-pull-api/v1/streams/1116/aggregate-logs?start=2020-05-29T17%3A00%3A00Z&end=2020-05-29T17%3A05%3A00Z&page=0&size=1000",
"last": "/datastream-pull-api/v1/streams/1116/aggregate-logs?start=2020-05-29T17%3A00%3A00Z&end=2020-05-29T17%3A05%3A00Z&page=0&size=1000",
"self": "/datastream-pull-api/v1/streams/1116/aggregate-logs?start=2020-05-29T17%3A00%3A00Z&end=2020-05-29T17%3A05%3A00Z&page=0&size=1000"
}
]
},
"data": [
{
"1xx": 0,
"2xx": 35,
"3xx": 0,
"4xx": 0,
"5xx": 0,
"bytesPerSecond": 19263.22,
"edgeResponseTime": 5.51,
"endTime": "2020-05-29T17:01:00Z",
"numCacheHit": 35,
"numCacheMiss": 0,
"offloadRate": 100,
"originResponseTime": 0,
"requestsPerSecond": 0.58,
"startTime": "2020-05-29T17:00:00Z",
"streamId": "1116",
"1xx_dist": {},
"2xx_dist": {
"200": 35
},
"3xx_dist": {},
"4xx_dist": {},
"5xx_dist": {}
},
{
"1xx": 0,
"2xx": 41,
"3xx": 0,
"4xx": 0,
"5xx": 0,
"bytesPerSecond": 22994.67,
"edgeResponseTime": 8.46,
"endTime": "2020-05-29T17:00:00Z",
"numCacheHit": 41,
"numCacheMiss": 0,
"offloadRate": 100,
"originResponseTime": 0,
"requestsPerSecond": 0.68,
"startTime": "2020-05-29T16:59:00Z",
"streamId": "1116",
"1xx_dist": {},
"2xx_dist": {
"200": 41
},
"3xx_dist": {},
"4xx_dist": {},
"5xx_dist": {}
},
{
"1xx": 0,
"2xx": 38,
"3xx": 0,
"4xx": 0,
"5xx": 0,
"bytesPerSecond": 21269.9,
"edgeResponseTime": 7.76,
"endTime": "2020-05-29T17:04:00Z",
"numCacheHit": 38,
"numCacheMiss": 0,
"offloadRate": 100,
"originResponseTime": 0,
"requestsPerSecond": 0.63,
"startTime": "2020-05-29T17:03:00Z",
"streamId": "1116",
"1xx_dist": {},
"2xx_dist": {
"200": 38
},
"3xx_dist": {},
"4xx_dist": {},
"5xx_dist": {}
},
{
"1xx": 0,
"2xx": 34,
"3xx": 0,
"4xx": 0,
"5xx": 0,
"bytesPerSecond": 19081.18,
"edgeResponseTime": 8.68,
"endTime": "2020-05-29T17:03:00Z",
"numCacheHit": 34,
"numCacheMiss": 0,
"offloadRate": 100,
"originResponseTime": 0,
"requestsPerSecond": 0.57,
"startTime": "2020-05-29T17:02:00Z",
"streamId": "1116",
"1xx_dist": {},
"2xx_dist": {
"200": 34
},
"3xx_dist": {},
"4xx_dist": {},
"5xx_dist": {}
},
{
"1xx": 0,
"2xx": 40,
"3xx": 0,
"4xx": 0,
"5xx": 0,
"bytesPerSecond": 22281.02,
"edgeResponseTime": 7.9,
"endTime": "2020-05-29T17:02:00Z",
"numCacheHit": 40,
"numCacheMiss": 0,
"offloadRate": 100,
"originResponseTime": 0,
"requestsPerSecond": 0.67,
"startTime": "2020-05-29T17:01:00Z",
"streamId": "1116",
"1xx_dist": {},
"2xx_dist": {
"200": 40
},
"3xx_dist": {},
"4xx_dist": {},
"5xx_dist": {}
}
]
}
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. |
✓ | ✓ | Contains the time frame and total count for the aggregateMetric result set. |
||||
metadata |
Report. |
✓ | ✓ | 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. |
||||||||
1xx |
Integer | ○ | ✗ | The count of 1xx error codes for this time interval. |
||||
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. |
||||
cache |
Report. |
✗ | ○ | The cache data for the stream’s data set. | ||||
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. |
✗ | ○ | Contains the geographic data of the stream’s data set. | ||||
guid |
String | ✗ | ✓ | A globally unique identifier (GUID) generated for this request. | ||||
id |
Integer | ✗ | ✓ | Identifies the stream. | ||||
message |
Report. |
✗ | ○ | Contains the message exchange data of the stream’s data set. | ||||
netPerf |
Report. |
✗ | ○ | The network performance data of the stream’s data set. | ||||
network |
Report. |
✗ | ○ | 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. | ||||
origin |
Number | ○ | ✗ | The average of originResponseTime in milliseconds for this time interval. |
||||
processedTime |
Number | ✗ | ✓ | The time when an edge server finishes processing a log line, expressed as a millisecond epoch timestamp. This value indicates which data to return for a request’s time frame specified by the start and end parameters. |
||||
reqHdr |
Report. |
✗ | ○ | Identifies the request header. | ||||
reqid |
String | ✗ | ✓ | The request identifier used for troubleshooting purposes. | ||||
requests |
Number | ○ | ✗ | The average number of requestsPerSecond for this time interval. |
||||
respHdr |
Report. |
✗ | ○ | Identifies the response header. | ||||
start |
Number | ✗ | ✓ | The time the request begins on an edge server, expressed in a millisecond epoch timestamp. | ||||
startTime |
String | ✓ | ✗ | An ISO 8601 timestamp that indicates when to begin collecting data. | ||||
type |
String | ✗ | ✓ | Identifies the type of response. By default, it’s Raw . |
||||
waf |
Report. |
✗ | ○ | The Web Application Firewall (WAF) data for the stream’s data set. | ||||
Report.data[].cache : The cache data for the stream’s data set. |
||||||||
cacheable |
Enumeration | ✗ | ○ | Whether the object was cacheable. These string values are possible: 1 to indicate that the server determined that the object was cacheable, or 0 to indicate that it wasn’t. |
||||
cacheH |
String | ✗ | ○ | Categorizes the bytes served to the client by the forward server type that sent them. It provides data in this format: {peer_server}/{parent_server}/{origin_server}/{NetStorage/Akamai_origin} . For example, 5096/5096/0/0/0 . |
||||
cacheHit |
Enumeration | ✗ | ○ | Whether the requested object was served entirely from the cache memory. These string values are possible: 1 to indicate that the edge server retrieved the entire object from the cache, or 0 to indicate that the server had to fetch some bytes of the object. |
||||
cacheStats |
String | ✗ | ○ | Logs the bytes served entirely from the cache. It provides data in this format: {bytes_from_cache}/{total_bytes_to_client} . For example, 2048/2048 . |
||||
cacheStatus |
Enumeration | ✗ | ○ | Specifies whether a request was a cache hit or a cache miss and indicates the server type that provided the object. These string values are possible: 0 to indicate that the content was non-cacheable, 1 to indicate that the object was served from a child edge server, 2 to indicate that the object was served from an in-region peer edge server or a parent edge server, 3 to indicate that the object was served from the origin server, or 4 to indicate that the object was served from the cache, but a response to the request had a code status other than 200 , 203 , 301 , 302 , or 410 . |
||||
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 as defined in ISO 3166. By default, it’s US . |
||||
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 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, either 1.0 or 1.1 . |
||||
queryStr |
String | ✗ | ○ | The query string in the client’s URI. | ||||
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 | ✗ | ○ | The path used by the URL requested from the client. It doesn’t include query parameters. / indicates an empty path. |
||||
reqPort |
String | ✗ | ○ | The port number of the incoming client’s request. By default, it’s 80 . |
||||
respCT |
String | ✗ | ○ | The value of the Content-Type header in the client’s request. By default, it’s text/html . |
||||
respLen |
String | ✗ | ○ | The value of the Content-Length header in the client’s response. |
||||
status |
String | ✗ | ○ | The HTTP response status sent to the client. By default, it’s 200 . |
||||
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. | ||||
clientRTT |
Integer | ✗ | ○ | The round-trip time in milliseconds for a request to go from a client to an edge server and back again to the starting point. | ||||
downloadStatus |
Enumeration | ✗ | ○ | The overall download status of an object represented by four boolean values. These are available values: FIRST to specify whether the edge server returned the first byte of the object, LAST to specify whether the edge server the last byte of the object, FULL to specify whether the edge server returned the full requested object, or ABORTED to specify whether the client aborted the transaction. |
||||
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. By default, it’s 1 . |
||||
midMileLatency |
Integer | ✗ | ○ | The time in milliseconds for the Akamai Platform to process a request. Usually, it’s the time for a complete request and response cycle, but these values could be separated. | ||||
netOriginLatency |
Integer | ✗ | ○ | The time in milliseconds from when the last byte of the request leaves the edge server that’s closest to the data center to when this edge server receives the first byte of the response from the data center. | ||||
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. 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 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 that enables the use of metadata fields. | ||||
transEnc |
String | ✗ | ○ | The Transfer-Encoding header 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.data[].waf : The Web Application Firewall (WAF) data for the stream’s data set. |
||||||||
anomScr |
String | ✗ | ○ | A list of comma-delimited anomaly scores for the triggered rules. For example, 1=1,2=15,3=0,4=0,5=0,6=0,7=0,8=0,9=16,10=0,11=16,12=:-958051-973307-973331,13=:-5-5-5,14=:XSS-ANOMALY . |
||||
denyActions |
String | ✗ | ○ | A list of semicolon-delimited actions of the triggered denyRules . 3 is the only available value indicating that the rule denied the request. For example, 3;3;3;3;3 . See About rules. |
||||
denyData |
String | ✗ | ○ | A list of colon-delimited user data that triggered denyRules . User data is a specific string within a selector that triggered the rule. |
||||
denyMsg |
Object | ✗ | ○ | A list of semicolon-delimited messages reported by the triggered denyRules . For example, Cross-site Scripting (XSS) Attack;HTTP Response Splitting Attack . See About rules. |
||||
denyRules |
String | ✗ | ○ | A list of colon-delimited identifiers of the deny rules triggered by the request. For example, 950004;950910;950002 . See About rules. |
||||
denySlrs |
String | ✗ | ○ | A list of semicolon-delimited selectors that triggered denyRules . A selector is the location of the request or response that triggered the rule, such as the name of an HTTP header. For example, ARGS:v;REQUEST_HEADERS:My-Test-Header . |
||||
pAction |
String | ✗ | ○ | The resulting action for a slow POST attack, either W for warn, or A for deny (abort). |
||||
policy |
String | ✗ | ○ | The identifier of the firewall policy applied to the request. See Security policies. | ||||
pRate |
Integer | ✗ | ○ | The recorded rate in bytes per second of a slow POST attack. | ||||
riskGroups |
String | ✗ | ○ | A list of colon-delimited risk groups whose score thresholds have been triggered. For example, :SQL-INJECTION-ANOMALY:XSS-ANOMALY:INBOUND-ANOMALY . See KONA WAF rules. |
||||
riskScores |
String | ✗ | ○ | Risk scores for the triggered rules specified in riskTuples . Within a colon-delimited risk group, each rule’s score is hyphen-delimited. For example, :-5-5:-5-5:-5- . |
||||
riskTuples |
String | ✗ | ○ | Identifiers of the rules triggered within each risk group from riskGroups . Within a colon-delimited risk group, multiple rules are hyphen-delimited. For example, :-950001-950901:-958001-958051:-950001-950901 . |
||||
ver |
String | ✗ | ○ | The version of a WAF data set. Currently, it’s version 2.0 . See Upgrade a rule set. |
||||
warnActions |
String | ✗ | ○ | A list of semicolon-delimited actions of the triggered warnRules . 2 is the only available value indicating that the rule logged an alert. For example, 2;2;2;2;2 . See About rules. |
||||
warnData |
String | ✗ | ○ | The user data of the triggered warnRules . User data is a specific string within a selector that triggered the rule. For example, .addimport;%0a . See About rules. |
||||
warnMsg |
String | ✗ | ○ | A list of semicolon-delimited messages reported by the triggered warnRules . For example, Cross-site Scripting (XSS) Attack;HTTP Response Splitting Attack . See About rules. |
||||
warnRules |
String | ✗ | ○ | A list of a semicolon-delimited identifiers of the warn rules triggered by the request. For example, 950004;950910;950002 . See About rules. |
||||
warnSlrs |
String | ✗ | ○ | A list of semicolon-delimited selectors of the triggered warnRules . A selector is the location of the request or response that triggered the rule, such as the name of an HTTP header. For example, WEB_ATTACK/XSS;WEB_ATTACK/HTTP_RESPONSE_SPLITTING . |
||||
warnTags |
String | ✗ | ○ | The tags of the triggered warnRules . Tags are used for classification and categorization. For example, OWASP_CRS/WEB_ATTACK/XSS . See KONA WAF rules. |
||||
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. |
✓ | ✓ | 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. |
204 | No content for the specified query parameters. |
400 | Bad request or incorrect query parameters. |
401 | Authentication failure. |
500 | Internal server error. |
503 | Service unavailable. |