Livepush Developers

Videos

Create a video folder

POST https://octopus.livepush.io/streams/{stream_id}/videos/resource_group

Base URL https://octopus.livepush.io — Core Streams & Media APIs

Creates a video folder. Passing the id of an existing folder renames that folder instead of creating a new one.

Video folders appear as resource_group in the URL and as resourceGroup on the video object — the original internal name, kept for compatibility.

Requires a token with the streams.videos.write scope.

Authorization

Send a valid access token in the Authorization header.

  • bearerAuth — Bearer token (JWT)
headers.txt
Authorization: Bearer YOUR_API_TOKEN

Try it

POST https://octopus.livepush.io/streams/{stream_id}/videos/resource_group — This call changes live data on your account.

Parameters

Path parameters

  • stream_id string required
    Unique identifier of the stream.
    example: st_xxxxxxxxxxxxx

Request body

application/json required

  • id string
    Omit to create a folder; supply an existing folder id to rename it.
  • name string required
Example request body response.json
{
  "id": "grp_xxxxxxxxxxxx",
  "name": "Sunday services"
}

Code samples

request.sh
curl -X POST 'https://octopus.livepush.io/streams/st_xxxxxxxxxxxxx/videos/resource_group' \
  -H 'Authorization: Bearer YOUR_API_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "id": "grp_xxxxxxxxxxxx",
    "name": "Sunday services"
  }'
const response = await fetch('https://octopus.livepush.io/streams/st_xxxxxxxxxxxxx/videos/resource_group', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "id": "grp_xxxxxxxxxxxx",
    "name": "Sunday services"
  }),
});

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 = {
    "id": "grp_xxxxxxxxxxxx",
    "name": "Sunday services"
}

response = requests.post('https://octopus.livepush.io/streams/st_xxxxxxxxxxxxx/videos/resource_group', headers=headers, json=payload, timeout=30)
response.raise_for_status()
data = response.json()

Responses

Create a video folder.

application/json

  • id string
  • type string
    The kind of resource the folder holds. Video folders are always video; the stream variant exists in the same collection but is not exposed here.
    streamvideo
  • name string
    Display name of the folder.
  • user string
    Owning account.
  • Key string
  • createdAt string<date-time>
  • isDisabled boolean
Example 200 response response.json
{
  "id": "grp_xxxxxxxxxxxx",
  "type": "video",
  "name": "Sunday services",
  "user": "string",
  "Key": "string",
  "createdAt": "2026-01-31T09:00:00.000Z",
  "isDisabled": false
}

No response body.

Not found for this account.