Skip to main content
Version: /v2

Webhooks List - API


participant-joined

  • This webhook is called when new participant join the meeting with following payload.

Example

{
"webhookType": "participant-joined",
"data": {
"meetingId": "jvsg-8rjn-j304",
"sessionId": "613731342f27f56e4fc4b6d0",
"participantId": "fkd74h",
"participantName": "John",
},
}

participant-left

  • This webhook is called when participant left the meeting with following payload.
  • reason describes why the participant left (e.g. "user-left", "connection-error", or "UNKNOWN" when the reason could not be determined).

Example

{
"webhookType": "participant-left",
"data": {
"meetingId": "jvsg-8rjn-j304",
"sessionId": "613731342f27f56e4fc4b6d0",
"participantId": "fkd74h",
"participantName": "John",
"reason": "user-left",
},
}

session-started

  • This webhook is called when new meeting session is successfully started

Example

{
"webhookType": "session-started",
"data": {
"sessionId": "613731342f27f56e4fc4b6d0",
"meetingId": "jvsg-8rjn-j304",
"start": "2022-07-05T15:55:35.047+00:00",
},
}

session-ended

  • This webhook is called when all participants lefts and meeting session is closed.
  • reason carries the close reason (defaults to "Meeting Ended.") and error holds the error object when the session was closed due to an error (otherwise null).

Example

{
"webhookType": "session-ended",
"data": {
"sessionId": "613731342f27f56e4fc4b6d0",
"meetingId": "jvsg-8rjn-j304",
"start": "2022-07-05T15:55:35.047+00:00",
"end": "2022-07-05T15:60:35.047+00:00",
"error": null,
"reason": "Meeting Ended.",
},
}

recording-starting

  • A "Recording Starting" webhook is triggered when the recording process for a meeting is initiated.
  • id is the composer (resource) id for this recording. message is included only when a reason is available.

Example

{
"webhookType": "recording-starting",
"data": {
"meetingId": "jvsg-8rjn-j304",
"sessionId": "613731342f27f56e4fc4b6d0",
"id": "665fcf7f2abe9a2807e42700",
"message?": "reason, if any"
},
}

recording-started

  • Recording started webhook will be received when successfully recording is started in meeting

Example

{
"webhookType": "recording-started",
"data": {
"meetingId": "jvsg-8rjn-j304",
"sessionId": "613731342f27f56e4fc4b6d0",
"id": "665fcf7f2abe9a2807e42700",
},
}

recording-stopping

  • A "Recording Stopping" webhook is triggered when the recording end process for a meeting is initiated.

Example

{
"webhookType": "recording-stopping",
"data": {
"meetingId": "jvsg-8rjn-j304",
"sessionId": "613731342f27f56e4fc4b6d0",
"id": "665fcf7f2abe9a2807e42700",
"message?": "reason, if any"
},
}

recording-stopped

  • Recording stopped webhook will be received when recording is successfully stopped in meeting.
  • When the recording is encrypted, an encryption object with the keyUrl and metaUrl is included.

Example

{
"webhookType": "recording-stopped",
"data": {
"meetingId": "jvsg-8rjn-j304",
"sessionId": "613731342f27f56e4fc4b6d0",
"id": "665fcf7f2abe9a2807e42700",
"filePath" : "/encoded/videos/62d148951a1eb20029fc9b05.mp4",
"fileUrl" : "https://cdn.videosdk.live/encoded/videos/62d148951a1eb20029fc9b05.mp4",
// only present when the recording is encrypted
"encryption?": {
"keyUrl": "https://cdn.videosdk.live/encoded/videos/62d148951a1eb20029fc9b05.key.enc",
"metaUrl": "https://cdn.videosdk.live/encoded/videos/62d148951a1eb20029fc9b05.meta.json"
}
},
}

recording-failed

  • A "Recording Failed" webhook is generated when the recording process encounters an interruption or issue during either the starting or stopping phases.

Example

{
"webhookType": "recording-failed",
"data": {
"meetingId": "jvsg-8rjn-j304",
"sessionId": "613731342f27f56e4fc4b6d0",
"id": "665fcf7f2abe9a2807e42700",
"message?": "reason, if any"
},
}

participant-track-recording-starting

  • A "Participant Track Recording Starting" webhook is triggered when the track recording process for a participant is initiated.

Example

{
"webhookType": "participant-track-recording-starting",
"data": {
"meetingId": "jvsg-8rjn-j304",
"sessionId": "613731342f27f56e4fc4b6d0",
"participantId": "abcd",
"kind": "audio",
"fileFormat": "webm",
},
}

