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 }] }