VideoPlaylistReadResult video.playlist-read-result@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-read-result.v1.json

video.playlist-read-result@1: a list ({ playlists, next_cursor? }) or one playlist with its ordered items ({ playlist, items }).

Fields

This schema has no named fields.

Examples

From the contract's own test fixtures: valid ones validate, rejected ones must fail.

Valid: list
{
  "playlists": [
    {
      "id": "vpl_01K7A1B2C3D4E5F6G7H8J9K0MN",
      "title": "Best of the week",
      "description": "",
      "visibility": "public",
      "item_count": 2,
      "created_at": "2026-10-12T19:00:00.000Z",
      "updated_at": "2026-10-12T19:05:00.000Z"
    }
  ],
  "next_cursor": null
}
Valid: one
{
  "playlist": {
    "id": "vpl_01K7A1B2C3D4E5F6G7H8J9K0MN",
    "title": "Best of the week",
    "description": "",
    "visibility": "public",
    "item_count": 2,
    "created_at": "2026-10-12T19:00:00.000Z",
    "updated_at": "2026-10-12T19:05:00.000Z",
    "owner": {
      "kind": "user",
      "username": "kim"
    }
  },
  "items": [
    {
      "kind": "vod",
      "id": 5717,
      "position": 0,
      "added_at": "2026-10-12T19:01:00.000Z"
    },
    {
      "kind": "clip",
      "id": 441,
      "position": 1,
      "added_at": "2026-10-12T19:01:00.000Z"
    }
  ]
}
Rejected: bad-item
{
  "playlist": {
    "id": "vpl_01K7A1B2C3D4E5F6G7H8J9K0MN",
    "title": "Best of the week",
    "description": "",
    "visibility": "public",
    "item_count": 2,
    "created_at": "2026-10-12T19:00:00.000Z",
    "updated_at": "2026-10-12T19:05:00.000Z"
  },
  "items": [
    {
      "kind": "stream",
      "id": 5717,
      "position": 0,
      "added_at": "2026-10-12T19:01:00.000Z"
    }
  ]
}

Validate

const contracts = require('openvibe-contracts');
contracts.validate('video.playlist-read-result@1', value);   // { valid, errors: [{ path, message }] }