Diagnostic Tools API v1 Data

Most response objects are wrappers featuring a single member that contains the relevant data. If the member references an array, any errorString that results from the request appears in the outer object. Otherwise the errorString appears as a member within the nested object.

The API represents all values as strings, except for unavailable or irrelevant values, which appear as null.

locationsContainer

Serves as a JSON wrapper for a locations list.

Sample JSON:

{
    "errorString": null,
    "locations": [
        "Cyberjaya, Malaysia",
        "Dublin, Ireland",
        "Losangeles, United States",
        "Madrid, Spain",
        "Moscow, Russian Federation",
        "Newyork, United States",
        "Osaka, Japan",
        "Paris, France",
        "Riodejaneiro, Brazil",
        "Seoul, South Korea",
        "Taiseng, Singapore",
        "Tokyo, Japan"
    ]
}

Members:

Member Type Description
errorString String Error message when requests for locations fail.
locations Array A list of locations (formatted as City, Country strings) that are valid to run mtr and dig tools.

digContainer

Serves as a JSON wrapper for dig output.

Sample JSON:

{
    "dig": {
        "answerSection": [
            {
                "domain": "www.example.com.",
                "preferenceValues": null,
                "recordClass": "IN",
                "recordType": "A",
                "ttl": "5",
                "value": "NN.NN.NN.NN"
            }
        ],
        "authoritySection": [
            {
                "domain": "example.com.",
                "preferenceValues": null,
                "recordClass": "IN",
                "recordType": "NS",
                "ttl": "86399",
                "value": "a.example.net."
            },
            {
                "domain": "example.com.",
                "preferenceValues": null,
                "recordClass": "IN",
                "recordType": "NS",
                "ttl": "86399",
                "value": "b.example.net."
            }
        ],
        "errorString": null,
        "hostname": "www.example.com.",
        "queryType": "A",
        "result": "\n; <<>> DiG 9.8.1-P1 <<>> www.example.com -t A\n..."
    }
}

Members:

digData

Member Type Description
answerSection record A record for the answering server.
authoritySection record Records for servers authorized to answer.
errorString String Error message if the dig execution or data fails.
hostname String Hostname from the query.
queryType String Query type of this dig, such as A, MX, or CNAME
result String Complete dig output as a multi-line string.

record

Member Type Description
domain String Domain name assigned to the server.
preferenceValues String When more than one SMTP server is available, a low number specifies a server to handle the transaction before trying servers with higher preference numbers.
recordClass String Record class, such as IN for internet.
recordType String Record type, such as A or CNAME.
ttl String Default time to live for the server, in seconds.
value String IP address for the server.

mtrContainer

Serves as a JSON wrapper for mtr output.

Sample JSON:

{
    "mtr": {
        "analysis": "",
        "avgLatency": "0.3",
        "destination": "www.example.com",
        "errorString": null,
        "hops": [
            {
                "avg": "0.3",
                "best": "0.2",
                "host": "NNNN:NNN:N:NNN::N",
                "last": "0.2",
                "loss": "0.0",
                "num": "1.|-",
                "sent": "10",
                "stDev": "0.0",
                "worst": "0.8"
            },
            {
                "avg": "4.6",
                "best": "0.3",
                "host": "XXN-NNN.XXXNN.example.net",
                "last": "0.3",
                "loss": "0.0",
                "num": "2.|-",
                "sent": "10",
                "stDev": "10.7",
                "worst": "33.9"
            },
            {
                "avg": "0.4",
                "best": "0.3",
                "host": "XX-N-N-N.XXXNN.example.net",
                "last": "0.6",
                "loss": "0.0",
                "num": "3.|-",
                "sent": "10",
                "stDev": "0.0",
                "worst": "0.6"
            }
        ],
        "host": "aNNN-NNN-NNN-NN.deploy.example.net",
        "packetLoss": "0.0",
        "source": null
    }
}

Members:

Member Type Description
analysis String Analysis of mtr data, reporting common anomalies such as loops.
avgLatency String Average latency, in seconds.
destination String Destination domain or IP address.
errorString String Error message if the mtr execution or data fails.
hops mtrHopInstance List of mtr hops.
host String Host domain or IP address.
packetLoss String Percent of packet loss from mtr.
source String Source IP address. A specific Akamai host name may appear as null.

mtrHopInstance

Member Type Description
avg String Average time for this hop, in seconds.
best String Best time for this hop, in seconds.
host String Host for this hop.
last String Time taken by last packet.
loss String Loss percentage at this hop.
num String Hop number.
sent String Number of packets sent.
stDev String Standard deviation.
worst String Worst time for this hop, in seconds.

ARLContainer

Serves as a JSON wrapper for arl data.

Sample JSON:

