ThousandEyes Enterprise Agent Cluster API

The Enterprise Agent Cluster API from ThousandEyes — 2 operation(s) for enterprise agent cluster.

Operations 2

POST /agents/{agentId}/cluster/assign Add member to Enterprise Agent cluster #
POST /agents/{agentId}/cluster/unassign Remove member from Enterprise Agent cluster #

Documentation

📖
APIReference
https://developer.cisco.com/docs/thousandeyes/administration-administrative-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/api-token-management-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/agents-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/alerts-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/autonomous-systems-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/bgp-monitors-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/cloud-insights-integrations-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/credentials-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/dashboards-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/emulation-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/endpoint-agents-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/endpoint-instant-scheduled-tests-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/endpoint-labels-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/endpoint-test-results-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/endpoint-tests-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/event-detection-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/integrations-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/internet-insights-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/snapshots-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/tags-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/templates-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/tests-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/instant-tests-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/test-results-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/thousandeyes-for-opentelemetry-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/usage-api-overview/

Specifications

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/thousandeyes-enterprise-agent-cluster-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

thousandeyes-enterprise-agent-cluster-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Agents Enterprise Agent Cluster 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: Enterprise Agent Cluster
paths:
  /agents/{agentId}/cluster/assign:
    post:
      tags:
      - Enterprise Agent Cluster
      summary: Add member to Enterprise Agent cluster
      operationId: assignAgentToCluster
      description: "Assigns agents to an Enterprise Agent cluster. If the agent specified by `agentId` in the URL path is not already part of a cluster, this operation creates a new cluster with that agent as the base member.\n\nThis operation requires the `Edit agents in account group` permission.\n\nA JSON request body is required for this operation, even when creating a cluster with a single agent. To create a cluster from a single standalone agent, pass an empty `agents` array in the request body:\n\n```\n{ \"agents\": [] }\n```\n\nIf no body is provided, the server returns a 400 Bad Request error.\n\nThe response is a single Enterprise Agent Cluster. The assigned agents become cluster members and can be returned using the `?expand=cluster-member` parameter.\n\nUpon successful cluster creation, the response includes:\n\n* Information about the new or updated cluster.\n\n* Each cluster member receives a unique `memberId` within the cluster.\n\n* The `memberId` is not linked to the original `agentId` used in the request URL or POST body.\n\n* The cluster name is based on the agent whose `agentId` is specified in the request URL.\n\n**Example: Creating a cluster from a single agent**\n\n```\ncurl -X POST https://api.thousandeyes.com/v7/agents/64965/cluster/assign \\\n'{\"agents\":[]}' \\\n-H \"content-type:application/json\" \\\n-H \"Authorization: Bearer $Bearer_token\" \n````\n\n**Example: Adding multiple agents to a cluster**\n\nWhen adding multiple agents, the `{agentId}` specified in the URL path must not be included in the `agents` array. Only include additional agent IDs in the array.\n\n```\ncurl https://api.thousandeyes.com/v7/agents/64965/cluster/assign \\\n'{\"agents\":[\n  \"2277\",\n  \"1234\"\n]}' \\\n-H \"content-type:application/json\" \\\n-H \"Authorization: Bearer $Bearer_token\" \n````"
      parameters:
      - $ref: '#/components/parameters/AssignAgentId'
      - $ref: '#/components/parameters/AccountGroupId'
      - $ref: '#/components/parameters/ExpandAgentDetails'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AgentClusterAssignRequest'
      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}/cluster/unassign:
    post:
      tags:
      - Enterprise Agent Cluster
      summary: Remove member from Enterprise Agent cluster
      operationId: unassignAgentFromCluster
      description: "Converts a cluster with a single or multiple Enterprise Agent members back to a standalone Enterprise Agent(s). This operation can also be used to remove one or more members from an Enterprise Agent cluster. Removed members revert to being standalone Enterprise Agents. If all members are removed from the cluster, the Enterprise Agent Cluster is deleted.\n\nThe response is an list of agents, containing both the Enterprise Agent Cluster (if it still exists), and the removed members, now as standalone Enterprise Agents. This operation is exclusive to Enterprise Agent clusters and can be accessed only by users with the `Edit agents in account group` permission.\n\nOn successful completion, the response contains the following information:\n\n* The updated cluster information is provided in the response body, unless all members are removed from the cluster.\n\n* Information about each removed member, now a standalone agent.\n\n* When a non-last member is removed from the cluster, it receives a new `agentId` value. This new `agentId` is different from the `agentId` the agent had before joining the cluster, and it is also unrelated to the `memberId` value the agent had while being a part of the cluster.\n\n* If all members are removed from the cluster, the cluster itself is converted back to a standalone Enterprise Agent too. Such standalone agent inherits the old cluster’s `agentId` value. The last `memberId` listed in the POST body inherits the cluster’s `agentId` value.\n\n**Example - removing a single member**\n```\ncurl -X POST https://api.thousandeyes.com/v7/agents/64965/cluster/unassign   \\\n'{\"members\":[\"55974\"]}' \\\n-H \"content-type:application/json\" \\\n-H \"Authorization: Bearer $Bearer_token\" \n```\n\n**Example - removing multiple members**\n```\ncurl https://api.thousandeyes.com/v7/agents/64965/cluster/unassign \\\n'{\"members\":[\n    \"55974\",\n    \"12313\"]\n }' \\\n-H \"content-type:application/json\" \\\n-H \"Authorization: Bearer $Bearer_token\" \n```"
      parameters:
      - $ref: '#/components/parameters/UnassignAgentId'
      - $ref: '#/components/parameters/AccountGroupId'
      - $ref: '#/components/parameters/ExpandAgentDetails'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AgentClusterUnassignRequest'
      responses:
        '200':
          description: OK
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/CloudEnterpriseAgents'
        '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
    CloudEnterpriseAgents:
      type: object
      properties:
        agents:
          type: array
          items:
            $ref: '#/components/schemas/CloudEnterpriseAgent'
        _links:
          $ref: '#/components/schemas/SelfLinks'
    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$
    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
    TestIds:
      type: array
      description: List of test IDs assigned to the agent.
      items:
        type: integer
        format: int64
      readOnly: true
      example:
      - 281474976710706
    AgentClusterAssignRequest:
      type: object
      properties:
        agents:
          type: array
          description: Contains list of agent IDs (get `agentId` from `/agents` operation)
          items:
            type: string
            description: Agent ID
          example:
          - '281474976710706'
    EnterpriseClusterAgentType:
      type: string
      description: Enterprise Cluster agent type.
      example: enterprise-cluster
      pattern: ^enterprise-cluster$
    EnterpriseAgent:
      allOf:
      - $ref: '#/components/schemas/AgentResponse'
      - $ref: '#/components/schemas/EnterpriseAgentData'
    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
    AgentDetailsExpand:
      type: string
      enum:
      - cluster-member
      - test
      - test-ids
      - notification-rule
    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
    CloudEnterpriseAgent:
      anyOf:
      - $ref: '#/components/schemas/AgentResponse'
      - $ref: '#/components/schemas/EnterpriseAgent'
    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
    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
    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'
    NetworkProviderType:
      type: string
      description: Classification of the agent's network provider.
      enum:
      - unknown
      - isp
      - cdn
      - stub
      - cloud-provider
      - carrier
      example: isp
      readOnly: true
    AgentClusterUnassignRequest:
      type: object
      properties:
        members:
          type: array
          description: Contains list of member IDs. (get `memberId` from `/agents/{agentId}` operation)
          items:
            type: string
       

# --- truncated at 32 KB (36 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/thousandeyes/refs/heads/main/openapi/thousandeyes-enterprise-agent-cluster-api-openapi.yml