Back to top

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.

System

System

Get System Settings
GET/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

GET http://ip.address:2020/v2/system
Response  200
HideShow
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",
  "network": {
    "ip_address": "1.2.3.4",
    "netmask": "255.255.255.0",
    "gateway": "1.2.3.1",
    "dns_addresses": [
      "1.1.1.1",
      "8.8.8.8"
    ]
  },
  "static_network": {
    "ip_address": "1.2.3.4",
    "netmask": "255.255.255.0",
    "gateway": "1.2.3.1",
    "dns_addresses": [
      "1.1.1.1",
      "8.8.8.8"
    ]
  },
  "version": "versionstring",
  "device_id": "deviceid",
  "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"
    },
    "network": {
      "type": "object",
      "properties": {
        "ip_address": {
          "type": "string"
        },
        "netmask": {
          "type": "string"
        },
        "gateway": {
          "type": "string"
        },
        "dns_addresses": {
          "type": "array"
        }
      },
      "required": [
        "ip_address",
        "netmask",
        "gateway",
        "dns_addresses"
      ]
    },
    "static_network": {
      "type": "object",
      "properties": {
        "ip_address": {
          "type": "string"
        },
        "netmask": {
          "type": "string"
        },
        "gateway": {
          "type": "string"
        },
        "dns_addresses": {
          "type": "array"
        }
      },
      "required": [
        "ip_address",
        "netmask",
        "gateway",
        "dns_addresses"
      ]
    },
    "version": {
      "type": "string"
    },
    "device_id": {
      "type": "string"
    },
    "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",
    "network",
    "static_network",
    "version",
    "device_id",
    "clock"
  ]
}

Update System Settings
PUT/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

PUT http://ip.address:2020/v2/system
Request
HideShow
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_addresses": [
      "1.1.1.1",
      "8.8.8.8"
    ]
  },
  "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_addresses": {
          "type": "array"
        }
      },
      "required": [
        "ip_address",
        "netmask",
        "gateway",
        "dns_addresses"
      ]
    },
    "clock": {
      "type": "object",
      "properties": {
        "ntp_server": {
          "type": "string"
        },
        "timezone": {
          "type": "string"
        }
      },
      "required": [
        "ntp_server",
        "timezone"
      ]
    }
  },
  "required": [
    "device_name",
    "ip_scheme",
    "static_network",
    "clock"
  ]
}
Response  204

Input Channels

Input Channels

Get Input Channel List
GET/v2/in_channels

Get the list of input channels.

Example URI

GET http://ip.address:2020/v2/in_channels
Response  200
HideShow
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 Configuration
GET/v2/in_channels/{id}

Get the input channel configuration.

Example URI

GET http://ip.address:2020/v2/in_channels/0
URI Parameters
HideShow
id
integer (required) Example: 0
Response  200
HideShow
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"
    }
  },
  "video_rotation": {
    "value": "ROTATE_0",
    "possible_values": [
      "ROTATE_0",
      "ROTATE_90",
      "ROTATE_180",
      "ROTATE_270"
    ]
  },
  "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_aspect_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"
      ]
    },
    "video_rotation": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        },
        "possible_values": {
          "type": "array",
          "items": [
            {
              "type": "string"
            },
            {
              "type": "string"
            },
            {
              "type": "string"
            },
            {
              "type": "string"
            }
          ]
        }
      },
      "required": [
        "value",
        "possible_values"
      ]
    },
    "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_aspect_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_aspect_ratio"
          ]
        },
        "image_status": {
          "type": "string"
        }
      },
      "required": [
        "enable",
        "position",
        "image_status"
      ]
    }
  },
  "required": [
    "in_channel_id",
    "audio_input",
    "video_input",
    "video_rotation",
    "graphic_overlay"
  ]
}

Update Input Channel Configuration
PUT/v2/in_channels/{id}

Set the input channel configuration.

Example URI

