Contents
On this page

Subscription Feed - Plugixa Video

GET /pvx/v1/feed

List the published videos of every channel the caller subscribes to, newest first.

Any signed-in user (signed in with an Application Password or the login cookie). Signed out, it answers 401. Needs the Channels app on in Plugixa Video -> App manager; with it off, this route answers 404.

Request

GET https://your-site.example/wp-json/pvx/v1/feed?per_page=10

Query parameters

Plus the list parameters every paged list accepts. order has no effect: the feed is always newest first. search matches the title, the description and the excerpt.

Responses

200 OK. data is one page of videos.

{
  "success": true,
  "data": [
    {
      "id": 838,
      "title": "Iceland: The Ring Road",
      "excerpt": "A week around Iceland on Route 1, from Reykjavik to the glacier lagoons of the south coast.",
      "source": "mp4",
      "type": "video",
      "poster": "https://your-site.example/wp-content/uploads/2026/11/ring-road-1024x576.jpg",
      "poster_srcset": "https://your-site.example/wp-content/uploads/2026/11/ring-road-1024x576.jpg 1024w, https://your-site.example/wp-content/uploads/2026/11/ring-road-300x169.jpg 300w",
      "poster_width": 1024,
      "poster_height": 576,
      "duration": 1460,
      "access": "free",
      "price": 0.0,
      "channel_id": 692,
      "channel": "Far Places",
      "views": 1204,
      "likes": 37,
      "categories": [14],
      "permalink": "https://your-site.example/video/iceland-the-ring-road/",
      "date": "2026-11-12T09:30:00+00:00",
      "status": "publish",
      "coming_soon": false
    }
  ],
  "meta": {
    "total": 31,
    "pages": 4
  }
}
Field Type Meaning
data[] object Videos in the public shape of List Videos
meta.total integer Videos in the feed, before paging
meta.pages integer Number of pages

A caller with no subscriptions gets an empty list with total and pages at 0.

Errors

Status Code When
401 plugixa_video_login_required Signed out.

Plus the errors every endpoint can return.

Examples

curl -s "https://your-site.example/wp-json/pvx/v1/feed?per_page=10" \
  -u "$WP_USER:$WP_APP_PASSWORD"
<?php
$query = http_build_query([
    'per_page' => 10,
]);
$ch = curl_init('https://your-site.example/wp-json/pvx/v1/feed?' . $query);
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_USERPWD        => getenv('WP_USER') . ':' . getenv('WP_APP_PASSWORD'),
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
const query = new URLSearchParams({ per_page: "10" });
const response = await fetch(`https://your-site.example/wp-json/pvx/v1/feed?${query}`, {
  headers: {
    'Authorization': `Basic ${btoa(`${process.env.WP_USER}:${process.env.WP_APP_PASSWORD}`)}`,
  },
});
const { data } = await response.json();

Quick Links

Share