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.
PUTandPOSTon the same URL also merge; nothing replaces the whole channel.linksis 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