PUT http://ip.address:2020/v2/in_channels/0
URI Parameters
HideShow
id
integer (required) Example: 0
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "audio_input": {
    "value": "input_embedded"
  },
  "video_input": {
    "value": "input_hdmi"
  },
  "video_rotation": {
    "value": "ROTATE_0"
  },
  "graphic_overlay": {
    "enable": true,
    "position": {
      "preset": {
        "value": "MANUAL"
      },
      "x": 0,
      "y": 0,
      "width": 100,
      "height": 100,
      "lock_aspect_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"
      ]
    },
    "video_rotation": {
      "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_aspect_ratio": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string"
                }
              },
              "required": [
                "value"
              ]
            }
          },
          "required": [
            "preset",
            "x",
            "y",
            "width",
            "height",
            "lock_aspect_ratio"
          ]
        }
      },
      "required": [
        "enable",
        "position"
      ]
    }
  },
  "required": [
    "audio_input",
    "video_input",
    "graphic_overlay"
  ]
}
Response  204

Overlay Graphic

Retrieve Overlay Graphic
GET/v2/in_channels/{id}/overlay_graphic

Example URI

GET http://ip.address:2020/v2/in_channels/0/overlay_graphic
URI Parameters
HideShow
id
integer (required) Example: 0
Response  200
HideShow
Headers
Content-Type: image/png; Content-Transfer-Encoding: base64
Body
<base64 png>

Upload Overlay Graphic
POST/v2/in_channels/{id}/overlay_graphic

Upload overlay graphic.

Example URI

POST http://ip.address:2020/v2/in_channels/0/overlay_graphic
URI Parameters
HideShow
id
integer (required) Example: 0
Request
HideShow
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
Response  204

Delete overlay graphic
DELETE/v2/in_channels/{id}/overlay_graphic

Delete the stored overlay graphic.

Example URI

DELETE http://ip.address:2020/v2/in_channels/0/overlay_graphic
URI Parameters
HideShow
id
integer (required) Example: 0
Response  204

Encoders

Encoders

Get Encoders List
GET/v2/encoders

Get the list of encoders present in the device.

Example URI

GET http://ip.address:2020/v2/encoders
Response  200
HideShow
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 List
GET/v2/encoders/vid_encoders

Get the list of video encoders present in the device.

Example URI

GET http://ip.address:2020/v2/encoders/vid_encoders
Response  200
HideShow
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 Configuration
GET/v2/encoders/vid_encoders/{id}

Get the current encoder settings.

Example URI

GET http://ip.address:2020/v2/encoders/vid_encoders/0
URI Parameters
HideShow
id
integer (required) Example: 0
Response  200
HideShow
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_PASSTHROUGH",
      "RES_3840X2160",
      "RES_1920X1080",
      "RES_1280X720",
      "RES_960X540",
      "RES_720X576",
      "RES_854x480",
      "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,
  "current_bitrate": 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"
            },
            {
              "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"
    },
    "current_bitrate": {
      "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 Configuration
PUT/v2/encoders/vid_encoders/{id}

Update the current encoder settings.

Example URI

PUT http://ip.address:2020/v2/encoders/vid_encoders/0
URI Parameters
HideShow
id
integer (required) Example: 0
Request
HideShow
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"
  ]
}
Response  204

Create New Video Encoder
POST/v2/encoders/vid_encoders

Create new video encoder with the specified settings.

Example URI

POST http://ip.address:2020/v2/encoders/vid_encoders
Response  201
HideShow
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 Encoder
DELETE/v2/encoders/vid_encoders/{id}

Delete the specified video encoder.

Example URI

DELETE http://ip.address:2020/v2/encoders/vid_encoders/0
URI Parameters
HideShow
id
integer (required) Example: 0
Response  204

Sync Groups

Sync Groups

Get Sync Group List
GET/v2/encoders/vid_encoders/sync_groups

Get the list of sync groups.

Example URI

GET http://ip.address:2020/v2/encoders/vid_encoders/sync_groups
Response  200
HideShow
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 Configuration
GET/v2/encoders/vid_encoders/sync_groups/{id}

Get settings for the specified sync group.

Example URI

