ThousandEyes Webhook Operations API

Webhook operations allow you to customize the payload of generic connectors.

Operations 5

GET /operations/webhooks/{id} Retrieve webhook operation #
PUT /operations/webhooks/{id} Update webhook operation #
DELETE /operations/webhooks/{id} Delete webhook operation #
GET /operations/webhooks List webhook operations #
POST /operations/webhooks Create webhook operation #

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-webhook-operations-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-webhook-operations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 7.0.100
  title: ThousandEyes Webhook Operations API
  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/
  description: Webhook operations allow you to customize the payload of generic connectors.
servers:
- description: ThousandEyes API production URL
  url: https://api.thousandeyes.com/v7
tags:
- name: Webhook Operations
  description: Webhook operations allow you to customize the payload of generic connectors.
  x-displayName: Webhook Operations
paths:
  /operations/webhooks/{id}:
    get:
      tags:
      - Webhook Operations
      summary: Retrieve webhook operation
      description: Retrieves details of a webhook operation by its ID.
      operationId: getWebhookOperation
      parameters:
      - $ref: '#/components/parameters/Integrations_API_operationIdPath'
        name: id
        in: path
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/Integrations_API_AccountGroupId'
      responses:
        '200':
          description: Webhook operation with the given id.
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/Integrations_API_WebhookOperation'
        '400':
          $ref: '#/components/responses/Integrations_API_400'
        '401':
          $ref: '#/components/responses/Integrations_API_401'
        '403':
          $ref: '#/components/responses/Integrations_API_403'
        '404':
          $ref: '#/components/responses/Integrations_API_404'
        '500':
          $ref: '#/components/responses/Integrations_API_500'
      security:
      - Integrations_API_BearerAuth: []
    put:
      tags:
      - Webhook Operations
      summary: Update webhook operation
      description: Updates the webhook operation specified by ID.
      operationId: updateWebhookOperation
      parameters:
      - $ref: '#/components/parameters/Integrations_API_operationIdPath'
        name: id
        in: path
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/Integrations_API_AccountGroupId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Integrations_API_WebhookOperation'
        required: true
      responses:
        '200':
          description: The updated webhook operation.
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/Integrations_API_WebhookOperation'
        '400':
          $ref: '#/components/responses/Integrations_API_400'
        '401':
          $ref: '#/components/responses/Integrations_API_401'
        '403':
          $ref: '#/components/responses/Integrations_API_403'
        '404':
          $ref: '#/components/responses/Integrations_API_404'
        '500':
          $ref: '#/components/responses/Integrations_API_500'
      security:
      - Integrations_API_BearerAuth: []
    delete:
      tags:
      - Webhook Operations
      summary: Delete webhook operation
      description: Deletes the webhook operation specified by ID.
      operationId: deleteWebhookOperation
      parameters:
      - $ref: '#/components/parameters/Integrations_API_operationIdPath'
        name: id
        in: path
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/Integrations_API_AccountGroupId'
      responses:
        '204':
          description: No Content.
        '400':
          $ref: '#/components/responses/Integrations_API_400'
        '401':
          $ref: '#/components/responses/Integrations_API_401'
        '403':
          $ref: '#/components/responses/Integrations_API_403'
        '404':
          $ref: '#/components/responses/Integrations_API_404'
        '500':
          $ref: '#/components/responses/Integrations_API_500'
      security:
      - Integrations_API_BearerAuth: []
  /operations/webhooks:
    get:
      tags:
      - Webhook Operations
      summary: List webhook operations
      description: Returns a list of webhook operations in the specified account group. If no account group is specified, the user’s default account group is used.
      operationId: getWebhookOperations
      parameters:
      - $ref: '#/components/parameters/Integrations_API_AccountGroupId'
      responses:
        '200':
          description: A list of webhook operations.
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/Integrations_API_WebhookOperations'
        '400':
          $ref: '#/components/responses/Integrations_API_400'
        '401':
          $ref: '#/components/responses/Integrations_API_401'
        '403':
          $ref: '#/components/responses/Integrations_API_403'
        '404':
          $ref: '#/components/responses/Integrations_API_404'
        '500':
          $ref: '#/components/responses/Integrations_API_500'
      security:
      - Integrations_API_BearerAuth: []
    post:
      tags:
      - Webhook Operations
      summary: Create webhook operation
      description: Creates a new webhook operation.
      operationId: createWebhookOperation
      parameters:
      - $ref: '#/components/parameters/Integrations_API_AccountGroupId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Integrations_API_WebhookOperation'
        required: true
      responses:
        '201':
          description: The created webhook operation.
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/Integrations_API_WebhookOperation'
        '400':
          $ref: '#/components/responses/Integrations_API_400'
        '401':
          $ref: '#/components/responses/Integrations_API_401'
        '403':
          $ref: '#/components/responses/Integrations_API_403'
        '404':
          $ref: '#/components/responses/Integrations_API_404'
        '500':
          $ref: '#/components/responses/Integrations_API_500'
      security:
      - Integrations_API_BearerAuth: []
