Videon Streaming REST API
This document presents the REST API for Videon streaming devices. Multimedia encoder settings and media destinations(outputs) can be configured through the REST API.
For specific possible values, please refer to the particular streaming device you are using. All Videon streaming devices share a common REST API, but the specific features supported will vary for each device model.
Before starting, check out our REST API Quickstart Guide. It makes getting started easy!
System ¶
System ¶
Get System SettingsGET/v2/system
Get the system-wide settings for the device.
These settings include network settings, name, id and other attributes not related to encode or media transmission.
Example URI
200
Headers
Content-Type: application/json
Body
{
"device_name": "StreamDevices1",
"ip_scheme": "dhcp",
"net_connected": true,
"mac_address": "ab:cd:ef:12:34:56",
"ip_address": "1.2.3.4",
"static_network": {
"ip_address": "1.2.3.4",
"netmask": "255.255.255.0",
"gateway": "1.2.3.1",
"dns_address": "5.6.7.8"
},
"version": "versionstring",
"device_id": "deviceid",
"xml": {
"enabled": true,
"url": "http://get.your.xml.here/test.xml",
"poll_interval": 10
},
"clock": {
"ntp_server": "time.nist.gov",
"timezone": "America/New_York"
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"device_name": {
"type": "string"
},
"ip_scheme": {
"type": "string"
},
"net_connected": {
"type": "boolean"
},
"mac_address": {
"type": "string"
},
"ip_address": {
"type": "string"
},
"static_network": {
"type": "object",
"properties": {
"ip_address": {
"type": "string"
},
"netmask": {
"type": "string"
},
"gateway": {
"type": "string"
},
"dns_address": {
"type": "string"
}
},
"required": [
"ip_address",
"netmask",
"gateway",
"dns_address"
]
},
"version": {
"type": "string"
},
"device_id": {
"type": "string"
},
"xml": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"url": {
"type": "string"
},
"poll_interval": {
"type": "number"
}
},
"required": [
"enabled",
"url",
"poll_interval"
]
},
"clock": {
"type": "object",
"properties": {
"ntp_server": {
"type": "string"
},
"timezone": {
"type": "string"
}
},
"required": [
"ntp_server",
"timezone"
]
}
},
"required": [
"device_name",
"ip_scheme",
"net_connected",
"mac_address",
"ip_address",
"static_network",
"version",
"device_id",
"clock"
]
}
Update System SettingsPUT/v2/system
Update the system-wide settings for the device.
These settings include network settings, name, id and other attributes not related to encode or media transmission.
Example URI
Headers
Content-Type: application/json
Body
{
"device_name": "StreamDevices1",
"ip_scheme": "static",
"static_network": {
"ip_address": "1.2.3.4",
"netmask": "255.255.255.0",
"gateway": "1.2.3.1",
"dns_address": "5.6.7.8"
},
"xml": {
"enabled": true,
"url": "http://get.your.xml.here/test.xml",
"poll_interval": 10
},
"clock": {
"ntp_server": "time.nist.gov",
"timezone": "America/New_York"
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"device_name": {
"type": "string"
},
"ip_scheme": {
"type": "string"
},
"static_network": {
"type": "object",
"properties": {
"ip_address": {
"type": "string"
},
"netmask": {
"type": "string"
},
"gateway": {
"type": "string"
},
"dns_address": {
"type": "string"
}
},
"required": [
"ip_address",
"netmask",
"gateway",
"dns_address"
]
},
"xml": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"url": {
"type": "string"
},
"poll_interval": {
"type": "number"
}
},
"required": [
"enabled",
"url",
"poll_interval"
]
},
"clock": {
"type": "object",
"properties": {
"ntp_server": {
"type": "string"
},
"timezone": {
"type": "string"
}
},
"required": [
"ntp_server",
"timezone"
]
}
},
"required": [
"device_name",
"ip_scheme",
"static_network",
"clock"
]
}
204
Input Channels ¶
Input Channels ¶
Get Input Channel ListGET/v2/in_channels
Get the list of input channels.
Example URI
200
Headers
Content-Type: application/json
Body
{
"in_channels": [
{
"in_channel_id": 1
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"in_channels": {
"type": "array",
"items": {
"type": "object",
"properties": {
"in_channel_id": {
"type": "number"
}
},
"required": [
"in_channel_id"
]
}
}
}
}
Input Channel Configuration ¶
Get Input Channel ConfigurationGET/v2/in_channels/{id}
Get the input channel configuration.
Example URI
- id
integer
(required) Example: 0
200
Headers
Content-Type: application/json
Body
{
"in_channel_id": 1,
"audio_input": {
"value": "input_embedded",
"possible_values": [
"input_auto",
"input_embedded",
"input_3p5mm"
],
"detected": true
},
"video_input": {
"value": "input_hdmi",
"possible_values": [
"input_auto",
"input_hdmi",
"input_sdi"
],
"detected_format": {
"value": "FORMAT_1080p60"
}
},
"graphic_overlay": {
"enable": true,
"position": {
"preset": {
"value": "MANUAL",
"possible_values": [
"MANUAL",
"FULLSCREEN",
"LOWER_THIRD",
"TOP_LEFT",
"BOTTOM_LEFT",
"TOP_CENTER",
"CENTER",
"BOTTOM_CENTER",
"TOP_RIGHT",
"BOTTOM_RIGHT"
]
},
"x": 0,
"y": 0,
"width": 100,
"height": 100,
"lock_resolution_ratio": {
"value": "NO_LOCK",
"possible_values": [
"NO_LOCK",
"LOCK_TO_WIDTH",
"LOCK_TO_HEIGHT"
]
}
},
"image_status": "NO_IMAGE"
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"in_channel_id": {
"type": "number"
},
"audio_input": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
]
},
"detected": {
"type": "boolean"
}
},
"required": [
"value",
"possible_values",
"detected"
]
},
"video_input": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
]
},
"detected_format": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
}
},
"required": [
"value",
"possible_values",
"detected_format"
]
},
"graphic_overlay": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"position": {
"type": "object",
"properties": {
"preset": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"value",
"possible_values"
]
},
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"lock_resolution_ratio": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"value",
"possible_values"
]
}
},
"required": [
"preset",
"x",
"y",
"width",
"height",
"lock_resolution_ratio"
]
},
"image_status": {
"type": "string"
}
},
"required": [
"enable",
"position",
"image_status"
]
}
},
"required": [
"in_channel_id",
"audio_input",
"video_input",
"graphic_overlay"
]
}
Update Input Channel ConfigurationPUT/v2/in_channels/{id}
Set the input channel configuration.
Example URI
- id
integer
(required) Example: 0
Headers
Content-Type: application/json
Body
{
"audio_input": {
"value": "input_embedded"
},
"video_input": {
"value": "input_hdmi"
},
"graphic_overlay": {
"enable": true,
"position": {
"preset": {
"value": "MANUAL"
},
"x": 0,
"y": 0,
"width": 100,
"height": 100,
"lock_resolution_ratio": {
"value": "NO_LOCK"
}
}
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"audio_input": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"video_input": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"graphic_overlay": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"position": {
"type": "object",
"properties": {
"preset": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"lock_resolution_ratio": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
}
},
"required": [
"preset",
"x",
"y",
"width",
"height",
"lock_resolution_ratio"
]
}
},
"required": [
"enable",
"position"
]
}
},
"required": [
"audio_input",
"video_input",
"graphic_overlay"
]
}
204
Overlay Graphic ¶
Retrieve Overlay GraphicGET/v2/in_channels/{id}/overlay_graphic
Example URI
- id
integer
(required) Example: 0
200
Headers
Content-Type: image/png; Content-Transfer-Encoding: base64
Body
<base64 png>
Upload Overlay GraphicPOST/v2/in_channels/{id}/overlay_graphic
Upload overlay graphic.
Example URI
- id
integer
(required) Example: 0
Headers
Content-Type: multipart/form-data; boundary=---------BOUNDARY
Body
---------BOUNDARY
Content-Disposition: form-data; image="image[file]"; filename="image.png"
Content-Type: image/png
Content-Transfer-Encoding: base64
/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a
HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy
MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAABAAEDASIA
AhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAf/xAAUEAEAAAAAAAAAAAAAAAAAAAAA/8QAFAEB
AAAAAAAAAAAAAAAAAAAAAP/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/AL+AD//Z
---------BOUNDARY
204
Delete overlay graphicDELETE/v2/in_channels/{id}/overlay_graphic
Delete the stored overlay graphic.
Example URI
- id
integer
(required) Example: 0
204
Encoders ¶
Encoders ¶
Get Encoders ListGET/v2/encoders
Get the list of encoders present in the device.
Example URI
200
Headers
Content-Type: application/json
Body
{
"vid_encoders": [
{
"vid_encoder_id": 1,
"active": true,
"status": "DISABLED",
"seconds_in_status": 1
}
],
"max_vid_encoders": 1,
"aud_encoders": [
{
"aud_encoder_id": 1,
"active": true,
"status": "DISABLED",
"seconds_in_status": 1
}
],
"max_aud_encoders": 1,
"data_encoders": [
{
"data_encoder_id": 1,
"codec": "klv_sync",
"active": true,
"status": "DISABLED",
"seconds_in_status": 1
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"vid_encoders": {
"type": "array",
"items": {
"type": "object",
"properties": {
"vid_encoder_id": {
"type": "number"
},
"active": {
"type": "boolean"
},
"status": {
"type": "string"
},
"seconds_in_status": {
"type": "number"
}
},
"required": [
"vid_encoder_id",
"active"
]
}
},
"max_vid_encoders": {
"type": "number"
},
"aud_encoders": {
"type": "array",
"items": {
"type": "object",
"properties": {
"aud_encoder_id": {
"type": "number"
},
"active": {
"type": "boolean"
},
"status": {
"type": "string"
},
"seconds_in_status": {
"type": "number"
}
},
"required": [
"aud_encoder_id",
"active"
]
}
},
"max_aud_encoders": {
"type": "number"
},
"data_encoders": {
"type": "array",
"items": {
"type": "object",
"properties": {
"data_encoder_id": {
"type": "number"
},
"codec": {
"type": "string",
"enum": [
"klv_sync",
"scte35"
]
},
"active": {
"type": "boolean"
},
"status": {
"type": "string"
},
"seconds_in_status": {
"type": "number"
}
},
"required": [
"data_encoder_id",
"codec",
"active"
]
}
}
},
"required": [
"vid_encoders",
"max_vid_encoders",
"aud_encoders",
"max_aud_encoders",
"data_encoders"
]
}
Video Encoders ¶
Video Encoders ¶
Get Video Encoders ListGET/v2/encoders/vid_encoders
Get the list of video encoders present in the device.
Example URI
200
Headers
Content-Type: application/json
Body
{
"vid_encoders": [
{
"vid_encoder_id": 1,
"active": true,
"status": "DISABLED",
"seconds_in_status": 1
}
],
"available_codecs": [
"H264",
"H265"
],
"max_vid_encoders": 1,
"sync_groups": [
{
"active": true,
"sync_group_id": 1
}
],
"max_sync_groups": 1
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"vid_encoders": {
"type": "array",
"items": {
"type": "object",
"properties": {
"vid_encoder_id": {
"type": "number"
},
"active": {
"type": "boolean"
},
"status": {
"type": "string"
},
"seconds_in_status": {
"type": "number"
}
},
"required": [
"vid_encoder_id",
"active"
]
}
},
"available_codecs": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
},
"max_vid_encoders": {
"type": "number"
},
"sync_groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"active": {
"type": "boolean"
},
"sync_group_id": {
"type": "number"
}
},
"required": [
"active",
"sync_group_id"
]
}
},
"max_sync_groups": {
"type": "number"
}
},
"required": [
"vid_encoders",
"available_codecs",
"max_vid_encoders",
"sync_groups",
"max_sync_groups"
]
}
Video Encoder Configuration ¶
This will describe all attributes of the input video source and the encoded video output.
Get Video Encoder ConfigurationGET/v2/encoders/vid_encoders/{id}
Get the current encoder settings.
Example URI
- id
integer
(required) Example: 0
200
Headers
Content-Type: application/json
Body
{
"name": "VideoEncoder1",
"active": true,
"vid_encoder_id": 1,
"in_channel_id": 1,
"sync_group_id": 1,
"bitrate": {
"value": 500,
"value_range": {
"min": 32,
"max": 512
}
},
"latency_mode": {
"value": "HIGH",
"possible_values": [
"HIGH",
"NORMAL",
"LOW",
"LOWEST"
]
},
"bitrate_mode": {
"value": "variable",
"possible_values": [
"constant",
"variable"
]
},
"keyframe_interval": {
"interval": 100,
"unit": "FRAMES",
"possible_units": [
"FRAMES",
"MILLISECONDS"
],
"interval_range_frames": {
"min": 32,
"max": 512
},
"interval_range_milliseconds": {
"min": 32,
"max": 512
}
},
"scaling_resolution": {
"value": "RES_1920X1080",
"possible_values": [
"RES_3840X2160",
"RES_1920X1080",
"RES_1280X720",
"RES_960X540",
"RES_720X576",
"RES_640X360",
"RES_480X270",
"RES_320X180"
]
},
"limit_to_30_fps": true,
"codec": {
"value": "H264",
"possible_values": [
"H264",
"H265"
],
"h264": {
"profile": {
"value": "PROFILE_BASELINE",
"possible_values": [
"PROFILE_BASELINE",
"PROFILE_MAIN",
"PROFILE_HIGH"
]
},
"level": {
"value": "LVL5P1"
}
},
"h265": {
"profile": {
"value": "PROFILE_MAIN",
"possible_values": [
"PROFILE_MAIN"
]
},
"level": {
"value": "LVL_5P1_HIGH"
}
}
},
"klv_timestamp_enabled": true,
"status": "DISABLED",
"seconds_in_status": 1
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"active": {
"type": "boolean"
},
"vid_encoder_id": {
"type": "number"
},
"in_channel_id": {
"type": "number"
},
"sync_group_id": {
"type": "number"
},
"bitrate": {
"type": "object",
"properties": {
"value": {
"type": "number"
},
"value_range": {
"type": "object",
"properties": {
"min": {
"type": "number"
},
"max": {
"type": "number"
}
},
"required": [
"min",
"max"
]
}
},
"required": [
"value",
"value_range"
]
},
"latency_mode": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"value",
"possible_values"
]
},
"bitrate_mode": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"value",
"possible_values"
]
},
"keyframe_interval": {
"type": "object",
"properties": {
"interval": {
"type": "number"
},
"unit": {
"type": "string"
},
"possible_units": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
},
"interval_range_frames": {
"type": "object",
"properties": {
"min": {
"type": "number"
},
"max": {
"type": "number"
}
},
"required": [
"min",
"max"
]
},
"interval_range_milliseconds": {
"type": "object",
"properties": {
"min": {
"type": "number"
},
"max": {
"type": "number"
}
},
"required": [
"min",
"max"
]
}
},
"required": [
"interval",
"unit",
"possible_units"
]
},
"scaling_resolution": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"value",
"possible_values"
]
},
"limit_to_30_fps": {
"type": "boolean"
},
"codec": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
},
"h264": {
"type": "object",
"properties": {
"profile": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"value",
"possible_values"
]
},
"level": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
}
},
"required": [
"profile",
"level"
]
},
"h265": {
"type": "object",
"properties": {
"profile": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"value",
"possible_values"
]
},
"level": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
}
},
"required": [
"profile",
"level"
]
}
},
"required": [
"value",
"possible_values"
]
},
"klv_timestamp_enabled": {
"type": "boolean"
},
"status": {
"type": "string"
},
"seconds_in_status": {
"type": "number"
}
},
"required": [
"name",
"active",
"vid_encoder_id",
"in_channel_id",
"bitrate",
"latency_mode",
"bitrate_mode",
"keyframe_interval",
"scaling_resolution",
"limit_to_30_fps",
"codec",
"klv_timestamp_enabled"
]
}
Update Video Encoder ConfigurationPUT/v2/encoders/vid_encoders/{id}
Update the current encoder settings.
Example URI
- id
integer
(required) Example: 0
Headers
Content-Type: application/json
Body
{
"name": "VideoEncoder1",
"in_channel_id": 1,
"sync_group_id": 1,
"bitrate": {
"value": 500
},
"latency_mode": {
"value": "HIGH"
},
"bitrate_mode": {
"value": "variable"
},
"keyframe_interval": {
"interval": 100,
"unit": "FRAMES"
},
"scaling_resolution": {
"value": "RES_1920X1080"
},
"limit_to_30_fps": true,
"klv_timestamp_enabled": true,
"codec": {
"value": "H264",
"h264": {
"profile": {
"value": "PROFILE_MAIN"
}
},
"h265": {
"profile": {
"value": "PROFILE_MAIN"
}
}
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"in_channel_id": {
"type": "number"
},
"sync_group_id": {
"type": "number"
},
"bitrate": {
"type": "object",
"properties": {
"value": {
"type": "number"
}
},
"required": [
"value"
]
},
"latency_mode": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"bitrate_mode": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"keyframe_interval": {
"type": "object",
"properties": {
"interval": {
"type": "number"
},
"unit": {
"type": "string"
}
},
"required": [
"interval",
"unit"
]
},
"scaling_resolution": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"limit_to_30_fps": {
"type": "boolean"
},
"klv_timestamp_enabled": {
"type": "boolean"
},
"codec": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"h264": {
"type": "object",
"properties": {
"profile": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
}
},
"required": [
"profile"
]
},
"h265": {
"type": "object",
"properties": {
"profile": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
}
},
"required": [
"profile"
]
}
},
"required": [
"value"
]
}
},
"required": [
"name",
"in_channel_id",
"bitrate",
"latency_mode",
"bitrate_mode",
"keyframe_interval",
"scaling_resolution",
"limit_to_30_fps",
"klv_timestamp_enabled",
"codec"
]
}
204
Create New Video EncoderPOST/v2/encoders/vid_encoders
Create new video encoder with the specified settings.
Example URI
201
Headers
Content-Type: application/json
Body
{
"id": 1
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "number"
}
},
"required": [
"id"
]
}
Delete Video EncoderDELETE/v2/encoders/vid_encoders/{id}
Delete the specified video encoder.
Example URI
- id
integer
(required) Example: 0
204
Sync Groups ¶
Sync Groups ¶
Get Sync Group ListGET/v2/encoders/vid_encoders/sync_groups
Get the list of sync groups.
Example URI
200
Headers
Content-Type: application/json
Body
{
"sync_groups": [
{
"active": true,
"sync_group_id": 1
}
],
"max_sync_groups": 1
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"sync_groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"active": {
"type": "boolean"
},
"sync_group_id": {
"type": "number"
}
},
"required": [
"active",
"sync_group_id"
]
}
},
"max_sync_groups": {
"type": "number"
}
},
"required": [
"sync_groups",
"max_sync_groups"
]
}
Sync Group Configuration ¶
Get Sync Group ConfigurationGET/v2/encoders/vid_encoders/sync_groups/{id}
Get settings for the specified sync group.
Example URI
- id
integer
(required) Example: 0
200
Headers
Content-Type: application/json
Body
{
"name": "SyncGroup1",
"active": true,
"sync_group_id": 1,
"in_channel_id": 1,
"encoder_ids": [
1,
2,
3,
4
],
"keyframe_interval": {
"interval": 100,
"unit": "MILLISECONDS",
"possible_units": [
"FRAMES",
"MILLISECONDS"
],
"interval_range_frames": {
"min": 32,
"max": 512
},
"interval_range_milliseconds": {
"min": 32,
"max": 512
}
},
"limit_to_30_fps": true,
"latency_mode": {
"value": "HIGH",
"possible_values": [
"HIGH",
"NORMAL",
"LOW",
"LOWEST"
]
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"active": {
"type": "boolean"
},
"sync_group_id": {
"type": "number"
},
"in_channel_id": {
"type": "number"
},
"encoder_ids": {
"type": "array"
},
"keyframe_interval": {
"type": "object",
"properties": {
"interval": {
"type": "number"
},
"unit": {
"type": "string"
},
"possible_units": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
},
"interval_range_frames": {
"type": "object",
"properties": {
"min": {
"type": "number"
},
"max": {
"type": "number"
}
},
"required": [
"min",
"max"
]
},
"interval_range_milliseconds": {
"type": "object",
"properties": {
"min": {
"type": "number"
},
"max": {
"type": "number"
}
},
"required": [
"min",
"max"
]
}
},
"required": [
"interval",
"unit",
"possible_units"
]
},
"limit_to_30_fps": {
"type": "boolean"
},
"latency_mode": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"value",
"possible_values"
]
}
},
"required": [
"name",
"active",
"sync_group_id",
"in_channel_id",
"encoder_ids",
"keyframe_interval",
"limit_to_30_fps",
"latency_mode"
]
}
Update Sync Group ConfigurationPUT/v2/encoders/vid_encoders/sync_groups/{id}
Update settings for the specified sync group.
Example URI
- id
integer
(required) Example: 0
Headers
Content-Type: application/json
Body
{
"name": "SyncGroup1",
"in_channel_id": 1,
"keyframe_interval": {
"interval": 100,
"unit": "MILLISECONDS"
},
"limit_to_30_fps": true,
"latency_mode": {
"value": "HIGH"
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"in_channel_id": {
"type": "number"
},
"keyframe_interval": {
"type": "object",
"properties": {
"interval": {
"type": "number"
},
"unit": {
"type": "string"
}
},
"required": [
"interval",
"unit"
]
},
"limit_to_30_fps": {
"type": "boolean"
},
"latency_mode": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
}
},
"required": [
"name",
"in_channel_id",
"keyframe_interval",
"limit_to_30_fps",
"latency_mode"
]
}
204
Create Sync GroupPOST/v2/encoders/vid_encoders/sync_groups
Create sync group with the specified settings.
Example URI
201
Headers
Content-Type: application/json
Body
{
"id": 1
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "number"
}
},
"required": [
"id"
]
}
Delete Sync GroupDELETE/v2/encoders/vid_encoders/sync_groups/{id}
Delete the specified sync group.
Example URI
- id
integer
(required) Example: 0
204
Audio Encoders ¶
Audio Encoders ¶
Get Audio Encoders ListGET/v2/encoders/aud_encoders
Get the list of audio encoders present in the device.
Example URI
200
Headers
Content-Type: application/json
Body
{
"aud_encoders": [
{
"aud_encoder_id": 1,
"active": true,
"status": "DISABLED",
"seconds_in_status": 1
}
],
"available_codecs": [
"mpeg4_aac"
],
"max_aud_encoders": 1
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"aud_encoders": {
"type": "array",
"items": {
"type": "object",
"properties": {
"aud_encoder_id": {
"type": "number"
},
"active": {
"type": "boolean"
},
"status": {
"type": "string"
},
"seconds_in_status": {
"type": "number"
}
},
"required": [
"aud_encoder_id",
"active"
]
}
},
"available_codecs": {
"type": "array",
"items": {
"type": "string"
}
},
"max_aud_encoders": {
"type": "number"
}
},
"required": [
"aud_encoders",
"available_codecs",
"max_aud_encoders"
]
}
Audio Encoder Configuration ¶
This will describe all attributes of the input audio source and the encoded audio output.
Get Audio Encoder ConfigurationGET/v2/encoders/aud_encoders/{id}
Get the current audio encoder settings.
Example URI
- id
integer
(required) Example: 0
200
Headers
Content-Type: application/json
Body
{
"name": "AudioEncoder1",
"active": true,
"aud_encoder_id": 1,
"in_channel_id": 1,
"codec": {
"value": "mpeg4_aac",
"possible_values": [
"mpeg4_aac"
]
},
"sample": {
"value": "SAMPLE_48_khz",
"possible_values": [
"SAMPLE_16_khz",
"SAMPLE_32_khz",
"SAMPLE_44p1_khz",
"SAMPLE_48_khz",
"SAMPLE_96_khz",
"SAMPLE_192_khz"
]
},
"mix_mode": {
"value": "STEREO",
"possible_values": [
"STEREO",
"DUAL_MONO",
"LEFT_MONO",
"RIGHT_MONO",
"CROSS_MONO"
]
},
"bitrate": {
"value": 64,
"value_range": {
"min": 32,
"max": 512
}
},
"bitrate_mode": {
"value": "variable",
"possible_values": [
"constant",
"variable"
]
},
"channel_configuration": {
"num_channel_range": {
"min": 32,
"max": 512
},
"avail_channel_range": {
"min": 32,
"max": 512
},
"selected_channels": [
1,
2
]
},
"status": "DISABLED",
"seconds_in_status": 1
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"active": {
"type": "boolean"
},
"aud_encoder_id": {
"type": "number"
},
"in_channel_id": {
"type": "number"
},
"codec": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"value",
"possible_values"
]
},
"sample": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"value",
"possible_values"
]
},
"mix_mode": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"value",
"possible_values"
]
},
"bitrate": {
"type": "object",
"properties": {
"value": {
"type": "number"
},
"value_range": {
"type": "object",
"properties": {
"min": {
"type": "number"
},
"max": {
"type": "number"
}
},
"required": [
"min",
"max"
]
}
},
"required": [
"value",
"value_range"
]
},
"bitrate_mode": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"value",
"possible_values"
]
},
"channel_configuration": {
"type": "object",
"properties": {
"num_channel_range": {
"type": "object",
"properties": {
"min": {
"type": "number"
},
"max": {
"type": "number"
}
},
"required": [
"min",
"max"
]
},
"avail_channel_range": {
"type": "object",
"properties": {
"min": {
"type": "number"
},
"max": {
"type": "number"
}
},
"required": [
"min",
"max"
]
},
"selected_channels": {
"type": "array",
"items": [
{
"type": "number"
},
{
"type": "number"
}
]
}
},
"required": [
"num_channel_range",
"avail_channel_range",
"selected_channels"
]
},
"status": {
"type": "string"
},
"seconds_in_status": {
"type": "number"
}
},
"required": [
"name",
"active",
"aud_encoder_id",
"in_channel_id",
"codec",
"sample",
"mix_mode",
"bitrate",
"bitrate_mode",
"channel_configuration"
]
}
Update Audio Encoder ConfigurationPUT/v2/encoders/aud_encoders/{id}
Update the current audio encoder settings.
Example URI
- id
integer
(required) Example: 0
Headers
Content-Type: application/json
Body
{
"name": "AudioEncoder1",
"in_channel_id": 1,
"codec": {
"value": "mpeg4_aac"
},
"mix_mode": {
"value": "STEREO"
},
"bitrate": {
"value": 64
},
"bitrate_mode": {
"value": "variable"
},
"channel_configuration": {
"selected_channels": [
1,
2
]
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"in_channel_id": {
"type": "number"
},
"codec": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"mix_mode": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"bitrate": {
"type": "object",
"properties": {
"value": {
"type": "number"
}
},
"required": [
"value"
]
},
"bitrate_mode": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"channel_configuration": {
"type": "object",
"properties": {
"selected_channels": {
"type": "array",
"items": [
{
"type": "number"
},
{
"type": "number"
}
]
}
},
"required": [
"selected_channels"
]
}
},
"required": [
"name",
"in_channel_id",
"codec",
"mix_mode",
"bitrate",
"bitrate_mode",
"channel_configuration"
]
}
204
Create New Audio EncoderPOST/v2/encoders/aud_encoders
Create a new audio encoder with the specified settings.
Example URI
201
Headers
Content-Type: application/json
Body
{
"id": 1
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "number"
}
},
"required": [
"id"
]
}
Delete Audio EncoderDELETE/v2/encoders/aud_encoders/{id}
Delete the specified audio encoder.
Example URI
- id
integer
(required) Example: 0
204
Data Encoders ¶
Data Encoders ¶
Get Data Encoders ListGET/v2/encoders/data_encoders
Get the list of data encoders present in the device.
Example URI
200
Headers
Content-Type: application/json
Body
{
"data_encoders": [
{
"data_encoder_id": 1,
"codec": "klv_sync",
"active": true,
"status": "DISABLED",
"seconds_in_status": 1
}
],
"available_codecs": [
"klv_sync",
"scte35"
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"data_encoders": {
"type": "array",
"items": {
"type": "object",
"properties": {
"data_encoder_id": {
"type": "number"
},
"codec": {
"type": "string",
"enum": [
"klv_sync",
"scte35"
]
},
"active": {
"type": "boolean"
},
"status": {
"type": "string"
},
"seconds_in_status": {
"type": "number"
}
},
"required": [
"data_encoder_id",
"codec",
"active"
]
}
},
"available_codecs": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"data_encoders",
"available_codecs"
]
}
Data Encoder Configuration ¶
Get Data Encoder ConfigurationGET/v2/encoders/data_encoders/{id}
Get the current data encoder settings.
Example URI
- id
integer
(required) Example: 0
200
Headers
Content-Type: application/json
Body
{
"name": "DataEncoder1",
"active": false,
"data_encoder_id": 0,
"codec": {
"value": "klv_sync",
"klv_sync": {},
"scte35": {
"splice_duration": 30000
}
},
"status": "DISABLED",
"seconds_in_status": 0
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"active": {
"type": "boolean"
},
"data_encoder_id": {
"type": "number"
},
"codec": {
"type": "object",
"properties": {
"value": {
"type": "string",
"enum": [
"klv_sync",
"scte35"
]
},
"klv_sync": {
"type": "object",
"properties": {}
},
"scte35": {
"type": "object",
"properties": {
"splice_duration": {
"type": "number"
}
},
"required": [
"splice_duration"
]
}
},
"required": [
"value"
]
},
"status": {
"type": "string"
},
"seconds_in_status": {
"type": "number"
}
},
"required": [
"name",
"active",
"data_encoder_id",
"codec"
]
}
Update Data Encoder ConfigurationPUT/v2/encoders/data_encoders/{id}
Update the current data encoder settings.
Example URI
- id
integer
(required) Example: 0
Headers
Content-Type: application/json
Body
{
"name": "DataEncoder1",
"codec": {
"value": "klv_sync",
"klv_sync": {},
"scte35": {
"splice_duration": 30000
}
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"codec": {
"type": "object",
"properties": {
"value": {
"type": "string",
"enum": [
"klv_sync",
"scte35"
]
},
"klv_sync": {
"type": "object",
"properties": {}
},
"scte35": {
"type": "object",
"properties": {
"splice_duration": {
"type": "number"
}
},
"required": [
"splice_duration"
]
}
},
"required": [
"value"
]
}
},
"required": [
"name",
"codec"
]
}
204
Create New Data EncoderPOST/v2/encoders/data_encoders
Create a new data encoder with the specified settings.
Example URI
Headers
Content-Type: application/json
Body
{
"codec": "klv_sync"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"codec": {
"type": "string",
"enum": [
"klv_sync",
"scte35"
]
}
},
"required": [
"codec"
]
}
201
Headers
Content-Type: application/json
Body
{
"id": 1
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "number"
}
},
"required": [
"id"
]
}
Delete Data EncoderDELETE/v2/encoders/data_encoders/{id}
Delete the specified data encoder.
Example URI
- id
integer
(required) Example: 0
204
Data Encoder Actions ¶
Details of specific actions that can be run on data encoders.
SCTE-35 - Insert SplicePOST/v2/encoders/data_encoders/{id}/action/insert_splice
Insert splice markers to transport stream outputs starting now. The duration of the splice will be what is configured in the SCTE-35 encoder. There will be at least a 4 second delay in splice start.
Example URI
- id
integer
(required) Example: 0
204
Output Streams ¶
Encoder Streaming Outputs List ¶
This will return the list of all streaming outputs available on a streaming device. The encoded video produced by the encoder will be sent to each active output.
Get Encoder Streaming Outputs ListGET/v2/out_streams
Get the list of streaming outputs.
Example URI
200
Headers
Content-Type: application/json
Body
{
"out_streams": [
{
"out_stream_id": 1,
"output_type": "unicast"
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"out_streams": {
"type": "array",
"items": {
"type": "object",
"properties": {
"out_stream_id": {
"type": "number"
},
"output_type": {
"type": "string",
"enum": [
"unicast",
"multicast",
"rtsp",
"rtmp",
"http_pull",
"http_push",
"srt",
"file",
"thumbnail"
]
}
},
"required": [
"out_stream_id",
"output_type"
]
}
}
},
"required": [
"out_streams"
]
}
Encoder Streaming Output ¶
This will describe all the attributes of a single streaming output. The encoded video produced by the encoder will be sent to each active output.
Get Encoder Streaming OutputGET/v2/out_streams/{id}
Get the state of a single streaming output
Example URI
- id
integer
(required) Example: 0
200
Headers
Content-Type: application/json
Body
{
"out_stream_id": 1,
"enable": true,
"audio_sources": {
"max_sources": 1,
"audio_source_ids": [
1
]
},
"video_sources": {
"max_sources": 1,
"video_source_ids": [
1
]
},
"output_type": {
"value": "unicast",
"unicast": {
"protocol": "RTP",
"destination_ip": "1.2.3.4",
"destination_port": 1234
},
"multicast": {
"protocol": "RTP",
"multicast_ip": "1.2.3.4",
"multicast_port": 1234,
"ttl": 1
},
"rtsp": {
"stream_name": "test",
"server_port": 5555
},
"rtmp": {
"status": "STREAM_OFF",
"service": {
"value": "generic",
"possible_values": [
"generic",
"akamai",
"wowza",
"wowza_cloud",
"youtube",
"facebook",
"aws_ivs",
"mux"
],
"data": "{}"
}
},
"http_pull": {
"protocols": [
"DASH",
"HLS"
],
"media_container": {
"value": "FMP4",
"possible_values": [
"TS",
"FMP4"
]
},
"segment_length": 1,
"number_of_segments": 1,
"ultra_low_latency": {
"enable": false,
"chunk_interval": {
"interval": 1,
"unit": "MILLISECONDS",
"possible_units": [
"MILLISECONDS",
"FRAMES"
]
}
}
},
"http_push": {
"manifest_type": {
"protocols": [
"HLS",
"DASH"
],
"available_protocols": [
"HLS",
"DASH"
]
},
"media_container": {
"value": "FMP4",
"possible_values": [
"TS",
"FMP4"
]
},
"segment_length": 2,
"number_of_segments": 10,
"save_segment_window": false,
"service": {
"value": "generic",
"possible_values": [
"generic",
"akamai"
],
"data": "{}"
},
"synchronization": {
"enable": false,
"dash_presentation_delay": 1
},
"ultra_low_latency": {
"enable": false,
"chunk_interval": {
"interval": 1,
"unit": "MILLISECONDS",
"possible_units": [
"MILLISECONDS",
"FRAMES"
]
}
}
},
"srt": {
"status": "STREAM_OFF",
"call_mode": {
"value": "CALLER",
"possible_values": [
"CALLER",
"LISTENER"
]
},
"dest_ip": "1.2.3.4 || stream.url",
"dest_port": 5555,
"latency": 120,
"passphrase": "abc123",
"bw_overhead": 25,
"key_size": {
"value": "AES128",
"possible_values": [
"AES128",
"AES192",
"AES256"
]
},
"stream_id": "stream1"
},
"file_record": {
"filename_base": "VID",
"filename_timezone": {
"value": "UTC",
"possible_values": [
"UTC",
"LOCALTIME"
]
},
"selected_device_name": "84C4-6DDE",
"available_drives": [
{
"uuid": "Hello, world!",
"type": "Hello, world!",
"size": 1,
"free_space": 1
}
],
"status": "`FILE_NO_STORAGE_DEVICE",
"file_format": {
"value": "TS",
"possible_values": [
"MP4",
"TS",
"FMP4"
]
},
"device_selection_policy": {
"value": "ATTACH_TIME_FIRST",
"possible_values": [
"ATTACH_TIME_FIRST",
"ATTACH_TIME_LAST",
"FREE_SPACE_MAX",
"TOTAL_SPACE_MAX",
"VOLUME_UUID"
],
"data": "device_uuid"
},
"delete_oldest_when_full": false,
"limit_max_file_size": {
"enable": true,
"value": 1000000
},
"ftp_upload": {
"enable": true,
"protocol": {
"value": "FTP",
"possible_values": [
"FTP",
"SFTP"
]
},
"server": "my.ftp.com",
"port": 21,
"username": "admin",
"password": "password",
"file_path": "recordings",
"delete_file_after_upload": true,
"bytes_uploaded": 1,
"total_bytes": 1,
"seconds_elapsed": 1,
"files_remaining": 1,
"status": "Hello, world!"
}
},
"thumbnail": {
"interval": {
"value": 1,
"value_range": {
"min": 32,
"max": 512
}
},
"width": {
"value": 320,
"value_range": {
"min": 32,
"max": 512
}
}
}
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"out_stream_id": {
"type": "number"
},
"enable": {
"type": "boolean"
},
"audio_sources": {
"type": "object",
"properties": {
"max_sources": {
"type": "number"
},
"audio_source_ids": {
"type": "array",
"items": {
"type": "number"
}
}
},
"required": [
"max_sources",
"audio_source_ids"
]
},
"video_sources": {
"type": "object",
"properties": {
"max_sources": {
"type": "number"
},
"video_source_ids": {
"type": "array",
"items": {
"type": "number"
}
}
},
"required": [
"max_sources",
"video_source_ids"
]
},
"output_type": {
"type": "object",
"properties": {
"value": {
"type": "string",
"enum": [
"unicast",
"multicast",
"rtsp",
"rtmp",
"http_pull",
"http_push",
"srt",
"file",
"thumbnail"
]
},
"unicast": {
"type": "object",
"properties": {
"protocol": {
"type": "string"
},
"destination_ip": {
"type": "string"
},
"destination_port": {
"type": "number"
}
}
},
"multicast": {
"type": "object",
"properties": {
"protocol": {
"type": "string"
},
"multicast_ip": {
"type": "string"
},
"multicast_port": {
"type": "number"
},
"ttl": {
"type": "number"
}
}
},
"rtsp": {
"type": "object",
"properties": {
"stream_name": {
"type": "string"
},
"server_port": {
"type": "number"
}
}
},
"rtmp": {
"type": "object",
"properties": {
"status": {
"type": "string"
},
"service": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
]
},
"data": {
"type": "string"
}
},
"required": [
"value",
"possible_values",
"data"
]
}
},
"required": [
"status",
"service"
]
},
"http_pull": {
"type": "object",
"properties": {
"protocols": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
},
"media_container": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"value",
"possible_values"
]
},
"segment_length": {
"type": "number"
},
"number_of_segments": {
"type": "number"
},
"ultra_low_latency": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"chunk_interval": {
"type": "object",
"properties": {
"interval": {
"type": "number"
},
"unit": {
"type": "string"
},
"possible_units": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"interval",
"unit",
"possible_units"
]
}
},
"required": [
"enable"
]
}
},
"required": [
"protocols"
]
},
"http_push": {
"type": "object",
"properties": {
"manifest_type": {
"type": "object",
"properties": {
"protocols": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
},
"available_protocols": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"protocols",
"available_protocols"
]
},
"media_container": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"value",
"possible_values"
]
},
"segment_length": {
"type": "number"
},
"number_of_segments": {
"type": "number"
},
"save_segment_window": {
"type": "boolean"
},
"service": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
},
"data": {
"type": "string"
}
},
"required": [
"value",
"possible_values",
"data"
]
},
"synchronization": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"dash_presentation_delay": {
"type": "number"
}
},
"required": [
"enable"
]
},
"ultra_low_latency": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"chunk_interval": {
"type": "object",
"properties": {
"interval": {
"type": "number"
},
"unit": {
"type": "string"
},
"possible_units": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"interval",
"unit",
"possible_units"
]
}
},
"required": [
"enable"
]
}
}
},
"srt": {
"type": "object",
"properties": {
"status": {
"type": "string"
},
"call_mode": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"value",
"possible_values"
]
},
"dest_ip": {
"type": "string"
},
"dest_port": {
"type": "number"
},
"latency": {
"type": "number"
},
"passphrase": {
"type": "string"
},
"bw_overhead": {
"type": "number"
},
"key_size": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"value",
"possible_values"
]
},
"stream_id": {
"type": "string"
}
},
"required": [
"status",
"dest_ip",
"dest_port",
"latency",
"bw_overhead"
]
},
"file_record": {
"type": "object",
"properties": {
"filename_base": {
"type": "string"
},
"filename_timezone": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"value",
"possible_values"
]
},
"selected_device_name": {
"type": "string"
},
"available_drives": {
"type": "array"
},
"status": {
"type": "string"
},
"file_format": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"value",
"possible_values"
]
},
"device_selection_policy": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
]
},
"data": {
"type": "string"
}
},
"required": [
"value",
"possible_values",
"data"
]
},
"delete_oldest_when_full": {
"type": "boolean"
},
"limit_max_file_size": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"value": {
"type": "number"
}
},
"required": [
"enable",
"value"
]
},
"ftp_upload": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"protocol": {
"type": "object",
"properties": {
"value": {
"type": "string",
"enum": [
"FTP",
"SFTP"
]
},
"possible_values": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"value",
"possible_values"
]
},
"server": {
"type": "string"
},
"port": {
"type": "number"
},
"username": {
"type": "string"
},
"password": {
"type": "string"
},
"file_path": {
"type": "string"
},
"delete_file_after_upload": {
"type": "boolean"
},
"bytes_uploaded": {
"type": "number"
},
"total_bytes": {
"type": "number"
},
"seconds_elapsed": {
"type": "number"
},
"files_remaining": {
"type": "number"
},
"status": {
"type": "string"
}
},
"required": [
"enable",
"server",
"port",
"username",
"password",
"file_path",
"delete_file_after_upload",
"bytes_uploaded",
"total_bytes",
"seconds_elapsed",
"files_remaining",
"status"
]
}
},
"required": [
"filename_base",
"filename_timezone",
"selected_device_name",
"available_drives",
"status",
"file_format",
"device_selection_policy"
]
},
"thumbnail": {
"type": "object",
"properties": {
"interval": {
"type": "object",
"properties": {
"value": {
"type": "number"
},
"value_range": {
"type": "object",
"properties": {
"min": {
"type": "number"
},
"max": {
"type": "number"
}
},
"required": [
"min",
"max"
]
}
},
"required": [
"value",
"value_range"
]
},
"width": {
"type": "object",
"properties": {
"value": {
"type": "number"
},
"value_range": {
"type": "object",
"properties": {
"min": {
"type": "number"
},
"max": {
"type": "number"
}
},
"required": [
"min",
"max"
]
}
},
"required": [
"value",
"value_range"
]
}
},
"required": [
"interval",
"width"
]
}
},
"required": [
"value"
]
}
},
"required": [
"out_stream_id",
"enable",
"output_type"
]
}
Update Encoder Streaming OutputPUT/v2/out_streams/{id}
Update the state of a single encoder streaming output
Example URI
- id
integer
(required) Example: 0
Headers
Content-Type: application/json
Body
{
"enable": true,
"audio_sources": {
"audio_source_ids": [
1
]
},
"video_sources": {
"video_source_ids": [
1
]
},
"output_type": {
"value": "unicast",
"unicast": {
"protocol": "RTP",
"destination_ip": "1.2.3.4",
"destination_port": 1234
},
"multicast": {
"protocol": "RTP",
"multicast_ip": "1.2.3.4",
"multicast_port": 1234,
"ttl": 1
},
"rtsp": {
"stream_name": "test",
"server_port": 5555
},
"rtmp": {
"service": {
"value": "generic",
"data": "{}"
}
},
"http_pull": {
"media_container": {
"value": "FMP4"
},
"segment_length": 1,
"number_of_segments": 1,
"ultra_low_latency": {
"enable": false,
"chunk_interval": {
"interval": 1,
"unit": "MILLISECONDS"
}
}
},
"http_push": {
"manifest_type": {
"protocols": [
"HLS",
"DASH"
]
},
"media_container": {
"value": "FMP4"
},
"segment_length": 2,
"number_of_segments": 10,
"save_segment_window": false,
"service": {
"value": "generic",
"data": "{}"
},
"synchronization": {
"enable": false,
"dash_presentation_delay": 1
},
"ultra_low_latency": {
"enable": false,
"chunk_interval": {
"interval": 1,
"unit": "MILLISECONDS"
}
}
},
"srt": {
"call_mode": {
"value": "CALLER"
},
"dest_ip": "1.2.3.4 || stream.url",
"dest_port": 5555,
"latency": 120,
"passphrase": "abc123",
"bw_overhead": 25,
"key_size": {
"value": "AES128"
},
"stream_id": "stream1"
},
"file_record": {
"filename_base": "VID",
"filename_timezone": {
"value": "UTC"
},
"file_format": {
"value": "TS"
},
"device_selection_policy": {
"value": "ATTACH_TIME_FIRST",
"data": "device_uuid"
},
"delete_oldest_when_full": false,
"limit_max_file_size": {
"enable": true,
"value": 1000000
},
"ftp_upload": {
"enable": true,
"protocol": {
"value": "FTP"
},
"server": "my.ftp.com",
"port": 21,
"username": "admin",
"password": "password",
"sftp_key": "string",
"file_path": "recordings",
"delete_file_after_upload": true
}
},
"thumbnail": {
"interval": {
"value": 1
},
"width": {
"value": 320
}
}
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"audio_sources": {
"type": "object",
"properties": {
"audio_source_ids": {
"type": "array",
"items": {
"type": "number"
}
}
},
"required": [
"audio_source_ids"
]
},
"video_sources": {
"type": "object",
"properties": {
"video_source_ids": {
"type": "array",
"items": {
"type": "number"
}
}
},
"required": [
"video_source_ids"
]
},
"output_type": {
"type": "object",
"properties": {
"value": {
"type": "string",
"enum": [
"unicast",
"multicast",
"rtsp",
"rtmp",
"http_pull",
"http_push",
"file",
"srt",
"thumbnail"
]
},
"unicast": {
"type": "object",
"properties": {
"protocol": {
"type": "string"
},
"destination_ip": {
"type": "string"
},
"destination_port": {
"type": "number"
}
}
},
"multicast": {
"type": "object",
"properties": {
"protocol": {
"type": "string"
},
"multicast_ip": {
"type": "string"
},
"multicast_port": {
"type": "number"
},
"ttl": {
"type": "number"
}
}
},
"rtsp": {
"type": "object",
"properties": {
"stream_name": {
"type": "string"
},
"server_port": {
"type": "number"
}
}
},
"rtmp": {
"type": "object",
"properties": {
"service": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"data": {
"type": "string"
}
},
"required": [
"value",
"data"
]
}
},
"required": [
"service"
]
},
"http_pull": {
"type": "object",
"properties": {
"media_container": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"segment_length": {
"type": "number"
},
"number_of_segments": {
"type": "number"
},
"ultra_low_latency": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"chunk_interval": {
"type": "object",
"properties": {
"interval": {
"type": "number"
},
"unit": {
"type": "string"
}
},
"required": [
"interval",
"unit"
]
}
},
"required": [
"enable"
]
}
}
},
"http_push": {
"type": "object",
"properties": {
"manifest_type": {
"type": "object",
"properties": {
"protocols": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"protocols"
]
},
"media_container": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"segment_length": {
"type": "number"
},
"number_of_segments": {
"type": "number"
},
"save_segment_window": {
"type": "boolean"
},
"service": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"data": {
"type": "string"
}
},
"required": [
"value",
"data"
]
},
"synchronization": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"dash_presentation_delay": {
"type": "number"
}
},
"required": [
"enable"
]
},
"ultra_low_latency": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"chunk_interval": {
"type": "object",
"properties": {
"interval": {
"type": "number"
},
"unit": {
"type": "string"
}
},
"required": [
"interval",
"unit"
]
}
},
"required": [
"enable"
]
}
}
},
"srt": {
"type": "object",
"properties": {
"call_mode": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"dest_ip": {
"type": "string"
},
"dest_port": {
"type": "number"
},
"latency": {
"type": "number"
},
"passphrase": {
"type": "string"
},
"bw_overhead": {
"type": "number"
},
"key_size": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"stream_id": {
"type": "string"
}
},
"required": [
"dest_ip",
"dest_port"
]
},
"file_record": {
"type": "object",
"properties": {
"filename_base": {
"type": "string"
},
"filename_timezone": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"file_format": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"device_selection_policy": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"data": {
"type": "string"
}
},
"required": [
"value",
"data"
]
},
"delete_oldest_when_full": {
"type": "boolean"
},
"limit_max_file_size": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"value": {
"type": "number"
}
},
"required": [
"enable",
"value"
]
},
"ftp_upload": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"protocol": {
"type": "object",
"properties": {
"value": {
"type": "string",
"enum": [
"FTP",
"SFTP"
]
}
},
"required": [
"value"
]
},
"server": {
"type": "string"
},
"port": {
"type": "number"
},
"username": {
"type": "string"
},
"password": {
"type": "string"
},
"sftp_key": {
"type": "string"
},
"file_path": {
"type": "string"
},
"delete_file_after_upload": {
"type": "boolean"
}
},
"required": [
"enable",
"server",
"port",
"username",
"password",
"file_path",
"delete_file_after_upload"
]
}
},
"required": [
"filename_base",
"filename_timezone",
"file_format",
"device_selection_policy"
]
},
"thumbnail": {
"type": "object",
"properties": {
"interval": {
"type": "object",
"properties": {
"value": {
"type": "number"
}
},
"required": [
"value"
]
},
"width": {
"type": "object",
"properties": {
"value": {
"type": "number"
}
},
"required": [
"value"
]
}
},
"required": [
"interval",
"width"
]
}
},
"required": [
"value"
]
}
},
"required": [
"enable",
"output_type"
]
}
204
Output Actions ¶
Details of specific actions that can be run on streaming outputs.
General Output ActionsPOST/v2/out_streams/{id}/action/{action_name}
Run action for output, often supported by RTMP outputs, to support third-party API calls.
Example URI
- id
integer
(required) Example: 0- action_name
string
(required) Example: pair, account_info, streamlist, authenticate_ftp
200
File Record - Validate FTPPOST/v2/out_streams/{id}/action/authenticate_ftp
Validate the FTP server configuration provided in the request. If ‘password’ is not provided, then the currently saved one will be used.
Example URI
- id
integer
(required) Example: 0
Headers
Content-Type: application/json
Body
{
"server": "my.ftp.com",
"username": "admin",
"password": "password",
"file_path": "recordings"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"server": {
"type": "string"
},
"username": {
"type": "string"
},
"password": {
"type": "string"
},
"file_path": {
"type": "string"
}
}
}
200
Headers
Content-Type: application/json
Body
{
"result": "SUCCESS"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"result": {
"type": "string",
"enum": [
"SUCCESS",
"FAILURE_SERVER_UNREACHABLE",
"FAILURE_AUTHENTICATION",
"FAILURE_PERMISSIONS"
]
}
},
"required": [
"result"
]
}
Storage ¶
Storage Devices ¶
List Storage DevicesGET/v2/storage
Get a list of storage devices.
Example URI
200
Headers
Content-Type: application/json
Body
[
{
"devpath": "/dev/block/sdg1",
"syspath": "/sys/devices/soc/6a00000.ssusb/6a00000.dwc3/xhci-hcd.0.auto/usb1/1-1/1-1:1.0/host2/target2:0:0/2:0:0:0/block/sdg/sdg1",
"devno": 2145,
"devtime_us": 1575662248234999,
"fstype": "vfat",
"version": "FAT32",
"label": "VOLUMEONE",
"uuid": "84C4-6DDE",
"usage": "filesystem",
"kind": "PARTITION",
"disk_devno": 2144,
"partno": "1",
"type": "USB",
"vendor": "StorageVendor",
"model": "StorageModel",
"size_bytes": 15604908032,
"mount": {
"devno": 2145,
"fsname": "/dev/block/vold/public:8,97",
"dir": "/mnt/media_rw/84C4-6DDE",
"type": "vfat",
"opts": "rw,dirsync,nosuid,nodev,noexec,relatime,uid=1023,gid=1023,fmask=0007,dmask=0007,allow_utime=0020,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro",
"freq": 0,
"passno": 0,
"size_bytes": 15588130816,
"avail_bytes": 8874713088,
"blocksize_bytes": 8192
},
"fslimits": {
"max_volume_size_bytes": 17592186044416,
"max_file_size_bytes": 4294967295,
"max_filename_length": 255,
"max_path_length": 4096
}
}
]
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array",
"items": {
"type": "object",
"properties": {
"devpath": {
"type": "string"
},
"syspath": {
"type": "string"
},
"devno": {
"type": "number"
},
"devtime_us": {
"type": "number"
},
"fstype": {
"type": "string"
},
"version": {
"type": "string"
},
"label": {
"type": "string"
},
"uuid": {
"type": "string"
},
"usage": {
"type": "string"
},
"kind": {
"type": "string"
},
"disk_devno": {
"type": "number"
},
"partno": {
"type": "string"
},
"type": {
"type": "string"
},
"vendor": {
"type": "string"
},
"model": {
"type": "string"
},
"size_bytes": {
"type": "number"
},
"mount": {
"type": "object",
"properties": {
"devno": {
"type": "number"
},
"fsname": {
"type": "string"
},
"dir": {
"type": "string"
},
"type": {
"type": "string"
},
"opts": {
"type": "string"
},
"freq": {
"type": "number"
},
"passno": {
"type": "number"
},
"size_bytes": {
"type": "number"
},
"avail_bytes": {
"type": "number"
},
"blocksize_bytes": {
"type": "number"
}
},
"required": [
"devno",
"fsname",
"dir",
"type",
"opts",
"freq",
"passno",
"size_bytes",
"avail_bytes",
"blocksize_bytes"
]
},
"fslimits": {
"type": "object",
"properties": {
"max_volume_size_bytes": {
"type": "number"
},
"max_file_size_bytes": {
"type": "number"
},
"max_filename_length": {
"type": "number"
},
"max_path_length": {
"type": "number"
}
},
"required": [
"max_volume_size_bytes",
"max_file_size_bytes",
"max_filename_length",
"max_path_length"
]
}
},
"required": [
"devpath",
"syspath",
"devno",
"devtime_us",
"fstype",
"version",
"label",
"uuid",
"usage",
"kind",
"disk_devno",
"partno",
"type",
"vendor",
"model",
"size_bytes",
"mount",
"fslimits"
]
}
}
Get Storage Device InfoGET/v2/storage/{devno}
Get storage device information for the specified device.
Example URI
- devno
integer
(required) Example: 2145
200
Headers
Content-Type: application/json
Body
{
"devpath": "/dev/block/sdg1",
"syspath": "/sys/devices/soc/6a00000.ssusb/6a00000.dwc3/xhci-hcd.0.auto/usb1/1-1/1-1:1.0/host2/target2:0:0/2:0:0:0/block/sdg/sdg1",
"devno": 2145,
"devtime_us": 1575662248234999,
"fstype": "vfat",
"version": "FAT32",
"label": "VOLUMEONE",
"uuid": "84C4-6DDE",
"usage": "filesystem",
"kind": "PARTITION",
"disk_devno": 2144,
"partno": "1",
"type": "USB",
"vendor": "StorageVendor",
"model": "StorageModel",
"size_bytes": 15604908032,
"mount": {
"devno": 2145,
"fsname": "/dev/block/vold/public:8,97",
"dir": "/mnt/media_rw/84C4-6DDE",
"type": "vfat",
"opts": "rw,dirsync,nosuid,nodev,noexec,relatime,uid=1023,gid=1023,fmask=0007,dmask=0007,allow_utime=0020,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro",
"freq": 0,
"passno": 0,
"size_bytes": 15588130816,
"avail_bytes": 8874713088,
"blocksize_bytes": 8192
},
"fslimits": {
"max_volume_size_bytes": 17592186044416,
"max_file_size_bytes": 4294967295,
"max_filename_length": 255,
"max_path_length": 4096
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"devpath": {
"type": "string"
},
"syspath": {
"type": "string"
},
"devno": {
"type": "number"
},
"devtime_us": {
"type": "number"
},
"fstype": {
"type": "string"
},
"version": {
"type": "string"
},
"label": {
"type": "string"
},
"uuid": {
"type": "string"
},
"usage": {
"type": "string"
},
"kind": {
"type": "string"
},
"disk_devno": {
"type": "number"
},
"partno": {
"type": "string"
},
"type": {
"type": "string"
},
"vendor": {
"type": "string"
},
"model": {
"type": "string"
},
"size_bytes": {
"type": "number"
},
"mount": {
"type": "object",
"properties": {
"devno": {
"type": "number"
},
"fsname": {
"type": "string"
},
"dir": {
"type": "string"
},
"type": {
"type": "string"
},
"opts": {
"type": "string"
},
"freq": {
"type": "number"
},
"passno": {
"type": "number"
},
"size_bytes": {
"type": "number"
},
"avail_bytes": {
"type": "number"
},
"blocksize_bytes": {
"type": "number"
}
},
"required": [
"devno",
"fsname",
"dir",
"type",
"opts",
"freq",
"passno",
"size_bytes",
"avail_bytes",
"blocksize_bytes"
]
},
"fslimits": {
"type": "object",
"properties": {
"max_volume_size_bytes": {
"type": "number"
},
"max_file_size_bytes": {
"type": "number"
},
"max_filename_length": {
"type": "number"
},
"max_path_length": {
"type": "number"
}
},
"required": [
"max_volume_size_bytes",
"max_file_size_bytes",
"max_filename_length",
"max_path_length"
]
}
},
"required": [
"devpath",
"syspath",
"devno",
"devtime_us",
"fstype",
"version",
"label",
"uuid",
"usage",
"kind",
"disk_devno",
"partno",
"type",
"vendor",
"model",
"size_bytes",
"mount",
"fslimits"
],
"additionalProperties": false
}
Unmount Storage DevicePOST/v2/storage/{devno}/unmount
Unmount the specified device.
Example URI
- devno
integer
(required) Example: 2145
200
Format Storage DevicePOST/v2/storage/{devno}/format
Format the specified device.
Example URI
- devno
integer
(required) Example: 2145
200
XML ¶
XML ¶
Get XML SettingsGET/v2/xml
Get the XML polling settings for the device.
Example URI
200
Headers
Content-Type: application/json
Body
{
"xml": {
"enabled": true,
"url": "http://get.your.xml.here/test.xml",
"poll_interval": 10,
"username": "Hello, world!",
"password": "Hello, world!"
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"xml": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"url": {
"type": "string"
},
"poll_interval": {
"type": "number"
},
"username": {
"type": "string"
},
"password": {
"type": "string"
}
},
"required": [
"enabled",
"url",
"poll_interval"
]
}
},
"required": [
"xml"
]
}
Update XML SettingsPUT/v2/xml
Update the XML polling settings for the device.
Example URI
Headers
Content-Type: application/json
Body
{
"xml": {
"enabled": true,
"url": "http://get.your.xml.here/test.xml",
"poll_interval": 10,
"username": "Hello, world!",
"password": "Hello, world!"
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"xml": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"url": {
"type": "string"
},
"poll_interval": {
"type": "number"
},
"username": {
"type": "string"
},
"password": {
"type": "string"
}
},
"required": [
"enabled",
"url",
"poll_interval"
]
}
},
"required": [
"xml"
]
}
204