openapi: 3.0.1
info:
  description: |2

    Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API.
  title: Endpoint Tests API
  version: 7.0.34
externalDocs:
  description: Find out more about Endpoint Agent Scheduled Tests
  url: https://docs.thousandeyes.com/product-documentation/end-user-monitoring/scheduled-tests
servers:
- description: ThousandEyes API production URL
  url: https://api.thousandeyes.com/v7
security:
- BearerAuth: []
tags:
- name: Endpoint Scheduled Tests
- name: Agent to Server Endpoint Scheduled Tests
- name: HTTP Server Endpoint Scheduled Tests
- name: Agent To Server Endpoint Dynamic Tests
paths:
  /endpoint/tests/scheduled-tests:
    get:
      description: Returns a list of all endpoint scheduled tests configured in ThousandEyes.
        This list does not contain saved events.
      operationId: getEndpointScheduledTests
      parameters:
      - 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.
        in: query
        name: aid
        required: false
        schema:
          example: "1234"
          type: string
      responses:
        "200":
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/EndpointTests'
          description: OK
        "401":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
          description: Unauthorized
        "403":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Insufficient permissions to query endpoint
        "429":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Exhausted rate limit for the organization
        "500":
          content:
            application/problem+json:
              example:
                type: about:blank
                title: Internal server error
                status: 500
                detail: Optional detail about the internal error message.
                instance: /v7
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal server error
        "502":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Bad Gateway
        default:
          description: An error occurred
      summary: List endpoint scheduled tests
      tags:
      - Endpoint Scheduled Tests
  /endpoint/tests/scheduled-tests/agent-to-server:
    get:
      description: |
        Returns a list of all agent to server endpoint scheduled tests configured in ThousandEyes. This list does not contain saved events.
      operationId: getAgentToServerEndpointScheduledTests
      parameters:
      - 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.
        in: query
        name: aid
        required: false
        schema:
          example: "1234"
          type: string
      responses:
        "200":
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/EndpointAgentToServerTests'
          description: OK
        "401":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
          description: Unauthorized
        "403":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Insufficient permissions to query endpoint
        "429":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Exhausted rate limit for the organization
        "500":
          content:
            application/problem+json:
              example:
                type: about:blank
                title: Internal server error
                status: 500
                detail: Optional detail about the internal error message.
                instance: /v7
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal server error
        "502":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Bad Gateway
        default:
          description: An error occurred
      summary: List agent to server endpoint scheduled tests
      tags:
      - Agent to Server Endpoint Scheduled Tests
    post:
      description: |
        Creates a new endpoint test in ThousandEyes using properties specified in the POST data.
        Please note that only Account Admins have the authorization to create new tests; regular users are restricted from using POST-based methods.
      operationId: createAgentToServerEndpointScheduledTest
      parameters:
      - 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.
        in: query
        name: aid
        required: false
        schema:
          example: "1234"
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EndpointAgentToServerTestRequest'
        required: true
      responses:
        "201":
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/EndpointAgentToServerTest'
          description: Created
          headers:
            Location:
              $ref: '#/components/headers/Location'
        "400":
          content:
            application/problem+json:
              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
              schema:
                $ref: '#/components/schemas/ValidationError'
          description: Bad Request
        "401":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
          description: Unauthorized
        "403":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Insufficient permissions to query endpoint
        "404":
          content:
            application/problem+json:
              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
              schema:
                $ref: '#/components/schemas/Error'
          description: Not found
        "429":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Exhausted rate limit for the organization
        "500":
          content:
            application/problem+json:
              example:
                type: about:blank
                title: Internal server error
                status: 500
                detail: Optional detail about the internal error message.
                instance: /v7
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal server error
        "502":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Bad Gateway
        default:
          description: An error occurred
      summary: Creates agent to server endpoint scheduled test
      tags:
      - Agent to Server Endpoint Scheduled Tests
  /endpoint/tests/scheduled-tests/agent-to-server/{testId}:
    delete:
      description: Deletes an agent to server endpoint scheduled test.
      operationId: deleteAgentToServerEndpointScheduledTest
      parameters:
      - description: Unique ID of endpoint test.
        example: "584739201"
        explode: false
        in: path
        name: testId
        required: true
        schema:
          type: string
        style: simple
      - 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.
        in: query
        name: aid
        required: false
        schema:
          example: "1234"
          type: string
      responses:
        "204":
          description: No content
        "400":
          content:
            application/problem+json:
              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
              schema:
                $ref: '#/components/schemas/ValidationError'
          description: Bad Request
        "401":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
          description: Unauthorized
        "403":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Insufficient permissions to query endpoint
        "404":
          content:
            application/problem+json:
              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
              schema:
                $ref: '#/components/schemas/Error'
          description: Not found
        "429":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Exhausted rate limit for the organization
        "500":
          content:
            application/problem+json:
              example:
                type: about:blank
                title: Internal server error
                status: 500
                detail: Optional detail about the internal error message.
                instance: /v7
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal server error
        "502":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Bad Gateway
        default:
          description: An error occurred
      summary: Delete agent to server scheduled test
      tags:
      - Agent to Server Endpoint Scheduled Tests
    get:
      description: Retrieves details of an agent to server endpoint scheduled test.
      operationId: getAgentToServerEndpointScheduledTest
      parameters:
      - description: Unique ID of endpoint test.
        example: "584739201"
        explode: false
        in: path
        name: testId
        required: true
        schema:
          type: string
        style: simple
      - 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.
        in: query
        name: aid
        required: false
        schema:
          example: "1234"
          type: string
      responses:
        "200":
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/EndpointAgentToServerTest'
          description: OK
        "401":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
          description: Unauthorized
        "403":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Insufficient permissions to query endpoint
        "404":
          content:
            application/problem+json:
              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
              schema:
                $ref: '#/components/schemas/Error'
          description: Not found
        "429":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Exhausted rate limit for the organization
        "500":
          content:
            application/problem+json:
              example:
                type: about:blank
                title: Internal server error
                status: 500
                detail: Optional detail about the internal error message.
                instance: /v7
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal server error
        "502":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Bad Gateway
        default:
          description: An error occurred
      summary: Retrieve agent to server endpoint scheduled test
      tags:
      - Agent to Server Endpoint Scheduled Tests
    patch:
      description: "Updates an agent to server scheduled test. Includes support for\
        \ \nenabling and disabling the test."
      operationId: updateAgentToServerEndpointScheduledTest
      parameters:
      - description: Unique ID of endpoint test.
        example: "584739201"
        explode: false
        in: path
        name: testId
        required: true
        schema:
          type: string
        style: simple
      - 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.
        in: query
        name: aid
        required: false
        schema:
          example: "1234"
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EndpointNetworkTestUpdate'
        required: true
      responses:
        "200":
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/EndpointAgentToServerTest'
          description: OK
        "400":
          content:
            application/problem+json:
              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
              schema:
                $ref: '#/components/schemas/ValidationError'
          description: Bad Request
        "401":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
          description: Unauthorized
        "403":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Insufficient permissions to query endpoint
        "404":
          content:
            application/problem+json:
              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
              schema:
                $ref: '#/components/schemas/Error'
          description: Not found
        "429":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Exhausted rate limit for the organization
        "500":
          content:
            application/problem+json:
              example:
                type: about:blank
                title: Internal server error
                status: 500
                detail: Optional detail about the internal error message.
                instance: /v7
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal server error
        "502":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Bad Gateway
        default:
          description: An error occurred
      summary: Update agent to server endpoint scheduled test
      tags:
      - Agent to Server Endpoint Scheduled Tests
  /endpoint/tests/scheduled-tests/http-server:
    get:
      description: |
        Returns a list of agent to server endpoint scheduled tests configured in ThousandEyes. This list does not contain saved events.
      operationId: getHttpServerEndpointScheduledTests
      parameters:
      - 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.
        in: query
        name: aid
        required: false
        schema:
          example: "1234"
          type: string
      responses:
        "200":
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/EndpointHttpServerTests'
          description: OK
        "401":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
          description: Unauthorized
        "403":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Insufficient permissions to query endpoint
        "429":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Exhausted rate limit for the organization
        "500":
          content:
            application/problem+json:
              example:
                type: about:blank
                title: Internal server error
                status: 500
                detail: Optional detail about the internal error message.
                instance: /v7
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal server error
        "502":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Bad Gateway
        default:
          description: An error occurred
      summary: List HTTP server endpoint scheduled tests
      tags:
      - HTTP Server Endpoint Scheduled Tests
    post:
      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.
      operationId: createHttpServerEndpointScheduledTest
      parameters:
      - 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.
        in: query
        name: aid
        required: false
        schema:
          example: "1234"
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EndpointHttpServerTestRequest'
        required: true
      responses:
        "201":
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/EndpointHttpServerTest'
          description: Created
          headers:
            Location:
              $ref: '#/components/headers/Location'
        "400":
          content:
            application/problem+json:
              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
              schema:
                $ref: '#/components/schemas/ValidationError'
          description: Bad Request
        "401":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
          description: Unauthorized
        "403":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Insufficient permissions to query endpoint
        "404":
          content:
            application/problem+json:
              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
              schema:
                $ref: '#/components/schemas/Error'
          description: Not found
        "429":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Exhausted rate limit for the organization
        "500":
          content:
            application/problem+json:
              example:
                type: about:blank
                title: Internal server error
                status: 500
                detail: Optional detail about the internal error message.
                instance: /v7
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal server error
        "502":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Bad Gateway
        default:
          description: An error occurred
      summary: Create HTTP server endpoint scheduled test
      tags:
      - HTTP Server Endpoint Scheduled Tests
  /endpoint/tests/scheduled-tests/http-server/{testId}:
    delete:
      description: Deletes an HTTP server endpoint scheduled test.
      operationId: deleteHttpServerEndpointScheduledTest
      parameters:
      - description: Unique ID of endpoint test.
        example: "584739201"
        explode: false
        in: path
        name: testId
        required: true
        schema:
          type: string
        style: simple
      - 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.
        in: query
        name: aid
        required: false
        schema:
          example: "1234"
          type: string
      responses:
        "204":
          description: No content
        "400":
          content:
            application/problem+json:
              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
              schema:
                $ref: '#/components/schemas/ValidationError'
          description: Bad Request
        "401":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
          description: Unauthorized
        "403":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Insufficient permissions to query endpoint
        "404":
          content:
            application/problem+json:
              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
              schema:
                $ref: '#/components/schemas/Error'
          description: Not found
        "429":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Exhausted rate limit for the organization
        "500":
          content:
            application/problem+json:
              example:
                type: about:blank
                title: Internal server error
                status: 500
                detail: Optional detail about the internal error message.
                instance: /v7
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal server error
        "502":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Bad Gateway
        default:
          description: An error occurred
      summary: Delete HTTP server scheduled test
      tags:
      - HTTP Server Endpoint Scheduled Tests
    get:
      description: Retrieves details of an HTTP Server endpoint scheduled test.
      operationId: getHttpServerEndpointScheduledTest
      parameters:
      - description: Unique ID of endpoint test.
        example: "584739201"
        explode: false
        in: path
        name: testId
        required: true
        schema:
          type: string
        style: simple
      - 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.
        in: query
        name: aid
        required: false
        schema:
          example: "1234"
          type: string
      responses:
        "200":
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/EndpointHttpServerTest'
          description: OK
        "401":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
          description: Unauthorized
        "403":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Insufficient permissions to query endpoint
        "404":
          content:
            application/problem+json:
              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
              schema:
                $ref: '#/components/schemas/Error'
          description: Not found
        "429":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Exhausted rate limit for the organization
        "500":
          content:
            application/problem+json:
              example:
                type: about:blank
                title: Internal server error
                status: 500
                detail: Optional detail about the internal error message.
                instance: /v7
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal server error
        "502":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Bad Gateway
        default:
          description: An error occurred
      summary: Retrieves HTTP server endpoint scheduled test
      tags:
      - HTTP Server Endpoint Scheduled Tests
    patch:
      description: "Updates an HTTP server scheduled test. Includes support for \n\
        enabling and disabling the test."
      operationId: updateHttpServerEndpointScheduledTest
      parameters:
      - description: Unique ID of endpoint test.
        example: "584739201"
        explode: false
        in: path
        name: testId
        required: true
        schema:
          type: string
        style: simple
      - 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.
        in: query
        name: aid
        required: false
        schema:
          example: "1234"
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EndpointHttpTestUpdate'
        required: true
      responses:
        "200":
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/EndpointHttpServerTest'
          description: OK
        "400":
          content:
            application/problem+json:
              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
              schema:
                $ref: '#/components/schemas/ValidationError'
          description: Bad Request
        "401":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
          description: Unauthorized
        "403":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Insufficient permissions to query endpoint
        "404":
          content:
            application/problem+json:
              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
              schema:
                $ref: '#/components/schemas/Error'
          description: Not found
        "429":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Exhausted rate limit for the organization
        "500":
          content:
            application/problem+json:
              example:
                type: about:blank
                title: Internal server error
                status: 500
                detail: Optional detail about the internal error message.
                instance: /v7
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal server error
        "502":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Bad Gateway
        default:
          description: An error occurred
      summary: Update HTTP server endpoint scheduled test
      tags:
      - HTTP Server Endpoint Scheduled Tests
  /endpoint/tests/dynamic-tests/agent-to-server:
    get:
      description: Returns a list of all endpoint dynamic tests configured in ThousandEyes.
        This list does not contain saved events.
      operationId: getAgentToServerEndpointDynamicTests
      parameters:
      - 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.
        in: query
        name: aid
        required: false
        schema:
          example: "1234"
          type: string
      responses:
        "200":
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/DynamicTests'
          description: OK
        "401":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
          description: Unauthorized
        "403":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Insufficient permissions to query endpoint
        "429":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Exhausted rate limit for the organization
        "500":
          content:
            application/problem+json:
              example:
                type: about:blank
                title: Internal server error
                status: 500
                detail: Optional detail about the internal error message.
                instance: /v7
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal server error
        "502":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Bad Gateway
        default:
          description: An error occurred
      summary: List endpoint dynamic tests
      tags:
      - Agent To Server Endpoint Dynamic Tests
    post:
      description: |
        Create a new endpoint dynamic test in ThousandEyes using properties specified in the POST data.
        Please note that only Account Admins have the authorization to create new tests; regular users are restricted from using POST-based methods.
      operationId: createAgentToServerEndpointDynamicTest
      parameters:
      - 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.
        in: query
        name: aid
        required: false
        schema:
          example: "1234"
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DynamicTestRequest'
        required: true
      responses:
        "201":
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/DynamicTest'
          description: Created
          headers:
            Location:
              $ref: '#/components/headers/Location'
        "400":
          content:
            application/problem+json:
              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
              schema:
                $ref: '#/components/schemas/ValidationError'
          description: Bad Request
        "401":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
          description: Unauthorized
        "403":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Insufficient permissions to query endpoint
        "404":
          content:
            application/problem+json:
              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
              schema:
                $ref: '#/components/schemas/Error'
          description: Not found
        "429":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Exhausted rate limit for the organization
        "500":
          content:
            application/problem+json:
              example:
                type: about:blank
                title: Internal server error
                status: 500
                detail: Optional detail about the internal error message.
                instance: /v7
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal server error
        "502":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Bad Gateway
        default:
          description: An error occurred
      summary: Create endpoint dynamic test
      tags:
      - Agent To Server Endpoint Dynamic Tests
  /endpoint/tests/dynamic-tests/agent-to-server/{testId}:
    delete:
      description: Deletes an agent to server endpoint dynamic test.
      operationId: deleteAgentToServerEndpointDynamicTest
      parameters:
      - description: Unique ID of endpoint test.
        example: "584739201"
        explode: false
        in: path
        name: testId
        required: true
        schema:
          type: string
        style: simple
      - 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.
        in: query
        name: aid
        required: false
        schema:
          example: "1234"
          type: string
      responses:
        "204":
          description: No content
        "400":
          content:
            application/problem+json:
              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
              schema:
                $ref: '#/components/schemas/ValidationError'
          description: Bad Request
        "401":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
          description: Unauthorized
        "403":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Insufficient permissions to query endpoint
        "404":
          content:
            application/problem+json:
              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
              schema:
                $ref: '#/components/schemas/Error'
          description: Not found
        "429":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Exhausted rate limit for the organization
        "500":
          content:
            application/problem+json:
              example:
                type: about:blank
                title: Internal server error
                status: 500
                detail: Optional detail about the internal error message.
                instance: /v7
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal server error
        "502":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Bad Gateway
        default:
          description: An error occurred
      summary: Delete agent to server dynamic test
      tags:
      - Agent To Server Endpoint Dynamic Tests
    get:
      description: "Returns details of an endpoint dynamic test, including test type,\
        \ name, intervals, targets."
      operationId: getAgentToServerEndpointDynamicTest
      parameters:
      - description: Unique ID of endpoint test.
        example: "584739201"
        explode: false
        in: path
        name: testId
        required: true
        schema:
          type: string
        style: simple
      - 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.
        in: query
        name: aid
        required: false
        schema:
          example: "1234"
          type: string
      responses:
        "200":
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/DynamicTest'
          description: OK
        "401":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
          description: Unauthorized
        "403":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Insufficient permissions to query endpoint
        "404":
          content:
            application/problem+json:
              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
              schema:
                $ref: '#/components/schemas/Error'
          description: Not found
        "429":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Exhausted rate limit for the organization
        "500":
          content:
            application/problem+json:
              example:
                type: about:blank
                title: Internal server error
                status: 500
                detail: Optional detail about the internal error message.
                instance: /v7
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal server error
        "502":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Bad Gateway
        default:
          description: An error occurred
      summary: Retrieve endpoint dynamic test
      tags:
      - Agent To Server Endpoint Dynamic Tests
    patch:
      description: "Updates an agent to server endpoint dynamic test. Includes support\
        \ for \nenabling and disabling the test."
      operationId: updateAgentToServerEndpointDynamicTest
      parameters:
      - description: Unique ID of endpoint test.
        example: "584739201"
        explode: false
        in: path
        name: testId
        required: true
        schema:
          type: string
        style: simple
      - 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.
        in: query
        name: aid
        required: false
        schema:
          example: "1234"
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EndpointDynamicTestUpdate'
        required: true
      responses:
        "200":
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/DynamicTest'
          description: OK
        "400":
          content:
            application/problem+json:
              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
              schema:
                $ref: '#/components/schemas/ValidationError'
          description: Bad Request
        "401":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
          description: Unauthorized
        "403":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Insufficient permissions to query endpoint
        "404":
          content:
            application/problem+json:
              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
              schema:
                $ref: '#/components/schemas/Error'
          description: Not found
        "429":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Exhausted rate limit for the organization
        "500":
          content:
            application/problem+json:
              example:
                type: about:blank
                title: Internal server error
                status: 500
                detail: Optional detail about the internal error message.
                instance: /v7
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal server error
        "502":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Bad Gateway
        default:
          description: An error occurred
      summary: Update agent to server dynamic test
      tags:
      - Agent To Server Endpoint Dynamic Tests
