Contents
On this page
List Playlists - Plugixa Video
GET /pvx/v1/playlists
List playlists: public ones, featured ones, or the caller’s own, most recently changed first.
Public for scope=public and scope=featured. scope=mine needs a signed-in caller. Needs the Playlists app on in Plugixa Video -> App manager; with it off, this route answers 404.
Note.
searchandorderhave no effect on this list: it is always ordered by last change, newest first.scope=minelists all the caller’s playlists, private and unlisted ones included.
Request
GET https://your-site.example/wp-json/pvx/v1/playlists?scope=featured
Query parameters
| Name | Type | Default | Description |
|---|---|---|---|
scope |
string |
public |
public (public playlists of anyone), featured (public playlists an editor marked as featured) or mine (the caller’s own). |
author |
integer |
Public playlists of this user only. Ignored with scope=mine. |
Plus page and per_page from the list parameters.
Responses
200 OK. data is one page of playlists.
{
"success": true,
"data": [
{
"id": 1550,
"title": "Road trips",
"description": "Long drives worth watching twice.",
"visibility": "public",
"featured": true,
"owner_id": 1,
"owner": "Site Editor",
"count": 2,
"cover": "https://your-site.example/wp-content/uploads/2026/11/ring-road-1024x576.jpg",
"modified": "2026-11-12T09:30:00+00:00"
}
],
"meta": {
"total": 4,
"pages": 1
}
}
| Field | Type | Meaning |
|---|---|---|
data[].id |
integer |
The playlist’s id |
data[].title |
string |
Name |
data[].description |
string |
Plain text |
data[].visibility |
string |
public, unlisted or private |
data[].featured |
boolean |
Marked by an editor for featured lists |
data[].owner_id |
integer |
The owner’s WordPress user id |
data[].owner |
string |
The owner’s display name |
data[].count |
integer |
Number of videos in the playlist, unpublished ones included |
data[].cover |
string |
The poster of one of the first five videos, or empty |
data[].modified |
string |
Last change, ISO 8601 in UTC |
meta.total |
integer |
Playlists matching, before paging |
meta.pages |
integer |
Number of pages at this per_page |
Errors
| Status | Code | When |
|---|---|---|
401 |
plugixa_video_login_required |
scope=mine while signed out. |
Plus the errors every endpoint can return.
Examples
curl -s "https://your-site.example/wp-json/pvx/v1/playlists?scope=featured"
<?php
$query = http_build_query([
'scope' => 'featured',
]);
$ch = curl_init('https://your-site.example/wp-json/pvx/v1/playlists?' . $query);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
const query = new URLSearchParams({ scope: "featured" });
const response = await fetch(`https://your-site.example/wp-json/pvx/v1/playlists?${query}`);
const { data } = await response.json();
Quick Links
Share