LiveChannelReadResult live.channel-read-result@1
Generated at from
openvibe-contracts v0.53.0 and
openvibe-sdk v0.11.0.
- Version
- 1.0.0
- Owner
- live
- Visibility
- first-party
- Status
- active
- Compatibility
- backward
- Schema
https://openvibe.network/contracts/live/channel-read-result.v1.json
live.channel-read-result@1: answers of live.channel.read on OpenVibe.Live (public; the channel is addressed by username). GET /api/streams/channel/:username → the channel page: { channel, language, stream, streams, managed_streams (public projection), vods, clips, aiClips, … with totals and paging }; GET …/:username/live → { channel: { username, display_name, user_id }, streams }; GET …/:username/popular → { vod, clip, vods, clips, ranges }; GET …/:username/clips-taken → { clips, total, facets, limit, offset, hasMore, sort, of, includeSelf }; GET …/:username/bio-en → { from, to: en, text } (from and text null when there is nothing to translate); GET /api/auth/user/:username → { user } (the public profile). Unknown channels are 404 { error }.
Fields
This schema has no named fields.
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: bio-en
{
"from": "ja",
"to": "en",
"text": "I stream walks around Tokyo.",
"from_name": "Japanese",
"flag": "🇯🇵"
}Valid: live-only
{
"channel": {
"username": "alice",
"display_name": "Alice",
"user_id": 5
},
"streams": []
}Valid: user
{
"user": {
"id": 5,
"username": "alice",
"display_name": "Alice",
"avatar_url": null,
"bio": "",
"role": "streamer",
"profile_color": "#3b82f6",
"created_at": "2025-01-02 10:00:00",
"capabilities": []
}
}Rejected: not-english
{
"from": "ja",
"to": "fr",
"text": "x"
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('live.channel-read-result@1', value); // { valid, errors: [{ path, message }] }