Tests

GET /v6/tests Test list

Returns a list of all tests configured in ThousandEyes. Also returns data for saved events, which are indicated by a boolean field, "savedEvent": 1

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

  • There is no request body for this request.

Response

Sends back an array of tests. See Test Metadata page for information on fields returned by this endpoint.

Example

$ curl https://api.thousandeyes.com/v6/tests.json \ -u noreply@thousandeyes.com:g351mw5xqhvkmh1vq6zfm51c62wyzib2

HTTP/1.1 200 OK Server: nginx Date: Wed, 19 Apr 2017 13:18:03 GMT Content-Type: application/json Transfer-Encoding: chunked Connection: keep-alive Cache-Control: no-store X-Organization-Rate-Limit-Limit: 240 X-Organization-Rate-Limit-Remaining: 234 X-Organization-Rate-Limit-Reset: 1492607940 Strict-Transport-Security: max-age=31536000 X-Server-Name: 1-1

Body

{ "test": [ { "enabled": 1, "testId": 817, "savedEvent": 0, "liveShare": 0, "testName": "http://www.thousandeyes.com", "type": "http-server", "interval": 900, "url": "http://www.thousandeyes.com", "modifiedDate": "2013-05-11 02:02:21", "networkMeasurements": 1, "createdBy": "API Sandbox User (noreply@thousandeyes.com)", "modifiedBy": "API Sandbox User (noreply@thousandeyes.com)", "createdDate": "2012-06-28 19:33:12", "apiLinks": [...] }, ... ] }

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

GET /v6/tests/{testType} Test list by type

Returns a list of all tests of the type specified, configured in ThousandEyes. Also returns data for saved events, which are indicated by a boolean field, "savedEvent": 1

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

  • {testType} corresponds to any of the following options:

    • agent-to-server
    • agent-to-agent
    • bgp
    • http-server
    • page-load
    • transactions
    • web-transactions
    • ftp-server
    • dns-trace
    • dns-server
    • dns-dnssec
    • dnsp-domain
    • dnsp-server
    • sip-server
    • voice (RTP Stream)
  • There is no request body for this request.

Example

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

Response

Sends back an array of tests of that type. See Test Metadata page for information on fields returned by this endpoint.

HTTP/1.1 200 OK Server: nginx Date: Wed, 19 Apr 2017 13:29:40 GMT Content-Type: application/json Transfer-Encoding: chunked Connection: keep-alive Cache-Control: no-store X-Organization-Rate-Limit-Limit: 240 X-Organization-Rate-Limit-Remaining: 228 X-Organization-Rate-Limit-Reset: 1492608600 Strict-Transport-Security: max-age=31536000 X-Server-Name: 1-5

Body

{ "test": [ { "enabled": 1, "testId": 817, "testName": "http://www.thousandeyes.com", "interval": 900, "url": "http://www.thousandeyes.com", "modifiedDate": "2013-05-11 02:02:21", "networkMeasurements": 1, "createdBy": "API Sandbox User (noreply@thousandeyes.com)", "modifiedBy": "API Sandbox User (noreply@thousandeyes.com)", "createdDate": "2012-06-28 19:33:12", "apiLinks": [...] } ] }

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

GET /v6/tests/{testId} Test details

Returns a details for a test, including test type, name, intervals, targets, alert rules and agents.

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

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

Response

Sends back all metadata for the requested test. See Test metadata page for more information on fields returned by this endpoint.

Example

$ curl https://api.thousandeyes.com/v6/tests/817.json \ -u noreply@thousandeyes.com:g351mw5xqhvkmh1vq6zfm51c62wyzib2

HTTP/1.1 200 OK Server: nginx Date: Wed, 19 Apr 2017 13:30:42 GMT Content-Type: application/json Transfer-Encoding: chunked Connection: keep-alive Cache-Control: no-store X-Organization-Rate-Limit-Limit: 240 X-Organization-Rate-Limit-Remaining: 228 X-Organization-Rate-Limit-Reset: 1492608660 Strict-Transport-Security: max-age=31536000 X-Server-Name: 1-2

Body

