OpenreStreamReadResult openre.stream-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/stream-read-result.v1.json

openre.stream-read-result@1: answers of openre.stream.read on OpenRe.Stream. GET /api/v1/streams[?external_ref=<service>:<type>:<id>&limit=] → { streams } (the owner's, or the one bound to that external reference; staff may ask for all); GET /api/v1/streams/:id → { stream }; GET /api/v1/streams/:id/keys → { keys } (metadata only, never a key). Another owner's or an archived stream is 404 openre.stream_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: list
{
  "streams": [
    {
      "id": "def_01JAB2C3D4E5F6G7H8J9K0MNPQ",
      "title": "Main cam",
      "description": "",
      "owner": {
        "type": "user",
        "id": "usr_01JAB2C3D4E5F6G7H8J9K0MNPQ"
      },
      "protocols": [
        "rtmp"
      ],
      "recording_mode": "vod",
      "recording_visibility": "public",
      "playback_visibility": "public",
      "mirror_to_live": 1,
      "state": "active",
      "revision": 3,
      "external_refs": [
        {
          "service": "live",
          "type": "managed_stream",
          "id": "12",
          "label": null
        }
      ],
      "ingest": {
        "rtmp": {
          "url": "rtmp://ingest.openre.stream/live",
          "key_hint": "x9Q2",
          "key_id": "key_01JAB2C3D4E5F6G7H8J9K0MNPR"
        }
      },
      "keys": [
        {
          "id": "key_01JAB2C3D4E5F6G7H8J9K0MNPR",
          "hint": "x9Q2",
          "status": "active",
          "grace_until": null,
          "created_at": "2026-09-20T10:00:00.000Z",
          "last_used_at": "2026-09-25T21:00:00.000Z"
        }
      ],
      "session": null,
      "created_at": "2026-09-20T10:00:00.000Z",
      "updated_at": "2026-09-25T18:00:00.000Z"
    }
  ]
}
Rejected: bad-key-status
{
  "keys": [
    {
      "id": "key_1",
      "status": "stolen"
    }
  ]
}

Validate

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