Contents
On this page

Create Series - Plugixa Video

POST /pvx/v1/series

Create a series. Episodes are videos of type episode that point at it with series_id.

Needs a user (signed in with an Application Password or the login cookie) who has the plugixa_video_create capability and the right to edit series: administrators, editors and the Video Creator role. Needs Plugixa Video Pro with the Series app on in Plugixa Video -> App manager; with it off, this route answers 404.

Request

POST https://your-site.example/wp-json/pvx/v1/series

Request body

Content type: application/json

Field Type Required Description
title string Yes Must not be blank.
synopsis string No HTML, filtered like post content.
status string No draft (the default), publish, pending or private.
poster_id integer No Media library id of the poster. Also set as the featured image.
backdrop_id integer No Media library id of the backdrop.
trailer string No Trailer URL, http or https.
year integer No Release year, up to 9999.
age_rating string No Free text, cut to 20 characters.
cast string No Free text over several lines.
categories integer[] No Category ids. Ids that are not categories are dropped.
tags integer[] No Tag ids. Ids that are not tags are dropped.

The owner is the caller. To add episodes, create videos with type episode, series_id, season and episode.

{
  "title": "Northern Kitchens",
  "synopsis": "<p>A cook travels north and learns one dish in every town.</p>",
  "status": "publish",
  "year": 2026,
  "age_rating": "PG",
  "categories": [14]
}

Responses

201 Created. data is the new series in the back-office shape.

{
  "success": true,
  "data": {
    "id": 910,
    "title": "Northern Kitchens",
    "synopsis": "<p>A cook travels north and learns one dish in every town.</p>",
    "poster": "https://your-site.example/wp-content/uploads/2026/11/northern-kitchens-1024x1536.jpg",
    "backdrop": "https://your-site.example/wp-content/uploads/2026/11/northern-kitchens-backdrop.jpg",
    "trailer": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
    "year": 2026,
    "age_rating": "PG",
    "cast": "Mara Lind\nJonas Berg",
    "categories": [14],
    "permalink": "https://your-site.example/series/northern-kitchens/",
    "status": "publish",
    "poster_id": 1401,
    "backdrop_id": 1402,
    "tags": [31],
    "author": 1
  }
}
Field Type Meaning
data.id integer The series’ id
data.status string publish, pending, draft or private
data.synopsis string The synopsis as stored, HTML
data.poster_id integer Media library id of the poster, 0 for none
data.backdrop_id integer Media library id of the backdrop, 0 for none
data.tags integer[] Tag ids
data.author integer The owner’s WordPress user id

Errors

Status Code When
422 plugixa_video_invalid title is blank, or status is unknown; data.field names the field.
401 / 403 plugixa_video_forbidden The caller may not create series.

Plus the errors every endpoint can return.

Examples

curl -s -X POST "https://your-site.example/wp-json/pvx/v1/series" \
  -u "$WP_USER:$WP_APP_PASSWORD" \
  -H "Content-Type: application/json" \
  -d '{"title":"Northern Kitchens","synopsis":"<p>A cook travels north and learns one dish in every town.</p>","status":"publish","year":2026,"age_rating":"PG","categories":[14]}'
<?php
$ch = curl_init('https://your-site.example/wp-json/pvx/v1/series');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST  => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_USERPWD        => getenv('WP_USER') . ':' . getenv('WP_APP_PASSWORD'),
    CURLOPT_HTTPHEADER     => ['Content-Type: application/json'],
    CURLOPT_POSTFIELDS     => json_encode([
        'title'      => 'Northern Kitchens',
        'synopsis'   => '<p>A cook travels north and learns one dish in every town.</p>',
        'status'     => 'publish',
        'year'       => 2026,
        'age_rating' => 'PG',
        'categories' => [14],
    ]),
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
const response = await fetch('https://your-site.example/wp-json/pvx/v1/series', {
  method: 'POST',
  headers: {
    'Authorization': `Basic ${btoa(`${process.env.WP_USER}:${process.env.WP_APP_PASSWORD}`)}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ title: "Northern Kitchens", synopsis: "<p>A cook travels north and learns one dish in every town.</p>", status: "publish", year: 2026, age_rating: "PG", categories: [14] }),
});
const { data } = await response.json();

Quick Links

Share