openapi: 3.2.0 info: version: 7.0.100 title: Page Load Tests API description: '**Note:** The Page Load Tests, API Tests, and Web Transaction Tests APIs are not available for ThousandEyes for Government instance. This API allows you to list, create, edit, and delete Network and Application Synthetics tests. ' x-provenance: method: harvested authored_by: Cisco ThousandEyes harvested_by: API Evangelist harvested_on: '2026-08-19' first_party: true provider_published: true source_host: pubhub.devnetcloud.com note: 27 OpenAPI 3.0 documents (26 per-area plus a unified 326-operation document) served anonymously from Cisco's DevNet CDN. api.thousandeyes.com itself 401s every path, so the contract is public while the API host is gated. x-evidence: - type: source url: https://pubhub.devnetcloud.com/media/000-v7-apis/docs/reference/ - type: source url: https://developer.cisco.com/docs/thousandeyes/ servers: - description: ThousandEyes API production URL url: https://api.thousandeyes.com/v7 security: - BearerAuth: [] tags: - name: Page Load Tests description: Page Load test management operations paths: /tests/page-load: get: tags: - Page Load Tests summary: List Page Load tests operationId: getPageLoadTests description: 'Returns a list of all Page Load tests and saved events. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. ' parameters: - $ref: '#/components/parameters/AccountGroupId' responses: '200': description: OK content: application/hal+json: schema: $ref: '#/components/schemas/PageLoadTests' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '502': $ref: '#/components/responses/502' default: $ref: '#/components/responses/GeneralError' post: tags: - Page Load Tests summary: Create Page Load test operationId: createPageLoadTest description: Creates a new Page Load test. This method requires Account Admin permissions. parameters: - $ref: '#/components/parameters/AccountGroupId' - $ref: '#/components/parameters/ExpandTest' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PageLoadTestRequest' responses: '201': description: Created headers: Location: $ref: '#/components/headers/Location' content: application/hal+json: schema: $ref: '#/components/schemas/PageLoadTestResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '502': $ref: '#/components/responses/502' default: $ref: '#/components/responses/GeneralError' /tests/page-load/{testId}: get: tags: - Page Load Tests summary: Get Page Load test operationId: getPageLoadTest description: Returns details for a Page Load test, including name, intervals, targets, alert rules and agents. parameters: - $ref: '#/components/parameters/TestIdPath' - $ref: '#/components/parameters/AccountGroupId' - $ref: '#/components/parameters/VersionId' - $ref: '#/components/parameters/ExpandTest' responses: '200': description: OK content: application/hal+json: schema: $ref: '#/components/schemas/PageLoadTestResponse' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '502': $ref: '#/components/responses/502' default: $ref: '#/components/responses/GeneralError' put: tags: - Page Load Tests summary: Update Page Load test operationId: updatePageLoadTest description: 'Updates a Page Load test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: alert rules, alert suppression windows, labels, tags. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.' parameters: - $ref: '#/components/parameters/TestIdPath' - $ref: '#/components/parameters/AccountGroupId' - $ref: '#/components/parameters/ExpandTest' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PageLoadTestRequest' responses: '200': description: OK content: application/hal+json: schema: $ref: '#/components/schemas/PageLoadTestResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '502': $ref: '#/components/responses/502' default: $ref: '#/components/responses/GeneralError' delete: tags: - Page Load Tests summary: Delete Page Load test operationId: deletePageLoadTest description: 'Deletes the specified Page Load test. This method requires Account Admin permissions. ' parameters: - $ref: '#/components/parameters/TestIdPath' - $ref: '#/components/parameters/AccountGroupId' responses: '204': $ref: '#/components/responses/204' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '502': $ref: '#/components/responses/502' default: $ref: '#/components/responses/GeneralError' components: parameters: VersionId: name: versionId in: query description: The unique identifier for a specific version of the test settings. If provided, returns the test configuration as it existed at that version. To retrieve available version IDs, use the `/tests/{testId}/history` endpoint. If not specified, the current version of the test settings is returned. required: false schema: type: string example: '1234' AccountGroupId: name: aid in: query description: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. required: false schema: type: string example: '1234' TestIdPath: name: testId description: Test ID required: true in: path schema: type: string example: '202701' ExpandTest: name: expand in: query description: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. required: false style: form explode: false schema: type: array items: $ref: '#/components/schemas/ExpandTestOptions' example: - agent - monitor schemas: TestMtuMeasurements: type: boolean description: Set `true` to measure MTU sizes on network from agents to the target. example: false TestUseNtlm: type: boolean description: Set to true to use NTLM, false to use Basic Authentication. Requires username and password to be set. example: false TestUserAgent: type: string description: User-agent string to be provided during the test. example: curl TestUrl: type: string description: Target for the test. example: www.thousandeyes.com TestChromePolicies: type: string description: JSON string of Chrome policy settings to apply. default: '{}' example: '{"ProxyMode":"direct"}' TestCreatedDate: type: string format: date-time description: UTC created date (ISO date-time format). example: '2022-07-17T22:00:54Z' readOnly: true MonitorType: type: string description: Type of monitor enum: - public - private example: public TestCreatedBy: type: string description: User that created the test. example: user@user.com readOnly: true RequestMethod: type: string enum: - get - post description: HTTP request method. example: get TestBrowserLanguage: type: string description: Set one of the available browser language that you want to use to configure the browser. example: en-US TestDisableScreenshot: type: boolean description: Enables or disables screenshots on error. Set true to not capture default: false example: false TestPageLoadingStrategy: type: string enum: - normal - eager - none description: "* `normal`: The test waits until the entire page is fully loaded, including the downloading and parsing of HTML content as well as all associated resources, before advancing to the next action in the transaction test script. \n* `eager`: The test waits for the DOMContentLoaded event, indicating that HTML content is downloaded and parsed, and the document reaches the \"interactive\" readiness state, before proceeding to the next action in the test script.\n* `none`: The test only waits for the download of HTML content. Once the HTML is downloaded, the test continues to the next action in the transaction test script without waiting for additional resources.\n" default: normal example: normal TestLinks: type: object description: A list of links that can be accessed to get more information properties: self: $ref: '#/components/schemas/TestSelfLink' testResults: $ref: '#/components/schemas/TestResults' readOnly: true AlertType: type: string description: Type of alert being triggered. In multi-layered tests, this value represents the layer the alert relates to. See [Alert Details](https://developer.cisco.com/docs/thousandeyes/retrieve-alert-details/) documentation for a list of possible values example: http-server enum: - page-load - http-server - end-to-end-server - end-to-end-agent - voice - dns-server - dns-trace - dnssec - bgp - path-trace - ftp - sip-server - transactions - web-transactions - agent - network-outage - application-outage - device-device - device-interface - endpoint-network-server - endpoint-http-server - endpoint-path-trace - endpoint-browser-sessions-agent - endpoint-browser-sessions-application - api - web-transaction - unknown TestSslVersionId: type: string description: 'SSL version options: * Use ''0'' for automatic selection. * Use ''3'' for SSLv3. * Use ''4'' for TLS v1.0. * Use ''5'' for TLS v1.1. * Use ''6'' for TLS v1.2. * Use ''7'' for TLS v1.3. ' enum: - '0' - '3' - '4' - '5' - '6' - '7' default: '0' example: '0' TestAgentRequest: type: object required: - agentId properties: agentId: type: string description: The agent ID. Get `agentId` from `/agents` endpoint. sourceIpAddress: type: string description: The IP address from the `ipAddresses` field in agent details, used for interface selection. Get `ipAddresses` from the `/agents` endpoint. example: agentId: '125' sourceIpAddress: 1.1.1.1 TestOverrideProxyId: type: string description: ID of the proxy to be used if the default proxy is overridden. example: '281474976710706' TestPathTraceMode: type: string enum: - classic - in-session description: Select `inSession` to perform the path trace within a TCP session. default: classic example: classic PageLoadTestResponse: allOf: - $ref: '#/components/schemas/PageLoadTest' - type: object properties: agents: $ref: '#/components/schemas/TestAgentsResponse' TestAuthType: type: string description: HTTP authentication type. enum: - none - basic - ntlm - kerberos - oauth default: none example: none TestInterval: type: integer enum: - 60 - 120 - 300 - 600 - 900 - 1800 - 3600 description: Interval between test runs in seconds. default: 60 example: 60 TestLabel: type: object properties: labelId: type: string description: Label ID. name: type: string description: Name of the label. isBuiltin: type: boolean description: Value indicating if the label in question is BuiltIn (Account Admin, Organization Admin, Regular User). example: labelId: '961' name: Artem label isBuiltin: false HttpServerBaseProperties: type: object properties: authType: $ref: '#/components/schemas/TestAuthType' agentInterfaces: $ref: '#/components/schemas/AgentInterfaces' bandwidthMeasurements: $ref: '#/components/schemas/TestBandwidthMeasurements' clientCertificate: $ref: '#/components/schemas/TestClientCertificate' contentRegex: type: string description: Content regex, this field does not require escaping. example: (regex)+ customHeaders: $ref: '#/components/schemas/TestCustomHeaders' desiredStatusCode: $ref: '#/components/schemas/TestDesiredStatusCode' distributedTracing: $ref: '#/components/schemas/TestDistributedTracing' downloadLimit: type: integer description: Specifies maximum number of bytes to download from the target object. example: 2048 dnsOverride: type: string format: ipv4 description: IP address to use for DNS override. example: 8.8.8.8 httpTargetTime: $ref: '#/components/schemas/TestHttpTargetTime' httpTimeLimit: $ref: '#/components/schemas/TestHttpTimeLimit' httpVersion: $ref: '#/components/schemas/TestHttpVersion' includeHeaders: $ref: '#/components/schemas/TestIncludeHeaders' mtuMeasurements: $ref: '#/components/schemas/TestMtuMeasurements' networkMeasurements: $ref: '#/components/schemas/TestNetworkMeasurements' numPathTraces: $ref: '#/components/schemas/TestNumPathTraces' oAuth: $ref: '#/components/schemas/OAuth' password: $ref: '#/components/schemas/TestPassword' pathTraceMode: $ref: '#/components/schemas/TestPathTraceMode' probeMode: $ref: '#/components/schemas/TestProbeMode' protocol: $ref: '#/components/schemas/TestProtocol' sslVersion: $ref: '#/components/schemas/TestSslVersion' sslVersionId: $ref: '#/components/schemas/TestSslVersionId' url: $ref: '#/components/schemas/TestUrl' useNtlm: $ref: '#/components/schemas/TestUseNtlm' userAgent: $ref: '#/components/schemas/TestUserAgent' username: $ref: '#/components/schemas/TestUsername' verifyCertificate: $ref: '#/components/schemas/TestVerifyCertificate' allowUnsafeLegacyRenegotiation: $ref: '#/components/schemas/TestAllowUnsafeLegacyRenegotiation' followRedirects: $ref: '#/components/schemas/TestFollowRedirects' fixedPacketRate: $ref: '#/components/schemas/TestFixedPacketRate' overrideAgentProxy: $ref: '#/components/schemas/TestOverrideAgentProxy' overrideProxyId: $ref: '#/components/schemas/TestOverrideProxyId' collectProxyNetworkData: $ref: '#/components/schemas/TestCollectProxyNetworkData' vaultCredentials: type: array description: List of credential IDs that are stored in an external vault. items: $ref: '#/components/schemas/TestVaultCredential' TestFollowRedirects: type: boolean description: To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. default: true example: true TestSubInterval: type: integer enum: - 60 - 120 - 300 - 600 - 900 - 1200 - 1800 - 3600 description: Subinterval for round-robin testing (in seconds). Must be less than or equal to interval and must evenly divide interval. example: 60 OAuthAuthType: type: string description: HTTP authentication type used for the OAuth request. enum: - none - basic - ntlm default: none example: none TestBgpMonitors: type: array description: Contains list of enabled BGP monitors. readOnly: true items: $ref: '#/components/schemas/Monitor' SelfLinks: type: object description: A links object containing the self link. readOnly: true properties: self: $ref: '#/components/schemas/Link' SharedWithAccount: type: object properties: aid: type: string description: Account group ID. example: '1234' name: type: string description: Account group name. example: Account name Coordinates: type: object description: Geographic coordinates for agent location. properties: latitude: type: number format: double description: The latitude of the agent location in decimal degrees example: 37.77493 readOnly: true longitude: type: number format: double description: The longitude of the agent location in decimal degrees example: -122.41942 readOnly: true TestTag: type: object readOnly: true properties: id: type: string description: Unique tag ID. example: 5aeab5d5-0d34-4d44-a7ac-fb440185295c format: uuid key: type: string description: Tag key. For example, "Location" or "Department". example: Location value: type: string description: Tag value. For example, "San Francisco" or "Engineering". example: San Francisco AlertRule: type: object properties: ruleId: $ref: '#/components/schemas/RuleId' ruleName: type: string description: Name of the alert rule example: The End of the Internet readOnly: true expression: type: string description: String expression of alert rule example: ((hops((hopDelay >= 100 ms)))) readOnly: true direction: $ref: '#/components/schemas/AlertDirection' isDefault: type: boolean description: Alert rules allow up to 1 alert rule to be selected as a default for each type. By checking the default option, this alert rule will be automatically included on subsequently created tests that test a metric used in alerting here example: true readOnly: true alertType: $ref: '#/components/schemas/AlertType' minimumSources: type: integer description: The minimum number of agents or monitors that must meet the specified criteria in order to trigger the alert example: 10 readOnly: true minimumSourcesPct: type: integer description: the minimum percentage of all assigned agents or monitors that must meet the specified criteria in order to trigger the alert example: 99 readOnly: true roundsViolatingMode: $ref: '#/components/schemas/AlertRoundsViolationMode' roundsViolatingOutOf: type: integer description: Specifies the divisor (y value) for the “X of Y times” condition. example: 5 readOnly: true roundsViolatingRequired: type: integer description: Specifies the numerator (x value) for the “X of Y times” condition example: 2 readOnly: true sensitivityLevel: $ref: '#/components/schemas/SensitivityLevel' severity: $ref: '#/components/schemas/Severity' TestHttpInterval: type: integer enum: - 60 - 120 - 300 - 600 - 900 - 1800 - 3600 description: HTTP test run interval. The interval between HTTP test runs in seconds cannot exceed the specified interval value and defaults to the same value as the interval if not set. example: 120 TestOverrideAgentProxy: type: boolean description: Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. default: false example: false BaseRequest: type: object properties: labels: type: array description: Contains list of test label IDs (get `labelId` from `/labels` endpoint) writeOnly: true readOnly: false items: type: string example: - '9842' - '1283' tags: type: array description: Contains list of test tag IDs (get `id` from `/tags` endpoint). writeOnly: true readOnly: false items: type: string example: - c6b78e57-81a2-4c5f-a11a-d96c3c664d55 - ec8e64fb-6f11-485c-a5d5-488098ad626a sharedWithAccounts: type: array description: Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint) writeOnly: true readOnly: false items: type: string example: - '1234' - '12345' alertRules: type: array items: type: string description: List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used) writeOnly: true readOnly: false example: - '344753' - '212697' TestCollectProxyNetworkData: type: boolean description: Indicates whether network data to the proxy should be collected. default: false example: false AgentInterfaces: type: object properties: ipAddress: type: string example: 192.1.1.0 description: IP address of the agent interface. agentId: type: string description: The agent ID of the enterprise agent for the test. example: '2954' AgentResponse: allOf: - required: - agentType properties: agentType: $ref: '#/components/schemas/CloudEnterpriseAgentType' - $ref: '#/components/schemas/SimpleAgent' SimpleAgent: type: object allOf: - $ref: '#/components/schemas/AgentBase' - type: object properties: agentId: type: string description: Unique ID of the agent. example: '281474976710706' readOnly: true agentName: type: string description: Name of the agent. example: thousandeyes-stg-va-254 location: type: string description: Location of the agent. example: San Francisco Bay Area readOnly: true countryId: type: string description: 2-digit ISO country code example: US readOnly: true coordinates: $ref: '#/components/schemas/Coordinates' networkProviderInfo: allOf: - $ref: '#/components/schemas/NetworkProviderInfo' readOnly: true example: asn: 7018 name: AT&T Services, Inc. type: isp enabled: type: boolean description: Flag indicating if the agent is enabled. example: true verifySslCertificates: type: boolean description: Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests. example: true readOnly: true prefix: type: string description: Prefix containing agents public IP address. example: 99.128.0.0/11 readOnly: true OAuth: type: object properties: testUrl: $ref: '#/components/schemas/TestUrl' requestMethod: $ref: '#/components/schemas/RequestMethod' postBody: type: string description: Enter the OAuth body for the HTTP POST request in this field when using OAuth as the authentication mechanism. No special escaping is required. The value is saved only when `requestMethod` is set to `post`. headers: type: string description: Request headers used for OAuth. authType: $ref: '#/components/schemas/OAuthAuthType' username: type: string description: OAuth username password: type: string description: OAuth password writeOnly: true description: Use this only if you want to use OAuth as the authentication mechanism. example: testUrl: https://api.thousandeyes.com/v7/status requestMethod: post postBody: 'client_id: ************' headers: 'Authorization: Basic ************' authType: none username: user123 password: '*******' AlertRoundsViolationMode: type: string description: '`exact` requires the same agents to meet the threshold in consecutive rounds. `auto` is only enabled for CEA and Endpoint Scheduled test rules. The default is `any`.' enum: - exact - any - auto example: exact readOnly: true UnexpandedInstantTest: type: object properties: createdBy: $ref: '#/components/schemas/TestCreatedBy' createdDate: $ref: '#/components/schemas/TestCreatedDate' description: type: string description: A description of the test. example: ThousandEyes Test liveShare: type: boolean description: Indicates if the test is shared with the account group. example: false readOnly: true modifiedBy: type: string description: User that modified the test. example: user@user.com readOnly: true modifiedDate: type: string format: date-time description: UTC last modification date (ISO date-time format). readOnly: true example: '2022-07-17T22:00:54Z' savedEvent: type: boolean description: 'Indicates if the test is a saved event. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. ' readOnly: true testId: type: string description: Each test is assigned an unique ID; this is used to access test information and results from other endpoints. readOnly: true example: '281474976710706' testName: type: string description: The name of the test. Test name must be unique. example: ThousandEyes Test type: $ref: '#/components/schemas/TestType' _links: $ref: '#/components/schemas/TestLinks' TestType: type: string enum: - api - agent-to-agent - agent-to-server - bgp - http-server - page-load - web-transactions - ftp-server - dns-trace - dns-server - dnssec - sip-server - voice description: This is a read only value, as test type is implicit in the test creation url. readOnly: true example: agent-to-server TestCustomHeaders: type: object properties: root: type: object description: Use these HTTP headers for root server request. additionalProperties: type: string domains: type: object description: Use these HTTP headers for the specified domains. additionalProperties: type: object additionalProperties: type: string all: type: object description: Use these HTTP headers for all domains. additionalProperties: type: string example: root: header1: value1 domains: domain1.com: header2: value2 all: header3: value3 UnauthorizedError: type: object properties: error: type: string example: invalid_token error_description: type: string example: Invalid access token InstantTest: allOf: - $ref: '#/components/schemas/UnexpandedInstantTest' - type: object properties: labels: $ref: '#/components/schemas/TestLabels' tags: $ref: '#/components/schemas/TestTags' sharedWithAccounts: $ref: '#/components/schemas/TestSharedAccounts' TestResults: type: array description: Reference to the test results. items: $ref: '#/components/schemas/Link' example: - href: https://api.thousandeyes.com/v7/test-results/281474976710706/network - href: https://api.thousandeyes.com/v7/test-results/281474976710706/path-vis TestAgentsResponse: type: array description: Contains list of agents. items: $ref: '#/components/schemas/AgentResponse' TestRandomizedStartTime: type: boolean description: Indicates whether agents should randomize the start time in each test round. default: false example: false TestBgpMeasurements: type: boolean description: Set to `true` to enable bgp measurements. default: true example: true TestSslVersion: type: string description: Reflects the verbose SSL protocol version used by a test. readOnly: true example: Auto TestIncludeHeaders: type: boolean description: Set to `true` to capture response headers for objects loaded by the test. default: true example: true TestNetworkMeasurements: type: boolean description: Enable or disable network measurements. Set to true to enable or false to disable network measurements. default: true example: true AlertDirection: type: string enum: - to-target - from-target - bidirectional description: Direction for applicable alert types (eg. path trace, End-to-End (Agent) etc.) example: to-target TestIdentifyAgentTrafficWithUserAgent: type: boolean description: 'Determines how agent traffic is identified: * `false`: Adds the `x-thousandeyes-agent: yes` header. * `true`: Appends `(ThousandEyes Agent)` to the `user-agent` header. For more information, see [Notes on Agent ID Strategy](https://docs.thousandeyes.com/product-documentation/browser-synthetics/test-settings-page-load-transaction#notes-on-agent-id-strategy). ' example: false default: false BaseTest: allOf: - $ref: '#/components/schemas/UnexpandedTest' - type: object properties: alertRules: type: array description: Contains list of enabled alert rule objects. items: $ref: '#/components/schemas/AlertRule' UnexpandedTest: type: object properties: interval: $ref: '#/components/schemas/TestInterval' alertsEnabled: type: boolean description: Indicates if alerts are enabled. example: true enabled: $ref: '#/components/schemas/Enabled' Monitor: type: object properties: countryId: type: string description: Country ID example: GB readOnly: true monitorId: type: string description: BGP monitor ID example: '1234' readOnly: true ipAddress: type: string description: IP address of the BGP monitor example: 4.69.184.193 network: type: string description: Name of the autonomous system in which the monitor is found example: Level 3 Communications, Inc. (AS 3356) monitorType: $ref: '#/components/schemas/MonitorType' monitorName: type: string description: Display name of the BGP monitor example: Seattle, WA TestChromiumTrack: type: string enum: - stable - latest description: '* `stable`: Uses the default Chromium version. * `latest`: Uses the newest Chromium version available from ThousandEyes as soon as it is available. Performance may differ from tests using the default Chromium version. ' default: stable example: stable ExpandTestOptions: type: string enum: - agent - alert-rule - monitor - label - tag - shared-with-account example: agent TestPageLoadType: type: string example: page-load readOnly: true TestAllowMicAndCamera: type: boolean description: Set true allow the use of a fake mic and camera in the browser. default: false example: false TestAgentsRequest: type: array description: Contains list of Agent IDs (get `agentId` from `/agents` endpoint). items: $ref: '#/components/schemas/TestAgentRequest' TestPageLoadTimeLimit: type: integer description: Page load time limit. Must be larger than the `httpTimeLimit`. minimum: 5 maximum: 60 default: 10 example: 10 TestChromeOptions: type: string description: Command-line options passed to Chrome when running the test. default: '' example: --disable-gpu TestRequest: allOf: - $ref: '#/components/schemas/BaseRequest' - type: object properties: agents: $ref: '#/components/schemas/TestAgentsRequest' required: - agents PageLoadProperties: allOf: - $ref: '#/components/schemas/HttpServerBaseProperties' - type: object required: - url properties: emulatedDeviceId: type: string description: ID of the emulated device, if one was given when the test was created. example: '2' pageLoadTargetTime: type: integer description: Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`. minimum: 1 maximum: 60 example: 10 pageLoadTimeLimit: $ref: '#/components/schemas/TestPageLoadTimeLimit' blockDomains: $ref: '#/components/schemas/TestBlockDomains' disableScreenshot: $ref: '#/components/schemas/TestDisableScreenshot' allowMicAndCamera: $ref: '#/components/schemas/TestAllowMicAndCamera' allowGeolocation: $ref: '#/components/schemas/TestAllowGeolocation' browserLanguage: $ref: '#/components/schemas/TestBrowserLanguage' chromeOptions: $ref: '#/components/schemas/TestChromeOptions' chromePolicies: $ref: '#/components/schemas/TestChromePolicies' chromiumTrack: $ref: '#/components/schemas/TestChromiumTrack' pageLoadingStrategy: $ref: '#/components/schemas/TestPageLoadingStrategy' distributedTracing: $ref: '#/components/schemas/TestDistributedTracing' randomizedStartTime: $ref: '#/components/schemas/TestRandomizedStartTime' type: $ref: '#/components/schemas/TestPageLoadType' identifyAgentTrafficWithUserAgent: $ref: '#/components/schemas/TestIdentifyAgentTrafficWithUserAgent' TestLabels: type: array description: Labels to which the test is assigned. This field is not returned for Instant Tests. readOnly: true items: $ref: '#/components/schemas/TestLabel' RuleId: type: string description: Unique ID of the rule. example: '127094' readOnly: true TestFixedPacketRate: type: integer minimum: 0 maximum: 100 description: Sets packets rate sent to measure the network in packets per second. example: 50 TestAllowUnsafeLegacyRenegotiation: type: boolean description: Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation. default: true example: true TestPassword: type: string description: Password for Basic/NTLM authentication. example: password writeOnly: true Enabled: type: boolean description: Test is enabled. example: true default: true TestBandwidthMeasurements: type: boolean description: Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. example: true TestMonitorsProperties: type: object properties: bgpMeasurements: $ref: '#/components/schemas/TestBgpMeasurements' usePublicBgp: $ref: '#/components/schemas/TestUsePublicBgp' monitors: $ref: '#/components/schemas/TestBgpMonitors' Error: type: object properties: type: type: string description: A URI reference that identifies the problem type. When this member is not present, its value is assumed to be "about:blank". title: type: string description: A short, human-readable summary of the problem type. status: type: integer description: The HTTP status code generated by the origin server for this occurrence of the problem. detail: type: string description: A human-readable explanation specific to this occurrence of the problem. instance: type: string description: A URI reference that identifies the specific occurrence of the problem. AgentBase: type: object properties: ipAddresses: type: array description: Array of private IP addresses. readOnly: true items: type: string example: - 99.139.65.220 - 9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce publicIpAddresses: type: array description: Array of public IP addresses. readOnly: true items: type: string example: - 192.168.1.78 - f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c network: type: string description: Network (including ASN) of agent’s public IP. example: AT&T Services, Inc. (AS 7018) readOnly: true TestProbeMode: type: string enum: - auto - sack - syn description: Probe mode used by network test, only valid when the protocol is set to TCP. default: auto example: auto TestTags: type: array description: Tags assigned to the test. Returned only when `expand=tag` is specified. This field is not returned for Instant Tests. For more information, see `/tags`. readOnly: true items: $ref: '#/components/schemas/TestTag' TestVaultCredentialTarget: type: string enum: - username - password - script description: The target setting that the credential should be used for. example: username CloudEnterpriseAgentType: type: string description: Type of the agent. enum: - cloud - enterprise-cluster - enterprise example: enterprise-cluster readOnly: true TestSelfLink: allOf: - $ref: '#/components/schemas/Link' - description: Reference to the test. example: href: https://api.thousandeyes.com/v7/tests/{type}/281474976710706 TestHttpVersion: type: integer minimum: 1 maximum: 2 description: HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1. default: 2 example: 2 TestDistributedTracing: type: boolean description: Adds distributed tracing headers to API requests using B3 and W3C standards. example: false ValidationError: type: object allOf: - $ref: '#/components/schemas/Error' - type: object properties: errors: type: - array - 'null' description: (Optional) When multiple errors occur, the details for each error are listed. items: $ref: '#/components/schemas/ValidationErrorItem' PageLoadTestRequest: allOf: - $ref: '#/components/schemas/UnexpandedPageLoadTest' - $ref: '#/components/schemas/TestRequest' - $ref: '#/components/schemas/MonitorsRequest' TestBlockDomains: type: string description: Domains or full object URLs to be excluded from metrics and waterfall data for transaction tests. example: domain.com/ Severity: type: string description: The severity of the alert. enum: - info - major - minor - critical - unknown example: major TestNumPathTraces: type: integer minimum: 1 maximum: 10 description: Number of path traces executed by the agent. default: 3 example: 3 TestDesiredStatusCode: type: string description: Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code. default: default example: '200' MonitorsRequest: type: object properties: monitors: type: array description: Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint) writeOnly: true readOnly: false items: type: string example: - '17410' - '5' TestUsePublicBgp: type: boolean description: Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. default: true example: true TestVerifyCertificate: type: boolean description: Ignore or acknowledge certificate errors. Set to false to ignore certificate errors. default: false example: false TestClientCertificate: type: string description: String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate. example: 'REDACTED_PRIVATE_KEY_EXAMPLE -----BEGIN CERTIFICATE----- MIICUTCCAfugAwIBAgIBADANBgkqhkiG9w0BAQQFADBXMQswCQYDVQQGEwJDTjEL -----END CERTIFICATE----- ' ValidationErrorItem: type: object properties: code: type: string description: (Optional) A unique error type/code that can be referenced in the documentation for further details. field: type: string description: Identifies the field that triggered this particular error. message: type: string description: A short, human-readable summary of the error. TestAllowGeolocation: type: boolean description: Set true to use the agent’s geolocation by the web page. default: false example: false TestHttpTimeLimit: type: integer minimum: 5 maximum: 60 description: HTTP time limit in seconds. default: 5 example: 5 PageLoadTests: type: object properties: tests: type: array items: $ref: '#/components/schemas/UnexpandedPageLoadTest' _links: $ref: '#/components/schemas/SelfLinks' TestUsername: type: string description: Username for Basic/NTLM authentication. example: username TestHttpTargetTime: type: integer minimum: 100 maximum: 5000 description: Target time for HTTP server completion, specified in milliseconds. example: 100 SensitivityLevel: type: string description: Used when `roundsViolatingMode` is set to `auto`. The default is `medium`. Higher sensitivity increases the likelihood of triggering alerts. enum: - high - medium - low example: medium readOnly: true TestProtocol: type: string enum: - tcp - icmp - udp description: Protocol used by dependent network tests (end-to-end, path trace, PMTUD). default: tcp example: tcp TestSharedAccounts: type: array readOnly: true items: $ref: '#/components/schemas/SharedWithAccount' PageLoadInstantTest: allOf: - $ref: '#/components/schemas/InstantTest' - $ref: '#/components/schemas/PageLoadProperties' Link: type: object description: A hyperlink from the containing resource to a URI. required: - href properties: href: type: string description: Its value is either a URI [RFC3986] or a URI template [RFC6570]. example: https://api.thousandeyes.com/v7/link/to/resource/id templated: type: boolean description: Should be true when the link object's "href" property is a URI template. type: type: string description: Used as a hint to indicate the media type expected when dereferencing the target resource. deprecation: type: string description: Its presence indicates that the link is to be deprecated at a future date. Its value is a URL that should provide further information about the deprecation. name: type: string description: Its value may be used as a secondary key for selecting link objects that share the same relation type. profile: type: string description: A URI that hints about the profile of the target resource. title: type: string description: Intended for labelling the link with a human-readable identifier hreflang: type: string description: Indicates the language of the target resource UnexpandedPageLoadTest: allOf: - $ref: '#/components/schemas/UnexpandedTest' - $ref: '#/components/schemas/UnexpandedInstantTest' - $ref: '#/components/schemas/PageLoadProperties' - type: object required: - interval properties: httpInterval: $ref: '#/components/schemas/TestHttpInterval' subinterval: $ref: '#/components/schemas/TestSubInterval' bgpMeasurements: $ref: '#/components/schemas/TestBgpMeasurements' usePublicBgp: $ref: '#/components/schemas/TestUsePublicBgp' PageLoadTest: allOf: - $ref: '#/components/schemas/BaseTest' - $ref: '#/components/schemas/PageLoadInstantTest' - $ref: '#/components/schemas/TestMonitorsProperties' - type: object required: - interval properties: httpInterval: $ref: '#/components/schemas/TestHttpInterval' subinterval: $ref: '#/components/schemas/TestSubInterval' NetworkProviderInfo: type: object description: Information about the network provider that owns the agent's public IP prefix. readOnly: true properties: asn: type: integer format: int64 description: Autonomous System Number (ASN) announcing the agent's public IP prefix. example: 7018 readOnly: true name: type: string description: Name of the network provider organization. example: AT&T Services, Inc. readOnly: true type: $ref: '#/components/schemas/NetworkProviderType' TestVaultCredential: type: object properties: secretId: type: string description: UUID of the configured secret. example: f27e85b2-318b-4145-b5aa-c9dc8d8b0819 target: $ref: '#/components/schemas/TestVaultCredentialTarget' NetworkProviderType: type: string description: Classification of the agent's network provider. enum: - unknown - isp - cdn - stub - cloud-provider - carrier example: isp readOnly: true responses: GeneralError: description: An error occurred '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/ValidationError' example: type: about:blank title: Request validation failed. There are invalid or missing fields status: 400 detail: Your request object contains invalid fields. instance: /v7 errors: - code: AM-5432 field: firstName message: firstName cannot have fancy characters - code: DASH-5622 field: password message: Password cannot be blank '401': description: Unauthorized content: application/problem+json: schema: $ref: '#/components/schemas/UnauthorizedError' '204': description: No content '404': description: Not found content: application/problem+json: schema: $ref: '#/components/schemas/Error' example: type: about:blank title: URI Resource Not Found status: 404 detail: Details explaining if the 404 error is related to an invalid URI or a wrong ID instance: /v7 '500': description: Internal server error content: application/problem+json: schema: $ref: '#/components/schemas/Error' example: type: about:blank title: Internal server error status: 500 detail: Optional detail about the internal error message. instance: /v7 '502': description: Bad Gateway content: application/problem+json: schema: $ref: '#/components/schemas/Error' '429': description: Exhausted rate limit for the organization content: application/problem+json: schema: $ref: '#/components/schemas/Error' '403': description: Insufficient permissions to query endpoint content: application/problem+json: schema: $ref: '#/components/schemas/Error' headers: Location: schema: type: string format: uri example: https://api.thousandeyes.com/v7/link/to/resource/id description: The absolute path to created resource. securitySchemes: BearerAuth: type: http scheme: bearer description: Bearer authentication token externalDocs: description: Find out more about Network and Application Synthetics tests url: https://docs.thousandeyes.com/product-documentation/internet-and-wan-monitoring/tests#cloud-and-enterprise-agent-based-tests