Update playlist

Updates an existing playlist

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

PUT /playlists/{playlist_id}

Updates one or more fields of a playlist owned by the authenticated user. Partial update — only fields present in the body are changed.

📘

Authorization

Requires a valid API Key in the Authorization header. Send the key directly — no Bearer prefix.

🔒

Ownership enforced. The handler calls verifyPlaylistOwnership first — calling with a playlist_id you do not own throws (caught as 500 "Unauthorized: You do not own this playlist").

HTTP Method & Path

PUT /playlists/{playlist_id}

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

Path Parameters

NameTypeRequiredDescription
playlist_idstring (uuid)yesPlaylist identifier.

Request Body

Content-Type: application/json

All fields optional — send only what you want to change.

FieldTypeDescription
namestringNew playlist name.
descriptionstringNew description.
access_typestringanyone_with_link | anyone_with_password. Setting anyone_with_password without sending password will leave the previous password untouched (encrypted in DB).
passwordstringNew password (will be AES‑256‑CBC encrypted before storage).
creator_namestringAuthor name on the public page.
hide_viewsbooleanToggle view‑count display on the public page.
external_buttonobject | {}{ text, url, size } to set, or empty {} to disable.
image_idstring (uuid) | nullLink a new logo image (uploaded via Panda Images) or null to remove.
{
  "name": "Onboarding Series — Updated",
  "external_button": { "text": "Buy now", "url": "https://example.com/buy", "size": "large" }
}

Response

Success Response (200)

Returns the updated playlist (same shape as Get playlist details, again with password stripped).

Audit log

Each meaningful change creates an audit_log entry (category: playlist, with attribute_name covering: playlist_name, playlist_description, access_type, creator_name, external_link_button, button_text, button_link, custom_logo, access_password).

Error Responses

  • 400"Playlist not found" when the playlist does not exist (handler swallows the ownership error in some flows).
  • 401 — missing/invalid API Key.
  • 500 — internal error or ownership rejected ("Unauthorized: You do not own this playlist").

Example Usage

cURL

curl --request PUT \
  --url 'https://api-v2.pandavideo.com.br/playlists/a1b2c3d4-e5f6-7890-abcd-ef1234567890' \
  --header 'Authorization: <your-api-key>' \
  --header 'Content-Type: application/json' \
  --data '{ "name": "Onboarding Series — Updated" }'

Recipes

Path Params
uuid
required

Unique identifier of the playlist

Body Params
string
length between 1 and 255
string
length ≤ 1000
string
enum
Allowed:
string
length ≥ 6

Required when changing access_type to anyone_with_password

boolean
string
length between 1 and 255
external_button
object
uuid | null
Responses

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