openapi: 3.0.1
info:
  description: |
    The Instant Tests API operations lets you create and run new instant tests. You will need to be an Account Admin.

    The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test.
  title: Instant Tests API
  version: 7.0.41
externalDocs:
  description: Find out more about Instant Tests.
  url: https://docs.thousandeyes.com/product-documentation/internet-and-wan-monitoring/tests/working-with-instant-tests
servers:
- description: ThousandEyes API production URL
  url: https://api.thousandeyes.com/v7
security:
- BearerAuth: []
tags:
- name: Instant Tests
- name: Agent to Agent Instant Tests
- name: Agent to Server Instant Tests
- name: DNS Server Instant Tests
- name: DNS Trace Instant Tests
- name: DNSSEC Instant Tests
- name: HTTP Server Instant Tests
- name: HTTP Page Load Instant Tests
- name: Web Transaction Instant Tests
- name: API Instant Tests
- name: FTP Server Instant Tests
- name: SIP Server Instant Tests
- name: Voice Instant Tests
paths:
  /tests/{testId}/run:
    post:
      description: Run an existing instant test.
      operationId: runInstantTest
      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
      - description: Identifier for the instant test you wish to rerun.
        explode: false
        in: path
        name: testId
        required: true
        schema:
          example: "105"
          type: string
        style: simple
      responses:
        "200":
          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: Run instant test
      tags:
      - Instant Tests
  /tests/agent-to-agent/instant:
    post:
      description: Creates and runs a new agent-to-agent instant test.
      operationId: createAgentToAgentInstantTest
      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
      - description: "(Optional) Indicates if the test sub-resources should be expanded.\
          \ Defaults to no expansion. To expand the `agents` sub-resource, use the\
          \ query `?expand=agent`."
        explode: false
        in: query
        name: expand
        required: false
        schema:
          example:
          - agent
          items:
            $ref: '#/components/schemas/ExpandInstantTestOptions'
          type: array
        style: form
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AgentToAgentInstantTestRequest'
        required: true
      responses:
        "201":
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/AgentToAgentInstantTestResponse'
          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 agent-to-agent instant test
      tags:
      - Agent to Agent Instant Tests
  /tests/agent-to-server/instant:
    post:
      description: Creates and runs a new agent-to-server instant test.
      operationId: createAgentToServerInstantTest
      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
      - description: "(Optional) Indicates if the test sub-resources should be expanded.\
          \ Defaults to no expansion. To expand the `agents` sub-resource, use the\
          \ query `?expand=agent`."
        explode: false
        in: query
        name: expand
        required: false
        schema:
          example:
          - agent
          items:
            $ref: '#/components/schemas/ExpandInstantTestOptions'
          type: array
        style: form
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AgentToServerInstantTestRequest'
        required: true
      responses:
        "201":
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/AgentToServerInstantTestResponse'
          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 agent-to-server instant test
      tags:
      - Agent to Server Instant Tests
  /tests/dns-server/instant:
    post:
      description: Creates and runs a new DNS server instant test.
      operationId: createDnsServerInstantTest
      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
      - description: "(Optional) Indicates if the test sub-resources should be expanded.\
          \ Defaults to no expansion. To expand the `agents` sub-resource, use the\
          \ query `?expand=agent`."
        explode: false
        in: query
        name: expand
        required: false
        schema:
          example:
          - agent
          items:
            $ref: '#/components/schemas/ExpandInstantTestOptions'
          type: array
        style: form
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DnsServerInstantTestRequest'
        required: true
      responses:
        "201":
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/DnsServerInstantTestResponse'
          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 DNS server instant test
      tags:
      - DNS Server Instant Tests
  /tests/dns-trace/instant:
    post:
      description: Creates and runs a new DNS trace instant test.
      operationId: createDnsTraceInstantTest
      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
      - description: "(Optional) Indicates if the test sub-resources should be expanded.\
          \ Defaults to no expansion. To expand the `agents` sub-resource, use the\
          \ query `?expand=agent`."
        explode: false
        in: query
        name: expand
        required: false
        schema:
          example:
          - agent
          items:
            $ref: '#/components/schemas/ExpandInstantTestOptions'
          type: array
        style: form
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DnsTraceInstantTestRequest'
        required: true
      responses:
        "201":
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/DnsTraceInstantTestResponse'
          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 DNS trace instant test
      tags:
      - DNS Trace Instant Tests
  /tests/dnssec/instant:
    post:
      description: Creates and runs a new DNSSEC instant test.
      operationId: createDnsSecInstantTest
      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
      - description: "(Optional) Indicates if the test sub-resources should be expanded.\
          \ Defaults to no expansion. To expand the `agents` sub-resource, use the\
          \ query `?expand=agent`."
        explode: false
        in: query
        name: expand
        required: false
        schema:
          example:
          - agent
          items:
            $ref: '#/components/schemas/ExpandInstantTestOptions'
          type: array
        style: form
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DnsSecInstantTestRequest'
        required: true
      responses:
        "201":
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/DnsSecInstantTestResponse'
          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 DNSSEC instant test
      tags:
      - DNSSEC Instant Tests
  /tests/http-server/instant:
    post:
      description: Creates and runs a new HTTP server instant test.
      operationId: createHttpServerInstantTest
      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
      - description: "(Optional) Indicates if the test sub-resources should be expanded.\
          \ Defaults to no expansion. To expand the `agents` sub-resource, use the\
          \ query `?expand=agent`."
        explode: false
        in: query
        name: expand
        required: false
        schema:
          example:
          - agent
          items:
            $ref: '#/components/schemas/ExpandInstantTestOptions'
          type: array
        style: form
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HttpServerInstantTestRequest'
        required: true
      responses:
        "201":
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/HttpServerInstantTestResponse'
          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 instant test
      tags:
      - HTTP Server Instant Tests
  /tests/page-load/instant:
    post:
      description: Creates and runs a new HTTP page load instant test.
      operationId: createPageLoadInstantTest
      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
      - description: "(Optional) Indicates if the test sub-resources should be expanded.\
          \ Defaults to no expansion. To expand the `agents` sub-resource, use the\
          \ query `?expand=agent`."
        explode: false
        in: query
        name: expand
        required: false
        schema:
          example:
          - agent
          items:
            $ref: '#/components/schemas/ExpandInstantTestOptions'
          type: array
        style: form
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PageLoadInstantTestRequest'
        required: true
      responses:
        "201":
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/PageLoadInstantTestResponse'
          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 page load instant test
      tags:
      - HTTP Page Load Instant Tests
  /tests/web-transactions/instant:
    post:
      description: Creates and runs a new Web transactions instant test.
      operationId: createWebTransactionInstantTest
      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
      - description: "(Optional) Indicates if the test sub-resources should be expanded.\
          \ Defaults to no expansion. To expand the `agents` sub-resource, use the\
          \ query `?expand=agent`."
        explode: false
        in: query
        name: expand
        required: false
        schema:
          example:
          - agent
          items:
            $ref: '#/components/schemas/ExpandInstantTestOptions'
          type: array
        style: form
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebTransactionInstantTestRequest'
        required: true
      responses:
        "201":
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/WebTransactionInstantTestResponse'
          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 web transactions instant test
      tags:
      - Web Transaction Instant Tests
  /tests/api/instant:
    post:
      description: Creates and runs a new API instant test.
      operationId: createApiInstantTest
      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
      - description: "(Optional) Indicates if the test sub-resources should be expanded.\
          \ Defaults to no expansion. To expand the `agents` sub-resource, use the\
          \ query `?expand=agent`."
        explode: false
        in: query
        name: expand
        required: false
        schema:
          example:
          - agent
          items:
            $ref: '#/components/schemas/ExpandInstantTestOptions'
          type: array
        style: form
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiInstantTestRequest'
        required: true
      responses:
        "201":
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/ApiInstantTestResponse'
          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 API instant test
      tags:
      - API Instant Tests
  /tests/ftp-server/instant:
    post:
      description: Creates and runs a new FTP server instant test.
      operationId: createFtpServerInstantTest
      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
      - description: "(Optional) Indicates if the test sub-resources should be expanded.\
          \ Defaults to no expansion. To expand the `agents` sub-resource, use the\
          \ query `?expand=agent`."
        explode: false
        in: query
        name: expand
        required: false
        schema:
          example:
          - agent
          items:
            $ref: '#/components/schemas/ExpandInstantTestOptions'
          type: array
        style: form
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FtpServerInstantTestRequest'
        required: true
      responses:
        "201":
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/FtpServerInstantTestResponse'
          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 FTP server instant test
      tags:
      - FTP Server Instant Tests
  /tests/sip-server/instant:
    post:
      description: Creates and runs a new SIP server instant test.
      operationId: createSipServerInstantTest
      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
      - description: "(Optional) Indicates if the test sub-resources should be expanded.\
          \ Defaults to no expansion. To expand the `agents` sub-resource, use the\
          \ query `?expand=agent`."
        explode: false
        in: query
        name: expand
        required: false
        schema:
          example:
          - agent
          items:
            $ref: '#/components/schemas/ExpandInstantTestOptions'
          type: array
        style: form
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SipServerInstantTestRequest'
        required: true
      responses:
        "201":
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/SipServerInstantTestResponse'
          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 SIP server instant test
      tags:
      - SIP Server Instant Tests
  /tests/voice/instant:
    post:
      description: Creates and runs a voice instant test.
      operationId: createVoiceInstantTest
      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
      - description: "(Optional) Indicates if the test sub-resources should be expanded.\
          \ Defaults to no expansion. To expand the `agents` sub-resource, use the\
          \ query `?expand=agent`."
        explode: false
        in: query
        name: expand
        required: false
        schema:
          example:
          - agent
          items:
            $ref: '#/components/schemas/ExpandInstantTestOptions'
          type: array
        style: form
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VoiceInstantTestRequest'
        required: true
      responses:
        "201":
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/VoiceInstantTestResponse'
          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 voice instant test
      tags:
      - Voice Instant 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:
    ExpandInstantTest:
      description: "(Optional) Indicates if the test sub-resources should be expanded.\
        \ Defaults to no expansion. To expand the `agents` sub-resource, use the query\
        \ `?expand=agent`."
      explode: false
      in: query
      name: expand
      required: false
      schema:
        example:
        - agent
        items:
          $ref: '#/components/schemas/ExpandInstantTestOptions'
        type: array
      style: form
    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
    "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
    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
  schemas:
    TestAgent:
      example:
        agentId: "125"
        sourceIpAddress: 1.1.1.1
      properties:
        agentId:
          description: Identifier for the agent (get `agentId` from `/agents` endpoint).
          type: string
        sourceIpAddress:
          description: IP address from the agent's `ipAddresses` field (get `ipAddresses`
            from `/agents` endpoint). Used for interface selection.
          type: string
      type: object
    InstantTestRequest:
      properties:
        labels:
          description: A list of test label identifiers (get `labelId` from `/labels`
            endpoint).
          example:
          - "9842"
          - "1283"
          items:
            type: string
          readOnly: false
          type: array
          writeOnly: true
        sharedWithAccounts:
          description: A list of account group identifiers that the test is shared
            with (get `aid` from `/account-groups` endpoint).
          example:
          - "1234"
          - "12345"
          items:
            type: string
          readOnly: false
          type: array
          writeOnly: true
        agents:
          description: A list of objects with `agentId` (required) and `sourceIpAddress`
            (optional).
          items:
            $ref: '#/components/schemas/TestAgent'
          type: array
      required:
      - agents
      type: object
    AgentToAgentInstantTestRequest:
      allOf:
      - $ref: '#/components/schemas/AgentToAgentInstantTest'
      - $ref: '#/components/schemas/InstantTestRequest'
    AgentToAgentInstantTestResponse:
      allOf:
      - $ref: '#/components/schemas/AgentToAgentInstantTest'
      - properties:
          agents:
            $ref: '#/components/schemas/TestAgentsResponse'
        type: object
    AgentToServerInstantTestRequest:
      allOf:
      - $ref: '#/components/schemas/AgentToServerInstantTest'
      - $ref: '#/components/schemas/InstantTestRequest'
    AgentToServerInstantTestResponse:
      allOf:
      - $ref: '#/components/schemas/AgentToServerInstantTest'
      - properties:
          agents:
            $ref: '#/components/schemas/TestAgentsResponse'
        type: object
    DnsServerInstantTestRequest:
      allOf:
      - $ref: '#/components/schemas/DnsServerInstantTest'
      - $ref: '#/components/schemas/InstantTestRequest'
      - $ref: '#/components/schemas/DnsServersRequest'
    DnsServerInstantTestResponse:
      allOf:
      - $ref: '#/components/schemas/DnsServerInstantTest'
      - properties:
          agents:
            $ref: '#/components/schemas/TestAgentsResponse'
        type: object
    DnsTraceInstantTestRequest:
      allOf:
      - $ref: '#/components/schemas/DnsTraceInstantTest'
      - $ref: '#/components/schemas/InstantTestRequest'
    DnsTraceInstantTestResponse:
      allOf:
      - $ref: '#/components/schemas/DnsTraceInstantTest'
      - properties:
          agents:
            $ref: '#/components/schemas/TestAgentsResponse'
        type: object
    DnsSecInstantTestRequest:
      allOf:
      - $ref: '#/components/schemas/DnsSecInstantTest'
      - $ref: '#/components/schemas/InstantTestRequest'
    DnsSecInstantTestResponse:
      allOf:
      - $ref: '#/components/schemas/DnsSecInstantTest'
      - properties:
          agents:
            $ref: '#/components/schemas/TestAgentsResponse'
        type: object
    HttpServerInstantTestRequest:
      allOf:
      - $ref: '#/components/schemas/HttpServerInstantTest'
      - $ref: '#/components/schemas/InstantTestRequest'
    HttpServerInstantTestResponse:
      allOf:
      - $ref: '#/components/schemas/HttpServerInstantTest'
      - properties:
          agents:
            $ref: '#/components/schemas/TestAgentsResponse'
        type: object
    PageLoadInstantTestRequest:
      allOf:
      - $ref: '#/components/schemas/PageLoadInstantTest'
      - $ref: '#/components/schemas/InstantTestRequest'
    PageLoadInstantTestResponse:
      allOf:
      - $ref: '#/components/schemas/PageLoadInstantTest'
      - properties:
          agents:
            $ref: '#/components/schemas/TestAgentsResponse'
        type: object
    WebTransactionInstantTestRequest:
      allOf:
      - $ref: '#/components/schemas/WebTransactionInstantTest'
      - $ref: '#/components/schemas/InstantTestRequest'
    WebTransactionInstantTestResponse:
      allOf:
      - $ref: '#/components/schemas/WebTransactionInstantTest'
      - properties:
          agents:
            $ref: '#/components/schemas/TestAgentsResponse'
        type: object
    ApiInstantTestRequest:
      allOf:
      - $ref: '#/components/schemas/ApiInstantTest'
      - $ref: '#/components/schemas/InstantTestRequest'
    ApiInstantTestResponse:
      allOf:
      - $ref: '#/components/schemas/ApiInstantTest'
      - properties:
          agents:
            $ref: '#/components/schemas/TestAgentsResponse'
        type: object
    FtpServerInstantTestRequest:
      allOf:
      - $ref: '#/components/schemas/FtpServerInstantTest'
      - $ref: '#/components/schemas/InstantTestRequest'
    FtpServerInstantTestResponse:
      allOf:
      - $ref: '#/components/schemas/FtpServerInstantTest'
      - properties:
          agents:
            $ref: '#/components/schemas/TestAgentsResponse'
        type: object
    SipServerInstantTestRequest:
      allOf:
      - $ref: '#/components/schemas/SipServerInstantTest'
      - $ref: '#/components/schemas/InstantTestRequest'
      - properties:
          targetSipCredentials:
            $ref: '#/components/schemas/TestSipCredentials'
        required:
        - targetSipCredentials
        type: object
    SipServerInstantTestResponse:
      allOf:
      - $ref: '#/components/schemas/SipServerInstantTest'
      - $ref: '#/components/schemas/TestSipCredentials'
      - properties:
          agents:
            $ref: '#/components/schemas/TestAgentsResponse'
        type: object
    VoiceInstantTestRequest:
      allOf:
      - $ref: '#/components/schemas/VoiceInstantTest'
      - $ref: '#/components/schemas/InstantTestRequest'
    VoiceInstantTestResponse:
      allOf:
      - $ref: '#/components/schemas/VoiceInstantTest'
      - properties:
          agents:
            $ref: '#/components/schemas/TestAgentsResponse'
        type: object
    ExpandInstantTestOptions:
      enum:
      - agent
      - label
      - shared-with-account
      example: agent
      type: string
    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
    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
    AgentToAgentInstantTest:
      allOf:
      - $ref: '#/components/schemas/InstantTest'
      - $ref: '#/components/schemas/AgentToAgentProperties'
    InstantTest:
      allOf:
      - $ref: '#/components/schemas/UnexpandedInstantTest'
      - properties:
          labels:
            $ref: '#/components/schemas/TestLabels'
          sharedWithAccounts:
            $ref: '#/components/schemas/TestSharedAccounts'
        type: object
    UnexpandedInstantTest:
      properties:
        createdBy:
          description: User that created the test.
          example: user@user.com
          readOnly: true
          type: string
        createdDate:
          description: UTC created date (ISO date-time format).
          example: 2022-07-17T22:00:54Z
          format: date-time
          readOnly: true
          type: string
        description:
          description: A description of the test.
          example: ThousandEyes Test
          type: string
        liveShare:
          description: Indicates if the test is shared with the account group.
          example: false
          readOnly: true
          type: boolean
        modifiedBy:
          description: User that modified the test.
          example: user@user.com
          readOnly: true
          type: string
        modifiedDate:
          description: UTC last modification date (ISO date-time format).
          example: 2022-07-17T22:00:54Z
          format: date-time
          readOnly: true
          type: string
        savedEvent:
          description: |
            Indicates if the test is a saved event.

            **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
          readOnly: true
          type: boolean
        testId:
          description: Each test is assigned an unique ID; this is used to access
            test information and results from other endpoints.
          example: "281474976710706"
          readOnly: true
          type: string
        testName:
          description: The name of the test. Test name must be unique.
          example: ThousandEyes Test
          type: string
        type:
          $ref: '#/components/schemas/TestType'
        _links:
          $ref: '#/components/schemas/TestLinks'
      type: object
    TestCreatedBy:
      description: User that created the test.
      example: user@user.com
      readOnly: true
      type: string
    TestCreatedDate:
      description: UTC created date (ISO date-time format).
      example: 2022-07-17T22:00:54Z
      format: date-time
      readOnly: true
      type: string
    TestType:
      description: "This is a read only value, as test type is implicit in the test\
        \ creation url."
      enum:
      - api
      - agent-to-agent
      - agent-to-server
      - bgp
      - http-server
      - page-load
      - web-transactions
      - ftp-server
      - dns-trace
      - dns-server
      - dnssec
      - sip-server
      - voice
      example: agent-to-server
      readOnly: true
      type: string
    TestLinks:
      description: A list of links that can be accessed to get more information
      properties:
        self:
          $ref: '#/components/schemas/TestSelfLink'
        testResults:
          description: Reference to the test results.
          example:
          - href: https://api.thousandeyes.com/v7/test-results/281474976710706/network
          - href: https://api.thousandeyes.com/v7/test-results/281474976710706/path-vis
          items:
            $ref: '#/components/schemas/Link'
          type: array
      readOnly: true
      type: object
    TestSelfLink:
      allOf:
      - $ref: '#/components/schemas/Link'
      - description: Reference to the test.
        example:
          href: "https://api.thousandeyes.com/v7/tests/{type}/281474976710706"
    TestResults:
      description: Reference to the test results.
      example:
      - href: https://api.thousandeyes.com/v7/test-results/281474976710706/network
      - href: https://api.thousandeyes.com/v7/test-results/281474976710706/path-vis
      items:
        $ref: '#/components/schemas/Link'
      type: array
    TestLabels:
      description: Labels to which the test is assigned. This field is not returned
        for Instant Tests.
      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
    TestSharedAccounts:
      items:
        $ref: '#/components/schemas/SharedWithAccount'
      readOnly: true
      type: array
    SharedWithAccount:
      properties:
        aid:
          description: Account group ID.
          example: "1234"
          type: string
        name:
          description: Account group name.
          example: Account name
          type: string
      type: object
    AgentToAgentProperties:
      properties:
        direction:
          $ref: '#/components/schemas/TestDirection'
        dscp:
          description: DSCP label.
          example: Best Effort (DSCP 0)
          readOnly: true
          type: string
        dscpId:
          $ref: '#/components/schemas/TestDscpId'
        mss:
          description: "Maximum segment size, in bytes."
          example: 100
          maximum: 1400
          minimum: 20
          type: integer
        numPathTraces:
          default: 3
          description: Number of path traces executed by the agent.
          example: 3
          maximum: 10
          minimum: 1
          type: integer
        pathTraceMode:
          $ref: '#/components/schemas/TestPathTraceMode'
        port:
          default: 49153
          description: Target port.
          example: 49153
          maximum: 65535
          minimum: 1
          type: integer
        protocol:
          $ref: '#/components/schemas/AgentToAgentTestProtocol'
        randomizedStartTime:
          default: false
          description: Indicates whether agents should randomize the start time in
            each test round.
          example: false
          type: boolean
        targetAgentId:
          description: '`agentId` of the target agent for the test.'
          example: "2954"
          type: string
        throughputMeasurements:
          default: false
          description: Enable or disable throughput measurements. Throughput measurements
            cannot be enabled when the source or target of the test is a cloud agent.
          example: false
          type: boolean
        throughputDuration:
          default: 10000
          description: The throughput duration.
          example: 10000
          maximum: 30000
          minimum: 5000
          type: integer
        throughputRate:
          description: "The throughput rate, only applicable for UDP protocol."
          example: 10
          maximum: 1000
          minimum: 8
          type: integer
        fixedPacketRate:
          description: Sets packets rate sent to measure the network in packets per
            second.
          example: 50
          maximum: 100
          minimum: 0
          type: integer
        type:
          example: agent-to-agent
          readOnly: true
          type: string
      required:
      - targetAgentId
      type: object
    TestDirection:
      default: to-target
      description: "Direction of the test, which affects how results are shown."
      enum:
      - to-target
      - from-target
      - bidirectional
      example: to-target
      type: string
    TestDscp:
      description: DSCP label.
      example: Best Effort (DSCP 0)
      readOnly: true
      type: string
    TestDscpId:
      default: "0"
      description: "DSCP ID [to see list for acceptable values](https://docs.thousandeyes.com/product-documentation/tests/dscp-options-in-network-tests)"
      enum:
      - "0"
      - "8"
      - "16"
      - "24"
      - "32"
      - "40"
      - "48"
      - "56"
      - "10"
      - "12"
      - "14"
      - "18"
      - "20"
      - "22"
      - "26"
      - "28"
      - "30"
      - "34"
      - "36"
      - "38"
      - "46"
      - "44"
      example: "0"
      type: string
    TestNumPathTraces:
      default: 3
      description: Number of path traces executed by the agent.
      example: 3
      maximum: 10
      minimum: 1
      type: integer
    TestPathTraceMode:
      default: classic
      description: Select `inSession` to perform the path trace within a TCP session.
      enum:
      - classic
      - in-session
      example: classic
      type: string
    TestPort:
      default: 49153
      description: Target port.
      example: 49153
      maximum: 65535
      minimum: 1
      type: integer
    AgentToAgentTestProtocol:
      default: tcp
      enum:
      - tcp
      - udp
      example: tcp
      type: string
    TestRandomizedStartTime:
      default: false
      description: Indicates whether agents should randomize the start time in each
        test round.
      example: false
      type: boolean
    TestFixedPacketRate:
      description: Sets packets rate sent to measure the network in packets per second.
      example: 50
      maximum: 100
      minimum: 0
      type: integer
    TestAgentsResponse:
      description: Contains list of agents.
      items:
        $ref: '#/components/schemas/AgentResponse'
      type: array
    AgentToServerInstantTest:
      allOf:
      - $ref: '#/components/schemas/InstantTest'
      - $ref: '#/components/schemas/AgentToServerProperties'
    AgentToServerProperties:
      properties:
        bandwidthMeasurements:
          description: "Set to `true` to enable bandwidth measurements, only applies\
            \ to Enterprise agents assigned to the test."
          example: true
          type: boolean
        continuousMode:
          description: "To enable continuous monitoring, set this parameter to `true`\
            \ to. \nWhen continuous monitoring is enabled, the following actions occur:\n\
            * `fixedPacketRate` is enforced\n* `bandwidthMeasurements` are disabled\n\
            * If the `protocol` is set to `tcp`, `probeMode` is set to `syn`.\n"
          example: false
          type: boolean
        fixedPacketRate:
          description: "If continuousMode is `false`, set the fixedPacketRate to a\
            \ value between 10-100. If `continuousMode` is `true`, set the `fixedPacketRate`\
            \ to `1`"
          example: 25
          maximum: 100
          minimum: 0
          type: integer
        mtuMeasurements:
          description: Set `true` to measure MTU sizes on network from agents to the
            target.
          example: false
          type: boolean
        numPathTraces:
          default: 3
          description: Number of path traces executed by the agent.
          example: 3
          maximum: 10
          minimum: 1
          type: integer
        pathTraceMode:
          $ref: '#/components/schemas/TestPathTraceMode'
        port:
          default: 49153
          description: Target port.
          example: 49153
          maximum: 65535
          minimum: 1
          type: integer
        probeMode:
          $ref: '#/components/schemas/TestProbeMode'
        protocol:
          $ref: '#/components/schemas/TestProtocol'
        randomizedStartTime:
          default: false
          description: Indicates whether agents should randomize the start time in
            each test round.
          example: false
          type: boolean
        server:
          description: Target name or IP address.
          example: www.thousandeyes.com
          type: string
        dscp:
          description: DSCP label.
          example: Best Effort (DSCP 0)
          readOnly: true
          type: string
        dscpId:
          $ref: '#/components/schemas/TestDscpId'
        ipv6Policy:
          $ref: '#/components/schemas/TestIpv6Policy'
        pingPayloadSize:
          description: "Payload size (not total packet size) for the end-to-end metric's\
            \ probes, ping payload size allows values from 0 to 1400 bytes. When set\
            \ to null, payload sizes are 0 bytes for ICMP-based tests and 1 byte for\
            \ TCP-based tests."
          maximum: 1400
          minimum: 0
          type: integer
        networkMeasurements:
          default: false
          description: View packet loss in 1-second intervals. This is only available
            for 1-minute interval tests. Set to `true` to enable network measurements.
          example: false
          type: boolean
        type:
          example: agent-to-server
          readOnly: true
          type: string
      required:
      - server
      type: object
    TestBandwidthMeasurements:
      description: "Set to `true` to enable bandwidth measurements, only applies to\
        \ Enterprise agents assigned to the test."
      example: true
      type: boolean
    TestMtuMeasurements:
      description: Set `true` to measure MTU sizes on network from agents to the target.
      example: false
      type: boolean
    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
    TestProtocol:
      default: tcp
      description: "Protocol used by dependent network tests (end-to-end, path trace,\
        \ PMTUD)."
      enum:
      - tcp
      - icmp
      - udp
      example: tcp
      type: string
    TestIpv6Policy:
      default: use-agent-policy
      description: IP version policy. Overrides the IPv6 policy configured at the
        agent level.
      enum:
      - force-ipv4
      - prefer-ipv6
      - force-ipv6
      - use-agent-policy
      example: use-agent-policy
      type: string
    DnsServerInstantTest:
      allOf:
      - $ref: '#/components/schemas/InstantTest'
      - $ref: '#/components/schemas/DnsServerProperties'
    DnsServerProperties:
      properties:
        bandwidthMeasurements:
          description: "Set to `true` to enable bandwidth measurements, only applies\
            \ to Enterprise agents assigned to the test."
          example: true
          type: boolean
        dnsServers:
          items:
            $ref: '#/components/schemas/TestDnsServer'
          type: array
        dnsTransportProtocol:
          $ref: '#/components/schemas/TestDnsTransportProtocol'
        domain:
          description: "The target record for the test, with the record type suffixed.\
            \ If no record type is specified, the test defaults to an ANY record."
          example: www.thousandeyes.com
          type: string
        mtuMeasurements:
          description: Set `true` to measure MTU sizes on network from agents to the
            target.
          example: false
          type: boolean
        networkMeasurements:
          default: true
          description: Enable or disable network measurements. Set to true to enable
            or false to disable network measurements.
          example: true
          type: boolean
        numPathTraces:
          default: 3
          description: Number of path traces executed by the agent.
          example: 3
          maximum: 10
          minimum: 1
          type: integer
        pathTraceMode:
          $ref: '#/components/schemas/TestPathTraceMode'
        probeMode:
          $ref: '#/components/schemas/TestProbeMode'
        protocol:
          $ref: '#/components/schemas/TestProtocol'
        randomizedStartTime:
          default: false
          description: Indicates whether agents should randomize the start time in
            each test round.
          example: false
          type: boolean
        recursiveQueries:
          description: Set true to run query with RD (recursion desired) flag enabled.
          example: true
          type: boolean
        ipv6Policy:
          $ref: '#/components/schemas/TestIpv6Policy'
        fixedPacketRate:
          description: Sets packets rate sent to measure the network in packets per
            second.
          example: 50
          maximum: 100
          minimum: 0
          type: integer
        dnsQueryClass:
          $ref: '#/components/schemas/DnsQueryClass'
        type:
          example: dns-server
          readOnly: true
          type: string
      required:
      - dnsServers
      - domain
      type: object
    TestDnsServer:
      properties:
        serverId:
          description: Unique identifier of the DNS server.
          example: "1447"
          type: string
        serverName:
          description: Fully qualified domain name (FQDN) of DNS server.
          example: dns-example.net
          type: string
      type: object
    TestDnsTransportProtocol:
      default: udp
      description: Transport protocol used for DNS requests.
      enum:
      - udp
      - tcp
      example: udp
      type: string
    TestDomain:
      description: "The target record for the test, with the record type suffixed.\
        \ If no record type is specified, the test defaults to an ANY record."
      example: www.thousandeyes.com
      type: string
    TestNetworkMeasurements:
      default: true
      description: Enable or disable network measurements. Set to true to enable or
        false to disable network measurements.
      example: true
      type: boolean
    DnsQueryClass:
      description: "Domain class used by this test. 'in' stands for Internet, while\
        \ 'ch' stands for Chaos."
      enum:
      - in
      - ch
      example: in
      type: string
    DnsServersRequest:
      properties:
        dnsServers:
          description: A list of DNS server FQDN.
          example:
          - dns-example.net
          - 8.8.8.8
          items:
            type: string
          readOnly: false
          type: array
          writeOnly: true
      type: object
    DnsTraceInstantTest:
      allOf:
      - $ref: '#/components/schemas/InstantTest'
      - $ref: '#/components/schemas/DnsTraceProperties'
    DnsTraceProperties:
      properties:
        dnsTransportProtocol:
          $ref: '#/components/schemas/TestDnsTransportProtocol'
        domain:
          description: "The target record for the test, with the record type suffixed.\
            \ If no record type is specified, the test defaults to an ANY record."
          example: www.thousandeyes.com
          type: string
        dnsQueryClass:
          $ref: '#/components/schemas/DnsQueryClass'
        randomizedStartTime:
          default: false
          description: Indicates whether agents should randomize the start time in
            each test round.
          example: false
          type: boolean
        type:
          example: dns-trace
          readOnly: true
          type: string
      required:
      - domain
      type: object
    DnsSecInstantTest:
      allOf:
      - $ref: '#/components/schemas/InstantTest'
      - $ref: '#/components/schemas/DnsSecProperties'
    DnsSecProperties:
      properties:
        domain:
          description: "The target record for the test, with the record type suffixed.\
            \ If no record type is specified, the test defaults to an ANY record."
          example: www.thousandeyes.com
          type: string
        dnsQueryClass:
          $ref: '#/components/schemas/DnsQueryClass'
        randomizedStartTime:
          default: false
          description: Indicates whether agents should randomize the start time in
            each test round.
          example: false
          type: boolean
        type:
          example: dnssec
          readOnly: true
          type: string
      required:
      - domain
      type: object
    HttpServerInstantTest:
      allOf:
      - $ref: '#/components/schemas/InstantTest'
      - $ref: '#/components/schemas/HttpServerProperties'
    HttpServerProperties:
      allOf:
      - $ref: '#/components/schemas/HttpServerBaseProperties'
      - properties:
          headers:
            $ref: '#/components/schemas/TestHeaders'
          downloadLimit:
            description: Specifies maximum number of bytes to download from the target
              object.
            example: 2048
            type: integer
          dnsOverride:
            description: IP address to use for DNS override.
            example: 8.8.8.8
            format: ipv4
            type: string
          randomizedStartTime:
            $ref: '#/components/schemas/TestRandomizedStartTime'
          postBody:
            description: "Enter the body for the HTTP POST request in this field.\
              \ No special escaping is necessary. If the post body is provided with\
              \ content, the `requestMethod` is automatically set to POST."
            example: "{ \"example\" : \"value\"}"
            type: string
          ipv6Policy:
            $ref: '#/components/schemas/TestIpv6Policy'
          type:
            $ref: '#/components/schemas/TestHttpType'
        required:
        - url
        type: object
    HttpServerBaseProperties:
      properties:
        authType:
          $ref: '#/components/schemas/TestAuthType'
        agentInterfaces:
          $ref: '#/components/schemas/AgentInterfaces'
        bandwidthMeasurements:
          description: "Set to `true` to enable bandwidth measurements, only applies\
            \ to Enterprise agents assigned to the test."
          example: true
          type: boolean
        clientCertificate:
          description: "String representation (containing newline characters) of client\
            \ certificate, the private key must be placed first, then the certificate."
          example: |
            -----BEGIN PRIVATE KEY-----
            MIICUTCCAfugAwIBAgIBADANBgkqhkiG9w0BAQQFADBXMQswCQYDVQQGEwJDTjEL
            -----END PRIVATE KEY-----
            -----BEGIN CERTIFICATE-----
            MIICUTCCAfugAwIBAgIBADANBgkqhkiG9w0BAQQFADBXMQswCQYDVQQGEwJDTjEL
            -----END CERTIFICATE-----
          type: string
        contentRegex:
          description: "Content regex, this field does not require escaping."
          example: (regex)+
          type: string
        customHeaders:
          $ref: '#/components/schemas/TestCustomHeaders'
        desiredStatusCode:
          default: default
          description: Specify the HTTP status code value that indicates a successful
            response. The default value accepts any 2xx or 3xx status code.
          example: "200"
          type: string
        downloadLimit:
          description: Specifies maximum number of bytes to download from the target
            object.
          example: 2048
          type: integer
        dnsOverride:
          description: IP address to use for DNS override.
          example: 8.8.8.8
          format: ipv4
          type: string
        httpTargetTime:
          description: "Target time for HTTP server completion, specified in milliseconds."
          example: 100
          maximum: 5000
          minimum: 100
          type: integer
        httpTimeLimit:
          default: 5
          description: HTTP time limit in seconds.
          example: 5
          maximum: 60
          minimum: 5
          type: integer
        httpVersion:
          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
        includeHeaders:
          default: true
          description: Set to `true` to capture response headers for objects loaded
            by the test.
          example: true
          type: boolean
        mtuMeasurements:
          description: Set `true` to measure MTU sizes on network from agents to the
            target.
          example: false
          type: boolean
        networkMeasurements:
          default: true
          description: Enable or disable network measurements. Set to true to enable
            or false to disable network measurements.
          example: true
          type: boolean
        numPathTraces:
          default: 3
          description: Number of path traces executed by the agent.
          example: 3
          maximum: 10
          minimum: 1
          type: integer
        oAuth:
          $ref: '#/components/schemas/OAuth'
        password:
          description: Password for Basic/NTLM authentication.
          example: password
          type: string
          writeOnly: true
        pathTraceMode:
          $ref: '#/components/schemas/TestPathTraceMode'
        probeMode:
          $ref: '#/components/schemas/TestProbeMode'
        protocol:
          $ref: '#/components/schemas/TestProtocol'
        sslVersion:
          description: Reflects the verbose SSL protocol version used by a test.
          example: Auto
          readOnly: true
          type: string
        sslVersionId:
          $ref: '#/components/schemas/TestSslVersionId'
        url:
          description: Target for the test.
          example: www.thousandeyes.com
          type: string
        useNtlm:
          description: "Set to true to use NTLM, false to use Basic Authentication.\
            \ Requires username and password to be set."
          example: false
          type: boolean
        userAgent:
          description: User-agent string to be provided during the test.
          example: curl
          type: string
        username:
          description: Username for Basic/NTLM authentication.
          example: username
          type: string
        verifyCertificate:
          default: false
          description: Ignore or acknowledge certificate errors. Set to false to ignore
            certificate errors.
          example: false
          type: boolean
        allowUnsafeLegacyRenegotiation:
          default: true
          description: Allows TLS renegotiation with servers not supporting RFC 5746.
            Default Set to true to allow unsafe legacy renegotiation.
          example: true
          type: boolean
        followRedirects:
          default: true
          description: "To disable following HTTP/301 or HTTP/302 redirect directives,\
            \ set this parameter to `false`."
          example: true
          type: boolean
        fixedPacketRate:
          description: Sets packets rate sent to measure the network in packets per
            second.
          example: 50
          maximum: 100
          minimum: 0
          type: integer
        overrideAgentProxy:
          default: false
          description: "Flag indicating if a proxy other than the default should be\
            \ used. To override the default proxy for agents, set to `true` and specify\
            \ a value for `overrideProxyId`."
          example: false
          type: boolean
        overrideProxyId:
          description: ID of the proxy to be used if the default proxy is overridden.
          example: "281474976710706"
          type: string
        collectProxyNetworkData:
          default: false
          description: Indicates whether network data to the proxy should be collected.
          example: false
          type: boolean
      type: object
    TestAuthType:
      default: none
      description: HTTP authentication type.
      enum:
      - none
      - basic
      - ntlm
      - kerberos
      - oauth
      example: none
      type: string
    AgentInterfaces:
      properties:
        ipAddress:
          description: IP address of the agent interface.
          example: 192.1.1.0
          type: string
        agentId:
          description: The agent ID of the enterprise agent for the test.
          example: "2954"
          type: string
      type: object
    TestClientCertificate:
      description: "String representation (containing newline characters) of client\
        \ certificate, the private key must be placed first, then the certificate."
      example: |
        -----BEGIN PRIVATE KEY-----
        MIICUTCCAfugAwIBAgIBADANBgkqhkiG9w0BAQQFADBXMQswCQYDVQQGEwJDTjEL
        -----END PRIVATE KEY-----
        -----BEGIN CERTIFICATE-----
        MIICUTCCAfugAwIBAgIBADANBgkqhkiG9w0BAQQFADBXMQswCQYDVQQGEwJDTjEL
        -----END CERTIFICATE-----
      type: string
    TestCustomHeaders:
      example:
        root:
          header1: value1
        domains:
          domain1.com:
            header2: value2
        all:
          header3: value3
      properties:
        root:
          additionalProperties:
            type: string
          description: Use these HTTP headers for root server request.
          type: object
        domains:
          additionalProperties:
            additionalProperties:
              type: string
            type: object
          description: Use these HTTP headers for the specified domains.
          type: object
        all:
          additionalProperties:
            type: string
          description: Use these HTTP headers for all domains.
          type: object
      type: object
    TestDesiredStatusCode:
      default: default
      description: Specify the HTTP status code value that indicates a successful
        response. The default value accepts any 2xx or 3xx status code.
      example: "200"
      type: string
    TestHttpTargetTime:
      description: "Target time for HTTP server completion, specified in milliseconds."
      example: 100
      maximum: 5000
      minimum: 100
      type: integer
    TestHttpTimeLimit:
      default: 5
      description: HTTP time limit in seconds.
      example: 5
      maximum: 60
      minimum: 5
      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
    TestIncludeHeaders:
      default: true
      description: Set to `true` to capture response headers for objects loaded by
        the test.
      example: true
      type: boolean
    OAuth:
      description: Use this only if you want to use OAuth as the authentication mechanism.
      example:
        configId: "123321123"
        testUrl: https://api.thousandeyes.com/v7/status
        requestMethod: get
        postBody: "client_id: ************"
        headers: "Authorization: Basic ************"
        authType: none
        username: user123
        password: '*******'
      properties:
        configId:
          description: The ID of the OAuth configuration.
          type: string
        testUrl:
          description: Target for the test.
          example: www.thousandeyes.com
          type: string
        requestMethod:
          $ref: '#/components/schemas/RequestMethod'
        postBody:
          description: "Enter the OAuth body for the HTTP POST request in this field\
            \ when using OAuth as the authentication mechanism. No special escaping\
            \ is required. If content is provided in the post body, the `requestMethod`\
            \ is automatically set to POST."
          type: string
        headers:
          description: Request headers used for OAuth.
          type: string
        authType:
          $ref: '#/components/schemas/TestAuthType'
        username:
          description: OAuth username
          type: string
        password:
          description: OAuth password
          type: string
      type: object
    TestUrl:
      description: Target for the test.
      example: www.thousandeyes.com
      type: string
    RequestMethod:
      description: HTTP request method.
      enum:
      - get
      - post
      - put
      - delete
      - patch
      - options
      - trace
      example: get
      type: string
    TestPassword:
      description: Password for Basic/NTLM authentication.
      example: password
      type: string
      writeOnly: true
    TestSslVersion:
      description: Reflects the verbose SSL protocol version used by a test.
      example: Auto
      readOnly: true
      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
    TestUseNtlm:
      description: "Set to true to use NTLM, false to use Basic Authentication. Requires\
        \ username and password to be set."
      example: false
      type: boolean
    TestUserAgent:
      description: User-agent string to be provided during the test.
      example: curl
      type: string
    TestUsername:
      description: Username for Basic/NTLM authentication.
      example: username
      type: string
    TestVerifyCertificate:
      default: false
      description: Ignore or acknowledge certificate errors. Set to false to ignore
        certificate errors.
      example: false
      type: boolean
    TestAllowUnsafeLegacyRenegotiation:
      default: true
      description: Allows TLS renegotiation with servers not supporting RFC 5746.
        Default Set to true to allow unsafe legacy renegotiation.
      example: true
      type: boolean
    TestFollowRedirects:
      default: true
      description: "To disable following HTTP/301 or HTTP/302 redirect directives,\
        \ set this parameter to `false`."
      example: true
      type: boolean
    TestOverrideAgentProxy:
      default: false
      description: "Flag indicating if a proxy other than the default should be used.\
        \ To override the default proxy for agents, set to `true` and specify a value\
        \ for `overrideProxyId`."
      example: false
      type: boolean
    TestOverrideProxyId:
      description: ID of the proxy to be used if the default proxy is overridden.
      example: "281474976710706"
      type: string
    TestCollectProxyNetworkData:
      default: false
      description: Indicates whether network data to the proxy should be collected.
      example: false
      type: boolean
    TestHeaders:
      description: HTTP request headers used.
      example:
      - "header1: value1"
      - "header2: value2"
      items:
        type: string
      type: array
    TestHttpType:
      example: http-server
      readOnly: true
      type: string
    PageLoadInstantTest:
      allOf:
      - $ref: '#/components/schemas/InstantTest'
      - $ref: '#/components/schemas/PageLoadProperties'
    PageLoadProperties:
      allOf:
      - $ref: '#/components/schemas/HttpServerBaseProperties'
      - properties:
          emulatedDeviceId:
            description: "ID of the emulated device, if one was given when the test\
              \ was created."
            example: "2"
            type: string
          pageLoadTargetTime:
            description: "Target time for page load completion, specified in seconds\
              \ and cannot exceed the `pageLoadTimeLimit`."
            example: 10
            maximum: 30
            minimum: 1
            type: integer
          pageLoadTimeLimit:
            $ref: '#/components/schemas/TestPageLoadTimeLimit'
          blockDomains:
            $ref: '#/components/schemas/TestBlockDomains'
          disableScreenshot:
            $ref: '#/components/schemas/TestDisableScreenshot'
          allowMicAndCamera:
            $ref: '#/components/schemas/TestAllowMicAndCamera'
          allowGeolocation:
            $ref: '#/components/schemas/TestAllowGeolocation'
          browserLanguage:
            $ref: '#/components/schemas/TestBrowserLanguage'
          pageLoadingStrategy:
            $ref: '#/components/schemas/TestPageLoadingStrategy'
          randomizedStartTime:
            $ref: '#/components/schemas/TestRandomizedStartTime'
          type:
            $ref: '#/components/schemas/TestPageLoadType'
        required:
        - url
        type: object
    TestPageLoadTimeLimit:
      default: 10
      description: Page load time limit. Must be larger than the `httpTimeLimit`.
      example: 10
      maximum: 60
      minimum: 5
      type: integer
    TestBlockDomains:
      description: Domains or full object URLs to be excluded from metrics and waterfall
        data for transaction tests.
      example: domain.com/
      type: string
    TestDisableScreenshot:
      default: false
      description: Enables or disables screenshots on error. Set true to not capture
      example: false
      type: boolean
    TestAllowMicAndCamera:
      default: false
      description: Set true allow the use of a fake mic and camera in the browser.
      example: false
      type: boolean
    TestAllowGeolocation:
      default: false
      description: Set true to use the agent’s geolocation by the web page.
      example: false
      type: boolean
    TestBrowserLanguage:
      description: Set one of the available browser language that you want to use
        to configure the browser.
      example: en-US
      type: string
    TestPageLoadingStrategy:
      default: normal
      description: "* `normal`: The test waits until the entire page is fully loaded,\
        \ including the downloading and parsing of HTML content as well as all associated\
        \ resources, before advancing to the next action in the transaction test script.\
        \ \n* `eager`: The test waits for the DOMContentLoaded event, indicating that\
        \ HTML content is downloaded and parsed, and the document reaches the \"interactive\"\
        \ readiness state, before proceeding to the next action in the test script.\n\
        * `none`: The test only waits for the download of HTML content. Once the HTML\
        \ is downloaded, the test continues to the next action in the transaction\
        \ test script without waiting for additional resources.\n"
      enum:
      - normal
      - eager
      - none
      example: normal
      type: string
    TestPageLoadType:
      example: page-load
      readOnly: true
      type: string
    WebTransactionInstantTest:
      allOf:
      - $ref: '#/components/schemas/InstantTest'
      - $ref: '#/components/schemas/WebTransactionProperties'
      - properties:
          credentials:
            $ref: '#/components/schemas/TestCredentials'
        type: object
    WebTransactionProperties:
      allOf:
      - $ref: '#/components/schemas/HttpServerBaseProperties'
      - properties:
          emulatedDeviceId:
            description: "ID of the emulated device, if specified when the test was\
              \ created."
            example: "2"
            type: string
          targetTime:
            description: Target completion time. The default is 50% of the specified
              time limit in seconds. (Set to 0 to use the default behavior).
            example: 1
            maximum: 60
            minimum: 0
            type: integer
          timeLimit:
            $ref: '#/components/schemas/TestWebTransactionTimeLimit'
          transactionScript:
            description: JavaScript of a web transaction test. Quotes must be escaped
              (precede " characters with \ ).
            example: "if (true) { return true; }"
            type: string
          blockDomains:
            $ref: '#/components/schemas/TestBlockDomains'
          disableScreenshot:
            $ref: '#/components/schemas/TestDisableScreenshot'
          allowMicAndCamera:
            $ref: '#/components/schemas/TestAllowMicAndCamera'
          allowGeolocation:
            $ref: '#/components/schemas/TestAllowGeolocation'
          browserLanguage:
            $ref: '#/components/schemas/TestBrowserLanguage'
          pageLoadingStrategy:
            $ref: '#/components/schemas/TestPageLoadingStrategy'
          randomizedStartTime:
            $ref: '#/components/schemas/TestRandomizedStartTime'
          type:
            $ref: '#/components/schemas/TestWebTransactionType'
        required:
        - transactionScript
        - url
        type: object
    TestWebTransactionTimeLimit:
      default: 30
      description: Time limit for transaction in seconds.
      example: 30
      maximum: 180
      minimum: 5
      type: integer
    TestWebTransactionType:
      example: web-transactions
      readOnly: true
      type: string
    TestCredentials:
      description: Contains a list of credential IDs (get `credentialId` from `/credentials`
        endpoint).
      example:
      - "3247"
      - "1051"
      items:
        type: string
      type: array
    ApiInstantTest:
      allOf:
      - $ref: '#/components/schemas/InstantTest'
      - $ref: '#/components/schemas/ApiProperties'
      - properties:
          credentials:
            $ref: '#/components/schemas/TestCredentials'
        type: object
    ApiProperties:
      properties:
        collectProxyNetworkData:
          default: false
          description: Indicates whether network data to the proxy should be collected.
          example: false
          type: boolean
        followRedirects:
          default: true
          description: "To disable following HTTP/301 or HTTP/302 redirect directives,\
            \ set this parameter to `false`."
          example: true
          type: boolean
        mtuMeasurements:
          description: Set `true` to measure MTU sizes on network from agents to the
            target.
          example: false
          type: boolean
        networkMeasurements:
          default: true
          description: Enable or disable network measurements. Set to true to enable
            or false to disable network measurements.
          example: true
          type: boolean
        numPathTraces:
          default: 3
          description: Number of path traces executed by the agent.
          example: 3
          maximum: 10
          minimum: 1
          type: integer
        overrideAgentProxy:
          default: false
          description: "Flag indicating if a proxy other than the default should be\
            \ used. To override the default proxy for agents, set to `true` and specify\
            \ a value for `overrideProxyId`."
          example: false
          type: boolean
        overrideProxyId:
          description: ID of the proxy to be used if the default proxy is overridden.
          example: "281474976710706"
          type: string
        pathTraceMode:
          $ref: '#/components/schemas/TestPathTraceMode'
        predefinedVariables:
          items:
            $ref: '#/components/schemas/ApiPredefinedVariable'
          type: array
        probeMode:
          $ref: '#/components/schemas/TestProbeMode'
        protocol:
          $ref: '#/components/schemas/TestProtocol'
        randomizedStartTime:
          default: false
          description: Indicates whether agents should randomize the start time in
            each test round.
          example: false
          type: boolean
        requests:
          items:
            $ref: '#/components/schemas/ApiRequest'
          type: array
        sslVersionId:
          $ref: '#/components/schemas/TestSslVersionId'
        targetTime:
          description: "Target time for completion metric, defaults to 50% of time\
            \ limit specified in seconds. (0 means default behavior)"
          example: 1
          maximum: 60
          minimum: 0
          type: integer
        timeLimit:
          default: 30
          description: Time limit for transaction in seconds. Exceeding this limit
            will result in a Timeout error.
          maximum: 180
          minimum: 5
          type: integer
        url:
          description: Target for the test.
          example: www.thousandeyes.com
          type: string
        type:
          example: api
          readOnly: true
          type: string
      required:
      - requests
      - url
      type: object
    ApiPredefinedVariable:
      properties:
        name:
          description: Variable name. Must be unique.
          example: myUsername
          type: string
        value:
          description: "Variable value, will be treated as string."
          example: ThousandEyesAccountUserName
          type: string
      type: object
    ApiRequest:
      properties:
        assertions:
          description: List of assertion objects.
          items:
            $ref: '#/components/schemas/ApiRequestAssertion'
          type: array
        authType:
          $ref: '#/components/schemas/ApiRequestAuthType'
        bearerToken:
          description: The bearer token if `authType = bearer-token`.
          example: abcd-1234-...
          type: string
          writeOnly: true
        body:
          description: POST/PUT request body. Must be in JSON format.
          type: string
        clientAuthentication:
          $ref: '#/components/schemas/ApiClientAuthentication'
        clientId:
          description: The application ID used when `authType` is set to "oauth2".
          example: client-id
          type: string
          writeOnly: true
        clientSecret:
          description: The private client secret used when `authType` is set to "oauth2".
          example: client-secret
          type: string
          writeOnly: true
        collectApiResponse:
          default: true
          description: Set to `true` if API response body should be collected and
            saved. Set to `false` if API response body should not be saved.
          example: true
          type: boolean
        headers:
          description: Array of API Request Header objects.
          items:
            $ref: '#/components/schemas/ApiRequestHeader'
          type: array
        method:
          $ref: '#/components/schemas/ApiRequestMethod'
        name:
          description: "API step name, must be unique."
          example: Step 1
          type: string
        password:
          description: The password if `authType = basic`.
          example: basic_pw123
          type: string
          writeOnly: true
        scope:
          description: Application-specific scope values for the access token when
            `authType` is "oauth2".
          example: "read, write, deploy"
          type: string
        tokenUrl:
          description: The endpoint used to request the access token when `authType`
            is "oauth2".
          example: https://id.cisco.com/oauth2/default/v1/token
          type: string
        url:
          description: "Request url. Supports variables in the format `{{variableName}}`."
          example: https://api.thousandeyes.com/v7/status
          type: string
        username:
          description: The username if `authType = basic`.
          example: ThousandEyesUserName
          type: string
        variables:
          description: Array of API post request variable objects.
          items:
            $ref: '#/components/schemas/ApiRequestVariable'
          type: array
        waitTimeMs:
          description: "Post request delay before executing the next API requests,\
            \ in milliseconds."
          example: 0
          type: integer
      required:
      - name
      - url
      type: object
    ApiRequestAssertion:
      properties:
        name:
          $ref: '#/components/schemas/ApiRequestAssertionName'
        operator:
          $ref: '#/components/schemas/ApiRequestAssertionOperator'
        value:
          description: "The value of the assertion. If name = `status-code`, the status\
            \ code to assert. If name = `response-body`, the lookup value to assert."
          example: "200"
          type: string
      type: object
    ApiRequestAssertionName:
      description: Set to `status-code` to assert the response status code. Set to
        `response-body` to assert data is present in the response body. Use `ApiRequestAssertion`
        to set the value for the assertion.
      enum:
      - status-code
      - response-body
      example: status-code
      type: string
    ApiRequestAssertionOperator:
      description: "If `name = status-code``, accepted values are [is, is-not]. If\
        \ `name = response-body``, accepted values are [includes, not-includes]`."
      enum:
      - is
      - is-not
      - includes
      - not-includes
      example: is
      type: string
    ApiRequestAuthType:
      default: none
      description: Will override the Authorization request header.
      enum:
      - none
      - basic
      - bearer-token
      - oauth2
      example: none
      type: string
    ApiClientAuthentication:
      description: The OAuth2 client authentication location type.
      enum:
      - basic-auth-header
      - in-body
      example: basic-auth-header
      type: string
    ApiRequestHeader:
      properties:
        key:
          description: Request header key.
          example: x-custom-header
          type: string
        value:
          description: "Request header value. Supports variables `{{variableName}}`."
          example: keep-alive
          type: string
      type: object
    ApiRequestMethod:
      description: HTTP request method.
      enum:
      - get
      - post
      - put
      - delete
      - patch
      example: get
      type: string
    ApiRequestVariable:
      properties:
        name:
          description: Variable name
          example: myTestName
          type: string
        value:
          description: The JSON path of data within the Response Body to assign to
            this variable.
          example: "tests[0].name"
          type: string
      type: object
    FtpServerInstantTest:
      allOf:
      - $ref: '#/components/schemas/InstantTest'
      - $ref: '#/components/schemas/FtpServerProperties'
    FtpServerProperties:
      properties:
        bandwidthMeasurements:
          description: "Set to `true` to enable bandwidth measurements, only applies\
            \ to Enterprise agents assigned to the test."
          example: true
          type: boolean
        downloadLimit:
          description: Specify maximum number of bytes to download from the target
            object.
          example: 1048576
          type: integer
        ftpTargetTime:
          description: Target time for operation completion; specified in milliseconds.
          maximum: 6000
          minimum: 1000
          type: integer
        ftpTimeLimit:
          default: 10
          description: Set the time limit for the test in seconds.
          example: 10
          maximum: 60
          minimum: 10
          type: integer
        mtuMeasurements:
          description: Set `true` to measure MTU sizes on network from agents to the
            target.
          example: false
          type: boolean
        networkMeasurements:
          default: true
          description: Enable or disable network measurements. Set to true to enable
            or false to disable network measurements.
          example: true
          type: boolean
        numPathTraces:
          default: 3
          description: Number of path traces executed by the agent.
          example: 3
          maximum: 10
          minimum: 1
          type: integer
        password:
          description: Password for Basic/NTLM authentication.
          example: password
          type: string
          writeOnly: true
        pathTraceMode:
          $ref: '#/components/schemas/TestPathTraceMode'
        probeMode:
          $ref: '#/components/schemas/TestProbeMode'
        protocol:
          $ref: '#/components/schemas/TestProtocol'
        randomizedStartTime:
          default: false
          description: Indicates whether agents should randomize the start time in
            each test round.
          example: false
          type: boolean
        requestType:
          $ref: '#/components/schemas/FtpServerRequestType'
        url:
          description: Target for the test.
          example: www.thousandeyes.com
          type: string
        useActiveFtp:
          default: false
          description: Explicitly set the flag to use active FTP.
          example: false
          type: boolean
        useExplicitFtps:
          description: "Use explicit FTPS (ftp over SSL). By default, tests will autodetect\
            \ when it is appropriate to use FTPS."
          example: false
          type: boolean
        username:
          description: Username for Basic/NTLM authentication.
          example: username
          type: string
        fixedPacketRate:
          description: Sets packets rate sent to measure the network in packets per
            second.
          example: 50
          maximum: 100
          minimum: 0
          type: integer
        ipv6Policy:
          $ref: '#/components/schemas/TestIpv6Policy'
        type:
          example: ftp-server
          readOnly: true
          type: string
      required:
      - password
      - requestType
      - url
      - username
      type: object
    FtpServerRequestType:
      description: Set the type of activity for the test.
      enum:
      - download
      - upload
      - list
      example: download
      type: string
    SipServerInstantTest:
      allOf:
      - $ref: '#/components/schemas/InstantTest'
      - $ref: '#/components/schemas/SipServerProperties'
    SipServerProperties:
      properties:
        mtuMeasurements:
          description: Set `true` to measure MTU sizes on network from agents to the
            target.
          example: false
          type: boolean
        networkMeasurements:
          default: true
          description: Enable or disable network measurements. Set to true to enable
            or false to disable network measurements.
          example: true
          type: boolean
        numPathTraces:
          default: 3
          description: Number of path traces executed by the agent.
          example: 3
          maximum: 10
          minimum: 1
          type: integer
        optionsRegex:
          description: "Options regex, this field does not require escaping."
          example: "[\"a-z\"]"
          type: string
        pathTraceMode:
          $ref: '#/components/schemas/TestPathTraceMode'
        probeMode:
          $ref: '#/components/schemas/TestProbeMode'
        randomizedStartTime:
          default: false
          description: Indicates whether agents should randomize the start time in
            each test round.
          example: false
          type: boolean
        registerEnabled:
          default: false
          description: Set to true to perform SIP registration on the test target
            with the SIP REGISTER command.
          example: false
          type: boolean
        sipTargetTime:
          description: Target time for test completion in milliseconds.
          example: 1000
          maximum: 5000
          minimum: 100
          type: integer
        sipTimeLimit:
          default: 5
          description: Time limit in milliseconds.
          example: 5
          maximum: 10
          minimum: 5
          type: integer
        fixedPacketRate:
          description: Sets packets rate sent to measure the network in packets per
            second.
          example: 50
          maximum: 100
          minimum: 0
          type: integer
        ipv6Policy:
          $ref: '#/components/schemas/TestIpv6Policy'
        type:
          example: sip-server
          readOnly: true
          type: string
      required:
      - port
      - targetSipCredentials
      type: object
    TestSipCredentials:
      properties:
        authUser:
          description: Username for authentication with SIP server.
          example: username
          type: string
        password:
          description: Password for Basic/NTLM authentication.
          example: password
          type: string
          writeOnly: true
        port:
          default: 49153
          description: Target port.
          example: 49153
          maximum: 65535
          minimum: 1
          type: integer
        protocol:
          $ref: '#/components/schemas/SipTestProtocol'
        sipRegistrar:
          description: "SIP server to be tested, specified by domain name or IP address."
          example: voice.thousandeyes.com
          type: string
        user:
          description: "Username for SIP registration, should be unique within a ThousandEyes\
            \ account group."
          example: username
          type: string
      required:
      - port
      type: object
    TestSipAuthUser:
      description: Username for authentication with SIP server.
      example: username
      type: string
    SipTestProtocol:
      default: tcp
      description: Transport layer for SIP communication.
      enum:
      - tcp
      - tls
      - udp
      example: tcp
      type: string
    TestSipRegistrar:
      description: "SIP server to be tested, specified by domain name or IP address."
      example: voice.thousandeyes.com
      type: string
    TestSipUser:
      description: "Username for SIP registration, should be unique within a ThousandEyes\
        \ account group."
      example: username
      type: string
    VoiceInstantTest:
      allOf:
      - $ref: '#/components/schemas/InstantTest'
      - $ref: '#/components/schemas/VoiceProperties'
    VoiceProperties:
      properties:
        codec:
          description: Codec label
          example: G.711 @ 64 Kbps
          readOnly: true
          type: string
        codecId:
          description: "Coded ID, [see the list of acceptable values](https://docs.thousandeyes.com/product-documentation/internet-and-wan-monitoring/tests/working-with-test-settings#rtp-stream-advanced-settings-tab)"
          example: "0"
          type: string
        dscp:
          description: DSCP label.
          example: Best Effort (DSCP 0)
          readOnly: true
          type: string
        dscpId:
          $ref: '#/components/schemas/TestDscpId'
        duration:
          default: 5
          description: Duration of the test in seconds.
          example: 5
          maximum: 30
          minimum: 5
          type: integer
        jitterBuffer:
          default: 40
          description: De-jitter buffer size in seconds.
          example: 40
          maximum: 150
          minimum: 0
          type: integer
        numPathTraces:
          default: 3
          description: Number of path traces executed by the agent.
          example: 3
          maximum: 10
          minimum: 1
          type: integer
        port:
          description: Port number for the chosen protocol.
          example: 1024
          maximum: 65535
          minimum: 1024
          type: integer
        randomizedStartTime:
          default: false
          description: Indicates whether agents should randomize the start time in
            each test round.
          example: false
          type: boolean
        targetAgentId:
          description: Agent ID of the target agent for the test.
          example: "281474976710706"
          type: string
        type:
          example: voice
          readOnly: true
          type: string
      required:
      - targetAgentId
      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
    AgentResponse:
      allOf:
      - properties:
          agentType:
            $ref: '#/components/schemas/CloudEnterpriseAgentType'
        required:
        - agentType
      - $ref: '#/components/schemas/SimpleAgent'
    CloudEnterpriseAgentType:
      description: Type of the agent.
      enum:
      - cloud
      - enterprise-cluster
      - enterprise
      example: enterprise-cluster
      readOnly: true
      type: string
    SimpleAgent:
      allOf:
      - $ref: '#/components/schemas/AgentBase'
      - properties:
          agentId:
            description: Unique ID of the agent.
            example: "281474976710706"
            readOnly: true
            type: string
          agentName:
            description: Name of the agent.
            example: thousandeyes-stg-va-254
            type: string
          location:
            description: Location of the agent.
            example: San Francisco Bay Area
            readOnly: true
            type: string
          countryId:
            description: 2-digit ISO country code
            example: US
            readOnly: true
            type: string
          enabled:
            description: Flag indicating if the agent is enabled.
            example: true
            type: boolean
          prefix:
            description: Prefix containing agents public IP address.
            example: 99.128.0.0/11
            readOnly: true
            type: string
          verifySslCertificates:
            description: Flag indicating if has normal SSL operations or  if instead
              it's set to ignore SSL errors on browserbot-based tests.
            example: true
            readOnly: true
            type: boolean
        type: object
      type: object
    AgentBase:
      properties:
        ipAddresses:
          description: Array of private IP addresses.
          example:
          - 99.139.65.220
          - 9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce
          items:
            type: string
          readOnly: true
          type: array
        publicIpAddresses:
          description: Array of public IP addresses.
          example:
          - 192.168.1.78
          - f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c
          items:
            type: string
          readOnly: true
          type: array
        network:
          description: Network (including ASN) of agent’s public IP.
          example: "AT&T Services, Inc. (AS 7018)"
          readOnly: true
          type: string
      type: object
  securitySchemes:
    BearerAuth:
      description: Bearer authentication token
      scheme: bearer
      type: http
