Skip to main content
Use webhooks to get notified when streams or assets change state, so your app can update the UI, start processing, or handle errors.

Asset events

EventWhen it fires
asset.createdOn-demand asset created
asset.updatedAsset updated (e.g. playback URL available)
asset.readyAsset ready with all transcoded renditions
asset.failedUpload or processing failed
asset.deletedAsset deleted
Set up a webhook endpoint, then in Developers → Webhooks create a webhook with your URL and select the asset events you need. See Webhooks for signature verification and payload format.

Stream events

EventWhen it fires
stream.startedStream is active; HLS URL works
stream.idleStream no longer active
recording.startedRecording started on active stream
recording.readyRecording ready to download
recording.waitingStream ended with recording; processing (often ~5 min)
multistream.connectedConnected to multistream target
multistream.errorError connecting or streaming to target
multistream.disconnectedMultistream to target ended
Create a webhook and select the stream/recording/multistream events. Your endpoint receives the event type and the related object (stream, session, etc.) in the payload.

Setup steps

  1. Implement a POST endpoint that returns 2XX and verifies the Livepeer-Signature header.
  2. In Studio, add the webhook URL and choose events.
  3. Handle the event and event_object in your code (e.g. update DB, notify user, retry on failure).
See Webhooks and Set up and listen for webhooks for full setup and signature verification.
Last modified on February 24, 2026