{
    "arl": {
        "cacheControl": null,
        "cpCode": "12345",
        "errorString": null,
        "originServer": "origin.example.com",
        "pragma": null,
        "serialNumber": "54321",
        "ttl": "Infinite",
        "typeCode": "Object changes when ARL changes"
    }
}

Members:

Member Type Description
cacheControl String Contents of the Cache-Control header.
cpCode String The Customer Provider code under which the request is tracked and billed.
errorString String Error message for the ARL request.
originServer String The origin server from which the cached object derives.
pragma String Contents of the Pragma header.
serialNumber String Identifies a server mapped to a region.
ttl String Remaining time to live for the cached object, in seconds.
typeCode String Describes how the server is configured.

errorTranslatorContainer

Serves as a JSON wrapper for errorTranslator output.

Sample JSON:

{
    "errorTranslator": {
        "clientIP": "NN.NN.NN.NN &#x28;CAMBRIDGE,MA,US&#x29;",
        "dateTime": "Fri, Jun 26, 2015 17&#x3a;39 GMT",
        "epochTime": "1435340340",
        "errorString": null,
        "httpResponseCode": "504",
        "logs": null,
        "originHostname": "example.download.akamai.com",
        "originIP": "NN.NN.NN.NN&#x28;ASHBURN,VA,US&#x29;",
        "reasonForFailure": "ERR_READ_TIMEOUT&#x7c;before_resp_hdrs",
        "requestMethod": "GET",
        "serverIP": "NN.NN.NN.NN &#x28;CAMBRIDGE,MA,US&#x29;",
        "url": "http&#x3a;&#x2f;&#x2f;etranslator.edgesuite.net&#x2f;ERR_READ_TIMEOUT",
        "userAgent": "Mozilla&#x2f;5.0 &#x28;Macintosh&#x3b; Intel Mac OS X 10_10_3&#x29; AppleWebKit&#x2f;537.36 &#x28;KHTML, like Gecko&#x29; Chrome&#x2f;43.0.2357.124 Safari&#x2f;537.36"
    }
}

Members:

Member Type Description
clientIP String Client IP.
dateTime String Date and time.
epochTime String Epoch time, in seconds.
errorString String Error message for the API layer, separate from any errors for which the API provides details.
httpResponseCode String HTTP response returned.
logs logLine Sample Ghost log for the request.
originHostname String Origin hostname.
originIP String Origin IP.
reasonForFailure String A description of the failure.
requestMethod String HTTP request method.
serverIP String Server IP.
url String The URL accessed by the client.
userAgent String User agent of the requesting browser.

logLine

Member Type Description
fields String Log line fields as name/value pairs.
logLine String Short description of log line.

ipGeoLocationDataContainer

Serves as a JSON wrapper for ipGeoLocationData output.

Sample JSON:

{
    "ipGeoLocation": {
        "areaCode": "212",
        "asNum": "1299",
        "city": "NEWYORK",
        "clientIp": "NNN.NNN.NNN.NNN",
        "continent": "NA",
        "countryCode": "US",
        "county": "NEWYORK",
        "dma": "501",
        "errorString": null,
        "fips": "36061",
        "latitude": "40.7500",
        "longitude": "-73.9967",
        "msa": "5602",
        "network": null,
        "networkType": null,
        "pmsa": "5600",
        "regionCode": "NY",
        "throughput": "vhigh",
        "timeZone": "EST",
        "zipCode": "10001-10014+10016-10041+10043-10045+10055+10060+10065"
    }
}

Members:

Member Type Description
ipGeoLocation ipGeoLocationData Location details for the IP address.

ipGeoLocationData

Member Type Description
areaCode String Area code.
asNum String Autonomous System number.
city String City, accurate to a 50-mile radius.
clientIp String IP address for which geolocation is requested.
continent String ISO–3188 continent code.
countryCode String ISO–3166 country code.
county String County.
dma String Designated Market Area.
errorString String Error message for the location request.
fips String Federal Information Processing Standard code.
latitude String Latitude.
longitude String Longitude.
msa String Metropolitan Statistical Area.
networkType String Network type.
network String Network name.
pmsa String Primary Metropolitan Statistical Area.
regionCode String ISO–3166 region code.
throughput Enumeration Data transfer speed. IPv4 traffic can appear as low, medium, high, or vhigh. IPv6 traffic always appears as low.
timeZone String Time zone.
zipCode String Zip code, allowing multiple values delimited with +, and dash-delimited ranges.

VerifyCdnIPData

Sample JSON:

{
    "errorString": null,
    "ip": "NN.NN.NN.NN",
    "isCdnIP": "No"
}

Members:

Member Type Description
errorString String Error message for the verification request.
ip String IP address for the verification request.
isCdnIP Enumeration Yes if the IP provided is part of this CDN, otherwise No.

Last modified: 4/14/2017