Update live

Updates an existing live stream. All body fields are optional. region, quality_package and save_vod are set at creation only and cannot be changed here.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

PUT /lives/{live_id}

Updates an existing live stream. All body fields are optional — only the fields included in the request will be changed. Returns the updated live object.

📘

Authorization

Requires a valid Panda API token sent in the Authorization header (no Bearer prefix).

⚠️

Set at creation only. region, quality_package and save_vod cannot be changed with PUT /lives. To use different values, create another live.

HTTP Method & Path

PUT /lives/{live_id}

Base URL: https://api-v2.pandavideo.com.br

Authentication Requirements

Security SchemeHeaderNote
API KeyAuthorizationPanda API token (without Bearer prefix)

Parameters

NameInTypeRequiredDescription
AuthorizationheaderstringYesPanda API token (without Bearer prefix)

Path Parameters

FieldTypeRequiredDescriptionConstraints
live_idstring (uuid)YesID of the live stream to update.uuid

Request Body

Content-Type: application/json

All fields are optional — only the fields included in the body will be updated.

Body Parameters

FieldTypeRequiredDescriptionConstraints
titlestringNoUpdated title of the live stream.min 3 chars
scheduled_atstringNoUpdated scheduled start, with no timezone suffix. At most 30 days ahead.e.g. 2026-09-20T14:30:00
bitratearray of stringsNoUpdated set of video qualities for adaptive playback.240p, 360p, 480p, 720p, 1080p, 2160p
latency_typestringNoUpdated latency profile of the live stream.enum: low (5-7s), default (15-20s), high (60-70s)
active_dvrbooleanNoToggles DVR (allow viewers to rewind during the broadcast).
folder_idstring (uuid)NoFolder where the recorded video will be stored after the live ends.uuid
statusstringNoOverride the live status. Typically used to cancel a scheduled live by sending "canceled". Other values are usually managed automatically.enum: online, offline, canceled, finished, finished_imported
{
  "title": "Updated live title",
  "scheduled_at": "2026-09-20T14:30:00",
  "latency_type": "low",
  "active_dvr": true
}
🚧

No timezone suffix. Send 2026-09-20T14:30:00. A trailing Z (2026-09-20T14:30:00Z), which toISOString() always adds, is rejected. Scheduling is limited to 30 days ahead.

⚠️

Heads up: the field is scheduled_at (not scheduled_time). To cancel a scheduled live, send {"status": "canceled"}.

🚧

Maximum quality is 720p. Values above it — the 1080p / 2160p entries of bitrate — are accepted and silently reduced to 720p.

Response

Success Response (200)

Returns the updated live object:

{
  "id": "{live_id}",
  "title": "Updated live title",
  "status": "offline",
  "stream_key_id": "{stream_key_id}",
  "stream_key": "{stream_key}",
  "region": "us",
  "quality_package": "hd",
  "save_vod": true,
  "ingest_endpoint": "rtmp://vz-{hash}.us.pandavideo.live/live/{stream_key}",
  "ingest_hostname": "vz-{hash}.us.pandavideo.live",
  "rtmp": "rtmp://vz-{hash}.us.pandavideo.live/live",
  "playback_url": null,
  "live_hls": "https://b-vz-{hash}.tv.pandavideo.com.br/{live_id}/playlist.m3u8.live",
  "live_player": "https://player-vz-{hash}.tv.pandavideo.com.br/embed/live/?v={live_id}",
  "scheduled_at": "2026-09-20T14:30:00",
  "started_at": null,
  "ended_at": null,
  "vod_id": null,
  "video_id": null,
  "bitrate": ["360p", "480p", "720p"],
  "active_dvr": true,
  "latency_type": "low",
  "folder_id": "{folder_id}",
  "created_at": "2026-09-07T02:37:22.591Z"
}

Response Schema

Same shape as the Create live response — see that page for the full field list, including ingest_endpoint, ingest_hostname, playback_url, region, quality_package, save_vod, video_id, view_metrics, config, chat_id and chat_status.

Live status values

StatusMeaningFinal?
provisioningThe live is being prepared — it does not accept the encoder yet.No — moves to offline
offlineReady, waiting for the signal from your encoder.No
onlineOn air.No
finishingEnd requested, still finalizing.No — moves to finished
finishedEnded.Yes
finished_importedEnded, and the video of the recording has been created.Yes
expiredBecame ready but no signal ever arrived — it never went on air.No — see Regenerate live
canceledCanceled.Yes

Error Responses

  • 400 Bad Request — Invalid body, or a field that cannot be updated (region, quality_package, save_vod).
  • 401 Unauthorized — Missing or invalid API token.
  • 404 Not Found — Live not found for the given live_id.
  • 500 Internal Server Error — Server-side error.

Example Usage

cURL — update title and schedule

curl -X PUT \
  'https://api-v2.pandavideo.com.br/lives/{live_id}' \
  -H 'Authorization: {api_key}' \
  -H 'Content-Type: application/json' \
  -d '{
  "title": "Updated live title",
  "scheduled_at": "2026-09-20T14:30:00"
}'

cURL — cancel a scheduled live

curl -X PUT \
  'https://api-v2.pandavideo.com.br/lives/{live_id}' \
  -H 'Authorization: {api_key}' \
  -H 'Content-Type: application/json' \
  -d '{
  "status": "canceled"
}'
Path Params
string
required
Body Params
string
length ≥ 3

Updated title of the live stream.

string

Updated scheduled start time (ISO 8601).

bitrate
array of strings

Updated video qualities for adaptive playback.

bitrate
Allowed:
string
enum

Updated latency profile. low (5-7s) / default (15-20s) / high (60-70s).

Allowed:
boolean

Toggles DVR (rewind during the broadcast).

uuid

Folder where the recorded video will be stored after the live ends.

string
enum

Override the live status. Typically used to cancel a scheduled live with 'canceled'.

Allowed:
Responses

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json