participant-track-recording-started

  • Participant Track Recording started webhook will be received when successfully track recording is started in meeting

Example

{
"webhookType": "participant-track-recording-started",
"data": {
"meetingId": "jvsg-8rjn-j304",
"sessionId": "613731342f27f56e4fc4b6d0",
"participantId": "abcd",
"kind": "audio",
"fileFormat": "webm",
},
}

participant-track-recording-stopping

  • A "Participant Track Recording Stopping" webhook is triggered when the track recording end process for a participant is initiated.

Example

{
"webhookType": "participant-track-recording-stopping",
"data": {
"meetingId": "jvsg-8rjn-j304",
"sessionId": "613731342f27f56e4fc4b6d0",
"participantId": "abcd",
"kind": "audio",
"fileFormat": "webm",
},
}

participant-track-recording-stopped

  • Participant Track Recording stopped webhook will be received when track recording is successfully stopped in meeting.
  • fileUrl is null when the recording is stored using your own storage credentials.

Example

{
"webhookType": "participant-track-recording-stopped",
"data": {
"meetingId": "jvsg-8rjn-j304",
"sessionId": "613731342f27f56e4fc4b6d0",
"participantId": "abcd",
"kind": "audio",
"fileDetails" : [
{
"filePath" : "/encoded/videos/62d148951a1eb20029fc9b05.mp4",
"fileUrl" : "https://cdn.videosdk.live/encoded/videos/62d148951a1eb20029fc9b05.mp4",
}
]
},
}

participant-track-recording-failed

  • A "Participant Track Recording Failed" webhook is generated when the track recording process encounters an interruption or issue during either the starting or stopping phases.

Example

{
"webhookType": "participant-track-recording-failed",
"data": {
"meetingId": "jvsg-8rjn-j304",
"sessionId": "613731342f27f56e4fc4b6d0",
"participantId": "abcd",
"kind": "audio",
},
}

participant-recording-starting

  • A "Participant Recording Starting" webhook is triggered when the participant recording process for a participant is initiated.

Example

{
"webhookType": "participant-recording-starting",
"data": {
"meetingId": "jvsg-8rjn-j304",
"sessionId": "613731342f27f56e4fc4b6d0",
"participantId": "abcd",
"fileFormat": "webm",
},
}

participant-recording-started

  • Participant Recording started webhook will be received when successfully participant recording is started in meeting

Example

{
"webhookType": "participant-recording-started",
"data": {
"meetingId": "jvsg-8rjn-j304",
"sessionId": "613731342f27f56e4fc4b6d0",
"participantId": "abcd",
"fileFormat": "webm",
},
}

participant-recording-stopping

  • A "Participant Recording Stopping" webhook is triggered when the participant recording end process for a participant is initiated.

Example

{
"webhookType": "participant-recording-stopping",
"data": {
"meetingId": "jvsg-8rjn-j304",
"sessionId": "613731342f27f56e4fc4b6d0",
"participantId": "abcd",
"fileFormat": "webm",
},
}

participant-recording-stopped

  • Participant Recording stopped webhook will be received when participant recording is successfully stopped in meeting.
  • fileUrl is null when the recording is stored using your own storage credentials.

Example

{
"webhookType": "participant-recording-stopped",
"data": {
"meetingId": "jvsg-8rjn-j304",
"sessionId": "613731342f27f56e4fc4b6d0",
"participantId": "abcd",
"fileDetails" : [
{
"filePath" : "/encoded/videos/62d148951a1eb20029fc9b05.mp4",
"fileUrl" : "https://cdn.videosdk.live/encoded/videos/62d148951a1eb20029fc9b05.mp4",
}
]
},
}

participant-recording-failed

  • A "Participant Recording Failed" webhook is generated when the participant recording process encounters an interruption or issue during either the starting or stopping phases.

Example

{
"webhookType": "participant-recording-failed",
"data": {
"meetingId": "jvsg-8rjn-j304",
"sessionId": "613731342f27f56e4fc4b6d0",
"participantId": "abcd",
},
}

merge-recording-completed

  • A "Merge Recording Completed" webhook is triggered when the participant recordings have been successfully merged.

Example

{
"webhookType": "merge-recording-completed",
"data": {
"id": "bf37fabb-6e34-418b-bc29-97f053fc6cfe",
"meetingId": "jvsg-8rjn-j304",
"sessionId": "613731342f27f56e4fc4b6d0",
},
}

