Live video status
Gumlet delivers this notification with HTTP POST and a JSON body to the webhook URL you configured. The x-gumlet-token header is the secret token stored on that webhook, or an empty string when none is stored. A response status from 200 through 299 is recorded as success. Any other status, a timeout, or a connection error is recorded as retrying. Gumlet waits up to 25 seconds for the response and follows up to 5 redirects.
Sent when a live video asset changes status and the webhook trigger list contains that event, or contains live-video-status. Delivery is limited to webhooks whose live workspace list includes the live source. An empty live workspace list matches every live source in the organization.
Events:
live.video.status.created— live session was createdlive.video.status.preparing— session is preparinglive.video.status.ready— session is ready for a source to connectlive.video.status.connected— a source connectedlive.video.status.active— session is streaming. Width, height, and aspect ratio are included when metadata is availablelive.video.status.disconnected— source disconnectedlive.video.status.complete— session ended. Recording fields are included when a recording exists
Headers
- Type: stringx
-gumlet -token requiredSecret token configured on the webhook. Compare it with the token you stored when creating the webhook. The value is an empty string when the webhook has no secret token.
Body·
Body posted for live.video.status.* events.
- Type: integercreated
_at requiredLive asset creation time, in milliseconds since the Unix epoch.
- Properties: 6Type:inputrequired
- Type: stringlive
_asset _id requiredLive asset id.
- Type: stringstatusrequired
Current live asset status.
outputis omitted when this isdeletedorerrored. - Type: stringenumtyperequired
Live video status event that triggered this delivery.
values- live
.video .status .created - live
.video .status .ready - live
.video .status .preparing - live
.video .status .connected - live
.video .status .active - live
.video .status .complete - live
.video .status .disconnected
- live
- Type: integerupdated
_at requiredLive asset update time, in milliseconds since the Unix epoch.
- Type: integerdeleted
_at Deletion time in milliseconds since the Unix epoch. Present when the status is
deletedorerroredand a deletion time is stored. - Type:errorProperties: 2
Present when the asset status is
erroredand the asset has an error. - Type:outputProperties: 5
Omitted when the live asset status is
deletedorerrored. - Type: stringrecording
_asset _id VOD asset id of the recording. Present when the live asset status is
completeand a VOD asset exists. - Type: stringvod
_collection _id Workspace id of the recording asset. Present together with
recording_asset_id.
Responses
- 2
X X Acknowledge delivery. Any status from 200 through 299 is treated as success. Any other response is recorded as retrying.
{
"input": {
"live_video_source_id": "68678418fc386bd77fd5c689",
"resolution": [
"360p",
"480p",
"720p",
"1080p"
],
"title": "Live stream at 04:25:38 on 2nd September"
},
"output": {
"playback_url": "https://video.gumlet.io/68678418fc386bd77fd5c689/68b671c1373a93b5103e1f9a/master.m3u8",
"embed_url": "https://play.gumlet.io/embed/live/68b671c1373a93b5103e1f9a",
"storage_size": 0,
"duration": 0,
"recording_playback_url": "https://video.gumlet.io/68678419fc386bd77fd5c69c/68b671c1373a93b5103e1f9c/main.m3u8"
},
"type": "live.video.status.complete",
"status": "complete",
"live_asset_id": "68b671c1373a93b5103e1f9a",
"created_at": 1756787138405,
"updated_at": 1756787392403,
"recording_asset_id": "68b671c1373a93b5103e1f9c",
"vod_collection_id": "68678419fc386bd77fd5c69c"
}

