Subscribe to transform events

Learn about the events that monitor FastPix media processing, including intros, outros, splicing, audio, subtitles, watermarks, and source management, to enable efficient tracking and automation.

FastPix emits a variety of events related to media transformation processes, allowing you to monitor and respond to changes in the status of your media assets effectively. These events cover a range of transformations, including the addition of intro and outro clips, splicing of media segments, imposing tracks, swapping audio, adding watermarks, optimizing audio, generating subtitles, managing media tracks, and handling media sources. By subscribing to these events, you can automate workflows, trigger notifications, or perform additional processing based on the specific transformations occurring within your media assets.

video.media.intro.ready

Triggered when an intro clip has been successfully added to the beginning of a media asset. This confirms that the intro has been stitched into the main video, making the content ready for playback or distribution with the intro in place.


NameTypeDescription
typestringType of event (e.g., "video.media.intro.ready").
objectobjectObject information.
-object.typestringType of the object (e.g., "media").
-object.idstringUnique identifier for the object (e.g., "22a9a5ca-8b76-4d81-871b-ca718ad5e418").
idstringUnique identifier for the event.
workspaceobjectWorkspace information.
-workspace.namestringName of the workspace (e.g., "Development").
-workspace.idstringUnique identifier for the workspace.
statusstringStatus of the media (e.g., "ready").
dataobjectMedia-specific data.
-data.thumbnailstring (URL)URL for the thumbnail image.
-data.idstringUnique identifier for the media.
-data.workspaceIdstringUnique identifier for the workspace.
-data.metadataobjectMetadata associated with the media.
—data.metadata.key1stringKey-value pair for metadata (e.g., "key1": "value1").
-data.maxResolutionstringMaximum resolution for encoding, storing, and streaming (e.g., "1080p").
-data.sourceResolutionstringSource resolution of the media.
-data.playbackIdsarrayList of playback IDs.
—data.playbackIds[].idstringUnique identifier for the playback ID.
—data.playbackIds[].accessPolicystringAccess policy (e.g., "public").
—data.playbackIds[].accessRestrictionsobjectPlayback access restrictions.
---data.playbackIds[].accessRestrictions.domainsobjectDomain-based access restrictions.
----data.playbackIds[].accessRestrictions.domains.defaultPolicystringDefault domain policy (e.g., "allow").
----data.playbackIds[].accessRestrictions.domains.allowarrayList of allowed domains.
----data.playbackIds[].accessRestrictions.domains.denyarrayList of denied domains.
----data.playbackIds[].accessRestrictions.userAgentsobjectUser agent-based access restrictions.
----data.playbackIds[].accessRestrictions.userAgents.defaultPolicystringDefault user agent policy (e.g., "allow").
----data.playbackIds[].accessRestrictions.userAgents.allowarrayList of allowed user agents.
----data.playbackIds[].accessRestrictions.userAgents.denyarrayList of denied user agents.
-data.tracksarrayList of media tracks.
—data.tracks[].idstringUnique identifier for the track.
—data.tracks[].typestringType of track (e.g., "video").
—data.tracks[].widthintegerWidth of the track (e.g., 1920).
—data.tracks[].heightintegerHeight of the track (e.g., 1080).
—data.tracks[].frameRatestringFrame rate (e.g., "30/1").
—data.tracks[].statusstringStatus of the track (e.g., "available").
—data.tracks[].languageCodestringLanguage code for audio/subtitle track (e.g., "und").
—data.tracks[].languageNamestringFull language name for audio/subtitle track (e.g., "default").
-data.sourceAccessbooleanIndicates if source access is enabled.
-data.mp4SupportstringIndicates MP4 support (e.g., "none").
-data.optimizeAudiobooleanIndicates if audio optimization is enabled.
-data.durationstringDuration of the media (e.g., "00:00:20").
-data.aspectRatiostringAspect ratio of the media (e.g., "16:9").
-data.createdAtstring (ISO 8601)Timestamp when the media was created.
-data.updatedAtstring (ISO 8601)Timestamp when the media was last updated.
-data.mediaQualitystringMedia quality tier for the media (e.g., "pro").
createdAtstring (ISO 8601)Timestamp when the event was created.
attemptsarrayList of attempts made to deliver the webhook.
-attempts[].webhookIdstringUnique identifier for the webhook attempt.
-attempts[].responseStatusCodeintegerHTTP status code of the response.
-attempts[].responseHeadersobjectResponse headers.
—attempts[].responseHeaders.contentTypestringContent type (e.g., "application/json").
—attempts[].responseHeaders.transferstringTransfer encoding (if applicable).
—attempts[].responseHeaders.serverstringServer used for the response (e.g., "nginx").
—attempts[].responseHeaders.datestringDate of the response.
—attempts[].responseHeaders.cacheControlstringCache control headers (if any).
-attempts[].responseBodystringBody of the response (e.g., {"success":false,...}).
-attempts[].maxAttemptsintegerMaximum number of retry attempts (e.g., 30).
-attempts[].idstringUnique identifier for the attempt.
-attempts[].createdAtstring (ISO 8601)Timestamp when the attempt was created.
-attempts[].addressstringURL address of the webhook.

video.media.outro.ready

Triggered when an outro clip has been successfully added to the end of a media asset. Use this event to confirm that the outro has been appended and the final media is prepared with the outro included.


NameTypeDescription
- typestringType of event (e.g., "video.media.outro.ready")
- objectobjectObject information
— object.typestringType of the object (e.g., "media")
— object.idstringUnique identifier for the object
- idstringUnique identifier for the event
- workspaceobjectWorkspace information
— workspace.namestringName of the workspace (e.g., "Development")
— workspace.idstringUnique identifier for the workspace
- statusstringStatus of the media (e.g., "ready")
- dataobjectMedia-specific data
— data.thumbnailstring (URL)URL for the thumbnail image
— data.idstringUnique identifier for the media
— data.workspaceIdstringUnique identifier for the workspace
— data.metadataobjectMetadata associated with the media
--- data.metadata.key1stringKey-value pair (e.g., "key1": "value1")
— data.maxResolutionstringMax resolution for encoding/streaming (e.g., "1080p")
— data.sourceResolutionstringSource resolution of the media
— data.playbackIdsarrayList of playback IDs
--- data.playbackIds[].idstringUnique identifier for the playback ID
--- data.playbackIds[].accessPolicystringAccess policy (e.g., "public")
--- data.playbackIds[].accessRestrictionsobjectAccess restrictions (domains, user agents)
---- domains.defaultPolicystringDefault domain policy (e.g., "allow")
---- domains.allowarrayList of allowed domains
---- domains.denyarrayList of denied domains
---- userAgents.defaultPolicystringDefault user agent policy (e.g., "allow")
---- userAgents.allowarrayList of allowed user agents
---- userAgents.denyarrayList of denied user agents
— data.tracksarrayList of media tracks
--- data.tracks[].idstringTrack ID
--- data.tracks[].typestringType of track (e.g., "video")
--- data.tracks[].widthintegerTrack width (e.g., 1920)
--- data.tracks[].heightintegerTrack height (e.g., 1080)
--- data.tracks[].frameRatestringFrame rate (e.g., "30/1")
--- data.tracks[].statusstringTrack status (e.g., "available")
--- data.tracks[].languageCodestringLanguage code for audio/subtitle track (e.g., "und")
--- data.tracks[].languageNamestringFull language name for audio/subtitle track (e.g., "default")
— data.sourceAccessbooleanWhether source access is enabled (e.g., false)
— data.mp4SupportstringMP4 support (e.g., "none")
— data.optimizeAudiobooleanWhether audio optimization is enabled (e.g., false)
— data.durationstringDuration of media (e.g., "00:00:20")
— data.aspectRatiostringAspect ratio of media (e.g., "16:9")
— data.createdAtstring (ISO 8601)Timestamp when media was created
— data.updatedAtstring (ISO 8601)Timestamp when media was last updated
— data.mediaQualitystringMedia quality tier for the media (e.g., "pro")
- createdAtstring (ISO 8601)Timestamp when event was created
- attemptsarrayDelivery attempts
— attempts[].webhookIdstringWebhook attempt ID
— attempts[].responseStatusCodeintegerHTTP status code of response
— attempts[].responseHeadersobjectResponse headers
--- contentTypestringe.g., "application/json"
--- transfer(optional/unspecified)
--- serverstringServer (e.g., "nginx")
--- datestringDate of response
--- cacheControl(optional/unspecified)
— attempts[].responseBodystringResponse body
— attempts[].maxAttemptsintegerMax retry attempts
— attempts[].idstringUnique identifier for the attempt
— attempts[].createdAtstring (ISO 8601)Timestamp of the attempt
— attempts[].addressstringWebhook target URL

video.media.expunge.ready

Triggered when specified segments of the media have been successfully removed. This is typically used for scenarios like cutting out ads, trimming unwanted sections, or removing objectionable content from the video.


