Skip to content

Livepush Developers API (1.0.0)

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.

Download OpenAPI description
Languages
Servers
Mock server
https://api.livepush.io/_mock/openapi
Core Streams & Media APIs
https://octopus.livepush.io
Accounts & Billing APIs
https://squid.livepush.io
Livepush VOD Import API
https://vod-web-import-api.livepush.io

Accounts

Account-level resources and metadata

Operations

Streams

Live stream creation and lifecycle management

Operations

Destinations

Streaming destinations (YouTube, Facebook, RTMP, etc.)

Operations

Videos

Video library and VOD assets

Operations

Video Imports

Import videos from direct URLs (S3, HTTPS)

Operations

Stream Recordings

Recordings generated from live streams

Operations

Stream Zones

Processing and storage regions

Operations

Stream Scheduler

Scheduled and automated streaming

Operations

Attach Videos to the Pre-Recorded Stream Playlist

Request

Attaches one or more existing videos to the scheduler playlist of a pre-recorded live stream.

The playlist defines the playback order for scheduled or looping pre-recorded live streams.

Security
bearerAuth
Path
stream_idstringrequired

Unique identifier of the pre-recorded live stream

Bodyapplication/jsonrequired
videosArray of stringsrequired

List of video IDs to attach to the playlist

curl -i -X PUT \
  'https://api.livepush.io/_mock/openapi/streams/{stream_id}/config/scheduler/playlist' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "videos": [
      "string"
    ]
  }'

Responses

Scheduler playlist updated successfully

Configure scheduler looping

Request

Enables or disables looping for the scheduler playlist.

When enabled, the playlist will repeat indefinitely, allowing continuous 24/7 pre-recorded live streaming.

Security
bearerAuth
Path
stream_idstringrequired

Unique identifier of the pre-recorded live stream

Bodyapplication/jsonrequired
enabledbooleanrequired

Whether playlist looping is enabled

curl -i -X PUT \
  'https://api.livepush.io/_mock/openapi/streams/{stream_id}/config/scheduler/loop' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "enabled": true
  }'

Responses

Scheduler looping configuration updated

Schedule a pre-recorded live stream

Request

Schedules a pre-recorded live stream to start at a specific date and time using the configured playlist.

This endpoint is used for both one-time scheduled events and looping (24/7) streams.

Security
bearerAuth
Path
stream_idstringrequired

Unique identifier of the pre-recorded live stream

Bodyapplication/jsonrequired
labelstringrequired

Human-readable label for the scheduled event

datetimestring(date-time)required

Scheduled start time in ISO 8601 (UTC)

immediateStartboolean

Whether the stream should start immediately

loopboolean

Whether the event respects looping configuration

videosArray of strings

Optional list of video IDs for this event

curl -i -X POST \
  'https://api.livepush.io/_mock/openapi/streams/{stream_id}/config/scheduler/events' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "label": "string",
    "datetime": "2019-08-24T14:15:22Z",
    "immediateStart": true,
    "loop": true,
    "videos": [
      "string"
    ]
  }'

Responses

Stream scheduled successfully

Delete scheduled stream event

Request

Deletes a scheduled pre-recorded live stream event before it starts.

This operation does not affect the stream configuration or playlist.

Security
bearerAuth
Path
stream_idstringrequired

Unique identifier of the pre-recorded live stream

event_idstringrequired

Unique identifier of the scheduled event

curl -i -X DELETE \
  'https://api.livepush.io/_mock/openapi/streams/{stream_id}/config/scheduler/events/{event_id}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Scheduled event deleted successfully

End active scheduled stream

Request

Stops a currently running pre-recorded live stream event.

Ending a stream is not instantaneous and may take a few seconds to fully stop playback and disconnect destinations.

Security
bearerAuth
Path
stream_idstringrequired

Unique identifier of the pre-recorded live stream

event_idstringrequired

Unique identifier of the active scheduled event

curl -i -X PUT \
  'https://api.livepush.io/_mock/openapi/streams/{stream_id}/config/scheduler/events/{event_id}/end' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Stream end request accepted