merge-recording-failed

  • A "Merge Recording Failed" webhook is triggered when the merge operation fails due to any issue during processing (e.g., missing recordings, sync issues, internal error, etc.).

Example

{
"webhookType": "merge-recording-failed",
"data": {
"id": "bf37fabb-6e34-418b-bc29-97f053fc6cfe",
"meetingId": "jvsg-8rjn-j304",
"sessionId": "613731342f27f56e4fc4b6d0",
"message?": "error message, if any"
},
}

composite-merge-started

  • A "Composite Merge Started" webhook is triggered when the composite-merge transcoding job is picked up by the transcoder and begins processing.

Example

{
"webhookType": "composite-merge-started",
"data": {
"id": "665fcf7f2abe9a2807e42700",
"task": "composite-merge",
"meetingId": "jvsg-8rjn-j304",
"sessionId": "613731342f27f56e4fc4b6d0"
},
}

composite-merge-completed

  • A "Composite Merge Completed" webhook is triggered when the participant recordings have been successfully composited into a single MP4 file.

Example

{
"webhookType": "composite-merge-completed",
"data": {
"id": "665fcf7f2abe9a2807e42700",
"task": "composite-merge",
"meetingId": "jvsg-8rjn-j304",
"sessionId": "613731342f27f56e4fc4b6d0",
"fileUrl": "<CDN_URL>"
},
}

composite-merge-failed

  • A "Composite Merge Failed" webhook is triggered when the composite-merge job fails due to any issue during processing (e.g., missing source files, encoding error, internal error, etc.).

Example

{
"webhookType": "composite-merge-failed",
"data": {
"id": "665fcf7f2abe9a2807e42700",
"task": "composite-merge",
"meetingId": "jvsg-8rjn-j304",
"sessionId": "613731342f27f56e4fc4b6d0",
"message?": "error message, if any"
},
}

composite-merge-cancelled

  • A "Composite Merge Cancelled" webhook is triggered when an in-flight composite-merge job is cancelled via the Cancel Composite Merge API.

Example

{
"webhookType": "composite-merge-cancelled",
"data": {
"id": "665fcf7f2abe9a2807e42700",
"task": "composite-merge",
"meetingId": "jvsg-8rjn-j304",
"sessionId": "613731342f27f56e4fc4b6d0"
},
}

composite-recording-starting

  • A "Composite Recording Starting" webhook is triggered when the composite recording process is initiated.
  • participants lists the participants being composited, each with their participantId and recorded kinds. recordingId identifies the composite recording.

Example

{
"webhookType": "composite-recording-starting",
"data": {
"roomId": "jvsg-8rjn-j304",
"sessionId": "613731342f27f56e4fc4b6d0",
"participants": [
{
"participantId": "abcd",
"kind": ["audio", "video"]
}
],
"recordingId": "665fcf7f2abe9a2807e42700"
},
}

composite-recording-started

  • A "Composite Recording Started" webhook is received when the composite recording is successfully started.

Example

{
"webhookType": "composite-recording-started",
"data": {
"roomId": "jvsg-8rjn-j304",
"sessionId": "613731342f27f56e4fc4b6d0",
"participants": [
{
"participantId": "abcd",
"kind": ["audio", "video"]
}
],
"recordingId": "665fcf7f2abe9a2807e42700"
},
}

composite-recording-stopping

  • A "Composite Recording Stopping" webhook is triggered when the composite recording end process is initiated.

Example

{
"webhookType": "composite-recording-stopping",
"data": {
"roomId": "jvsg-8rjn-j304",
"sessionId": "613731342f27f56e4fc4b6d0",
"participants": [
{
"participantId": "abcd",
"kind": ["audio", "video"]
}
],
"recordingId": "665fcf7f2abe9a2807e42700"
},
}

composite-recording-stopped

  • A "Composite Recording Stopped" webhook is received when the composite recording is successfully stopped.
  • fileUrl is null when the recording is stored using your own storage credentials.

Example

{
"webhookType": "composite-recording-stopped",
"data": {
"roomId": "jvsg-8rjn-j304",
"sessionId": "613731342f27f56e4fc4b6d0",
"participants": [
{
"participantId": "abcd",
"kind": ["audio", "video"]
}
],
"fileDetails": [
{
"filePath": "/encoded/videos/62d148951a1eb20029fc9b05.mp4",
"fileUrl": "https://cdn.videosdk.live/encoded/videos/62d148951a1eb20029fc9b05.mp4",
}
],
"recordingId": "665fcf7f2abe9a2807e42700"
},
}