NameTypeDescription
typestringType of event (e.g., “video.media.expunge.ready”).
objectobjectObject information.
- object.typestringType of the object (e.g., “media”).
- object.idstringUnique identifier for the object (e.g., “242923d6-1669-467a-9626-8b41862fb2b6”).
idstringUnique identifier for the event (e.g., “1904e6f3-3e2e-4206-8299-85fb1846b930”).
workspaceobjectWorkspace information.
- workspace.namestringName of the workspace (e.g., “Development”).
- workspace.idstringUnique identifier for the workspace (e.g., “338acdeb-29d4-438b-a40c-1d4105134462”).
statusstringStatus of the media (e.g., “ready”).
dataobject
- data.thumbnailstring (URL)URL for the thumbnail image.
- data.idstringUnique identifier for the media (e.g., “242923d6-1669-467a-9626-8b41862fb2b6”).
- data.workspaceIdstringUnique identifier for the workspace (e.g., “338acdeb-29d4-438b-a40c-1d4105134462”).
- data.metadataobjectMetadata associated with the media.
— data.metadata.key1stringKey-value pair for metadata (e.g., “key1”: “value1”).
- data.maxResolutionstringMaximum resolution for encoding, storing, and streaming media (e.g., “1080p”).
- data.sourceResolutionstringSource resolution of the media (e.g., “1080”).
- data.playbackIdsarrayList of playback IDs.
— data.playbackIds[].idstringUnique identifier for the playback ID (e.g., “49ae2ef3-0a6c-4a7b-8641-00d1c98c70ec”).
— data.playbackIds[].accessPolicystringAccess policy for playback IDs (e.g., “public”).
— data.playbackIds[].accessRestrictionsobjectAccess restrictions for domains and user agents.
--- data.playbackIds[].accessRestrictions.domainsobjectDomain-based access restrictions.
---- data.playbackIds[].accessRestrictions.domains.defaultPolicystringDefault policy for domains (e.g., “allow”).
---- data.playbackIds[].accessRestrictions.domains.allowarrayList of allowed domains.
---- data.playbackIds[].accessRestrictions.domains.denyarrayList of denied domains.
--- data.playbackIds[].accessRestrictions.userAgentsobjectUser agent-based access restrictions.
---- data.playbackIds[].accessRestrictions.userAgents.defaultPolicystringDefault policy for user agents (e.g., “allow”).
---- data.playbackIds[].accessRestrictions.userAgents.allowarrayList of allowed user agents.
---- data.playbackIds[].accessRestrictions.userAgents.denyarrayList of denied user agents.
- data.tracksarrayList of tracks in the media.
— data.tracks[].idstringUnique identifier for the track (e.g., “c6dc4a74-8958-4115-9c7a-469949539892”).
— data.tracks[].typestringType of the track (e.g., “audio”, “video”).
— data.tracks[].statusstringStatus of the track (e.g., “available”).
— data.tracks[].languageCodestringLanguage code for audio/subtitle track (e.g., “und”).
— data.tracks[].languageNamestringFull language name for audio/subtitle track (e.g., “default”).
— data.tracks[].widthintegerWidth of the video track (e.g., 1920).
— data.tracks[].heightintegerHeight of the video track (e.g., 1080).
— data.tracks[].frameRatestringFrame rate of the video track (e.g., “60.000”).
- data.sourceAccessbooleanIndicates if source access is enabled (e.g., false).
- data.mp4SupportstringIndicates MP4 support (e.g., “none”).
- data.optimizeAudiobooleanIndicates if audio optimization is enabled (e.g., false).
- data.durationstringDuration of the media (e.g., “00:00:02”).
- data.aspectRatiostringAspect ratio of the media (e.g., “16:9”).
- data.createdAtstring (ISO 8601)Timestamp when the media was created (e.g., “2026-07-01T10:10:33.564415Z”).
- data.updatedAtstring (ISO 8601)Timestamp when the media was last updated (e.g., “2026-07-01T10:11:06.281212Z”).
- data.mediaQualitystringMedia quality tier for the media (e.g., “pro”).
createdAtstring (ISO 8601)Timestamp when the event was created (e.g., “2026-07-01T10:11:07.720817767Z”).
attemptsarrayList of attempts made to deliver the webhook.

video.media.splicing.ready

Triggered when multiple video segments have been stitched together into a single media file. Use this event to confirm that splicing (joining) is complete and the combined video is ready for playback or further processing.


NameTypeDescription
typestringType of event (e.g., “video.media.splicing.ready”).
objectobjectObject information.
- object.typestringType of the object (e.g., “media”).
- object.idstringUnique identifier for the object (e.g., “de983df2-0462-4c83-bbed-fab102aa1105”).
idstringUnique identifier for the event.
workspaceobjectWorkspace information.
- workspace.namestringName of the workspace (e.g., “Development”).
- workspace.idstringUnique identifier for the workspace (e.g., “338acdeb-29d4-438b-a40c-1d4105134462”).
statusstringStatus of the media (e.g., “ready”).
dataobject
- data.thumbnailstring (URL)URL for the thumbnail image.
- data.idstringUnique identifier for the media (e.g., “de983df2-0462-4c83-bbed-fab102aa1105”).
- data.workspaceIdstringUnique identifier for the workspace (e.g., “338acdeb-29d4-438b-a40c-1d4105134462”).
- data.maxResolutionstringMaximum resolution for encoding, storing, and streaming media (e.g., “1080p”).
- data.sourceResolutionstringSource resolution of the media (e.g., “1080”).
- data.playbackIdsarrayList of playback IDs.
— data.playbackIds[].idstringUnique identifier for the playback ID (e.g., “ccb44144-eda1-48f6-a65e-e4b8db457cb4”).
— data.playbackIds[].accessPolicystringAccess policy for playback IDs (e.g., “public”).
— data.playbackIds[].accessRestrictionsobjectAccess restrictions for domains and user agents.
--- data.playbackIds[].accessRestrictions.domainsobjectDomain-based access restrictions.
---- data.playbackIds[].accessRestrictions.domains.defaultPolicystringDefault policy for domains (e.g., “allow”).
---- data.playbackIds[].accessRestrictions.domains.allowarrayList of allowed domains.
---- data.playbackIds[].accessRestrictions.domains.denyarrayList of denied domains.
--- data.playbackIds[].accessRestrictions.userAgentsobjectUser agent-based access restrictions.
---- data.playbackIds[].accessRestrictions.userAgents.defaultPolicystringDefault policy for user agents (e.g., “allow”).
---- data.playbackIds[].accessRestrictions.userAgents.allowarrayList of allowed user agents.
---- data.playbackIds[].accessRestrictions.userAgents.denyarrayList of denied user agents.
- data.tracksarrayList of tracks in the media.
— data.tracks[].idstringUnique identifier for the track (e.g., “a3354699-4b60-4c51-bfcb-bbdbb2f05d41”).
— data.tracks[].typestringType of the track (e.g., “audio”, “video”).
— data.tracks[].statusstringStatus of the track (e.g., “available”).
— data.tracks[].widthintegerWidth of the video track (e.g., 1920).
— data.tracks[].heightintegerHeight of the video track (e.g., 1080).
— data.tracks[].frameRatestringFrame rate of the video track (e.g., “60.000”).
— data.tracks[].languageCodestringLanguage code for audio/subtitle track (e.g., “und”).
— data.tracks[].languageNamestringFull language name for audio/subtitle track (e.g., “default”).
- data.sourceAccessbooleanIndicates if source access is enabled (e.g., false).
- data.mp4SupportstringIndicates MP4 support (e.g., “none”).
- data.optimizeAudiobooleanIndicates if audio optimization is enabled (e.g., false).
- data.durationstringDuration of the media (e.g., “00:00:20”).
- data.aspectRatiostringAspect ratio of the media (e.g., “16:9”).
- data.createdAtstring (ISO 8601)Timestamp when the media was created.
- data.updatedAtstring (ISO 8601)Timestamp when the media was last updated.
- data.mediaQualitystringMedia quality tier for the media (e.g., “pro”).
createdAtstring (ISO 8601)Timestamp when the event was created.
attemptsarrayList of attempts made to deliver the webhook.
- attempts[].webhookIdstringUnique identifier for the webhook attempt.
- attempts[].responseStatusCodeintegerHTTP status code of the response.
- attempts[].responseHeadersobjectResponse headers for the webhook attempt.
— attempts[].responseHeaders.contentTypestringContent type of the response.
— attempts[].responseHeaders.transfer
— attempts[].responseHeaders.serverstringServer used for the response.
— attempts[].responseHeaders.datestringDate of the response.
— attempts[].responseHeaders.cacheControl
- attempts[].responseBodystringBody of the response.
- attempts[].maxAttemptsintegerMaximum number of retry attempts.
- attempts[].idstringUnique identifier for the attempt.
- attempts[].createdAtstring (ISO 8601)Timestamp when the attempt was created.
- attempts[].addressstringURL address of the webhook.

video.media.impose_tracks.ready

Triggered when a secondary audio track, such as background music, commentary, or narration, has been successfully imposed onto the original media. This event confirms that the overlay audio has been applied and the updated media is ready.


