Video Webhooks
video.created
- Event for when a new VOD video is created.
- Event payload:
{
  "eventTime": "2024-07-17T11:17:25.7659945Z",
  "eventType": "video.created",
  "data": {
    "Id": "{Id}",
    "Title": "{Title}",
    "Author": "{Author}"
  },
  "projectId": "{projectId}"
} 
video.updated
- Event for when a video is updated.
- Event payload:
{
  "eventTime": "2024-07-17T11:27:02.140205Z",
  "eventType": "video.updated",
  "data": {
    "PublicId": "{PublicId}",
    "Id": "{Id}",
    "Name": "{Name}",
    "Title": "{Title}",
    "Description": "",
    "ThumbnailUrl": "{ThumbnailUrl}",
    "FilmstripUrl": "{FilmstripUrl}",
    "FilmstripVttUrl": "{FilmstripVttUrl}",
    "InsertDate": "2024-07-17T11:17:25.5992645",
    "PublishStatusId": 9,
    "PublishStatusName": "PartiallyReady",
    "Duration": 30,
    "SkipIntroState": false,
    "CustomOverlayState": false,
    "ChapterState": false,
    "CanEmbed": true,
    "CanPreview": true,
    "Source": "",
    "Author": "",
    "IsLive": "False",
    "VisibilityOptionId": 1,
    "VisibilityOption": "Public",
    "VideoLockState": false,
    "LockAfter": 0,
    "Password": "",
    "PasswordProtectedTitle": "",
    "PasswordProtectedDescription": "",
    "TagNames": [],
    "CustomParameters": [],
    "CustomOverlays": [],
    "Chapters": []
  },
  "projectId": "{projectId}"
}
video.deleted
- Event for when a video is deleted.
- Event payload:
{
  "eventTime": "2024-07-17T11:28:18.1339113Z",
  "eventType": "video.deleted",
  "data": {
    "Id": "{Id}",
    "Title": "{Title}"
  },
  "projectId": "{projectId}"
}
video.publish.status.changed
- Event for when a video’s publish status changes.
- Publish statuses that can be sent are:- Processing - 1
- Ready - 2
- Failed - 4
- ReEncoding -8
 
