Create a player
POST
https://octopus.livepush.io/players
Base URL https://octopus.livepush.io — Core Streams & Media APIs
Creates a standalone player. Unlike a stream embed, a player can carry several sources (streams, videos or URLs) behind one embed.
Requires a token with CanCreatePlayers.
Authorization
Send a valid access token in the Authorization header.
bearerAuth— Bearer token (JWT)
Authorization: Bearer YOUR_API_TOKEN
Try it
Loading the request builder…
POST
https://octopus.livepush.io/players
— This call changes live data on your account.
Request body
-
namestring required
{
"name": "Lobby screen"
}
Code samples
curl -X POST 'https://octopus.livepush.io/players' \
-H 'Authorization: Bearer YOUR_API_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"name": "Lobby screen"
}'
const response = await fetch('https://octopus.livepush.io/players', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"name": "Lobby screen"
}),
});
if (!response.ok) {
throw new Error(`Livepush API error ${response.status}`);
}
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Content-Type': 'application/json',
}
payload = {
"name": "Lobby screen"
}
response = requests.post('https://octopus.livepush.io/players', headers=headers, json=payload, timeout=30)
response.raise_for_status()
data = response.json()
Responses
Player created.
-
idstring -
embedIdstringIdentifier used in the embed URL. -
userstringOwning account. -
namestring -
configPlayerConfigEmbed configuration for a standalone player — the player equivalent of the/streams/{stream_id}/embed/*endpoints. Note thatPUT /players/{player_id}/configreplaces this object wholesale rather than merging, so always send the complete configuration. Unknown fields are stripped. The player surface is narrower than the stream embed surface: there is no equivalent ofchat_config,plugins,mode/cdn,mode/externalorpreferred_destination.-
embedTitlestring -
embedColorstring -
embedAutoplayboolean -
embedAbrbooleanAdaptive bitrate playback. -
embedLiveRewindboolean -
embedPremierboolean -
embedPremierTextstring -
embedOfflineTextstring -
embedOfflineTextAltstring -
embedPasswordstringwrite-only -
embedDomainsstring[]Allowed hosting domains. Empty allows every domain. -
embedGEOListstring[]Allowed country codes. Empty allows every country. -
embedDisableViewersCountboolean -
embedDisablePauseControlboolean -
embedCoverIdstring -
embedCoverFileNamestring -
embedChannelIconURLstring -
embedChannelIconSizestring -
embedChannelIconPositionstring -
embedChannelIconLayoutstring -
embedChannelIconAnchorURLstring -
maxConcurrentViewersintegerHard cap on simultaneous viewers.
-
-
sourcesPlayerSource[]-
typestringWhich of the three source fields is in use.streamvideourl -
streamstringStream ID, whentypeisstream. -
videostringVideo ID, whentypeisvideo. -
urlstringPlayable URL, whentypeisurl. -
isDisabledboolean
-
-
isLockedboolean -
sessionLockedTillstring<date-time> -
isDisabledboolean -
unsafeContentboolean -
createdAtstring<date-time> -
updatedAtstring<date-time>
{
"id": "pl_xxxxxxxxxxxx",
"embedId": "em_xxxxxxxxxxxx",
"user": "string",
"name": "Lobby screen",
"config": {
"embedTitle": "Lobby screen",
"embedColor": "#66d72f",
"embedAutoplay": true,
"embedAbr": false,
"embedLiveRewind": false,
"embedPremier": false,
"embedPremierText": "string",
"embedOfflineText": "string",
"embedOfflineTextAlt": "string",
"embedPassword": "string",
"embedDomains": [
"string"
],
"embedGEOList": [
"string"
],
"embedDisableViewersCount": false,
"embedDisablePauseControl": false,
"embedCoverId": "string",
"embedCoverFileName": "string",
"embedChannelIconURL": "string",
"embedChannelIconSize": "string",
"embedChannelIconPosition": "string",
"embedChannelIconLayout": "string",
"embedChannelIconAnchorURL": "string",
"maxConcurrentViewers": 0
},
"sources": [
{
"type": "stream",
"stream": "st_xxxxxxxxxxxxx",
"video": "vd_xxxxxxxxxxxx",
"url": "string",
"isDisabled": false
}
],
"isLocked": false,
"sessionLockedTill": "2026-01-31T09:00:00.000Z",
"isDisabled": false,
"unsafeContent": false,
"createdAt": "2026-01-31T09:00:00.000Z",
"updatedAt": "2026-01-31T09:00:00.000Z"
}
No response body.