composite-recording-failed

  • A "Composite Recording Failed" webhook is generated when the composite recording process encounters an interruption or issue.

Example

{
"webhookType": "composite-recording-failed",
"data": {
"roomId": "jvsg-8rjn-j304",
"sessionId": "613731342f27f56e4fc4b6d0",
"participants": [
{
"participantId": "abcd",
"kind": ["audio", "video"]
}
],
"recordingId": "665fcf7f2abe9a2807e42700"
},
}

transcription-started

  • You will receive a transcription-started webhook when the post transcription or realtime transcription is started successfully. This webhook will be triggered against the webhookUrl provided during the start transcription API call.
  • type is either "post" or "realtime" depending on the transcription mode.

Example

{
"webhookType": "transcription-started",
"data": {
"id": "40b0a4ed-9842-40c9-a288-e4b1bf98a90a",
"type": "realtime",
"meetingId": "jvsg-8rjn-j304",
"sessionId": "621497578bea0d0404c35c4c"
},
}

transcription-stopped

  • You will receive a transcription-stopped webhook when the post transcription or realtime transcription is stopped successfully. This webhook will be triggered against the webhookUrl provided during the start transcription API call.

Example

{
"webhookType": "transcription-stopped",
"data": {
"id": "40b0a4ed-9842-40c9-a288-e4b1bf98a90a",
"type": "realtime",
"meetingId": "jvsg-8rjn-j304",
"sessionId": "621497578bea0d0404c35c4c"
},
}

transcription-failed

  • You will receive a transcription-failed webhook when the post transcription or realtime transcription process encounters an interruption or issue during either the starting or stopping phases. This webhook will be triggered against the webhookUrl provided during the start transcription API call.

Example

{
"webhookType": "transcription-failed",
"data": {
"id": "40b0a4ed-9842-40c9-a288-e4b1bf98a90a",
"type": "realtime",
"meetingId": "jvsg-8rjn-j304",
"sessionId": "621497578bea0d0404c35c4c",
"message?": "reason, if any"
},
}

translation-started

  • You will receive a translation-started webhook when realtime translation is started successfully.

Example

{
"webhookType": "translation-started",
"data": {
"id": "40b0a4ed-9842-40c9-a288-e4b1bf98a90a",
"type": "realtime",
"meetingId": "jvsg-8rjn-j304",
"sessionId": "621497578bea0d0404c35c4c"
},
}

translation-stopped

  • You will receive a translation-stopped webhook when realtime translation is stopped successfully.

Example

{
"webhookType": "translation-stopped",
"data": {
"id": "40b0a4ed-9842-40c9-a288-e4b1bf98a90a",
"type": "realtime",
"meetingId": "jvsg-8rjn-j304",
"sessionId": "621497578bea0d0404c35c4c"
},
}

translation-failed

  • You will receive a translation-failed webhook when the realtime translation process encounters an interruption or issue.

Example

{
"webhookType": "translation-failed",
"data": {
"id": "40b0a4ed-9842-40c9-a288-e4b1bf98a90a",
"type": "realtime",
"meetingId": "jvsg-8rjn-j304",
"sessionId": "621497578bea0d0404c35c4c"
},
}

knowledgebase-processing

  • A "Knowledge Base Processing" webhook is received when a knowledge base record begins processing (ingestion).
  • metaData is the metadata object you provided while creating the knowledge base record.

Example

{
"webhookType": "knowledgebase-processing",
"data": {
"id": "kb-5bf19efa-22af-41d8-8a3f-b4dbd3f8bcac",
"recordId": "rec-2abe9a2807e42700",
"metaData": {}
},
}

knowledgebase-activated

  • A "Knowledge Base Activated" webhook is received when a knowledge base record is successfully processed and is ready to use.

Example

{
"webhookType": "knowledgebase-activated",
"data": {
"id": "kb-5bf19efa-22af-41d8-8a3f-b4dbd3f8bcac",
"recordId": "rec-2abe9a2807e42700",
"metaData": {}
},
}

knowledgebase-failed

  • A "Knowledge Base Failed" webhook is received when processing of a knowledge base record fails.

Example

{
"webhookType": "knowledgebase-failed",
"data": {
"id": "kb-5bf19efa-22af-41d8-8a3f-b4dbd3f8bcac",
"recordId": "rec-2abe9a2807e42700",
"metaData": {},
"message": "reason?, if any"
},
}

livestream-starting

  • A "Livestream Starting" webhook is triggered when the livestreaming process for a meeting is initiated.

