Livepush Developers

Videos

Update video metadata

PUT https://octopus.livepush.io/streams/{stream_id}/videos/{video_id}

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

Updates the editable metadata on a video — label, description, tags and thumbnail.

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

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

Parameters

Path parameters

  • stream_id string required
    Stream identifier. These handlers resolve the video by video_id scoped to the authenticated account and never read this value, which is why the dashboard passes the literal me. Any value routes correctly.
    example: st_xxxxxxxxxxxxx
  • video_id string required
    Unique identifier of the video.
    example: vd_xxxxxxxxxxxx

Request body

application/json required

  • label string
    Display name of the video.
  • title string
  • description string
  • game string
  • gameId string
  • thumbnailId string
  • thumbnailFilename string
  • tags string[]
  • isDefault boolean
Example request body response.json
{
  "label": "Sunday service — 12 Jan",
  "title": "string",
  "description": "string",
  "game": "string",
  "gameId": "string",
  "thumbnailId": "string",
  "thumbnailFilename": "string",
  "tags": [
    "string"
  ],
  "isDefault": false
}

Code samples

request.sh
curl -X PUT 'https://octopus.livepush.io/streams/me/videos/vd_xxxxxxxxxxxx' \
  -H 'Authorization: Bearer YOUR_API_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "label": "Sunday service — 12 Jan",
    "title": "string",
    "description": "string",
    "game": "string",
    "gameId": "string",
    "thumbnailId": "string",
    "thumbnailFilename": "string",
    "tags": [
      "string"
    ],
    "isDefault": false
  }'
const response = await fetch('https://octopus.livepush.io/streams/me/videos/vd_xxxxxxxxxxxx', {
  method: 'PUT',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "label": "Sunday service — 12 Jan",
    "title": "string",
    "description": "string",
    "game": "string",
    "gameId": "string",
    "thumbnailId": "string",
    "thumbnailFilename": "string",
    "tags": [
      "string"
    ],
    "isDefault": false
  }),
});

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 = {
    "label": "Sunday service — 12 Jan",
    "title": "string",
    "description": "string",
    "game": "string",
    "gameId": "string",
    "thumbnailId": "string",
    "thumbnailFilename": "string",
    "tags": [
        "string"
    ],
    "isDefault": False
}

response = requests.put('https://octopus.livepush.io/streams/me/videos/vd_xxxxxxxxxxxx', headers=headers, json=payload, timeout=30)
response.raise_for_status()
data = response.json()

Responses

Success.

application/json

  • success boolean
Example 200 response response.json
{
  "success": true
}

No response body.

Not found for this account.