Bitmovin Webhooks API
The Webhooks API from Bitmovin — 21 operation(s) for webhooks.
The Webhooks API from Bitmovin — 21 operation(s) for webhooks.
openapi: 3.0.1
info:
title: Bitmovin Encoding Config Webhooks API
description: REST API for cloud-based VOD and live video encoding. Supports H.264, H.265/HEVC, VP9, AV1 and more, along with adaptive bitrate packaging (HLS/DASH/Smooth Streaming), DRM (Widevine, PlayReady, FairPlay), and per-title encoding optimisation.
version: '3.0'
termsOfService: https://bitmovin.com
contact:
name: Bitmovin Inc
url: https://bitmovin.com
email: support@bitmovin.com
servers:
- url: https://api.bitmovin.com/v1
description: Bitmovin Server
variables: {}
security:
- ApiKeyAuth: []
- ApiKeyAuth: []
TenantOrgId: []
tags:
- name: Webhooks
paths:
/notifications/webhooks/encoding/manifest/{manifest_id}/error:
post:
tags:
- Webhooks
summary: Add 'Manifest Error' Webhook Notification (Specific Manifest)
operationId: PostNotificationsWebhookManifestErrorByEncodingId
x-bitmovin:
operationName: createByManifestId
parameters:
- name: manifest_id
in: path
description: Id of the manifest resource
style: simple
required: true
schema:
type: string
example: f3177c2e-0000-4ba6-bd20-1dee353d8a72
requestBody:
description: The webhook notifications object. A maximum number of 5 webhooks per Manifest is allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Webhook'
responses:
'202':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/Webhook'
- description: Notification Details
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
/notifications/webhooks/encoding/manifest/{manifest_id}/finished:
post:
tags:
- Webhooks
summary: Add 'Manifest Finished Successfully' Webhook Notification (Specific Manifest)
operationId: PostNotificationsWebhookManifestFinishedByEncodingId
x-bitmovin:
operationName: createByManifestId
parameters:
- name: manifest_id
in: path
description: Id of the manifest resource
style: simple
required: true
schema:
type: string
example: f3177c2e-0000-4ba6-bd20-1dee353d8a72
requestBody:
description: The webhook notifications object. A maximum number of 5 webhooks per Manifest is allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Webhook'
responses:
'202':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/Webhook'
- description: Notification Details
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
/notifications/webhooks/encoding/manifest/error:
post:
tags:
- Webhooks
summary: Add 'Manifest Error' Webhook (All Manifests)
operationId: PostNotificationsWebhookManifestsError
description: Add a new webhook notification that triggers if a manifest generation fails. A maximum number of 5 webhooks is allowed
requestBody:
description: The 'Manifest Error' Webhook to be added.
content:
application/json:
schema:
$ref: '#/components/schemas/Webhook'
responses:
'201':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/Webhook'
- description: Webhook Details
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
/notifications/webhooks/encoding/manifest/finished:
post:
tags:
- Webhooks
summary: Add 'Manifest Finished Successfully' Webhook (All Manifests)
operationId: PostNotificationsWebhookManifestsFinished
requestBody:
description: Add a new webhook notification that triggers if a manifest generation finished successfully. A maximum number of 5 webhooks is allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Webhook'
responses:
'201':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/Webhook'
- description: Webhook Details
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
/notifications/webhooks/encoding/encodings/{encoding_id}/encoding-status-changed:
post:
tags:
- Webhooks
summary: Add Encoding Changed Webhook Notification (Specific Encoding)
operationId: PostNotificationsWebhooksEncodingEncodingsEncodingStatusChangedByEncodingId
x-bitmovin:
operationName: createByEncodingId
parameters:
- name: encoding_id
in: path
description: Id of the encoding resource
style: simple
required: true
schema:
type: string
example: f3177c2e-0000-4ba6-bd20-1dee353d8a72
requestBody:
description: 'The webhook notifications object. For conditions, following attributes are possible: ''type'': ''Input file download'', ''Input file analysis'', ''Per-Title analysis'', ''Encoding'', ''Progressive Muxing'' ''progress'': number in range of 0-100 ''status'': ''RUNNING'', ''FINISHED'', ''ERROR''
Examples: To only get notified about the encoding process, create a Condition object and set attribute=''type'', value=''Encoding'', operator=EQUAL To only get notified if a workflow step is finished, create a Condition object and set attribute=''status'', value=''FINISHED'', operator=EQUAL To only get notified if a workflow step is over 50%, create a Condition object and set attribute=''progress'', value=''50'', operator=GREATER_THAN '
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookNotificationWithStreamConditionsRequest'
responses:
'202':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/WebhookNotificationWithStreamConditions'
- description: Notification Details
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
/notifications/webhooks/encoding/encodings/error:
post:
tags:
- Webhooks
summary: Add 'Encoding Error' Webhook
operationId: PostNotificationsWebhooksEncodingEncodingsError
description: Add a new webhook notification that triggers if an encoding fails. A maximum number of 5 webhooks is allowed
requestBody:
description: The 'Encoding Error' Webhook to be added.
content:
application/json:
schema:
$ref: '#/components/schemas/Webhook'
responses:
'201':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/Webhook'
- description: Webhook Details
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
/notifications/webhooks/encoding/encodings/{encoding_id}/error:
post:
tags:
- Webhooks
summary: Add Error Webhook for a specific Encoding
operationId: PostNotificationsWebhooksEncodingEncodingsErrorByEncodingId
x-bitmovin:
operationName: createByEncodingId
parameters:
- name: encoding_id
in: path
description: Id of the encoding
style: simple
required: true
schema:
type: string
example: 23627cb2-7228-45ed-91fa-489bf5e20fe3
requestBody:
description: The 'Encoding Error' Webhook to be added. A maximum number of 5 webhooks per Encoding is allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Webhook'
responses:
'202':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/Webhook'
- description: Webhook Details
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
/notifications/webhooks/encoding/encodings/finished:
post:
tags:
- Webhooks
summary: Add 'Encoding Finished' Webhook
description: Add a new webhook notification that triggers if an encoding finishes successfully. A maximum number of 5 webhooks is allowed
operationId: PostNotificationsWebhooksEncodingEncodingsFinished
requestBody:
description: The 'Encoding Finished' Webhook to be added.
content:
application/json:
schema:
$ref: '#/components/schemas/Webhook'
responses:
'201':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/Webhook'
- description: Webhook Details
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
/notifications/webhooks/encoding/encodings/{encoding_id}/finished:
post:
tags:
- Webhooks
summary: Add 'Encoding Finished' Webhook for a specific Encoding
operationId: PostNotificationsWebhooksEncodingEncodingsFinishedByEncodingId
x-bitmovin:
operationName: createByEncodingId
parameters:
- name: encoding_id
in: path
description: Id of the encoding
style: simple
required: true
schema:
type: string
example: 23627cb2-7228-45ed-91fa-489bf5e20fe3
requestBody:
description: The 'Encoding Finished' Webhook to be added. A maximum number of 5 webhooks per Encoding is allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Webhook'
responses:
'202':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/Webhook'
- description: Webhook Details
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
/notifications/webhooks/encoding/encodings/live-encoding-heartbeat:
post:
tags:
- Webhooks
summary: Add 'Live Encoding Heartbeat' Webhook
description: 'Add a new webhook notification that triggers a heartbeat webhook with a fixed `interval` for all Live Encodings.
'
operationId: PostNotificationsWebhooksEncodingEncodingsLiveEncodingHeartbeat
requestBody:
description: The 'Live Encoding Heartbeat' Webhook to be added.
content:
application/json:
schema:
$ref: '#/components/schemas/LiveEncodingHeartbeatWebhook'
responses:
'201':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/LiveEncodingHeartbeatWebhook'
- description: Webhook Details
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
/notifications/webhooks/encoding/encodings/live-input-stream-changed:
post:
tags:
- Webhooks
summary: Add Live Input Stream Changed Webhook Notification (All Encodings)
operationId: PostNotificationsWebhooksEncodingEncodingsLiveInputStreamChanged
requestBody:
description: The webhook notifications object
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookNotificationWithStreamConditionsRequest'
responses:
'202':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/WebhookNotificationWithStreamConditions'
- description: Notification Details
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
/notifications/webhooks/encoding/encodings/{encoding_id}/live-input-stream-changed:
post:
tags:
- Webhooks
summary: Add Live Input Stream Changed Webhook Notification (Specific Encoding)
operationId: PostNotificationsWebhooksEncodingEncodingsLiveInputStreamChangedByEncodingId
x-bitmovin:
operationName: createByEncodingId
parameters:
- name: encoding_id
in: path
description: Id of the encoding resource
style: simple
required: true
schema:
type: string
example: f3177c2e-0000-4ba6-bd20-1dee353d8a72
requestBody:
description: The webhook notifications object
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookNotificationWithStreamConditionsRequest'
responses:
'202':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/WebhookNotificationWithStreamConditions'
- description: Notification Details
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
/notifications/webhooks/encoding/encodings/live-manifest-ready:
post:
tags:
- Webhooks
summary: Add 'Live Manifest Ready' Webhook
description: Add a webhook notification that is triggered when a live manifest is ready, meaning at least one segment is available in every playlist. A maximum number of 5 webhooks is allowed
operationId: PostNotificationsWebhooksEncodingEncodingsLiveManifestReady
requestBody:
description: The 'Live Manifest Ready' Webhook to be added.
content:
application/json:
schema:
$ref: '#/components/schemas/Webhook'
responses:
'201':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/Webhook'
- description: Webhook Details
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
/notifications/webhooks/encoding/encodings/{encoding_id}/live-manifest-ready:
post:
tags:
- Webhooks
summary: Add 'Live Manifest Ready' Webhook for a specific Encoding
description: Add a new webhook notification that triggers when a live manifest is ready for a specific encoding. A maximum number of 5 webhooks per Encoding is allowed
operationId: PostNotificationsWebhooksEncodingEncodingsLiveManifestReadyByEncodingId
x-bitmovin:
operationName: createByEncodingId
parameters:
- name: encoding_id
in: path
description: Id of the encoding
style: simple
required: true
schema:
type: string
example: 23627cb2-7228-45ed-91fa-489bf5e20fe3
requestBody:
description: The 'Live Manifest Ready' Webhook to be added.
content:
application/json:
schema:
$ref: '#/components/schemas/Webhook'
responses:
'202':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/Webhook'
- description: Webhook Details
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
/notifications/webhooks/encoding/encodings/encoding-status-changed:
post:
tags:
- Webhooks
summary: Add Encoding Changed Webhook Notification (All Encodings)
operationId: PostNotificationsWebhooksEncodingEncodingsStatusChanged
requestBody:
description: 'The webhook notifications object. For conditions, following attributes are possible: ''type'': ''Input file download'', ''Input file analysis'', ''Per-Title analysis'', ''Encoding'', ''Progressive Muxing'' ''progress'': number in range of 0-100 ''status'': ''RUNNING'', ''FINISHED'', ''ERROR''
Examples: To only get notified about the encoding process, create a Condition object and set attribute=''type'', value=''Encoding'', operator=EQUAL To only get notified if a workflow step is finished, create a Condition object and set attribute=''status'', value=''FINISHED'', operator=EQUAL To only get notified if a workflow step is over 50%, create a Condition object and set attribute=''progress'', value=''50'', operator=GREATER_THAN'
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookNotificationWithStreamConditionsRequest'
responses:
'202':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/WebhookNotificationWithStreamConditions'
- description: Notification Details
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
/notifications/webhooks/encoding/encodings/transfer-error:
post:
tags:
- Webhooks
summary: Add 'Encoding Transfer Error' Webhook
description: Add a new webhook notification that triggers if a transfer fails. A maximum number of 5 webhooks is allowed
operationId: PostNotificationsWebhooksEncodingEncodingsTransferError
requestBody:
description: The 'Encoding Transfer Error' Webhook to be added.
content:
application/json:
schema:
$ref: '#/components/schemas/Webhook'
responses:
'202':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/Webhook'
- description: Webhook Details
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
/notifications/webhooks/encoding/encodings/{encoding_id}/transfer-error:
post:
tags:
- Webhooks
summary: Add 'Encoding Transfer Error' Webhook for a specific Encoding
operationId: PostNotificationsWebhooksEncodingEncodingsTransferErrorByEncodingId
x-bitmovin:
operationName: createByEncodingId
parameters:
- name: encoding_id
in: path
description: Id of the encoding
style: simple
required: true
schema:
type: string
example: 23627cb2-7228-45ed-91fa-489bf5e20fe3
requestBody:
description: The 'Encoding Transfer Error' Webhook to be added. A maximum number of 5 webhooks per Encoding is allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Webhook'
responses:
'202':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/Webhook'
- description: Webhook Details
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
/notifications/webhooks/encoding/manifest/error/{notification_id}:
put:
tags:
- Webhooks
summary: Replace 'Manifest Error' Webhook Notification
operationId: PutNotificationsWebhookManifestErrorByNotificationId
parameters:
- name: notification_id
in: path
description: Id of the webhook notification
style: simple
required: true
schema:
type: string
example: cb90b80c-8867-4e3b-8479-174aa2843f62
requestBody:
description: The webhook notification with the updated values
content:
application/json:
schema:
$ref: '#/components/schemas/Webhook'
responses:
'202':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/Webhook'
- description: Notification Details
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
/notifications/webhooks/encoding/manifest/finished/{notification_id}:
put:
tags:
- Webhooks
summary: Replace Manifest Finished Webhook Notification
operationId: PutNotificationsWebhookManifestFinishedByNotificationId
parameters:
- name: notification_id
in: path
description: Id of the webhook notification
style: simple
required: true
schema:
type: string
example: cb90b80c-8867-4e3b-8479-174aa2843f62
requestBody:
description: The webhook notification with the updated values
content:
application/json:
schema:
$ref: '#/components/schemas/Webhook'
responses:
'202':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/Webhook'
- description: Notification Details
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
/notifications/webhooks/encoding/encodings/encoding-status-changed/{notification_id}:
put:
tags:
- Webhooks
summary: Replace Encoding Status Changed Webhook Notification
operationId: PutNotificationsWebhooksEncodingEncodingsEncodingStatusChangedByInputId
parameters:
- name: notification_id
in: path
description: Id of the webhook notification
style: simple
required: true
schema:
type: string
example: cb90b80c-8867-4e3b-8479-174aa2843f62
requestBody:
description: The webhook notification with the updated values
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookNotificationWithStreamConditionsRequest'
responses:
'202':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/WebhookNotificationWithStreamConditions'
- description: Notification Details
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
/notifications/webhooks/encoding/encodings/live-input-stream-changed/{notification_id}:
put:
tags:
- Webhooks
summary: Replace Live Input Stream Changed Webhook Notification
operationId: PutNotificationsWebhooksEncodingEncodingsLiveInputStreamChangedByInputId
parameters:
- name: notification_id
in: path
description: Id of the webhook notification
style: simple
required: true
schema:
type: string
example: cb90b80c-8867-4e3b-8479-174aa2843f62
requestBody:
description: The webhook notification with the updated values
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookNotificationWithStreamConditionsRequest'
responses:
'202':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/WebhookNotificationWithStreamConditions'
- description: Notification Details
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
components:
schemas:
ResponseEnvelope:
title: ResponseEnvelope
required:
- requestId
- status
- data
properties:
requestId:
type: string
readOnly: true
description: Unique correlation id
example: 6d84e126-d10c-4e52-bbfb-bd4c92bc8333
status:
description: Response status information
readOnly: true
example: SUCCESS
allOf:
- $ref: '#/components/schemas/ResponseStatus'
data:
description: Response information
readOnly: true
allOf:
- $ref: '#/components/schemas/ResultWrapper'
more:
type: object
description: Additional endpoint specific information
SignatureType:
title: SignatureType
type: string
enum:
- HMAC
Notification:
title: Notification
allOf:
- $ref: '#/components/schemas/BitmovinResponse'
- properties:
resolve:
type: boolean
description: Notify when condition resolves after it was met
# --- truncated at 32 KB (48 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/bitmovin/refs/heads/main/openapi/bitmovin-webhooks-api-openapi.yml