Example

{
"webhookType": "livestream-starting",
"data": {
"meetingId": "jvsg-8rjn-j304",
"sessionId": "613731342f27f56e4fc4b6d0",
"id": "665fcf7f2abe9a2807e42700",
"message?": "reason, if any"
},
}

livestream-started

  • When you use live-streaming in our meeting service you will receive this webhook when livestream is successfully started.

Example

{
"webhookType": "livestream-started",
"data": {
"meetingId": "jvsg-8rjn-j304",
"sessionId": "613731342f27f56e4fc4b6d0",
"id": "665fcf7f2abe9a2807e42700",
},
}

livestream-stopping

  • A "Livestream Stopping" webhook is triggered when the livestream end process for a meeting is initiated.

Example

{
"webhookType": "livestream-stopping",
"data": {
"meetingId": "jvsg-8rjn-j304",
"sessionId": "613731342f27f56e4fc4b6d0",
"id": "665fcf7f2abe9a2807e42700",
"message?": "reason, if any"
},
}

livestream-stopped

  • When live-stream is stopped in meeting this webhook is fired with following payload

Example

{
"webhookType": "livestream-stopped",
"data": {
"meetingId": "jvsg-8rjn-j304",
"sessionId": "613731342f27f56e4fc4b6d0",
"id": "665fcf7f2abe9a2807e42700",
},
}

livestream-failed

  • A "Livestream Failed" webhook is generated when the livestream process encounters an interruption or issue during either the starting or stopping phases.

Example

{
"webhookType": "livestream-failed",
"data": {
"meetingId": "jvsg-8rjn-j304",
"sessionId": "613731342f27f56e4fc4b6d0",
"id": "665fcf7f2abe9a2807e42700",
"message?": "reason, if any"
},
}

hls-starting

  • An "HLS Starting" webhook is generated when the HLS (HTTP Live Streaming) process for a meeting is initiated.

Example

{
"webhookType": "hls-starting",
"data": {
"meetingId": "jvsg-8rjn-j304",
"sessionId": "613731342f27f56e4fc4b6d0",
"id": "665fcf7f2abe9a2807e42700",
"message?": "reason, if any"
},
}

hls-started

  • When you use HTTP live streaming (HLS) in a meeting, this event will be fired when encoding of HLS has started.

Example

{
"webhookType": "hls-started",
"data": {
"meetingId": "jvsg-8rjn-j304",
"sessionId": "613731342f27f56e4fc4b6d0",
"id": "665fcf7f2abe9a2807e42700",
"playbackHlsUrl": "https://cdn.videosdk.live/meetings-hls/b8a770ef-d713-4a27-9ab7-e5a0b724caaf/index.m3u8"
},
}

hls-playable

  • When you start HTTP live streaming (HLS) in a meeting, this event will be fired when HLS is in a playable state. So, now you can embed playbackHlsUrl in the HLS player.

  • On hls-playable you get playbackHlsUrl and livestreamUrl.

    • playbackHlsUrl - Live HLS with playback support
    • livestreamUrl - Live HLS without playback support
note

downstreamUrl is now depecated. Use playbackHlsUrl or livestreamUrl in place of downstreamUrl

Example

{
"webhookType": "hls-playable",
"data": {
"meetingId": "jvsg-8rjn-j304",
"sessionId": "613731342f27f56e4fc4b6d0",
"id": "665fcf7f2abe9a2807e42700",
"playbackHlsUrl": "https://cdn.videosdk.live/meetings-hls/b8a770ef-d713-4a27-9ab7-e5a0b724caaf/index.m3u8"
},
}

hls-stopping

  • An "HLS Stopping" webhook is generated when the HLS (HTTP Live Streaming) end process for a meeting is initiated.

Example

{
"webhookType": "hls-stopping",
"data": {
"meetingId": "jvsg-8rjn-j304",
"sessionId": "613731342f27f56e4fc4b6d0",
"id": "665fcf7f2abe9a2807e42700",
"message?": "reason, if any"
},
}

hls-stopped

  • This event is fired when you stop a http live streaming in meeting it has following payload

Example

{
"webhookType": "hls-stopped",
"data": {
"meetingId": "jvsg-8rjn-j304",
"sessionId": "613731342f27f56e4fc4b6d0",
"id": "665fcf7f2abe9a2807e42700",
},
}

hls-failed

  • An "HLS Failed" webhook is generated when the HLS (HTTP Live Streaming) process encounters an interruption or issue during either the starting or stopping phases.

Example

