Endpoint Scheduled Test Data

GET /v6/endpoint-data/tests/net/metrics/{testId} (Network) End-to-End metrics

Returns network metrics (loss, latency, jitter and bandwidth) from each endpoint agent, for each roundId in the requested window. A time frame must be specified, or the current round of data will be returned.

Optional (Querystring) Parameters

  • format=json|xml optional, specifies the format of output requested. See Output Formats for more information
  • window=[0-9]+[smhdw]? specifies a window of time for the result set. See Time Ranges for more information.
  • from=YYYY-mm-ddTHH:MM:SS&to=YYYY-mm-ddTHH:MM:SS specifies an explicit start (and optionally, end) for your range of data. See Time Ranges for more information.
  • aid={aid} optional and requires the user to be assigned to the target account group, specifies the account group context of the request, obtained from the /account-groups endpoint. Specifying this parameter without the user being assigned to the target account will result in an error response. See Account group context for more information

Request

  • {testId} the ID of the endpoint scheduled test you wish to retrieve
  • There is no request body for this request.

Response

FieldData TypeUnitsNotes
agentIdstringn/aunique ID of endpoint agent, from /endpoint-agents endpoint
avgLatencyfloatmillisecondsaverage RTT for packets sent to destination
errorDetailsstringn/aerror details, if an error was encountered
jitterfloatmillisecondsstandard deviation of latency
lossfloatpercentage% of packets not reaching destination
maxLatencyintegermillisecondsmaxmimum RTT for packets sent to destination
minLatencyintegermillisecondsminimum RTT for packets sent to destination
permalinkurln/alink to jump to this result in the front end
roundIdlongsecondsepoch time (seconds) indicating the start time of the round
serverIpstringn/aIP address of target server

Example

$ curl https://api.thousandeyes.com/v6endpoint-data/tests/net/metrics/273.json \ -u noreply@thousandeyes.com:g351mw5xqhvkmh1vq6zfm51c62wyzib2

HTTP/1.1 200 OK HTTP/1.1 200 OK Server: nginx Date: Sat, 25 Aug 2018 21:19:54 GMT Content-Type: application/json;charset=UTF-8 Transfer-Encoding: chunked Connection: keep-alive Cache-Control: no-store X-Organization-Rate-Limit-Limit: 240 X-Organization-Rate-Limit-Remaining: 239 X-Organization-Rate-Limit-Reset: 1535232000 Strict-Transport-Security: max-age=31536000 X-Content-Type-Options: nosniff X-Server-Name: 1-2

Body

{ "endpointNet": { "endpointTest": {...}, "metrics": [ { "agentId": "1cf6d996-2400-4724-a805-2de78756c209", "avgLatency": 10.0, "jitter": 1.0, "loss": 0.0, "maxLatency": 13.0, "minLatency": 7.0, "permalink": "https://app.thousandeyes.com/view/endpoint-agent?__a=160&scenarioId=eyebrowNetworkTest&testId=273&roundId=1535228220", "roundId": 1535228220, "serverIp": "185.199.108.153" }, ... ] }, "pages": { "current": 1 } }

For more information on our HTTP response status codes, see the response status codes documentation.

GET /v6/endpoint-data/tests/net/path-vis/{testId} (Network) Path visualization

Returns a summary of the path visualization data collected from each endpoint agent to the destination. In each path visualization attempt, one attempt is made to reach the destination. Each set of data is summarized, based on response time, number of hops, and response time to the target. A time frame must be specified, or the current round of data will be returned.

Optional (Querystring) Parameters

  • format=json|xml optional, specifies the format of output requested. See Output Formats for more information
  • window=[0-9]+[smhdw]? specifies a window of time for the result set. See Time Ranges for more information.
  • from=YYYY-mm-ddTHH:MM:SS&to=YYYY-mm-ddTHH:MM:SS specifies an explicit start (and optionally, end) for your range of data. See Time Ranges for more information.
  • aid={aid} optional and requires the user to be assigned to the target account group, specifies the account group context of the request, obtained from the /account-groups endpoint. Specifying this parameter without the user being assigned to the target account will result in an error response. See Account group context for more information

Request

  • {testId} the ID of the test you wish to retrieve
  • There is no request body for this request.

Response

