Wowza Video webhook event reference documentation
Use webhooks to listen for and respond to events in your Wowza Video account.
Info
The webhooks feature is currently offered under limited availability, meaning the functionality is available to select Wowza Video users. If you need this functionality, please email us at customerservice@wowza.com.
Info
This topic only applies to version 2.0 of the REST API and the latest Wowza Video user interface.
To receive event notifications, you must enable webhooks for your account and create a webhook endpoint. See Receive event notifications with webhooks for more information.
Events
Wowza Video sends webhook data in JSON format through a POST
request.
The following sample webhook payload is sent when a video is updated.
{
"event_type": "video.updated",
"event_id": "9be47e2a-b5ff-492a-a291-c7be79c060ba",
"event_time": "2024-10-15T16:32:28Z",
"object_id": "d8e89dd5-6263-49ff-b98e-4a768ea21a39",
"payload": {
"id": "d8e89dd5-6263-49ff-b98e-4a768ea21a39",
"name": "Test",
"description": "Test webhooks",
"duration_in_ms": 50348,
"unpublish": false,
"unpublished_at": "2024-10-15T08:03:43+0000",
"published": true,
"published_at": "2024-10-15T08:03:43+0000",
"tags": [],
"remote": false,
"category_id": "b2575006-2b9a-4a1d-8bd2-f5a8d93e9e67",
"no_ads": false,
"ad_keywords": "",
"created_at": "2024-10-15T08:03:43+0000",
"updated_at": "2024-10-15T16:32:28+0000",
"state": "FINISHED",
"encoding_progress": 100,
"upload_progress": 100,
"error_message": "",
"deactivated": false,
"images": [
{
"type": "image_0",
"url": "https://wv-cdn-00-00-staging.flowplayer.com/7ac9b5f3-3ce7-483f-a7cb-80524729517b/i/v-i-d8e89dd5-6263-49ff-b98e-4a768ea21a39-1728979446304.jpg"
},
{
"type": "image_1",
"url": "https://wv-cdn-00-00-staging.flowplayer.com/7ac9b5f3-3ce7-483f-a7cb-80524729517b/i/v-i-d8e89dd5-6263-49ff-b98e-4a768ea21a39-1728979446304.jpg"
},
],
"encodings": [
{
"audio_bitrate_in_kbps": 125,
"audio_channel": 2,
"audio_codec": "mp4a-40-2",
"audio_sample_rate": 48000,
"height": 720,
"width": 1280,
"video_file_url": "https://wv-cdn-00-00-staging.flowplayer.com/7ac9b5f3-3ce7-483f-a7cb-80524729517b/cmaf/d8e89dd5-6263-49ff-b98e-4a768ea21a39/playlist_1728979423022.m3u8",
"video_container": "cmaf",
"video_codec": "avc1",
"total_bitrate_in_kbps": 859,
"created_at": "2024-10-15T08:04:12+0000",
"size_in_bytes": 66384367
},
{
"audio_bitrate_in_kbps": 0,
"audio_channel": 0,
"audio_codec": "aac",
"audio_sample_rate": 0,
"height": 432,
"width": 768,
"video_file_url": "https://wv-cdn-00-00-staging.flowplayer.com/7ac9b5f3-3ce7-483f-a7cb-80524729517b/v-d8e89dd5-6263-49ff-b98e-4a768ea21a39_720p.mp4",
"video_container": "mp4",
"video_codec": "h264",
"total_bitrate_in_kbps": 4666,
"created_at": "2024-10-15T08:04:38+0000",
"size_in_bytes": 23489391
}
],
"drm": null,
"shallow_copy": false,
"shallow_copy_source_id": null,
"multiple_audio_tracks": false,
"audio_only": false,
"version": 1,
"thumbnails": null,
"animated_previews": [],
"origin": {
"id": "zdvhfqmx",
"type": "live_stream",
"uptime_id": "wpcrwhrs"
},
"ad_insertion_points": null
}
}
The envelope, or structure, of the webhook is the same for each event triggered, but the information provided in the envelope fields change depending on the event triggered and the object that triggered it.
Envelope key | Description |
---|---|
event_type |
The event triggered by the object. For example, when a video is updated, the event type received in the webhook video.updated when a webhook event is received. |
event_id |
The unique ID that identifies the specific instance of this event. You can use this ID for internal tracking uses you might have or when you interact with Wowza support to troubleshoot issues. |
event_time |
The time, in ISO-8601 format, that the event was triggered in Wowza's webhook system. |
object_type |
Type of object that triggered the event. Valid values are transcoder or recording. |
object_id |
The unique ID of the object that triggered the event. For transcoders, the object_id is the transcoder ID. For videos, the object_id is the video ID. You can use these IDs to locate the object that triggered the event in Wowza Video. |
payload |
Data relevant to the object and event that triggered the webhook. |
Transcoder events
Wowza Video sends the following events for transcoder actions. The object_id
in the payload is the transcoder ID.
Info
These events are triggered for transcoder actions in both the live stream and transcoder workflows.
Event | Sample payload | Description |
---|---|---|
transcoder.start.requested | { |
Occurs when a request is made to start a transcoder. |
transcoder.start.complete | { |
Occurs when the transcoder starts and is available. |
transcoder.start.canceled | { |
Occurs when the transcoder cancels the startup process because of a failure. |
transcoder.audio.started | { |
Occurs when a running transcoder has started receiving audio. |
transcoder.audio.stopped | { |
Occurs when a running transcoder has stopped receiving audio. |
transcoder.video.started | { |
Occurs when a running transcoder has started receiving video. |
transcoder.video.stopped | { |
Occurs when a running transcoder has stopped receiving video. |
transcoder.stop.complete | { |
Occurs when the transcoder has stopped and is no longer available. |
Info
By default, reference_id
is null
. The Wowza Video API has functionality that lets you set a unique ID,
reference_id
, associated with transcoder events and returned in transcoder webhook payloads.
A sample payload
after setting reference_id
:
"payload": { "uptime_id": "jbfg6npg", "reference_id": "mySystemID_01" }
See POST/transcoders, PATCH/transcoders/[ID], POST/live_streams, and PATCH /live_streams/[ID] for more information.
Real-time stream events
Wowza Video sends the following events for real-time streams. The object_id
in the payload is the real-time stream ID.
Event | Sample payload | Description |
---|---|---|
real_time_stream.started | { |
Occurs when a real-time stream has started streaming. | real_time_stream.stopped | { |
Occurs when a real-time stream has stopped streaming. |
Video events
Wowza Video sends the following events for videos (VOD). The object_id
in the payload is the video ID.
Event | Sample payload | Description |
---|---|---|
video.ready | { |
Occurs when a video is ready for streaming. |
video.updated | { |
Occurs when a video is updated. |
video.deleted | { |
Occurs when a video is deleted. |