VideoPlaylistManageRequest video.playlist-manage-request@1
Generated at from
openvibe-contracts v0.177.0 and
openvibe-sdk v0.44.0.
- Version
- 1.0.0
- Owner
- media-hub
- Visibility
- public
- Status
- active
- Compatibility
- backward
- Schema
https://openvibe.network/contracts/video/playlist-manage-request.v1.json
video.playlist-manage-request@1: bodies of video.playlist.manage on openvibe.video. POST /api/v1/video/playlists { title, description?, visibility? } creates one (default private; 422 playlist.invalid_title over 120 characters, playlist.invalid_description over 2,000, playlist.invalid_visibility, playlist.limit at 100 per owner). PATCH /api/v1/video/playlists/:id { title?, description?, visibility? }. POST /api/v1/video/playlists/:id/items { kind, id } adds one (409 playlist.item_duplicate; 422 playlist.invalid_kind, playlist.invalid_item, playlist.items_limit at 500). PATCH /api/v1/video/playlists/:id/items { items: [{ kind, id }, ...] } reorders: the full list, each item once (422 playlist.invalid_items). DELETE /api/v1/video/playlists/:id and /items/:kind/:itemId take no body. Another owner's playlist answers 404 playlist.not_found.
Fields
This schema has no named fields.
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: add
{
"kind": "clip",
"id": 441
}Valid: create
{
"title": "Best of the week",
"visibility": "public"
}Valid: reorder
{
"items": [
{
"kind": "clip",
"id": 441
},
{
"kind": "vod",
"id": 5717
}
]
}Rejected: bad-kind
{
"kind": "stream",
"id": 1
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('video.playlist-manage-request@1', value); // { valid, errors: [{ path, message }] }