Livepush Developers

Livepush Developers API

Official REST API reference for Livepush. Programmatically manage live streams, multistreaming destinations, video libraries, recordings, scheduling and media ingestion workflows.

OpenAPI 3.0.3 Version 1.0.0 88 endpoints

Overview

Official REST API reference for Livepush.

The Livepush API allows developers to programmatically manage live streams, multistreaming destinations, video libraries, recordings, scheduling, and media ingestion workflows.

This specification defines the base structure for all Livepush API resources. Some endpoints may be introduced incrementally as additional APIs become available.

Quick start

Every request is authenticated with a bearer token. Fetch your own account to check your credentials are working:

request.sh
curl -X GET 'https://squid.livepush.io/account/this' \
  -H 'Authorization: Bearer YOUR_API_TOKEN'

A 200 response confirms the token is valid. A 401 means the token is missing, malformed, or expired.

Base URLs

The API is split across three hosts. Each endpoint page states the host it belongs to.

Base URLCovers
https://tokens.livepush.io Authentication & OAuth 2.0
https://octopus.livepush.io Core Streams & Media APIs
https://squid.livepush.io Accounts & Billing APIs
https://vod-web-import-api.livepush.io Livepush VOD Import API
https://usages.livepush.io Usage & Bandwidth API

API reference

All endpoints

