Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found
in /home/monara/public_html/test.athavaneng.com/themes.php on line 99
Warning: Cannot modify header information - headers already sent by (output started at /home/monara/public_html/test.athavaneng.com/themes.php:1) in /home/monara/public_html/test.athavaneng.com/themes.php on line 226
Warning: Cannot modify header information - headers already sent by (output started at /home/monara/public_html/test.athavaneng.com/themes.php:1) in /home/monara/public_html/test.athavaneng.com/themes.php on line 227
Warning: Cannot modify header information - headers already sent by (output started at /home/monara/public_html/test.athavaneng.com/themes.php:1) in /home/monara/public_html/test.athavaneng.com/themes.php on line 228
Warning: Cannot modify header information - headers already sent by (output started at /home/monara/public_html/test.athavaneng.com/themes.php:1) in /home/monara/public_html/test.athavaneng.com/themes.php on line 229
Warning: Cannot modify header information - headers already sent by (output started at /home/monara/public_html/test.athavaneng.com/themes.php:1) in /home/monara/public_html/test.athavaneng.com/themes.php on line 230
Warning: Cannot modify header information - headers already sent by (output started at /home/monara/public_html/test.athavaneng.com/themes.php:1) in /home/monara/public_html/test.athavaneng.com/themes.php on line 231
{
"openapi": "3.1.0",
"info": {
"contact": {
"email": "support@flussonic.com",
"name": "Support team",
"url": "https://flussonic.com/"
},
"description": "This document is an API for chassis management system\n",
"title": "Chassis management API",
"version": "1.2.3"
},
"components": {
"schemas": {
"memory_stats": {
"type": "object",
"properties": {
"free": {
"type": "integer",
"format": "bytes",
"description": "Free RAM available",
"x-format-description": "bytes"
},
"swap": {
"type": "integer",
"format": "bytes",
"description": "Total swap memory allocated",
"x-format-description": "bytes"
},
"swap_free": {
"type": "integer",
"format": "bytes",
"description": "Free swap memory available",
"x-format-description": "bytes"
},
"total": {
"type": "integer",
"format": "bytes",
"description": "Total RAM allocated",
"x-format-description": "bytes"
}
}
},
"scheduler_stats": {
"type": "object",
"properties": {
"cpu": {
"type": "integer",
"description": "Scheduler utilization of a dirty-cpu scheduler"
},
"io": {
"type": "integer",
"description": "Scheduler utilization of a dirty-io scheduler"
},
"normal": {
"type": "integer",
"description": "Scheduler utilization of a normal scheduler"
},
"total": {
"type": "integer",
"description": "Total utilization of all normal and dirty-cpu schedulers"
}
}
},
"collection_response": {
"type": "object",
"properties": {
"estimated_count": {
"description": "Estimated total number of records for the query (regardless of the cursors).\n",
"type": "integer",
"example": 5
},
"next": {
"description": "Next cursor: a properly encoded equivalent of offset allowing to read the next bunch of items.\nLearn more in [Flussonic API design principles](https://flussonic.com/doc/rest-api-guidelines/#api-http-collections-cursor).\n",
"example": "JTI0cG9zaXRpb25fZ3Q9MA==",
"type": "string"
},
"prev": {
"description": "Previous cursor: a properly encoded equivalent of offset allowing to read the previous bunch of items.\nLearn more in [Flussonic API design principles](https://flussonic.com/doc/rest-api-guidelines/#api-http-collections-cursor).\n",
"example": "JTI0cG9zaXRpb25fbHQ9MSYlMjRyZXZlcnNlZD10cnVl",
"type": "string"
},
"timing": {
"description": "An object with a list of different timings measured during this API call.",
"type": "object"
}
}
},
"error_response": {
"type": "object",
"properties": {
"errors": {
"description": "List of structured errors",
"type": "array",
"items": {
"$ref": "#/components/schemas/error"
}
},
"error": {
"type": "string",
"deprecated": true,
"x-delete-at": 23.09,
"x-private": true,
"description": "This is how flussonic serves errors right now. To be removed as we migrate to new format\n"
}
}
},
"error": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "a unique identifier for this particular occurrence of the problem\n"
},
"status": {
"type": "string",
"description": "the HTTP status code applicable to this problem, expressed as a string value\n"
},
"code": {
"type": "string",
"description": "an application-specific error code, expressed as a string value\n"
},
"title": {
"type": "string",
"description": "a short, human-readable summary of the problem that SHOULD NOT change from\noccurrence to occurrence of the problem, except for purposes of localization\n"
},
"source": {
"description": "an object containing references to the source of the error\n",
"type": "object",
"properties": {
"pointer": {
"type": "string",
"description": "a JSON Pointer [RFC6901] to the associated entity in the request document\n[e.g. `\"/data\"` for a primary data object, or `\"/data/attributes/title\"` for a specific attribute].\n"
},
"parameter": {
"type": "string",
"description": "a string indicating which URI query parameter caused the error."
}
}
},
"meta": {
"type": "object",
"description": "a meta object containing non-standard meta-information about the error.\n",
"additionalProperties": {
"type": "string"
}
}
}
},
"network_port": {
"maximum": 65535,
"minimum": 0,
"type": "integer"
},
"listen_spec": {
"anyOf": [
{
"allOf": [
{
"$ref": "#/components/schemas/network_port"
}
]
},
{
"type": "string",
"format": "hostport",
"x-format-description": "Hostname with port"
}
]
},
"network_addr": {
"type": "string",
"minLength": 1
},
"network_mask": {
"type": "integer",
"minimum": 1,
"maximum": 32
},
"interface_mode": {
"enum": [
"static",
"dynamic"
],
"type": "string"
},
"chassis_config": {
"type": "object",
"properties": {
"product_name": {
"description": "Coder product name",
"allOf": [
{
"$ref": "#/components/schemas/chassis_product"
}
],
"readOnly": true
},
"api_port": {
"description": "Private port for API requests to the chassis from coders.",
"allOf": [
{
"$ref": "#/components/schemas/listen_spec"
}
],
"readOnly": true
},
"auto_reboot": {
"description": "Shows if auto restart of coders when (re)starting chassis is enabled.",
"type": "boolean",
"default": false,
"readOnly": true
},
"dhcpd_iface": {
"description": "Network interface for automatic reception of IP address from DHCP server. \nThis interface will be used for launching coders.\n",
"type": "string",
"format": "interface_name",
"readOnly": true,
"x-format-description": "interface_name"
},
"dhcpd_port": {
"description": "Source port for DHCP requests.",
"allOf": [
{
"$ref": "#/components/schemas/listen_spec"
}
],
"readOnly": true
},
"dhcpd_port_dest": {
"description": "Destination port for DHCP requests.",
"allOf": [
{
"$ref": "#/components/schemas/listen_spec"
}
],
"readOnly": true
},
"lcd": {
"description": "Shows if LCD monitor capabilities are enabled in the firmware.",
"type": "boolean",
"default": false,
"readOnly": true
},
"ntpd_iface": {
"description": "Network interface for NTP daemon.",
"type": "string",
"format": "interface_name",
"readOnly": true,
"x-format-description": "interface_name"
},
"ntpd_port": {
"description": "Port for NTP daemon.",
"allOf": [
{
"$ref": "#/components/schemas/listen_spec"
}
],
"readOnly": true
},
"tftp_port": {
"description": "Port for TFTP used for loading program core to the coders.",
"allOf": [
{
"$ref": "#/components/schemas/listen_spec"
}
],
"readOnly": true
},
"tftp_root": {
"description": "TFTP root directory.",
"type": "string",
"format": "disk_path",
"readOnly": true,
"x-format-description": "disk_path"
},
"update_channel": {
"description": "Update channel specified in the config file.",
"type": "string",
"readOnly": true
},
"firmware_host": {
"description": "URL for downloading firmware.",
"type": "string",
"format": "url",
"readOnly": true,
"x-format-description": "url"
},
"firmware_version": {
"description": "Firmware version installed on the device.",
"allOf": [
{
"$ref": "#/components/schemas/chassis_version"
}
],
"readOnly": true
},
"firmware_boot_dir": {
"description": "Directory to boot the device from. This is also where the firmware is downloaded on updates.",
"type": "string",
"format": "disk_path",
"readOnly": true,
"x-format-description": "disk_path"
},
"stats": {
"description": "Statistics of the chassis connections.",
"allOf": [
{
"$ref": "#/components/schemas/chassis_stats"
}
],
"readOnly": true
},
"restart_coder_timeout": {
"description": "Timeout for restarting coders.",
"type": "integer",
"readOnly": true
},
"hostname": {
"description": "The name of the chassis server.",
"type": "string",
"format": "server_name",
"example": "coder1.example.com",
"x-format-description": "server_name"
},
"default_gateway_interface": {
"description": "If `default_gateway` parameters are set the individual interfaces config, \nthis gateway is only used for checking license and updates. \nOtherwise, it is used as gateway for all traffic.\n",
"type": "string",
"example": "streaming"
},
"ntp_servers": {
"description": "List of NTP server host names or IP addresses",
"type": "array",
"items": {
"type": "string"
}
}
}
},
"chassis_stats": {
"type": "object",
"properties": {
"dhcp": {
"description": "DHCP statistics.",
"allOf": [
{
"$ref": "#/components/schemas/chassis_dhcpd_stats"
}
],
"x-private": true
},
"tftp": {
"description": "TFTP statistics.",
"allOf": [
{
"$ref": "#/components/schemas/chassis_tftp_stats"
}
],
"x-private": true
},
"ntpd": {
"description": "NTP daemon statistics.",
"allOf": [
{
"$ref": "#/components/schemas/chassis_ntpd_stats"
}
],
"x-private": true
},
"model": {
"description": "The chassis model name.",
"type": "string",
"example": "chassis_model"
},
"version": {
"description": "Full version number of the firmware. Deprecated. Version could be found at `chassis_config/firmware_version`",
"deprecated": true,
"x-delete-at": "24.10",
"allOf": [
{
"$ref": "#/components/schemas/chassis_version"
}
],
"example": "21.09.1-234"
},
"next_version": {
"deprecated": true,
"x-delete-at": "24.10",
"description": "The latest available version of the firmware, if any. Deprecated. Last available version could be obtained from `chassis_firmwares_list`",
"allOf": [
{
"$ref": "#/components/schemas/chassis_version"
}
]
},
"serial_number": {
"description": "The serial number of the chassis.",
"type": "string",
"example": "2174220024"
},
"hardware_id": {
"description": "MAC address of the manage0 interface.",
"type": "string"
},
"hostname": {
"type": "string",
"description": "Hostname of the server.",
"example": "coder1.example.com"
},
"ntp_clock_synchronized": {
"type": "boolean",
"description": "Whether a system clock synchronized with NTP server"
},
"system_time": {
"type": "number",
"format": "utc_ms",
"description": "Chassis system time (in UTC milliseconds)",
"x-format-description": "Unix timestamp in milliseconds",
"minimum": 1000000000000,
"maximum": 10000000000000
}
}
},
"interface_config": {
"type": "object",
"properties": {
"name": {
"description": "Interface name.",
"type": "string",
"format": "interface_name",
"example": "streaming",
"readOnly": true,
"x-format-description": "interface_name"
},
"ip": {
"description": "IP address assigned to the interface.",
"allOf": [
{
"$ref": "#/components/schemas/network_addr"
}
],
"example": "10.10.10.9"
},
"mask": {
"description": "Subnet mask.",
"allOf": [
{
"$ref": "#/components/schemas/network_mask"
}
],
"example": 24
},
"gw": {
"description": "Primary gateway address.",
"allOf": [
{
"$ref": "#/components/schemas/network_addr"
}
],
"example": "10.10.10.10"
},
"dns": {
"description": "IP address of the DNS server.",
"type": "array",
"items": {
"$ref": "#/components/schemas/network_addr"
}
},
"mode": {
"description": "The way of assigning network settings to the interface.",
"allOf": [
{
"$ref": "#/components/schemas/interface_mode"
}
]
},
"running": {
"description": "Shows if the interface is currently active.",
"type": "boolean"
},
"rp_filter": {
"description": "Shows if reverse path filtering is enabled.",
"type": "boolean"
},
"default_gateway": {
"description": "Default gateway where the traffic will be sent to\nin response to requests (API, HLS, etc.) received on this interface.\n\nIf not set, the `default_gateway_interface` is used.\n",
"allOf": [
{
"$ref": "#/components/schemas/network_addr"
}
]
},
"disk_config_error": {
"description": "Indicates if there are any errors in the interface configuration.",
"type": "boolean"
},
"disk_config_path": {
"description": "Path to the interface config file.",
"type": "string"
},
"stats": {
"description": "Interface statistics.",
"allOf": [
{
"$ref": "#/components/schemas/interface_stats"
}
],
"readOnly": true
}
}
},
"interface_stats": {
"type": "object",
"properties": {
"blinking": {
"description": "Shows if interface blinking is enabled.",
"type": "boolean",
"default": false
},
"hw": {
"description": "MAC address of the interface.",
"type": "string",
"format": "interface_hwaddr",
"example": "00:1b:63:84:45:e6",
"x-format-description": "interface_hwaddr"
},
"ip": {
"description": "IP address of the interface.",
"allOf": [
{
"$ref": "#/components/schemas/network_addr"
}
],
"example": "10.10.10.9"
},
"mask": {
"description": "Subnet mask of the interface.",
"allOf": [
{
"$ref": "#/components/schemas/network_mask"
}
],
"example": 24
},
"gw": {
"description": "Gateway address.",
"allOf": [
{
"$ref": "#/components/schemas/network_addr"
}
],
"example": "10.10.10.10"
},
"dns": {
"description": "DNS server address.",
"type": "array",
"items": {
"$ref": "#/components/schemas/network_addr"
}
},
"mode": {
"description": "The way of assigning network settings to the interface.",
"allOf": [
{
"$ref": "#/components/schemas/interface_mode"
}
]
},
"running": {
"description": "Shows if the interface is currently active.",
"type": "boolean"
},
"up": {
"description": "Shows if the interface is up.",
"type": "boolean"
}
}
},
"chassis_dhcpd_stats": {
"type": "object",
"properties": {
"error": {
"description": "The error code, if any.",
"type": "string",
"enum": [
"listen_failure",
"port_busy",
"no_interface"
]
},
"leases": {
"description": "The list of leased IP addresses.",
"type": "array",
"items": {
"type": "object",
"properties": {
"mac": {
"description": "MAC address corresponding to the IP address.",
"type": "string"
},
"ip": {
"description": "IP address.",
"type": "string"
},
"count": {
"description": "The number of uses.",
"type": "integer"
},
"last_seen_at": {
"description": "When the IP address was used the last time.",
"type": "integer"
}
}
},
"default": []
}
}
},
"chassis_tftp_stats": {
"type": "object",
"properties": {
"error": {
"description": "Error code, if any.",
"type": "string",
"enum": [
"listen_failure",
"port_busy",
"no_interface"
]
},
"file_count": {
"description": "The number of files sent over TFTP.",
"type": "integer"
},
"sent_bytes": {
"description": "The number of bytes sent over TFTP.",
"type": "integer"
}
}
},
"chassis_ntpd_stats": {
"type": "object",
"properties": {
"port": {
"description": "The port used for NTP daemon.",
"type": "integer"
},
"requests_count": {
"description": "The number of requests sent.",
"type": "integer"
}
}
},
"coder_stream_stats": {
"type": "object",
"properties": {
"name": {
"description": "The stream name.",
"type": "string",
"format": "media_name",
"x-format-description": "media_name"
},
"bitstream_err_count": {
"description": "The number of input stream errors.",
"type": "integer"
},
"dec_err_count": {
"description": "The number of decoding errors.",
"type": "integer"
},
"dec_timing": {
"description": "Raw image decoding time.",
"type": "integer"
},
"enc_timing": {
"description": "Raw image encoding time, including the time of sending the image to the encoder.",
"type": "integer"
},
"encoders": {
"description": "The number of encoders.",
"type": "integer"
},
"fps_in": {
"description": "Actual input fps.",
"type": "integer"
},
"fps_out": {
"description": "Actual output fps.",
"type": "integer",
"example": 25
},
"mqlen": {
"description": "Transcoder process queue length.",
"type": "integer"
}
}
},
"chassis_product": {
"type": "string",
"oneOf": [
{
"title": "Coder",
"const": "coder_transcoder",
"description": "Basic coder with transcoding support"
},
{
"title": "Vision Coder",
"const": "coder_vision",
"description": "Coder with video analytic support"
},
{
"title": "DVB Coder",
"const": "coder_dvb",
"description": "Basic coder with transcoding support and DVB output"
}
]
},
"chassis_firmware_info": {
"type": "object",
"properties": {
"version": {
"allOf": [
{
"$ref": "#/components/schemas/chassis_version"
}
],
"description": "Full version number of the downloaded firmware.",
"example": "21.09.1-234"
},
"channel": {
"type": "string",
"description": "Update channel: release, master or anything else.\n"
},
"download_progress": {
"description": "Download progress (percentage). If exists, then it is downloading right now.",
"type": "integer",
"minimum": 0,
"maximum": 100
},
"downloaded": {
"type": "boolean",
"default": false,
"description": "Whether firmware is already downloaded and ready to be used."
},
"current": {
"type": "boolean",
"default": false,
"description": "Whether the firmware is currently running."
},
"selected": {
"type": "boolean",
"default": false,
"description": "Whether the firmware is selected for the next boot."
}
}
},
"chassis_version": {
"type": "string"
},
"chassis_disk": {
"type": "object",
"properties": {
"disk_id": {
"description": "Internal disk identificator which is assigned to each plugged disk.\nThere are symlinks like `/dev/` which target to the `/dev/` or `/dev/` devices.\nIt used to map original devices to it's chassis bay positions. The number part of `disk_id` is the bay position number.\n",
"example": "storage001",
"type": "string"
},
"mount_point": {
"description": "The mount point of the disk first partition.",
"example": "/mnt/storage001",
"type": "string"
},
"formatted": {
"description": "Shows if disk has one partition of ext4 and suitable to use for DVR",
"type": "boolean"
}
}
},
"coder_config": {
"type": "object",
"properties": {
"coder": {
"description": "The coder ID.",
"type": "integer"
},
"stats": {
"description": "The coder statistics.",
"allOf": [
{
"$ref": "#/components/schemas/coder_stats"
}
]
}
},
"required": [
"coder"
]
},
"coder_stats": {
"type": "object",
"properties": {
"instance_id": {
"description": "Instance ID generated on each coder restart.",
"type": "string",
"format": "uuid",
"x-format-description": "uuid"
},
"boot_at": {
"description": "The date and time the device was booted.",
"type": "number",
"format": "utc_ms",
"x-format-description": "Unix timestamp in milliseconds",
"minimum": 1000000000000,
"maximum": 10000000000000
},
"powered_at": {
"description": "The date and time the device was powered.",
"type": "number",
"format": "utc_ms",
"x-format-description": "Unix timestamp in milliseconds",
"minimum": 1000000000000,
"maximum": 10000000000000
},
"dhcp_at": {
"description": "The date and time the device received network settings over DHCP.",
"type": "number",
"format": "utc_ms",
"x-format-description": "Unix timestamp in milliseconds",
"minimum": 1000000000000,
"maximum": 10000000000000
},
"nfs_at": {
"description": "The date and time the device connected to NFS.",
"type": "number",
"format": "utc_ms",
"x-format-description": "Unix timestamp in milliseconds",
"minimum": 1000000000000,
"maximum": 10000000000000
},
"connected_at": {
"description": "The date and time when the coder connected to the chassis.",
"type": "number",
"format": "utc_ms",
"x-format-description": "Unix timestamp in milliseconds",
"minimum": 1000000000000,
"maximum": 10000000000000
},
"updated_at": {
"description": "The date and time when any data was last received from the coder.",
"type": "number",
"format": "utc_ms",
"x-format-description": "Unix timestamp in milliseconds",
"minimum": 1000000000000,
"maximum": 10000000000000
},
"scheduler": {
"description": "Scheduler statistics.",
"allOf": [
{
"$ref": "#/components/schemas/scheduler_stats"
}
]
},
"cpu_usage": {
"description": "CPU usage on the coder.",
"type": "integer",
"format": "percent",
"x-format-description": "percent"
},
"load": {
"description": "The coder system load.",
"type": "number",
"example": 74
},
"mc_all": {
"description": "Memory controller throughput.",
"type": "integer"
},
"memory": {
"description": "Memory consumption on the coder.",
"allOf": [
{
"$ref": "#/components/schemas/memory_stats"
}
]
},
"power": {
"description": "Power consumption on the coder.",
"type": "integer",
"example": 70000
},
"serial_number": {
"description": "Serial number of the coder.",
"type": "string",
"example": "2174220024"
},
"temperature": {
"description": "Temperature on the coder.",
"type": "integer",
"format": "celsius",
"example": 20,
"x-format-description": "celsius"
},
"uptime": {
"description": "Period of time since the last restart of the coder.",
"type": "number",
"format": "milliseconds",
"x-format-description": "milliseconds"
},
"streams": {
"description": "The list of streams on the coder.",
"type": "array",
"items": {
"$ref": "#/components/schemas/coder_stream_stats"
},
"default": []
},
"status": {
"description": "The coder status.",
"type": "string",
"enum": [
"unknown",
"offline",
"rebooting",
"booting",
"working"
],
"example": "working"
},
"reboot_allowed": {
"description": "Shows if restart button is available for the coder in the UI.",
"default": true,
"type": "boolean"
}
}
},
"chassis_backup": {
"type": "object",
"properties": {
"name": {
"description": "The backup name.",
"type": "string"
},
"size": {
"description": "The backup size.",
"type": "integer"
},
"data": {
"description": "The backup data.",
"type": "string",
"format": "byte",
"x-format-description": "byte"
}
},
"required": [
"name"
]
},
"chassis_blink": {
"type": "object",
"properties": {
"blinking": {
"description": "Enables the interface blinking.",
"type": "boolean"
}
}
},
"chassis_ping_request": {
"type": "object",
"properties": {
"ip": {
"description": "IP address to send ping request.",
"allOf": [
{
"$ref": "#/components/schemas/network_addr"
}
]
},
"iface": {
"description": "Interface via which to send ping.",
"type": "string",
"format": "interface_name",
"x-format-description": "interface_name"
},
"limit": {
"description": "Limit to the number of packages sent.",
"type": "integer"
},
"delay": {
"description": "The delay between packages.",
"type": "number",
"format": "milliseconds",
"x-format-description": "milliseconds"
}
},
"required": [
"ip"
]
},
"chassis_ping_response": {
"type": "object",
"properties": {
"count": {
"description": "The number of packages sent.",
"type": "integer"
},
"drop_count": {
"description": "The number of packages dropped.",
"type": "integer"
},
"min_rtt": {
"description": "The minimum Round Trip Time.",
"type": "integer"
},
"max_rtt": {
"description": "The maximum Round Trip Time.",
"type": "integer"
},
"avg_rtt": {
"description": "Average Round Trip Time.",
"type": "integer"
},
"raw": {
"description": "Raw output of the ping command.",
"type": "string"
}
}
},
"chassis_firmwares_list": {
"allOf": [
{
"$ref": "#/components/schemas/collection_response"
},
{
"type": "object",
"properties": {
"firmwares": {
"description": "The list of firmwares stored on the device.",
"type": "array",
"items": {
"$ref": "#/components/schemas/chassis_firmware_info"
}
}
}
}
]
},
"chassis_interfaces_list": {
"allOf": [
{
"$ref": "#/components/schemas/collection_response"
},
{
"type": "object",
"properties": {
"interfaces": {
"description": "The list of interfaces.",
"type": "array",
"items": {
"$ref": "#/components/schemas/interface_config"
}
}
}
}
]
},
"chassis_disks_list": {
"allOf": [
{
"$ref": "#/components/schemas/collection_response"
},
{
"type": "object",
"properties": {
"disks": {
"description": "The list of disks installed in the chassis.",
"type": "array",
"items": {
"$ref": "#/components/schemas/chassis_disk"
}
}
}
}
]
},
"chassis_coders_list": {
"allOf": [
{
"$ref": "#/components/schemas/collection_response"
},
{
"type": "object",
"properties": {
"coders": {
"description": "The list of coders.",
"type": "array",
"items": {
"$ref": "#/components/schemas/coder_config"
}
}
}
}
]
},
"chassis_backups_list": {
"allOf": [
{
"$ref": "#/components/schemas/collection_response"
},
{
"type": "object",
"properties": {
"backups": {
"description": "The list of chassis backups.",
"type": "array",
"items": {
"$ref": "#/components/schemas/chassis_backup"
}
}
}
}
]
}
},
"securitySchemes": {
"basicAuth": {
"scheme": "basic",
"type": "http"
},
"bearerAuth": {
"bearerFormat": "JWT",
"scheme": "bearer",
"type": "http"
}
}
},
"paths": {
"/chassis": {
"get": {
"operationId": "chassis_get",
"description": "Get chassis config.",
"summary": "Get chassis config",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/chassis_config"
}
}
},
"description": "Returns chassis config"
}
},
"tags": [
"chassis_config"
]
},
"put": {
"operationId": "chassis_save",
"summary": "Save chassis config",
"description": "Partial chassis configuration",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/chassis_config"
}
}
}
},
"responses": {
"200": {
"description": "Updated chassis config",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/chassis_config"
}
}
}
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error_response"
}
}
},
"description": "Specified default interface not found or not configured"
}
},
"tags": [
"chassis_config"
]
}
},
"/chassis/reboot": {
"post": {
"description": "Reboot chassis",
"operationId": "chassis_reboot",
"summary": "Reboot chassis",
"responses": {
"204": {
"description": "Response"
}
},
"tags": [
"chassis_control"
]
}
},
"/chassis/firmwares": {
"get": {
"description": "Downloaded firmwares list",
"operationId": "chassis_firmwares_list",
"summary": "List available firmwares",
"parameters": [
{
"description": "Check in repository",
"in": "query",
"name": "force_update",
"required": false,
"schema": {
"example": false,
"type": "boolean"
},
"style": "form"
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/chassis_firmwares_list"
}
}
},
"description": "Response"
}
},
"tags": [
"chassis_firmware"
],
"x-collection-type": "chassis_firmware_info",
"x-collection-name": "firmwares"
}
},
"/chassis/firmwares/download": {
"post": {
"description": "Start downloading",
"operationId": "chassis_firmware_download_create",
"summary": "Download firmware",
"parameters": [
{
"description": "firmware version",
"in": "query",
"name": "version",
"required": true,
"schema": {
"example": "21.09-204",
"type": "string"
}
},
{
"description": "download channel",
"in": "query",
"name": "channel",
"schema": {
"example": "lanner/master",
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Downloaded firmware",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/chassis_firmware_info"
}
}
}
}
},
"tags": [
"chassis_firmware"
]
},
"delete": {
"description": "Stop downloading",
"operationId": "chassis_firmware_download_delete",
"summary": "Stop downloading",
"responses": {
"204": {
"description": "Download stopped"
}
},
"tags": [
"chassis_firmware"
]
}
},
"/chassis/firmwares/upload": {
"put": {
"operationId": "chassis_firmware_upload",
"description": "Upload firmware",
"summary": "Upload firmware",
"requestBody": {
"description": "firmware",
"content": {
"multipart/form-data": {
"schema": {
"type": "object",
"properties": {
"file": {
"description": "The array of firmware component files.",
"type": "array",
"items": {
"type": "string",
"format": "binary",
"x-format-description": "binary"
}
}
}
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/chassis_firmware_info"
}
}
},
"description": "Response"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error_response"
}
}
},
"description": "Bad firmware"
}
},
"tags": [
"chassis_firmware"
]
}
},
"/chassis/firmwares/install": {
"post": {
"operationId": "chassis_firmware_install",
"summary": "Install firmware",
"description": "Install firmware for specific version",
"parameters": [
{
"description": "firmware version",
"in": "query",
"name": "version",
"required": true,
"schema": {
"example": "21.09-204",
"type": "string"
}
},
{
"description": "download channel",
"in": "query",
"name": "channel",
"schema": {
"example": "lanner/master",
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Downloaded and installed firmware",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/chassis_firmware_info"
}
}
}
}
},
"tags": [
"chassis_firmware"
]
}
},
"/chassis/firmwares/{version}": {
"delete": {
"description": "Delete the downloaded firmware by its version",
"operationId": "chassis_firmware_delete",
"summary": "Delete firmware",
"parameters": [
{
"description": "firmware version",
"in": "path",
"name": "version",
"required": true,
"schema": {
"example": "abc",
"type": "string"
},
"style": "simple"
}
],
"responses": {
"204": {
"description": "Deleted"
}
},
"tags": [
"chassis_firmware"
]
}
},
"/chassis/interfaces": {
"get": {
"description": "Interfaces list",
"operationId": "chassis_interfaces_list",
"summary": "List NICs",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/chassis_interfaces_list"
}
}
},
"description": "Response"
}
},
"tags": [
"chassis_interface"
],
"x-collection-type": "interface_config",
"x-collection-name": "interfaces"
}
},
"/chassis/interfaces/{name}": {
"parameters": [
{
"description": "interface name",
"in": "path",
"name": "name",
"required": true,
"schema": {
"example": "coder1",
"type": "string"
},
"style": "simple"
}
],
"get": {
"operationId": "chassis_interface_get",
"description": "Get the configuration of a specific network interface.",
"summary": "Get NIC",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/interface_config"
}
}
},
"description": "Response"
}
},
"tags": [
"chassis_interface"
]
},
"put": {
"operationId": "chassis_interface_save",
"description": "Update the configuration of a specific network interface.",
"summary": "Save NIC",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/interface_config"
}
}
},
"description": "Request"
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/interface_config"
}
}
},
"description": "Response"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error_response"
}
}
},
"description": "Couldn't save"
}
},
"tags": [
"chassis_interface"
]
}
},
"/chassis/interfaces/{name}/blink": {
"parameters": [
{
"description": "interface name",
"in": "path",
"name": "name",
"required": true,
"schema": {
"example": "coder1",
"type": "string"
},
"style": "simple"
}
],
"get": {
"operationId": "chassis_interface_blink_get",
"description": "Get the status of interface blinking.",
"summary": "Get blink status",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/chassis_blink"
}
}
},
"description": "Response"
}
},
"tags": [
"chassis_interface"
]
},
"put": {
"operationId": "chassis_interface_blink_save",
"description": "Setup interface blinking.",
"summary": "Set blink status",
"responses": {
"204": {
"description": "Response"
}
},
"tags": [
"chassis_interface"
]
},
"delete": {
"description": "Disable interface blinking.",
"operationId": "chassis_interface_blink_delete",
"summary": "Disable blink",
"responses": {
"204": {
"description": "Response"
}
},
"tags": [
"chassis_interface"
]
}
},
"/chassis/ping": {
"post": {
"operationId": "chassis_ping",
"summary": "Ping host",
"description": "Perform synchronous ping request",
"tags": [
"chassis_interface"
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/chassis_ping_request"
}
}
},
"description": "Request"
},
"responses": {
"200": {
"description": "Ping response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/chassis_ping_response"
}
}
}
}
}
}
},
"/chassis/disks": {
"get": {
"operationId": "chassis_disks_list",
"description": "Fetch all DVR disks.",
"summary": "List of DVR disks",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/chassis_disks_list"
}
}
},
"description": "Response"
}
},
"tags": [
"chassis_config"
],
"x-collection-type": "chassis_disk",
"x-collection-name": "disks"
}
},
"/chassis/disks/{disk_id}/format": {
"post": {
"operationId": "chassis_disk_format",
"description": "Format specific disk for DVR usage",
"summary": "Format disk for DVR usage",
"parameters": [
{
"description": "disk identificator",
"in": "path",
"name": "disk_id",
"required": true,
"schema": {
"example": "storage001",
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Formatted"
}
},
"tags": [
"chassis_control"
]
}
},
"/chassis/disks/{disk_id}/mount": {
"post": {
"operationId": "chassis_disk_mount",
"description": "Mount specific disk",
"summary": "Mount disk",
"parameters": [
{
"description": "disk identificator",
"in": "path",
"name": "disk_id",
"required": true,
"schema": {
"example": "storage001",
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Mounted"
}
},
"tags": [
"chassis_control"
]
}
},
"/chassis/disks/{disk_id}/umount": {
"post": {
"operationId": "chassis_disk_umount",
"description": "Umount specific disk",
"summary": "Umount disk",
"parameters": [
{
"description": "disk identificator",
"in": "path",
"name": "disk_id",
"required": true,
"schema": {
"example": "storage001",
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Umounted"
}
},
"tags": [
"chassis_control"
]
}
},
"/chassis/coders": {
"get": {
"operationId": "chassis_coders_list",
"description": "Fetch all coder modules.",
"summary": "List coder modules",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/chassis_coders_list"
}
}
},
"description": "Response"
}
},
"tags": [
"chassis_config"
],
"x-collection-type": "coder_config",
"x-collection-name": "coders"
}
},
"/chassis/coders/{coder}/shutdown": {
"post": {
"operationId": "chassis_coder_shutdown",
"description": "Turn off a specific coder module.",
"summary": "Turn off coder module",
"parameters": [
{
"description": "coder number",
"in": "path",
"name": "coder",
"required": true,
"schema": {
"example": 1,
"type": "integer"
},
"style": "simple"
}
],
"responses": {
"204": {
"description": "Turned off"
}
},
"tags": [
"chassis_control"
]
}
},
"/chassis/coders/{coder}/boot": {
"post": {
"operationId": "chassis_coder_boot",
"description": "Turn on a specific coder module.",
"summary": "Turn on coder module",
"parameters": [
{
"description": "coder number",
"in": "path",
"name": "coder",
"required": true,
"schema": {
"example": 1,
"type": "integer"
},
"style": "simple"
}
],
"responses": {
"204": {
"description": "Turned on"
}
},
"tags": [
"chassis_control"
]
}
},
"/chassis/coders/{coder}/reboot": {
"post": {
"operationId": "chassis_coder_reboot",
"description": "Reboot a specific coder module.",
"summary": "Reboot coder module",
"parameters": [
{
"description": "coder number",
"in": "path",
"name": "coder",
"required": true,
"schema": {
"example": 1,
"type": "integer"
},
"style": "simple"
}
],
"responses": {
"204": {
"description": "rebooting"
}
},
"tags": [
"chassis_control"
]
}
},
"/chassis/backups": {
"get": {
"operationId": "chassis_backups_list",
"description": "Fetch the list of backups.",
"summary": "List backups",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/chassis_backups_list"
}
}
},
"description": "Response"
}
},
"tags": [
"chassis_backup"
],
"x-collection-type": "chassis_backup",
"x-collection-name": "backups"
}
},
"/chassis/backups/{name}": {
"parameters": [
{
"name": "name",
"description": "backup name",
"in": "path",
"required": true,
"schema": {
"example": "20210915-231745",
"type": "string"
},
"style": "simple"
}
],
"get": {
"operationId": "chassis_backup_get",
"description": "Download a specific chassis backup.",
"summary": "Download backup",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/chassis_backup"
}
}
},
"description": "Response"
}
},
"tags": [
"chassis_backup"
]
},
"put": {
"operationId": "chassis_backup_save",
"description": "Upload the chassis backup.",
"summary": "Upload backup",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/chassis_backup"
}
}
},
"description": "Request"
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/chassis_backup"
}
}
},
"description": "Response"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error_response"
}
}
},
"description": "Couldn't save"
}
},
"tags": [
"chassis_backup"
]
},
"delete": {
"operationId": "chassis_backup_delete",
"description": "Delete a backup by its name.",
"summary": "Delete backup",
"responses": {
"204": {
"description": "Deleted"
}
},
"tags": [
"chassis_backup"
]
}
},
"/chassis/backups/{name}/restore": {
"parameters": [
{
"name": "name",
"description": "backup name",
"in": "path",
"required": true,
"schema": {
"example": "20210915-231745",
"type": "string"
},
"style": "simple"
}
],
"post": {
"operationId": "chassis_backup_restore",
"description": "Restore the chassis from a specific backup.",
"summary": "Restore this backup",
"responses": {
"204": {
"description": "Restored"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/error_response"
}
}
},
"description": "Couldn't save"
}
},
"tags": [
"chassis_backup"
]
}
}
},
"security": [
{
"basicAuth": []
},
{
"bearerAuth": []
}
],
"servers": [
{
"description": "your local installation",
"url": "http://localhost:8080/streamer/api/v3"
}
],
"tags": [
{
"name": "chassis_firmware",
"description": "Managing firmware and extensions."
},
{
"name": "chassis_config",
"description": "Coder configuration"
},
{
"name": "chassis_backup",
"description": "Backup and restore"
},
{
"name": "chassis_control",
"description": "Hardware control"
},
{
"name": "chassis_interface",
"description": "Chassis interface"
}
]
}