ThousandEyes Generic Connectors API

A generic connector represents an instance of a third-party service that you can integrate with the ThousandEyes platform.

Operations 7

GET /connectors/generic/{id} Retrieve connector #
PUT /connectors/generic/{id} Update connector #
DELETE /connectors/generic/{id} Delete connector #
GET /connectors/generic/{id}/operations List operation IDs for a connector #
PUT /connectors/generic/{id}/operations Assign operations to a connector #
GET /connectors/generic List connectors #
POST /connectors/generic Create connector #

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-generic-connectors-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-generic-connectors-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Integrations Generic Connectors API
  description: '**Note:** The Webhook Operations APIs are not available for ThousandEyes for Government instance.


    Manage connectors and operations.

    '
  version: 7.0.100
  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:
- url: https://api.thousandeyes.com/v7
  description: ThousandEyes API v7
security:
- BearerAuth: []
tags:
- name: Generic Connectors
  description: A generic connector represents an instance of a third-party service that you can integrate with the ThousandEyes platform.
paths:
  /connectors/generic/{id}:
    get:
      tags:
      - Generic Connectors
      summary: Retrieve connector
      description: Retrieves details of a connector by its ID.
      operationId: getGenericConnector
      parameters:
      - $ref: '#/components/parameters/connectorIdPath'
        name: id
        in: path
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/AccountGroupId'
      responses:
        '200':
          description: Connector details.
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/GenericConnector'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '500':
          $ref: '#/components/responses/500'
    put:
      tags:
      - Generic Connectors
      summary: Update connector
      description: Updates the connector specified by ID.
      operationId: updateGenericConnector
      parameters:
      - $ref: '#/components/parameters/connectorIdPath'
        name: id
        in: path
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/AccountGroupId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GenericConnector'
        required: true
      responses:
        '200':
          description: The updated connector.
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/GenericConnector'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '500':
          $ref: '#/components/responses/500'
    delete:
      tags:
      - Generic Connectors
      summary: Delete connector
      description: Deletes the connector specified by ID.
      operationId: deleteGenericConnector
      parameters:
      - $ref: '#/components/parameters/connectorIdPath'
        name: id
        in: path
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/AccountGroupId'
      responses:
        '204':
          description: No Content.
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '500':
          $ref: '#/components/responses/500'
  /connectors/generic/{id}/operations:
    get:
      tags:
      - Generic Connectors
      summary: List operation IDs for a connector
      description: Returns a list of operation IDs assigned to a connector.
      operationId: listGenericConnectorOperations
      parameters:
      - $ref: '#/components/parameters/connectorIdPath'
        name: id
        in: path
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/AccountGroupId'
      responses:
        '200':
          description: A list of assigned operation IDs.
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/Assignments'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '500':
          $ref: '#/components/responses/500'
    put:
      tags:
      - Generic Connectors
      summary: Assign operations to a connector
      description: Assigns operations to a connector. This replaces any existing assignments.
      operationId: setGenericConnectorOperations
      parameters:
      - $ref: '#/components/parameters/connectorIdPath'
        name: id
        in: path
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/AccountGroupId'
      requestBody:
        description: List of operation IDs to assign to the connector.
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
            example:
            - ca39314d-eb4f-496f-9435-b5d20b1bfbff
            - a32cfbab-32f6-41d8-9027-7127cba965dd
        required: true
      responses:
        '200':
          description: Operations assigned successfully.
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/Assignments'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '500':
          $ref: '#/components/responses/500'
  /connectors/generic:
    get:
      tags:
      - Generic Connectors
      summary: List connectors
      description: Returns a list of connectors in the specified account group. If no account group is specified, the user’s default account group is used.
      operationId: getGenericConnectors
      parameters:
      - $ref: '#/components/parameters/AccountGroupId'
      responses:
        '200':
          description: A list of connectors.
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/GenericConnectors'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '500':
          $ref: '#/components/responses/500'
    post:
      tags:
      - Generic Connectors
      summary: Create connector
      description: Creates a new connector.
      operationId: createGenericConnector
      parameters:
      - $ref: '#/components/parameters/AccountGroupId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GenericConnector'
        required: true
      responses:
        '201':
          description: The created connector.
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/GenericConnector'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '500':
          $ref: '#/components/responses/500'
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'
    OauthCodeAuthentication:
      required:
      - code
      - oauthAuthUrl
      - oauthClientId
      - oauthClientSecret
      - oauthTokenUrl
      - redirectUri
      - type
      type: object
      properties:
        token:
          type: string
          example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
        refreshToken:
          type: string
          example: refresh-token-abc456
        oauthClientId:
          type: string
          example: my-client-id
        oauthAuthUrl:
          type: string
          example: https://oauth.example.com/authorize
        oauthTokenUrl:
          type: string
          example: https://oauth.example.com/token
        oauthClientSecret:
          type: string
          example: client-secret-xyz123
        code:
          type: string
          example: auth-code-def789
        redirectUri:
          type: string
          example: https://app.example.com/callback
        type:
          $ref: '#/components/schemas/AuthenticationType'
    BasicAuthentication:
      required:
      - password
      - type
      - username
      type: object
      properties:
        username:
          type: string
          example: user1
        password:
          type: string
          example: abc123
        type:
          $ref: '#/components/schemas/AuthenticationType'
    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.
    BearerTokenAuthentication:
      required:
      - token
      - type
      type: object
      properties:
        token:
          type: string
        type:
          $ref: '#/components/schemas/AuthenticationType'
    AuthenticationType:
      type: string
      enum:
      - basic
      - bearer-token
      - oauth-auth-code
      - oauth-client-credentials
      - other-token
      - conjur-host
    GenericConnectorAuth:
      type: object
      discriminator:
        propertyName: type
        mapping:
          basic: '#/components/schemas/BasicAuthentication'
          bearer-token: '#/components/schemas/BearerTokenAuthentication'
          other-token: '#/components/schemas/OtherTokenAuthentication'
          oauth-auth-code: '#/components/schemas/OauthCodeAuthentication'
          oauth-client-credentials: '#/components/schemas/OauthClientCredentialsAuthentication'
      oneOf:
      - $ref: '#/components/schemas/BasicAuthentication'
      - $ref: '#/components/schemas/BearerTokenAuthentication'
      - $ref: '#/components/schemas/OtherTokenAuthentication'
      - $ref: '#/components/schemas/OauthCodeAuthentication'
      - $ref: '#/components/schemas/OauthClientCredentialsAuthentication'
    GenericConnectors:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/GenericConnector'
        _links:
          $ref: '#/components/schemas/SelfLinks'
    OtherTokenAuthentication:
      required:
      - token
      - type
      type: object
      properties:
        token:
          type: string
          example: custom-token-abc123xyz
        type:
          $ref: '#/components/schemas/AuthenticationType'
    UnauthorizedError:
      type: object
      properties:
        error:
          type: string
          example: invalid_token
        error_description:
          type: string
          example: Invalid access token
    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
    Header:
      required:
      - name
      - value
      type: object
      properties:
        name:
          type: string
          example: Content-Type
        value:
          type: string
          example: application/json
    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.
    ConnectorType:
      type: string
      enum:
      - generic
    OauthClientCredentialsAuthentication:
      required:
      - oauthClientId
      - oauthClientSecret
      - oauthTokenUrl
      - type
      type: object
      properties:
        token:
          type: string
          example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
        oauthClientId:
          type: string
          example: my-client-id
        oauthTokenUrl:
          type: string
          example: https://oauth.example.com/token
        oauthClientSecret:
          type: string
          example: client-secret-xyz123
        scope:
          type: string
          example: read:data write:data
        type:
          $ref: '#/components/schemas/AuthenticationType'
    GenericConnector:
      required:
      - name
      - target
      - type
      type: object
      properties:
        id:
          type: string
          readOnly: true
          example: cb1b8033-ea2d-4e9b-a920-fe87850693cf
        type:
          $ref: '#/components/schemas/ConnectorType'
        name:
          type: string
          example: Cisco Slack
        target:
          type: string
          example: https://hooks.slack.com/services/REDACTED
        lastModifiedDate:
          type: integer
          description: The date when the connector was last modified (Unix timestamp in milliseconds).
          format: int64
          readOnly: true
          example: 1770293655756
        authentication:
          $ref: '#/components/schemas/GenericConnectorAuth'
        headers:
          type: array
          items:
            $ref: '#/components/schemas/Header'
        _links:
          $ref: '#/components/schemas/SelfLinks'
    SelfLinks:
      type: object
      description: A links object containing the self link.
      readOnly: true
      properties:
        self:
          $ref: '#/components/schemas/Link'
    Assignments:
      type: object
      properties:
        items:
          type: array
          items:
            type: string
            example: ca39314d-eb4f-496f-9435-b5d20b1bfbff
        _links:
          $ref: '#/components/schemas/SelfLinks'
      description: A list of assigned items.
  parameters:
    connectorIdPath:
      name: id
      in: path
      description: The connector ID.
      required: true
      schema:
        type: string
      example: cb1b8033-ea2d-4e9b-a920-fe87850693cf
    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:
    '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'
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: Bearer authentication token