Create new playlist

Creates a new video playlist for the authenticated user

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

POST /playlists

Creates a new playlist for the authenticated user.

📘

Authorization

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

HTTP Method & Path

POST /playlists

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

Request Body

Content-Type: application/json

Body Parameters

FieldTypeRequiredDescription
namestringyesPlaylist display name.
access_typestringyesanyone_with_link | anyone_with_password.
creator_namestringyesAuthor name shown on the public page.
passwordstringconditionalRequired when access_type === "anyone_with_password". Stored AES‑256‑CBC encrypted.
descriptionstringnoLong description.
hide_viewsbooleannoHide per‑video view counts on the public page. Default false.
external_buttonobjectno{ text, url, size } — all three subfields required when the object is present.
image_idstring (uuid)noLogo image reference (uploaded separately via Panda Images).
{
  "name": "Onboarding Series",
  "access_type": "anyone_with_password",
  "creator_name": "Panda Education",
  "password": "secret123",
  "description": "Internal onboarding for new hires.",
  "hide_views": true,
  "external_button": {
    "text": "Open course",
    "url": "https://example.com/course",
    "size": "medium"
  }
}

Response

Success Response (200)

Returns the created playlist (Sequelize instance shape — includes server defaults like duration: 0, videos_quantity: 0).

{
  "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "user_id": "11111111-2222-3333-4444-555555555555",
  "name": "Onboarding Series",
  "access_type": "anyone_with_password",
  "creator_name": "Panda Education",
  "duration": 0,
  "videos_quantity": 0,
  "hide_views": true,
  "description": "Internal onboarding for new hires.",
  "external_button": { "text": "Open course", "url": "https://example.com/course", "size": "medium" },
  "image_id": null,
  "created_at": "2025-01-15T10:00:00.000Z",
  "updated_at": "2025-01-15T10:00:00.000Z"
}
⚠️

Password is never returned, even though it is accepted on the way in.

Error Responses

  • 400"Playlist name is required", "Access type is required", "Creator name is required", "Password is required for anyone_with_password access type", or "External button must have size, text and url".
  • 401 — missing/invalid API Key.
  • 500 — internal error.

Example Usage

cURL

curl --request POST \
  --url 'https://api-v2.pandavideo.com.br/playlists' \
  --header 'Authorization: <your-api-key>' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Onboarding Series",
    "access_type": "anyone_with_link",
    "creator_name": "Panda Education"
  }'

Recipes

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

Required when access_type is anyone_with_password

boolean
Defaults to false
string
required
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