Webex Webhooks API

Register webhooks to receive real-time HTTP callbacks when specific events occur in Webex. Supports filtering by resource type, event type, and other criteria for efficient event-driven integrations.

OpenAPI Specification

cisco-webex-webhooks-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Cisco Webex Webhooks API
  description: >-
    Register webhooks to receive real-time HTTP callbacks when specific events
    occur in Webex. Supports filtering by resource type, event type, and
    other criteria for efficient event-driven integrations.
  version: 1.0.0
  contact:
    name: Cisco Webex Developer Support
    url: https://developer.webex.com/support
  license:
    name: Cisco Webex API Terms of Service
    url: https://developer.webex.com/terms-of-service
servers:
  - url: https://webexapis.com/v1
    description: Webex Production API
security:
  - bearerAuth: []
tags:
  - name: Webhooks
    description: Operations for managing webhooks
paths:
  /webhooks:
    get:
      operationId: listWebhooks
      summary: Cisco Webex List Webhooks
      description: >-
        Lists all webhooks registered by the authenticated user. Results are
        paginated and include webhook status and configuration details.
      tags:
        - Webhooks
      parameters:
        - name: max
          in: query
          description: Maximum number of webhooks to return (default 100).
          schema:
            type: integer
            default: 100
        - name: ownedBy
          in: query
          description: >-
            Filter webhooks by ownership. Set to 'org' for organization-level
            webhooks.
          schema:
            type: string
      responses:
        '200':
          description: Successful response with list of webhooks.
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/Webhook'
        '401':
          description: Unauthorized - invalid or missing access token.
    post:
      operationId: createWebhook
      summary: Cisco Webex Create a Webhook
      description: >-
        Creates a new webhook. Webhooks receive HTTP POST requests when the
        specified resource and event combination occurs. A secret can be
        provided for payload signature verification.
      tags:
        - Webhooks
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateWebhookRequest'
      responses:
        '200':
          description: Webhook created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Webhook'
        '400':
          description: Bad request - invalid input parameters.
        '401':
          description: Unauthorized - invalid or missing access token.
  /webhooks/{webhookId}:
    get:
      operationId: getWebhookDetails
      summary: Cisco Webex Get Webhook Details
      description: >-
        Shows details for a webhook by ID. Returns the webhook configuration,
        status, and metadata.
      tags:
        - Webhooks
      parameters:
        - name: webhookId
          in: path
          required: true
          description: Unique identifier for the webhook.
          schema:
            type: string
      responses:
        '200':
          description: Successful response with webhook details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Webhook'
        '404':
          description: Webhook not found.
    put:
      operationId: updateWebhook
      summary: Cisco Webex Update a Webhook
      description: >-
        Updates a webhook by ID. Allows changing the name, target URL,
        secret, status, and ownership of the webhook.
      tags:
        - Webhooks
      parameters:
        - name: webhookId
          in: path
          required: true
          description: Unique identifier for the webhook.
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateWebhookRequest'
      responses:
        '200':
          description: Webhook updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Webhook'
        '400':
          description: Bad request - invalid input parameters.
        '404':
          description: Webhook not found.
    delete:
      operationId: deleteWebhook
      summary: Cisco Webex Delete a Webhook
      description: >-
        Deletes a webhook by ID. The webhook will no longer receive
        notifications for the configured resource and event.
      tags:
        - Webhooks
      parameters:
        - name: webhookId
          in: path
          required: true
          description: Unique identifier for the webhook.
          schema:
            type: string
      responses:
        '204':
          description: Webhook deleted successfully.
        '404':
          description: Webhook not found.
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Webex API access token. Obtain via OAuth 2.0 authorization flow or
        personal access token from developer.webex.com.
  schemas:
    Webhook:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the webhook.
        name:
          type: string
          description: A user-friendly name for the webhook.
        targetUrl:
          type: string
          format: uri
          description: The URL that receives the webhook POST requests.
        resource:
          type: string
          description: The resource type for the webhook.
          enum:
            - messages
            - rooms
            - memberships
            - meetings
            - recordings
            - meetingParticipants
            - meetingTranscripts
            - attachmentActions
            - telephony_calls
        event:
          type: string
          description: The event type for the webhook.
          enum:
            - created
            - updated
            - deleted
            - started
            - ended
            - joined
            - left
            - migrated
            - read
        filter:
          type: string
          description: The filter expression for the webhook scope.
        secret:
          type: string
          description: Secret for generating webhook payload signatures.
        status:
          type: string
          description: The current status of the webhook.
          enum:
            - active
            - inactive
        ownedBy:
          type: string
          description: Webhook ownership type.
        orgId:
          type: string
          description: Organization ID of the webhook owner.
        createdBy:
          type: string
          description: Person ID of the webhook creator.
        appId:
          type: string
          description: Application ID associated with the webhook.
        created:
          type: string
          format: date-time
          description: Date and time the webhook was created.
    CreateWebhookRequest:
      type: object
      required:
        - name
        - targetUrl
        - resource
        - event
      properties:
        name:
          type: string
          description: A user-friendly name for the webhook.
        targetUrl:
          type: string
          format: uri
          description: The URL to receive webhook POST requests.
        resource:
          type: string
          description: The resource type to monitor.
          enum:
            - messages
            - rooms
            - memberships
            - meetings
            - recordings
            - meetingParticipants
            - meetingTranscripts
            - attachmentActions
            - telephony_calls
        event:
          type: string
          description: The event type to monitor.
          enum:
            - created
            - updated
            - deleted
            - started
            - ended
            - joined
            - left
            - migrated
            - read
        filter:
          type: string
          description: Filter expression to narrow webhook scope.
        secret:
          type: string
          description: Secret for payload signature verification.
        ownedBy:
          type: string
          description: Set to 'org' for organization-level webhooks.
    UpdateWebhookRequest:
      type: object
      required:
        - name
        - targetUrl
      properties:
        name:
          type: string
          description: Updated name for the webhook.
        targetUrl:
          type: string
          format: uri
          description: Updated target URL for the webhook.
        secret:
          type: string
          description: Updated secret for payload signatures.
        status:
          type: string
          description: Updated webhook status.
          enum:
            - active
            - inactive
        ownedBy:
          type: string
          description: Updated ownership type.