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

List saved destinations

Request

Returns the list of saved streaming destinations owned by the authenticated user.

Saved destinations can be used for multistreaming and may include platforms such as YouTube, Facebook, or custom RTMP endpoints.

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

Responses

List of saved destinations

Bodyapplication/jsonArray [
idstring
Example: "pb_xxxxxxxxx"
appNamestring
Example: "youtube"
labelstring
rtmpBasestring
oauthobject(DestinationOAuthConfig)
updatedAtstring(date-time)
isPinnedboolean
isDisabledboolean
]
Response
application/json
[ { "id": "pb_xxxxxxxxx", "appName": "youtube", "label": "string", "rtmpBase": "string", "oauth": { … }, "updatedAt": "2019-08-24T14:15:22Z", "isPinned": true, "isDisabled": true } ]

Create new stream destination

Request

Creates and attaches a new streaming destination to the specified live stream.

This endpoint is used to add platforms such as YouTube, Facebook, or custom RTMP destinations to an existing live stream.

Security
bearerAuth
Path
stream_idstringrequired

Unique identifier of the live stream

Bodyapplication/jsonrequired
labelstringrequired

Human-readable name for the destination

appNamestringrequired

Destination platform identifier (e.g. youtube, facebook)

rtmpBasestringrequired

Base RTMP ingest URL

rtmpKeystringrequired

RTMP stream key

curl -i -X POST \
  'https://api.livepush.io/_mock/openapi/streams/{stream_id}/destinations' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "label": "string",
    "appName": "string",
    "rtmpBase": "string",
    "rtmpKey": "string"
  }'

Responses

Stream destination created successfully

Bodyapplication/json
idstring
Example: "pb_xxxxxxxxx"
appNamestring
Example: "youtube"
labelstring
rtmpBasestring
oauthobject(DestinationOAuthConfig)
updatedAtstring(date-time)
isPinnedboolean
isDisabledboolean
Response
application/json
{ "id": "pb_xxxxxxxxx", "appName": "youtube", "label": "string", "rtmpBase": "string", "oauth": { "keepDefaultTitles": true, "titlesSource": "original", "title": "string", "description": "string", "privacy": "string", "autoStart": true, "autoStop": true, "rewind": true, "plannedStartTime": "2019-08-24T14:15:22Z", "metadata": {}, "userAppDetails": {} }, "updatedAt": "2019-08-24T14:15:22Z", "isPinned": true, "isDisabled": true }

Enable stream destination

Request

Enables a previously added destination for the specified live stream.

Once enabled, the destination will start receiving the live stream when the stream is online.

Security
bearerAuth
Path
stream_idstringrequired

Unique identifier of the live stream

destination_idstringrequired

Unique identifier of the stream destination

curl -i -X PUT \
  'https://api.livepush.io/_mock/openapi/streams/{stream_id}/destinations/{destination_id}/enable' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Stream destination enabled successfully

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

Disable stream destination

Request

Disables an active destination for the specified live stream.

When disabled, the destination will no longer receive the live stream until it is re-enabled.

Security
bearerAuth
Path
stream_idstringrequired

Unique identifier of the live stream

destination_idstringrequired

Unique identifier of the stream destination

curl -i -X PUT \
  'https://api.livepush.io/_mock/openapi/streams/{stream_id}/destinations/{destination_id}/disable' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Stream destination disabled successfully

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

Delete stream destination

Request

Permanently deletes a destination from the specified live stream.

Once deleted, the destination will be removed entirely and can no longer be enabled or reused.

Security
bearerAuth
Path
stream_idstringrequired

Unique identifier of the live stream

destination_idstringrequired

Unique identifier of the stream destination

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

Responses

Stream destination deleted successfully

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

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