GET http://ip.address:2020/v2/encoders/vid_encoders/sync_groups/0
URI Parameters
HideShow
id
integer (required) Example: 0
Response  200
HideShow
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 Configuration
PUT/v2/encoders/vid_encoders/sync_groups/{id}

Update settings for the specified sync group.

Example URI

PUT http://ip.address:2020/v2/encoders/vid_encoders/sync_groups/0
URI Parameters
HideShow
id
integer (required) Example: 0
Request
HideShow
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"
  ]
}
Response  204

Create Sync Group
POST/v2/encoders/vid_encoders/sync_groups

Create sync group with the specified settings.

Example URI

POST http://ip.address:2020/v2/encoders/vid_encoders/sync_groups
Response  201
HideShow
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 Group
DELETE/v2/encoders/vid_encoders/sync_groups/{id}

Delete the specified sync group.

Example URI

DELETE http://ip.address:2020/v2/encoders/vid_encoders/sync_groups/0
URI Parameters
HideShow
id
integer (required) Example: 0
Response  204

Audio Encoders

Audio Encoders

Get Audio Encoders List
GET/v2/encoders/aud_encoders

Get the list of audio encoders present in the device.

Example URI

GET http://ip.address:2020/v2/encoders/aud_encoders
Response  200
HideShow
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 Configuration
GET/v2/encoders/aud_encoders/{id}

Get the current audio encoder settings.

Example URI

GET http://ip.address:2020/v2/encoders/aud_encoders/0
URI Parameters
HideShow
id
integer (required) Example: 0
Response  200
HideShow
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 Configuration
PUT/v2/encoders/aud_encoders/{id}

Update the current audio encoder settings.

Example URI

PUT http://ip.address:2020/v2/encoders/aud_encoders/0
URI Parameters
HideShow
id
integer (required) Example: 0
Request
HideShow
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"
  ]
}
Response  204

Create New Audio Encoder
POST/v2/encoders/aud_encoders

Create a new audio encoder with the specified settings.

Example URI

POST http://ip.address:2020/v2/encoders/aud_encoders
Response  201
HideShow
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 Encoder
DELETE/v2/encoders/aud_encoders/{id}

Delete the specified audio encoder.

Example URI

DELETE http://ip.address:2020/v2/encoders/aud_encoders/0
URI Parameters
HideShow
id
integer (required) Example: 0
Response  204

Data Encoders

Data Encoders

Get Data Encoders List
GET/v2/encoders/data_encoders

Get the list of data encoders present in the device.

Example URI

GET http://ip.address:2020/v2/encoders/data_encoders
Response  200
HideShow
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 Configuration
GET/v2/encoders/data_encoders/{id}

Get the current data encoder settings.

Example URI

GET http://ip.address:2020/v2/encoders/data_encoders/0
URI Parameters
HideShow
id
integer (required) Example: 0
Response  200
HideShow
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 Configuration
PUT/v2/encoders/data_encoders/{id}

Update the current data encoder settings.

Example URI

PUT http://ip.address:2020/v2/encoders/data_encoders/0
URI Parameters
HideShow
id
integer (required) Example: 0
Request
HideShow
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"
  ]
}
Response  204

Create New Data Encoder
POST/v2/encoders/data_encoders

Create a new data encoder with the specified settings.

Example URI

POST http://ip.address:2020/v2/encoders/data_encoders
Request
HideShow
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"
  ]
}
Response  201
HideShow
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 Encoder
DELETE/v2/encoders/data_encoders/{id}

Delete the specified data encoder.

Example URI

DELETE http://ip.address:2020/v2/encoders/data_encoders/0
URI Parameters
HideShow
id
integer (required) Example: 0
Response  204

SCTE-35 Splice Commands

Details of the requests that can be run on SCTE-35 data encoders for splice commands.

Get Splice Commands
GET/v2/encoders/data_encoders/{id}/splice_commands

Get the list of active splice commands.

Example URI