components:
  schemas:
    Integrations_API_SelfLinks:
      type: object
      description: A links object containing the self link.
      readOnly: true
      properties:
        self:
          $ref: '#/components/schemas/Integrations_API_Link'
    Integrations_API_UnauthorizedError:
      type: object
      properties:
        error:
          type: string
          example: invalid_token
        error_description:
          type: string
          example: Invalid access token
    Integrations_API_OperationStatus:
      type: string
      description: 'The connectivity status of the operation to its target endpoint. Indicates whether the operation can successfully connect and communicate with the target URL. Values: ''pending'' (initial state, not yet tested), ''connected'' (successfully connected), ''failing'' (connection or execution issues), ''unverified'' (not yet verified/tested).'
      enum:
      - pending
      - connected
      - failing
      - unverified
    Integrations_API_WebhookOperations:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/Integrations_API_WebhookOperation'
        _links:
          $ref: '#/components/schemas/Integrations_API_SelfLinks'
    Integrations_API_Header:
      required:
      - name
      - value
      type: object
      properties:
        name:
          type: string
          example: Content-Type
        value:
          type: string
          example: application/json
    Integrations_API_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
    Integrations_API_OperationType:
      type: string
      enum:
      - webhook
    Integrations_API_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.
    Integrations_API_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.
    Integrations_API_ValidationError:
      type: object
      allOf:
      - $ref: '#/components/schemas/Integrations_API_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/Integrations_API_ValidationErrorItem'
    Integrations_API_WebhookOperation:
      required:
      - category
      - name
      - status
      type: object
      properties:
        id:
          type: string
          readOnly: true
          example: cb1b8033-ea2d-4e9b-a920-fe87850693cf
        name:
          type: string
          example: My operation
        enabled:
          type: boolean
          example: true
        category:
          $ref: '#/components/schemas/Integrations_API_OperationCategory'
        status:
          $ref: '#/components/schemas/Integrations_API_OperationStatus'
        path:
          type: string
          example: /custom/path
        payload:
          type: string
          description: Handlebars template for the payload.
          example: '{"property1": {{numericVar}}, "property2": "{{stringVar}}"}'
        headers:
          type: array
          items:
            $ref: '#/components/schemas/Integrations_API_Header'
        queryParams:
          type: string
          description: Handlebars template for the query params. Most compile into a proper JSON object where each object property will define the query param name and the object property value define the corresponding query param value.
          example: '{"queryParam1":"{{stringVar}}"}'
        type:
          $ref: '#/components/schemas/Integrations_API_OperationType'
        _links:
          $ref: '#/components/schemas/Integrations_API_SelfLinks'
    Integrations_API_OperationCategory:
      type: string
      enum:
      - alerts
      - recommendations
      - traffic-monitoring
  parameters:
    Integrations_API_operationIdPath:
      name: id
      in: path
      description: The operation ID.
      required: true
      schema:
        type: string
      example: cb1b8033-ea2d-4e9b-a920-fe87850693cf
    Integrations_API_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:
    Integrations_API_500:
      description: Internal server error
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Integrations_API_Error'
          example:
            type: about:blank
            title: Internal server error
            status: 500
            detail: Optional detail about the internal error message.
            instance: /v7
    Integrations_API_401:
      description: Unauthorized
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Integrations_API_UnauthorizedError'
    Integrations_API_403:
      description: Insufficient permissions to query endpoint
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Integrations_API_Error'
    Integrations_API_400:
      description: Bad Request
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Integrations_API_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
    Integrations_API_404:
      description: Not found
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Integrations_API_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
  securitySchemes:
    Tests_API_BearerAuth:
      type: http
      scheme: bearer
      description: Bearer authentication token
    Test_Results_API_BearerAuth:
      type: http
      scheme: bearer
      description: Bearer authentication token
    Instant_Tests_API_BearerAuth:
      type: http
      scheme: bearer
      description: Bearer authentication token
    ThousandEyes_for_OpenTelemetry_API_BearerAuth:
      type: http
      scheme: bearer
      description: Bearer authentication token
    Test_Snapshots_API_BearerAuth:
      type: http
      scheme: bearer
      description: Bearer authentication token
    Usage_API_BearerAuth:
      type: http
      scheme: bearer
      description: Bearer authentication token
    Templates_API_BearerAuth:
      type: http
      scheme: bearer
      description: Bearer authentication token
    BGP_Monitors_API_BearerAuth:
      type: http
      scheme: bearer
      description: Bearer authentication token
    Internet_Insights_API_BearerAuth:
      type: http
      scheme: bearer
      description: Bearer authentication token
    Tags_API_BearerAuth:
      type: http
      scheme: bearer
      description: Bearer authentication token
    Integrations_API_BearerAuth:
      type: http
      scheme: bearer
      description: Bearer authentication token
    Event_Detection_API_BearerAuth:
      type: http
      scheme: bearer
      description: Bearer authentication token
    Endpoint_Tests_API_BearerAuth:
      type: http
      scheme: bearer
      description: Bearer authentication token
    Endpoint_Test_Results_API_BearerAuth:
      type: http
      scheme: bearer
      description: Bearer authentication token
    Endpoint_Agent_Labels_API_BearerAuth:
      type: http
      scheme: bearer
      description: Bearer authentication token
    Endpoint_Instant_Scheduled_Tests_API_BearerAuth:
      type: http
      scheme: bearer
      description: Bearer authentication token
    Endpoint_Agents_API_BearerAuth:
      type: http
      scheme: bearer
      description: Bearer authentication token
    Emulation_API_BearerAuth:
      type: http
      scheme: bearer
      description: Bearer authentication token
    Dashboards_API_BearerAuth:
      type: http
      scheme: bearer
      description: Bearer authentication token
    Credentials_API_BearerAuth:
      type: http
      scheme: bearer
      description: Bearer authentication token
    Cloud_Insights_Integrations_API_BearerAuth:
      type: http
      scheme: bearer
      description: Bearer authentication token
    Autonomous_Systems_API_BearerAuth:
      type: http
      scheme: bearer
      description: Bearer authentication token
    API_Token_Management_API_BearerAuth:
      type: http
      scheme: bearer
      description: Bearer authentication token
    Alerts_API_BearerAuth:
      type: http
      scheme: bearer
      description: Bearer authentication token
    Agents_API_BearerAuth:
      type: http
      scheme: bearer
      description: Bearer authentication token
    Administrative_API_BearerAuth:
      type: http
      scheme: bearer
      description: Bearer authentication token
