Documentation API Docs StatusCode Report ReportStatusCodeRealTimeEdgeService

ReportStatusCodeRealTimeEdgeService

Update time: 2026-07-13 15:49:11

Applicable Products

universal

API Description

Query minute-level data of edge status codes. Users can specify the start time, end time, and domain name to query the request count data corresponding to the status codes. The data granularity can be selected as either 1 minute or 5 minutes in the request. The return result includes the number of requests per minute for each status code.

Call frequency

Single user trigger frequency: 300/5min

Request parameter(s)

Body Params

JSON
NameDescription
*dateFromString
Start time: 1. The time format is yyyy-MM-ddTHH:mm:ss±HH:mm. Please note: ±HH:mm is the time zone offset, which can be adjusted according to your data needs, for example, +00:00 represents UTC time, +08:00 represents East 8th District, and -05:00 represents West 5th District. 2024-01-15T10:30:45+00:00 means UTC time January 15, 2024 10:30:45 AM; 2. Not greater than the current time 3. The most recent half-year (183 days) data can be obtained
*dateToString
End time: 1. The time format is yyyy-MM-ddTHH:mm:ss±HH:mm. Please note: ±HH:mm is the time zone offset, which can be adjusted according to your data needs, for example, +00:00 represents UTC time, +08:00 represents East 8th District, and -05:00 represents West 5th District. 2024-01-15T10:30:45+00:00 means UTC time January 15, 2024 10:30:45 AM 2. End time should be greater than start time. If the end time is greater than current time, current time will be used. 3. If both fields of dataFrom and dateTo are left empty, then data in the last 1 hours will be queried by default; if one field is filled and one is left empty, then exception will occur. 4. Maximum time range allowable for query: 1 hour, means the period between dateFrom to dateTo should not exceed 1 hour
*domainList
Domain: 1. The default upper limit of domains that can be entered is 20 (if you want to adjust, please, contact technical support); 2. Automatically filter out illegal domain names (pass illegal domain names, will be filtered out, the query results only return the data of legitimate domain names) 3. Domain name exceeding limit, misstatement
*dataIntervalString
Data granularity: 1. default 1m 2. 1m (1 minute), 5m (5 minutes)

Response parameter(s)

Body Params

JSON
NameDescription
resultList
result
statusCodeDataList
statusCodeData
statusCodeString
Status code
requestDataList
requestData
timestampString
DateTime, the format is yyyy-MM-dd HH:mm; the data value of every time slice represents the data value within the previous time granularity range.
valueString
Number of requests for status codes

Error code

Error code(code)Description(message)HTTP statusSemantic
MissingBodyThe request body was not delivered400The request body was not delivered
NotAcceptableThe Accept request header does not support it. The API only supports json and xml formats. The default format is json400The Accept request header does not support it. The API only supports json and xml formats. The default format is json
InvalidHTTPRequestRequest body format error400Request body format error
InvalidDatePeriodThe dateFrom or dateTo does not conform to the specification400The dateFrom or dateTo does not conform to the specification
DateSpanErrorMore than 60 minutes (1 hour) between dateFrom and dateTo400More than 60 minutes (1 hour) between dateFrom and dateTo
PARAM_INVALIDParameter domain does not conform to specification400Parameter domain does not conform to specification
NumberLimitExceededNumber of domains passed exceeds account limit400Number of domains passed exceeds account limit
PARAM_INVALIDParameter dataInterval does not conform to specification400Parameter dataInterval does not conform to specification
InternalErrorWe encountered an internal error. Please try again.500We encountered an internal error. Please try again.

Example

JSON
XML
JSON
Request example
Copy Copy success
#!/bin/bash
# Please remember to change the param (-H "X-Time-Zone") in this demo to the TimeZone you want in response

username='example_username'
apiKey='example_apiKey'
date=`env LANG="en_US.UTF-8" date -u "+%a, %d %b %Y %H:%M:%S GMT"`
password=`echo -en "$date" | openssl dgst -sha1 -hmac $apiKey -binary | openssl enc -base64`
curl -i --url "https://api.atomile.com/api/report/status-code/real-time/edge" \
-X "POST" \
-H "X-Time-Zone:GMT+00:00" \
-u "$username:$password" \
-H "Date: $date" \
-H "Accept: application/json" \
-d '{"dateFrom": "2019-01-01T10:00:00+00:00","dateTo": "2019-01-01T11:00:00+00:00","domain": ["www.baidu1.com","www.baidu2.com"],"dataInterval": "5m"
}'
Response example
Copy Copy success
{
  "result": [
    {
      "statusCodeData": [
        {
          "statusCode": "100",
          "requestData": [
            {
              "timestamp": "2019-02-21 00:00",
              "value": "10000"
            },
            {
              "timestamp": "2019-02-21 00:05",
              "value": "10000"
            }
          ]
        },
        {
          "statusCode": "200",
          "requestData": [
            {
              "timestamp": "2019-02-21 00:05",
              "value": "30000"
            },
            {
              "timestamp": "2019-02-21 00:15",
              "value": "10000"
            }
          ]
        },
        {
          "statusCode": "300",
          "requestData": [
            {
              "timestamp": "2019-02-21 00:15",
              "value": "10000"
            }
          ]
        },
        {
          "statusCode": "400",
          "requestData": [
            {
              "timestamp": "2019-02-21 00:10",
              "value": "30000"
            }
          ]
        },
        {
          "statusCode": "500",
          "requestData": [
            {
              "timestamp": "2019-02-21 00:05",
              "value": "10000"
            },
            {
              "timestamp": "2019-02-21 00:10",
              "value": "10000"
            }
          ]
        }
      ]
    }
  ]
}