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