GET http://ip.address:2020/v2/encoders/data_encoders/0/splice_commands
URI Parameters
HideShow
id
integer (required) Example: 0
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "splice_commands": [
    {
      "id": 1,
      "process_time_utc": "1980-01-04T04:20:30.789Z",
      "splice_command": {
        "value": "splice_insert",
        "splice_insert": {
          "splice_event_id": 1,
          "preroll_time_msec": 4000,
          "duration_msec": 30000
        },
        "time_signal": {
          "segmentation_event_id": 1,
          "preroll_time_msec": 4000,
          "segmentation_descriptor": "020F43554549000000017FBF0000300101",
          "segmentation_type_id": 1,
          "segment_num": 1
        }
      }
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "splice_commands": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "process_time_utc": {
            "type": "string"
          },
          "splice_command": {
            "type": "object",
            "properties": {
              "value": {
                "type": "string",
                "enum": [
                  "splice_insert",
                  "time_signal"
                ]
              },
              "splice_insert": {
                "type": "object",
                "properties": {
                  "splice_event_id": {
                    "type": "number"
                  },
                  "preroll_time_msec": {
                    "type": "number"
                  },
                  "duration_msec": {
                    "type": "number"
                  }
                }
              },
              "time_signal": {
                "type": "object",
                "properties": {
                  "segmentation_event_id": {
                    "type": "number"
                  },
                  "preroll_time_msec": {
                    "type": "number"
                  },
                  "segmentation_descriptor": {
                    "type": "string"
                  },
                  "segmentation_type_id": {
                    "type": "number"
                  },
                  "segment_num": {
                    "type": "number"
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

Delete Splice Commands
DELETE/v2/encoders/data_encoders/{id}/splice_commands

Cancel all active splice commands. See description of DELETE for individual splice commands for more detail on how cancelling works.

Example URI

DELETE http://ip.address:2020/v2/encoders/data_encoders/0/splice_commands
URI Parameters
HideShow
id
integer (required) Example: 0
Response  204

Get Splice Command
GET/v2/encoders/data_encoders/{id}/splice_commands/{cmd_id}

Get the details of an active splice command.

Example URI

GET http://ip.address:2020/v2/encoders/data_encoders/0/splice_commands/1
URI Parameters
HideShow
id
integer (required) Example: 0
cmd_id
integer (required) Example: 1
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "process_time_utc": "1980-01-04T04:20:30.789Z",
  "splice_command": {
    "value": "splice_insert",
    "splice_insert": {
      "splice_event_id": 1,
      "preroll_time_msec": 4000,
      "duration_msec": 30000
    },
    "time_signal": {
      "segmentation_event_id": 1,
      "preroll_time_msec": 4000,
      "segmentation_descriptor": "020F43554549000000017FBF0000300101",
      "segmentation_type_id": 1,
      "segment_num": 1
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "number"
    },
    "process_time_utc": {
      "type": "string"
    },
    "splice_command": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "enum": [
            "splice_insert",
            "time_signal"
          ]
        },
        "splice_insert": {
          "type": "object",
          "properties": {
            "splice_event_id": {
              "type": "number"
            },
            "preroll_time_msec": {
              "type": "number"
            },
            "duration_msec": {
              "type": "number"
            }
          }
        },
        "time_signal": {
          "type": "object",
          "properties": {
            "segmentation_event_id": {
              "type": "number"
            },
            "preroll_time_msec": {
              "type": "number"
            },
            "segmentation_descriptor": {
              "type": "string"
            },
            "segmentation_type_id": {
              "type": "number"
            },
            "segment_num": {
              "type": "number"
            }
          }
        }
      }
    }
  }
}

Create Splice Command
POST/v2/encoders/data_encoders/{id}/splice_commands

Create a splice command to insert into the stream. The command will be processed at the given UTC time or immediately if no time is specified.

  • splice_insert - Creates a splice_insert command with the given pre-roll and duration. If pre-roll is not specified, 4 seconds is used. If the duration is not specified, the duration configured in the SCTE-35 encoder will be used. The command will be inserted into the stream at the process time and will be reinserted every 2 seconds of pre-roll for redundancy.

  • time_signal - Creates a time_signal command with the given pre-roll and with the given segmentation descriptor attached. If pre-roll is not specified, 4 seconds is used. The segmentation descriptor is the binary blob of the descriptor data in the form of a hexidecimal string. The command will be inserted into the stream at the process time and will be reinserted every 2 seconds of pre-roll for redundancy.

Example URI

POST http://ip.address:2020/v2/encoders/data_encoders/0/splice_commands
URI Parameters
HideShow
id
integer (required) Example: 0
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "process_time_utc": "1980-01-04T04:20:30.789Z",
  "splice_command": {
    "value": "splice_insert",
    "splice_insert": {
      "preroll_time_msec": 4000,
      "duration_msec": 30000
    },
    "time_signal": {
      "preroll_time_msec": 4000,
      "segmentation_descriptor": "020F43554549000000017FBF0000300101"
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "process_time_utc": {
      "type": "string"
    },
    "splice_command": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "enum": [
            "splice_insert",
            "time_signal"
          ]
        },
        "splice_insert": {
          "type": "object",
          "properties": {
            "preroll_time_msec": {
              "type": "number"
            },
            "duration_msec": {
              "type": "number"
            }
          }
        },
        "time_signal": {
          "type": "object",
          "properties": {
            "preroll_time_msec": {
              "type": "number"
            },
            "segmentation_descriptor": {
              "type": "string"
            }
          },
          "required": [
            "segmentation_descriptor"
          ]
        }
      },
      "required": [
        "value"
      ]
    }
  },
  "required": [
    "splice_command"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "number"
    }
  }
}

