Properties
| Name | Type | Description |
|---|---|---|
| id | string | A unique identifier for the webhook. |
| name | string | A user-friendly name for the webhook. |
| targetUrl | string | URL that receives POST requests for each event. |
| resource | string | Resource type for the webhook. Creating a webhook requires 'read' scope on the resource the webhook is for. * `attachmentActions` - [Attachment Actions](/docs/api/v1/attachment-actions) resource. * `d |
| event | string | Event type for the webhook. * `created` - An object was created. * `updated` - An object was updated. * `deleted` - An object was deleted. * `started` - A meeting was started. * `ended` - A meeting wa |
| filter | string | Filter that defines the webhook scope. |
| secret | string | Secret used to generate payload signature. |
| status | string | Status of the webhook. Use `active` to reactivate a disabled webhook. * `active` - Webhook is active. * `inactive` - Webhook is inactive. |
| created | string | Date and time the webhook was created. |
| ownedBy | string | Specify `org` when creating an org/admin level webhook. Supported for `meetings`, `recordings`, `convergedRecordings`, `meetingParticipants`, `meetingTranscripts`, `videoMeshAlerts`, `controlHubAlerts |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/Webhook",
"title": "Webhook",
"type": "object",
"properties": {
"id": {
"type": "string",
"example": "Y2lzY29zcGFyazovL3VzL1dFQkhPT0svOTZhYmMyYWEtM2RjYy0xMWU1LWExNTItZmUzNDgxOWNkYzlh",
"description": "A unique identifier for the webhook."
},
"name": {
"type": "string",
"example": "My Awesome Webhook",
"description": "A user-friendly name for the webhook."
},
"targetUrl": {
"type": "string",
"example": "https://example.com/mywebhook",
"description": "URL that receives POST requests for each event."
},
"resource": {
"type": "string",
"enum": [
"attachmentActions",
"dataSources",
"memberships",
"messages",
"rooms",
"meetings",
"recordings",
"convergedRecordings",
"meetingParticipants",
"meetingTranscripts",
"telephony_calls",
"telephony_conference",
"telephony_mwi",
"uc_counters",
"serviceApp",
"adminBatchJobs"
],
"description": "Resource type for the webhook. Creating a webhook requires 'read' scope on the resource the webhook is for.\n * `attachmentActions` - [Attachment Actions](/docs/api/v1/attachment-actions) resource.\n * `dataSources` - [data sources](/docs/api/v1/data-sources) resource.\n * `memberships` - [Memberships](/docs/api/v1/memberships) resource.\n * `messages` - [Messages](/docs/api/v1/messages) resource.\n * `rooms` - [Rooms](/docs/api/v1/rooms) resource.\n * `meetings` - [Meetings](/docs/api/v1/meetings) resource.\n * `recordings` - [Recordings](/docs/api/v1/recordings) resource.\n * `convergedRecordings` - [CallRecordings](/docs/api/v1/converged-recordings) resource.\n * `meetingParticipants` - [Meeting Participants](/docs/api/v1/meeting-participants) resource.\n * `meetingTranscripts` - [Meeting Transcripts](/docs/api/v1/meeting-transcripts) resource.\n * `telephony_calls` - [Webex Calling](/docs/webex-calling-overview) call resources.\n * `telephony_conference` - [Webex Calling](/docs/webex-calling-overview) conference controls resource.\n * `telephony_mwi` - [Webex Calling](/docs/webex-calling-overview) voicemail message waiting indicator resource.\n * `uc_counters` - Performance counter for a dedicated instance.\n * `serviceApp` - Service App authorization notification.\n * `adminBatchJobs` - Admin Batch Jobs notification.\n"
},
"event": {
"type": "string",
"enum": [
"created",
"updated",
"deleted",
"started",
"ended",
"joined",
"left",
"migrated",
"authorized",
"deauthorized",
"statusChanged"
],
"description": "Event type for the webhook.\n * `created` - An object was created.\n * `updated` - An object was updated.\n * `deleted` - An object was deleted.\n * `started` - A meeting was started.\n * `ended` - A meeting was ended.\n * `joined` - A participant joined.\n * `left` - A participant left.\n * `migrated` - A room was migrated to a different geography. The roomId has changed.\n * `authorized` - A Service App was authorized.\n * `deauthorized` - A Service App was deauthorized.\n * `statusChanged` - Status of admin batch job was changed.\n"
},
"filter": {
"type": "string",
"example": "roomId=Y2lzY29zcGFyazovL3VzL1JPT00vYmJjZWIxYWQtNDNmMS0zYjU4LTkxNDctZjE0YmIwYzRkMTU0",
"description": "Filter that defines the webhook scope."
},
"secret": {
"type": "string",
"example": "86dacc007724d8ea666f88fc77d918dad9537a15",
"description": "Secret used to generate payload signature."
},
"status": {
"type": "string",
"enum": [
"active",
"inactive"
],
"description": "Status of the webhook. Use `active` to reactivate a disabled webhook.\n * `active` - Webhook is active.\n * `inactive` - Webhook is inactive.\n"
},
"created": {
"type": "string",
"example": "2015-10-18T14:26:16+00:00",
"description": "Date and time the webhook was created."
},
"ownedBy": {
"type": "string",
"example": "org",
"description": "Specify `org` when creating an org/admin level webhook. Supported for `meetings`, `recordings`, `convergedRecordings`, `meetingParticipants`, `meetingTranscripts`, `videoMeshAlerts`, `controlHubAlerts`, `rooms`, `messaging` and `adminBatchJobs` (for Compliance Officers and messages with file attachments only - see [inline file DLP](/docs/api/guides/webex-real-time-file-dlp-basics)) resources."
}
}
}
Work with this as data
Every JSON Schema 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 schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.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.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/webex-webhook"
All schemas
curl "https://apis.io/api/v1/json-schemas?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.