Transform media events



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").
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.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.frameRatestringFrame rate of the media (e.g., "30/1").
-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.
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")
- 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.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.frameRatestringFrame rate of media (e.g., "30/1")
-- 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
- 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.


Name

Type

Description

type

string

Type of event (e.g., "video.media.intro.ready")

id

string

Unique identifier for the event

workspace

object

Workspace information

-workspace.name

string

Name of the workspace (e.g., "Development")

-workspace.id

string

Unique identifier for the workspace

status

string

Status of the media (e.g., "ready")

data

object

Media-specific data

-data.thumbnail

string (URL)

URL for the thumbnail image

-data.id

string

Unique identifier for the media

  • data.workspaceId

string

Unique identifier for the workspace

  • data.metadata

object

Metadata associated with the media

-- data.metadata.key1

string

Key-value pair for metadata (e.g., "key1": "value1")

  • data.maxResolution

string

Maximum resolution for encoding/streaming

  • data.sourceResolution

string

Source resolution of the media

  • data.playbackIds

array

List of playback IDs

-- data.playbackIds[].id

string

Unique identifier for the playback ID

-- data.playbackIds[].accessPolicy

string

Access policy (e.g., "public")

-- data.playbackIds[].accessRestrictions

object

Access restrictions

--- domains.defaultPolicy

string

Default policy for domains (e.g., "allow")

--- domains.allow

array

List of allowed domains

--- domains.deny

array

List of denied domains

--- userAgents.defaultPolicy

string

Default policy for user agents (e.g., "allow")

--- userAgents.allow

array

List of allowed user agents

--- userAgents.deny

array

List of denied user agents

  • data.tracks

array

List of tracks in the media

-- data.tracks[].id

string

Unique identifier for the track

-- data.tracks[].type

string

Type of the track (e.g., "video")

-- data.tracks[].width

integer

Width of the video track (e.g., 1920)

-- data.tracks[].height

integer

Height of the video track (e.g., 1080)

-- data.tracks[].frameRate

string

Frame rate of the track (e.g., "30/1")

-- data.tracks[].status

string

Track status (e.g., "available")

  • data.sourceAccess

boolean

Indicates if source access is enabled

  • data.mp4Support

string

Indicates MP4 support (e.g., "none")

  • data.optimizeAudio

boolean

Whether audio optimization is enabled

  • data.duration

string

Duration of the media (e.g., "00:00:20")

  • data.frameRate

string

Frame rate of the media (e.g., "30/1")

  • data.aspectRatio

string

Aspect ratio of the media (e.g., "16:9")

  • data.createdAt

string (ISO 8601)

When the media was created

  • data.updatedAt

string (ISO 8601)

When the media was last updated

createdAt

string (ISO 8601)

When the event was created

attempts

array

Delivery attempts

  • attempts[].webhookId

string

Webhook attempt ID

  • attempts[].responseStatusCode

integer

HTTP status code of the response

  • attempts[].responseHeaders

object

Response headers

-- contentType

string

e.g., "application/json"

-- transfer

-- server

string

Server used (e.g., "nginx")

-- date

string

Date of the response

-- cacheControl

  • attempts[].responseBody

string

Body of the response

  • attempts[].maxAttempts

integer

Maximum number of retry attempts

  • attempts[].id

string

Unique identifier for the attempt

  • attempts[].createdAt

string (ISO 8601)

Timestamp of the attempt

  • attempts[].address

string

