openapi: 3.2.0 info: version: 7.0.100 title: Agent to Agent Instant Tests API 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. ' x-provenance: method: harvested authored_by: Cisco ThousandEyes harvested_by: API Evangelist harvested_on: '2026-08-19' first_party: true provider_published: true source_host: pubhub.devnetcloud.com note: 27 OpenAPI 3.0 documents (26 per-area plus a unified 326-operation document) served anonymously from Cisco's DevNet CDN. api.thousandeyes.com itself 401s every path, so the contract is public while the API host is gated. x-evidence: - type: source url: https://pubhub.devnetcloud.com/media/000-v7-apis/docs/reference/ - type: source url: https://developer.cisco.com/docs/thousandeyes/ servers: - description: ThousandEyes API production URL url: https://api.thousandeyes.com/v7 security: - BearerAuth: [] tags: - name: Agent to Agent Instant Tests paths: /tests/agent-to-agent/instant: post: tags: - Agent to Agent Instant Tests summary: Create agent-to-agent instant test operationId: createAgentToAgentInstantTest description: Creates and runs a new agent-to-agent instant test. parameters: - $ref: '#/components/parameters/AccountGroupId' - $ref: '#/components/parameters/ExpandInstantTest' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AgentToAgentInstantTestRequest' responses: '201': description: Created headers: Location: $ref: '#/components/headers/Location' content: application/hal+json: schema: $ref: '#/components/schemas/AgentToAgentInstantTestResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' '502': $ref: '#/components/responses/502' default: $ref: '#/components/responses/GeneralError' components: schemas: ValidationError: type: object allOf: - $ref: '#/components/schemas/Error' - type: object properties: errors: type: - array - 'null' description: (Optional) When multiple errors occur, the details for each error are listed. items: $ref: '#/components/schemas/ValidationErrorItem' TestNumPathTraces: type: integer minimum: 1 maximum: 10 description: Number of path traces executed by the agent. default: 3 example: 3 Coordinates: type: object description: Geographic coordinates for agent location. properties: latitude: type: number format: double description: The latitude of the agent location in decimal degrees example: 37.77493 readOnly: true longitude: type: number format: double description: The longitude of the agent location in decimal degrees example: -122.41942 readOnly: true TestTag: type: object readOnly: true properties: id: type: string description: Unique tag ID. example: 5aeab5d5-0d34-4d44-a7ac-fb440185295c format: uuid key: type: string description: Tag key. For example, "Location" or "Department". example: Location value: type: string description: Tag value. For example, "San Francisco" or "Engineering". example: San Francisco AgentToAgentTestProtocol: type: string enum: - tcp - udp default: tcp example: tcp TestAgent: type: object properties: agentId: type: string description: Identifier for the agent (get `agentId` from `/agents` endpoint). sourceIpAddress: type: string description: IP address from the agent's `ipAddresses` field (get `ipAddresses` from `/agents` endpoint). Used for interface selection. example: agentId: '125' sourceIpAddress: 1.1.1.1 TestCreatedDate: type: string format: date-time description: UTC created date (ISO date-time format). example: '2022-07-17T22:00:54Z' readOnly: true AgentToAgentInstantTest: allOf: - $ref: '#/components/schemas/InstantTest' - $ref: '#/components/schemas/AgentToAgentProperties' TestCreatedBy: type: string description: User that created the test. example: user@user.com readOnly: true ValidationErrorItem: type: object properties: code: type: string description: (Optional) A unique error type/code that can be referenced in the documentation for further details. field: type: string description: Identifies the field that triggered this particular error. message: type: string description: A short, human-readable summary of the error. TestPort: type: integer minimum: 1 maximum: 65535 description: Target port. default: 49153 example: 49153 AgentResponse: allOf: - required: - agentType properties: agentType: $ref: '#/components/schemas/CloudEnterpriseAgentType' - $ref: '#/components/schemas/SimpleAgent' TestLinks: type: object description: A list of links that can be accessed to get more information properties: self: $ref: '#/components/schemas/TestSelfLink' testResults: $ref: '#/components/schemas/TestResults' readOnly: true ExpandInstantTestOptions: type: string enum: - agent - label - tag - shared-with-account example: agent TestLabels: type: array description: Labels to which the test is assigned. This field is not returned for Instant Tests. readOnly: true items: $ref: '#/components/schemas/TestLabel' TestSharedAccounts: type: array readOnly: true items: $ref: '#/components/schemas/SharedWithAccount' SimpleAgent: type: object allOf: - $ref: '#/components/schemas/AgentBase' - type: object properties: agentId: type: string description: Unique ID of the agent. example: '281474976710706' readOnly: true agentName: type: string description: Name of the agent. example: thousandeyes-stg-va-254 location: type: string description: Location of the agent. example: San Francisco Bay Area readOnly: true countryId: type: string description: 2-digit ISO country code example: US readOnly: true coordinates: $ref: '#/components/schemas/Coordinates' networkProviderInfo: allOf: - $ref: '#/components/schemas/NetworkProviderInfo' readOnly: true example: asn: 7018 name: AT&T Services, Inc. type: isp enabled: type: boolean description: Flag indicating if the agent is enabled. example: true verifySslCertificates: type: boolean description: Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests. example: true readOnly: true prefix: type: string description: Prefix containing agents public IP address. example: 99.128.0.0/11 readOnly: true TestFixedPacketRate: type: integer minimum: 0 maximum: 100 description: Sets packets rate sent to measure the network in packets per second. example: 50 UnexpandedInstantTest: type: object properties: createdBy: $ref: '#/components/schemas/TestCreatedBy' createdDate: $ref: '#/components/schemas/TestCreatedDate' description: type: string description: A description of the test. example: ThousandEyes Test liveShare: type: boolean description: Indicates if the test is shared with the account group. example: false readOnly: true modifiedBy: type: string description: User that modified the test. example: user@user.com readOnly: true modifiedDate: type: string format: date-time description: UTC last modification date (ISO date-time format). readOnly: true example: '2022-07-17T22:00:54Z' savedEvent: type: boolean description: 'Indicates if the test is a saved event. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. ' readOnly: true testId: type: string description: Each test is assigned an unique ID; this is used to access test information and results from other endpoints. readOnly: true example: '281474976710706' testName: type: string description: The name of the test. Test name must be unique. example: ThousandEyes Test type: $ref: '#/components/schemas/TestType' _links: $ref: '#/components/schemas/TestLinks' InstantTestRequest: type: object properties: labels: type: array description: A list of test label identifiers (get `labelId` from `/labels` endpoint). writeOnly: true readOnly: false items: type: string example: - '9842' - '1283' tags: type: array description: A list of test tag identifiers (get `id` from `/tags` endpoint). writeOnly: true readOnly: false items: type: string example: c6b78e57-81a2-4c5f-a11a-d96c3c664d55 sharedWithAccounts: type: array description: A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint). writeOnly: true readOnly: false items: type: string example: - '1234' - '12345' agents: type: array description: A list of objects with `agentId` (required) and `sourceIpAddress` (optional). items: $ref: '#/components/schemas/TestAgent' required: - agents AgentToAgentProperties: type: object required: - targetAgentId properties: direction: $ref: '#/components/schemas/TestDirection' dscp: $ref: '#/components/schemas/TestDscp' dscpId: $ref: '#/components/schemas/TestDscpId' mss: type: integer minimum: 20 maximum: 1400 description: Maximum segment size, in bytes. example: 100 numPathTraces: $ref: '#/components/schemas/TestNumPathTraces' pathTraceMode: $ref: '#/components/schemas/TestPathTraceMode' port: $ref: '#/components/schemas/TestPort' protocol: $ref: '#/components/schemas/AgentToAgentTestProtocol' randomizedStartTime: $ref: '#/components/schemas/TestRandomizedStartTime' targetAgentId: type: string description: '`agentId` of the target agent for the test.' example: '2954' throughputMeasurements: type: boolean description: Enable or disable throughput measurements. Throughput measurements cannot be enabled when the source or target of the test is a cloud agent. default: false example: false throughputDuration: type: integer minimum: 5000 maximum: 30000 description: The throughput duration. default: 10000 example: 10000 throughputRate: type: integer minimum: 8 maximum: 1000 description: The throughput rate, only applicable for UDP protocol. example: 10 fixedPacketRate: $ref: '#/components/schemas/TestFixedPacketRate' type: type: string example: agent-to-agent readOnly: true TestType: type: string enum: - api - agent-to-agent - agent-to-server - bgp - http-server - page-load - web-transactions - ftp-server - dns-trace - dns-server - dnssec - sip-server - voice description: This is a read only value, as test type is implicit in the test creation url. readOnly: true example: agent-to-server AgentToAgentInstantTestRequest: allOf: - $ref: '#/components/schemas/UnexpandedInstantTest' - $ref: '#/components/schemas/AgentToAgentProperties' - $ref: '#/components/schemas/InstantTestRequest' AgentToAgentInstantTestResponse: allOf: - $ref: '#/components/schemas/AgentToAgentInstantTest' - type: object properties: agents: $ref: '#/components/schemas/TestAgentsResponse' TestPathTraceMode: type: string enum: - classic - in-session description: Select `inSession` to perform the path trace within a TCP session. default: classic example: classic UnauthorizedError: type: object properties: error: type: string example: invalid_token error_description: type: string example: Invalid access token InstantTest: allOf: - $ref: '#/components/schemas/UnexpandedInstantTest' - type: object properties: labels: $ref: '#/components/schemas/TestLabels' tags: $ref: '#/components/schemas/TestTags' sharedWithAccounts: $ref: '#/components/schemas/TestSharedAccounts' Link: type: object description: A hyperlink from the containing resource to a URI. required: - href properties: href: type: string description: Its value is either a URI [RFC3986] or a URI template [RFC6570]. example: https://api.thousandeyes.com/v7/link/to/resource/id templated: type: boolean description: Should be true when the link object's "href" property is a URI template. type: type: string description: Used as a hint to indicate the media type expected when dereferencing the target resource. deprecation: type: string description: Its presence indicates that the link is to be deprecated at a future date. Its value is a URL that should provide further information about the deprecation. name: type: string description: Its value may be used as a secondary key for selecting link objects that share the same relation type. profile: type: string description: A URI that hints about the profile of the target resource. title: type: string description: Intended for labelling the link with a human-readable identifier hreflang: type: string description: Indicates the language of the target resource TestDirection: type: string enum: - to-target - from-target - bidirectional description: Direction of the test, which affects how results are shown. default: to-target example: to-target TestResults: type: array description: Reference to the test results. items: $ref: '#/components/schemas/Link' example: - href: https://api.thousandeyes.com/v7/test-results/281474976710706/network - href: https://api.thousandeyes.com/v7/test-results/281474976710706/path-vis TestAgentsResponse: type: array description: Contains list of agents. items: $ref: '#/components/schemas/AgentResponse' TestLabel: type: object properties: labelId: type: string description: Label ID. name: type: string description: Name of the label. isBuiltin: type: boolean description: Value indicating if the label in question is BuiltIn (Account Admin, Organization Admin, Regular User). example: labelId: '961' name: Artem label isBuiltin: false Error: type: object properties: type: type: string description: A URI reference that identifies the problem type. When this member is not present, its value is assumed to be "about:blank". title: type: string description: A short, human-readable summary of the problem type. status: type: integer description: The HTTP status code generated by the origin server for this occurrence of the problem. detail: type: string description: A human-readable explanation specific to this occurrence of the problem. instance: type: string description: A URI reference that identifies the specific occurrence of the problem. TestDscpId: type: string enum: - '0' - '8' - '16' - '24' - '32' - '40' - '48' - '56' - '10' - '12' - '14' - '18' - '20' - '22' - '26' - '28' - '30' - '34' - '36' - '38' - '46' - '44' description: DSCP ID [to see list for acceptable values](https://docs.thousandeyes.com/product-documentation/tests/dscp-options-in-network-tests) default: '0' example: '0' AgentBase: type: object properties: ipAddresses: type: array description: Array of private IP addresses. readOnly: true items: type: string example: - 99.139.65.220 - 9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce publicIpAddresses: type: array description: Array of public IP addresses. readOnly: true items: type: string example: - 192.168.1.78 - f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c network: type: string description: Network (including ASN) of agent’s public IP. example: AT&T Services, Inc. (AS 7018) readOnly: true TestRandomizedStartTime: type: boolean description: Indicates whether agents should randomize the start time in each test round. default: false example: false TestTags: type: array description: Tags assigned to the test. Returned only when `expand=tag` is specified. This field is not returned for Instant Tests. For more information, see `/tags`. readOnly: true items: $ref: '#/components/schemas/TestTag' CloudEnterpriseAgentType: type: string description: Type of the agent. enum: - cloud - enterprise-cluster - enterprise example: enterprise-cluster readOnly: true NetworkProviderInfo: type: object description: Information about the network provider that owns the agent's public IP prefix. readOnly: true properties: asn: type: integer format: int64 description: Autonomous System Number (ASN) announcing the agent's public IP prefix. example: 7018 readOnly: true name: type: string description: Name of the network provider organization. example: AT&T Services, Inc. readOnly: true type: $ref: '#/components/schemas/NetworkProviderType' TestSelfLink: allOf: - $ref: '#/components/schemas/Link' - description: Reference to the test. example: href: https://api.thousandeyes.com/v7/tests/{type}/281474976710706 TestDscp: type: string description: DSCP label. readOnly: true example: Best Effort (DSCP 0) NetworkProviderType: type: string description: Classification of the agent's network provider. enum: - unknown - isp - cdn - stub - cloud-provider - carrier example: isp readOnly: true SharedWithAccount: type: object properties: aid: type: string description: Account group ID. example: '1234' name: type: string description: Account group name. example: Account name parameters: ExpandInstantTest: name: expand in: query 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`. required: false style: form explode: false schema: type: array items: $ref: '#/components/schemas/ExpandInstantTestOptions' example: - agent AccountGroupId: name: aid in: query description: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. required: false schema: type: string example: '1234' responses: GeneralError: description: An error occurred '502': description: Bad Gateway content: application/problem+json: schema: $ref: '#/components/schemas/Error' '429': description: Exhausted rate limit for the organization content: application/problem+json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/problem+json: schema: $ref: '#/components/schemas/Error' example: type: about:blank title: URI Resource Not Found status: 404 detail: Details explaining if the 404 error is related to an invalid URI or a wrong ID instance: /v7 '500': description: Internal server error content: application/problem+json: schema: $ref: '#/components/schemas/Error' example: type: about:blank title: Internal server error status: 500 detail: Optional detail about the internal error message. instance: /v7 '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/ValidationError' example: type: about:blank title: Request validation failed. There are invalid or missing fields status: 400 detail: Your request object contains invalid fields. instance: /v7 errors: - code: AM-5432 field: firstName message: firstName cannot have fancy characters - code: DASH-5622 field: password message: Password cannot be blank '403': description: Insufficient permissions to query endpoint content: application/problem+json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/problem+json: schema: $ref: '#/components/schemas/UnauthorizedError' headers: Location: schema: type: string format: uri example: https://api.thousandeyes.com/v7/link/to/resource/id description: The absolute path to created resource. securitySchemes: BearerAuth: type: http scheme: bearer description: Bearer authentication token externalDocs: description: Find out more about Instant Tests. url: https://docs.thousandeyes.com/product-documentation/internet-and-wan-monitoring/tests/working-with-instant-tests