- Event payload:
{
  "eventTime": "2024-07-17T11:18:12.9451559Z",
  "eventType": "video.publish.status.changed",
  "data": {
    "Id": "{Id}",
    "PublishStatusId": 2,
    "PublishStatusName": "Ready"
  },
  "projectId": "{projectId}"
}
video.encode.started
- Event for when a video starts encoding.
- Event payload:
{
  "eventTime": "2024-07-17T11:17:33.9756162Z",
  "eventType": "video.encode.started",
  "data": {
    "Id": "{Id}",
    "VideoId": "{VideoId}",
    "MediaId": "{MediaId}",
    "MediaType": "Video",
    "StreamUrl": "{StreamUrl}",
    "StatusDescription": "Processing",
    "Status": "Processing",
    "Duration": 0,
    "Width": 0,
    "Height": 0,
    "Bitrate": 0,
    "AudioBitrate": 0,
    "AudioSampleRate": 0,
    "StartDateTime": "2025-02-14T13:08:28.129Z",
    "EndDateTime": "2025-02-14T13:08:28.129Z"
  },
  "projectId": "{projectId}"
} 
video.encode.completed
- Event for when a video encoding has completed
- Event payload:
{
  "eventTime": "2024-07-17T11:31:31.2607547Z",
  "eventType": "video.encode.completed",
  "data": {
    "Id": "{Id}",
    "VideoId": "{VideoId}",
    "MediaId": "{MediaId}",
    "MediaType": "Video",
    "StreamUrl": "{StreamUrl}",
    "StatusDescription": "Complete",
    "Status": "Complete",
    "Duration": 30.036667,
    "Width": 0,
    "Height": 0,
    "Bitrate": 0,
    "AudioBitrate": 0,
    "AudioSampleRate": 0,
    "StartDateTime": "2025-02-14T13:08:28.129Z",
    "EndDateTime": "2025-02-14T13:08:28.129Z"
  },
  "projectId": "{projectId}"
}
video.encode.errored
- Event for when a video encoding fails as a result of an error.
- Event payload:
{
  "eventTime": "2023-10-19T09:32:00.4585451Z",
  "eventType": "video.encode.errored",
  "data":  {
    "AudioBitrate": 2276,
    "AudioCodec": "aac",
    "AudioSampleRate": 48000,
    "Bitrate": 5528049,
    "Duration": 323,
    "Height": 1080,
    "MediaId": "{MediaId}",
    "Progress": 100,
    "QualityType": "1080p",
    "Size": 223567643,
    "StatusDescription": "Error",
    "StreamUrl": "",
    "VideoId": "{VideoId}",
    "Width": 1920,
    "StartDateTime": "2025-02-14T13:08:28.129Z",
    "EndDateTime": "2025-02-14T13:08:28.129Z"
  },
  "projectId": "{projectId}"
}
video.encode.quality.started
- Event for when a video’s quality encoding has started.
- Event payload:
{
  "eventTime": "2024-07-17T11:17:42.7672597Z",
  "eventType": "video.encode.quality.started",
  "data": {
    "Id": "{Id}",
    "VideoId": "{VideoId}",
    "MediaId": "{MediaId}",
    "MediaType": "Video",
    "QualityType": "320kbps_audio",
    "StreamUrl": "{StreamUrl}",
    "StatusDescription": "Processing",
    "Status": "Processing",
    "Duration": 30.036667,
    "Size": 0,
    "Width": 0,
    "Height": 0,
    "Bitrate": 0,
    "AudioBitrate": 0,
    "AudioSampleRate": 0,
    "Progress": 0,
    "StartDateTime": "2025-02-14T13:08:28.129Z",
    "EndDateTime": "2025-02-14T13:08:28.129Z"
  },
  "projectId": "{projectId}"
}
video.encode.quality.completed
- Event for when a video’s quality has finished encoding.
- Event payload:
{
  "eventTime": "2024-07-17T11:17:53.959009Z",
  "eventType": "video.encode.quality.completed",
  "data": {
    "Id": "{Id}",
    "VideoId": "{VideoId}",
    "MediaId": "{MediaId}",
    "MediaType": "Video",
    "QualityType": "240p",
    "StreamUrl": "{StreamUrl}",
    "StatusDescription": "Complete",
    "Status": "Complete",
    "Duration": 30.036667,
    "Size": 722902,
    "Width": 240,
    "Height": 428,
    "Bitrate": 182981,
    "AudioCodec": "aac",
    "AudioBitrate": 2280,
    "AudioSampleRate": 48000,
    "Progress": 100,
    "StartDateTime": "2025-02-14T13:08:28.129Z",
    "EndDateTime": "2025-02-14T13:08:28.129Z"
  },
  "projectId": "{projectId}"
}
video.encode.quality.errored
- Event for when a video’s quality encoding has failed as a result of an error.
- Event payload:
{
  "eventTime": "2023-10-19T09:32:00.4603771Z",
  "eventType": "video.encode.quality.errored",
  "data": {
    "AudioBitrate": 2276,
    "AudioCodec": "aac",
    "AudioSampleRate": 48000,
    "Bitrate": 5528049,
    "Duration": 323,
    "Height": 1080,
    "MediaId": "{MediaId}",
    "Progress": 100,
    "QualityType": "1080p",
    "Size": 223567643,
    "StatusDescription": "Error",
    "StreamUrl": "",
    "VideoId": "{VideoId}",
    "Width": 1920,
    "StartDateTime": "2025-02-14T13:08:28.129Z",
    "EndDateTime": "2025-02-14T13:08:28.129Z"
  },
  "projectId": "{projectId}"
}
video.encode.submitted
- Event for when a video is submitted for encoding.
- Event payload:
- StreamUrl will be provided only for videos that support OnTheFlyPackager.
{
  "eventTime": "2024-07-17T11:17:31.2644329Z",
  "eventType": "video.encode.submitted",
  "data": {
    "Id": "{Id}",
    "StreamUrl": "{StreamUrl}"
  },
  "projectId": "{projectId}"
}
video.thumbnail.changed
- Event for when a video's thumbnail change
- Event payload:
{
  "eventTime": "2024-07-17T11:26:29.4926736Z",
  "eventType": "video.thumbnail.changed",
  "data": {
    "Id": "{Id}",
    "Path": "{Path}",
    "BlobPath": "{BlobPath}"
  },
  "projectId": "{projectId}"
}
video.image.created
- Event for when a video's thumbnail is generated
- Event payload:
{
  "eventTime": "2025-05-22T12:18:27.3860094Z",
  "eventType": "video.image.created",
  "data": {
    "ImageUrl": "{ImageUrl}",
    "VideoId": "{VideoId}"
  },
  "projectId": "{projectId}"
}
video.animation.created
- Event for when a video's animation is generated
- Event payload:
{
  "eventTime": "2025-05-22T12:22:02.7515855Z",
  "eventType": "video.animation.created",
  "data": {
    "AnimationUrl": "{AnimationUrl}",
    "VideoId": "{VideoId}"
  },
  "projectId": "{projectId}"
}