FieldData TypeUnitsNotes
agentIdstringn/aunique ID of agent, from /endpoint-agents endpoint
locationstringn/ageographic location of the endpoint agent
permalinkurln/alink to jump to this result in the front end
roundIdlongsecondsepoch time (seconds) indicating the start time of the round
serverurln/atarget server, including port
serverIpstringn/aIP address of target server
sourceIpstringn/aIP address of source enpoint agent
sourcePrefixstringn/aIP prefix of source agent
endpointsarrayn/ashows all iterations of path trace, with each iteration specified by a pathId
endpoints.ipAddressstringn/adestination
endpoints.numberOfHopsintegern/anumber of hops for path trace to destination
endpoints.pathIdstringn/aunique ID of path trace
endpoints.responseTimeintegern/aRTT of the path trace to the destination

Example

$ curl https://api.thousandeyes.com/v6/endpoint-data/tests/net/path-vis/273.json \ -u noreply@thousandeyes.com:g351mw5xqhvkmh1vq6zfm51c62wyzib2

HTTP/1.1 200 OK Server: nginx Date: Wed, 29 Aug 2018 14:01:39 GMT Content-Type: application/json;charset=UTF-8 Transfer-Encoding: chunked Connection: keep-alive Cache-Control: no-store X-Organization-Rate-Limit-Limit: 240 X-Organization-Rate-Limit-Remaining: 239 X-Organization-Rate-Limit-Reset: 1535551320 Strict-Transport-Security: max-age=31536000 X-Content-Type-Options: nosniff X-Server-Name: 1-3

Body

{ "endpointNet": { "endpointTest": {...}, "pathVis": [ { "agentId": "1cf6d996-2400-4724-a805-2de78756c209", "endpoints": [ { "ipAddress": "185.199.111.153", "numberOfHops": 8, "pathId": "8498006760529413427021933451903980591243082534558334817588690338427397277769705862118603451313420092120640807102236650497915440", "responseTime": 5 } ], "location": "San Francisco Area", "permalink": "https://app.thousandeyes.com/view/endpoint-agent?__a=160&scenarioId=eyebrowNetworkTest&testId=273&roundId=1535550480", "roundId": 1535550480, "server": "developer.thousandeyes.com:443", "serverIp": "185.199.111.153", "sourceIp": "10.100.10.35", "sourcePrefix": "38.122.6.64/30" }, ... ] }, "pages": { "current": 1 } }

For more information on our HTTP response status codes, see the response status codes documentation.

GET /v6/endpoint-data/tests/net/path-vis/{testId}/{agentId}/{roundId} (Network) Detailed path trace

Returns a hop-by-hop summary of the path trace data collected during path visualization. In each round, one path discovery attempt is made to reach the destination. The entire path is returned. A roundId must be specified.

Optional (Querystring) Parameters

  • format=json|xml optional, specifies the format of output requested. See Output Formats for more information
  • aid={aid} optional and requires the user to be assigned to the target account group, specifies the account group context of the request, obtained from the /account-groups endpoint. Specifying this parameter without the user being assigned to the target account will result in an error response. See Account group context for more information

Request

Required parameters:

  • {testId} the ID of the test you wish to retrieve
  • {agentId} the ID of the endpoint agent from which you wish to obtain data
  • {roundId} the round ID for which you wish to obtain data. Equals the beginning of the testing round, in epoch time format.
  • There is no request body for this request.

Response

  • Each route should start with a hop of 1
  • Where a hop number is missing from response data, this is an indication that a star (*) response was returned in the path trace attempt for that hop.
FieldData TypeUnitsNotes
agentIdintegern/aunique ID of agent, from /endpoint-agents endpoint
permalinkurln/alink to jump to this result in the front end
roundIdlongsecondsepoch time (seconds) indicating the start time of the round
serverurln/atarget server, including port
serverIpstringn/aIP address of target server
sourceIpstringn/aIP address of source endpoint agent
sourcePrefixstringn/aIP prefix of source agent
routesarrayn/ashows an iteration of path trace, with each iteration specified by a pathId
routes.pathIdstringn/aunique ID of path trace
routes.hopsarrayn/aarray of hop objects indicating each step in the traceroute
routes.hops.hopintegern/aindex of hop
routes.hops.ipAddressstringn/aIP address of the hop
routes.hop.prefixstringn/aPrefix of IP address shown in CIDR
routes.hop.rdnsstringn/areverse DNS entry of IP, if available
routes.hop.networkstringn/aAutonomous System originating the prefix
routes.hop.responseTimeintegermillisecondsRTT to the hop’s IP
routes.hop.locationstringn/alocation information for the hop