{
"webhookType": "hls-failed",
"data": {
"meetingId": "jvsg-8rjn-j304",
"sessionId": "613731342f27f56e4fc4b6d0",
"id": "665fcf7f2abe9a2807e42700",
"message?": "reason, if any"
},
}

resource-acquired

  • Resource acquired webhook will be received when resource is successfully acquired and ready for composition.
  • composerType is one of "recording", "hls", or "rtmp".

Example

{
"webhookType": "resource-acquired",
"data": {
"id": "abcdef9879288c1f48339f64",
"composerType": "recording",
},
}

resource-released

  • Resource released webhook will be received when an acquired resource is released.

Example

{
"webhookType": "resource-released",
"data": {
"id": "abcdef9879288c1f48339f64",
"composerType": "recording",
},
}

agent-session-starting

  • This webhook will be received when an agent cloud session is initiated.

Example

{
"webhookType": "agent-session-starting",
"data": {
"deploymentId": "dep_abcd",
"versionId": "v_abcd",
"meetingId": "jvsg-8rjn-j304",
"agentId": "ag_abcd"
},
}

agent-session-started

  • This webhook will be received when the agent cloud session is successfully started and running.

Example

{
"webhookType": "agent-session-started",
"data": {
"deploymentId": "dep_abcd",
"sessionId": "665fcf7f2abe9a2807e42700",
"versionId": "v_abcd",
"meetingId": "jvsg-8rjn-j304",
"agentId": "ag_abcd"
},
}

agent-session-stopping

  • This webhook will be received when the stop process for an agent cloud session is initiated.

Example

{
"webhookType": "agent-session-stopping",
"data": {
"sessionId": "665fcf7f2abe9a2807e42700",
"agentId": "ag_abcd",
"deploymentId": "dep_abcd",
"versionId": "v_abcd"
},
}

agent-session-stopped

  • This webhook will be received when the agent cloud session is successfully stopped.

Example

{
"webhookType": "agent-session-stopped",
"data": {
"sessionId": "665fcf7f2abe9a2807e42700",
"agentId": "ag_abcd",
"deploymentId": "dep_abcd",
"versionId": "v_abcd"
},
}

agent-session-failed

  • This webhook will be received when the agent cloud session has failed.

Example

{
"webhookType": "agent-session-failed",
"data": {
"meetingId": "jvsg-8rjn-j304",
"versionId": "v_abcd",
"agentId": "ag_abcd"
},
}

batchcall-started

  • A "Batch Call Started" webhook is triggered when a batch call begins running.

Example

{
"webhookType": "batchcall-started",
"data": {
"batchId": "btcl_abcd",
"batchName": "my-campaign"
},
}

batchcall-completed

  • A "Batch Call Completed" webhook is triggered when a batch call finishes processing all records.

Example

{
"webhookType": "batchcall-completed",
"data": {
"batchId": "btcl_abcd",
"batchName": "my-campaign"
},
}

Call (SIP) Webhooks

  • These webhooks are triggered for SIP/telephony call lifecycle events. All call events share the same payload shape — only the webhookType and the status field differ. See SIP Webhooks for configuration details.

The following webhookTypes are emitted:

webhookTypeTriggered when
call-startedA new outbound or inbound call is initiated.
call-answeredThe call is answered by the recipient.
call-ringingThe call is ringing at the destination endpoint.
call-missedThe call is not answered or missed by the recipient.
call-hangupThe call is completed or hung up by either party.
call-updateThere is an update in the call status.
call-transfer-initiatedA call transfer has been initiated.
call-transfer-acceptedThe call transfer has been accepted by the target.
call-transferringThe call is being transferred to another destination.
call-transfer-ringingThe call is ringing at the transfer target.
call-transferredThe call has been transferred to another destination.
call-transfer-failedThe call transfer failed.
switch-room-initiatedA room switch has been initiated for the call.
switch-room-completedThe room switch has completed.
switch-room-failedThe room switch failed.

Example

{
"webhookType": "call-answered",
"data": {
"callId": "9879288c-1f48-339f-6462-d148951a1eb2",
"roomId": "jvsg-8rjn-j304",
"type": "outbound",
"to": "+1234567890",
"from": "+1987654321",
"metaData": {},
"gatewayId": "abcd-abcd-abcd-abcd-abcd",
"status": "ANSWERED",
"timestamp": "2022-07-05T15:55:35.047+00:00",
"additionalDetails": {},
"ruleId": "rr_2abe9a2807e42700"
},
}

Got a Question? Ask us on discord