Delete Splice Command
DELETE/v2/encoders/data_encoders/{id}/splice_commands/{cmd_id}

Cancel an active splice command.

  • If no splice info sections for the event have been inserted into the stream yet, the active splice command is simply deleted.

  • If splice info sections have been inserted but the event has not occured yet, a cancel splice info section is inserted immediately.

  • (Splice Insert Only) If the splice event has occurred and the duration is under way, an immediate in to network splice_insert is inserted.

Example URI

DELETE http://ip.address:2020/v2/encoders/data_encoders/0/splice_commands/1
URI Parameters
HideShow
id
integer (required) Example: 0
cmd_id
integer (required) Example: 1
Response  204

Synchronous KLV Injection

Details of the requests that can be run on synchronous KLV data encoders for injecting KLV.

Get KLV Requests
GET/v2/encoders/data_encoders/{id}/klv

Get the list of KLV requests.

Example URI

GET http://ip.address:2020/v2/encoders/data_encoders/0/klv
URI Parameters
HideShow
id
integer (required) Example: 0
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "klv": [
    {
      "id": 1,
      "precision_datetime_utc": "1980-01-04T04:20:30.789Z",
      "klv": [
        {
          "value": "blob",
          "blob": "060E2B34010101010105020000000000105965737465726461797320576F726C64",
          "enumerated": {
            "key": "060E2B34010101010105020000000000",
            "length": 16,
            "value": "5965737465726461797320576F726C64"
          }
        }
      ]
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "klv": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "precision_datetime_utc": {
            "type": "string"
          },
          "klv": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string",
                  "enum": [
                    "blob",
                    "enumerated"
                  ]
                },
                "blob": {
                  "type": "string"
                },
                "enumerated": {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string"
                    },
                    "length": {
                      "type": "number"
                    },
                    "value": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

Get KLV Request
GET/v2/encoders/data_encoders/{id}/klv/{klv_id}

Get the details of a KLV request.

Example URI

GET http://ip.address:2020/v2/encoders/data_encoders/0/klv/1
URI Parameters
HideShow
id
integer (required) Example: 0
klv_id
integer (required) Example: 1
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "precision_datetime_utc": "1980-01-04T04:20:30.789Z",
  "klv": [
    {
      "value": "blob",
      "blob": "060E2B34010101010105020000000000105965737465726461797320576F726C64",
      "enumerated": {
        "key": "060E2B34010101010105020000000000",
        "length": 16,
        "value": "5965737465726461797320576F726C64"
      }
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "number"
    },
    "precision_datetime_utc": {
      "type": "string"
    },
    "klv": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "enum": [
              "blob",
              "enumerated"
            ]
          },
          "blob": {
            "type": "string"
          },
          "enumerated": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string"
              },
              "length": {
                "type": "number"
              },
              "value": {
                "type": "string"
              }
            }
          }
        }
      }
    }
  }
}

