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. search and order have no effect on this list: it is always ordered by last change, newest first. scope=mine lists 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