API reference
Videos
Video library and VOD assets
Endpoints
| Method | Path | Operation |
|---|---|---|
| GET | /streams/me/videos |
Get user videos Returns every video in the authenticated account's library, across all streams. Requires a token with the streams.videos |
| GET | /streams/me/videos/storage_specs |
Get video storage specs Returns the storage zones available to the account and the switches that govern how an upload must be performed. Call th |
| GET | /streams/{stream_id}/videos |
List videos on a stream Returns the videos attached to one stream, in playlist order. Requires a token with the streams.videos.read scope. |
| POST | /streams/{stream_id}/videos |
Register an uploaded video Registers an object already written to storage as a video in the library. This is the final step of an upload: request a |
| PUT | /streams/{stream_id}/videos/arrange |
Reorder stream videos Sets the playback order of the videos attached to a stream. Not called by the dashboard. Requires a token with the strea |
| GET | /streams/{stream_id}/videos/{video_id} |
Get video by ID Returns one video. Snapshot URLs are rewritten from raw bucket hosts to the Livepush CDN before being returned. Requires |
| PUT | /streams/{stream_id}/videos/{video_id} |
Update video metadata Updates the editable metadata on a video — label, description, tags and thumbnail. Requires a token with the streams.vid |
| DELETE | /streams/{stream_id}/videos/{video_id} |
Delete a video Permanently deletes a video and its stored object. Requires a token with the streams.videos.write scope. |
| GET | /streams/{stream_id}/videos/{video_id}/codecinfo |
Get video codec info Returns container and per-track codec details for a video: duration, resolution, frame rate and the audio and video code |
| POST | /streams/{stream_id}/videos/{video_id}/retranscode |
Re-transcode a video Queues the video for transcoding again, optionally against a different encoding preset. Increments the video's retransco |
| GET | /streams/{stream_id}/videos/{video_id}/download_url/signed |
Get a signed download URL Returns a time-limited URL for downloading the source file. Not called by the dashboard. Requires a token with the strea |
| GET | /streams/{stream_id}/videos/{video_id}/thumb_url/signed |
Get a signed thumbnail URL Returns a time-limited URL for the video thumbnail. Responds 404 when the video has no snapshot yet. Not called by the d |
| PUT | /streams/{stream_id}/videos/{video_id}/set_group/{group_id} |
Move a video into a folder Files the video under a video folder. A video belongs to at most one folder, so this moves it rather than adding a secon |
| PUT | /streams/{stream_id}/videos/{video_id}/unset_group |
Remove a video from its folder Takes the video out of its folder and returns it to the top level of the library. The video itself is untouched. Video f |
| GET | /streams/{stream_id}/videos/resource_groups |
List video folders Returns the video folders defined for the account. Video folders appear as resourcegroup in the URL and as resourceGroup |
| POST | /streams/{stream_id}/videos/resource_group |
Create a video folder Creates a video folder. Passing the id of an existing folder renames that folder instead of creating a new one. Video fo |
| DELETE | /streams/{stream_id}/videos/resource_group/{group_id} |
Delete a video folder Deletes a video folder. The videos inside it are not deleted — they return to the top level of the library. Video folder |
| POST | /streams/{stream_id}/videos/uploadurl |
Create a video upload URL Returns a URL to upload a video file to. Use this for a single-request upload; for large files use the multipart flow in |
| POST | /streams/{stream_id}/videos/uploadurl/signed |
Create a signed video upload URL Returns a pre-signed upload URL, for clients that cannot use the plain upload URL. The response shape matches the plain |
| POST | /streams/{stream_id}/videos/uploadurl/multipart |
Start a multipart upload Opens a multipart upload session for a large video and returns the uploadId and object Key used by the remaining multipa |
| POST | /streams/{stream_id}/videos/uploadurl/multipart/part/signed |
Sign a multipart upload part Returns a pre-signed URL for one part. Call once per part, then keep each response ETag for the finish call. Requires a |
| POST | /streams/{stream_id}/videos/uploadurl/multipart/finish |
Finish a multipart upload Completes the multipart upload by listing every uploaded part with its ETag. The object only becomes readable once this |
| POST | /streams/{stream_id}/videos/uploadurl/multipart/abort |
Abort a multipart upload Abandons the session and releases the parts already written. Call this on client-side upload failure so storage is not l |