MethodPathDescription
Authentication
GET /oauth2/authorize Get the consent screen
POST /oauth2/authorize Submit the consent decision
GET /oauth2/access_token Exchange a code or refresh token
Accounts
GET /account/this Get user details
GET /account/subscriptions Get user subscriptions
Streams
GET /streams/mine Get user streams
POST /streams Create a new stream
GET /streams/{stream_id} Get stream by ID
DELETE /streams/{stream_id} Delete live stream
Destinations
GET /streams/me/destinations List saved destinations
POST /streams/{stream_id}/destinations Create new stream destination
PUT /streams/{stream_id}/destinations/{destination_id}/enable Enable stream destination
PUT /streams/{stream_id}/destinations/{destination_id}/disable Disable stream destination
DELETE /streams/{stream_id}/destinations/{destination_id} Delete stream destination
Videos
GET /streams/me/videos Get user videos
GET /streams/me/videos/storage_specs Get video storage specs
GET /streams/{stream_id}/videos List videos on a stream
POST /streams/{stream_id}/videos Register an uploaded video
PUT /streams/{stream_id}/videos/arrange Reorder stream videos
GET /streams/{stream_id}/videos/{video_id} Get video by ID
PUT /streams/{stream_id}/videos/{video_id} Update video metadata
DELETE /streams/{stream_id}/videos/{video_id} Delete a video
GET /streams/{stream_id}/videos/{video_id}/codecinfo Get video codec info
POST /streams/{stream_id}/videos/{video_id}/retranscode Re-transcode a video
GET /streams/{stream_id}/videos/{video_id}/download_url/signed Get a signed download URL
GET /streams/{stream_id}/videos/{video_id}/thumb_url/signed Get a signed thumbnail URL
PUT /streams/{stream_id}/videos/{video_id}/set_group/{group_id} Move a video into a folder
PUT /streams/{stream_id}/videos/{video_id}/unset_group Remove a video from its folder
GET /streams/{stream_id}/videos/resource_groups List video folders
POST /streams/{stream_id}/videos/resource_group Create a video folder
DELETE /streams/{stream_id}/videos/resource_group/{group_id} Delete a video folder
POST /streams/{stream_id}/videos/uploadurl Create a video upload URL
POST /streams/{stream_id}/videos/uploadurl/signed Create a signed video upload URL
POST /streams/{stream_id}/videos/uploadurl/multipart Start a multipart upload
POST /streams/{stream_id}/videos/uploadurl/multipart/part/signed Sign a multipart upload part
POST /streams/{stream_id}/videos/uploadurl/multipart/finish Finish a multipart upload
POST /streams/{stream_id}/videos/uploadurl/multipart/abort Abort a multipart upload
Players
POST /players Create a player
GET /players/mine List your players
GET /players/suggestions Get player creation suggestions
GET /players/{player_id} Get player by ID
DELETE /players/{player_id} Delete a player
PUT /players/{player_id}/enable Enable a player
PUT /players/{player_id}/disable Disable a player
PUT /players/{player_id}/name Rename a player
PUT /players/{player_id}/config Replace player configuration
Stream Embed
PUT /streams/{stream_id}/embed/title Set embed title
PUT /streams/{stream_id}/embed/color Set embed colour scheme
PUT /streams/{stream_id}/embed/channel_logo Save embed channel logo settings
GET /streams/{stream_id}/embed/assets/cover_img Get embed cover image
PUT /streams/{stream_id}/embed/assets/cover_img Set embed cover image
DELETE /streams/{stream_id}/embed/assets/cover_img Remove embed cover image
POST /streams/{stream_id}/embed/assets/upload_url Create embed asset upload URL
PUT /streams/{stream_id}/embed/offline_text Set embed offline text
PUT /streams/{stream_id}/embed/offline_text_mode Toggle offline text mode
PUT /streams/{stream_id}/embed/autoplay Toggle embed autoplay
PUT /streams/{stream_id}/embed/abr Toggle adaptive bitrate
PUT /streams/{stream_id}/embed/live_rewind Toggle live rewind
PUT /streams/{stream_id}/embed/set_uninterrupted_mode Toggle uninterrupted mode
PUT /streams/{stream_id}/embed/premier Toggle premiere mode
PUT /streams/{stream_id}/embed/premier/text Set premiere text
PUT /streams/{stream_id}/embed/set_viewers_counter Toggle the viewer counter
PUT /streams/{stream_id}/embed/set_pause_control Toggle the pause control
PUT /streams/{stream_id}/embed/toggle_live_badge Toggle the live badge
PUT /streams/{stream_id}/embed/plugins Set embed analytics plugins
PUT /streams/{stream_id}/embed/chat_config Set embed chat configuration
PUT /streams/{stream_id}/embed/password Set embed password
PUT /streams/{stream_id}/embed/domains Set allowed embed domains
PUT /streams/{stream_id}/embed/geo Set embed geo restrictions
PUT /streams/{stream_id}/embed/iframe_restriction Set iframe hosting rule
PUT /streams/{stream_id}/embed/mode/cdn Toggle CDN embed mode
PUT /streams/{stream_id}/embed/mode/external Toggle external embed mode
PUT /streams/{stream_id}/embed/preferred_destination Set preferred embed destination
POST /streams/{stream_id}/embed/produce_direct_links Produce direct playback links
POST /streams/{stream_id}/embed/use_direct_links_for_embed Toggle direct links for the embed
Video Imports
POST /inspector/get_metadata Inspect remote video metadata
POST /transfers/new Start a new video import
GET /transfers/queued List queued video imports
Stream Recordings
GET /streams/me/recordings List user stream recordings
GET /streams/{stream_id}/recordings List stream recordings by stream
Stream Zones
GET /zones/simulcast List available rtmp ingestion zones
Stream Scheduler
PUT /streams/{stream_id}/config/scheduler/playlist Attach Videos to the Pre-Recorded Stream Playlist
PUT /streams/{stream_id}/config/scheduler/loop Toggle scheduler looping
POST /streams/{stream_id}/config/scheduler/events Schedule a pre-recorded live stream
DELETE /streams/{stream_id}/config/scheduler/events/{event_id} Delete scheduled stream event
PUT /streams/{stream_id}/config/scheduler/events/{event_id}/end End active scheduled stream
Usage
GET /usage/cdn/hostnames Get bandwidth by hostname
GET /usage/cdn/streams/{stream_id} Get bandwidth for a stream