OpenreDestination openre.destination@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/destination.v1.json
openre.destination@1: one restream destination of a stream on OpenRe.Stream (server/store/outputs.js publicDest). The stream key and SRT passphrase are write-only: only whether they are set and a hint of the key are shown.
Fields
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
id | string | yes | ||
stream_id | string | yes | ||
platform | enum | yes |
| |
name | string | null | |||
server_url | string | yes | ||
transport | enum | yes |
| |
has_stream_key | boolean | yes | ||
stream_key_hint | string | null | |||
has_srt_passphrase | boolean | |||
srt_latency_ms | integer | null | |||
enabled | boolean | yes | ||
auto_start | boolean | yes | ||
quality_preset | string | null | |||
custom_video_bitrate | integer | null | |||
custom_audio_bitrate | integer | null | |||
custom_fps | integer | null | |||
custom_encoder_preset | string | null | |||
hold_reason | string | null | |||
consecutive_failures | integer | null | |||
cooldown_until | string | null |
| ||
cooldown_ms | integer | |||
last_error | string | null | |||
last_failed_at | string | null |
| ||
created_at | string | null |
| ||
updated_at | string | null |
|
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: twitch
{
"id": "dst_01JAB2C3D4E5F6G7H8J9K0MNPQ",
"stream_id": "def_01JAB2C3D4E5F6G7H8J9K0MNPQ",
"platform": "twitch",
"name": "Twitch",
"server_url": "rtmp://live.twitch.tv/app",
"transport": "rtmp",
"has_stream_key": true,
"stream_key_hint": "****a1b2",
"has_srt_passphrase": false,
"srt_latency_ms": null,
"enabled": true,
"auto_start": true,
"quality_preset": "source",
"custom_video_bitrate": null,
"custom_audio_bitrate": null,
"custom_fps": null,
"custom_encoder_preset": null,
"hold_reason": null,
"consecutive_failures": 0,
"cooldown_until": null,
"cooldown_ms": 0,
"last_error": null,
"last_failed_at": null,
"created_at": "2026-09-20T10:00:00.000Z",
"updated_at": "2026-09-20T10:00:00.000Z"
}Rejected: bad-transport
{
"id": "dst_01JAB2C3D4E5F6G7H8J9K0MNPQ",
"stream_id": "def_01JAB2C3D4E5F6G7H8J9K0MNPQ",
"platform": "twitch",
"name": "Twitch",
"server_url": "rtmp://live.twitch.tv/app",
"transport": "hls",
"has_stream_key": true,
"stream_key_hint": "****a1b2",
"has_srt_passphrase": false,
"srt_latency_ms": null,
"enabled": true,
"auto_start": true,
"quality_preset": "source",
"custom_video_bitrate": null,
"custom_audio_bitrate": null,
"custom_fps": null,
"custom_encoder_preset": null,
"hold_reason": null,
"consecutive_failures": 0,
"cooldown_until": null,
"cooldown_ms": 0,
"last_error": null,
"last_failed_at": null,
"created_at": "2026-09-20T10:00:00.000Z",
"updated_at": "2026-09-20T10:00:00.000Z"
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('openre.destination@1', value); // { valid, errors: [{ path, message }] }