Contents
On this page

Update Series - Plugixa Video

PATCH /pvx/v1/series/{id}

Change some fields of a series. Fields you leave out keep their stored value.

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

Note. PUT and POST on the same URL also merge. Asking for pending on a series that is already published keeps it published.

Request

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

Path parameters

Name Type Description
id integer The series’ id

Request body

Content type: application/json

Field Type Required Description
title string No 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.
{
  "age_rating": "12",
  "year": 2025
}

Responses

200 OK. data is the updated 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": 2025,
    "age_rating": "12",
    "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.year integer Release year, 0 when not set
data.age_rating string Free text, up to 20 characters

Errors

Status Code When
404 plugixa_video_not_found No series with that id.
422 plugixa_video_invalid title is blank, or status is unknown.
401 / 403 plugixa_video_forbidden The caller may not edit this series.

Plus the errors every endpoint can return.

Examples

curl -s -X PATCH "https://your-site.example/wp-json/pvx/v1/series/910" \
  -u "$WP_USER:$WP_APP_PASSWORD" \
  -H "Content-Type: application/json" \
  -d '{"age_rating":"12","year":2025}'
<?php
$ch = curl_init('https://your-site.example/wp-json/pvx/v1/series/910');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST  => 'PATCH',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_USERPWD        => getenv('WP_USER') . ':' . getenv('WP_APP_PASSWORD'),
    CURLOPT_HTTPHEADER     => ['Content-Type: application/json'],
    CURLOPT_POSTFIELDS     => json_encode([
        'age_rating' => '12',
        'year'       => 2025,
    ]),
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
const response = await fetch('https://your-site.example/wp-json/pvx/v1/series/910', {
  method: 'PATCH',
  headers: {
    'Authorization': `Basic ${btoa(`${process.env.WP_USER}:${process.env.WP_APP_PASSWORD}`)}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ age_rating: "12", year: 2025 }),
});
const { data } = await response.json();

Quick Links

Share