NameTypeDescription
typestringType of event (e.g., “video.media.impose_tracks.ready”).
objectobjectObject information.
- object.typestringType of the object (e.g., “media”).
- object.idstringUnique identifier for the object (e.g., “5856ade0-2531-400a-a715-9c19e4ca4526”).
idstringUnique identifier for the event.
workspaceobjectWorkspace information.
- workspace.namestringName of the workspace (e.g., “Development”).
- workspace.idstringUnique identifier for the workspace (e.g., “338acdeb-29d4-438b-a40c-1d4105134462”).
statusstringStatus of the media (e.g., “ready”).
dataobject
- data.thumbnailstring (URL)URL for the thumbnail image.
- data.idstringUnique identifier for the media (e.g., “5856ade0-2531-400a-a715-9c19e4ca4526”).
- data.workspaceIdstringUnique identifier for the workspace (e.g., “338acdeb-29d4-438b-a40c-1d4105134462”).
- data.metadataobjectMetadata associated with the media.
— data.metadata.key1stringKey-value pair for metadata (e.g., “key1”: “value1”).
- data.maxResolutionstringMaximum resolution for encoding, storing, and streaming media (e.g., “1080p”).
- data.sourceResolutionstringSource resolution of the media (e.g., “1080”).
- data.playbackIdsarrayList of playback IDs.
— data.playbackIds[].idstringUnique identifier for the playback ID (e.g., “7e247e74-10d6-48d1-9b08-2569aae1c2e9”).
— data.playbackIds[].accessPolicystringAccess policy for playback IDs (e.g., “public”).
— data.playbackIds[].accessRestrictionsobjectAccess restrictions for domains and user agents.
--- data.playbackIds[].accessRestrictions.domainsobjectDomain-based access restrictions.
---- data.playbackIds[].accessRestrictions.domains.defaultPolicystringDefault policy for domains (e.g., “allow”).
---- data.playbackIds[].accessRestrictions.domains.allowarrayList of allowed domains.
---- data.playbackIds[].accessRestrictions.domains.denyarrayList of denied domains.
--- data.playbackIds[].accessRestrictions.userAgentsobjectUser agent-based access restrictions.
---- data.playbackIds[].accessRestrictions.userAgents.defaultPolicystringDefault policy for user agents (e.g., “allow”).
---- data.playbackIds[].accessRestrictions.userAgents.allowarrayList of allowed user agents.
---- data.playbackIds[].accessRestrictions.userAgents.denyarrayList of denied user agents.
- data.tracksarrayList of tracks in the media.
— data.tracks[].idstringUnique identifier for the track (e.g., “3315aaf7-cb10-4c6c-999b-fb009320ec72”).
— data.tracks[].typestringType of the track (e.g., “audio”, “video”).
— data.tracks[].statusstringStatus of the track (e.g., “available”).
— data.tracks[].widthintegerWidth of the video track (e.g., 1920).
— data.tracks[].heightintegerHeight of the video track (e.g., 1080).
— data.tracks[].frameRatestringFrame rate of the video track (e.g., “60.000”).
— data.tracks[].languageCodestringLanguage code for audio/subtitle track (e.g., “und”).
— data.tracks[].languageNamestringFull language name for audio/subtitle track (e.g., “default”).
- data.sourceAccessbooleanIndicates if source access is enabled (e.g., false).
- data.mp4SupportstringIndicates MP4 support (e.g., “none”).
- data.optimizeAudiobooleanIndicates if audio optimization is enabled (e.g., false).
- data.durationstringDuration of the media (e.g., “00:00:10”).
- data.aspectRatiostringAspect ratio of the media (e.g., “16:9”).
- data.createdAtstring (ISO 8601)Timestamp when the media was created (e.g., “2026-07-01T10:14:54.107545Z”).
- data.updatedAtstring (ISO 8601)Timestamp when the media was last updated (e.g., “2026-07-01T10:15:09.820658Z”).
- data.mediaQualitystringMedia quality tier for the media (e.g., “pro”).
createdAtstring (ISO 8601)Timestamp when the event was created (e.g., “2025-04-07T11:12:02.500514594Z”).
attemptsarrayList of attempts made to deliver the webhook.
- attempts[].webhookIdstringUnique identifier for the webhook attempt (e.g., “3b0ab5b1-6523-4c13-8012-1d096c150b8e”).
- attempts[].responseStatusCodeintegerHTTP status code of the response (e.g., 404).
- attempts[].responseHeadersobjectResponse headers for the webhook attempt.
— attempts[].responseHeaders.contentTypestringContent type of the response (e.g., “application/json”).
— attempts[].responseHeaders.transfer
— attempts[].responseHeaders.serverstringServer used for the response (e.g., “nginx”).
— attempts[].responseHeaders.datestringDate of the response (e.g., “Mon, 07 Apr 2025 11:12:02 GMT”).
— attempts[].responseHeaders.cacheControl
- attempts[].responseBodystringBody of the response (e.g., "{\"success\":false,...}").
- attempts[].maxAttemptsintegerMaximum number of retry attempts (e.g., 30).
- attempts[].idstringUnique identifier for the attempt (e.g., “540685ef-39c0-4f4d-b258-ee04b353f2a9”).
- attempts[].createdAtstring (ISO 8601)Timestamp when the attempt was created (e.g., “2025-04-07T11:12:02.500514594Z”).
- attempts[].addressstringURL address of the webhook (e.g., “https://webhook.site/24618f1c-c82c-4588-b9c6-1d86aac2a9b3”).

video.media.audio_swap.ready

Triggered when the original audio track of a media asset has been successfully replaced with a new one. This event is useful for confirming audio replacement, such as switching to a different language track or updating the audio mix.


NameTypeDescription
typestringType of event (e.g., “video.media.audio_swap.ready”).
objectobjectObject information.
- object.typestringType of the object (e.g., “media”).
- object.idstringUnique identifier for the object (e.g., “5856ade0-2531-400a-a715-9c19e4ca4526”).
idstringUnique identifier for the event.
workspaceobjectWorkspace information.
- workspace.namestringName of the workspace (e.g., “Development”).
- workspace.idstringUnique identifier for the workspace (e.g., “338acdeb-29d4-438b-a40c-1d4105134462”).
statusstringStatus of the media (e.g., “ready”).
dataobject
- data.thumbnailstring (URL)URL for the thumbnail image.
- data.idstringUnique identifier for the media (e.g., “5856ade0-2531-400a-a715-9c19e4ca4526”).
- data.workspaceIdstringUnique identifier for the workspace (e.g., “338acdeb-29d4-438b-a40c-1d4105134462”).
- data.metadataobjectMetadata associated with the media.
— data.metadata.key1stringKey-value pair for metadata (e.g., “key1”: “value1”).
- data.maxResolutionstringMaximum resolution for encoding, storing, and streaming media (e.g., “1080p”).
- data.sourceResolutionstringSource resolution of the media (e.g., “1080”).
- data.playbackIdsarrayList of playback IDs.
— data.playbackIds[].idstringUnique identifier for the playback ID (e.g., “7e247e74-10d6-48d1-9b08-2569aae1c2e9”).
— data.playbackIds[].accessPolicystringAccess policy for playback IDs (e.g., “public”).
— data.playbackIds[].accessRestrictionsobjectAccess restrictions for domains and user agents.
--- data.playbackIds[].accessRestrictions.domainsobjectDomain-based access restrictions.
---- data.playbackIds[].accessRestrictions.domains.defaultPolicystringDefault policy for domains (e.g., “allow”).
---- data.playbackIds[].accessRestrictions.domains.allowarrayList of allowed domains.
---- data.playbackIds[].accessRestrictions.domains.denyarrayList of denied domains.
--- data.playbackIds[].accessRestrictions.userAgentsobjectUser agent-based access restrictions.
---- data.playbackIds[].accessRestrictions.userAgents.defaultPolicystringDefault policy for user agents (e.g., “allow”).
---- data.playbackIds[].accessRestrictions.userAgents.allowarrayList of allowed user agents.
---- data.playbackIds[].accessRestrictions.userAgents.denyarrayList of denied user agents.
- data.tracksarrayList of tracks in the media.
— data.tracks[].idstringUnique identifier for the track (e.g., “3315aaf7-cb10-4c6c-999b-fb009320ec72”).
— data.tracks[].typestringType of the track (e.g., “audio”, “video”).
— data.tracks[].statusstringStatus of the track (e.g., “available”).
— data.tracks[].widthintegerWidth of the video track (e.g., 1920).
— data.tracks[].heightintegerHeight of the video track (e.g., 1080).
— data.tracks[].frameRatestringFrame rate of the video track (e.g., “60.000”).
— data.tracks[].languageCodestringLanguage code for audio/subtitle track (e.g., “und”).
— data.tracks[].languageNamestringFull language name for audio/subtitle track (e.g., “default”).
- data.sourceAccessbooleanIndicates if source access is enabled (e.g., false).
- data.mp4SupportstringIndicates MP4 support (e.g., “none”).
- data.optimizeAudiobooleanIndicates if audio optimization is enabled (e.g., false).
- data.durationstringDuration of the media (e.g., “00:00:10”).
- data.aspectRatiostringAspect ratio of the media (e.g., “16:9”).
- data.createdAtstring (ISO 8601)Timestamp when the media was created (e.g., “2026-07-01T10:14:54.107545Z”).
- data.updatedAtstring (ISO 8601)Timestamp when the media was last updated (e.g., “2026-07-01T10:15:09.820658Z”).
- data.mediaQualitystringMedia quality tier for the media (e.g., “pro”).
createdAtstring (ISO 8601)Timestamp when the event was created.
attemptsarrayList of attempts to deliver the webhook.
- attempts[].webhookIdstringWebhook attempt ID.
- attempts[].responseStatusCodeintegerHTTP status code (e.g., 404).
- attempts[].responseHeadersobjectResponse headers.
— attempts[].responseHeaders.contentTypestringContent type (e.g., “application/json”).
— attempts[].responseHeaders.transfer
— attempts[].responseHeaders.serverstringServer used (e.g., “nginx”).
— attempts[].responseHeaders.datestringDate of the response.
— attempts[].responseHeaders.cacheControl
- attempts[].responseBodystringBody of the response (e.g., "{\"success\":false,...}").
- attempts[].maxAttemptsintegerMaximum retry attempts (e.g., 30).
- attempts[].idstringUnique identifier for the attempt.
- attempts[].createdAtstring (ISO 8601)Timestamp when the attempt was created.
- attempts[].addressstringURL address of the webhook.

video.media.watermark.ready

Triggered when watermarking has been successfully applied to the media. This can include logos, text overlays, or identifiers used for branding, content protection, or tracking.


NameTypeDescription
typestringType of event (e.g., “video.media.watermark.ready”).
objectobjectObject information.
- object.typestringType of the object (e.g., “media”).
- object.idstringUnique identifier for the object (e.g., “242923d6-1669-467a-9626-8b41862fb2b6”).
idstringUnique identifier for the event (e.g., “f16d9be0-79b1-4ee1-aaa8-516e8737f13d”).
workspaceobjectWorkspace information.
- workspace.namestringName of the workspace (e.g., “Development”).
- workspace.idstringUnique identifier for the workspace (e.g., “6dc2b4e0-0615-42fd-a580-1f4aad932dfe”).
statusstringStatus of the media (e.g., “ready”).
dataobject
- data.thumbnailstring (URL)URL for the thumbnail image (e.g., “https://images.fastpix.com/fb1e2e4d-e7ef-4ff7-8784-15415dc955b9/thumbnail.png”).
- data.idstringUnique identifier for the media (e.g., “1ecccf5f-970f-447e-b038-27b3a3c86642”).
- data.workspaceIdstringUnique identifier for the workspace (e.g., “6dc2b4e0-0615-42fd-a580-1f4aad932dfe”).
- data.metadataobjectMetadata associated with the media.
— data.metadata.key1stringKey-value pair for metadata (e.g., “key1”: “value1”).
- data.maxResolutionstringMaximum resolution for encoding, storing, and streaming media (e.g., “1080p”).
- data.sourceResolutionstringSource resolution of the media (e.g., “1080p”).
- data.playbackIdsarrayList of playback IDs.
— data.playbackIds[].idstringUnique identifier for the playback ID (e.g., “fb1e2e4d-e7ef-4ff7-8784-15415dc955b9”).
— data.playbackIds[].accessPolicystringAccess policy for playback IDs (e.g., “public”).
— data.playbackIds[].accessRestrictionsobjectAccess restrictions for domains and user agents.
--- data.playbackIds[].accessRestrictions.domainsobjectDomain-based access restrictions.
---- data.playbackIds[].accessRestrictions.domains.defaultPolicystringDefault policy for domains (e.g., “allow”).
---- data.playbackIds[].accessRestrictions.domains.allowarrayList of allowed domains.
---- data.playbackIds[].accessRestrictions.domains.denyarrayList of denied domains.
--- data.playbackIds[].accessRestrictions.userAgentsobjectUser agent-based access restrictions.
---- data.playbackIds[].accessRestrictions.userAgents.defaultPolicystringDefault policy for user agents (e.g., “allow”).
---- data.playbackIds[].accessRestrictions.userAgents.allowarrayList of allowed user agents.
---- data.playbackIds[].accessRestrictions.userAgents.denyarrayList of denied user agents.
- data.tracksarrayList of tracks in the media.
— data.tracks[].idstringUnique identifier for the track (e.g., “0b6b28c7-9039-48ef-8599-8f31f77331d7”).
— data.tracks[].typestringType of the track (e.g., “video”).
— data.tracks[].widthintegerWidth of the video track (e.g., 1920).
— data.tracks[].heightintegerHeight of the video track (e.g., 1080).
— data.tracks[].frameRatestringFrame rate of the video track (e.g., “30/1”).
— data.tracks[].statusstringStatus of the track (e.g., “available”).
— data.tracks[].languageCodestringLanguage code for audio/subtitle track (e.g., “und”).
— data.tracks[].languageNamestringFull language name for audio/subtitle track (e.g., “default”).
- data.watermarkobjectWatermark details.
— data.watermark.typestringType of watermark (e.g., “watermark”).
— data.watermark.urlstring (URL)URL for the watermark image (e.g., “https://images.fastpix.com/491f3b46-4edb-48e4-8a48-9a7d8f305b57/thumbnail.jpg”).
— data.watermark.placementobjectPlacement settings for the watermark.
--- data.watermark.placement.xAlignstringHorizontal alignment of the watermark (e.g., “left”).
--- data.watermark.placement.xMarginstringMargin for horizontal alignment (e.g., “10%”).
--- data.watermark.placement.yAlignstringVertical alignment of the watermark (e.g., “top”).
--- data.watermark.placement.yMarginstringMargin for vertical alignment (e.g., “10%”).
— data.watermark.widthstringWidth of the watermark (e.g., “25%”).
— data.watermark.heightstringHeight of the watermark (e.g., “25%”).
— data.watermark.opacitystringOpacity of the watermark (e.g., “80%”).
- data.sourceAccessbooleanIndicates if source access is enabled (e.g., false).
- data.mp4SupportstringIndicates MP4 support (e.g., “none”).
- data.optimizeAudiobooleanIndicates if audio optimization is enabled (e.g., false).
- data.durationstringDuration of the media (e.g., “00:00:10”).
- data.aspectRatiostringAspect ratio of the media (e.g., “16:9”).
- data.createdAtstring (ISO 8601)Timestamp when the media was created (e.g., “2025-04-07T11:56:54.784770Z”).
- data.updatedAtstring (ISO 8601)Timestamp when the media was last updated (e.g., “2025-04-07T11:57:04.257665Z”).
- data.mediaQualitystringMedia quality tier for the media (e.g., “pro”).
createdAtstring (ISO 8601)Timestamp when the event was created (e.g., “2025-04-07T11:57:04.558060392Z”).
attemptsarrayList of attempts made to deliver the webhook.
- attempts[].webhookIdstringUnique identifier for the webhook attempt (e.g., “3b0ab5b1-6523-4c13-8012-1d096c150b8e”).
- attempts[].responseStatusCodeintegerHTTP status code of the response (e.g., 404).
- attempts[].responseHeadersobjectResponse headers for the webhook attempt.
— attempts[].responseHeaders.contentTypestringContent type of the response (e.g., “application/json”).
— attempts[].responseHeaders.serverstringServer used for the response (e.g., “nginx”).
— attempts[].responseHeaders.datestringDate of the response (e.g., “Mon, 07 Apr 2025 11:57:04 GMT”).
- attempts[].responseBodystringBody of the response (e.g., "{\"success\":false,...}").
- attempts[].maxAttemptsintegerMaximum number of retry attempts (e.g., 30).
- attempts[].idstringUnique identifier for the attempt (e.g., “532d7b38-c538-4697-888e-58ac3a38ab8f”).
- attempts[].createdAtstring (ISO 8601)Timestamp when the attempt was created (e.g., “2025-04-07T11:57:04.558060392Z”).
- attempts[].addressstringURL address of the webhook (e.g., “https://webhook.site/24618f1c-c82c-4588-b9c6-1d86aac2a9b3”).

video.media.optimize_audio.ready

Triggered when audio loudness normalization have been successfully completed. Use this event to confirm that the audio quality has been enhanced and is ready for delivery.


NameTypeDescription
typestringType of event (e.g., “video.media.optimize_audio.ready”).
objectobjectObject information.
- object.typestringType of the object (e.g., “media”).
- object.idstringUnique identifier for the object (e.g., “b9856f45-e166-4e11-b05c-c0e13dafd656”).
idstringUnique identifier for the event.
workspaceobjectWorkspace information.
- workspace.namestringName of the workspace (e.g., “Development”).
- workspace.idstringUnique identifier for the workspace (e.g., “338acdeb-29d4-438b-a40c-1d4105134462”).
statusstringStatus of the media (e.g., “ready”).
dataobject
- data.thumbnailstring (URL)URL for the thumbnail image.
- data.idstringUnique identifier for the media (e.g., “b9856f45-e166-4e11-b05c-c0e13dafd656”).
- data.workspaceIdstringUnique identifier for the workspace (e.g., “338acdeb-29d4-438b-a40c-1d4105134462”).
- data.maxResolutionstringMaximum resolution for encoding, storing, and streaming media (e.g., “1080p”).
- data.sourceResolutionstringSource resolution of the media (e.g., “1080”).
- data.playbackIdsarrayList of playback IDs.
— data.playbackIds[].idstringUnique identifier for the playback ID (e.g., “208a6a37-7a80-4bbe-bd09-c63a2c7b7fc1”).
— data.playbackIds[].accessPolicystringAccess policy for playback IDs (e.g., “public”).
— data.playbackIds[].accessRestrictionsobjectAccess restrictions for domains and user agents.
--- data.playbackIds[].accessRestrictions.domainsobjectDomain-based access restrictions.
---- data.playbackIds[].accessRestrictions.domains.defaultPolicystringDefault policy for domains (e.g., “allow”).
---- data.playbackIds[].accessRestrictions.domains.allowarrayList of allowed domains.
---- data.playbackIds[].accessRestrictions.domains.denyarrayList of denied domains.
--- data.playbackIds[].accessRestrictions.userAgentsobjectUser agent-based access restrictions.
---- data.playbackIds[].accessRestrictions.userAgents.defaultPolicystringDefault policy for user agents (e.g., “allow”).
---- data.playbackIds[].accessRestrictions.userAgents.allowarrayList of allowed user agents.
---- data.playbackIds[].accessRestrictions.userAgents.denyarrayList of denied user agents.
- data.tracksarrayList of tracks in the media.
— data.tracks[].idstringUnique identifier for the track (e.g., “907d16cb-9c8e-45be-8543-f72f70c4a6be”).
— data.tracks[].typestringType of the track (e.g., “audio”, “video”).
— data.tracks[].statusstringStatus of the track (e.g., “available”).
— data.tracks[].widthintegerWidth of the video track (e.g., 1920).
— data.tracks[].heightintegerHeight of the video track (e.g., 1080).
— data.tracks[].frameRatestringFrame rate of the video track (e.g., “60.000”).
— data.tracks[].languageCodestringLanguage code for audio/subtitle track (e.g., “und”).
— data.tracks[].languageNamestringFull language name for audio/subtitle track (e.g., “default”).
- data.sourceAccessbooleanIndicates if source access is enabled (e.g., false).
- data.mp4SupportstringIndicates MP4 support (e.g., “none”).
- data.optimizeAudiobooleanIndicates if audio optimization is enabled (e.g., true).
- data.durationstringDuration of the media (e.g., “00:00:10”).
- data.aspectRatiostringAspect ratio of the media (e.g., “16:9”).
- data.createdAtstring (ISO 8601)Timestamp when the media was created.
- data.updatedAtstring (ISO 8601)Timestamp when the media was last updated.
- data.mediaQualitystringMedia quality tier for the media (e.g., “pro”).
createdAtstring (ISO 8601)Timestamp when the event was created (e.g., “2025-04-07T11:12:02.500514594Z”).
attemptsarrayList of attempts made to deliver the webhook.
- attempts[].webhookIdstringUnique identifier for the webhook attempt (e.g., “3b0ab5b1-6523-4c13-8012-1d096c150b8e”).
- attempts[].responseStatusCodeintegerHTTP status code of the response (e.g., 404).
- attempts[].responseHeadersobjectResponse headers for the webhook attempt.
— attempts[].responseHeaders.contentTypestringContent type of the response (e.g., “application/json”).
— attempts[].responseHeaders.transfer
— attempts[].responseHeaders.serverstringServer used for the response (e.g., “nginx”).
— attempts[].responseHeaders.datestringDate of the response (e.g., “Mon, 07 Apr 2025 11:12:02 GMT”).
— attempts[].responseHeaders.cacheControl
- attempts[].responseBodystringBody of the response (e.g., "{\"success\":false,...}").
- attempts[].maxAttemptsintegerMaximum number of retry attempts (e.g., 30).
- attempts[].idstringUnique identifier for the attempt (e.g., “540685ef-39c0-4f4d-b258-ee04b353f2a9”).
- attempts[].createdAtstring (ISO 8601)Timestamp when the attempt was created (e.g., “2025-04-07T11:12:02.500514594Z”).
- attempts[].addressstringURL address of the webhook (e.g., “https://webhook.site/24618f1c-c82c-4588-b9c6-1d86aac2a9b3”).

video.media.mp4Support.ready

Triggered when an MP4-compatible version of the media has been generated for download purposes. This event helps ensure that the media is available in the widely supported MP4 format for playback across different devices, browsers, or platforms.


TypeNameDescription
stringtypeType of event (e.g., “video.media.mp4Support.ready”).
objectobjectInformation about the object associated with the event.
string- object.typeType of the object (e.g., “media”).
string- object.idUnique identifier for the object (e.g., “bf50bd74-7ffa-4d7a-b132-0fec511c2d2b”).
stringidUnique identifier for the event (e.g., “96a25b6c-e578-45d9-baf2-dea6449df653”).
objectworkspaceWorkspace information.
string- workspace.nameName of the workspace (e.g., “Development”).
string- workspace.idUnique identifier for the workspace (e.g., “338acdeb-29d4-438b-a40c-1d4105134462”).
stringstatusStatus of the media (e.g., “ready”).
objectdata
string (URL)- data.thumbnailURL for the thumbnail image.
string- data.idUnique identifier for the media (e.g., “bf50bd74-7ffa-4d7a-b132-0fec511c2d2b”).
string- data.workspaceIdUnique identifier for the workspace (e.g., “338acdeb-29d4-438b-a40c-1d4105134462”).
object- data.metadataMetadata associated with the media.
string— data.metadata.key1Key-value pair for metadata (e.g., “key1”: “value1”).
string- data.maxResolutionMaximum resolution for encoding, storing, and streaming media (e.g., “1080p”).
string- data.sourceResolutionSource resolution of the media (e.g., “1440”).
array- data.playbackIdsList of playback IDs.
string— data.playbackIds[].idUnique identifier for the playback ID (e.g., “adadf5d8-58ee-4689-8f57-99b5cd9bed84”).
string— data.playbackIds[].accessPolicyAccess policy for playback IDs (e.g., “public”).
object— data.playbackIds[].accessRestrictionsAccess restrictions for domains and user agents.
object--- data.playbackIds[].accessRestrictions.domainsDomain-based access restrictions.
string---- data.playbackIds[].accessRestrictions.domains.defaultPolicyDefault policy for domains (e.g., “allow”).
array---- data.playbackIds[].accessRestrictions.domains.allowList of allowed domains.
array---- data.playbackIds[].accessRestrictions.domains.denyList of denied domains.
object--- data.playbackIds[].accessRestrictions.userAgentsUser agent-based access restrictions.
string---- data.playbackIds[].accessRestrictions.userAgents.defaultPolicyDefault policy for user agents (e.g., “allow”).
array---- data.playbackIds[].accessRestrictions.userAgents.allowList of allowed user agents.
array---- data.playbackIds[].accessRestrictions.userAgents.denyList of denied user agents.
array- data.tracksList of tracks in the media.
string— data.tracks[].idUnique identifier for the track (e.g., “22ac5233-27a8-47a3-9e47-34426c4eeee2”).
string— data.tracks[].typeType of the track (e.g., “video”).
string— data.tracks[].statusStatus of the track (e.g., “available”).
integer— data.tracks[].widthWidth of the video track (e.g., 2560).
integer— data.tracks[].heightHeight of the video track (e.g., 1440).
string— data.tracks[].frameRateFrame rate of the video track (e.g., “23.976”).
boolean- data.sourceAccessIndicates if source access is enabled (e.g., false).
string- data.mp4SupportIndicates MP4 support (e.g., “capped_4k”).
string- data.durationDuration of the media (e.g., “00:00:20”).
string- data.frameRateFrame rate of the media (e.g., “23.976”).
string- data.aspectRatioAspect ratio of the media (e.g., “16:9”).
string (ISO 8601)- data.createdAtTimestamp when the media was created (e.g., “2026-07-01T09:44:26.631207Z”).
string (ISO 8601)- data.updatedAtTimestamp when the media was last updated (e.g., “2026-07-01T09:44:32.906796Z”).
string- data.mediaQualityMedia quality tier for the media (e.g., “pro”).
boolean- data.isAudioOnlyWhether the media contains only audio (e.g., false).
string- data.titleTitle of the media (e.g., “15485931_2560_1440_24fps”).
boolean- data.subtitleAvailableWhether subtitles are available (e.g., false).
array- data.generatedSubtitlesList of generated subtitles for the media.
string- data.statusProcessing status of the media (e.g., “Ready”).
string (ISO 8601)createdAtTimestamp when the event was created (e.g., “2025-04-07T11:12:02.500514594Z”).
arrayattemptsList of attempts made to deliver the webhook.
string- attempts[].webhookIdUnique identifier for the webhook attempt (e.g., “3b0ab5b1-6523-4c13-8012-1d096c150b8e”).
integer- attempts[].responseStatusCodeHTTP status code of the response (e.g., 404).
object- attempts[].responseHeadersResponse headers for the webhook attempt.
string— attempts[].responseHeaders.contentTypeContent type of the response (e.g., “application/json”).
— attempts[].responseHeaders.transfer
string— attempts[].responseHeaders.serverServer used for the response (e.g., “nginx”).
string— attempts[].responseHeaders.dateDate of the response (e.g., “Mon, 07 Apr 2025 11:12:02 GMT”).
— attempts[].responseHeaders.cacheControl
string- attempts[].responseBodyBody of the response (e.g., "{\"success\":false,...}").
integer- attempts[].maxAttemptsMaximum number of retry attempts (e.g., 30).
string- attempts[].idUnique identifier for the attempt (e.g., “540685ef-39c0-4f4d-b258-ee04b353f2a9”).
string (ISO 8601)- attempts[].createdAtTimestamp when the attempt was created (e.g., “2025-04-07T11:12:02.500514594Z”).
string- attempts[].addressURL address of the webhook (e.g., “https://webhook.site/24618f1c-c82c-4588-b9c6-1d86aac2a9b3”).

video.media.mp4Support.updated

Triggered when the MP4 support setting for a media asset is updated — for example, when MP4 renditions are enabled, changed (e.g., to capped_4k), or disabled. Use this event to keep your system in sync with the latest MP4 download availability for the media.


TypeNameDescription
stringtypeType of event (e.g., “video.media.mp4Support.updated”).
objectobjectInformation about the object associated with the event.
string- object.typeType of the object (e.g., “media”).
string- object.idUnique identifier for the object (e.g., “7fd85747-8691-47f7-bed8-c7edd42bac5c”).
stringidUnique identifier for the event (e.g., “15af9e4b-318a-430e-accc-8385cfdcbe0c”).
objectworkspaceWorkspace information.
string- workspace.nameName of the workspace (e.g., “Development”).
string- workspace.idUnique identifier for the workspace (e.g., “338acdeb-29d4-438b-a40c-1d4105134462”).
stringstatusStatus of the media (e.g., “media_created”).
objectdata
string- data.streamIdUnique identifier for the stream (e.g., “801e53fffd820ad3b0b0ccdc4669cdf3”).
string- data.statusProcessing status of the media (e.g., “Ready”).
string- data.maxResolutionMaximum resolution for encoding, storing, and streaming media (e.g., “1080p”).
string (ISO 8601)- data.createdAtTimestamp when the media was created (e.g., “2026-07-01T09:29:59.790769Z”).
array- data.playbackIdsList of playback IDs.
string— data.playbackIds[].idUnique identifier for the playback ID (e.g., “b1a9a4ae-aba9-40b3-953e-7b23fdeb99a5”).
string— data.playbackIds[].accessPolicyAccess policy for playback IDs (e.g., “public”).
object— data.playbackIds[].accessRestrictionsAccess restrictions for domains and user agents.
object--- data.playbackIds[].accessRestrictions.userAgentsUser agent-based access restrictions.
string---- data.playbackIds[].accessRestrictions.userAgents.defaultPolicyDefault policy for user agents (e.g., “allow”).
array---- data.playbackIds[].accessRestrictions.userAgents.allowList of allowed user agents.
array---- data.playbackIds[].accessRestrictions.userAgents.denyList of denied user agents.
object--- data.playbackIds[].accessRestrictions.domainsDomain-based access restrictions.
string---- data.playbackIds[].accessRestrictions.domains.defaultPolicyDefault policy for domains (e.g., “allow”).
array---- data.playbackIds[].accessRestrictions.domains.allowList of allowed domains.
array---- data.playbackIds[].accessRestrictions.domains.denyList of denied domains.
string- data.mediaQualityMedia quality tier for the media (e.g., “pro”).
string (URL)- data.thumbnailURL for the thumbnail image.
string- data.mp4SupportIndicates MP4 support (e.g., “capped_4k”).
string- data.sourceResolutionSource resolution of the media (e.g., “1080”).
boolean- data.sourceAccessIndicates if source access is enabled (e.g., false).
boolean- data.isAudioOnlyWhether the media contains only audio (e.g., false).
string- data.aspectRatioAspect ratio of the media (e.g., “16:9”).
boolean- data.subtitleAvailableWhether subtitles are available (e.g., false).
array- data.tracksList of tracks in the media.
string— data.tracks[].idUnique identifier for the track (e.g., “1688a6a1-c8da-4097-8dd7-1a1a5cee2d05”).
string— data.tracks[].typeType of the track (e.g., “audio”, “video”).
string— data.tracks[].statusStatus of the track (e.g., “available”).
string— data.tracks[].languageCodeLanguage code for audio/subtitle track (e.g., “und”).
string— data.tracks[].languageNameFull language name for audio/subtitle track (e.g., “default”).
integer— data.tracks[].widthWidth of the video track (e.g., 1920).
integer— data.tracks[].heightHeight of the video track (e.g., 1080).
string— data.tracks[].frameRateFrame rate of the video track (e.g., “30.000”).
string- data.durationDuration of the media (e.g., “00:02:14”).
array- data.generatedSubtitlesList of generated subtitles for the media.
string- data.idUnique identifier for the media (e.g., “7fd85747-8691-47f7-bed8-c7edd42bac5c”).
string- data.workspaceIdUnique identifier for the workspace (e.g., “338acdeb-29d4-438b-a40c-1d4105134462”).
string (ISO 8601)- data.updatedAtTimestamp when the media was last updated (e.g., “2026-07-01T09:30:07.354131Z”).
string (ISO 8601)createdAtTimestamp when the event was created (e.g., “2026-07-01T09:46:39.131028066Z”).
arrayattemptsList of attempts made to deliver the webhook.

video.media.subtitle.generated

Triggered when subtitles or captions have been automatically generated for the media asset. This event indicates that the text-based subtitles are ready and can be synced with the video for accessibility or multi-language support.


NameTypeDescription
typestringType of event (e.g., “video.media.subtitle.generated”).
objectobjectObject information.
- object.typestringType of the object (e.g., "media").
- object.idstringUnique identifier for the object (e.g., "ed1a05da-af31-429f-8447-3153e206d1f8").
idstringUnique identifier for the event (e.g., “ef15ae30-a8ab-41f6-a786-152b7728028a”).
workspaceobjectWorkspace information.
- workspace.namestringName of the workspace (e.g., “Production”).
- workspace.idstringUnique identifier for the workspace (e.g., “49deae57-a732-42d4-87b2-6179cc682d07”).
statusstringStatus of the media (e.g., “media_created”).
dataobject
- data.idstringUnique identifier for the subtitle track (e.g., "44964a73-8f54-42d0-989a-09e380ce4f53").
- data.typestringType of the track (e.g., "subtitle").
- data.languageCodestringLanguage code of the subtitle (e.g., "en").
- data.languageNamestringLanguage name of the subtitle (e.g., "english").
- data.statusstringStatus of the subtitle track (e.g., "available").
createdAtstring (ISO 8601)Timestamp when the event was created (e.g., “2025-03-18T11:47:07.805413906Z”).
attemptsarrayList of attempts made to deliver the webhook.
- attempts[].webhookIdstringUnique identifier for the webhook attempt (e.g., “3b0ab5b1-6523-4c13-8012-1d096c150b8e”).
- attempts[].responseStatusCodeintegerHTTP status code of the response (e.g., 404).
- attempts[].responseHeadersobjectResponse headers for the webhook attempt.
— attempts[].responseHeaders.contentTypestringContent type of the response (e.g., “application/json”).
— attempts[].responseHeaders.serverstringServer used for the response (e.g., “nginx”).
— attempts[].responseHeaders.datestringDate of the response (e.g., “Mon, 07 Apr 2025 11:57:04 GMT”).
- attempts[].responseBodystringBody of the response (e.g., "{\"success\":false,...}").
- attempts[].maxAttemptsintegerMaximum number of retry attempts (e.g., 30).
- attempts[].idstringUnique identifier for the attempt (e.g., “532d7b38-c538-4697-888e-58ac3a38ab8f”).
- attempts[].createdAtstring (ISO 8601)Timestamp when the attempt was created (e.g., “2025-03-18T11:47:07.805413906Z”).
- attempts[].addressstringURL address of the webhook (e.g., “https://webhook.site/24618f1c-c82c-4588-b9c6-1d86aac2a9b3”).

video.media.track.created

Triggered when a new media track, such as an additional audio or subtitle track, has been successfully added to the asset. This can include alternate audio languages, commentary tracks, or caption files.


NameTypeDescription
typestringType of the webhook event (e.g., video.media.track.created).
idstringUnique identifier for the event (e.g., de874ab4-330a-422c-b3fe-c6a5347df4bf).
statusstringStatus of the event (e.g., media_created).
createdAtstring (ISO 8601 datetime)Timestamp when the event was created (e.g., 2025-01-27T11:55:55.854355536Z).
object.typestringType of the object (typically media).
object.idstringUnique identifier for the media object (e.g., 3de1fb2c-d55a-4819-88c2-50c1ff54fcf4).
workspace.namestringName of the workspace (e.g., Add Tracks).
workspace.idstringUnique identifier for the workspace (e.g., 36387a6e-b99c-4908-b3af-ad11015fbe84).
data.idstringUnique identifier for the track (e.g., 3dc44ccb-ffb1-489b-ba3f-b240b88a05f5).
data.typestringType of track (e.g., subtitle).
data.urlstring (URL)URL where the track is located.
data.languageCodestringLanguage code of the track (e.g., ta-IN).
data.languageNamestringName of the language (e.g., Tamil Lang1).
attemptsarrayArray of attempts (empty array [] indicates no attempts recorded).

video.media.track.ready

Triggered when an added track (audio or subtitle) has been fully processed and is ready for playback. Use this event to confirm that the track is available for use with the media asset.


NameTypeDescription
typestringType of the webhook event (e.g., video.media.track.ready).
idstringUnique identifier for the event (e.g., 8f7c1639-2660-445f-a485-114f309344ec).
statusstringStatus of the track processing (e.g., ready).
createdAtstring (ISO 8601 datetime)Timestamp when the event was created (e.g., 2025-01-27T10:16:31.857938358Z).
object.typestringType of the associated object, usually media.
object.idstringUnique identifier for the media (e.g., 3de1fb2c-d55a-4819-88c2-50c1ff54fcf4).
workspace.namestringName of the workspace (e.g., Add Tracks).
workspace.idstringUnique identifier for the workspace (e.g., 36387a6e-b99c-4908-b3af-ad11015fbe84).
data.idstringUnique identifier for the track (e.g., a9e838f5-08b3-44d4-afb9-1202e5c679c4).
data.typestringType of the track, e.g., subtitle.
data.languageCodestringLanguage code of the track (e.g., tr-TR).
data.languageNamestringName of the language (e.g., spanish).
data.statusstringStatus of the track (e.g., available).
attemptsarrayArray of retry attempts, empty if none.

video.media.track.failed

Triggered when a track (audio or subtitle) fails during processing. This event helps identify issues with track generation, allowing you to log errors, trigger alerts, or notify users to take corrective action.


NameTypeDescription
typestringType of the webhook event (e.g., video.media.track.failed).
idstringUnique identifier for the event (e.g., 9fc5c227-b603-42d0-97df-ea8a5e3c35f2).
statusstringStatus of the event (e.g., failed).
createdAtstring (ISO 8601 datetime)Timestamp when the event was created (e.g., 2025-01-27T11:55:56.289772761Z).
object.typestringType of the object (typically media).
object.idstringUnique identifier for the media object (e.g., 3de1fb2c-d55a-4819-88c2-50c1ff54fcf4).
workspace.namestringName of the workspace (e.g., Add Tracks).
workspace.idstringUnique identifier for the workspace (e.g., 36387a6e-b99c-4908-b3af-ad11015fbe84).
data.trackResponseobjectDetails of the track that failed.
- data.trackResponse.idstringUnique identifier for the track (e.g., 892c9a2a-5504-416b-9622-20d0e41aea09).
- data.trackResponse.typestringType of track (e.g., subtitle).
- data.trackResponse.languageCodestringLanguage code of the track (e.g., en).
- data.trackResponse.languageNamestringLanguage name of the track (e.g., english).
- data.trackResponse.statusstringStatus of the track (e.g., Failed).
data.reasonstringReason describing why the track failed (e.g., Failed while adding subtitle track! Please check the provided subtitle file.).
attemptsarrayArray of attempts (empty array [] indicates no attempts recorded).

video.media.track.updated

Triggered when an existing track - such as an audio or subtitle file has been modified on the media asset. This could include updates to metadata (like languageCode or languageName), replacement of the track file URL, or syncing changes. Use this event to ensure your system reflects the latest track state, especially for applications that support multiple languages, accessibility features, or commentary options.


NameTypeDescription
typestringType for the webhook event (e.g., video.media.track.updated).
objectobjectInformation about the object associated with the event.
-object.typestringType of the object (e.g., media).
-object.idstringUnique identifier of the object.
idstringUnique identifier for the webhook event.
workspaceobjectWorkspace information.
-workspace.namestringName of the workspace.
- workspace.idstringUnique identifier for the workspace.
statusstringStatus of the media (e.g., media_created).
dataobjectAdditional information about the media track.
-data.idstringUnique identifier for the track.
-data.typestringType of media track (e.g., audio).
-data.urlstringURL of the media track (e.g., the audio file).
-data.languageCodestringLanguage code in ISO 639-1 format (e.g., fr).
-data.languageNamestringFull name of the language (e.g., french).
createdAtstringTimestamp when the event was created (ISO 8601 format).
attemptsarrayList of delivery attempts (currently empty in this payload).

video.media.track.deleted

Triggered when a track (audio or subtitle) has been removed from a media asset. Use this event to update your system or UI to reflect that the track is no longer available for the media.


NameTypeDescription
typestringType for the webhook event (e.g., video.media.track.deleted).
objectobjectInformation about the object associated with the event.
- object.typestringType of the object (e.g., media).
- object.idstringUnique identifier of the object.
idstringUnique identifier for the webhook event.
workspaceobjectWorkspace information.
- workspace.namestringName of the workspace (e.g., Development).
- workspace.idstringUnique identifier for the workspace.
statusstringStatus of the media (e.g., media_created).
dataobjectEvent-specific data.
- data.successbooleanIndicates if the track deletion was successful (e.g., true).
createdAtstringTimestamp when the event was created (ISO 8601 format).
attemptsarrayList of delivery attempts.

video.media.source.ready

Triggered when the original source file for a media asset becomes accessible via the sourceAccess API setting. This means the raw, unprocessed version of the uploaded media is now available for download or reference. Use this event to notify users or backend systems that the source file can be retrieved - for compliance archiving, re-editing workflows, or audit purposes.


NameTypeDescription
typestringType of the webhook event (e.g., video.media.source.ready).
objectobjectInformation about the object associated with the event.
└─ object.typestringType of the object (e.g., media).
└─ object.idstringUnique identifier of the object.
idstringUnique identifier for the webhook event.
workspaceobjectWorkspace information.
└─ workspace.namestringName of the workspace.
└─ workspace.idstringUnique identifier for the workspace.
statusstringStatus of the media (e.g., ready).
dataobjectDetailed information about the media source.
└─ data.thumbnailstringURL of the media thumbnail.
└─ data.idstringMedia identifier (same as object.id).
└─ data.workspaceIdstringID of the workspace that owns the media.
└─ data.metadataobjectKey-value metadata associated with the media.
└─ data.maxResolutionstringMaximum resolution of the media (e.g., 480p).
└─ data.sourceResolutionstringOriginal resolution of the uploaded media (e.g., 480p).
└─ data.playbackIdsarrayList of playback identifiers.
── playbackIds[].idstringUnique ID for the playback.
── playbackIds[].accessPolicystringAccess policy for the playback (e.g., public).
── playbackIds[].accessRestrictionsobjectAccess restrictions for domains and user agents.
─── accessRestrictions.domains.defaultPolicystringDefault domain access policy (e.g., allow).
─── accessRestrictions.domains.allowarrayList of allowed domains.
─── accessRestrictions.domains.denyarrayList of denied domains.
─── accessRestrictions.userAgents.defaultPolicystringDefault user-agent access policy (e.g., allow).
─── accessRestrictions.userAgents.allowarrayList of allowed user agents.
─── accessRestrictions.userAgents.denyarrayList of denied user agents.
└─ data.tracksarrayTracks associated with the media (e.g., video, audio, subtitle).
── tracks[].idstringTrack identifier.
── tracks[].typestringType of track (video, audio, subtitle).
── tracks[].widthintegerWidth of the video track (only for type video).
── tracks[].heightintegerHeight of the video track (only for type video).
── tracks[].frameRatestringFrame rate of the video track.
── tracks[].statusstringStatus of the track (e.g., available).
── tracks[].languageCodestringLanguage code for audio/subtitle track (e.g., und).
── tracks[].languageNamestringFull language name for audio/subtitle track (e.g., default).
└─ data.sourceAccessbooleanWhether direct source access is enabled (e.g., true).
└─ data.sourceobjectSource file information.
── source.statusstringStatus of the source file (e.g., ready).
── source.signedUrlstringSigned URL for downloading the source file.
└─ data.mp4SupportstringMP4 support status (e.g., none).
└─ data.optimizeAudiobooleanWhether audio was optimized (e.g., false).
└─ data.durationstringDuration of the media in HH:MM:SS format (e.g., 00:02:34).
└─ data.aspectRatiostringAspect ratio of the media (e.g., 16:9).
└─ data.createdAtstringTimestamp when the media was created (ISO 8601).
└─ data.updatedAtstringTimestamp when the media was last updated (ISO 8601).
└─ data.mediaQualitystringMedia quality tier for the media (e.g., pro).
createdAtstringTimestamp when the event was created (ISO 8601).
attemptsarrayList of delivery attempts.

video.media.source.updated

Triggered when the source details of a media asset are updated — for example, when metadata, title, or source access settings change. Use this event to keep your system in sync with the latest state of the media and its source file.


NameTypeDescription
typestringType of the webhook event (e.g., video.media.source.updated).
objectobjectInformation about the object associated with the event.
└─ object.typestringType of the object (e.g., media).
└─ object.idstringUnique identifier of the object.
idstringUnique identifier for the webhook event.
workspaceobjectWorkspace information.
└─ workspace.namestringName of the workspace.
└─ workspace.idstringUnique identifier for the workspace.
statusstringStatus of the media (e.g., media_created).
dataobjectDetailed information about the media.
└─ data.thumbnailstringURL of the media thumbnail.
└─ data.idstringMedia identifier (same as object.id).
└─ data.workspaceIdstringID of the workspace that owns the media.
└─ data.metadataobjectKey-value metadata associated with the media.
└─ data.maxResolutionstringMaximum resolution of the media (e.g., 1080p).
└─ data.sourceResolutionstringOriginal resolution of the uploaded media (e.g., 1080).
└─ data.playbackIdsarrayList of playback identifiers.
── playbackIds[].idstringUnique ID for the playback.
── playbackIds[].accessPolicystringAccess policy for the playback (e.g., public).
── playbackIds[].accessRestrictionsobjectAccess restrictions for domains and user agents.
─── accessRestrictions.domains.defaultPolicystringDefault domain access policy (e.g., allow).
─── accessRestrictions.domains.allowarrayList of allowed domains.
─── accessRestrictions.domains.denyarrayList of denied domains.
─── accessRestrictions.userAgents.defaultPolicystringDefault user-agent access policy (e.g., allow).
─── accessRestrictions.userAgents.allowarrayList of allowed user agents.
─── accessRestrictions.userAgents.denyarrayList of denied user agents.
└─ data.tracksarrayTracks associated with the media (e.g., video, audio, subtitle).
── tracks[].idstringTrack identifier.
── tracks[].typestringType of track (video, audio, subtitle).
── tracks[].statusstringStatus of the track (e.g., available).
── tracks[].widthintegerWidth of the video track (only for type video).
── tracks[].heightintegerHeight of the video track (only for type video).
── tracks[].frameRatestringFrame rate of the video track.
── tracks[].languageCodestringLanguage code for audio/subtitle track (e.g., und).
── tracks[].languageNamestringFull language name for audio/subtitle track (e.g., default).
└─ data.sourceAccessbooleanWhether direct source access is enabled (e.g., true).
└─ data.durationstringDuration of the media in HH:MM:SS format (e.g., 00:00:10).
└─ data.aspectRatiostringAspect ratio of the media (e.g., 16:9).
└─ data.createdAtstringTimestamp when the media was created (ISO 8601).
└─ data.updatedAtstringTimestamp when the media was last updated (ISO 8601).
└─ data.mediaQualitystringMedia quality tier for the media (e.g., pro).
└─ data.isAudioOnlybooleanWhether the media contains only audio (e.g., false).
└─ data.titlestringTitle of the media (e.g., capped-4k (23)).
└─ data.subtitleAvailablebooleanWhether subtitles are available (e.g., false).
└─ data.generatedSubtitlesarrayList of generated subtitles for the media.
└─ data.statusstringProcessing status of the media (e.g., Ready).
createdAtstringTimestamp when the event was created (ISO 8601).
attemptsarrayList of delivery attempts.

video.media.source.deleted

Triggered when access to the original source file has been disabled or the file has been permanently removed, typically due to a change in the sourceAccess setting. This event helps ensure that dependent systems or users are aware that the unprocessed original media is no longer available for retrieval, and any access attempts should be halted or redirected.


NameTypeDescription
typestringType for the webhook event (e.g., video.media.source.deleted).
objectobjectInformation about the object associated with the event.
└─ object.typestringType of the object (e.g., media).
└─ object.idstringUnique identifier of the object.
idstringUnique identifier for the webhook event.
workspaceobjectWorkspace information.
└─ workspace.namestringName of the workspace (e.g., Development).
└─ workspace.idstringUnique identifier for the workspace.
statusstringStatus of the media (e.g., media_created).
dataobjectDetailed information about the media source.
└─ data.thumbnailstringURL of the media thumbnail.
└─ data.idstringMedia identifier (same as object.id).
└─ data.workspaceIdstringID of the workspace that owns the media.
└─ data.maxResolutionstringMaximum resolution of the media (e.g., 480p).
└─ data.sourceResolutionstringOriginal resolution of the uploaded media (e.g., 480p).
└─ data.playbackIdsarrayList of playback identifiers.
── playbackIds[].idstringUnique ID for the playback.
── playbackIds[].accessPolicystringAccess policy for the playback (e.g., public).
── playbackIds[].accessRestrictionsobjectAccess restrictions for domains and user agents.
─── accessRestrictions.domains.defaultPolicystringDefault domain access policy (e.g., allow).
─── accessRestrictions.domains.allowarrayList of allowed domains.
─── accessRestrictions.domains.denyarrayList of denied domains.
─── accessRestrictions.userAgents.defaultPolicystringDefault user-agent access policy (e.g., allow).
─── accessRestrictions.userAgents.allowarrayList of allowed user agents.
─── accessRestrictions.userAgents.denyarrayList of denied user agents.
└─ data.tracksarrayTracks associated with the media (e.g., video, audio, subtitle).
── tracks[].idstringTrack identifier.
── tracks[].typestringType of track (video, audio, subtitle).
── tracks[].widthintegerWidth of the video track (only for type video).
── tracks[].heightintegerHeight of the video track (only for type video).
── tracks[].frameRatestringFrame rate of the video track (e.g., 24000/1001).
── tracks[].statusstringStatus of the track (e.g., available).
── tracks[].languageCodestringLanguage code for audio/subtitle track (e.g., fr, en).
── tracks[].languageNamestringFull language name for audio/subtitle track (e.g., french, English).
└─ data.sourceAccessbooleanWhether direct source access is enabled (e.g., false).
└─ data.mp4SupportstringMP4 support status (e.g., none).
└─ data.optimizeAudiobooleanWhether audio was optimized (e.g., false).
└─ data.durationstringDuration of the media in HH:MM:SS format (e.g., 00:02:34).
└─ data.aspectRatiostringAspect ratio of the media (e.g., 16:9).
└─ data.createdAtstringTimestamp when the media was created (e.g., 2025-04-28T11:16:34.121845Z).
└─ data.updatedAtstringTimestamp when the media was last updated.
└─ data.mediaQualitystringMedia quality tier for the media (e.g., pro).
createdAtstringTimestamp when the event was created.
attemptsarrayList of delivery attempts.

video.mediaAI.chapters.ready

Triggered when AI-generated chapters for a media asset are ready. Chapters break the media into titled, timestamped segments with short summaries, useful for navigation and content discovery.


NameTypeDescription
typestringType of event (e.g., “video.mediaAI.chapters.ready”).
objectobjectObject information.
- object.typestringType of the object (e.g., “media”).
- object.idstringUnique identifier for the object (e.g., “b9856f45-e166-4e11-b05c-c0e13dafd656”).
idstringUnique identifier for the event (e.g., “7d9d2b3d-1a4a-454f-91a7-2bd232dfa4a8”).
workspaceobjectWorkspace information.
- workspace.namestringName of the workspace (e.g., “Development”).
- workspace.idstringUnique identifier for the workspace (e.g., “338acdeb-29d4-438b-a40c-1d4105134462”).
statusstringStatus of the media (e.g., “ready”).
dataobject
- data.isChaptersGeneratedbooleanIndicates if chapters were generated (e.g., true).
- data.chaptersarrayList of generated chapters.
— data.chapters[].chapterstringChapter number (e.g., “1”).
— data.chapters[].startTimestringStart time of the chapter (e.g., “00:00:00”).
— data.chapters[].endTimestringEnd time of the chapter (e.g., “00:00:10”).
— data.chapters[].titlestringTitle of the chapter (e.g., “Introduction to FastPix”).
— data.chapters[].summarystringShort summary of the chapter.
createdAtstring (ISO 8601)Timestamp when the event was created.
attemptsarrayList of attempts made to deliver the webhook.

video.mediaAI.named-entities.ready

Triggered when AI-generated named entities for a media asset are ready. Named entities identify people, organizations, concepts, and other entities mentioned in the media, along with their categories.


NameTypeDescription
typestringType of event (e.g., “video.mediaAI.named-entities.ready”).
objectobjectObject information.
- object.typestringType of the object (e.g., “media”).
- object.idstringUnique identifier for the object (e.g., “b9856f45-e166-4e11-b05c-c0e13dafd656”).
idstringUnique identifier for the event (e.g., “e0f8f644-ae23-4d79-8706-4d669d1fba65”).
workspaceobjectWorkspace information.
- workspace.namestringName of the workspace (e.g., “Development”).
- workspace.idstringUnique identifier for the workspace (e.g., “338acdeb-29d4-438b-a40c-1d4105134462”).
statusstringStatus of the media (e.g., “ready”).
dataobject
- data.isNamedEntitiesGeneratedbooleanIndicates if named entities were generated (e.g., true).
- data.namedEntitiesobjectNamed entities result.
— data.namedEntities.entityCountintegerTotal number of named entities detected (e.g., 3).
— data.namedEntities.namedEntitiesarrayList of detected named entities.
--- data.namedEntities.namedEntities[].entitystringThe named entity (e.g., “FastPix”).
--- data.namedEntities.namedEntities[].categorystringCategory of the entity (e.g., “Organization”, “Concept”).
createdAtstring (ISO 8601)Timestamp when the event was created.
attemptsarrayList of attempts made to deliver the webhook.

video.mediaAI.summary.ready

Triggered when an AI-generated summary of a media asset is ready. The summary provides a concise, human-readable overview of the media content.


NameTypeDescription
typestringType of event (e.g., “video.mediaAI.summary.ready”).
objectobjectObject information.
- object.typestringType of the object (e.g., “media”).
- object.idstringUnique identifier for the object (e.g., “b9856f45-e166-4e11-b05c-c0e13dafd656”).
idstringUnique identifier for the event (e.g., “4a39267d-8504-4187-a44c-ae47d95c7f6e”).
workspaceobjectWorkspace information.
- workspace.namestringName of the workspace (e.g., “Development”).
- workspace.idstringUnique identifier for the workspace (e.g., “338acdeb-29d4-438b-a40c-1d4105134462”).
statusstringStatus of the media (e.g., “ready”).
dataobject
- data.isSummaryGeneratedbooleanIndicates if the summary was generated (e.g., true).
- data.summarystringAI-generated summary text of the media content.
createdAtstring (ISO 8601)Timestamp when the event was created.
attemptsarrayList of attempts made to deliver the webhook.

video.mediaAI.moderation.ready

Triggered when AI-generated content moderation results for a media asset are ready. The result contains category scores indicating detected sensitive or objectionable content.


NameTypeDescription
typestringType of event (e.g., “video.mediaAI.moderation.ready”).
objectobjectObject information.
- object.typestringType of the object (e.g., “media”).
- object.idstringUnique identifier for the object (e.g., “b9856f45-e166-4e11-b05c-c0e13dafd656”).
idstringUnique identifier for the event (e.g., “eabcdcdc-7dfb-407b-bf20-88da044a1ce8”).
workspaceobjectWorkspace information.
- workspace.namestringName of the workspace (e.g., “Development”).
- workspace.idstringUnique identifier for the workspace (e.g., “338acdeb-29d4-438b-a40c-1d4105134462”).
statusstringStatus of the media (e.g., “ready”).
dataobject
- data.isModerationGeneratedbooleanIndicates if moderation was generated (e.g., true).
- data.moderationResultobjectModeration result.
— data.moderationResult.categoryScoresarrayList of moderation category scores (empty if none detected).
createdAtstring (ISO 8601)Timestamp when the event was created.
attemptsarrayList of attempts made to deliver the webhook.