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.

Copy
Copied
   {
    "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

{
  "event_type":"transcoder.start.requested",
  "event_id":"e0e3e832-ac5d-41b5-9453-d60ff14e5010",
  "event_time":"2024-10-15T16:32:28Z",
  "object_id":"vxbfbxwv",
  "payload":{
    "uptime_id":"rpqjccv6",
    "reference_id":"null"
}

Occurs when a request is made to start a transcoder.
transcoder.start.complete

{
  "event_type":"transcoder.start.complete",
  "event_id":"e0e3e832-ac5d-41b5-9453-d60ff14e5010",
  "event_time":"2024-10-15T16:32:28Z",
  "object_id":"vxbfbxwv",
  "payload":{
    "uptime_id":"rpqjccv6",
    "reference_id":"null"
}

Occurs when the transcoder starts and is available.
transcoder.start.canceled

{
  "event_type":"transcoder.start.canceled",
  "event_id":"e0e3e832-ac5d-41b5-9453-d60ff14e5010",
  "event_time":"2024-10-15T16:32:28Z",
  "object_id":"vxbfbxwv",
  "payload":{
    "uptime_id":"null",
    "reference_id":"null"
}

Occurs when the transcoder cancels the startup process because of a failure.
transcoder.audio.started

{
  "event":"transcoder.audio.started",
  "event_id":"e0e3e832-ac5d-41b5-9453-d60ff14e5010",
  "event_time":"2024-10-15T16:32:28Z",
  "object_id":"vxbfbxwv",
  "payload":{
    "stream_name":"3920b4c6.stream",
    "codec":"AAC"
    "reference_id":"null"
}

Occurs when a running transcoder has started receiving audio.
transcoder.audio.stopped

{
  "event_type":"transcoder.audio.stopped",
  "event_id":"7ab488a5-1038-4bfc-9bee-c90bdef01689",
  "event_time":"2024-10-17T03:12:57Z",
  "object_id":"vxbfbxwv",
  "payload":{
    "stream_name":"3920b4c6.stream",
    "height":"720",
    "width":"1280",
    "codec_string":"avcl.4d402a",
    "codec":"H264",
    "profile":"Main",
    "level":"1.2",
    "reference_id":"null"
}

Occurs when a running transcoder has stopped receiving audio.
transcoder.video.started

{
  "event_type":"transcoder.video.started",
  "event_id":"7ab488a5-1038-4bfc-9bee-c90bdef01689",
  "event_time":"2024-10-17T03:12:57Z",
  "object_id":"vxbfbxwv",
  "payload":{
    "stream_name":"3920b4c6.stream",
    "height":"720",
    "width":"1280",
    "codec":"H264",
    "codec_string":"avc1.4d402a",
    "profile":"Main",
    "level":"1.2",
    "reference_id":"null"
}

Occurs when a running transcoder has started receiving video.
transcoder.video.stopped

{
  "event_type":"transcoder.video.stopped",
  "event_id":"7ab488a5-1038-4bfc-9bee-c90bdef01689",
  "event_time":"2024-10-17T03:12:57Z",
  "object_id":"vxbfbxwv",
  "payload":{
    "stream_name":"3920b4c6.stream",
    "reference_id":"null"
}

Occurs when a running transcoder has stopped receiving video.
transcoder.stop.complete

{
  "event_type":"transcoder.stop.complete",
  "event_id":"7ab488a5-1038-4bfc-9bee-c90bdef01689",
  "event_time":"2024-10-17T03:12:57Z",
  "object_id":"vxbfbxwv",
  "payload":{
    "uptime_id":"rpwjccv4",
    "reference_id":"null"
}

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:

Copy
Copied
"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

{
  "event_type":"real_time_stream.started",
  "event_id":"7ab488a5-1038-4bfc-9bee-c90bdef01689",
  "event_time":"2024-10-17T03:12:57Z",
  "object_id":"vxbfbxwv",
  "payload":{
    "name":"3920b4c6.stream",
    "reference_id":"null"
}

Occurs when a real-time stream has started streaming.
real_time_stream.stopped

{
  "event":"real_time_stream.stopped",
  "event_id":"7ab488a5-1038-4bfc-9bee-c90bdef01689",
  "event_time":"2024-10-17T03:12:57Z",
  "object_id":"vxbfbxwv",
  "payload":{
    "name":"3920b4c6.stream",
    "reference_id":"null"
}

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

{
  "event_type":"video.ready",
  "event_id":"7ab488a5-1038-4bfc-9bee-c90bdef01689",
  "event_time":"2024-10-17T03:12:57Z",
  "object_id":"d8e89dd5-6263-49ff-b98e-4a768ea21a39",
  "created_at":"2024-10-01T12:33:22+00:00",
  "payload":{
    "name":"My video",
    "description":"string",
    "duration":0,
    "unpublish":"false",
    ...,
    "version":0
}

Occurs when a video is ready for streaming.
video.updated

{
  "event_type":"video.updated",
  "event_id":"7ab488a5-1038-4bfc-9bee-c90bdef01689",
  "event_time":"2024-10-17T03:12:57Z",
  "object_id":"d8e89dd5-6263-49ff-b98e-4a768ea21a39",
  "payload":{
    "name":"My video",
    "description":"string",
    "duration":0,
    "unpublish":"false",
    ...,
    "version":0
}

Occurs when a video is updated.
video.deleted

{
  "event_type":"video.deleted",
  "event_id":"7ab488a5-1038-4bfc-9bee-c90bdef01689",
  "event_time":"2024-10-17T03:12:57Z",
  "object_id":"d8e89dd5-6263-49ff-b98e-4a768ea21a39",
  "created_at":"2024-10-01T12:33:22+00:00",
  "payload":{
    "success":"ok",
    "id":"d99d14ea-9a4f-4eae-b833-74ca500c2dc3"
}

Occurs when a video is deleted.

More resources