Example

$ curl https://api.thousandeyes.com/v6/endpoint-data/tests/net/path-vis/273/1cf6d996-2400-4724-a805-2de78756c209/1535551380.json \ -u noreply@thousandeyes.com:g351mw5xqhvkmh1vq6zfm51c62wyzib2

HTTP/1.1 200 OK Server: nginx Date: Wed, 29 Aug 2018 14:08:20 GMT Content-Type: application/json;charset=UTF-8 Transfer-Encoding: chunked Connection: keep-alive Cache-Control: no-store X-Organization-Rate-Limit-Limit: 240 X-Organization-Rate-Limit-Remaining: 239 X-Organization-Rate-Limit-Reset: 1535551740 Strict-Transport-Security: max-age=31536000 X-Content-Type-Options: nosniff X-Server-Name: 1-5

Body

{ "endpointNet": { "endpointTest": {...}, "pathVis": [ { "agentId": "1cf6d996-2400-4724-a805-2de78756c209", "permalink": "https://app.thousandeyes.com/view/endpoint-agent?__a=160&scenarioId=eyebrowNetworkTest&testId=273&roundId=1535551380", "roundId": 1535551380, "routes": [ { "hops": [ { "hop": 1, "ipAddress": "10.100.10.1", "rdns": "vlan10.fw1.sfo1.o.thousandeyes.com", "responseTime": 3 }, { "hop": 2, "ipAddress": "38.122.6.65", "location": "San Francisco, California, US", "network": "Cogent Communications (AS 174)", "prefix": "38.0.0.0/8", "rdns": "gi0-0-0-4.nr11.b001920-0.sfo01.atlas.cogentco.com", "responseTime": 4 }, { "hop": 3, "ipAddress": "154.24.7.73", "location": "San Francisco, California, US", "network": "Cogent Communications (AS 174)", "prefix": "154.24.0.0/13", "rdns": "gi0-0-0-6.agr22.sfo01.atlas.cogentco.com", "responseTime": 3 }, { "hop": 4, "ipAddress": "154.54.30.221", "location": "San Francisco, California, US", "network": "Cogent Communications (AS 174)", "prefix": "154.48.0.0/12", "rdns": "be2905.ccr22.sfo01.atlas.cogentco.com", "responseTime": 4 }, { "hop": 5, "ipAddress": "154.54.0.178", "location": "San Jose, California, US", "network": "Cogent Communications (AS 174)", "prefix": "154.48.0.0/12", "rdns": "be2016.ccr31.sjc04.atlas.cogentco.com", "responseTime": 4 }, { "hop": 6, "ipAddress": "62.115.34.73", "location": "San Jose, California, US", "network": "TeliaNet Global Network (AS 1299)", "prefix": "62.115.0.0/16", "rdns": "palo-b1-link.telia.net", "responseTime": 6 }, { "hop": 8, "ipAddress": "185.199.111.153", "location": "San Jose, California, US", "network": "Fastly (AS 54113)", "prefix": "185.199.111.0/24", "rdns": "185.199.111.153", "responseTime": 4 } ], "pathId": "8498006760529413427021933451903980591243082534558334817588690338427397277769705862118603451313420092120640807102237745714575920" } ], "server": "developer.thousandeyes.com:443", "serverIp": "185.199.111.153", "sourceIp": "10.100.10.35", "sourcePrefix": "38.122.6.64/30" } ] } }

For more information on our HTTP response status codes, see the response status codes documentation.

GET /v6/endpoint-data/tests/web/http-server/{testId} (Web) HTTP server

Returns response code and response times, as well as component-level (DNS, Connect, Wait and Receive) timing for the load of an object over HTTP.

Optional (Querystring) Parameters

  • format=json|xml optional, specifies the format of output requested. See Output Formats for more information
  • window=[0-9]+[smhdw]? specifies a window of time for the result set. See Time Ranges for more information.
  • from=YYYY-mm-ddTHH:MM:SS&to=YYYY-mm-ddTHH:MM:SS specifies an explicit start (and optionally, end) for your range of data. See Time Ranges for more information.
  • aid={aid} optional and requires the user to be assigned to the target account group, specifies the account group context of the request, obtained from the /account-groups endpoint. Specifying this parameter without the user being assigned to the target account will result in an error response. See Account group context for more information