Update KLV Request
PUT/v2/encoders/data_encoders/{id}/klv/{klv_id}

Update the details of a KLV request. Individual KLV within the original request is not added or removed. The KLV data is replaced wholesale.

Example URI

PUT http://ip.address:2020/v2/encoders/data_encoders/0/klv/1
URI Parameters
HideShow
id
integer (required) Example: 0
klv_id
integer (required) Example: 1
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "precision_datetime_utc": "1980-01-04T04:20:30.789Z",
  "klv": [
    {
      "value": "blob",
      "blob": "060E2B34010101010105020000000000105965737465726461797320576F726C64",
      "enumerated": {
        "key": "060E2B34010101010105020000000000",
        "value": "5965737465726461797320576F726C64"
      }
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "precision_datetime_utc": {
      "type": "string"
    },
    "klv": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "enum": [
              "blob",
              "enumerated"
            ]
          },
          "blob": {
            "type": "string"
          },
          "enumerated": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string"
              },
              "value": {
                "type": "string"
              }
            },
            "required": [
              "key",
              "value"
            ]
          }
        },
        "required": [
          "value"
        ]
      }
    }
  },
  "required": [
    "klv"
  ]
}
Response  204

Create KLV Request
POST/v2/encoders/data_encoders/{id}/klv

Create a request to inject KLV into the stream. The KLV will be associated with the video frame that has an MISB 604 Precision Time Stamp matching closest to the the given UTC time.

The format of the KLV in transport streams will follow ISO/IEC 13818-1 Metadata AU Wrapper. The first Metadata AU Cell will be the MISB 0601 KLV containing the Precision Time Stamp, which will be followed by subsequent Metadata AU Cells for each KLV listed in the request.

  • precision_datetime_utc - The UTC time to associate the KLV with. It will be paired with the video frame with closest matching time.

    • Time should be specified as ISO 8601 in UTC (i.e. “yyyy-mm-ddTHH:MM:SS.mmmZ”).
    • This field is optional and if not specified, the command will be inserted immediately.
    • If the time given is up to 1 minute in the past, then the command will be inserted immediately. Otherwise, it will be rejected and an error returned.
    • If two separate requests have a precision time matching to the same video frame, they will still be tracked separately, but both will be included in the same KLV frame.
  • klv - An array of KLV to insert into the stream. They are all inserted into the stream at the same time and associated to the same video frame using precision_datetime_utc. Each KLV object can be specified using multiple formats. value is the distinguishing field for format and indicates what corresponding object is being used (e.g. blob).

  • blob - A hexadecimal string containing the full KLV data in the form of a binary blob. KLV data must conform to SMPTE-336.

  • enumerated

    • key - A hexadecimal string containing the 16 byte KLV key in the form of a binary blob. Key must conform to SMPTE-336.
    • value - A hexadecimal string containing the KLV value in the form of a binary blob. Value must conform to SMPTE-336.

Example URI

POST http://ip.address:2020/v2/encoders/data_encoders/0/klv
URI Parameters
HideShow
id
integer (required) Example: 0
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "precision_datetime_utc": "1980-01-04T04:20:30.789Z",
  "klv": [
    {
      "value": "blob",
      "blob": "060E2B34010101010105020000000000105965737465726461797320576F726C64",
      "enumerated": {
        "key": "060E2B34010101010105020000000000",
        "value": "5965737465726461797320576F726C64"
      }
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "precision_datetime_utc": {
      "type": "string"
    },
    "klv": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "enum": [
              "blob",
              "enumerated"
            ]
          },
          "blob": {
            "type": "string"
          },
          "enumerated": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string"
              },
              "value": {
                "type": "string"
              }
            },
            "required": [
              "key",
              "value"
            ]
          }
        },
        "required": [
          "value"
        ]
      }
    }
  },
  "required": [
    "klv"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "number"
    }
  }
}

