openapi: 3.2.0 info: title: Tests Assignment on Agents API version: 7.0.100 description: ' ## Overview Manage Cloud and Enterprise Agents available to your account in ThousandEyes.' 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: Tests Assignment on Agents paths: /agents/{agentId}/tests/assign: post: tags: - Tests Assignment on Agents summary: Assign tests to an agent operationId: assignTests description: "Assign tests to a specific Agent. Existing assigned tests are not removed.\n\n**Important notes:**\n\n * The operation fails if the specified agent does not exist.\n\n * If any provided test ID is invalid, the entire operation is canceled.\n\n * Already assigned tests are ignored; other valid tests will be assigned.\n\n * This operation does not overwrite existing assignments." parameters: - $ref: '#/components/parameters/AccountGroupId' - $ref: '#/components/parameters/AssignAgentId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AgentTestsAssignRequest' responses: '200': description: OK content: application/hal+json: schema: $ref: '#/components/schemas/AgentDetails' '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' /agents/{agentId}/tests/override: post: tags: - Tests Assignment on Agents summary: Overwrite tests assigned to an agent operationId: overwriteTests description: "Replaces all tests assigned to a specific agent with the new set of test IDs provided.\n\n**Important notes:**\n\n * The operation fails if the specified agent does not exist.\n\n * If any test ID is invalid, the operation is canceled and no changes are made.\n\n * Already assigned tests that are also in the request are ignored.\n\n * Previously assigned tests not included in the request will be removed." parameters: - $ref: '#/components/parameters/AccountGroupId' - $ref: '#/components/parameters/AssignAgentId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AgentTestsAssignRequest' responses: '200': description: OK content: application/hal+json: schema: $ref: '#/components/schemas/AgentDetails' '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' /agents/{agentId}/tests/unassign: post: tags: - Tests Assignment on Agents summary: Unassign tests from an agent operationId: unassignTests description: "Unassigns the specified tests from a specific agent.\n\n**Important notes:**\n\n * The operation fails if the specified agent does not exist.\n\n * If any test ID is invalid, the operation is canceled and no changes are made." parameters: - $ref: '#/components/parameters/AccountGroupId' - $ref: '#/components/parameters/AssignAgentId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AgentTestsAssignRequest' responses: '200': description: OK content: application/hal+json: schema: $ref: '#/components/schemas/AgentDetails' '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: NotificationRules: type: object properties: agentAlertRules: type: array items: $ref: '#/components/schemas/NotificationRule' example: - ruleId: '281474976710706' ruleName: Default Agent Offline Notification expression: ((lastContact >= 30 min)) notifyOnClear: true isDefault: false - ruleId: '281474976710709' ruleName: Test Rule expression: ((lastContact >= 40 min)) notifyOnClear: true isDefault: true 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' InterfaceIpMapping: type: object properties: interfaceName: type: string description: Name of the mapping example: wlp4s0 readOnly: true ipAddresses: type: array description: Array of ipAddress entries items: type: string example: - 73.252.207.219 - 2601:646:300:3ae0::b977 readOnly: true 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 AgentLabel: type: object readOnly: true properties: labelId: type: string description: Label Id. example: '11' name: type: string description: Name of the label. example: Label name NotificationRule: type: object properties: ruleId: type: string description: Agent notification rule ID example: '281474976710706' readOnly: true ruleName: type: string description: Name of the agent notification rule example: Default Agent Offline Notification expression: type: string description: Expression of agent notification rule example: ((lastContact >= 30 min)) notifyOnClear: type: boolean description: Send notification when notification clears example: true isDefault: type: boolean description: Agent notification rule will be automatically included on all new Enterprise Agents. example: false EnterpriseAgentData: type: object properties: testIds: $ref: '#/components/schemas/TestIds' tests: type: array description: List of tests. See `/tests` for more information. items: $ref: '#/components/schemas/SimpleTest' clusterMembers: $ref: '#/components/schemas/ClusterMembers' utilization: type: integer description: Shows overall utilization percentage (online Enterprise Agents and Enterprise Clusters only). example: 25 readOnly: true accountGroups: type: array description: List of account groups. See /accounts-groups to pull a list of account IDs items: $ref: '#/components/schemas/AccountGroup' ipv6Policy: $ref: '#/components/schemas/EnterpriseAgentIpv6Policy' errorDetails: type: array description: If an enterprise agent or a cluster member presents at least one error, the errors will be shown as an array of entries in the errorDetails field (Enterprise Agents and Enterprise Cluster members only) items: $ref: '#/components/schemas/ErrorDetail' readOnly: true hostname: type: string description: Fully qualified domain name of the agent (Enterprise Agents only) example: thousandeyes.com readOnly: true lastSeen: type: string description: UTC last seen date (ISO date-time format). format: date-time example: '2022-07-17T22:00:54Z' readOnly: true agentState: $ref: '#/components/schemas/EnterpriseAgentState' keepBrowserCache: type: boolean description: Flag indicating if the agent retains cache. example: true createdDate: type: string description: UTC Agent creation date (ISO date-time format). format: date-time example: '2022-07-17T22:00:54Z' readOnly: true targetForTests: type: string format: ipv4 description: Test target IP address. example: 1.1.1.1 serialNumber: $ref: '#/components/schemas/EnterpriseAgentSerialNumber' localResolutionPrefixes: type: array description: To perform rDNS lookups for public IP ranges, this field represents the public IP ranges. The range must be in CIDR notation; for example, 10.1.1.0/24. Maximum of 5 prefixes allowed (Enterprise Agents and Enterprise Agent clusters only). items: type: string example: 10.2.3.3/24 interfaceIpMapping: type: array items: $ref: '#/components/schemas/InterfaceIpMapping' readOnly: true TestCreatedDate: type: string format: date-time description: UTC created date (ISO date-time format). example: '2022-07-17T22:00:54Z' readOnly: true EnterpriseAgentDetail: allOf: - type: object required: - agentType properties: agentType: $ref: '#/components/schemas/EnterpriseAgentType' _links: $ref: '#/components/schemas/SelfLinks' - $ref: '#/components/schemas/SimpleEnterpriseAgent' - $ref: '#/components/schemas/EnterpriseAgentResponseExpands' EnterpriseAgentSerialNumber: type: string description: Serial number of an enterprise agent or cluster member device. This field is not available for Cloud Agents. example: FOC2218ABCD readOnly: true 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. ErrorDetailCode: type: string description: Code for the agent error. enum: - agent-version-outdated - browserbot-version-outdated - appliance-version-outdated - clock-offset - os-end-of-installation-support - os-end-of-support - os-end-of-life - nat-traversal-error example: agent-version-outdated readOnly: true EnterpriseAgentType: type: string description: Enterprise agent type. example: enterprise pattern: ^enterprise$ 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 TestIds: type: array description: List of test IDs assigned to the agent. items: type: integer format: int64 readOnly: true example: - 281474976710706 EnterpriseClusterAgentType: type: string description: Enterprise Cluster agent type. example: enterprise-cluster pattern: ^enterprise-cluster$ SimpleTest: description: Each test includes additional fields depending on its `type`. Refer `/tests/{type}` endpoint to know the set of fields returned by a given `type`. additionalProperties: true type: object properties: interval: $ref: '#/components/schemas/TestInterval' alertsEnabled: type: boolean description: Indicates if alerts are enabled. example: true enabled: $ref: '#/components/schemas/Enabled' 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' ClusterMembers: type: array description: If an enterprise agent is clustered, detailed information about each cluster member will be shown as array entries in the clusterMembers field. This field is not shown for Enterprise Agents in standalone mode, or for Cloud Agents. items: $ref: '#/components/schemas/ClusterMember' readOnly: true ClusterMember: allOf: - $ref: '#/components/schemas/AgentBase' - type: object properties: memberId: type: string description: Unique ID of the cluster member example: '10' readOnly: true name: type: string description: Name of the cluster member example: Cluster member name readOnly: true errorDetails: type: array description: If an enterprise agent or a cluster member presents at least one error, the errors will be shown as an array of entries in the errorDetails field (Enterprise Agents and Enterprise Cluster members only) items: $ref: '#/components/schemas/ErrorDetail' readOnly: true lastSeen: type: string description: UTC last seen date (ISO date-time format). format: date-time example: '2022-07-17T22:00:54Z' readOnly: true agentState: $ref: '#/components/schemas/EnterpriseAgentState' targetForTests: type: string format: ipv4 description: Test target IP address. example: 1.1.1.1 serialNumber: $ref: '#/components/schemas/EnterpriseAgentSerialNumber' utilization: type: integer description: Shows overall utilization percentage (online Enterprise Agents and Enterprise Clusters only). example: 25 readOnly: true 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 EnterpriseAgentResponseExpands: type: object properties: testIds: $ref: '#/components/schemas/TestIds' tests: type: array description: List of tests. See `/tests` for more information. items: $ref: '#/components/schemas/SimpleTest' notificationRules: type: array description: List of notification rule objects configured on agent items: $ref: '#/components/schemas/NotificationRules' labels: type: array description: List of labels. See `/labels` for more information. items: $ref: '#/components/schemas/AgentLabel' readOnly: true tags: type: array description: List of tags. See `/tags` for more information. items: $ref: '#/components/schemas/AgentTag' readOnly: true Enabled: type: boolean description: Test is enabled. example: true default: 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 ErrorDetail: type: object properties: code: $ref: '#/components/schemas/ErrorDetailCode' description: type: string description: Description for the agent error. example: 'Agent Version 0.1.1 (latest: 1.0.0)' readOnly: true UnauthorizedError: type: object properties: error: type: string example: invalid_token error_description: type: string example: Invalid access token CloudAgentType: type: string description: Cloud agent type. example: cloud pattern: ^cloud$ 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 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 CloudAgentDetail: type: object allOf: - $ref: '#/components/schemas/SimpleAgent' - type: object required: - agentType properties: agentType: $ref: '#/components/schemas/CloudAgentType' tests: type: array description: List of tests. See `/tests` for more information. items: $ref: '#/components/schemas/SimpleTest' labels: type: array description: List of labels - see `/labels` for more information. items: $ref: '#/components/schemas/AgentLabel' readOnly: true tags: type: array description: List of tags. See `/tags` for more information. items: $ref: '#/components/schemas/AgentTag' readOnly: true _links: $ref: '#/components/schemas/SelfLinks' EnterpriseAgentIpv6Policy: type: string description: IP version policy, (Enterprise Agents and Enterprise Clusters only) enum: - force-ipv4 - prefer-ipv6 - force-ipv6 example: force-ipv4 TestInterval: type: integer enum: - 60 - 120 - 300 - 600 - 900 - 1800 - 3600 description: Interval between test runs in seconds. default: 60 example: 60 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. 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 AccountGroup: type: object properties: aid: $ref: '#/components/schemas/AccountGroupId' accountGroupName: type: string description: Account group name example: Account A AgentTag: type: object readOnly: true properties: id: type: string description: 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 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 EnterpriseAgentClusterDetail: allOf: - type: object required: - agentType properties: agentType: $ref: '#/components/schemas/EnterpriseClusterAgentType' _links: $ref: '#/components/schemas/SelfLinks' - $ref: '#/components/schemas/SimpleEnterpriseAgent' - $ref: '#/components/schemas/EnterpriseAgentResponseExpands' AgentDetails: oneOf: - $ref: '#/components/schemas/CloudAgentDetail' - $ref: '#/components/schemas/EnterpriseAgentDetail' - $ref: '#/components/schemas/EnterpriseAgentClusterDetail' discriminator: propertyName: agentType mapping: cloud: '#/components/schemas/CloudAgentDetail' enterprise: '#/components/schemas/EnterpriseAgentDetail' enterprise-cluster: '#/components/schemas/EnterpriseAgentClusterDetail' AgentTestsAssignRequest: type: object properties: testIds: type: array description: 'List of test IDs to assign. You can retrieve available `testIds` using the `/agents` endpoint with the `expand=testIds` query parameter. ' items: type: string description: Test ID example: - '281474976710706' NetworkProviderType: type: string description: Classification of the agent's network provider. enum: - unknown - isp - cdn - stub - cloud-provider - carrier example: isp readOnly: true SelfLinks: type: object description: A links object containing the self link. readOnly: true properties: self: $ref: '#/components/schemas/Link' SimpleEnterpriseAgent: allOf: - $ref: '#/components/schemas/SimpleAgent' - $ref: '#/components/schemas/EnterpriseAgentData' AccountGroupId: type: string description: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. example: '1234' EnterpriseAgentState: type: string description: State of the agent. enum: - online - offline - disabled example: online readOnly: true responses: '502': description: Bad Gateway content: application/problem+json: schema: $ref: '#/components/schemas/Error' GeneralError: description: An error occurred '429': description: Exhausted rate limit for the organization content: application/problem+json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/problem+json: schema: $ref: '#/components/schemas/Error' example: type: about:blank title: URI Resource Not Found status: 404 detail: Details explaining if the 404 error is related to an invalid URI or a wrong ID instance: /v7 '500': description: Internal server error content: application/problem+json: schema: $ref: '#/components/schemas/Error' example: type: about:blank title: Internal server error status: 500 detail: Optional detail about the internal error message. instance: /v7 '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/ValidationError' example: type: about:blank title: Request validation failed. There are invalid or missing fields status: 400 detail: Your request object contains invalid fields. instance: /v7 errors: - code: AM-5432 field: firstName message: firstName cannot have fancy characters - code: DASH-5622 field: password message: Password cannot be blank '403': description: Insufficient permissions to query endpoint content: application/problem+json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/problem+json: schema: $ref: '#/components/schemas/UnauthorizedError' parameters: 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' AssignAgentId: name: agentId in: path description: Unique ID for the Enterprise Agent cluster to add new agents to. example: '281474976710706' required: true schema: type: string securitySchemes: BearerAuth: type: http scheme: bearer description: Bearer authentication token externalDocs: description: Find out more about Agents & Monitors url: https://docs.thousandeyes.com/product-documentation/global-vantage-points/working-with-agent-settings