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

Get user streams

Request

Returns the list of live streams owned by the authenticated user. Each stream includes its configuration, assigned zone, metadata, and connected streaming destinations.

Security
bearerAuth
curl -i -X GET \
  https://api.livepush.io/_mock/openapi/streams/mine \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

List of user streams

Bodyapplication/jsonArray [
idstring
Example: "st_xxxxxxxxxxxxx"
metadataobject
createdAtstring(date-time)
isDisabledboolean
Example: false
configobject
destinationsArray of objects
zoneobject
]
Response
application/json
[ { "id": "st_xxxxxxxxxxxxx", "metadata": { … }, "createdAt": "2019-08-24T14:15:22Z", "isDisabled": false, "config": { … }, "destinations": [ … ], "zone": { … } } ]

Create a new stream

Request

Creates a new live stream for the authenticated user. The stream is initialized with the provided category and name and is assigned to a default processing zone.

Security
bearerAuth
Bodyapplication/jsonrequired
categorystringrequired

Stream category

Enum"simulcast""schedule"
Example: "simulcast"
namestringrequired

Display name for the stream

Example: "Luke Skywalker Apricot Fascinating"
curl -i -X POST \
  https://api.livepush.io/_mock/openapi/streams \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "category": "simulcast",
    "name": "Luke Skywalker Apricot Fascinating"
  }'

Responses

Stream created successfully

Bodyapplication/json
idstring
Example: "st_xxxxxxxxxxxxx"
chatIdstring
Example: "mc_xxxxxxxxxxxx"
embedIdstring
Example: "em_xxxxxxxxxxxx"
createdAtstring(date-time)
metadataobject
configobject
destinationsArray of objects
zonestring

Assigned processing zone ID

Example: "zn_xxxxxxxxx"
unsafeContentboolean
Example: true
hasValidatedboolean
Example: true
Response
application/json
{ "id": "st_xxxxxxxxxxxxx", "chatId": "mc_xxxxxxxxxxxx", "embedId": "em_xxxxxxxxxxxx", "createdAt": "2019-08-24T14:15:22Z", "metadata": { "name": "Luke Skywalker Apricot Fascinating", "category": "simulcast" }, "config": { "pullUrlMaxRetry": 5, "recordingTier": "rise" }, "destinations": [ {} ], "zone": "zn_xxxxxxxxx", "unsafeContent": true, "hasValidated": true }

Get stream by ID

Request

Retrieves details of a specific live stream owned by the authenticated user. The response includes stream metadata, configuration, zone assignment, and destinations.

Security
bearerAuth
Path
streamIdstringrequired

Unique identifier of the stream

Example: st_xxxxxxxxxxxxx
curl -i -X GET \
  https://api.livepush.io/_mock/openapi/streams/st_xxxxxxxxxxxxx \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Stream details

Bodyapplication/json
idstring
Example: "st_xxxxxxxxxxxxx"
chatIdstring
Example: "mc_xxxxxxxxxxxx"
embedIdstring
Example: "em_xxxxxxxxxxxx"
createdAtstring(date-time)
metadataobject
configobject
destinationsArray of objects
zoneobject
unsafeContentboolean
Example: true
hasValidatedboolean
Example: true
Response
application/json
{ "id": "st_xxxxxxxxxxxxx", "chatId": "mc_xxxxxxxxxxxx", "embedId": "em_xxxxxxxxxxxx", "createdAt": "2019-08-24T14:15:22Z", "metadata": { "name": "OUTPUT 1", "category": "simulcast" }, "config": { "pullUrlMaxRetry": 5, "recordingTier": "rise" }, "destinations": [ { … } ], "zone": { "id": "zn_xxxxxxxxx", "name": "Livepush Global", "category": "simulcast", "host": "stream.livepush.io", "isPublic": true, "isDefault": true }, "unsafeContent": true, "hasValidated": true }

Delete live stream

Request

Permanently deletes a live stream owned by the authenticated user.

Once deleted, the live stream configuration, associated destinations, and related metadata will be removed and cannot be recovered.

Security
bearerAuth
curl -i -X DELETE \
  'https://api.livepush.io/_mock/openapi/streams/{streamId}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Live stream deleted successfully

Bodyapplication/json
successboolean
Example: true
Response
application/json
{ "success": true }

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