Delete KLV Request
DELETE/v2/encoders/data_encoders/{id}/klv/{klv_id}

Delete a KLV request.

Example URI

DELETE http://ip.address:2020/v2/encoders/data_encoders/0/klv/1
URI Parameters
HideShow
id
integer (required) Example: 0
klv_id
integer (required) Example: 1
Response  204

Data Encoder Actions

Details of specific actions that can be run on data encoders.

SCTE-35 - Insert Splice
POST/v2/encoders/data_encoders/{id}/action/insert_splice

Legacy endpoint. 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

POST http://ip.address:2020/v2/encoders/data_encoders/0/action/insert_splice
URI Parameters
HideShow
id
integer (required) Example: 0
Response  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 List
GET/v2/out_streams

Get the list of streaming outputs.

Example URI

GET http://ip.address:2020/v2/out_streams
Response  200
HideShow
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 Output
GET/v2/out_streams/{id}

Get the state of a single streaming output

Example URI

GET http://ip.address:2020/v2/out_streams/0
URI Parameters
HideShow
id
integer (required) Example: 0
Response  200
HideShow
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,
      "encryption_enabled": true,
      "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"
            },
            "encryption_enabled": {
              "type": "boolean"
            },
            "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",
            "encryption_enabled",
            "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 Output
PUT/v2/out_streams/{id}

Update the state of a single encoder streaming output

Example URI

PUT http://ip.address:2020/v2/out_streams/0
URI Parameters
HideShow
id
integer (required) Example: 0
Request
HideShow
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,
      "encryption_enabled": true,
      "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"
            },
            "encryption_enabled": {
              "type": "boolean"
            },
            "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",
            "encryption_enabled"
          ]
        },
        "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"
  ]
}
Response  204

Output Actions

Details of specific actions that can be run on streaming outputs.

General Output Actions
POST/v2/out_streams/{id}/action/{action_name}

Run action for output, often supported by RTMP outputs, to support third-party API calls.

Example URI

POST http://ip.address:2020/v2/out_streams/0/action/pair, account_info, streamlist, authenticate_ftp
URI Parameters
HideShow
id
integer (required) Example: 0
action_name
string (required) Example: pair, account_info, streamlist, authenticate_ftp
Response  200

File Record - Validate FTP
POST/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

POST http://ip.address:2020/v2/out_streams/0/action/authenticate_ftp
URI Parameters
HideShow
id
integer (required) Example: 0
Request
HideShow
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"
    }
  }
}
Response  200
HideShow
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 Devices
GET/v2/storage

Get a list of storage devices.

Example URI

GET http://ip.address:2020/v2/storage
Response  200
HideShow
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 Info
GET/v2/storage/{devno}

Get storage device information for the specified device.

Example URI

GET http://ip.address:2020/v2/storage/2145
URI Parameters
HideShow
devno
integer (required) Example: 2145
Response  200
HideShow
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 Device
POST/v2/storage/{devno}/unmount

Unmount the specified device.

Example URI

POST http://ip.address:2020/v2/storage/2145/unmount
URI Parameters
HideShow
devno
integer (required) Example: 2145
Response  200

Format Storage Device
POST/v2/storage/{devno}/format

Format the specified device.

Example URI

POST http://ip.address:2020/v2/storage/2145/format
URI Parameters
HideShow
devno
integer (required) Example: 2145
Response  200

XML

XML

Get XML Settings
GET/v2/xml

Get the XML polling settings for the device.

Example URI

GET http://ip.address:2020/v2/xml
Response  200
HideShow
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 Settings
PUT/v2/xml

Update the XML polling settings for the device.

Example URI

PUT http://ip.address:2020/v2/xml
Request
HideShow
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"
  ]
}
Response  204

Generated by aglio on 21 Dec 2022