Request

  • {testId} the ID of the HTTP Server (or page load) test you wish to retrieve
  • There is no request body for this request.

Response

FieldData TypeUnitsNotes
agentIdstringn/aunique ID of agent, from /endpoint-agents endpoint
connectTimeintegermillisecondstime required to establish a TCP connection to the server
dnsTimeintegermillisecondstime required to resolve DNS
errorTypestringn/atype of error encountered; corresponds to phase of connection
errorDetailsstringn/aerror details, if an error was encountered
numRedirectsintegern/anumber of redirects
permalinkurln/alink to jump to this result in the front end
receiveTimeintegermillisecondselapsed time between first and last byte of response
redirectTimeintegermillisecondscumulative redirect timing
requestHeadersstringn/aCRLF-delimited list of request headers in header: value format
responseCodeintegern/acode of HTTP response
responseHeadersstringn/aCRLF-delimited list of response headers in header: value format
responseTimeintegermillisecondstime to first byte
roundIdlongsecondsepoch time (seconds) indicating the start time of the round
serverIpstringn/aIP address of destination server
sslTimeintegermillisecondstime to negotiate SSL/TLS
totalTimeintegermillisecondsresponse time + receive time
waitTimeintegermillisecondstime elapsed between completion of request and first byte of response
wireSizefloatbytessize of content, in bytes

Example

$ curl https://api.thousandeyes.com/v6/endpoint-data/tests/web/http-server/273.json \ -u noreply@thousandeyes.com:g351mw5xqhvkmh1vq6zfm51c62wyzib2

HTTP/1.1 200 OK Server: nginx Date: Wed, 29 Aug 2018 14:28:18 GMT Content-Type: application/json;charset=UTF-8 Transfer-Encoding: chunked Connection: keep-alive Cache-Control: no-store X-Organization-Rate-Limit-Limit: 240 X-Organization-Rate-Limit-Remaining: 237 X-Organization-Rate-Limit-Reset: 1535552940 Strict-Transport-Security: max-age=31536000 X-Content-Type-Options: nosniff X-Server-Name: 1-4

Body

{ "endpointWeb": "endpointTest": {...}, "httpServer": [ { "agentId": "1cf6d996-2400-4724-a805-2de78756c209", "connectTime": 12, "dnsTime": 6, "errorType": "None", "permalink": "https://app.thousandeyes.com/view/endpoint-agent?__a=160&scenarioId=eyebrowHttp&testId=273&roundId=1535551800", "receiveTime": 17, "requestHeaders": "GET / HTTP/1.1\r\n\nHost: developer.thousandeyes.com\r\n\nAuthorization: Basic (removed)\r\n\nUser-Agent: curl/\r\n\nAccept: */*\r\n\nX-ThousandEyes-Endpoint-Agent: yes\r\n", "responseCode": 200, "responseHeaders": "HTTP/1.1 200 OK\r\n\nServer: GitHub.com\r\n\nContent-Type: text/html; charset=utf-8\r\n\nLast-Modified: Thu, 23 Aug 2018 14:16:48 GMT\r\n\nETag: \"5b7ec1d0-14f4f\"\r\n\nAccess-Control-Allow-Origin: *\r\n\nExpires: Thu, 23 Aug 2018 14:37:00 GMT\r\n\nCache-Control: max-age=600\r\n\nX-GitHub-Request-Id: F86C:9AD2:7ABF9:89530:5B7EC42E\r\n\nContent-Length: 85839\r\n\nAccept-Ranges: bytes\r\n\nDate: Wed, 29 Aug 2018 14:10:00 GMT\r\n\nVia: 1.1 varnish\r\n\nAge: 480\r\n\nConnection: keep-alive\r\n\nX-Served-By: cache-pao17433-PAO\r\n\nX-Cache: HIT\r\n\nX-Cache-Hits: 1\r\n\nX-Timer: S1535551800.182689,VS0,VE1\r\n\nVary: Accept-Encoding\r\n\nX-Fastly-Request-ID: a665076014deec318792ec930c9cd6ae62fd2ae3\r\n", "responseTime": 46, "roundId": 1535551800, "serverIp": "185.199.111.153", "sslTime": 11, "totalTime": 63, "waitTime": 16, "wireSize": 86462 }, ... ] }, "pages": { "current": 1 } }

For more information on our HTTP response status codes, see the response status codes documentation.