components:
  headers:
    Location:
      description: The absolute path to created resource.
      schema:
        example: https://api.thousandeyes.com/v7/link/to/resource/id
        format: uri
        type: string
  parameters:
    TestId:
      description: Unique ID of endpoint test.
      example: "584739201"
      explode: false
      in: path
      name: testId
      required: true
      schema:
        type: string
      style: simple
    AccountGroupId:
      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.
      in: query
      name: aid
      required: false
      schema:
        example: "1234"
        type: string
  responses:
    "401":
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/UnauthorizedError'
      description: Unauthorized
    "403":
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Error'
      description: Insufficient permissions to query endpoint
    "429":
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Error'
      description: Exhausted rate limit for the organization
    "500":
      content:
        application/problem+json:
          example:
            type: about:blank
            title: Internal server error
            status: 500
            detail: Optional detail about the internal error message.
            instance: /v7
          schema:
            $ref: '#/components/schemas/Error'
      description: Internal server error
    "502":
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Error'
      description: Bad Gateway
    GeneralError:
      description: An error occurred
    "400":
      content:
        application/problem+json:
          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
          schema:
            $ref: '#/components/schemas/ValidationError'
      description: Bad Request
    "404":
      content:
        application/problem+json:
          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
          schema:
            $ref: '#/components/schemas/Error'
      description: Not found
    "204":
      description: No content
  schemas:
    DynamicTests:
      properties:
        tests:
          items:
            $ref: '#/components/schemas/DynamicTest'
          type: array
        _links:
          $ref: '#/components/schemas/SelfLinks'
      type: object
    EndpointTests:
      properties:
        tests:
          items:
            $ref: '#/components/schemas/EndpointTest'
          type: array
        _links:
          $ref: '#/components/schemas/SelfLinks'
      type: object
    EndpointAgentToServerTests:
      properties:
        tests:
          items:
            $ref: '#/components/schemas/EndpointAgentToServerTest'
          type: array
        _links:
          $ref: '#/components/schemas/SelfLinks'
      type: object
    EndpointHttpServerTests:
      properties:
        tests:
          items:
            $ref: '#/components/schemas/EndpointHttpServerTest'
          type: array
        _links:
          $ref: '#/components/schemas/SelfLinks'
      type: object
    EndpointHttpTestUpdate:
      allOf:
      - $ref: '#/components/schemas/TestUpdate'
      - properties:
          url:
            $ref: '#/components/schemas/EndpointHttpServerTestUrl'
        type: object
    EndpointNetworkTestUpdate:
      allOf:
      - $ref: '#/components/schemas/TestUpdate'
      - properties:
          port:
            $ref: '#/components/schemas/TestPort'
          server:
            description: Target domain name or IP address.
            example: www.example.com
            type: string
        type: object
    EndpointDynamicTestUpdate:
      allOf:
      - $ref: '#/components/schemas/TestUpdate'
      - properties:
          application:
            $ref: '#/components/schemas/DynamicTestApplication'
        type: object
    UnauthorizedError:
      properties:
        error:
          example: invalid_token
          type: string
        error_description:
          example: Invalid access token
          type: string
      type: object
    Error:
      properties:
        type:
          description: "A URI reference that identifies the problem type. When this\
            \ member is not present, its value is assumed to be \"about:blank\"."
          type: string
        title:
          description: "A short, human-readable summary of the problem type."
          type: string
        status:
          description: The HTTP status code generated by the origin server for this
            occurrence of the problem.
          type: integer
        detail:
          description: A human-readable explanation specific to this occurrence of
            the problem.
          type: string
        instance:
          description: A URI reference that identifies the specific occurrence of
            the problem.
          type: string
      type: object
    EndpointAgentToServerTestRequest:
      allOf:
      - $ref: '#/components/schemas/EndpointAgentToServerInstantTest'
      - properties:
          interval:
            $ref: '#/components/schemas/TestInterval'
          protocol:
            $ref: '#/components/schemas/EndpointTestProtocol'
        type: object
    EndpointAgentToServerInstantTest:
      allOf:
      - $ref: '#/components/schemas/EndpointInstantTest'
      - properties:
          serverName:
            description: A server address without a protocol or IP address.
            example: www.example.com
            type: string
          port:
            $ref: '#/components/schemas/EndpointTestPort'
        required:
        - serverName
        type: object
    EndpointInstantTest:
      properties:
        agentSelectorType:
          $ref: '#/components/schemas/EndpointTestAgentSelectorType'
        agents:
          description: List of endpoint agent IDs (obtained from `/endpoint/agents`
            endpoint). Required when `agentSelectorType` is set to `specific-agent`.
          example:
          - 0a3b9998-dc3a-4ff2-b50d-ac4a7cd986e1
          - 66eec0f1-72b4-4755-aa83-3aed61d17f3c
          items:
            format: uuid
            type: string
          type: array
        endpointAgentLabels:
          description: "List of endpoint agent label IDs (obtained from `/endpoint/labels`\
            \ endpoint), required when `agentSelectorType` is set to `agent-labels`."
          example:
          - "567"
          - "214"
          items:
            type: string
          type: array
        maxMachines:
          default: 25
          description: Maximum number of agents which can execute the test.
          example: 25
          type: integer
        testName:
          description: Name of the test.
          example: Test name
          type: string
      required:
      - testName
      type: object
    EndpointTestAgentSelectorType:
      default: all-agents
      description: "Retrieve either all available agents, a specific list of agents,\
        \ or a list of agent labels."
      enum:
      - all-agents
      - specific-agents
      - agent-labels
      example: all-agents
      type: string
    EndpointTestAgents:
      description: List of endpoint agent IDs (obtained from `/endpoint/agents` endpoint).
        Required when `agentSelectorType` is set to `specific-agent`.
      example:
      - 0a3b9998-dc3a-4ff2-b50d-ac4a7cd986e1
      - 66eec0f1-72b4-4755-aa83-3aed61d17f3c
      items:
        format: uuid
        type: string
      type: array
    EndpointAgentLabels:
      description: "List of endpoint agent label IDs (obtained from `/endpoint/labels`\
        \ endpoint), required when `agentSelectorType` is set to `agent-labels`."
      example:
      - "567"
      - "214"
      items:
        type: string
      type: array
    EndpointTestMaxMachines:
      default: 25
      description: Maximum number of agents which can execute the test.
      example: 25
      type: integer
    TestName:
      description: Name of the test.
      example: Test name
      type: string
    EndpointTestPort:
      default: 443
      description: Port number.
      example: 443
      type: integer
    TestInterval:
      default: 60
      description: Interval between test runs in seconds.
      enum:
      - 60
      - 120
      - 300
      - 600
      - 900
      - 1800
      - 3600
      example: 60
      type: integer
    EndpointTestProtocol:
      default: icmp
      description: Protocol requested for the test.
      enum:
      - icmp
      - icmp-with-tcp-connect
      - tcp
      - prefer-tcp
      - ast-autodetect
      - autodetect
      example: icmp
      type: string
    EndpointAgentToServerTest:
      allOf:
      - $ref: '#/components/schemas/EndpointTest'
      - properties:
          type:
            $ref: '#/components/schemas/EndpointAgentToServerType'
          labels:
            $ref: '#/components/schemas/TestLabels'
        type: object
    EndpointTest:
      properties:
        aid:
          description: A unique identifier associated with your account group. You
            can retrieve your `AccountGroupId` from the `/account-groups` endpoint.
          example: "1234"
          type: string
        _links:
          $ref: '#/components/schemas/EndpointTestLinks'
        agentSelectorConfig:
          $ref: '#/components/schemas/EndpointAgentSelectorConfig'
        createdDate:
          description: UTC created date (ISO date-time format).
          example: 2022-07-17T22:00:54Z
          format: date-time
          readOnly: true
          type: string
        interval:
          $ref: '#/components/schemas/TestInterval'
        isEnabled:
          default: true
          description: Indicates if test is enabled.
          example: true
          type: boolean
        isSavedEvent:
          description: Indicates if the test is a saved event.
          example: false
          readOnly: true
          type: boolean
        hasPathTraceInSession:
          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
          type: boolean
        modifiedDate:
          description: UTC last modification date (ISO date-time format).
          example: 2022-07-17T22:00:54Z
          format: date-time
          readOnly: true
          type: string
        networkMeasurements:
          default: true
          description: Enable or disable network measurements. Set to true to enable
            or false to disable network measurements.
          example: true
          type: boolean
        protocol:
          $ref: '#/components/schemas/EndpointTestProtocol'
        ipVersion:
          $ref: '#/components/schemas/EndpointIpVersionTemplate'
        server:
          description: Target domain name or IP address.
          example: www.example.com
          type: string
        testId:
          description: Each test is assigned a unique ID to access test data from
            other endpoints.
          example: "281474976710706"
          readOnly: true
          type: string
        testName:
          description: Name of the test.
          example: Test name
          type: string
        type:
          $ref: '#/components/schemas/EndpointScheduledTestType'
        tcpProbeMode:
          $ref: '#/components/schemas/TestProbeModeResponse'
        port:
          default: 443
          description: Port number.
          example: 443
          type: integer
      required:
      - type
      type: object
    EndpointTestLinks:
      description: A list of links that can be accessed to get more information.
      properties:
        self:
          $ref: '#/components/schemas/EndpointTestSelfLink'
        testResults:
          description: Reference to the test results.
          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
          items:
            $ref: '#/components/schemas/Link'
          type: array
      readOnly: true
      type: object
    EndpointTestSelfLink:
      allOf:
      - description: A reference to the test.
        example:
          href: "https://api.thousandeyes.com/v7/endpoint/tests/{type}/281474976710706"
      - $ref: '#/components/schemas/Link'
    ScheduledTestResults:
      description: Reference to the test results.
      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
      items:
        $ref: '#/components/schemas/Link'
      type: array
    EndpointAgentSelectorConfig:
      description: Agents selection object based on agentSelectorType.
      discriminator:
        mapping:
          all-agents: '#/components/schemas/EndpointAllAgentsSelectorConfig'
          specific-agents: '#/components/schemas/EndpointSpecificAgentsSelectorConfig'
          agent-labels: '#/components/schemas/EndpointAgentLabelsSelectorConfig'
        propertyName: agentSelectorType
      oneOf:
      - $ref: '#/components/schemas/EndpointAllAgentsSelectorConfig'
      - $ref: '#/components/schemas/EndpointAgentLabelsSelectorConfig'
      - $ref: '#/components/schemas/EndpointSpecificAgentsSelectorConfig'
      readOnly: true
      required:
      - agentSelectorType
      type: object
    EndpointAllAgentsSelectorConfig:
      description: Any agent selection object.
      properties:
        agentSelectorType:
          example: all-agents
          pattern: ^all-agents$
          type: string
        maxMachines:
          default: 25
          description: Maximum number of agents which can execute the test.
          example: 25
          type: integer
      readOnly: true
      required:
      - agentSelectorType
      type: object
    EndpointAgentLabelsSelectorConfig:
      description: Agent labels selection object.
      properties:
        agentSelectorType:
          example: agent-labels
          pattern: ^agent-labels$
          type: string
        maxMachines:
          default: 25
          description: Maximum number of agents which can execute the test.
          example: 25
          type: integer
        endpointAgentLabels:
          description: "List of endpoint agent label IDs (obtained from `/endpoint/labels`\
            \ endpoint), required when `agentSelectorType` is set to `agent-labels`."
          example:
          - "567"
          - "214"
          items:
            type: string
          type: array
      readOnly: true
      required:
      - agentSelectorType
      type: object
    EndpointSpecificAgentsSelectorConfig:
      description: Specific agents selection object.
      properties:
        agentSelectorType:
          example: specific-agents
          pattern: ^specific-agents$
          type: string
        maxMachines:
          default: 25
          description: Maximum number of agents which can execute the test.
          example: 25
          type: integer
        agents:
          description: List of endpoint agent IDs (obtained from `/endpoint/agents`
            endpoint). Required when `agentSelectorType` is set to `specific-agent`.
          example:
          - 0a3b9998-dc3a-4ff2-b50d-ac4a7cd986e1
          - 66eec0f1-72b4-4755-aa83-3aed61d17f3c
          items:
            format: uuid
            type: string
          type: array
      readOnly: true
      required:
      - agentSelectorType
      type: object
    TestCreatedDate:
      description: UTC created date (ISO date-time format).
      example: 2022-07-17T22:00:54Z
      format: date-time
      readOnly: true
      type: string
    TestIsEnabled:
      default: true
      description: Indicates if test is enabled.
      example: true
      type: boolean
    TestIsSavedEvent:
      description: Indicates if the test is a saved event.
      example: false
      readOnly: true
      type: boolean
    TestHasPathTraceInSession:
      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
      type: boolean
    TestNetworkMeasurements:
      default: true
      description: Enable or disable network measurements. Set to true to enable or
        false to disable network measurements.
      example: true
      type: boolean
    EndpointScheduledTestType:
      description: Type of test being queried.
      enum:
      - agent-to-server
      - http-server
      example: agent-to-server
      readOnly: true
      type: string
    TestProbeModeResponse:
      default: auto
      description: "Probe mode used by network test, only valid when the protocol\
        \ is set to TCP."
      enum:
      - auto
      - sack
      - syn
      - unknown
      example: auto
      type: string
    EndpointAgentToServerType:
      description: Type of test being queried.
      example: agent-to-server
      pattern: ^agent-to-server$
      readOnly: true
      type: string
    TestLabels:
      items:
        $ref: '#/components/schemas/TestLabel'
      readOnly: true
      type: array
    TestLabel:
      example:
        labelId: "961"
        name: Artem label
        isBuiltin: false
      properties:
        labelId:
          description: Label ID.
          type: string
        name:
          description: Name of the label.
          type: string
        isBuiltin:
          description: "Value indicating if the label in question is BuiltIn (Account\
            \ Admin, Organization Admin, Regular User)."
          type: boolean
      type: object
    ValidationError:
      allOf:
      - $ref: '#/components/schemas/Error'
      - properties:
          errors:
            description: "(Optional) When multiple errors occur, the details for each\
              \ error are listed."
            items:
              $ref: '#/components/schemas/ValidationErrorItem'
            nullable: true
            type: array
        type: object
      type: object
    ValidationErrorItem:
      properties:
        code:
          description: (Optional) A unique error type/code that can be referenced
            in the documentation for further details.
          type: string
        field:
          description: Identifies the field that triggered this particular error.
          type: string
        message:
          description: "A short, human-readable summary of the error."
          type: string
      type: object
    EndpointHttpServerTestRequest:
      allOf:
      - $ref: '#/components/schemas/EndpointHttpServerInstantTest'
      - properties:
          interval:
            $ref: '#/components/schemas/TestInterval'
          networkMeasurements:
            $ref: '#/components/schemas/TestNetworkMeasurements'
        type: object
    EndpointHttpServerInstantTest:
      allOf:
      - $ref: '#/components/schemas/EndpointInstantTest'
      - $ref: '#/components/schemas/EndpointHttpServerBaseTest'
      - properties:
          hasPing:
            $ref: '#/components/schemas/TestRequestHasPing'
          hasTraceroute:
            $ref: '#/components/schemas/TestRequestHasTraceRoute'
          networkMeasurements:
            $ref: '#/components/schemas/TestNetworkMeasurements'
          targetResponseTime:
            default: 1000
            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).
            example: 1000
            type: integer
          password:
            $ref: '#/components/schemas/TestPassword'
          url:
            $ref: '#/components/schemas/EndpointHttpServerTestUrl'
        required:
        - url
        type: object
    EndpointHttpServerBaseTest:
      properties:
        authType:
          $ref: '#/components/schemas/EndpointTestAuthType'
        hasPathTraceInSession:
          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
          type: boolean
        httpTimeLimit:
          default: 5000
          description: Maximum amount of time in milliseconds the agents wait before
            a request times out.
          example: 5000
          type: integer
        protocol:
          $ref: '#/components/schemas/EndpointTestProtocol'
        username:
          description: Username for Basic/NTLM authentication.
          example: username
          type: string
        sslVersionId:
          $ref: '#/components/schemas/TestSslVersionId'
        tcpProbeMode:
          $ref: '#/components/schemas/TestProbeModeResponse'
        verifyCertificate:
          default: true
          description: Flag indicating if a certificate should be verified.
          example: true
          type: boolean
        url:
          description: The test target URL.
          example: https://example.com:443
          type: string
      type: object
    EndpointTestAuthType:
      default: none
      description: HTTP authentication type.
      enum:
      - none
      - basic
      - ntlm
      example: none
      type: string
    TestUsername:
      description: Username for Basic/NTLM authentication.
      example: username
      type: string
    TestSslVersionId:
      default: "0"
      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.
      enum:
      - "0"
      - "3"
      - "4"
      - "5"
      - "6"
      example: "0"
      type: string
    EndpointTestResultUrl:
      description: The test target URL.
      example: https://example.com:443
      type: string
    TestRequestHasPing:
      default: true
      deprecated: true
      description: "**(Deprecated)** Optional flag indicating if the test should run ping."
      type: boolean
    TestRequestHasTraceRoute:
      default: true
      deprecated: true
      description: "**(Deprecated)** Optional flag indicating if the test should run traceroute."
      type: boolean
    TestPassword:
      description: Password for Basic/NTLM authentication.
      example: password
      type: string
      writeOnly: true
    EndpointHttpServerTestUrl:
      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
      type: string
    EndpointHttpServerTest:
      allOf:
      - $ref: '#/components/schemas/EndpointTest'
      - $ref: '#/components/schemas/EndpointHttpServerBaseTest'
      - properties:
          type:
            $ref: '#/components/schemas/EndpointHttpServerType'
          followRedirects:
            $ref: '#/components/schemas/TestFollowRedirects'
          httpTargetTime:
            $ref: '#/components/schemas/TestHttpTargetTime'
          httpVersion:
            $ref: '#/components/schemas/TestHttpVersion'
          interval:
            $ref: '#/components/schemas/TestInterval'
          sslVersion:
            $ref: '#/components/schemas/TestSslVersion'
          useNtlm:
            $ref: '#/components/schemas/TestUseNtlm'
          labels:
            $ref: '#/components/schemas/TestLabels'
        type: object
    EndpointHttpServerType:
      description: Type of test being queried.
      example: http-server
      pattern: ^http-server$
      readOnly: true
      type: string
    TestFollowRedirects:
      default: true
      description: "To disable following HTTP/301 or HTTP/302 redirect directives,\
        \ set this parameter to `false`."
      example: true
      type: boolean
    TestHttpTargetTime:
      description: "Target time for HTTP server completion, specified in milliseconds."
      example: 100
      maximum: 5000
      minimum: 100
      type: integer
    TestHttpVersion:
      default: 2
      description: "HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to\
        \ use only HTTP/1.1."
      example: 2
      maximum: 2
      minimum: 1
      type: integer
    TestSslVersion:
      description: Reflects the verbose SSL protocol version used by a test.
      example: Auto
      readOnly: true
      type: string
    TestUseNtlm:
      description: "Set to true to use NTLM, false to use Basic Authentication. Requires\
        \ username and password to be set."
      example: false
      type: boolean
    DynamicTestRequest:
      allOf:
      - properties:
          agentSelectorType:
            $ref: '#/components/schemas/EndpointTestAgentSelectorType'
          agents:
            $ref: '#/components/schemas/EndpointTestAgents'
          endpointAgentLabels:
            $ref: '#/components/schemas/EndpointAgentLabels'
          interval:
            $ref: '#/components/schemas/TestInterval'
          maxMachines:
            $ref: '#/components/schemas/EndpointTestMaxMachines'
          application:
            $ref: '#/components/schemas/DynamicTestApplication'
          protocol:
            $ref: '#/components/schemas/EndpointTestProtocol'
          tcpProbeMode:
            $ref: '#/components/schemas/TestProbeMode'
          testName:
            $ref: '#/components/schemas/TestName'
          hasPathTraceInSession:
            $ref: '#/components/schemas/TestHasPathTraceInSession'
        required:
        - application
        - testName
        type: object
    DynamicTestApplication:
      description: "Which supported application to monitor, can be one of `webex`,\
        \ `zoom`, `microsoft-teams`."
      example: webex
      type: string
    TestProbeMode:
      default: auto
      description: "Probe mode used by network test, only valid when the protocol\
        \ is set to TCP."
      enum:
      - auto
      - sack
      - syn
      example: auto
      type: string
    DynamicTest:
      properties:
        aid:
          description: A unique identifier associated with your account group. You
            can retrieve your `AccountGroupId` from the `/account-groups` endpoint.
          example: "1234"
          type: string
        _links:
          $ref: '#/components/schemas/DynamicTestLinks'
        agentSelectorConfig:
          $ref: '#/components/schemas/EndpointAgentSelectorConfig'
        application:
          description: "Which supported application to monitor, can be one of `webex`,\
            \ `zoom`, `microsoft-teams`."
          example: webex
          type: string
        createdDate:
          description: UTC created date (ISO date-time format).
          example: 2022-07-17T22:00:54Z
          format: date-time
          readOnly: true
          type: string
        interval:
          $ref: '#/components/schemas/TestInterval'
        isEnabled:
          default: true
          description: Indicates if test is enabled.
          example: true
          type: boolean
        hasPathTraceInSession:
          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
          type: boolean
        hasPing:
          default: true
          description: Optional flag indicating if the test should run ping.
          type: boolean
        hasTraceroute:
          default: true
          description: Optional flag indicating if the test should run traceroute.
          type: boolean
        modifiedDate:
          description: UTC last modification date (ISO date-time format).
          example: 2022-07-17T22:00:54Z
          format: date-time
          readOnly: true
          type: string
        networkMeasurements:
          default: true
          description: Enable or disable network measurements. Set to true to enable
            or false to disable network measurements.
          example: true
          type: boolean
        protocol:
          $ref: '#/components/schemas/EndpointTestProtocol'
        ipVersion:
          $ref: '#/components/schemas/EndpointIpVersionTemplate'
        tcpProbeMode:
          $ref: '#/components/schemas/TestProbeModeResponse'
        testId:
          description: Each test is assigned a unique ID; this is used to access test
            information and results from other endpoints.
          example: "281474976710706"
          readOnly: true
          type: string
        testName:
          description: Name of the test.
          example: Test name
          type: string
        labels:
          items:
            $ref: '#/components/schemas/TestLabel'
          readOnly: true
          type: array
      type: object
    DynamicTestLinks:
      description: A list of links that can be accessed to get more information.
      properties:
        self:
          $ref: '#/components/schemas/DynamicTestSelfLink'
        testResults:
          description: Reference to the test results.
          example:
          - href: https://api.thousandeyes.com/v7/endpoint/test-results/dynamic-tests/281474976710706/network/filter
          - href: https://api.thousandeyes.com/v7/endpoint/test-results/dynamic-tests/281474976710706/pathvis
          items:
            $ref: '#/components/schemas/Link'
          type: array
      readOnly: true
      type: object
    DynamicTestSelfLink:
      allOf:
      - description: The reference to the test.
        example:
          href: https://api.thousandeyes.com/v7/dynamic-tests/agent-to-server/281474976710706
      - $ref: '#/components/schemas/Link'
    DynamicTestResults:
      description: Reference to the test results.
      example:
      - href: https://api.thousandeyes.com/v7/endpoint/test-results/dynamic-tests/281474976710706/network/filter
      - href: https://api.thousandeyes.com/v7/endpoint/test-results/dynamic-tests/281474976710706/pathvis
      items:
        $ref: '#/components/schemas/Link'
      type: array
    TestHasPing:
      default: true
      description: Optional flag indicating if the test should run ping.
      type: boolean
    TestHasTraceRoute:
      default: true
      description: Optional flag indicating if the test should run traceroute.
      type: boolean
    SelfLinks:
      description: A links object containing the self link.
      properties:
        self:
          $ref: '#/components/schemas/Link'
      readOnly: true
      type: object
    Link:
      description: A hyperlink from the containing resource to a URI.
      properties:
        href:
          description: "Its value is either a URI [RFC3986] or a URI template [RFC6570]."
          example: https://api.thousandeyes.com/v7/link/to/resource/id
          type: string
        templated:
          description: Should be true when the link object's "href" property is a
            URI template.
          type: boolean
        type:
          description: Used as a hint to indicate the media type expected when dereferencing
            the target resource.
          type: string
        deprecation:
          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.
          type: string
        name:
          description: Its value may be used as a secondary key for selecting link
            objects that share the same relation type.
          type: string
        profile:
          description: A URI that hints about the profile of the target resource.
          type: string
        title:
          description: Intended for labelling the link with a human-readable identifier
          type: string
        hreflang:
          description: Indicates the language of the target resource
          type: string
      required:
      - href
      type: object
    TestUpdate:
      properties:
        interval:
          $ref: '#/components/schemas/TestInterval'
        testName:
          description: Name of the test.
          example: Test name
          type: string
        protocol:
          $ref: '#/components/schemas/EndpointTestProtocol'
        isEnabled:
          default: true
          description: Indicates if test is enabled.
          example: true
          type: boolean
        tcpProbeMode:
          $ref: '#/components/schemas/TestProbeMode'
      type: object
    TestPort:
      default: 49153
      description: Target port.
      example: 49153
      maximum: 65535
      minimum: 1
      type: integer
    AccountGroupId:
      description: A unique identifier associated with your account group. You can
        retrieve your `AccountGroupId` from the `/account-groups` endpoint.
      example: "1234"
      type: string
    EndpointIpVersionTemplate:
      description: IP version the test should use for network tests.
      enum:
      - V4_ONLY
      - V6_ONLY
      - V6_PREFER
      - OS_DEFAULT
      example: V4_ONLY
      type: string
  securitySchemes:
    BearerAuth:
      description: Bearer authentication token
      scheme: bearer
      type: http