Webhook target URL


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.intro.ready").
idstringUnique identifier for the event (e.g., "bee1c978-bac0-4eef-ba11-36432bbc0289").
workspaceobjectWorkspace information.
- workspace.namestringName of the workspace (e.g., "Development").
- workspace.idstringUnique identifier for the workspace.
statusstringStatus of the media (e.g., "ready").
dataobject
- 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 (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 for playback IDs (e.g., "public").
-- data.playbackIds[].accessRestrictionsobjectAccess restrictions.
--- data.playbackIds[].accessRestrictions.domainsobjectDomain-based access restrictions.
---- data.playbackIds[].accessRestrictions.domains.defaultPolicystringDefault policy for domains.
---- 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.
---- 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[].id
-- data.tracks[].typeType of the track (e.g., "audio").
-- data.tracks[].status
-- data.tracks[].languageCode
-- data.tracks[].languageNane
-- data.tracks[].idstringUnique identifier for the track.
-- 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.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.frameRatestringFrame rate of the media.
- data.aspectRatiostringAspect ratio of the media.
- data.createdAtstring (ISO 8601)Timestamp when the media was created.
- data.updatedAtstring (ISO 8601)Timestamp when the media was last updated.
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.intro.ready").
idstringUnique identifier for the event (e.g., "bee1c978-bac0-4eef-ba11-36432bbc0289").
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.io/f8aa1b92-9861-41b7-ab79-9864039ad971/thumbnail.png").
- data.idstringUnique identifier for the media (e.g., "4aa8b2ff-647e-4bae-87f9-3d85e4ddf8cf").
- 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., "f8aa1b92-9861-41b7-ab79-9864039ad971").
-- 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[].id
-- data.tracks[].typeType of the track (e.g., "audio").
-- data.tracks[].status
-- data.tracks[].languageCode
-- data.tracks[].languageNane
-- data.tracks[].idstringUnique identifier for the track (e.g., "cedd1b84-3246-4d44-8e33-ebdb9515619f").
-- 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.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.frameRatestringFrame rate of the media (e.g., "30/1").
- 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:11:45.648324Z").
- data.updatedAtstring (ISO 8601)Timestamp when the media was last updated (e.g., "2025-04-07T11:12:02.200011Z").
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.intro.ready").
idstringUnique identifier for the event (e.g., "bee1c978-bac0-4eef-ba11-36432bbc0289").
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://.../thumbnail.png").
- 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 (e.g., "1080p").
- data.sourceResolutionstringSource resolution (e.g., "1080p").
- data.playbackIdsarrayList of playback IDs.
-- data.playbackIds[].idstringUnique identifier for the playback ID.
-- data.playbackIds[].accessPolicystringAccess policy (e.g., "public").
-- data.playbackIds[].accessRestrictionsobjectAccess restrictions.
--- data.playbackIds[].accessRestrictions.domainsobjectDomain-based restrictions.
---- data.playbackIds[].accessRestrictions.domains.defaultPolicystringDefault 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 restrictions.
---- data.playbackIds[].accessRestrictions.userAgents.defaultPolicystringDefault 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 tracks.
-- data.tracks[].id
-- data.tracks[].typeType of the track (e.g., "audio").
-- data.tracks[].status
-- data.tracks[].languageCode
-- data.tracks[].languageNane
-- data.tracks[].idstringUnique identifier for the track.
-- data.tracks[].typestringType of the track (e.g., "video").
-- data.tracks[].widthintegerWidth (e.g., 1920).
-- data.tracks[].heightintegerHeight (e.g., 1080).
-- data.tracks[].frameRatestringFrame rate (e.g., "30/1").
-- data.tracks[].statusstringStatus of the track (e.g., "available").
- data.sourceAccessbooleanIndicates if source access is enabled (e.g., false).
- data.mp4SupportstringIndicates MP4 support (e.g., "none").
- data.optimizeAudiobooleanIndicates if audio optimization is enabled.
- data.durationstringDuration (e.g., "00:00:20").
- data.frameRatestringFrame rate of the media (e.g., "30/1").
- data.aspectRatiostringAspect ratio (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.
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").
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.io/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.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.watermarkobjectWatermark details.
-- data.watermark.typestringType of watermark (e.g., "watermark").
-- data.watermark.urlstring (URL)URL for the watermark image (e.g., "https://images.fastpix.io/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.frameRatestringFrame rate of the media (e.g., "30/1").
- 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").
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.intro.ready").
idstringUnique identifier for the event (e.g., "bee1c978-bac0-4eef-ba11-36432bbc0289").
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.io/f8aa1b92-9861-41b7-ab79-9864039ad971/thumbnail.png").
- data.idstringUnique identifier for the media (e.g., "4aa8b2ff-647e-4bae-87f9-3d85e4ddf8cf").
- 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., "f8aa1b92-9861-41b7-ab79-9864039ad971").
-- 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[].id
-- data.tracks[].typeType of the track (e.g., "audio").
-- data.tracks[].status
-- data.tracks[].languageCode
-- data.tracks[].languageNane
-- data.tracks[].idstringUnique identifier for the track (e.g., "cedd1b84-3246-4d44-8e33-ebdb9515619f").
-- 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.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.frameRatestringFrame rate of the media (e.g., "30/1").
- 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:11:45.648324Z").
- data.updatedAtstring (ISO 8601)Timestamp when the media was last updated (e.g., "2025-04-07T11:12:02.200011Z").
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.intro.ready").
stringidUnique identifier for the event (e.g., "bee1c978-bac0-4eef-ba11-36432bbc0289").
objectworkspaceWorkspace information.
string- workspace.nameName of the workspace (e.g., "Development").
string- workspace.idUnique identifier for the workspace (e.g., "6dc2b4e0-0615-42fd-a580-1f4aad932dfe").
stringstatusStatus of the media (e.g., "ready").
objectdata
string (URL)- data.thumbnailURL for the thumbnail image (e.g., "https://images.fastpix.io/f8aa1b92-9861-41b7-ab79-9864039ad971/thumbnail.png").
string- data.idUnique identifier for the media (e.g., "4aa8b2ff-647e-4bae-87f9-3d85e4ddf8cf").
string- data.workspaceIdUnique identifier for the workspace (e.g., "6dc2b4e0-0615-42fd-a580-1f4aad932dfe").
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., "1080p").
array- data.playbackIdsList of playback IDs.
string-- data.playbackIds[].idUnique identifier for the playback ID (e.g., "f8aa1b92-9861-41b7-ab79-9864039ad971").
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.
-- data.tracks[].id
-- data.tracks[].typeType of the track (e.g., "audio").
-- data.tracks[].status
-- data.tracks[].languageCode
-- data.tracks[].languageNane
string-- data.tracks[].idUnique identifier for the track (e.g., "cedd1b84-3246-4d44-8e33-ebdb9515619f").
string-- data.tracks[].typeType of the track (e.g., "video").
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/1").
string-- data.tracks[].statusStatus of the track (e.g., "available").
boolean- data.sourceAccessIndicates if source access is enabled (e.g., false).
string- data.mp4SupportIndicates MP4 support (e.g., "none").
boolean- data.optimizeAudioIndicates if audio optimization is enabled (e.g., false).
string- data.durationDuration of the media (e.g., "00:00:20").
string- data.frameRateFrame rate of the media (e.g., "30/1").
string- data.aspectRatioAspect ratio of the media (e.g., "16:9").
string (ISO 8601)- data.createdAtTimestamp when the media was created (e.g., "2025-04-07T11:11:45.648324Z").
string (ISO 8601)- data.updatedAtTimestamp when the media was last updated (e.g., "2025-04-07T11:12:02.200011Z").
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.subtitle.generated.ready

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").
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.thumbnailstring (URL)URL for the thumbnail image (e.g., "https://images.fastpix.io/cb81e43c-47ed-46c6-a0c6-f79b1817ef83/thumbnail.png").
- data.idstringUnique identifier for the media (e.g., "8c340ff4-d5e1-4ade-96e8-6f07075de2f9").
- data.workspaceIdstringUnique identifier for the workspace (e.g., "49deae57-a732-42d4-87b2-6179cc682d07").
- data.maxResolutionstringMaximum resolution for encoding, storing, and streaming media (e.g., "480p").
- data.sourceResolutionstringSource resolution of the media (e.g., "480p").
- data.playbackIdsarrayList of playback IDs.
-- data.playbackIds[].idstringUnique identifier for the playback ID (e.g., "cb81e43c-47ed-46c6-a0c6-f79b1817ef83").
-- 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., "265d2797-5c85-4429-b7f6-b5a56e194659").
-- data.tracks[].typestringType of the track (e.g., "audio", "subtitle", "video").
-- data.tracks[].statusstringStatus of the track (e.g., "available").
-- data.tracks[].languageCodestringLanguage code of the track (e.g., "und" for unknown, "en" for English).
-- data.tracks[].languageNamestringLanguage name of the track (e.g., "default", "English").
-- data.tracks[].widthintegerWidth of the video track (e.g., 640).
-- data.tracks[].heightintegerHeight of the video track (e.g., 360).
-- data.tracks[].frameRatestringFrame rate of the video track (e.g., "25/1").
- data.sourceAccessbooleanIndicates if source access is enabled (e.g., false).
- data.generateSubtitlebooleanIndicates if subtitles are generated (e.g., true).
- 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:03:39").
- data.aspectRatiostringAspect ratio of the media (e.g., "16:9").
- data.createdAtstring (ISO 8601)Timestamp when the media was created (e.g., "2025-03-18T10:56:05.610591Z").
- data.updatedAtstring (ISO 8601)Timestamp when the media was last updated (e.g., "2025-03-18T11:01:17.736322Z").
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).
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.idstringUnique identifier for the track (e.g., 3dc44ccb-ffb1-489b-ba3f-b240b88a05f5).
data.typestringType of track (e.g., subtitle).
data.languageCodestringLanguage code of the track (e.g., ta-IN).
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.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).
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.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 (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.
createdAtstringTimestamp when the event was created.
attemptsarrayList of delivery attempts.