post
https://api-v2.pandavideo.com.br/playlists
Creates a new video playlist for the authenticated user
Recent Requests
Log in to see full request history
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Loading…
POST /playlists
Creates a new playlist for the authenticated user.
AuthorizationRequires a valid API Key in the
Authorizationheader. Send the key directly — noBearerprefix.
HTTP Method & Path
POST /playlists
Base URL: https://api-v2.pandavideo.com.br
Request Body
Content-Type: application/json
Body Parameters
| Field | Type | Required | Description |
|---|---|---|---|
name | string | yes | Playlist display name. |
access_type | string | yes | anyone_with_link | anyone_with_password. |
creator_name | string | yes | Author name shown on the public page. |
password | string | conditional | Required when access_type === "anyone_with_password". Stored AES‑256‑CBC encrypted. |
description | string | no | Long description. |
hide_views | boolean | no | Hide per‑video view counts on the public page. Default false. |
external_button | object | no | { text, url, size } — all three subfields required when the object is present. |
image_id | string (uuid) | no | Logo 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"
}'