ThousandEyes Page Load Tests API

Page Load test management operations

Operations 5

GET /tests/page-load List Page Load tests #
POST /tests/page-load Create Page Load test #
GET /tests/page-load/{testId} Get Page Load test #
PUT /tests/page-load/{testId} Update Page Load test #
DELETE /tests/page-load/{testId} Delete Page Load test #

Documentation

📖
APIReference
https://developer.cisco.com/docs/thousandeyes/administration-administrative-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/api-token-management-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/agents-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/alerts-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/autonomous-systems-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/bgp-monitors-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/cloud-insights-integrations-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/credentials-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/dashboards-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/emulation-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/endpoint-agents-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/endpoint-instant-scheduled-tests-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/endpoint-labels-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/endpoint-test-results-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/endpoint-tests-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/event-detection-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/integrations-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/internet-insights-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/snapshots-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/tags-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/templates-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/tests-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/instant-tests-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/test-results-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/thousandeyes-for-opentelemetry-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/usage-api-overview/

Specifications

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/thousandeyes-page-load-tests-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

thousandeyes-page-load-tests-api-openapi.yml Raw ↑
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.
      

# --- truncated at 32 KB (53 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/thousandeyes/refs/heads/main/openapi/thousandeyes-page-load-tests-api-openapi.yml