externalDocs:
  description: Find out more about ThousandEyes
  url: https://developer.thousandeyes.com/
x-tagGroups:
- name: Tests API
  tags:
  - Tests
  - Agent to Server Tests
  - Agent to Agent Tests
  - BGP Tests
  - DNS Server Tests
  - DNS Trace Tests
  - DNSSEC Tests
  - HTTP Server Tests
  - Page Load Tests
  - Web Transaction Tests
  - API Tests
  - FTP Server Tests
  - SIP Server Tests
  - Voice Tests
  - Path Visualization Interface Groups
- name: Test Results API
  tags:
  - Network Test Results
  - Web HTTP Server Test Results
  - Web Page Load Test Results
  - Web Transactions Test Results
  - API Test Results
  - Web FTP Server Test Results
  - DNS Trace Test Results
  - DNS Server Test Results
  - DNSSEC Test Results
  - Voice SIP Server Test Results
  - Voice RTP Server Test Results
  - Network BGP Test Results
- name: Instant Tests API
  tags:
  - Instant Tests
  - Agent to Agent Instant Tests
  - Agent to Server Instant Tests
  - DNS Server Instant Tests
  - DNS Trace Instant Tests
  - DNSSEC Instant Tests
  - HTTP Server Instant Tests
  - HTTP Page Load Instant Tests
  - Web Transaction Instant Tests
  - API Instant Tests
  - FTP Server Instant Tests
  - SIP Server Instant Tests
  - Voice Instant Tests
