openapi: 3.2.0 info: title: Endpoint Tests HTTP Server Endpoint Scheduled Tests API version: 7.0.100 description: 'Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. ' 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: HTTP Server Endpoint Scheduled Tests paths: /endpoint/tests/scheduled-tests/http-server: get: tags: - HTTP Server Endpoint Scheduled Tests summary: List HTTP server endpoint scheduled tests operationId: getHttpServerEndpointScheduledTests description: 'Returns a list of agent to server endpoint scheduled tests configured in ThousandEyes. This list does not contain 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/EndpointHttpServerTests' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '502': $ref: '#/components/responses/502' default: $ref: '#/components/responses/GeneralError' post: tags: - HTTP Server Endpoint Scheduled Tests summary: Create HTTP server endpoint scheduled test operationId: createHttpServerEndpointScheduledTest description: 'Creates a new HTTP server endpoint test in ThousandEyes, using properties specified in the POST data. Please note that only users with Account Admin privileges have the authorization to create new tests; regular users are restricted from using POST-based methods. ' parameters: - $ref: '#/components/parameters/AccountGroupId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/EndpointHttpServerTestRequest' responses: '201': description: Created headers: Location: $ref: '#/components/headers/Location' content: application/hal+json: schema: $ref: '#/components/schemas/EndpointHttpServerTest' '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' /endpoint/tests/scheduled-tests/http-server/{testId}: get: tags: - HTTP Server Endpoint Scheduled Tests summary: Retrieves HTTP server endpoint scheduled test operationId: getHttpServerEndpointScheduledTest description: Retrieves details of an HTTP Server endpoint scheduled test. parameters: - $ref: '#/components/parameters/TestId' - $ref: '#/components/parameters/AccountGroupId' responses: '200': description: OK content: application/hal+json: schema: $ref: '#/components/schemas/EndpointHttpServerTest' '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' patch: tags: - HTTP Server Endpoint Scheduled Tests summary: Update HTTP server endpoint scheduled test operationId: updateHttpServerEndpointScheduledTest description: "Updates an HTTP server scheduled test. Includes support for \nenabling and disabling the test." requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/EndpointHttpTestUpdate' parameters: - $ref: '#/components/parameters/TestId' - $ref: '#/components/parameters/AccountGroupId' responses: '200': description: OK content: application/hal+json: schema: $ref: '#/components/schemas/EndpointHttpServerTest' '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: - HTTP Server Endpoint Scheduled Tests summary: Delete HTTP server scheduled test operationId: deleteHttpServerEndpointScheduledTest description: Deletes an HTTP server endpoint scheduled test. parameters: - $ref: '#/components/parameters/TestId' - $ref: '#/components/parameters/AccountGroupId' responses: '204': $ref: '#/components/responses/204' '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' components: schemas: TestUseNtlm: type: boolean description: Set to true to use NTLM, false to use Basic Authentication. Requires username and password to be set. example: false EndpointSpecificAgentsSelectorType: type: string example: specific-agents pattern: ^specific-agents$ 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' EndpointHttpServerTestUrl: type: string description: "The test target URL. You can optionally specify the protocol (`http` or `https`). \n\n- **Default Protocol:** If no protocol is specified, `https` is used by default.\n\n- **Port Number:** To specify a port, append it to the URL with a colon after the hostname or IP address (e.g., `https://example.com:443`).\n\n - If no port is specified in the URL, the `port` is determined by the default for protocol (HTTP: 80, HTTPS: 443).\n" example: https://example.com:443 TestName: type: string description: Name of the test. example: Test name TestIsSavedEvent: 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. ' example: false readOnly: true EndpointTestAuthType: type: string description: HTTP authentication type. enum: - none - basic - ntlm default: none example: none EndpointHttpTestUpdate: allOf: - $ref: '#/components/schemas/TestUpdate' - type: object properties: url: $ref: '#/components/schemas/EndpointHttpServerTestUrl' EndpointTestAgents: type: array description: List of endpoint agent IDs (obtained from `/endpoint/agents` endpoint). Required when `agentSelectorType` is set to `specific-agent`. items: type: string format: uuid example: - 0a3b9998-dc3a-4ff2-b50d-ac4a7cd986e1 - 66eec0f1-72b4-4755-aa83-3aed61d17f3c EndpointHttpServerTest: allOf: - $ref: '#/components/schemas/EndpointTest' - $ref: '#/components/schemas/EndpointHttpServerBaseTest' - type: object properties: type: $ref: '#/components/schemas/EndpointHttpServerType' followRedirects: $ref: '#/components/schemas/TestFollowRedirects' httpTargetTime: $ref: '#/components/schemas/TestHttpTargetTime' httpVersion: $ref: '#/components/schemas/TestHttpVersion' isPrioritized: $ref: '#/components/schemas/TestIsPrioritized' interval: $ref: '#/components/schemas/TestInterval' sslVersion: $ref: '#/components/schemas/TestSslVersion' useNtlm: $ref: '#/components/schemas/TestUseNtlm' EndpointTestLinks: type: object description: A list of links that can be accessed to get more information. properties: self: $ref: '#/components/schemas/EndpointTestSelfLink' testResults: $ref: '#/components/schemas/ScheduledTestResults' readOnly: true TestCreatedDate: type: string format: date-time description: UTC created date (ISO date-time format). example: '2022-07-17T22:00:54Z' readOnly: true EndpointTestResultUrl: type: string description: The test target URL. example: https://example.com:443 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. EndpointHttpServerInstantTest: allOf: - $ref: '#/components/schemas/EndpointInstantTest' - $ref: '#/components/schemas/EndpointHttpServerBaseTest' - type: object required: - url properties: hasPing: $ref: '#/components/schemas/TestRequestHasPing' hasTraceroute: $ref: '#/components/schemas/TestRequestHasTraceRoute' networkMeasurements: $ref: '#/components/schemas/TestNetworkMeasurements' targetResponseTime: type: integer description: Response time target in milliseconds. Affects the colors of agents and legends on the view page. The value is compared with actual response time in order to determine the color scale (from green to red). default: 1000 example: 1000 password: $ref: '#/components/schemas/TestPassword' tcpProbeMode: $ref: '#/components/schemas/TestProbeMode' url: $ref: '#/components/schemas/EndpointHttpServerTestUrl' TestUsername: type: string description: Username for Basic/NTLM authentication. example: username TestIsEnabled: type: boolean description: Indicates if test is enabled. example: true default: true TestIsPrioritized: type: boolean description: Indicates whether the test should be prioritized when the number of tests assigned to an agent exceeds the license limit. default: false example: false EndpointHttpServerBaseTest: type: object properties: authType: $ref: '#/components/schemas/EndpointTestAuthType' hasPathTraceInSession: $ref: '#/components/schemas/TestHasPathTraceInSession' httpTimeLimit: type: integer description: Maximum amount of time in milliseconds the agents wait before a request times out. default: 5000 example: 5000 protocol: $ref: '#/components/schemas/EndpointTestProtocol' username: $ref: '#/components/schemas/TestUsername' sslVersionId: $ref: '#/components/schemas/TestSslVersionId' tcpProbeMode: $ref: '#/components/schemas/TestProbeModeResponse' verifyCertificate: type: boolean description: Flag indicating if a certificate should be verified. default: true example: true url: $ref: '#/components/schemas/EndpointTestResultUrl' EndpointTestAgentSelectorType: type: string enum: - all-agents - specific-agents - agent-labels - agent-tags description: "Specifies how agents are selected for the endpoint test.\n\nAgents can be selected from:\n - all available agents\n - a specific list of agents\n - agents matching tags\n - agents matching labels (deprecated)\n" default: all-agents example: all-agents EndpointAgentLabelsSelectorType: type: string example: agent-labels pattern: ^agent-labels$ TestHttpTargetTime: type: integer minimum: 100 maximum: 5000 description: Target time for HTTP server completion, specified in milliseconds. example: 100 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' TestRequestHasTraceRoute: type: boolean description: Optional flag indicating if the test should run traceroute. default: true deprecated: true example: true 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' ScheduledTestResults: type: array description: Reference to the test results. items: $ref: '#/components/schemas/Link' example: - href: https://api.thousandeyes.com/v7/endpoint/test-results/scheduled-tests/281474976710706/network/filter - href: https://api.thousandeyes.com/v7/endpoint/test-results/scheduled-tests/281474976710706/pathvis EndpointScheduledTestType: type: string enum: - agent-to-server - http-server description: Type of test being queried. example: agent-to-server readOnly: true TestUpdate: type: object properties: interval: $ref: '#/components/schemas/TestInterval' testName: $ref: '#/components/schemas/TestName' protocol: $ref: '#/components/schemas/EndpointTestProtocol' isEnabled: $ref: '#/components/schemas/TestIsEnabled' tcpProbeMode: $ref: '#/components/schemas/TestProbeMode' EndpointTestPort: type: integer description: Port number. default: 443 example: 443 TestPassword: type: string description: Password for Basic/NTLM authentication. example: password writeOnly: true TestHasPathTraceInSession: type: boolean description: Enables "in session" path trace. When enabled, this option initiates a TCP session with the target server and sends path trace packets within the established TCP session. example: true EndpointTest: type: object required: - type properties: aid: $ref: '#/components/schemas/AccountGroupId' _links: $ref: '#/components/schemas/EndpointTestLinks' agentSelectorConfig: $ref: '#/components/schemas/EndpointAgentSelectorConfig' createdDate: $ref: '#/components/schemas/TestCreatedDate' isPrioritized: $ref: '#/components/schemas/TestIsPrioritized' interval: $ref: '#/components/schemas/TestInterval' isEnabled: $ref: '#/components/schemas/TestIsEnabled' isSavedEvent: $ref: '#/components/schemas/TestIsSavedEvent' hasPathTraceInSession: $ref: '#/components/schemas/TestHasPathTraceInSession' labels: $ref: '#/components/schemas/TestLabels' modifiedDate: type: string format: date-time description: UTC last modification date (ISO date-time format). readOnly: true example: '2022-07-17T22:00:54Z' networkMeasurements: $ref: '#/components/schemas/TestNetworkMeasurements' protocol: $ref: '#/components/schemas/EndpointTestProtocol' ipVersion: $ref: '#/components/schemas/EndpointIpVersionOut' server: type: string description: Target domain name or IP address. example: www.example.com testId: type: string description: Each test is assigned a unique ID to access test data from other endpoints. readOnly: true example: '281474976710706' testName: $ref: '#/components/schemas/TestName' type: $ref: '#/components/schemas/EndpointScheduledTestType' tcpProbeMode: $ref: '#/components/schemas/TestProbeModeResponse' port: $ref: '#/components/schemas/EndpointTestPort' EndpointAgentLabels: type: array deprecated: true description: 'Deprecated. Use `tagIds` instead. List of endpoint agent label IDs (obtained from `/endpoint/labels` endpoint), required when `agentSelectorType` is set to `agent-labels`. ' items: type: string example: - '567' - '214' TestRequestHasPing: type: boolean description: Optional flag indicating if the test should run ping. default: true deprecated: true example: true EndpointInstantTest: type: object required: - testName properties: agentSelectorType: $ref: '#/components/schemas/EndpointTestAgentSelectorType' agents: $ref: '#/components/schemas/EndpointTestAgents' endpointAgentLabels: $ref: '#/components/schemas/EndpointAgentLabels' tagIds: $ref: '#/components/schemas/TagIds' maxMachines: $ref: '#/components/schemas/EndpointTestMaxMachines' testName: $ref: '#/components/schemas/TestName' ipVersion: $ref: '#/components/schemas/EndpointIpVersionIn' UnauthorizedError: type: object properties: error: type: string example: invalid_token error_description: type: string example: Invalid access token EndpointTestMaxMachines: type: integer description: Maximum number of agents which can execute the test. default: 25 example: 25 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 EndpointAgentTagsSelectorType: type: string example: agent-tags pattern: ^agent-tags$ EndpointAllAgentsSelectorType: type: string example: all-agents pattern: ^all-agents$ EndpointHttpServerTests: type: object properties: tests: type: array items: $ref: '#/components/schemas/EndpointHttpServerTest' _links: $ref: '#/components/schemas/SelfLinks' TagIds: type: array description: List of tag IDs (obtained from `/tags` endpoint). items: type: string format: uuid example: - c6b78e57-81a2-4c5f-a11a-d96c3c664d55 - 5aeab5d5-0d34-4d44-a7ac-fb440185295c EndpointHttpServerTestRequest: allOf: - $ref: '#/components/schemas/EndpointHttpServerInstantTest' - type: object properties: isPrioritized: $ref: '#/components/schemas/TestIsPrioritized' interval: $ref: '#/components/schemas/TestInterval' networkMeasurements: $ref: '#/components/schemas/TestNetworkMeasurements' EndpointTestSelfLink: allOf: - description: A reference to the test. example: href: https://api.thousandeyes.com/v7/endpoint/tests/{type}/281474976710706 - $ref: '#/components/schemas/Link' 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 EndpointAgentSelectorConfig: type: object description: Agents selection object based on agentSelectorType. readOnly: true oneOf: - $ref: '#/components/schemas/EndpointAllAgentsSelectorConfig' - $ref: '#/components/schemas/EndpointSpecificAgentsSelectorConfig' - $ref: '#/components/schemas/EndpointAgentLabelsSelectorConfig' - $ref: '#/components/schemas/EndpointAgentTagsSelectorConfig' discriminator: propertyName: agentSelectorType mapping: all-agents: '#/components/schemas/EndpointAllAgentsSelectorConfig' specific-agents: '#/components/schemas/EndpointSpecificAgentsSelectorConfig' agent-labels: '#/components/schemas/EndpointAgentLabelsSelectorConfig' agent-tags: '#/components/schemas/EndpointAgentTagsSelectorConfig' required: - agentSelectorType 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. 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 TestFollowRedirects: type: boolean description: To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. default: true example: true EndpointAgentLabelsSelectorConfig: type: object description: Agent labels selection object. readOnly: true deprecated: true properties: agentSelectorType: $ref: '#/components/schemas/EndpointAgentLabelsSelectorType' maxMachines: $ref: '#/components/schemas/EndpointTestMaxMachines' endpointAgentLabels: $ref: '#/components/schemas/EndpointAgentLabels' tagIds: $ref: '#/components/schemas/TagIds' required: - agentSelectorType EndpointHttpServerType: type: string description: Type of test being queried. example: http-server pattern: ^http-server$ readOnly: true EndpointIpVersionOut: description: For reading current network test configurations, the IP version of the test. Values include V4_ONLY, V6_ONLY, V6_PREFER, and OS_DEFAULT. type: string example: V4_ONLY 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 TestSslVersion: type: string description: Reflects the verbose SSL protocol version used by a test. readOnly: true example: Auto TestNetworkMeasurements: type: boolean description: Enable or disable network measurements. Set to true to enable or false to disable network measurements. default: true example: true EndpointSpecificAgentsSelectorConfig: type: object description: Specific agents selection object. readOnly: true properties: agentSelectorType: $ref: '#/components/schemas/EndpointSpecificAgentsSelectorType' maxMachines: $ref: '#/components/schemas/EndpointTestMaxMachines' agents: $ref: '#/components/schemas/EndpointTestAgents' required: - agentSelectorType SelfLinks: type: object description: A links object containing the self link. readOnly: true properties: self: $ref: '#/components/schemas/Link' EndpointAllAgentsSelectorConfig: type: object description: Any agent selection object. readOnly: true properties: agentSelectorType: $ref: '#/components/schemas/EndpointAllAgentsSelectorType' maxMachines: $ref: '#/components/schemas/EndpointTestMaxMachines' required: - agentSelectorType TestProbeModeResponse: type: string enum: - auto - sack - syn - syn-pcap - syn-socket - unknown description: Probe mode returned by network test APIs, only valid when the protocol is set to TCP. Configuration responses return user-selectable values, while result responses may also return resolved driver values. default: auto example: auto EndpointIpVersionIn: description: For configuring network tests, the IP version of the test. type: string enum: - V4_ONLY - V6_ONLY - V6_PREFER - OS_DEFAULT example: V4_ONLY AccountGroupId: type: string description: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. example: '1234' EndpointAgentTagsSelectorConfig: type: object description: Agent tags selection object. readOnly: true properties: agentSelectorType: $ref: '#/components/schemas/EndpointAgentTagsSelectorType' maxMachines: $ref: '#/components/schemas/EndpointTestMaxMachines' endpointAgentLabels: $ref: '#/components/schemas/EndpointAgentLabels' tagIds: $ref: '#/components/schemas/TagIds' required: - agentSelectorType EndpointTestProtocol: type: string enum: - icmp - icmp-with-tcp-connect - tcp - prefer-tcp - ast-autodetect - autodetect description: Protocol requested for the test. default: icmp example: icmp parameters: TestId: name: testId in: path description: Unique ID of endpoint test. example: '584739201' required: true schema: type: string 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' responses: '502': description: Bad Gateway content: application/problem+json: schema: $ref: '#/components/schemas/Error' GeneralError: description: An error occurred '429': description: Exhausted rate limit for the organization content: application/problem+json: schema: $ref: '#/components/schemas/Error' '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 '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 '403': description: Insufficient permissions to query endpoint content: application/problem+json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/problem+json: schema: $ref: '#/components/schemas/UnauthorizedError' '204': description: No content 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 Endpoint Agent Scheduled Tests url: https://docs.thousandeyes.com/product-documentation/end-user-monitoring/scheduled-tests