Contents
On this page

Update Channel - Plugixa Video

PATCH /pvx/v1/channels/{id}

Change some fields of a channel. 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 channel. In the free plugin only administrators hold it; with Pro, editors and the Video Creator role hold it too. Needs the Channels app on in Plugixa Video -> App manager; with it off, this route answers 404.

Note. PUT and POST on the same URL also merge; nothing replaces the whole channel. links is replaced as a whole when you send it.

Request

PATCH https://your-site.example/wp-json/pvx/v1/channels/692

Path parameters

Name Type Description
id integer The channel’s id

Request body

Content type: application/json

Field Type Required Description
title string No The channel’s name. Must not be blank.
description string No HTML, filtered like post content.
status string No publish (the default), pending, draft or private.
avatar_id integer No Media library id of the avatar. Also set as the featured image.
banner_id integer No Media library id of the banner.
links object[] No Up to 10 {label, url}. Links without a valid http or https URL are dropped; any after the tenth are ignored.
author integer No The owner’s user id. Only users who may edit other people’s channels can set it; for anyone else it is ignored and the caller owns the channel.

Asking for pending on a channel that is already published keeps it published. Changing author needs the right to edit other people’s channels; otherwise it is ignored.

{
  "description": "<p>Slow travel films from the far north and the far south.</p>"
}

Responses

200 OK. data is the updated channel in the back-office shape.

{
  "success": true,
  "data": {
    "id": 692,
    "title": "Far Places",
    "description": "<p>Slow travel films from the far north and the far south.</p>",
    "avatar": "https://your-site.example/wp-content/uploads/2026/11/far-places-150x150.jpg",
    "banner": "https://your-site.example/wp-content/uploads/2026/11/far-places-banner.jpg",
    "links": [
      {
        "label": "Instagram",
        "url": "https://instagram.com/farplaces"
      }
    ],
    "owner": "Lena Holt",
    "owner_id": 7,
    "subscribers": 312,
    "subscribed": false,
    "permalink": "https://your-site.example/channel/far-places/",
    "status": "publish",
    "avatar_id": 1301,
    "banner_id": 1302,
    "author": 7
  }
}
Field Type Meaning
data.description string The description as stored, HTML

Errors

Status Code When
404 plugixa_video_not_found No channel 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 channel.

Plus the errors every endpoint can return.

Examples

curl -s -X PATCH "https://your-site.example/wp-json/pvx/v1/channels/692" \
  -u "$WP_USER:$WP_APP_PASSWORD" \
  -H "Content-Type: application/json" \
  -d '{"description":"<p>Slow travel films from the far north and the far south.</p>"}'
<?php
$ch = curl_init('https://your-site.example/wp-json/pvx/v1/channels/692');
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([
        'description' => '<p>Slow travel films from the far north and the far south.</p>',
    ]),
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
const response = await fetch('https://your-site.example/wp-json/pvx/v1/channels/692', {
  method: 'PATCH',
  headers: {
    'Authorization': `Basic ${btoa(`${process.env.WP_USER}:${process.env.WP_APP_PASSWORD}`)}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ description: "<p>Slow travel films from the far north and the far south.</p>" }),
});
const { data } = await response.json();

Quick Links

Share