{ "test": [ { "enabled": 1, "savedEvent": 0, "liveShare": 0, "testId": 817, "testName": "http://www.thousandeyes.com", "type": "http-server", "interval": 900, "url": "http://www.thousandeyes.com", "alertsEnabled": 1, "alertRules": [ { "ruleId": 302, "ruleName": "BGP alert rule", "expression": "((reachability < 100%) && (changes > 0))", "recipient": [ "API Sandbox User (noreply@thousandeyes.com)" ], "alertType": "BGP" } ], "agents": [ { "agentId": 12, "agentName": "Hong Kong", "location": "Hong Kong", "countryId": "HK", "ipAddresses": [ "124.248.207.183" ], "prefix": "124.248.207.0/24", "network": "SunnyVision Limited (AS 38478)", "agentType": "Cloud }, ... ], "modifiedDate": "2013-05-11 02:02:21", "networkMeasurements": 1, "createdBy": "API Sandbox User (noreply@thousandeyes.com)", "modifiedBy": "API Sandbox User (noreply@thousandeyes.com)", "createdDate": "2012-06-28 19:33:12", "apiLinks": [...] } ] }

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

Test metadata

Test fields are shown in the tables below, organized by test type. The table indicates whether the fields can be used in test creation, updates, or simply in returning data. As a reminder, in order to create a new test, the user attempting the creation must be an Account Admin; Regular users are blocked from using any of the POST-based methods.

Fields are listed alphabetically by test type below.

Where a field indicates n/a for both Test Creation and Test Update, these fields are system-generated and read only, and displayed as part of test metadata.

All Test Types

FieldTest CreationTest UpdateData TypeAcceptable ValuesNotes
alertsEnabledOptionalOptionalinteger0 or 1choose 1 to enable alerts, or 0 to disable alerts. Defaults to 1
alertRulesOptionalOptionalarray of alert rule objects {“ruleId”: ruleId}see notesget ruleId from /alert-rules endpoint. If alertsEnabled is set to 1 and alertRules is not included in a creation/update query, applicable defaults will be used.
apiLinksn/an/aarray of apiLinks objectsarray of apiLink objects, showing rel and href elementsRead only; self links to endpoint to pull test metadata, and data links to endpoint for test data
createdByn/an/astringUsername (email@company.com)read only
createdDaten/an/astringYYYY-MM-DD HH:mm:ss formatted dateread only; shown in UTC
descriptionOptionalOptionalstring(any)defaults to empty string
enabledn/aOptionalinteger0 or 1choose 1 to enable the test, 0 to disable the test
groupsOptionalOptionalarray of label objects ("groups": [ { "name": "groupName", "groupId": groupId, "builtIn": 0}])see notesget groupId from /groupsendpoint.
liveSharen/an/ainteger0 or 1read only; indicates 1 for a test shared with your account group, 0 for a normal test (does not apply to DNS+ tests)
modifiedByn/an/astringUsername (email@company.com)read only
modifiedDaten/an/astringYYYY-MM-DD HH:mm:ss formatted dateread only; shown in UTC
savedEventn/an/ainteger0 or 1read only; indicates 1 for a saved event, 0 for a normal test
sharedWithAccountsOptionalOptionalarray of account group objects ("sharedWithAccounts": [{"aid": aid, "name": "AccountGroupName"}])see notesTest is shared with the listed accout groups. Get aid and name from account-groups endpoint.
testIdn/an/aintegerunique ID of testread only; each test is assigned a unique ID; this is used to access test data from other endpoints.
testNameOptionalOptionalstring(any)Test name must be unique
typen/an/astringtype of test being queriedThis is a read only value, as test type is implicit in the test creation url.

Routing

BGP (bgp)

FieldTest CreationTest UpdateData TypeAcceptable ValuesNotes
bgpMonitorsOptionalOptionalarray of BGP Monitor objects {“monitorId”: monitorId}see notesGet monitorId from /bgp-monitors endpoint. If a public monitor is included in the bgpMonitors list on test creation/update, all public monitors will be assigned to the test, regardless of the setting specified in the usePublicBgp parameter.
includeCoveredPrefixesOptionalOptionalinteger0 or 1set to 1 to include queries for subprefixes detected under this prefix
prefixRequiredn/astringa.b.c.d/ea.b.c.d is a network address, with the prefix length defined as e. Prefixes can be any length from 8 to 24
usePublicBgpOptionalOptionalinteger0 or 1set to 1 to automatically add all available Public BGP Monitors

Network

Agent to Server (agent-to-server)

FieldTest CreationTest UpdateData TypeAcceptable ValuesNotes
agentsRequiredOptionalarray of agent objects {“agentId”: agentId}see notesget agentId from /agents endpoint.
bandwidthMeasurementsOptionalOptionalinteger0 or 1set to 1 to measure bandwidth. Only applies to Enterprise Agents assigned to the test
bgpMeasurementsOptionalOptionalinteger0 or 1choose 1 to enable bgp measurements, 0 to disable; defaults to 1
bgpMonitorsOptionalOptionalarray of BGP Monitor objects {“monitorId”: monitorId}see notesget monitorId from /bgp-monitors endpoint.
intervalRequiredOptionalinteger[120, 300, 600, 900, 1800, 3600]value in seconds
mtuMeasurementsOptionalOptionalinteger0 or 1set to 1 to measure MTU sizes on network from agents to the target
numPathTracesOptionalOptionalinteger(3..10)defaults to 3
pathTraceModeOptionalOptionalstringclassic or inSessionchoose inSession to perform the path trace within a TCP session; defaults to classic
portOptionaln/ainteger(1..65535)if protocol is TCP, defaults to port 80. Protocol and port (shown below) are mutually exclusive - if ICMP is selected and port is provided, the request will error.
probeModeOptionalOptionalstringAUTO, SACK or SYNprobe mode used by End-to-end Network Test; only valid if protocol is set to TCP; defaults to AUTO
protocolOptionaln/astringTCP or ICMPprotocol and port (shown below) are mutually exclusive - if ICMP is selected and port is provided, the request will error; defaults to TCP
serverRequiredn/astring(any)target name or IP address

Agent to Agent (agent-to-agent)

FieldTest CreationTest UpdateData TypeAcceptable ValuesNotes
agentsRequiredOptionalarray of agent objects {“agentId”: agentId}see notesget agentId from /agents endpoint.
bgpMeasurementsOptionalOptionalinteger0 or 1choose 1 to enable bgp measurements, 0 to disable; defaults to 1
bgpMonitorsOptionalOptionalarray of BGP Monitor objects {“monitorId”: monitorId}see notesget monitorId from /bgp-monitors endpoint.
directionOptionalOptionalstring[TO_TARGET, FROM_TARGET, BIDIRECTIONAL]Direction of the test (affects how results are shown); defaults to TO_TARGET
dscp  n/aRead OnlystringDSCP listdscp label
dscpIdOptionalOptionalintegerDSCP listsee list for acceptable values; defaults to 0
intervalRequiredOptionalinteger[120, 300, 600, 900, 1800, 3600]value in seconds
mssOptionalOptionalinteger(30..1400)Maximum Segment Size, in bytes.
numPathTracesOptionalOptionalinteger(3..10)defaults to 3
pathTraceModeOptionalOptionalstringclassic or inSessionchoose inSession to perform the path trace within a TCP session; defaults to classic
portOptionalOptionalinteger(1..65535)defaults to port 49153
protocolOptionalOptionalstringTCP or UDPdefaults to TCP
targetAgentIdRequiredOptionalintegerpull from /agents endpointagentId of the target agent for the test
throughputMeasurementsOptionalOptionalinteger0 or 1defaults to 0 (disabled), not allowed when source (or target) of the test is a cloud agent
throughputDurationOptionalOptionalinteger(5000..30000)defaults to 10000
throughputRateOptionalOptionalinteger(0..1000)for UDP only

DNS

DNS Server (dns-server)

FieldTest CreationTest UpdateData TypeAcceptable ValuesNotes
agentsRequiredOptionalarray of agent objects {“agentId”: agentId}see notesget agentId from /agents endpoint
bandwidthMeasurementsOptionalOptionalinteger0 or 1set to 1 to measure bandwidth. Only applies to Enterprise Agents assigned to the test, and requires that networkMeasurements is set. We do not recommend setting this flag on DNS server tests
bgpMeasurementsOptionalOptionalinteger0 or 1choose 1 to enable bgp measurements, 0 to disable; defaults to 1 when networkMeasurements is set
bgpMonitorsOptionalOptionalarray of BGP Monitor objects {“monitorId”: monitorId}see notesget monitorId from /bgp-monitors endpoint.
dnsServersRequiredOptionalarray of DNS Server objects {“serverName”: “fqdn of server”}
dnsTransportProtocolOptionalOptionalstringUDP or TCPtransport protocol used for DNS requests; defaults to UDP
domainRequiredn/astringsee notestarget record for test, suffixed by record type (ie, www.thousandeyes.com CNAME). If no record type is specified, the test will default to an ANY record.
intervalRequiredOptionalinteger[300, 600, 900, 1800, 3600]value in seconds
mtuMeasurementsOptionalOptionalinteger0 or 1set to 1 to measure MTU sizes on network from agents to the target
networkMeasurementsOptionalOptionalinteger0 or 1choose 1 to enable network measurements, 0 to disable; defaults to 1
numPathTracesOptionalOptionalinteger(1..10)defaults to 1
pathTraceModeOptionalOptionalstringclassic or inSessionchoose inSession to perform the path trace within a TCP session; defaults to classic
probeModeOptionalOptionalstringAUTO, SACK or SYNprobe mode used by End-to-end Network Test; only valid if protocol is set to TCP; defaults to AUTO
protocolOptionalOptionalstringTCP or ICMPprotocol used by dependent Network tests (End-to-end, Path Trace, PMTUD); defaults to TCP
recursiveQueriesOptionalOptionalinteger0 or 1set to 1 to run query with RD (recursion desired) flag enabled

DNS Trace (dns-trace)

FieldTest CreationTest UpdateData TypeAcceptable ValuesNotes
agentsRequiredOptionalarray of agent objects {“agentId”: agentId}see notesget agentId from /agents endpoint
dnsTransportProtocolOptionalOptionalstringUDP or TCPtransport protocol used for DNS requests; defaults to UDP
domainRequiredn/astringsee notestarget record for test, suffixed by record type (ie, www.thousandeyes.com CNAME). If no record type is specified, the test will default to an ANY record.
intervalRequiredOptionalinteger[300, 600, 900, 1800, 3600]value in seconds

DNSSEC (dns-dnssec)

FieldTest CreationTest UpdateData TypeAcceptable ValuesNotes
agentsRequiredOptionalarray of agent objects {“agentId”: agentId}see notesget agentId from /agents endpoint.
domainRequiredn/astringsee notestarget record for test, followed by record type (ie, www.thousandeyes.com A)
intervalRequiredOptionalinteger[300, 600, 900, 1800, 3600]value in seconds

DNS+

DNS+ Domain (dnsp-domain)

FieldTest CreationTest UpdateData TypeAcceptable ValuesNotes
domainRequiredn/astringsee notestarget record for test, followed by record type (ie, www.thousandeyes.com A)
intervalRequiredOptionalinteger[900, 1800, 3600]value in seconds

DNS+ Server (dnsp-server)

FieldTest CreationTest UpdateData TypeAcceptable ValuesNotes
intervalRequiredOptionalinteger[3600, 7200, 10800]value in seconds
serverRequiredRead-onlystringsee notesfqdn of DNS resolver

Web

HTTP Server (http-server)

FieldTest CreationTest UpdateData TypeAcceptable ValuesNotes
agentsRequiredOptionalarray of agent objects {“agentId”: agentId}see notesget agentId from /agents endpoint.
authTypeOptionalOptionalstringNONE, BASIC, NTLM, KERBEROSHTTP Authentication type; defaults to NONE
bandwidthMeasurementsOptionalOptionalinteger0 or 1set to 1 to measure bandwidth. Only applies to Enterprise Agents assigned to the test, and requires that networkMeasurements is set.
bgpMeasurementsOptionalOptionalinteger0 or 1choose 1 to enable bgp measurements, 0 to disable; defaults to 1 when networkMeasurements is set
bgpMonitorsOptionalOptionalarray of BGP Monitor objects {“monitorId”: monitorId}see notesget monitorId from /bgp-monitors endpoint.
clientCertificateOptionalOptionalstringsee notesString representation (containing newline characters) of client certificate, if used
contentRegexOptionalOptionalstringRegular ExpressionsThis field does not require escaping
customHeadersOptionalOptionalobject containing header objects "customHeaders": {"root": {"header1": "value1"},"domains": {"domain1.com": {"header2": "value2"}},"all": {"header3": "value3"}}anyuse HTTP header values in this object
customHeaders.allOptionalOptionalobject containing headers "all":{"header1":"value1","header2":"value2"}anyuse these HTTP headers for all domains
customHeaders.domainsOptionalOptionalobject containing domains mapped to header objects "domains":{"example.com":{"header1":"value1","header2":"value2"}}anyuse these HTTP headers for the specified domain(s)
customHeaders.rootOptionalOptionalobject containing headers "root":{"header1":"value1","header2":"value2"}anyuse these HTTP headers for root server request
desiredStatusCodeOptionalOptionalstringA valid HTTP response codeSet to the value you’re interested in retrieving.
downloadLimitOptionalOptionalintegeranyspecify maximum number of bytes to download from the target object
dnsOverrideOptionalOptionalstringIP addressIP address to use for DNS override
followRedirectsOptionalOptionalinteger0 or 1set to 0 to not follow HTTP/301 or HTTP/302 redirect directives. Default is 1
headersOptionalOptionalarray of header strings [“header: value”, “header2: value”]anyuse HTTP header values in this list
httpVersionOptionalOptionalinteger[1,2]2 for default (prefer HTTP/2), 1 for HTTP/1.1 only
httpTargetTimeOptionalOptionalinteger(100..5000)target time for HTTP server completion; specified in milliseconds
httpTimeLimitOptionalOptionalinteger(5..60)defaults to 5 seconds
intervalRequiredOptionalinteger[120, 300, 600, 900, 1800, 3600]value in seconds
mtuMeasurementsOptionalOptionalinteger0 or 1set to 1 to measure MTU sizes on network from agents to the target
networkMeasurementsOptionalOptionalinteger0 or 1choose 1 to enable network measurements, 0 to disable; defaults to 1
numPathTracesOptionalOptionalinteger(3..10)defaults to 3
passwordOptionalOptionalstringsee notespassword to be used for Basic/NTLM authentication
pathTraceModeOptionalOptionalstringclassic or inSessionchoose inSession to perform the path trace within a TCP session; defaults to classic
postBodyOptionalOptionalstringsee notesEnter the post body in this field. No escaping is required. If the post body is set to something other than empty, the requestMethod will be set to POST.
probeModeOptionalOptionalstringAUTO, SACK or SYNprobe mode used by End-to-end Network Test; only valid if protocol is set to TCP; defaults to AUTO
protocolOptionalOptionalstringTCP or ICMPprotocol used by dependent Network tests (End-to-end, Path Trace, PMTUD); defaults to TCP
sslVersionRead onlyRead Onlystringcorresponds to sslVersionIdReflects the verbose ssl protocol version used by a test
sslVersionIdOptionalOptionalinteger[0,3,4,5,6]0 for auto, 3 for SSLv3, 4 for TLS v1.0, 5 for TLS v1.1, 6 for TLS v1.2
urlRequiredn/astringsee notestarget for the test
useNtlmOptionalOptionalinteger0 or 1choose 1 to use NTLM, 0 to use Basic Authentication. Requires username/password to be set
userAgentOptionalOptionalstringsee notesuser-agent string to be provided during the test
usernameOptionalOptionalstringsee notesusername to be used for Basic/NTLM authentication
verifyCertificateOptionalOptionalinteger0 or 1set to 0 to ignore certificate errors (defaults to 1)

Page Load (page-load)

FieldTest CreationTest UpdateData TypeAcceptable ValuesNotes
agentsRequiredOptionalarray of agent objects {“agentId”: agentId}see notesget agentId from /agents endpoint
authTypeOptionalOptionalstringNONE, BASIC, NTLM, KERBEROSHTTP Authentication type; defaults to NONE
bandwidthMeasurementsOptionalOptionalinteger0 or 1set to 1 to measure bandwidth. Only applies to Enterprise Agents assigned to the test, and requires that networkMeasurements is set
bgpMeasurementsOptionalOptionalinteger0 or 1choose 1 to enable bgp measurements, 0 to disable; defaults to 1 when networkMeasurements is set
bgpMonitorsOptionalOptionalarray of BGP Monitor objects {“monitorId”: monitorId}see notesget monitorId from /bgp-monitors endpoint.
customHeadersOptionalOptionalobject containing header objects "customHeaders": {"root": {"header1": "value1"},"domains": {"domain1.com": {"header2": "value2"}},"all": {"header3": "value3"}}anyuse HTTP header values in this object
customHeaders.allOptionalOptionalobject containing headers "all":{"header1":"value1","header2":"value2"}anyuse these HTTP headers for all domains
customHeaders.domainsOptionalOptionalobject containing domains mapped to header objects "domains":{"example.com":{"header1":"value1","header2":"value2"}}anyuse these HTTP headers for the specified domain(s)
customHeaders.rootOptionalOptionalobject containing headers "root":{"header1":"value1","header2":"value2"}anyuse these HTTP headers for root server request
httpIntervalRequiredOptionalinteger[120, 300, 600, 900, 1800, 3600]Cannot be larger than the interval value; defaults to the same value as interval
httpTargetTimeOptionalOptionalinteger(100..5000)target time for HTTP server completion; specified in milliseconds
httpTimeLimitOptionalOptionalinteger(5..60)defaults to 5 seconds
httpVersionOptionalOptionalinteger[1,2]2 for default (prefer HTTP/2), 1 for HTTP/1.1 only
includeHeadersOptionalOptionalinteger0 or 1set to 1 to capture response headers for objects loaded by the test. Default is 1.
intervalRequiredOptionalinteger[120, 300, 600, 900, 1800, 3600]value in seconds
mtuMeasurementsOptionalOptionalinteger0 or 1set to 1 to measure MTU sizes on network from agents to the target
networkMeasurementsOptionalOptionalinteger0 or 1choose 1 to enable network measurements, 0 to disable; defaults to 1
numPathTracesOptionalOptionalinteger(3..10)defaults to 3
pageLoadTargetTimeOptionalOptionalinteger(1..30)target time for Page Load completion; specified in seconds; cannot exceed pageLoadTimeLimit value
pageLoadTimeLimitOptionalOptionalinteger(5..MIN(0.25 * interval, 60)must be larger than httpTimeLimit; defaults to 10 seconds
passwordOptionalOptionalstringsee notespassword to be used for Basic/NTLM authentication
pathTraceModeOptionalOptionalstringclassic or inSessionchoose inSession to perform the path trace within a TCP session; defaults to classic
probeModeOptionalOptionalstringAUTO, SACK or SYNprobe mode used by End-to-end Network Test; only valid if protocol is set to TCP; defaults to AUTO
protocolOptionalOptionalstringTCP or ICMPprotocol used by dependent Network tests (End-to-end, Path Trace, PMTUD); defaults to TCP
sslVersionRead onlyRead Onlystringcorresponds to sslVersionIdReflects the verbose ssl protocol version used by a test
sslVersionIdOptionalOptionalinteger[0,3,4,5,6]0 for auto, 3 for SSLv3, 4 for TLS v1.0, 5 for TLS v1.1, 6 for TLS v1.2
subintervalOptionalOptionalinteger[60, 120, 300, 600, 900, 1200, 1800, 3600] or nullsubinterval for round-robin testing (in seconds). Must be less than or equal to interval and must evenly divide interval; default is null, which disables round-robin
urlRequiredn/astringsee notestarget for the test
useNtlmOptionalOptionalinteger0 or 1choose 1 to use NTLM, 0 to use Basic Authentication. Requires username/password to be set
userAgentOptionalOptionalstringsee notesuser-agent string to be provided during the test
usernameOptionalOptionalstringsee notesusername to be used for Basic/NTLM authentication
verifyCertificateOptionalOptionalinteger0 or 1set to 0 to ignore certificate errors (defaults to 1)

Transaction (transactions)

FieldTest CreationTest UpdateData TypeAcceptable ValuesNotes
agentsRequiredOptionalarray of agent objects {“agentId”: agentId}see notesget agentId from /agents endpoint.
authTypeOptionalOptionalstringNONE, BASIC, KERBEROSHTTP Authentication type; defaults to NONE
customHeadersOptionalOptionalobject containing header objects "customHeaders": {"root": {"header1": "value1"},"domains": {"domain1.com": {"header2": "value2"}},"all": {"header3": "value3"}}anyuse HTTP header values in this object
customHeaders.allOptionalOptionalobject containing headers "all":{"header1":"value1","header2":"value2"}anyuse these HTTP headers for all domains
customHeaders.domainsOptionalOptionalobject containing domains mapped to header objects "domains":{"example.com":{"header1":"value1","header2":"value2"}}anyuse these HTTP headers for the specified domain(s)
customHeaders.rootOptionalOptionalobject containing headers "root":{"header1":"value1","header2":"value2"}anyuse these HTTP headers for root server request
endStepOptionalOptionalintegerTransaction step number to end the transaction timer - this is based on the zero-indexed stepNum field specified in transactionSteps.If omitted, the transaction will end at the last step in the transaction script
includeHeadersOptionalOptionalinteger0 or 1set to 1 to capture response headers for objects loaded by the test. Default is 1.
intervalRequiredOptionalinteger[300, 600, 900, 1800, 3600]value in seconds
passwordOptionalOptionalstringsee notespassword to be used for Basic/NTLM authentication
startStepOptionalOptionalintegerTransaction step number to begin the transaction timer - this is based on the zero-indexed stepNum field specified in transactionSteps.If omitted, the transaction will start at step 0 of the transaction script
subintervalOptionalOptionalinteger[60, 120, 300, 600, 900, 1200, 1800, 3600] or nullsubinterval for round-robin testing (in seconds). Must be less than or equal to interval and must evenly divide interval; default is null, which disables round-robin
targetTimeOptionalOptionalinteger(1..60)target time for completion, defaults to 50% of time limit; specified in seconds
timeLimitOptionalOptionalinteger(5..MIN(0.25 * interval, 180))time limit for transaction; defaults to 30s
userAgentOptionalOptionalstringsee notesuser-agent string to be provided during the test
usernameOptionalOptionalstringsee notesusername to be used for Basic/NTLM authentication
urlRequiredRead Onlystringsee notestarget for the test
transactionScriptOptional (see notes)Optional (see notes)stringsee notesHTML version of a transaction script. Quotes must be escaped (precede " characters with \). To obtain a transaction script for upload, click the Export as file option from the ThousandEyes Recorder. Note that this field is write-only and can only be used on test creation.
transactionStepsOptional (see notes)Optional (see notes)array of transactionStep objects.see transactionSteps.<field> values belowEither transactionSteps or transactionScript is required to be specified. If transactionSteps is specified, then this value will override any transactionScript field supplied in the call
transactionSteps.​stepNumRequiredOptionalintegerZero-indexed step number.Steps must be provided sequentially, and must start at zero
transactionSteps.​stepNameRequiredOptionalstringsee notesname for the step
transactionSteps.​commandRequiredOptionalstringsee notescommand for the step
transactionSteps.​targetRequiredOptionalstringsee notestarget for the step
transactionSteps.​valueOptionalOptionalstringsee notesif a value field is required as part of the transaction step (for example, a waitForCondition command), specify the value in this field. If no value is required, omit the value field.

Web Transaction (web-transactions)

FieldTest CreationTest UpdateData TypeAcceptable ValuesNotes
agentsRequiredOptionalarray of agent objects {“agentId”: agentId}see notesget agentId from /agents endpoint.
authTypeOptionalOptionalstringNONE, BASIC, KERBEROS, NTLMHTTP Authentication type; defaults to NONE
bandwidthMeasurementsOptionalOptionalinteger0 or 1set to 1 to measure bandwidth; defaults to 0. Only applies to Enterprise Agents assigned to the test, and requires that networkMeasurements is set.
contentRegexOptionalOptionalstringRegular ExpressionsVerify content using a regular expression. This field does not require escaping
credentialsOptionalOptionalarray of credentialId integers {"credentials":[credentialId1,credentialId2,...]}see notesget credentialId from /credentials endpoint
customHeadersOptionalOptionalobject containing header objects "customHeaders": {"root": {"header1": "value1"},"domains": {"domain1.com": {"header2": "value2"}},"all": {"header3": "value3"}}anyuse HTTP header values in this object
customHeaders.allOptionalOptionalobject containing headers "all":{"header1":"value1","header2":"value2"}anyuse these HTTP headers for all domains
customHeaders.domainsOptionalOptionalobject containing domains mapped to header objects "domains":{"example.com":{"header1":"value1","header2":"value2"}}anyuse these HTTP headers for the specified domain(s)
customHeaders.rootOptionalOptionalobject containing headers "root":{"header1":"value1","header2":"value2"}anyuse these HTTP headers for root server request
desiredStatusCodeOptionalOptionalstringA valid HTTP response codeSet to the value you’re interested in retrieving.
followRedirectsOptionalOptionalinteger0 or 1set to 0 to not follow HTTP/301 or HTTP/302 redirect directives. Default is 1
httpTargetTimeOptionalOptionalinteger(100..5000)target time for HTTP server completion; specified in milliseconds
httpTimeLimitOptionalOptionalinteger(5..60)defaults to 5 seconds
httpVersionOptionalOptionalinteger[1,2]2 for default (prefer HTTP/2), 1 for HTTP/1.1 only
includeHeadersOptionalOptionalinteger0 or 1set to 1 to capture response headers for objects loaded by the test. Default is 1.
intervalRequiredOptionalinteger[300, 600, 900, 1800, 3600]value in seconds
mtuMeasurementsOptionalOptionalinteger0 or 1set to 1 to measure MTU sizes on network from agents to the target
networkMeasurementsOptionalOptionalinteger0 or 1choose 1 to enable network measurements, 0 to disable; defaults to 1
numPathTracesOptionalOptionalinteger(3..10)defaults to 3
passwordOptionalOptionalstringsee notespassword to be used for NTLM or Basic authentication
pathTraceModeOptionalOptionalstringclassic or inSessionchoose inSession to perform the path trace within a TCP session; defaults to classic
probeModeOptionalOptionalstringAUTO, SACK or SYNprobe mode used by End-to-end Network Test; only valid if protocol is set to TCP; defaults to AUTO
protocolOptionalOptionalstringTCP or ICMPprotocol used by dependent Network tests (End-to-end, Path Trace, PMTUD); defaults to TCP
sslVersionIdOptionalOptionalinteger[0,3,4,5,6]0 for auto, 3 for SSLv3, 4 for TLS v1.0, 5 for TLS v1.1, 6 for TLS v1.2
subintervalOptionalOptionalinteger[60, 120, 300, 600, 900, 1200, 1800, 3600] or nullsubinterval for round-robin testing (in seconds). Must be less than or equal to interval and must evenly divide interval; default is null, which disables round-robin
targetTimeOptionalOptionalinteger(1..60)target time for completion, defaults to 50% of time limit; specified in seconds
timeLimitOptionalOptionalinteger(5..MIN(0.25 * interval, 180))time limit for transaction; defaults to 30s
transactionScriptRequiredOptional (see notes)stringsee notesJavaScript of a web transaction test. Quotes must be escaped (precede " characters with \ ).
urlRequiredRead Onlystringsee notestarget for the test
useNtlmOptionalOptionalinteger0 or 1choose 1 to use NTLM Authentication, or choose 0 to use Basic Authentication. Requires username and password to be set. If authType is specified, it will override this setting.
userAgentOptionalOptionalstringsee notesuser-agent string to be provided during the test
usernameOptionalOptionalstringsee notesusername to be used for NTLM or Basic authentication
verifyCertificateOptionalOptionalinteger0 or 1set to 0 to ignore certificate errors (defaults to 1)

FTP Server (ftp-server)

FieldTest CreationTest UpdateData TypeAcceptable ValuesNotes
agentsRequiredOptionalarray of agent objects {"agentId": agentId}see notesget agentId from /agents endpoint.
bgpMeasurementsOptionalOptionalinteger0 or 1choose 1 to enable bgp measurements, 0 to disable; defaults to 1 when networkMeasurements is set
downloadLimitOptionalOptionalintegeranyspecify maximum number of bytes to download from the target object
ftpTargetTimeOptionalOptionalinteger(1000..6000)target time for operation completion; specified in milliseconds.
ftpTimeLimitOptionalOptionalinteger(10..60)Set the time limit for the test (in seconds). FTP tests default to 10s.
intervalRequiredOptionalinteger[300, 600, 900, 1800, 3600]value in seconds.
mtuMeasurementsOptionalOptionalinteger0 or 1set to 1 to measure MTU sizes on network from agents to the target
networkMeasurementsOptionalOptionalinteger0 or 1choose 1 to enable network measurements, 0 to disable; defaults to 1
numPathTracesOptionalOptionalinteger(3..10)defaults to 3
passwordRequiredOptionalstringsee notespassword to be used to authenticate with the destination server.
pathTraceModeOptionalOptionalstringclassic or inSessionchoose inSession to perform the path trace within a TCP session; defaults to classic
probeModeOptionalOptionalstringAUTO, SACK or SYNprobe mode used by End-to-end Network Test; only valid if protocol is set to TCP; defaults to AUTO
protocolOptionalOptionalstringTCP or ICMPprotocol used by dependent Network tests (End-to-end, Path Trace, PMTUD); defaults to TCP
requestTypeRequiredOptionalstring[Download, Upload, List]Set the type of activity for the test.
urlRequiredOptionalstringsee notesurl of site being tested. Based on the request type, may be a fully qualified domain + file name (for download), a path on an FTP Server (for list and upload types)
useActiveFtpOptionalOptional0 or 1see notesexplicitly set the flag to use active FTP. Tests are set to use passive FTP by default
useExplicitFtpsOptionalOptional0 or 1see notesuse explicit FTPS (ftp over SSL). By default, tests will autodetect when it is appropriate to use FTPS.
usernameRequiredOptionalstringsee notesusername to be used to authenticate with the destination server

Voice

SIP Server (sip-server)

FieldTest CreationTest UpdateData TypeAcceptable ValuesNotes
authUserOptionalOptionalstringsee notesusername for authentication with SIP server
bgpMeasurementsOptionalOptionalinteger0 or 1choose 1 to enable bgp measurements, 0 to disable; defaults to 1 when networkMeasurements is set
mtuMeasurementsOptionalOptionalinteger0 or 1set to 1 to measure MTU sizes on network from agents to the target
networkMeasurementsOptionalOptionalinteger0 or 1choose 1 to enable network measurements, 0 to disable; defaults to 1
optionsRegexOptionalOptionalstringRegular Expressionsthis field does not require escaping
passwordOptionalOptionalstringsee notespassword for authentication with SIP server
pathTraceModeOptionalOptionalstringclassic or inSessionchoose inSession to perform the path trace within a TCP session; defaults to classic
portRequiredOptionalinteger(1024..65535)port number for the chosen protocol
protocolOptionalOptionalstringTCP, TLS or UDPtransport layer for SIP communication, defaults to TCP
registerEnabledOptionalOptionalinteger0 or 11 to perform SIP registration on the test target with the SIP REGISTER command, defaults to 0
sipRegistrarRequiredOptionalstringsee notesSIP server to be tested, specified by domain name or IP address
sipTargetTimeOptionalOptionalinteger(100..5000)target time for test completion; specified in milliseconds
sipTimeLimitOptionalOptionalinteger(5..10)defaults to 5 seconds
targetSipCredentialsRequiredOptionalobjectsee notestarget SIP server parameters
targetSipCredentials.​authUserOptionalOptionalstringsee notesusername for authentication with SIP server
targetSipCredentials.​passwordOptionalOptionalstringsee notespassword for authentication with SIP server
targetSipCredentials.​portRequiredOptionalinteger(1024..65535)port number for the chosen protocol
targetSipCredentials.​protocolOptionalOptionalstringTCP, TLS or UDPtransport layer for SIP communication, defaults to TCP
targetSipCredentials.​sipRegistrarRequiredOptionalstringsee notesSIP server to be tested, specified by domain name or IP address
targetSipCredentials.​userOptionalOptionalstringsee notesusername for SIP registration; should be unique within a ThousandEyes Account Group
userOptionalOptionalstringsee notesusername for SIP registration; should be unique within a ThousandEyes Account Group

RTP Stream (voice)

FieldTest CreationTest UpdateData TypeAcceptable ValuesNotes
agentsRequiredOptionalarray of agent objects {"agentId": agentId}see notesget agentId from /agents endpoint.
bgpMeasurementsOptionalOptionalinteger0 or 1choose 0 to disable bgp measurements; defaults to 1
codecn/aRead Onlystringsee notescodec label
codecIdOptionalOptionalintegerVoice codec listsee list for acceptable values; defaults to 0
dscpn/aRead Onlystringsee notesdscp label
dscpIdOptionalOptionalintegerDSCP listsee list for acceptable values; defaults to 46
durationOptionalOptionalinteger(5..30)duration of the test (in seconds); defaults to 5
intervalRequiredOptionalinteger[300, 600, 900, 1800, 3600]value in seconds
jitterBufferOptionalOptionalinteger(0..150)de-jitter buffer size (in seconds); defaults to 40
numPathTracesOptionalOptionalinteger(3..10)defaults to 3
targetAgentIdRequiredOptionalintegerpull from /agents endpointagentId of the target agent for the test

POST /v6/tests/{testType}/new Creating a test

Creates a new test in ThousandEyes, based on properties provided in the POST data. In order to create a new test, the user attempting the creation must be an Account Admin.

Regular users are blocked from using any of the POST-based methods.

Note: When creating or updating a test and assigning alert rules, that alert rules are based on specific measurements being available. For example, when creating an HTTP server test with network measurements disabled, you will not be able to assign any alert rules that are based on network metrics. The same applies to BGP measurements.

Optional (Querystring) Parameters

  • 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

  • {testType} corresponds to any of the following options:

    • agent-to-server
    • agent-to-agent
    • bgp
    • http-server
    • page-load
    • transactions
    • web-transactions
    • ftp-server
    • dns-trace
    • dns-server
    • dns-dnssec
    • dnsp-domain
    • dnsp-server
    • sip-server
    • voice (RTP Stream)
  • Request body should contain fields to be set during creation. See the Test Metadata page for fields available during test creation.

Response

If a test is successfully created, an HTTP/201 CREATED response will be returned, and the test definition will be returned. See the example below.,

Example

Please note, test creation/modification/deletion is not allowed on the Sandbox API account, and will not work if attempted. The following example is presented for documentation and reference purposes only.

$ curl -i https://api.thousandeyes.com/v6/tests/agent-to-server/new.json \ -d '{ "interval": 300, "agents": [ {"agentId": 113} ], "testName": "API agent-to-server test addition for www.thousandeyes.com", "server": "www.thousandeyes.com", "port": 80, "alertsEnabled": 0 }' \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -u noreply@thousandeyes.com:g351mw5xqhvkmh1vq6zfm51c62wyzib2

HTTP/1.1 201 CREATED Server: nginx Date: Mon, 09 May 2016 16:04:24 GMT Content-Type: application/json;charset=UTF-8 Transfer-Encoding: chunked Connection: keep-alive X-Organization-Rate-Limit-Limit: 240 X-Organization-Rate-Limit-Remaining: 228 X-Organization-Rate-Limit-Reset: 1492608660 Strict-Transport-Security: max-age=31536000 X-Server-Name: 1-2

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

POST /v6/tests/{testType}/{testId}/update Updating a test

Updates a test in ThousandEyes, based on properties provided in the POST data. In order to edit a test, the user attempting the creation must be an Account Admin, and the target test cannot be a live share or saved event.

Regular users are blocked from using any of the POST-based methods.

Note: When creating or updating a test and assigning alert rules, that alert rules are based on specific measurements being available. For example, when creating an HTTP server test with network measurements disabled, you will not be able to assign any alert rules that are based on network metrics. The same applies to BGP measurements.

Optional (Querystring) Parameters

  • 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

  • {testType} corresponds to any of the following options:

    • bgp
    • agent-to-server
    • agent-to-agent
    • http-server
    • page-load
    • transactions
    • web-transactions
    • ftp-server
    • dns-trace
    • dns-server
    • dns-dnssec
    • sip-server
    • voice (RTP Stream)
  • {testId} corresponds to a testId of the type specified by {testType}, see the test list endpoint for a listing of tests

  • Request body should contain fields to be set during creation. See the Test Metadata page for fields available during test creation

Response

If a test is successfully edited, an HTTP/200 OK response will be returned, and the test definition will be returned. The modifiedBy and modifiedDate fields should be updated according to the user who edited the account; See the example below:

Example

Please note, test creation/modification/deletion is not allowed on the Sandbox API account, and will not work if attempted. The following example is presented for documentation and reference purposes only.

$ curl -i https://api.thousandeyes.com/v6/tests/http-server/817/update.json \ -d '{ "interval": 900, "agents": [ {"agentId": 117} ], "testName": "Edited test name for API network test addition for www.thousandeyes.com" }' \ -H "Content-Type: application/json" \ -u noreply@thousandeyes.com:g351mw5xqhvkmh1vq6zfm51c62wyzib2

HTTP/1.1 200 OK Server: nginx Date: Mon, 09 May 2016 16:04:24 GMT Content-Type: application/json;charset=UTF-8 Transfer-Encoding: chunked Connection: keep-alive X-Organization-Rate-Limit-Limit: 240 X-Organization-Rate-Limit-Remaining: 227 X-Organization-Rate-Limit-Reset: 1492608660 Strict-Transport-Security: max-age=31536000 X-Server-Name: 1-2

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

POST /v6/tests/{testType}/{testId}/delete Deleting a test

Deletes the specified test in ThousandEyes, based on the testId provided in the API request. In order to delete a test, the user attempting the creation must be an Account Admin.

Regular users are blocked from using any of the POST-based methods.

Optional (Querystring) Parameters

  • 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

  • {testType} corresponds to any of the following options:

    • bgp
    • agent-to-server
    • agent-to-agent
    • http-server
    • page-load
    • transactions
    • web-transactions
    • ftp-server
    • dns-trace
    • dns-server
    • dns-dnssec
    • sip-server
    • voice (RTP Stream)
  • {testId} corresponds to a testId of the type specified by {testType}, see the test list endpoint for a listing of tests.

  • The request body must be provided, but should be empty

Response

If a test is successfully deleted, an HTTP/204 NO CONTENT response will be returned, and an empty JSON response will be in the body of the response.

Example

Please note, test creation/modification/deletion is not allowed on the Sandbox API account, and will not work if attempted. The following example is presented for documentation and reference purposes only.

$ curl -i https://api.thousandeyes.com/v6/tests/agent-to-server/811/delete.json \ -d '' \ -H "Content-Type: application/json" \ -u noreply@thousandeyes.com:g351mw5xqhvkmh1vq6zfm51c62wyzib2

HTTP/1.1 204 NO CONTENT Date: Thu, 07 Nov 2013 07:32:48 GMT Server: Apache/2.2.22 (Ubuntu) Transfer-Encoding: chunked Content-Type: application/json Connection: keep-alive X-Organization-Rate-Limit-Limit: 240 X-Organization-Rate-Limit-Remaining: 224 X-Organization-Rate-Limit-Reset: 1492608660 Strict-Transport-Security: max-age=31536000 X-Server-Name: 1-2

Body

  • The body of a delete request will be empty.

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

Saved events

While there is no specific endpoint for Saved Events, ThousandEyes allows users to retrieve data for saved events through the normal test data endpoints. See the Test Data section for a list of endpoints that can be used to retrieve data for saved events. Unlike standard tests, saved events MUST be queried with the date range you wish to retrieve. See the window= and from= parameters in the list below.

  • 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

Without specifying a time range parameter, your query will return only the last round of data available. In the two examples below, the first request returns the test’s first round of data, whereas the second request (where a date range is specified) returns the data for the requested range.

Example 1 (no time range specified)

Note in this circumstance, the last round of data is returned (since a request without a time range was specified)

$ curl https://api.thousandeyes.com/v6/web/page-load/35199.json \ -u noreply@thousandeyes.com:g351mw5xqhvkmh1vq6zfm51c62wyzib2

{ "web": { "test": { "createdDate": "2014-10-28 16:15:10", "createdBy": "API Sandbox Admin (api.sandbox+admin@thousandeyes.com)", "enabled": 1, "savedEvent": 1, "testId": 35199, "testName": "Google Event", "type": "page-load", "interval": 900, "httpInterval": 900, "url": "http://www.google.com", "protocol": "TCP", "networkMeasurements": 1, "mtuMeasurements": 1, "bandwidthMeasurements": 0, "bgpMeasurements": 1, "usePublicBgp": 1, "alertsEnabled": 0, "liveShare": 0, "httpTimeLimit": 5, "httpTargetTime": 1000, "httpVersion": 2, "pageLoadTimeLimit": 30, "pageLoadTargetTime": 2, "followRedirects": 1, "includeHeaders": 0, "sslVersionId": 0, "sslVersion": "Auto", "verifyCertificate": 1, "useNtlm": 0, "authType": "NONE", "contentRegex": "", "probeMode": "AUTO", "apiLinks": [...] }, "pageLoad": [ { "agentName": "Kwai Chung, Hong Kong", "countryId": "HK", "date": "2014-10-22 10:03:04", "agentId": 12, "roundId": 1413972000, "responseTime": 35, "totalSize": 7278, "numObjects": 4, "numErrors": 0, "domLoadTime": 171, "pageLoadTime": 205, "permalink": "https://app.thousandeyes.com/web/page-load?__a=75&testId=35199&roundId=1413972000&agentId=12" }, ... ] }, "pages": { "current": 1 } }

Example 2 (time range specified)

Note in this circumstance, the full set of data is returned, and may involve paging - since a specific range was specified. If the time range used in the query did not overlap with the available data, no data would be returned.

$ curl https://api.thousandeyes.com/v6/web/page-load/35199.json?from=2014-10-22+06:00:00&to=2014-10-22+10:00:00 \ -u noreply@thousandeyes.com:g351mw5xqhvkmh1vq6zfm51c62wyzib2

{ "from": "2014-10-22 06:00:00", "to": "2014-10-22 10:00:00", "web": { "test": { "createdDate": "2014-10-28 16:15:10", "createdBy": "API Sandbox Admin (api.sandbox+admin@thousandeyes.com)", "enabled": 1, "savedEvent": 1, "testId": 35199, "testName": "Google Event", "type": "page-load", "interval": 900, "httpInterval": 900, "url": "http://www.google.com", "protocol": "TCP", "networkMeasurements": 1, "mtuMeasurements": 1, "bandwidthMeasurements": 0, "bgpMeasurements": 1, "usePublicBgp": 1, "alertsEnabled": 0, "liveShare": 0, "httpTimeLimit": 5, "httpTargetTime": 1000, "httpVersion": 2, "pageLoadTimeLimit": 30, "pageLoadTargetTime": 2, "followRedirects": 1, "includeHeaders": 0, "sslVersionId": 0, "sslVersion": "Auto", "verifyCertificate": 1, "useNtlm": 0, "authType": "NONE", "contentRegex": "", "probeMode": "AUTO", "apiLinks": [...] }, "pageLoad": [ { "agentName": "Kwai Chung, Hong Kong", "countryId": "HK", "date": "2014-10-22 06:01:00", "agentId": 12, "roundId": 1413957600, "responseTime": 37, "totalSize": 7281, "numObjects": 4, "numErrors": 0, "domLoadTime": 341, "pageLoadTime": 384, "permalink": "https://app.thousandeyes.com/web/page-load?__a=75&testId=35199&roundId=1413957600&agentId=12" }, ... ] }, "pages": { "current": 1 } }