- name: ThousandEyes for OpenTelemetry API
  tags:
  - Streaming
- name: Test Snapshots API
  tags:
  - Test Snapshots
- name: Usage API
  tags:
  - Usage
  - Quotas
- name: Templates API
  tags:
  - Templates
- name: BGP Monitors API
  tags:
  - BGP monitors
- name: Internet Insights API
  tags:
  - Internet Insights Catalog Providers
  - Internet Insights Outages
- name: Tags API
  tags:
  - Tags
  - Tag Assignment
- name: Integrations API
  tags:
  - Credential Vault Operations
  - Operation Connectors
  - CyberArk Conjur Connectors
  - Webhook Operations
  - Generic Connectors
  - Panorama Connectors
- name: Event Detection API
  tags:
  - Events
- name: Endpoint Tests API
  tags:
  - Endpoint Scheduled Tests
  - Agent to Server Endpoint Scheduled Tests
  - HTTP Server Endpoint Scheduled Tests
  - Agent To Server Endpoint Dynamic Tests
  - Endpoint Real User Tests
- name: Endpoint Test Results API
  tags:
  - Network Endpoint Scheduled Test Results
  - HTTP Server Endpoint Scheduled Test Results
  - Network Dynamic Endpoint Test Results
  - Real User Endpoint Test Results
  - Local Network Endpoint Test Results
- name: Endpoint Agent Labels API
  tags:
  - Endpoint Agent Labels
- name: Endpoint Instant Scheduled Tests API
  tags:
  - Agent to Server Endpoint Instant Scheduled Tests
  - HTTP Server Endpoint Instant Scheduled Tests
  - Run Endpoint Instant Scheduled Tests
- name: Endpoint Agents API
  tags:
  - Endpoint Agents
  - Endpoint Agent Log Items
  - Endpoint Proxies
  - Endpoint Agents Transfer
- name: Emulation API
  tags:
  - Emulation
- name: Dashboards API
  tags:
  - Dashboards
  - Dashboard Snapshots
  - Dashboards Filters
- name: Credentials API
  tags:
  - Credentials
- name: Cloud Insights Integrations API
  tags:
  - Cloud Insights Integrations
  - Cloud Insights Integration Policy Settings
- name: Autonomous Systems API
  tags:
  - Autonomous Systems
  - Autonomous System Prefixes
- name: API Token Management API
  tags:
  - API Token
- name: Alerts API
  tags:
  - Alerts
  - Alert Rules
  - Alert Suppression Windows
- name: Agents API
  tags:
  - Cloud and Enterprise Agents
  - Local Problems
  - Enterprise Agent Cluster
  - Cloud and Enterprise Agent Notification Rules
  - Agent Proxies
  - Tests Assignment on Agents
- name: Administrative API
  tags:
  - Account Groups
  - Users
  - Roles
  - Permissions
  - User Events