OpenreSessionReadResult openre.session-read-result@1
Generated at from
openvibe-contracts v0.53.0 and
openvibe-sdk v0.11.0.
- Version
- 1.0.0
- Owner
- openre
- Visibility
- first-party
- Status
- active
- Compatibility
- backward
- Schema
https://openvibe.network/contracts/openre/session-read-result.v1.json
openre.session-read-result@1: answers of openre.session.read on OpenRe.Stream. GET /api/v1/sessions?stream_id=&state=&limit=&before= → { sessions } (the owner's; a service sees those of the subject it acts for); GET /api/v1/sessions/:id → { session } with transitions, outputs, recording and playback; GET /api/v1/sessions/:id/playback → { playback } (where to watch: flv and rtmp URLs, internal loopback and public); GET /api/v1/workers → { workers } (worker generations; staff and services only).
Fields
This schema has no named fields.
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: playback
{
"playback": {
"session_id": "ses_01JAB2C3D4E5F6G7H8J9K0MNPQ",
"protocol": "rtmp",
"state": "live",
"live": true,
"worker": {
"id": "wrk_1",
"kind": "rtmp",
"generation": 4,
"state": "ready"
},
"flv": {
"internal_url": "http://127.0.0.1:8936/live/ses_01JAB2C3D4E5F6G7H8J9K0MNPQ.flv",
"public_url": "https://openre.stream/play/ses_01JAB2C3D4E5F6G7H8J9K0MNPQ.flv",
"content_type": "video/x-flv"
},
"rtmp": null,
"webrtc": null,
"hls": null
}
}Valid: sessions
{
"sessions": [
{
"id": "ses_01JAB2C3D4E5F6G7H8J9K0MNPQ",
"stream_id": "def_01JAB2C3D4E5F6G7H8J9K0MNPQ",
"protocol": "rtmp",
"state": "ended",
"desired_state": null,
"worker": null,
"lease_expires_at": null,
"key_id": "key_01JAB2C3D4E5F6G7H8J9K0MNPR",
"end_reason": "encoder_disconnected",
"failure_reason": null,
"media_info": null,
"revision": 5,
"created_at": "2026-09-25T21:00:00.000Z",
"live_at": "2026-09-25T21:00:02.000Z",
"ended_at": "2026-09-25T23:00:00.000Z",
"duration_seconds": 7198
}
]
}Rejected: bad-state
{
"sessions": [
{
"id": "ses_1",
"stream_id": "def_1",
"protocol": "rtmp",
"state": "paused",
"created_at": null
}
]
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('openre.session-read-result@1', value); // { valid, errors: [{ path, message }] }