################################################################################ ## ## Copyright (C) 2017-2025 Adder Technology Ltd - All Rights Reserved ## www.adder.com ## ## Proprietary and confidential. ## Unauthorised copying of this file via any medium is strictly prohibited. ## ## Description: REST-API ## ################################################################################ openapi: 3.1.0 info: version: 6.0.0 title: Adder Device API description: |+ Common API used for inter-device communication by Adder Products. The API is split between paths that are always available, and "Extended API" paths, that are only available when the units are locally managed, or controlled by management servers that are aware of the full API. paths: /applications/osd: get: operationId: getApplicationsOsd tags: - Applications summary: Get application OSD information. description: Get the OSD application information for this device. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: OK. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: $ref: '#/components/schemas/ApplicationsOsd' "304": $ref: '#/components/responses/304' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /devices: get: operationId: getDevices tags: - Devices summary: Get devices information. description: Get the information for peer the devices on the network that are known to this device. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: OK. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: description: List of the discovered devices' information. type: array items: $ref: '#/components/schemas/DeviceInfo' "304": $ref: '#/components/responses/304' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' post: operationId: postDevices tags: - Devices summary: Add a device. description: Add a manually configured/managed device. security: - bearerAuthAdmin: [] parameters: - $ref: '#/components/parameters/IfMatch' requestBody: description: Data for the device to be added. required: true content: application/json: schema: $ref: '#/components/schemas/DeviceInfo' responses: "200": description: OK. content: application/json: schema: type: object properties: uuid: $ref: '#/components/schemas/Uuid' "400": $ref: '#/components/responses/400' "401": $ref: '#/components/responses/401' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /devices/{uuid}: get: operationId: getDeviceUuid tags: - Devices summary: Get a device information. description: Get the information for the specified device. parameters: - $ref: '#/components/parameters/IfNoneMatch' - $ref: '#/components/parameters/Uuid' responses: "200": description: OK. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: $ref: '#/components/schemas/DeviceInfo' "304": $ref: '#/components/responses/304' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' patch: tags: - Devices summary: Modify device information. description: Modify the information for the device identified by the uuid parameter. security: - bearerAuthAdmin: [] parameters: - $ref: '#/components/parameters/IfMatch' - $ref: '#/components/parameters/Uuid' requestBody: description: Data to be modified. required: true content: application/json: schema: $ref: '#/components/schemas/DeviceInfoPartial' responses: "204": $ref: '#/components/responses/204' "400": $ref: '#/components/responses/400' "401": $ref: '#/components/responses/401' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' delete: tags: - Devices summary: Delete a device. description: Delete a manually added device with the associated UUID. Deleting a discovered device is not supported. security: - bearerAuthAdmin: [] parameters: - $ref: '#/components/parameters/IfMatch' - $ref: '#/components/parameters/Uuid' responses: "204": $ref: '#/components/responses/204' "401": $ref: '#/components/responses/401' "404": $ref: '#/components/responses/404' "412": $ref: '#/components/responses/412' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /diagnostics/dump: get: operationId: getDiagnosticsDump tags: - Diagnostics summary: Get diagnostics dump. description: Get the diagnostics dump file information. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: OK. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: $ref: '#/components/schemas/DiagnosticsFileInfo' "304": $ref: '#/components/responses/304' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' post: operationId: postDiagnosticsDump tags: - Diagnostics summary: Trigger diagnostics dump. description: Trigger a diagnostics dump file to be generated. security: - bearerAuthAdmin: [] requestBody: description: Data controlling the dump file generation. required: true content: application/json: schema: type: object required: - dumpToUsb properties: dumpToUsb: description: True if the dump file should be saved to a connected USB device. Otherwise the file will be available to download. type: boolean responses: "204": $ref: '#/components/responses/204' "400": $ref: '#/components/responses/400' "401": $ref: '#/components/responses/401' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /diagnostics/igmp: get: operationId: getDiagnosticsIgmp tags: - Diagnostics summary: Get IGMP diagnostics information. description: Get the diagnostics information for the most recently run IGMP diagnostic. Only available on an RX device type. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: OK. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: type: array description: A list of diagnostics info, one per interface/ipAddress combination that was tested. items: $ref: '#/components/schemas/IgmpDiagnosticInfo' "304": $ref: '#/components/responses/304' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' post: operationId: postDiagnosticsIgmp tags: - Diagnostics summary: Perform IGMP diagnostics. description: Request an IGMP diagnostics test be performed. Only available on an RX device type. security: - bearerAuthAdmin: [] requestBody: description: Data required to start a IGMP diagnostics test. required: true content: application/json: schema: type: object required: - uuid properties: uuid: $ref: '#/components/schemas/Uuid' responses: "204": $ref: '#/components/responses/204' "400": $ref: '#/components/responses/400' "401": $ref: '#/components/responses/401' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /diagnostics/logging: get: operationId: getDiagnosticsLogging tags: - Diagnostics summary: Get diagnostics logging. description: Get the diagnostics logging settings. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: OK. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: $ref: '#/components/schemas/LoggingInfo' "304": $ref: '#/components/responses/304' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' patch: operationId: patchDiagnostisLogging tags: - Diagnostics summary: Patch diagnostics logging. description: Modify the diagnostics logging settings. security: - bearerAuthAdmin: [] parameters: - $ref: '#/components/parameters/IfMatch' requestBody: description: The data to be modified. required: true content: application/json: schema: $ref: '#/components/schemas/LoggingInfoPartial' responses: "204": $ref: '#/components/responses/204' "400": $ref: '#/components/responses/400' "401": $ref: '#/components/responses/401' "412": $ref: '#/components/responses/412' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /diagnostics/ping: get: operationId: getDiagnositicsPing tags: - Diagnostics summary: Get diagnostics PING information. description: Get the diagnostics information for the most recently run PING diagnostic test. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: OK. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: $ref: '#/components/schemas/PingInfo' "304": $ref: '#/components/responses/304' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' post: operationId: postDiagnosticsPing tags: - Diagnostics summary: Request a diagnostics PING test. description: Request a diagnostics PING test be performed. security: - bearerAuthAdmin: [] requestBody: description: Request diagnostics ping. required: true content: application/json: schema: type: object required: - ifIndex - name properties: ifIndex: description: The network interface the ping should be performed via. The special value 0 should be used to allow all interfaces. $ref: '#/components/schemas/IfIndex' name: description: The destination device name to use for the ping. $ref: '#/components/schemas/Fqdn' responses: "204": $ref: '#/components/responses/204' "400": $ref: '#/components/responses/400' "401": $ref: '#/components/responses/401' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /diagnostics/remoteSupport: get: operationId: getDiagnosticsRemoteSupport tags: - Diagnostics summary: Get diagnostics remote support. description: Get the diagnostics remote support configuration. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: OK. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: $ref: '#/components/schemas/RemoteSupportInfo' "304": $ref: '#/components/responses/304' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' patch: operationId: patchDiagnosticsRemoteSupport tags: - Diagnostics summary: Patch diagnostics remote support. description: Modify diagnostics the remote support settings. security: - bearerAuthAdmin: [] parameters: - $ref: '#/components/parameters/IfMatch' requestBody: description: The data to be modified. required: true content: application/json: schema: $ref: '#/components/schemas/RemoteSupportInfoPartial' responses: "204": $ref: '#/components/responses/204' "400": $ref: '#/components/responses/400' "401": $ref: '#/components/responses/401' "412": $ref: '#/components/responses/412' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /diagnostics/process/statistics: get: operationId: getDiagnosticsProcessStatistics tags: - Diagnostics summary: Get diagnostics process statistics. description: Get the diagnostics process statistics. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: OK. content: application/json: schema: description: A list of process statistics for this device. type: array items: $ref: '#/components/schemas/ProcessStatisticsInfo' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /diagnostics/system/statistics: get: operationId: getDiagnosticsSystemStatistics tags: - Diagnostics summary: Get diagnostics system statistics. description: Get the diagnostics system statistics. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: OK. content: application/json: schema: $ref: '#/components/schemas/SystemStatisticsInfo' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /interfaces/routing/{ifIndex}: get: operationId: getInterfaceRouting tags: - Interfaces summary: Get interface routing table. description: Get the network interface IP routing table for a network interface on this device. parameters: - $ref: '#/components/parameters/IfNoneMatch' - $ref: '#/components/parameters/IfIndex' responses: "200": description: OK. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: description: The IP routing table entries corresponding to a specific network interface. type: array items: $ref: '#/components/schemas/IpRoutingInfo' "304": $ref: '#/components/responses/304' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /interfaces/settings: get: operationId: getInterfacesSettings tags: - Interfaces summary: Get network interfaces settings. description: Get settings for all the network interfaces on this device. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: OK. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: description: List of network interfaces for this device. type: array items: $ref: '#/components/schemas/NetworkInterfaceSettings' "304": $ref: '#/components/responses/304' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /interfaces/settings/{ifIndex}: get: operationId: getInterfaceSettings tags: - Interfaces summary: Get network interface information. description: Get information about a specific network interface on this device. parameters: - $ref: '#/components/parameters/IfNoneMatch' - $ref: '#/components/parameters/IfIndex' responses: "200": description: OK. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: $ref: '#/components/schemas/NetworkInterfaceSettings' "304": $ref: '#/components/responses/304' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' patch: tags: - Interfaces summary: Modify the information for this network interface index. security: - bearerAuthAdmin: [] parameters: - $ref: '#/components/parameters/IfMatch' - $ref: '#/components/parameters/IfIndex' requestBody: description: The data to be modified. required: true content: application/json: schema: $ref: '#/components/schemas/NetworkInterfaceSettingsPartial' responses: "204": $ref: '#/components/responses/204' "400": $ref: '#/components/responses/400' "401": $ref: '#/components/responses/401' "403": $ref: '#/components/responses/403' "404": $ref: '#/components/responses/404' "412": $ref: '#/components/responses/412' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /interfaces/status: get: operationId: getInterfacesStatus tags: - Interfaces summary: Get network interfaces status. description: Get network status information about all of the network interfaces on this device. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: OK. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: description: List of network interfaces for this device. type: array items: $ref: '#/components/schemas/NetworkInterfaceStatus' "304": $ref: '#/components/responses/304' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /interfaces/status/{ifIndex}: get: operationId: getInterfaceStatus tags: - Interfaces description: Get network interface status. summary: Get network status information about a specific network interface on this device. parameters: - $ref: '#/components/parameters/IfNoneMatch' - $ref: '#/components/parameters/IfIndex' responses: "200": description: OK. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: $ref: '#/components/schemas/NetworkInterfaceStatus' "304": $ref: '#/components/responses/304' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /interfaces/statistics: get: operationId: getInterfacesStatistics tags: - Interfaces summary: Get network interfaces statistics. description: Get the network interfaces statistics on this device. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: OK. content: application/json: schema: description: List of network statistics for this device. type: array items: $ref: '#/components/schemas/NetworkInterfaceStatistics' "304": $ref: '#/components/responses/304' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /interfaces/statistics/{ifIndex}: get: operationId: getInterfaceStatistics tags: - Interfaces summary: Get network interface statistics. description: Get the network interface statistics for a network interface on this device. parameters: - $ref: '#/components/parameters/IfNoneMatch' - $ref: '#/components/parameters/IfIndex' responses: "200": description: OK. content: application/json: schema: $ref: '#/components/schemas/NetworkInterfaceStatistics' "304": $ref: '#/components/responses/304' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /presets: description: Only implemented for RX device type. get: operationId: getPresets tags: - Presets summary: Get presets. description: Get all preset information on this device. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: OK. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: description: A list of presets configured on this device. type: array items: $ref: '#/components/schemas/Preset' "304": $ref: '#/components/responses/304' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' post: operationId: postPresets tags: - Presets summary: Add preset. description: Add a preset and obtain the associated ID. security: - bearerAuthAdmin: [] parameters: - $ref: '#/components/parameters/IfMatch' requestBody: description: The information to be used for the added preset. required: true content: application/json: schema: $ref: '#/components/schemas/Preset' responses: "200": description: Ok. content: application/json: schema: $ref: '#/components/schemas/PresetId' "400": $ref: '#/components/responses/400' "401": $ref: '#/components/responses/401' "404": $ref: '#/components/responses/404' "412": $ref: '#/components/responses/412' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /presets/{presetId}: description: Only implemented for RX device type. get: operationId: getPreset tags: - Presets summary: Get preset. description: Get the preset information on this device. parameters: - $ref: '#/components/parameters/IfNoneMatch' - $ref: '#/components/parameters/PresetId' responses: "200": description: OK. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: $ref: '#/components/schemas/Preset' "304": $ref: '#/components/responses/304' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' patch: operationId: patchPreset tags: - Presets summary: Modify preset. description: Modify the information for the specified preset. security: - bearerAuthAdmin: [] parameters: - $ref: '#/components/parameters/IfMatch' - $ref: '#/components/parameters/PresetId' requestBody: description: The information to be modified in the preset. required: true content: application/json: schema: $ref: '#/components/schemas/PresetPartial' responses: "204": $ref: '#/components/responses/204' "400": $ref: '#/components/responses/400' "401": $ref: '#/components/responses/401' "404": $ref: '#/components/responses/404' "412": $ref: '#/components/responses/412' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' delete: operationId: deletePreset tags: - Presets summary: Delete preset. description: Delete the preset associated with the supplied presetId. security: - bearerAuthAdmin: [] parameters: - $ref: '#/components/parameters/IfMatch' - $ref: '#/components/parameters/PresetId' responses: "204": $ref: '#/components/responses/204' "400": $ref: '#/components/responses/400' "401": $ref: '#/components/responses/401' "404": $ref: '#/components/responses/404' "412": $ref: '#/components/responses/412' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /presets/connectionStatus: get: operationId: getPresetConnectionStatus tags: - Presets summary: Get preset connection status. description: Get the connection status information for the currently selected preset. Only implmented for RX device type. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: $ref: '#/components/schemas/PresetConnectionsAndStatus' "304": $ref: '#/components/responses/304' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /presets/selected: description: Only implemented for RX device type. get: operationId: getSelectedPreset tags: - Presets summary: Get selected preset. description: Get information associated with the currently selected (active) preset. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: $ref: '#/components/schemas/SelectedPreset' "304": $ref: '#/components/responses/304' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' patch: operationId: patchSelectedPreset tags: - Presets summary: Set selected preset. description: Change to a different preset, making this preset the selected preset. security: - bearerAuthAdmin: [] parameters: - $ref: '#/components/parameters/IfMatch' - $ref: '#/components/parameters/PresetId' requestBody: description: The information required to select a preset. required: true content: application/json: schema: $ref: '#/components/schemas/SelectedPresetPartial' responses: "204": $ref: '#/components/responses/204' "400": $ref: '#/components/responses/400' "401": $ref: '#/components/responses/401' "404": $ref: '#/components/responses/404' "412": $ref: '#/components/responses/412' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /presets/template/{uuid}: description: Only implemented for RX device type. get: operationId: getTemplatePreset tags: - Presets summary: Get template preset. description: >- Obtain a template preset connection list suitable for connecting to the device associated with the supplied uuid. parameters: - $ref: '#/components/parameters/IfNoneMatch' - $ref: '#/components/parameters/Uuid' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: $ref: '#/components/schemas/PresetTemplate' "304": $ref: '#/components/responses/304' "401": $ref: '#/components/responses/401' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /settings/general: get: operationId: getSettingsGeneral tags: - Settings summary: Get general settings description: Get the general settings for the device. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: oneOf: - $ref: '#/components/schemas/RxGeneralSettings' - $ref: '#/components/schemas/TxGeneralSettings' discriminator: propertyName: type mapping: RX: '#/components/schemas/RxGeneralSettings' TX: '#/components/schemas/TxGeneralSettings' "304": $ref: '#/components/responses/304' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' patch: operationId: patchSettingsGeneral tags: - Settings summary: Modify general settings. description: Modify the general settings for the device. security: - bearerAuthAdmin: [] parameters: - $ref: '#/components/parameters/IfMatch' requestBody: description: The information to be modified. required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/RxGeneralSettingsPartial' - $ref: '#/components/schemas/TxGeneralSettingsPartial' discriminator: propertyName: type mapping: RX: '#/components/schemas/RxGeneralSettingsPartial' TX: '#/components/schemas/TxGeneralSettingsPartial' responses: "204": $ref: '#/components/responses/204' "400": $ref: '#/components/responses/400' "401": $ref: '#/components/responses/401' "412": $ref: '#/components/responses/412' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /settings/network: get: operationId: getSettingsNetwork tags: - Settings summary: Get network settings. description: Get the network settings for the device. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: $ref: '#/components/schemas/NetworkSettings' "304": $ref: '#/components/responses/304' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' patch: operationId: patchSettingsNetwork tags: - Settings summary: Modify network settings. description: Modify the network settings for the device. security: - bearerAuthAdmin: [] parameters: - $ref: '#/components/parameters/IfMatch' requestBody: description: The information to be modified. required: true content: application/json: schema: $ref: '#/components/schemas/NetworkSettingsPartial' responses: "204": $ref: '#/components/responses/204' "400": $ref: '#/components/responses/400' "401": $ref: '#/components/responses/401' "412": $ref: '#/components/responses/412' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /settings/ui/{userId}: get: operationId: getSettingsUi tags: - Settings summary: Get UI settings. description: Get UI settings for a specified user. parameters: - $ref: '#/components/parameters/IfNoneMatch' - $ref: '#/components/parameters/UserId' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: oneOf: - $ref: '#/components/schemas/RxUiSettings' - $ref: '#/components/schemas/TxUiSettings' discriminator: propertyName: type mapping: RX: '#/components/schemas/RxUiSettings' TX: '#/components/schemas/TxUiSettings' "304": $ref: '#/components/responses/304' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' patch: operationId: patchSettingsUi tags: - Settings summary: Set UI settings. description: Set UI settings for specified user. security: - bearerAuthUser: [] parameters: - $ref: '#/components/parameters/IfMatch' - $ref: '#/components/parameters/UserId' requestBody: description: The information to be modified. required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/RxUiSettingsPartial' - $ref: '#/components/schemas/TxUiSettingsPartial' responses: "204": $ref: '#/components/responses/204' "400": $ref: '#/components/responses/400' "401": $ref: '#/components/responses/401' "404": $ref: '#/components/responses/404' "412": $ref: '#/components/responses/412' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sinks: get: operationId: getAllSinks tags: - Sinks summary: Get all sinks. description: Get a list of all the supported sink ports for the device. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: type: array description: A list of the different types of sink ports supported. items: oneOf: - $ref: '#/components/schemas/AudioSinks' - $ref: '#/components/schemas/SerialSinks' - $ref: '#/components/schemas/UsbSinks' - $ref: '#/components/schemas/VideoSinks' discriminator: propertyName: type mapping: audio: '#/components/schemas/AudioSinks' serial: '#/components/schemas/SerialSinks' usb: '#/components/schemas/UsbSinks' video: '#/components/schemas/VideoSinks' "304": $ref: '#/components/responses/304' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sinks/audio: get: operationId: getAllAudioSinks tags: - Sinks summary: Get all audio sinks. description: Get a list of all the supported audio sink ports for the device. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: type: array description: A list of supported audio sink ports. items: $ref: '#/components/schemas/AudioSinks' "304": $ref: '#/components/responses/304' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sinks/audio/{portId}: get: operationId: getAudioSink tags: - Sinks summary: Get audio sink. description: Get a specific audio sink port. parameters: - $ref: '#/components/parameters/IfNoneMatch' - $ref: '#/components/parameters/PortId' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: $ref: '#/components/schemas/AudioSink' "304": $ref: '#/components/responses/304' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' patch: operationId: patchAudioSink tags: - Sinks summary: Modify audio sink. description: Modify the audio sink settings. security: - bearerAuthAdmin: [] parameters: - $ref: '#/components/parameters/IfMatch' - $ref: '#/components/parameters/PortId' requestBody: description: The information to be modified. required: true content: application/json: schema: $ref: '#/components/schemas/AudioSink' responses: "204": $ref: '#/components/responses/204' "400": $ref: '#/components/responses/400' "401": $ref: '#/components/responses/401' "404": $ref: '#/components/responses/404' "412": $ref: '#/components/responses/412' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sinks/audio/connectedDevices/{portId}: get: operationId: getAudioSinkConnectedDevices tags: - Sinks summary: Get audio sink connected devices. description: Get the devices connected to the audio sink. parameters: - $ref: '#/components/parameters/IfNoneMatch' - $ref: '#/components/parameters/PortId' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: description: A list of devices connected to the audio sink. type: array items: $ref: '#/components/schemas/ConnectedDevice' "304": $ref: '#/components/responses/304' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sinks/audio/statistics: get: operationId: getAllAudioSinkStatistics tags: - Sinks summary: Get all audio sink statistics. description: Get the statistics for all audio sinks. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: description: A list of audio sink port statistics. type: array items: $ref: '#/components/schemas/AudioSinkStatistics' "304": $ref: '#/components/responses/304' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sinks/audio/statistics/{portId}: get: operationId: getAudioSinkStatistics tags: - Sinks summary: Get audio sink statistics. description: Get the statistics for a specific audio sink port. parameters: - $ref: '#/components/parameters/IfNoneMatch' - $ref: '#/components/parameters/PortId' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: $ref: '#/components/schemas/AudioSinkStatistics' "304": $ref: '#/components/responses/304' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sinks/audio/status: get: operationId: getAllAudioSinksStatus tags: - Sinks summary: Get all audio sink status. description: Get the status information for all audio sinks. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: type: array items: $ref: '#/components/schemas/AudioSinkStatus' "304": $ref: '#/components/responses/304' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sinks/audio/status/{portId}: get: operationId: getAudioSinkStatus tags: - Sinks summary: Get audio sink status. description: Get the status information for a specific audio sink. parameters: - $ref: '#/components/parameters/IfNoneMatch' - $ref: '#/components/parameters/PortId' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: $ref: '#/components/schemas/AudioSinkStatus' "304": $ref: '#/components/responses/304' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sinks/serial: get: operationId: getAllSerialSinks tags: - Sinks summary: Get all serial sinks. description: Get a list of all the supported serial sink ports for the device. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: type: array description: A list of supported serial sink ports. items: $ref: '#/components/schemas/SerialSinks' "304": $ref: '#/components/responses/304' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sinks/serial/{portId}: get: operationId: getSerialSink tags: - Sinks summary: Get serial sink. description: Get a specific serial sink port. parameters: - $ref: '#/components/parameters/IfNoneMatch' - $ref: '#/components/parameters/PortId' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: $ref: '#/components/schemas/SerialSink' "304": $ref: '#/components/responses/304' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' patch: operationId: patchSerialSink tags: - Sinks summary: Modify serial sink. description: Modify the serial sink settings. security: - bearerAuthAdmin: [] parameters: - $ref: '#/components/parameters/IfMatch' - $ref: '#/components/parameters/PortId' requestBody: description: The information to be modified. required: true content: application/json: schema: $ref: '#/components/schemas/SerialSinkPartial' responses: "204": $ref: '#/components/responses/204' "400": $ref: '#/components/responses/400' "401": $ref: '#/components/responses/401' "404": $ref: '#/components/responses/404' "412": $ref: '#/components/responses/412' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sinks/serial/status: get: operationId: getAllSerialSinksStatus tags: - Sinks summary: Get all serial sinks status. description: Get the status information for all serial sink ports. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: type: array items: $ref: '#/components/schemas/SerialSinksStatus' "304": $ref: '#/components/responses/304' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sinks/serial/status/{portId}: get: operationId: getSerialSinkStatus tags: - Sinks summary: Get serial sink status. description: Get the status information for a specific serial sink port. parameters: - $ref: '#/components/parameters/IfNoneMatch' - $ref: '#/components/parameters/PortId' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: $ref: '#/components/schemas/SerialSinkStatus' "304": $ref: '#/components/responses/304' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sinks/status: get: operationId: getAllSinksStatus tags: - Sinks summary: Get all sinks status. description: Get a list of the status information for all the sink ports for this device. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: type: array description: A list of endpoint groups. items: anyOf: - $ref: '#/components/schemas/AudioSinksStatus' - $ref: '#/components/schemas/SerialSinksStatus' - $ref: '#/components/schemas/UsbSinksStatus' - $ref: '#/components/schemas/VideoSinksStatus' discriminator: propertyName: type mapping: audio: '#/components/schemas/AudioSinksStatus' serial: '#/components/schemas/SerialSinksStatus' usb: '#/components/schemas/UsbSinksStatus' video: '#/components/schemas/VideoSinksStatus' "304": $ref: '#/components/responses/304' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sinks/usb: get: operationId: getAllUsbSinks tags: - Sinks summary: Get all USB sinks. description: Get a list of all the supported USB sink ports for the device. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: type: array description: A list of supported USB sink ports. items: $ref: '#/components/schemas/UsbSinks' "304": $ref: '#/components/responses/304' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sinks/usb/{portId}: get: operationId: getUsbSink tags: - Sinks summary: Get USB sink. description: Get a specific USB sink port. parameters: - $ref: '#/components/parameters/IfNoneMatch' - $ref: '#/components/parameters/PortId' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: $ref: '#/components/schemas/UsbSink' "304": $ref: '#/components/responses/304' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' patch: operationId: patchUsbSink tags: - Sinks summary: Modify USB sink. description: Modify the USB sink settings. security: - bearerAuthAdmin: [] parameters: - $ref: '#/components/parameters/IfMatch' - $ref: '#/components/parameters/PortId' requestBody: description: The information to be modified. required: true content: application/json: schema: $ref: '#/components/schemas/UsbSinkPartial' responses: "204": $ref: '#/components/responses/204' "400": $ref: '#/components/responses/400' "401": $ref: '#/components/responses/401' "404": $ref: '#/components/responses/404' "412": $ref: '#/components/responses/412' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sinks/usb/connectedDevices/{portId}: get: operationId: getUsbSinkConnectedDevices tags: - Sinks summary: Get USB sink connected devices. description: Get a list of devices connected to the USB sink. parameters: - $ref: '#/components/parameters/IfNoneMatch' - $ref: '#/components/parameters/PortId' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: description: A list of devices connected to the USB sink port. type: array items: $ref: '#/components/schemas/UsbConnectedDevice' "304": $ref: '#/components/responses/304' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sinks/usb/statistics: get: operationId: getAllUsbSinkStatistics tags: - Sinks summary: Get all USB sink statistics. description: Get the statistics for all USB sinks. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: description: A list of USB sink port statistics. type: array items: $ref: '#/components/schemas/UsbSinkStatistics' "304": $ref: '#/components/responses/304' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sinks/usb/statistics/{portId}: get: operationId: getUsbSinkStatistics tags: - Sinks summary: Get USB sink statistics. description: Get the statistics for a specific USB sink port. parameters: - $ref: '#/components/parameters/IfNoneMatch' - $ref: '#/components/parameters/PortId' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: $ref: '#/components/schemas/UsbSinkStatistics' "304": $ref: '#/components/responses/304' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sinks/usb/status: get: operationId: getAllUsbSinksStatus tags: - Sinks summary: Get all USB sinks status. description: Get the status information for all USB sink ports. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: type: array items: $ref: '#/components/schemas/UsbSinksStatus' "304": $ref: '#/components/responses/304' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sinks/usb/status/{portId}: get: operationId: getUsbSinkStatus tags: - Sinks summary: Get USB sink status. description: Get the status information for a specific USB sink port. parameters: - $ref: '#/components/parameters/IfNoneMatch' - $ref: '#/components/parameters/PortId' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: $ref: '#/components/schemas/UsbSinkStatus' "304": $ref: '#/components/responses/304' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sinks/video: get: operationId: getAllVideoSinks tags: - Sinks summary: Get all video sinks. description: Get a list of all the supported video sink ports for the device. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: type: array description: A list of supported video sink ports. items: $ref: '#/components/schemas/VideoSinks' "304": $ref: '#/components/responses/304' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sinks/video/{portId}: get: operationId: getVideoSink tags: - Sinks summary: Get video sink. description: Get a specific USB sink port. parameters: - $ref: '#/components/parameters/IfNoneMatch' - $ref: '#/components/parameters/PortId' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: $ref: '#/components/schemas/VideoSink' "304": $ref: '#/components/responses/304' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' patch: operationId: patchVideoSink tags: - Sinks summary: Modify video sink. description: Modify the video sink settings. security: - bearerAuthAdmin: [] parameters: - $ref: '#/components/parameters/IfMatch' - $ref: '#/components/parameters/PortId' requestBody: description: The information to be modified. required: true content: application/json: schema: $ref: '#/components/schemas/VideoSinkPartial' responses: "204": $ref: '#/components/responses/204' "400": $ref: '#/components/responses/400' "401": $ref: '#/components/responses/401' "404": $ref: '#/components/responses/404' "412": $ref: '#/components/responses/412' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sinks/video/connectedDevices/{portId}: get: operationId: getVideoSinkConnectedDevices tags: - Sinks summary: Get video sink connected devices. description: Get the devices connected to the video sink. parameters: - $ref: '#/components/parameters/IfNoneMatch' - $ref: '#/components/parameters/PortId' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: description: A list of devices connected to the video sink. type: array items: $ref: '#/components/schemas/ConnectedDevice' "304": $ref: '#/components/responses/304' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sinks/video/statistics: get: operationId: getAllVideoSinkStatistics tags: - Sinks summary: Get all video sink statistics. description: Get the statistics for all video sinks. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: description: A list of video sink port statistics. type: array items: $ref: '#/components/schemas/VideoSinkStatistics' "304": $ref: '#/components/responses/304' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sinks/video/statistics/{portId}: get: operationId: getVideoSinkStatistics tags: - Sinks summary: Get video sink statistics. description: Get the statistics for a specific video sink port. parameters: - $ref: '#/components/parameters/IfNoneMatch' - $ref: '#/components/parameters/PortId' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: $ref: '#/components/schemas/VideoSinkStatistics' "304": $ref: '#/components/responses/304' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sinks/video/status: get: operationId: getVideoSinksStatus tags: - Sinks summary: Get all video sinks status. description: Get all the status information for all video sink ports. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: type: array items: $ref: '#/components/schemas/VideoSinksStatus' "304": $ref: '#/components/responses/304' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sinks/video/status/{portId}: get: operationId: getVideoSinkStatus tags: - Sinks summary: Get video sink status. description: Get the status information for a specific video sink port. parameters: - $ref: '#/components/parameters/IfNoneMatch' - $ref: '#/components/parameters/PortId' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: $ref: '#/components/schemas/VideoSinkStatus' "304": $ref: '#/components/responses/304' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sources: get: operationId: getAllSources tags: - Sources summary: Get all sources. description: Get a list of all the supported source ports for the device. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: type: array description: A list of the different types of source ports supported. items: oneOf: - $ref: '#/components/schemas/AudioSources' - $ref: '#/components/schemas/SerialSources' - $ref: '#/components/schemas/UsbSources' - $ref: '#/components/schemas/VideoSources' discriminator: propertyName: type mapping: audio: '#/components/schemas/AudioSources' serial: '#/components/schemas/SerialSources' usb: '#/components/schemas/UsbSources' video: '#/components/schemas/VideoSources' "304": $ref: '#/components/responses/304' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sources/audio: get: operationId: getAllAudioSource tags: - Sources summary: Get all audio sources. description: Get a list of all the supported audio source ports for the device. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: type: array description: A list of supported audio source ports. items: $ref: '#/components/schemas/AudioSources' "304": $ref: '#/components/responses/304' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sources/audio/{portId}: get: operationId: getAudioSource tags: - Sources summary: Get audio source. description: Get a specific audio source port. parameters: - $ref: '#/components/parameters/IfNoneMatch' - $ref: '#/components/parameters/PortId' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: $ref: '#/components/schemas/AudioSource' "304": $ref: '#/components/responses/304' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' patch: operationId: patchAudioSource tags: - Sources summary: Modify audio source. description: Modify the audio source settings. security: - bearerAuthAdmin: [] parameters: - $ref: '#/components/parameters/IfMatch' - $ref: '#/components/parameters/PortId' requestBody: description: The information to be modified. required: true content: application/json: schema: $ref: '#/components/schemas/AudioSourcePartial' responses: "204": $ref: '#/components/responses/204' "400": $ref: '#/components/responses/400' "401": $ref: '#/components/responses/401' "404": $ref: '#/components/responses/404' "412": $ref: '#/components/responses/412' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sources/audio/statistics: get: operationId: getAllAudioSourceStatistics tags: - Sources summary: Get all audio source statistics. description: Get the statistics for all audio sources. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: description: A list of audio source port statistics. type: array items: $ref: '#/components/schemas/AudioSourceStatistics' "304": $ref: '#/components/responses/304' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sources/audio/statistics/{portId}: get: operationId: getAudioSourceStatistics tags: - Sources summary: Get audio source statistics. description: Get the statistics for a specific audio source. parameters: - $ref: '#/components/parameters/IfNoneMatch' - $ref: '#/components/parameters/PortId' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: $ref: '#/components/schemas/AudioSourceStatistics' "304": $ref: '#/components/responses/304' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sources/audio/status: get: operationId: getAllAudioSourceStatus tags: - Sources summary: Get all audio source status. description: Get the status information for all audio sources. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: type: array items: $ref: '#/components/schemas/AudioSourceStatus' "304": $ref: '#/components/responses/304' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sources/audio/status/{portId}: get: operationId: getAudioSourceStatus tags: - Sources summary: Get audio source status. description: Get the status information for a specific audio source. parameters: - $ref: '#/components/parameters/IfNoneMatch' - $ref: '#/components/parameters/PortId' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: $ref: '#/components/schemas/AudioSourceStatus' "304": $ref: '#/components/responses/304' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sources/audio/supportedEdidModes/{portId}: get: operationId: getAudioSourceSupportedEdidModes tags: - Sources summary: Get audio source supported EDID modes. description: Get the supported EDID modes for a specific audio source. parameters: - $ref: '#/components/parameters/IfNoneMatch' - $ref: '#/components/parameters/PortId' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: type: array items: $ref: '#/components/schemas/EdidModes' "304": $ref: '#/components/responses/304' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sources/serial: get: operationId: getAllSerialSources tags: - Sources summary: Get all serial sources. description: Get a list of all the supported serial source ports for the device. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: type: array description: A list of supported serial source ports. items: $ref: '#/components/schemas/SerialSources' "304": $ref: '#/components/responses/304' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sources/serial/{portId}: get: operationId: getSerialSource tags: - Sources summary: Get serial source. description: Get a specific serial source port. parameters: - $ref: '#/components/parameters/IfNoneMatch' - $ref: '#/components/parameters/PortId' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: $ref: '#/components/schemas/SerialSource' "304": $ref: '#/components/responses/304' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' patch: operationId: patchSerialSource tags: - Sources summary: Modify serial source. description: Modify the serial source settings. security: - bearerAuthAdmin: [] parameters: - $ref: '#/components/parameters/IfMatch' - $ref: '#/components/parameters/PortId' requestBody: description: The information to be modified. required: true content: application/json: schema: $ref: '#/components/schemas/SerialSourcePartial' responses: "204": $ref: '#/components/responses/204' "400": $ref: '#/components/responses/400' "401": $ref: '#/components/responses/401' "404": $ref: '#/components/responses/404' "412": $ref: '#/components/responses/412' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sources/status: get: operationId: getAllSourcesStatus tags: - Sources summary: Get all sources status. description: Get a list of the status information for all the source ports for this device. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: type: array description: A list of endpoint groups. items: anyOf: - $ref: '#/components/schemas/AudioSourcesStatus' - $ref: '#/components/schemas/UsbSourcesStatus' - $ref: '#/components/schemas/VideoSourcesStatus' discriminator: propertyName: type mapping: audio: '#/components/schemas/AudioSourcesStatus' usb: '#/components/schemas/UsbSourcesStatus' video: '#/components/schemas/VideoSourcesStatus' "304": $ref: '#/components/responses/304' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sources/usb: get: operationId: getAllUsbSources tags: - Sources summary: Get all USB sources. description: Get a list of all the supported USB source ports for the device. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: type: array description: A list of supported USB source ports. items: $ref: '#/components/schemas/UsbSources' "304": $ref: '#/components/responses/304' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sources/usb/{portId}: get: operationId: getUsbSource tags: - Sources summary: Get USB source. description: Get a specific USB source port. parameters: - $ref: '#/components/parameters/IfNoneMatch' - $ref: '#/components/parameters/PortId' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: $ref: '#/components/schemas/UsbSource' "304": $ref: '#/components/responses/304' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' patch: operationId: patchUsbSource tags: - Sources summary: Modify USB source. description: Modify the USB source settings. security: - bearerAuthAdmin: [] parameters: - $ref: '#/components/parameters/IfMatch' - $ref: '#/components/parameters/PortId' requestBody: description: The information to be modified. required: true content: application/json: schema: $ref: '#/components/schemas/UsbSourcePartial' responses: "204": $ref: '#/components/responses/204' "400": $ref: '#/components/responses/400' "401": $ref: '#/components/responses/401' "404": $ref: '#/components/responses/404' "412": $ref: '#/components/responses/412' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sources/usb/statistics: get: operationId: getAllUsbSourceStatistics tags: - Sources summary: Get all USB source statistics. description: Get the statistics for all USB sources. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: description: A list of USB source port statistics. type: array items: $ref: '#/components/schemas/UsbSourceStatistics' "304": $ref: '#/components/responses/304' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sources/usb/statistics/{portId}: get: operationId: getUsbSourceStatistics tags: - Sources summary: Get USB source statistics. description: Get the statistics for a specific USB source. parameters: - $ref: '#/components/parameters/IfNoneMatch' - $ref: '#/components/parameters/PortId' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: $ref: '#/components/schemas/UsbSourceStatistics' "304": $ref: '#/components/responses/304' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sources/usb/status: get: operationId: getAllUsbSourceStatus tags: - Sources summary: Get all USB source status. description: Get the status information for all USB sources. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: type: array items: $ref: '#/components/schemas/UsbSourceStatus' "304": $ref: '#/components/responses/304' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sources/usb/status/{portId}: get: operationId: getUsbSourceStatus tags: - Sources summary: Get USB source status. description: Get the status information for a specific USB source. parameters: - $ref: '#/components/parameters/IfNoneMatch' - $ref: '#/components/parameters/PortId' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: $ref: '#/components/schemas/UsbSourceStatus' "304": $ref: '#/components/responses/304' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sources/video: get: operationId: getAllVideoSources tags: - Sources summary: Get all video sources. description: Get a list of all the supported video sources ports for the device. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: type: array description: A list of supported video sources ports. items: $ref: '#/components/schemas/VideoSources' "304": $ref: '#/components/responses/304' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sources/video/{portId}: get: operationId: getVideoSources tags: - Sources summary: Get video sources. description: Get a specific USB sink port. parameters: - $ref: '#/components/parameters/IfNoneMatch' - $ref: '#/components/parameters/PortId' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: $ref: '#/components/schemas/VideoSource' "304": $ref: '#/components/responses/304' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' patch: operationId: patchVideoSource tags: - Sources summary: Modify video source. description: Modify the video source settings. security: - bearerAuthAdmin: [] parameters: - $ref: '#/components/parameters/IfMatch' - $ref: '#/components/parameters/PortId' requestBody: description: The information to be modified. required: true content: application/json: schema: $ref: '#/components/schemas/VideoSourcePartial' responses: "204": $ref: '#/components/responses/204' "400": $ref: '#/components/responses/400' "401": $ref: '#/components/responses/401' "404": $ref: '#/components/responses/404' "412": $ref: '#/components/responses/412' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sources/video/statistics: get: operationId: getAllVideoSourceStatistics tags: - Sources summary: Get all video source statistics. description: Get the statistics for all video sources. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: description: A list of video source port statistics. type: array items: $ref: '#/components/schemas/VideoSourceStatistics' "304": $ref: '#/components/responses/304' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sources/video/statistics/{portId}: get: operationId: getVideoSourceStatistics tags: - Sources summary: Get video source statistics. description: Get the statistics for a specific video source. parameters: - $ref: '#/components/parameters/IfNoneMatch' - $ref: '#/components/parameters/PortId' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: $ref: '#/components/schemas/VideoSourceStatistics' "304": $ref: '#/components/responses/304' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sources/video/status: get: operationId: getAllVideoSourceStatus tags: - Sources summary: Get all video source status. description: Get the status information for all video sources. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: type: array items: $ref: '#/components/schemas/VideoSourceStatus' "304": $ref: '#/components/responses/304' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sources/video/status/{portId}: get: operationId: getVideoSourceStatus tags: - Sources summary: Get video source status. description: Get the status information for a specific video source. parameters: - $ref: '#/components/parameters/IfNoneMatch' - $ref: '#/components/parameters/PortId' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: $ref: '#/components/schemas/VideoSourceStatus' "304": $ref: '#/components/responses/304' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /sources/video/supportedEdidModes/{portId}: get: operationId: getVideoSourceSupportedEdidModes tags: - Sources summary: Get video source supported EDID modes. description: Get the supported EDID modes for a specific video source. parameters: - $ref: '#/components/parameters/IfNoneMatch' - $ref: '#/components/parameters/PortId' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: type: array items: $ref: '#/components/schemas/EdidModes' "304": $ref: '#/components/responses/304' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /system/access: description: Only implemented for TX device type. patch: operationId: patchSystemAccess tags: - System summary: Modify access password. description: Modify the access password for the device. security: - bearerAuthAdmin: [] requestBody: description: The information to be modified. required: true content: application/json: schema: type: object required: - password properties: password: description: >- A string to be used to create an access token that must be supplied when trying to connect preset connections to the device. type: string maxLength: 31 responses: "204": $ref: '#/components/responses/204' "400": $ref: '#/components/responses/400' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' post: operationId: postSystemAccess tags: - System summary: Get the access token for the device. requestBody: description: The information to be modified. required: true content: application/json: schema: type: object required: - password properties: password: description: The password string required to gain access to the device. type: string maxLength: 31 responses: "200": description: OK. content: application/json: schema: type: object properties: accessToken: description: The access token required to connect preset connections to the device. type: string "400": $ref: '#/components/responses/400' "403": $ref: '#/components/responses/403' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /system/disableAutoConfiguration: post: operationId: disableAutoConfiguration tags: - System summary: Disable automatic configuration. description: >- Request the device abort a current auto-configuration operation. If the device is not currently auto-configuring, the request will be ignored and success indicated in the response. responses: "204": $ref: '#/components/responses/204' "401": $ref: '#/components/responses/401' "500": $ref: '#/components/responses/500' /system/identify: get: operationId: getSystemIdentify tags: - System summary: Get identify status. description: Get whether the device is currently identifying itself. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: type: object required: - enabled properties: enabled: description: A flag indicating whether the device is currently identifying itself. type: boolean "304": $ref: '#/components/responses/304' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' put: operationId: putSystemIdentify tags: - System summary: Modify device identify state. description: Modify whether the device should identify itself. parameters: - $ref: '#/components/parameters/IfMatch' requestBody: required: true content: application/json: schema: type: object required: - enabled properties: enabled: description: A flag indicating whether the device should identify itself. type: boolean responses: "204": $ref: '#/components/responses/204' "400": $ref: '#/components/responses/400' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /system/info: get: operationId: getSystemInfo tags: - System summary: Get system information. description: Get the system information for the device. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: oneOf: - $ref: '#/components/schemas/RxSystemInfo' - $ref: '#/components/schemas/TxSystemInfo' discriminator: propertyName: type mapping: RX: '#/components/schemas/RxSystemInfo' TX: '#/components/schemas/TxSystemInfo' "304": $ref: '#/components/responses/304' "500": $ref: '#/components/responses/500' /system/imageInfo: get: operationId: getSystemImageInfo tags: - System summary: Get system image info. description: Get information for the system images present on the device. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: description: A list of system image information for the device. type: array items: $ref: '#/components/schemas/ImageInfo' "500": $ref: '#/components/responses/500' /system/notifications: get: operationId: getNotifications tags: - System summary: Get system notifications. description: Get the currently raised system notifications. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: description: A list of the currently raised system notifications. type: array items: $ref: '#/components/schemas/Notification' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /system/platformComponents: get: operationId: getSystemPlatformComponents tags: - System summary: Get system platform components. description: Get information about the platform components that may be present on the physical device. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: description: A list of platform components that are present on the device. If no components are present, an empty array is the response. type: array items: $ref: '#/components/schemas/PlatformComponent' "500": $ref: '#/components/responses/500' /system/reboot: post: operationId: postSystemReboot tags: - System summary: Request system reboot. description: Request the device perform a system reboot. security: - bearerAuthAdmin: [] responses: "204": $ref: '#/components/responses/204' "401": $ref: '#/components/responses/401' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /system/restore: post: operationId: postSystemRestore tags: - System summary: Request system restore. description: Request the device to restore to its default configuration on the next system boot. security: - bearerAuthAdmin: [] responses: "204": $ref: '#/components/responses/204' "401": $ref: '#/components/responses/401' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /system/switch: put: operationId: putSystemSwitch tags: - System summary: Set system image use. description: Set the system image to use on the next boot. security: - bearerAuthAdmin: [] requestBody: required: true content: application/json: schema: type: object required: - imageId properties: imageId: $ref: '#/components/schemas/ImageId' responses: "204": $ref: '#/components/responses/204' "400": $ref: '#/components/responses/400' "401": $ref: '#/components/responses/401' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /system/timing: get: operationId: getSystemTiming tags: - System summary: Get system timing. description: Get information relating to system timing. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: Ok. content: application/json: schema: $ref: '#/components/schemas/SystemTiming' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /system/upgradeImages: description: Only implemented for RX device type. get: operationId: getSystemUpgradeImages tags: - System summary: Get system upgrade images. description: >- Get a list of available system images from a connected USB device. Only images that match the family for the device will be provided. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: $ref: '#/components/schemas/UpgradeImages' "304": $ref: '#/components/responses/304' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /system/upgradeImages/{family}: description: Only implemented for RX device type. get: operationId: getSystemUpgradeImagesForFamily tags: - System summary: Get system upgrade images. description: >- Get a list of available system images from a connected USB device. Only images that match the supplied family will be provided. parameters: - $ref: '#/components/parameters/IfNoneMatch' - $ref: '#/components/parameters/Family' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: $ref: '#/components/schemas/UpgradeImages' "304": $ref: '#/components/responses/304' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /system/upgradeStatus: get: operationId: getSystemUpgradeStatus tags: - System summary: Get system upgrade status. description: Get the status of a system upgrade operation. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: type: object required: - upgradeState - errorMessage properties: upgradeState: $ref: '#/components/schemas/OperationState' errorMessage: description: An optional message explaing the failed state. type: string "304": $ref: '#/components/responses/304' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /system/upgrade: post: operationId: postSystemUpgrade tags: - System summary: Perform system upgrade via URL or file. description: >- Request a system upgrade of the device. The system image may be obtained from a web server or using a supplied file, depending on the requestBody supplied. security: - bearerAuthAdmin: [] requestBody: content: application/json: schema: type: object required: - upgradePath properties: upgradePath: description: An HTTP(S) URL to a system image that should be used to perform an upgrade. type: string application/octet-stream: schema: description: The data to be used as the system image. type: string format: binary responses: "204": $ref: '#/components/responses/204' "400": $ref: '#/components/responses/400' "401": $ref: '#/components/responses/401' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /users/devices/{userId}: put: operationId: putUsersDevices tags: - Users summary: Modify device access token. description: Modify the user access token required to access a TX device type. security: - bearerAuthUser: [] parameters: - $ref: '#/components/parameters/UserId' requestBody: required: true content: application/json: schema: type: object required: - uuid - accessToken properties: uuid: description: The UUID for the associated peer device. $ref: '#/components/schemas/Uuid' accessToken: description: The access token to be used when connecting a preset connection to the peer device. type: string maxLength: 127 responses: "204": $ref: '#/components/responses/204' "400": $ref: '#/components/responses/400' "401": $ref: '#/components/responses/401' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /users/general: get: operationId: getAllUsersGeneral tags: - Users summary: Get users general. description: Get the general user settings for all users on the device. parameters: - $ref: '#/components/parameters/IfNoneMatch' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: description: A list of all user settings. type: array items: $ref: '#/components/schemas/GeneralUserSettings' "304": $ref: '#/components/responses/304' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /users/general/{userId}: get: operationId: getUsersGeneral tags: - Users summary: Get users general. description: Get the general user settings for a specific user on the device. parameters: - $ref: '#/components/parameters/IfNoneMatch' - $ref: '#/components/parameters/UserId' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: $ref: '#/components/schemas/GeneralUserSettings' "304": $ref: '#/components/responses/304' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' patch: operationId: patchUsersGeneral tags: - Users summary: Modify general user settings. description: >- Modify the general settings for the user on the device. This operation may be performed by a user with admin privileges or by the specified user. It is only permissible to change the isAdmin property if the request is being performed by an admin. security: - bearerAuthUser: [] parameters: - $ref: '#/components/parameters/IfMatch' - $ref: '#/components/parameters/UserId' requestBody: required: true content: application/json: schema: type: object allOf: - $ref: '#/components/schemas/GeneralUserSettingsPartial' properties: password: description: The password to be associated with the user. $ref: '#/components/schemas/UserPassword' responses: "204": $ref: '#/components/responses/204' "400": $ref: '#/components/responses/400' "401": $ref: '#/components/responses/401' "404": $ref: '#/components/responses/404' "412": $ref: '#/components/responses/412' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /users/login/{userId}: post: operationId: postUsersLogin tags: - Users summary: Login as user ID. description: Log into the device as the user ID and obtain a JWT to be used for bearer based security operations. parameters: - $ref: '#/components/parameters/UserId' requestBody: required: true content: application/json: schema: type: object required: - password - isAdmin properties: password: description: The password of the user. $ref: '#/components/schemas/UserPassword' isAdmin: description: A flag indicating whether to login with administrator privileges. type: boolean responses: "200": description: Ok. content: application/json: schema: required: - authToken properties: authToken: description: The JWT authentication token with the request privileges for the user. type: string "400": $ref: '#/components/responses/400' "401": $ref: '#/components/responses/401' "403": $ref: '#/components/responses/403' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /users/presetOrder/{userId}: put: operationId: putUsersPresetOrder tags: - Users summary: Set order of user's presets. description: Set the mapping of hotkey number to preset id, thus defining the order that the presets are displayed on the selection screen. security: - bearerAuthUser: [] parameters: - $ref: '#/components/parameters/IfMatch' - $ref: '#/components/parameters/UserId' requestBody: description: >- A list of preset IDs with associated hotkey number. The length of the list must match the legnth of the user's preset list. required: true content: application/json: schema: type: array items: type: object required: - presetId - hotkeyNumber properties: presetId: $ref: '#/components/schemas/PresetId' hotkeyNumber: description: The hotkey value to be associated with the presetId. type: integer minimum: 0 responses: "204": $ref: '#/components/responses/204' "400": $ref: '#/components/responses/400' "401": $ref: '#/components/responses/401' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /users/presets/{userId}: get: operationId: getUsersPresets tags: - Users summary: Get all user presets. description: Get all the presets for the specified user. parameters: - $ref: '#/components/parameters/IfNoneMatch' - $ref: '#/components/parameters/UserId' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: description: A list of presets. type: array items: $ref: '#/components/schemas/UserPreset' "304": $ref: '#/components/responses/304' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' post: operationId: postUsersPresets tags: - Users summary: Add user preset. description: Add a new preset for the specified user. security: - bearerAuthAdmin: [] parameters: - $ref: '#/components/parameters/IfMatch' - $ref: '#/components/parameters/UserId' requestBody: description: The information to be added. required: true content: application/json: schema: $ref: '#/components/schemas/NewUserPreset' responses: "204": $ref: '#/components/responses/204' "400": $ref: '#/components/responses/400' "401": $ref: '#/components/responses/401' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' /users/presets/{userId}/{presetId}: get: operationId: getUserPreset tags: - Users summary: Get user preset. description: Get information for the specified preset for the specified user. parameters: - $ref: '#/components/parameters/IfNoneMatch' - $ref: '#/components/parameters/UserId' - $ref: '#/components/parameters/PresetId' responses: "200": description: Ok. headers: ETag: $ref: '#/components/headers/ETag' content: application/json: schema: $ref: '#/components/schemas/UserPreset' "304": $ref: '#/components/responses/304' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' patch: operationId: patchUserPreset tags: - Users summary: Modify user preset. description: Modify the information for a specific user preset. security: - bearerAuthAdmin: [] parameters: - $ref: '#/components/parameters/IfMatch' - $ref: '#/components/parameters/UserId' - $ref: '#/components/parameters/PresetId' requestBody: description: The information to be modified. required: true content: application/json: schema: $ref: '#/components/schemas/UserPresetPatchable' responses: "204": $ref: '#/components/responses/204' "400": $ref: '#/components/responses/400' "401": $ref: '#/components/responses/401' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' delete: operationId: deleteUserPreset tags: - Users summary: Delete user preset. description: Delete the specified user preset information. security: - bearerAuthAdmin: [] parameters: - $ref: '#/components/parameters/IfMatch' - $ref: '#/components/parameters/UserId' - $ref: '#/components/parameters/PresetId' responses: "204": $ref: '#/components/responses/204' "401": $ref: '#/components/responses/401' "404": $ref: '#/components/responses/404' "500": $ref: '#/components/responses/500' "501": $ref: '#/components/responses/501' # ############################################################################### # components: securitySchemes: bearerAuthAdmin: description: The authorization requires a user with admin privileges. type: http scheme: bearer bearerFormat: JWT bearerAuthUser: description: The authorization requires the relevant user. type: http scheme: bearer bearerFormat: JWT headers: ETag: description: >- The RFC7232 ETag header field in a response provides the current entity-tag for the selected resource. example: '"33a64df551425fcc55e4d42a148795d9f25f89d4"' schema: type: string parameters: Family: in: path name: family description: The product family associated with a collection of device models. required: true schema: type: string maxLength: 15 IfIndex: in: path name: ifIndex description: A network interface identifier. required: true schema: type: integer minimum: 0 IfMatch: in: header name: If-Match description: ETag for the client's copy of the data response. required: true schema: $ref: '#/components/headers/ETag' IfNoneMatch: in: header name: If-None-Match description: ETag for the client's copy of the data response. schema: $ref: '#/components/headers/ETag' PortId: in: path name: portId description: An identifier used to reference a specific port on the device. required: true schema: $ref: '#/components/schemas/PortId' PresetId: in: path name: presetId description: The ID of a specific preset. required: true schema: type: integer minimum: 0 UserId: in: path name: userId description: The ID of a specific user. required: true schema: type: integer minimum: 0 Uuid: in: path name: uuid description: The universal unique identifier of a device. required: true schema: $ref: '#/components/schemas/Uuid' schemas: AccessMode: description: >- The mode with which the preset is accessed. * `viewOnly` - shared video access, but no USB control. * `shared` - shared video access and shared USB control. * `exclusive` - shared video access, but only this device's local user has USB control. * `private` - only this device's local user has video access and USB control. type: string enum: - viewOnly - shared - exclusive - private ApplicationsOsd: description: Information specific to the On Screen Display (OSD). type: object required: - languages - keyboardLayouts - touchLaunchOsdActive properties: languages: description: A list of ISO 639 language codes that this application supports. type: array items: type: string keyboardLayouts: description: A list of keyboard layout codes that this application supports. type: array items: type: string touchLaunchOsdActive: description: A flag indicating if the system currently has the touch launch OSD active. Only available on a RX. type: boolean AudioSinkPartial: description: Information relating to a specific audio sink endpoint. type: object properties: portId: readOnly: true $ref: '#/components/schemas/PortId' connectorLabel: readOnly: true $ref: '#/components/schemas/ConnectorLabel' connectorLabelNumbers: readOnly: true $ref: '#/components/schemas/ConnectorLabelNumbers' capabilities: readOnly: true $ref: '#/components/schemas/PortCapabilities' connected: description: A flag indicating whether this port is connected to an audio device. readOnly: true type: boolean enabled: description: A flag indicating whether this port is enabled for use. type: boolean gain: description: If the port has the analog capability, then this property indicates/controls the type of audio gain applied to the signal. type: string enum: - mic - micBoost compatibilityCheck: description: >- If this port has digital capability, then this property indicates/controls whether compatibility with the external sink device (i.e. monitor) is performed before allowing the audio to be output. type: boolean AudioSink: description: All required information relating to a specific audio sink endpoint. required: - portId - connectorLabel - connectorLabelNumbers - capabilities - connected - enabled type: object allOf: - $ref: '#/components/schemas/AudioSinkPartial' AudioSinks: description: A list of audio sink endpoints. type: object required: - type - ports properties: type: $ref: '#/components/schemas/ConnectionType' ports: type: array items: $ref: '#/components/schemas/AudioSink' AudioSinkStatistics: $ref: '#/components/schemas/AudioStatistics' AudioSinkStatus: $ref: '#/components/schemas/AudioStatus' AudioSinksStatus: description: A list of audio sink status endpoints. type: object required: - type - ports properties: type: $ref: '#/components/schemas/ConnectionType' ports: type: array items: $ref: '#/components/schemas/AudioSinkStatus' AudioSourcePartial: description: Information relating to a specific audio source endpoint. type: object properties: portId: readOnly: true $ref: '#/components/schemas/PortId' connectorLabel: readOnly: true $ref: '#/components/schemas/ConnectorLabel' connectorLabelNumbers: readOnly: true $ref: '#/components/schemas/ConnectorLabelNumbers' capabilities: readOnly: true $ref: '#/components/schemas/PortCapabilities' connected: description: A flag indicating whether this port is connected to an audio device. readOnly: true type: boolean edidSourceUuid: description: If the source has the digitial capability, this is the UUID of the connected sink (RX) that provided the EDID currently being used. $ref: '#/components/schemas/EdidSourceUuid' enabled: description: A flag indicating whether this port is enabled for use. type: boolean qualityMode: description: If the source has the analog capability, this is the quality mode being used. type: string enum: - auto edidOptimisation: description: >- If the source has the digital capability and the edidSourceFixed is 'Attached monitor', then this flag controls whether optimised EDID processing is enabled. Enabling optimisation can speed up switching performance in cases where different sink monitors have the same native audio capabilities. type: boolean edidSourceFixed: description: >- If the source has the digital capability, this is the fixed EDID to be used or 'Attached monitor' to take the EDID from the attached RX device's monitor. type: string multicastAddresses: description: >- A list of multicast addresses for this port for each network interface. An empty string indicates that the corresponding network interface is unavailable. type: array items: $ref: '#/components/schemas/IpAddress' AudioSource: description: All required information relating to a specific audio source endpoint. required: - portId - connectorLabel - connectorLabelNumbers - capabilities - connected - enabled - multicastAddresses type: object allOf: - $ref: '#/components/schemas/AudioSourcePartial' AudioSources: description: A list of audio source endpoints. type: object required: - type - ports properties: type: $ref: '#/components/schemas/ConnectionType' ports: type: array items: $ref: '#/components/schemas/AudioSource' AudioSourceStatistics: $ref: '#/components/schemas/AudioStatistics' AudioSourceStatus: $ref: '#/components/schemas/AudioStatus' AudioSourcesStatus: description: A list of audio source status endpoints. type: object required: - type - ports properties: type: $ref: '#/components/schemas/ConnectionType' ports: type: array items: $ref: '#/components/schemas/AudioSourceStatus' AudioStatistics: description: Common statistics for audio sources and sinks. type: object required: - portId - connectorLabel - packetsTransmitted - packetsReceived - timestamp properties: portId: $ref: '#/components/schemas/PortId' connectorLabel: $ref: "#/components/schemas/ConnectorLabel" packetsTransmitted: description: The number of packets transmitted. type: integer minimum: 0 packetsReceived: description: The number of packets received on each network interface. type: array items: $ref: "#/components/schemas/NetworkPackets" timestamp: description: The monotonic time in milliseconds at which the statistics were measured. type: integer minimum: 0 AudioStatus: description: Common information relating to the status of a specific audio source or sink port. type: object required: - portId - connectorLabel - port - encoding - decoding - reception - transmission allOf: - $ref: '#/components/schemas/ConnectionStatusInfo' properties: portId: $ref: '#/components/schemas/PortId' connectorLabel: $ref: '#/components/schemas/ConnectorLabel' port: $ref: '#/components/schemas/AudioPortStatus' encoding: $ref: '#/components/schemas/AudioEncodingStatus' decoding: $ref: '#/components/schemas/AudioDecodingStatus' reception: $ref: '#/components/schemas/AudioReceptionStatus' transmission: $ref: '#/components/schemas/AudioTransmissionStatus' AudioDecodingStatus: description: Information relating to the audio decoder status. type: object required: - enabled - muted - samplesPerPacket - numberOfChannels - codec properties: enabled: description: Flag indicating if the audio decoding processing is enabled. type: boolean muted: description: Flag indicating if the audio decode is muted. type: boolean samplesPerPacket: description: The number of audio samples per packet. type: integer minimum: 0 numberOfChannels: description: The number of audio channels. type: integer minimum: 0 codec: description: The audio codec in use for this port. type: string AudioEncodingStatus: description: Information relating to the audio encoder status. type: object required: - enabled - muted - samplesPerPacket - numberOfChannels - codec properties: enabled: description: Flag indicating if the audio encoding processing is enabled. type: boolean muted: description: Flag indicating if the audio encode is muted. type: boolean samplesPerPacket: description: The number of audio samples per packet. type: integer minimum: 0 numberOfChannels: description: The number of audio channels. type: integer minimum: 0 codec: description: The audio codec in use for this port. type: string AudioPortStatusBase: description: Status information common to all audio port types. type: object required: - connected - powered - hotPlugAsserted - maxDataRate - type properties: connected: description: A flag indicating whether there is a device connected to the port. type: boolean powered: description: A flag indicating whether the device that is connected to the port is powered on. type: boolean hotPlugAsserted: description: A flag indicating whether the HotPlugDetect signal is asserted on this port. type: boolean maxDataRate: description: The maximum data rate supported on this port in kbps. type: integer minimum: 0 type: $ref: '#/components/schemas/DisplayInterfaceType' linkRate: description: The connection link rate in Mbps negotiated with the source device of a display port connection. Only present for type Display Port. type: integer minimum: 0 numLanes: description: The number of lanes of a display port connection. Only present for type Display Port. type: integer minimum: 0 mode: $ref: '#/components/schemas/DisplayInterfaceMode' info: description: >- Information for the input audio signal received on this port. If there is currently no valid info, this object will not be present. type: object required: - type - sampleFrequency - sampleSize - numberOfChannels - channelToSpeakerMapping - levelShift - downMixInhibit - lfeLevelShift properties: type: description: The audio encoding type. type: string sampleFrequency: description: The sample frequency in Hz (e.g. 48000, 44100) type: integer minimum: 0 sampleSize: description: The sample size in bits (16/20/24) type: integer minimum: 0 numberOfChannels: description: The number of audio channels. type: integer minimum: 0 channelToSpeakerMapping: description: The channel to speaker number mapping. type: string levelShift: description: The level shift in dB of how much the source attenuated during a down mix operation. type: integer minimum: 0 downMixInhibit: description: FLag indicating if down mix is not allowed. type: boolean lfeLevelShift: description: The level shift for the Low Frequency Effects channel (if present). type: integer minimum: 0 AudioPortStatus: description: Information relating to the audio port status. oneOf: - $ref: '#/components/schemas/DisplayPortAudioPortStatus' - $ref: '#/components/schemas/HdmiAudioPortStatus' - $ref: '#/components/schemas/DviAudioPortStatus' - $ref: '#/components/schemas/VgaAudioPortStatus' - $ref: '#/components/schemas/UnknownAudioPortStatus' discriminator: propertyName: type mapping: Display Port: '#/components/schemas/DisplayPortAudioPortStatus' HDMI: '#/components/schemas/HdmiAudioPortStatus' DVI: '#/components/schemas/DviAudioPortStatus' VGA: '#/components/schemas/VgaAudioPortStatus' Unknown: '#/components/schemas/UnknownAudioPortStatus' AudioReceptionStatus: description: Information relating to the audio network reception status. type: object required: - stopped - locked - networkInterface properties: stopped: description: A flag indicating whether the processing of received audio packets has stopped. type: boolean locked: description: A flag indicating wehether the processing is locked to the received audio packets. type: boolean networkInterface: $ref: "#/components/schemas/AvReceptionStatusNetwork" AudioTransmissionStatus: description: Information relating to the audio network transmission status. type: object required: - stopped - networkInterface properties: stopped: description: A flag indicating whether the transmission of audio packets has stopped. type: boolean networkInterface: $ref: "#/components/schemas/TransmissionStatusNetwork" AvReceptionStatusNetwork: description: The network interface reception status information for either an audio or video connection. type: array items: type: object required: - connectorLabel - enabled - dataArrivalStarted - sourceIpAddressFilterEnabled - destinationIpAddressFilterEnabled - sourcePortFilterEnabled - sourceIpAddress - unicastDestinationIpAddress - multicastDestinationIpAddress - sourcePort - destinationPort properties: connectorLabel: $ref: "#/components/schemas/ConnectorLabel" enabled: description: Whether packet reception is enabled for the audio/video stream on the network interface. type: boolean dataArrivalStarted: description: Whether data has started to arrive for the audio/video stream on the network interface. type: boolean sourceIpAddressFilterEnabled: description: Whether source IP address filtering is enabled for the audio/video stream on the network interface. type: boolean destinationIpAddressFilterEnabled: description: Whether destination IP address filtering is enabled for the audio/video stream on the network interface. type: boolean sourcePortFilterEnabled: description: Whether source port filtering is enabled for the audio/video stream on the network interface. type: boolean sourceIpAddress: description: The source IP address that is being filtered on. $ref: '#/components/schemas/IpAddress' unicastDestinationIpAddress: description: The destination unicast IP address that is being filtered on. $ref: '#/components/schemas/IpAddress' multicastDestinationIpAddress: description: The destination multicast IP address that is being filtered on. $ref: '#/components/schemas/IpAddress' sourcePort: $ref: '#/components/schemas/PortNumber' destinationPort: $ref: '#/components/schemas/PortNumber' CompatibleSources: description: >- An array of connections that are an intersection of the sink and source devices with common capabilities. For each instance, a list of source ports that are considered to offer compatible capabilites are also provided to allow for the selection of an alternate source port to the one that is currently used for the connection. type: array items: type: object required: - portId - connectorLabel properties: portId: description: The port number for the connection source that is compatible with the connection type and sinkPort. $ref: '#/components/schemas/PortId' connectorLabel: $ref: '#/components/schemas/ConnectorLabel' ConfigurationMode: description: >- The configuration mode of the device. * `StartOfLife` - the device is not configured. * `Auto` - the device is currently trying to automatically configure. * `Unmanaged` - the device is configured to work in a deployment that does not use a management server. * `Managed` - the device is configured to be managed via an external management server. type: string enum: - StartOfLife - Auto - Unmanaged - Managed ConnectedDevice: description: >- The information obtained from the connected device's EDID data. The edidDetails array will contain data based on the connectionType associated with the sink endpoint. type: object required: - manufacturer - model - serialNumber - manufactureDate - edidVersion - edidDetails properties: manufacturer: description: The three character manufacturer identifier for the connected device. type: string model: description: The model ID for the connected device. type: integer minimum: 0 serialNumber: description: The serial number for the connected device. type: string manufactureDate: description: The manufacture date (week/year) or (year) for the connected device. type: string edidVersion: description: The EDID version for the connected device. type: string edidDetails: description: The EDID mode details of the connected device. type: array items: type: object required: - supported - preferred - generated - edidMode properties: supported: description: A flag indicating whether the EDID mode provided by the connected device is supported by this sink device. type: boolean preferred: description: A flag indicating if this EDID mode is the preferred mode of the connected device. type: boolean generated: description: A flag indicating if this EDID mode was generated and inserted by the device. type: boolean edidMode: description: A string describing an audio or video EDID mode, depending on the sink endpoint connectionType. type: string characteristics: description: Only present for a video sink $ref: '#/components/schemas/VideoDeviceCharacteristics' ConnectionInfoPartial: description: Information associated with a connection to a peer device. type: object properties: connectionType: description: Identifies the type of the connection. $ref: '#/components/schemas/ConnectionType' sourcePort: description: Identifies the source connection port on the peer device. $ref: '#/components/schemas/PortId' sinkPort: description: Identifies the sink connection port on this device. $ref: '#/components/schemas/PortId' peerUuid: description: Identifies the peer device the connection is for. $ref: '#/components/schemas/Uuid' ConnectionInfo: description: All required information associated with a connection to a peer device. required: - connectionType - sourcePort - sinkPort - peerUuid type: object allOf: - $ref: '#/components/schemas/ConnectionInfoPartial' ConnectionNotificationBorderSettingsPartial: description: The information associated with the control and display of the connection notification border. type: object properties: enable: description: A flag indicating whether the border should be shown on the OSD when an enabled notification type is enabled and occurrs. type: boolean timeout: description: >- The duration (in seconds) that the border should remain visible. A value of 0 indicates no timeout. If the notification clears before the timeout, then the border will also be removed. type: integer minimum: 0 colour: $ref: '#/components/schemas/ConnectionNotificationColour' size: $ref: '#/components/schemas/ConnectionNotificationSize' ConnectionNotificationBorderSettings: description: All required information associated with the control and display of the connection notification border. required: - enable - timeout - colour - size type: object allOf: - $ref: '#/components/schemas/ConnectionNotificationBorderSettingsPartial' ConnectionNotificationColour: description: A colour that can be used for connection notification border and messages. type: string enum: - red - yellow - green - blue - aqua - orange - purple - pink ConnectionNotificationMessageSettingsPartial: description: The information associated with the control and display of the connection notification status message. type: object properties: position: $ref: '#/components/schemas/NotificationPosition' timeout: description: >- The duration (in seconds) that the message should remain visible. A value of 0 indicates no timeout. If the notification clears before the timeout, then the message will also be removed. type: integer minimum: 0 colour: $ref: '#/components/schemas/ConnectionNotificationColour' size: $ref: '#/components/schemas/ConnectionNotificationSize' ConnectionNotificationMessageSettings: description: All required information associated with the control and display of the connection notification status message. required: - position - timeout - colour - size type: object allOf: - $ref: '#/components/schemas/ConnectionNotificationMessageSettingsPartial' ConnectionNotificationSize: description: A size that can be used for connection notification border and messages. type: string enum: - small - medium - large ConnectionNotificationSettingsPartial: description: Information associated with the display of connection notifications on the OSD. type: object properties: border: $ref: '#/components/schemas/ConnectionNotificationBorderSettingsPartial' message: $ref: '#/components/schemas/ConnectionNotificationMessageSettingsPartial' enabled: description: >- A list of the connection types that will cause the notification border and message to be displayed. type: array items: $ref: '#/components/schemas/ConnectionType' translations: $ref: '#/components/schemas/ConnectionNotificationTranslationsPartial' ConnectionNotificationSettings: description: Information associated with the display of connection notifications on the OSD. type: object required: - border - message - enabled - translations properties: border: $ref: '#/components/schemas/ConnectionNotificationBorderSettings' message: $ref: '#/components/schemas/ConnectionNotificationMessageSettings' enabled: description: >- A list of the connection types that will cause the notification border and message to be displayed. type: array items: $ref: '#/components/schemas/ConnectionType' translations: $ref: '#/components/schemas/ConnectionNotificationTranslations' ConnectionNotificationStatus: description: The supported connection notification message statuses. Additional description for enumerations can be found for ConnectionState. type: string enum: - Disconnected - Connecting - Connected - IncompatibleVersion - IncompatibleSecuritySettings - BadAuthorisation - BadAssociation - SourceInRma - SourceInRecovery - SourceNotSupported - TooManyConnections - SourceDisabled - SourcePortNotConnected - NoSource - SourceOutOfRange - SourceOutOfResources - InsufficientBandwidth - EncodingStopped - PortNotConnected - NoData - OutOfRange - OutOfResources - DecodingStopped ConnectionNotificationTranslationsPartial: description: Information used to control how notification messages will be translated when being displayed via the OSD. type: object properties: types: description: A table of connection type translations. type: array items: $ref: '#/components/schemas/ConnectionTypeLabel' statuses: description: A table of connection notification status translations. type: array items: $ref: '#/components/schemas/ConnectionNotificationStatusMessage' ConnectionNotificationTranslations: description: All required information used to control how notification messages will be translated when being displayed via the OSD. required: - types - statuses type: object allOf: - $ref: '#/components/schemas/ConnectionNotificationTranslationsPartial' ConnectionState: description: The overall state of a connection. type: string enum: - Disconnected - Connecting - Connected ConnectionStatus: description: >- The detailed status of this connection. Not all values are applicable to a particular connection type. * `Unknown` - A connection has not been established. * `IncompatibleVersion` - The control protocol version is incompatible/unsupported between the peer and this device. * `IncompatibleSecuritySettings` - The control protocol security settings are incompatible/unsupported between the peer and this device. * `BadAuthorisation` - The connection failed the authorisation stage (likely a bad access password). * `BadAssociation` - The connection failed and returned an unknown association error. * `SourceInRma` - The connection failed as the peer device is in RMA mode. * `SourceInRecovery` - The connection failed as the peer device is in recovery mode. * `SourceNotSupported` - The connection failed as the port is not supported on the peer device. * `TooManyConnections` - The connection failed as the peer device has reached its device limit. * `SourceDisabled` - The connection failed as the port has been disabled on the peer device. * `SourcePortNotConnected` - The connection is established but there is no appliance (or suitable appliance) connected on the port associated with this connection. * `NoSource` - The connection is established but there is no input signal being received from the peer device. * `SourceOutOfRange` - The connection has an invalid or unsupported input source signal peer device (audio and video connections only). * `SourceOutOfResources` - The connection is currently out of resources at the peer device. * `InsufficientBandwidth` - There is insufficient network bandwidth to support the requested data for this connection. * `EncodingStopped` - The encoding of the source data at the peer has stopped (due to an error or fault). * `PortNotConnected` - There is no appliance (or suitable appliance) connected on the port associated with this connection. * `NoData` - There is no data currently being received by the device. * `OutOfRange` - The data for the connection produces an output signal that is out of range for the capabilites of this device, or the appliance connected to this device. * `OutOfResources` - The device is currently out of resources to process the data for this connection. * `DecodingStopped` - The decoding of the data at this device has stopped (due to an error or fault). * `Ok` - The connection is fully operational. type: string enum: - Unknown - IncompatibleVersion - IncompatibleSecuritySettings - BadAuthorisation - BadAssociation - SourceInRma - SourceInRecovery - SourceNotSupported - TooManyConnections - SourceDisabled - SourcePortNotConnected - NoSource - SourceOutOfRange - SourceOutOfResources - InsufficientBandwidth - EncodingStopped - PortNotConnected - NoData - OutOfRange - OutOfResources - DecodingStopped - Ok ConnectionStatusInfo: description: Information associated with the status of a preset connection. required: - state - status properties: state: $ref: '#/components/schemas/ConnectionState' status: $ref: '#/components/schemas/ConnectionStatus' ConnectionNotificationStatusMessage: description: >- For a given notification status, the corresponding label translation will be used to display the message. A label string can contain tokens that will be substituted when displaying the message via the OSD. These tokens are: * `%type%` - will be replaced by the corresponding connection type label from the ConnectionNotificationTranslations types array. * `%portId%` - will be replaced by the port identifier number if the notification has an associated portId. * `%sourceId%` - will be replaced by the source (TX) port identifier number if the notification has an associated sourceId. * `%sinkId%` - will be replaced by the sink (RX) port identifier number if the notification has an associated sinkId. type: object required: - status - label properties: status: $ref: '#/components/schemas/ConnectionNotificationStatus' label: description: The translated text to be used for this status. type: string maxLength: 96 ConnectionTypeLabel: description: >- For a given connection type notification, if the %type% token is present in the corresponding statuses label, it will be substituted with the label from the related entry in this table. type: object required: - type - label properties: type: $ref: '#/components/schemas/ConnectionType' label: description: The translated text to be used for this connection type. type: string maxLength: 15 ConnectorLabel: description: A label that can be used to idenfity a particular physical port on a device. type: string ConnectorLabelNumbers: description: >- A list of connector label numbers. Where a connector label contains a number, this number will be represented in this array. In cases where the connector label covers a range of numbers (for example 1-4), each of these numbers will be represeted by an entry within this array. If there is no number associated with the connector, then the array will be empty. The intent is that these labels can be used to map port information that relates to a specific connector to a label that can be presented to a user that corresponds to the label on the physical device. A specific example of this is the /sinks/usb/connectedDevices endpoint that contains a 'connector' property. This indicates which connector (indexed from 1) in the USB sink port that a device is connected to. When presenting this to an end-user, it is desirable to map this to the number that is shown on the case of the device and to the number would be used to access this array to obtain the corresponding label number. type: array items: type: integer minimum: 0 ConnectionType: description: Available connection types. type: string enum: - video - audio - usb - serial CpuLoad: description: >- A CPU load is derrived from the number of processes either running or waiting to run on a CPU. type: number format: float minimum: 0 DeviceInfoPartial: description: The information associated with a device. type: object properties: uuid: description: The UUID of the device. $ref: '#/components/schemas/Uuid' name: description: Friendly name of the device. $ref: '#/components/schemas/DeviceName' description: description: Description of the device. $ref: '#/components/schemas/DeviceDescription' location: description: Location of the device. $ref: '#/components/schemas/DeviceLocation' serialNumber: description: Serial number of the device. $ref: '#/components/schemas/DeviceSerialNumber' type: description: The type of the device. $ref: '#/components/schemas/DeviceType' model: description: Model name of this device. $ref: '#/components/schemas/DeviceModel' isConfigured: description: True if the device has been configured. readOnly: true type: boolean isStatic: description: True if the device has been added manually (was not automatically discovered). readOnly: true type: boolean isInRecovery: description: True if the device booted into it's recovery (safe) mode of operation. readOnly: true type: boolean interfaces: description: >- Two dimensional array of network information. Firstly, it is indexed by local interfaces - to find out more about a local interface refer to the relevant index as ifIndex in /interfaces/settings. Secondly, each local interface includes 0 or more entries - one for each known interface on the peer device. The ifIndex references the interface of the device that corresponds to the IP/MAC address type: array items: type: array items: $ref: '#/components/schemas/DeviceInterface' DeviceInfo: description: All required information associated with a device. required: - uuid - name - description - location - serialNumber - type - model - isConfigured - isStatic - isInRecovery - interfaces type: object allOf: - $ref: '#/components/schemas/DeviceInfoPartial' DeviceDescription: description: A description for a device. type: string maxLength: 63 DeviceInterface: description: Information relating to a device network interface. type: object required: - ipAddress - macAddress - ifIndex properties: ipAddress: description: IPv4 address of the interface on this device. $ref: '#/components/schemas/IpAddress' macAddress: description: MAC address of the interface on this device. $ref: '#/components/schemas/MacAddress' ifIndex: $ref: '#/components/schemas/IfIndex' DeviceLocation: description: A location of a device. type: string maxLength: 63 DeviceModel: description: A device model, identifying a specific product or product variant. type: string maxLength: 15 DeviceName: description: The name of a device type: string maxLength: 31 DeviceSerialNumber: description: A device serial number. type: string maxLength: 47 DeviceType: description: >- The type of a device. * `RX` - A receiver/remote device, typically providing sink ports. * `TX` - A transmitter/local device, typically providing source ports and connected to a PC. type: string enum: - RX - TX DiagnosticsFileInfo: description: Information relating to a diagnostics file. type: object required: - fileState - filePath properties: fileState: $ref: '#/components/schemas/OperationState' filePath: description: >- The name of the generated diagnostics dump file. If the file was requested to be generated on a connected USB device, it will simply be the filename, without the path to it. This will be an empty string unless fileState is complete. type: string DisplayInterfaceType: description: The different types of a display interface. type: string enum: - Display Port - HDMI DisplayInterfaceMode: description: The different modes an HDMI display interface type can be operating in. type: string enum: - DVI - HDMI DisplayPortAudioPortStatus: description: Status information relating to an audio port of Display Port type. type: object required: - linkRate - numLanes allOf: - $ref: '#/components/schemas/AudioPortStatusBase' properties: linkRate: description: The connection link rate in Mbps negotiated with the source device of a display port connection. type: integer minimum: 0 numLanes: description: The number of lanes of a display port connection. type: integer minimum: 0 DisplayPortVideoPortStatus: description: Status information relating to a video port of Display Port type. type: object required: - linkRate - numLanes allOf: - $ref: '#/components/schemas/VideoPortStatusBase' properties: linkRate: description: The connection link rate in Mbps negotiated with the source device of a display port connection. type: integer minimum: 0 numLanes: description: The number of lanes of a display port connection. type: integer minimum: 0 DviAudioPortStatus: description: Status information relating to an audio port of DVI type. type: object allOf: - $ref: '#/components/schemas/AudioPortStatusBase' DviVideoPortStatus: description: Status information relating to a video port of DVI type. type: object allOf: - $ref: '#/components/schemas/VideoPortStatusBase' EdidModes: description: A class of EDID modes. type: object required: - class - modes properties: class: description: >- Identifies the class of EDID modes. * `audio` - the EDID modes are associated with a audio port type. * `video` - the EDID modes are associated with a video port type. * `dynamicRange` - the EDID modes are dynamic range modes associated with the video port type. type: string enum: - audio - video - dynamicRange modes: description: A list of EDID modes for the associated class. type: array items: type: string EdidSourceUuid: description: The UUID that identifies the source of an EDID. oneOf: - $ref: '#/components/schemas/Uuid' - $ref: '#/components/schemas/IpAddress' Fqdn: description: A Fully Qualified Domain Name or IP address in dotted quad format. type: string maxLength: 255 GeneralSettingsPartial: description: General settings properties. properties: name: $ref: '#/components/schemas/DeviceName' description: $ref: '#/components/schemas/DeviceDescription' location: $ref: '#/components/schemas/DeviceLocation' type: readOnly: true $ref: '#/components/schemas/DeviceType' restrictRemoteUsers: description: Flag indicating whether remote non-admin users are restricted from video disrupting actions. type: boolean GeneralUserSettingsPartial: description: Information associated with a user account. properties: userId: readOnly: true $ref: '#/components/schemas/UserId' isAdmin: description: A flag indicating if this user is an administrator. type: boolean username: description: The username of the user. type: string sessionId: description: The sessionId of the user. type: integer minimum: 0 GeneralUserSettings: description: All required information associated with a user account. required: - userId - isAdmin - username - sessionId type: object allOf: - $ref: '#/components/schemas/GeneralUserSettingsPartial' HdmiAudioPortStatus: description: Status information relating to an audio port of HDMI type. type: object allOf: - $ref: '#/components/schemas/AudioPortStatusBase' properties: mode: $ref: '#/components/schemas/DisplayInterfaceMode' HdmiVideoPortStatus: description: Status information relating to a video port of HDMI type. type: object required: - mode allOf: - $ref: '#/components/schemas/VideoPortStatusBase' properties: mode: $ref: '#/components/schemas/DisplayInterfaceMode' Hotkey: description: The information used to define a hotkey sequence. type: object required: - modifier1 - modifier2 - key properties: modifier1: description: The first modifer key of a hotkey sequence. $ref: '#/components/schemas/HotkeyModifier' modifier2: description: The second modifer key of a hotkey sequence. $ref: '#/components/schemas/HotkeyModifier' key: description: Identifies the keyboard key to associate with the hotkey seuqnce to trigger the corresponding action. type: string HotkeyModifier: description: A string identifying a keyboard modifier key that can be used as a the modifier element of a hotkey sequence. type: string enum: - none - lctrl - lshift - lalt - lgui - rctrl - rshift - ralt - rgui - ctrl - shift - alt - gui HotkeysPartial: description: >- A list of supported hotkey sequences and their corresponding actions. type: object properties: showOsd: description: The hotkey combination for showing (launching) the OSD. $ref: '#/components/schemas/Hotkey' mouseShowOsd: description: The mouse button combination for showing (launching) the OSD. $ref: '#/components/schemas/MouseHotkey' disconnect: description: The hotkey combination for disconnected the current preset. $ref: '#/components/schemas/Hotkey' previousPreset: description: The hotkey combination for selecting the preset preceeding the current preset. $ref: '#/components/schemas/Hotkey' nextPreset: description: The hotkey combination for selecting the preset proceeding the current preset. $ref: '#/components/schemas/Hotkey' lastPreset: description: The hotkey combination for selecting the preset that was previously selected. $ref: '#/components/schemas/Hotkey' preset0: description: The hotkey combination for selected preset number 0. $ref: '#/components/schemas/Hotkey' preset1: description: The hotkey combination for selected preset number 1. $ref: '#/components/schemas/Hotkey' preset2: description: The hotkey combination for selected preset number 2. $ref: '#/components/schemas/Hotkey' preset3: description: The hotkey combination for selected preset number 3. $ref: '#/components/schemas/Hotkey' preset4: description: The hotkey combination for selected preset number 4. $ref: '#/components/schemas/Hotkey' preset5: description: The hotkey combination for selected preset number 5. $ref: '#/components/schemas/Hotkey' preset6: description: The hotkey combination for selected preset number 6. $ref: '#/components/schemas/Hotkey' preset7: description: The hotkey combination for selected preset number 7. $ref: '#/components/schemas/Hotkey' preset8: description: The hotkey combination for selected preset number 8. $ref: '#/components/schemas/Hotkey' preset9: description: The hotkey combination for selected preset number 9. $ref: '#/components/schemas/Hotkey' extendedPresets: description: >- The hotkey combination for selecting a preset number in the range 0-99. Note that this sequence is only the modifier(s) add will always have a key value of "none". $ref: '#/components/schemas/Hotkey' Hotkeys: description: All required hotkey properties. required: - showOsd - mouseShowOsd - disconnect - previousPreset - nextPreset - lastPreset - viewOnlyMode - sharedMode - exclusiveMode - privateMode - preset0 - preset1 - preset2 - preset3 - preset4 - preset5 - preset6 - preset7 - preset8 - preset9 - extendedPresets type: object allOf: - $ref: '#/components/schemas/HotkeysPartial' IfIndex: description: A network interface identifier, used to identify a specific network port on a device. type: integer minimum: 0 IgmpDiagnosticInfo: description: IGMP diagnostics info for a specific test instance. type: object required: - state - ifIndex - connectorLabel - querier - ipAddress - version - multicastFilteringResult - multicastFastLeaveResult - duration - unicastPacketLoss - unicastMinResponseTime - unicastAvgResponseTime - unicastMaxResponseTime - multicastPacketLoss - multicastMinResponseTime - multicastAvgResponseTime - multicastMaxResponseTime - multicastPacketsReceivedPreMembership - multicastPacketsReceivedDuringMembership - multicastPacketsReceivedPostMembership - timeTakenToJoinMulticastMembership - timeTakenToLeaveMulticastMembership properties: state: $ref: '#/components/schemas/OperationState' ifIndex: description: The local network interface ID this IGMP test was performed using. $ref: '#/components/schemas/IfIndex' connectorLabel: $ref: "#/components/schemas/ConnectorLabel" querier: description: >- An array of the multicast routers (IGMP querier) seen on the network interface. An empty array indicates that no multicast routers have been seen on this interface and as a result, the state for the test will be marked as failed. Multiple entries in the array may indicate an issue with the network configuration and so additional checking of the results should be performed to confirm either way. Note: If the IGMP diagnostic test is performed shortly after the device has booted, it is likely that no IGMP queries will have been observed and the test will be marked as a failure when running it again may not. type: array items: $ref: '#/components/schemas/IgmpQuerierInfo' ipAddress: description: The peer IP address this igmp test was performed using. $ref: '#/components/schemas/IpAddress' version: description: The version of IGMP that was detected on the network. This is 0 if it is not known. type: integer minimum: 0 multicastFilteringResult: description: >- The result of testing for network multicast filtering support. * `unknown` - The result is presently not known, likely due to the test not having completed yet. * `failed` - More than 20% of the transmitted multicast packets were received. * `passedMarginally` - Some, but less than 20% of the transmitted multicast packets were received. * `passed` - None of the transmitted multicast packets were received. $ref: '#/components/schemas/IgmpDiagnosticResult' multicastFastLeaveResult: description: >- The result of testing for network multicast fast leave support. * `unknown` - The result is presently not known, likely due to the test not having completed yet. * `failed` - Either multicastFilteringResult is failed or it took more than 4000ms to leave the multicast membership. * `passedMarginally` - It took more than 16.666ms but less than 4000ms to leave the multicast membership. * `passed` - It took less than 16.666ms to leave the multicast membership. $ref: '#/components/schemas/IgmpDiagnosticResult' duration: description: The total duration of the test (in milliseconds). type: integer minimum: 0 unicastPacketLoss: description: The percentage of unicast packets that were lost. type: integer minimum: 0 unicastMinResponseTime: description: The minimum time (in microseconds) after which a unicast response was received. Will be 0 if unicastPacketLoss is 100. type: integer minimum: 0 unicastAvgResponseTime: description: The average time (in microseconds) after which a unicast response was received. Will be 0 if unicastPacketLoss is 100. type: integer minimum: 0 unicastMaxResponseTime: description: The maximum time (in microseconds) after which a unicast response was received. Will be 0 if unicastPacketLoss is 100. type: integer minimum: 0 multicastPacketLoss: description: The percentage of multicast packets that were lost. type: integer minimum: 0 multicastMinResponseTime: description: The minimum time (in microseconds) after which a multicast response was received. Will be 0 if multicastPacketLoss is 100. type: integer minimum: 0 multicastAvgResponseTime: description: The average time (in microseconds) after which a multicast response was received. Will be 0 if multicastPacketLoss is 100. type: integer minimum: 0 multicastMaxResponseTime: description: The maximum time (in microseconds) after which a multicast response was received. Will be 0 if multicastPacketLoss is 100. type: integer minimum: 0 multicastPacketsReceivedPreMembership: description: The number of multicast packets received before joining the multicast membership. type: integer minimum: 0 multicastPacketsReceivedDuringMembership: description: The number of multicast packets received after joining the multicast membership. type: integer minimum: 0 multicastPacketsReceivedPostMembership: description: The number of multicast packets received after leaving the multicast membership. type: integer minimum: 0 timeTakenToJoinMulticastMembership: description: The time in microseconds for an IGMP join to take an affect. type: integer minimum: 0 timeTakenToLeaveMulticastMembership: description: The time in microseconds for an IGMP leave to take an affect. A value of 2147483647 indicates that the leave did not occur. type: integer minimum: 0 IgmpDiagnosticResult: description: >- The result of testing for network multicast filtering support. Specific meaning for each value is dependent on the associated test result. type: string enum: - unknown - failed - passedMarginally - passed IgmpQuerierInfo: description: Information relating to an IGMP querier (multicast router). type: object required: - ipAddress - age properties: ipAddress: description: The source IP address of the querier. $ref: '#/components/schemas/IpAddress' age: description: The time (in seconds) since the most recent query was observed. type: integer minimum: 0 ImageId: description: Identifies an instance of a 'main' ImageType. type: integer enum: - 0 - 1 ImageInfo: description: Information relating to a specific system software image. type: object required: - imageType - version - buildDate - valid - active - preferred properties: imageType: $ref: "#/components/schemas/ImageType" imageId: description: The ID of this image. This property will only exist for images with imageType 'main'. $ref: '#/components/schemas/ImageId' version: description: The software version of this image. type: string buildDate: description: The date and time that the image was built. type: string valid: description: A flag indicating whether this image is valid. type: boolean active: description: A flag indicating whether this image is currently active. type: boolean preferred: description: A flag indicating whether this is the image the device will boot into upon a reboot. type: boolean ImageType: description: Describes possible device software image types. type: string enum: - bootloader - recovery - main NetworkInterfaceConnectorType: description: Identifies a type of network interface connector. type: string enum: - 'Unknown' - 'Not fitted' - 'RJ45' - 'SFP-Fibre' - 'SFP-Copper' NetworkInterfaceSettingsPartial: description: Information relating to the settings for a network interface. type: object properties: ifIndex: $ref: '#/components/schemas/IfIndex' readOnly: true connectorLabel: $ref: '#/components/schemas/ConnectorLabel' readOnly: true dhcpEnabled: description: Whether DHCP is enabled on this network interface. type: boolean ipAddress: description: >- The static IP address for this network interface. Only used when dhcpEnabled is false. Will be changed to the default link local address for the device type and interface when dhcpEnabled is changed to true. $ref: '#/components/schemas/IpAddress' netmask: description: >- The static netmask for this network interface. Only used when dhcpEnabled is false. Will be changed to a class B (i.e. /16 or 255.255.0.0) mask when dhcpEnabled is changed to true. $ref: '#/components/schemas/IpAddress' gateway: description: >- The static gateway IP address for this network interface. Only used when dhcpEnabled is false. Will be cleared when dhcpEnabled is changed to true. $ref: '#/components/schemas/IpAddress' bandwidthLimit: description: >- The maximum bandwidth permissible for this interface in Mbps. This property only exists for a TX. The valid range for this property is defined in the NetworkInterfaceStatus endpoint for the matching ifIndex. type: integer minimum: 0 NetworkInterfaceSettings: description: All required information relating to the settings for a network interface. required: - ifIndex - connectorLabel - dhcpEnabled - ipAddress - netmask - gateway type: object allOf: - $ref: '#/components/schemas/NetworkInterfaceSettingsPartial' NetworkInterfaceStatistics: description: Statistics relating to a network interface. type: object required: - ifIndex - connectorLabel - bitsReceived - packetsReceived - bytesReceived - errorsReceived - droppedPacketsReceived - packetCollisionsReceived - lengthErrorsReceived - overflowErrorsReceived - crcErrorsReceived - frameErrorsReceived - fifoErrorsReceived - missedPacketsReceived - unicastPacketsReceived - multicastPacketsReceived - broadcastPacketsReceived - 64BytePacketsReceived - 65To127BytePacketsReceived - 128To255BytePacketsReceived - 256To511BytePacketsReceived - 512To1023BytePacketsReceived - 1024To1518BytePacketsReceived - 1519ToMaxBytePacketsReceived - bitsTransmitted - packetsTransmitted - bytesTransmitted - errorsTransmitted - droppedPacketsTransmitted - abortedPacketsTransmitted - carrierErrorsTransmitted - fifoErrorsTransmitted - heartbeatErrorsTransmitted - windowErrorsTransmitted - unicastPacketsTransmitted - multicastPacketsTransmitted - broadcastPacketsTransmitted - 64BytePacketsTransmitted - 65To127BytePacketsTransmitted - 128To255BytePacketsTransmitted - 256To511BytePacketsTransmitted - 512To1023BytePacketsTransmitted - 1024To1518BytePacketsTransmitted - 1519ToMaxBytePacketsTransmitted - timestamp properties: ifIndex: $ref: '#/components/schemas/IfIndex' connectorLabel: $ref: '#/components/schemas/ConnectorLabel' bitsReceived: description: The total number of bits received. type: integer minimum: 0 packetsReceived: description: The total number of packets received. type: integer minimum: 0 bytesReceived: description: The total number of bytes received. type: integer minimum: 0 errorsReceived: description: The number of errored packets received. type: integer minimum: 0 droppedPacketsReceived: description: The number of received packets dropped due to no space in OS buffers. type: integer minimum: 0 packetCollisionsReceived: description: The number of packets received that had collisions. type: integer minimum: 0 lengthErrorsReceived: description: The number of packets received with length errors. type: integer minimum: 0 overflowErrorsReceived: description: The number of receiver ring buffer overflows. type: integer minimum: 0 crcErrorsReceived: description: The number of packets received with CRC errors. type: integer minimum: 0 frameErrorsReceived: description: The number of packets received with frame alignment errors. type: integer minimum: 0 fifoErrorsReceived: description: The number of receiver FIFO overruns. type: integer minimum: 0 missedPacketsReceived: description: The number of receiver missed packets. type: integer minimum: 0 unicastPacketsReceived: description: The number of unicast packets received. type: integer minimum: 0 multicastPacketsReceived: description: The number of multicast packets received. type: integer minimum: 0 broadcastPacketsReceived: description: The number of broadcast packets received. type: integer minimum: 0 64BytePacketsReceived: description: The number of packets received which are <=64 bytes in size. type: integer minimum: 0 65To127BytePacketsReceived: description: The number of packets received which are between 65-137 bytes in size. type: integer minimum: 0 128To255BytePacketsReceived: description: The number of packets received which are between 128-255 bytes in size. type: integer minimum: 0 256To511BytePacketsReceived: description: The number of packets received which are between 256-511 bytes in size. type: integer minimum: 0 512To1023BytePacketsReceived: description: The number of packets received which are between 512-1023 bytes in size. type: integer minimum: 0 1024To1518BytePacketsReceived: description: The number of packets received which are between 1024-1518 bytes in size. type: integer minimum: 0 1519ToMaxBytePacketsReceived: description: The number of packets received which are between 1519-Max bytes in size. type: integer minimum: 0 bitsTransmitted: description: The total number of bits transmitted. type: integer minimum: 0 packetsTransmitted: description: The total number of packets transmitted. type: integer minimum: 0 bytesTransmitted: description: The total number of bytes transmitted. type: integer minimum: 0 errorsTransmitted: description: The number of errored packets transmitted. type: integer minimum: 0 droppedPacketsTransmitted: description: The number of packets dropped due to no space available in the OS. type: integer minimum: 0 abortedPacketsTransmitted: description: The number of transmitted packets that were aborted. type: integer minimum: 0 carrierErrorsTransmitted: description: The number of transmitter carrier errors. type: integer minimum: 0 fifoErrorsTransmitted: description: The number of transmitter FIFO errors. type: integer minimum: 0 heartbeatErrorsTransmitted: description: The number of transmitter heartbeat errors. type: integer minimum: 0 windowErrorsTransmitted: description: The number of transmitter window errors. type: integer minimum: 0 unicastPacketsTransmitted: description: The number of unicast packets transmitted. type: integer minimum: 0 multicastPacketsTransmitted: description: The number of multicast packets transmitted. type: integer minimum: 0 broadcastPacketsTransmitted: description: The number of broadcast packets transmitted. type: integer minimum: 0 64BytePacketsTransmitted: description: The number of packets transmitted which are <=64 bytes in size. type: integer minimum: 0 65To127BytePacketsTransmitted: description: The number of packets transmitted which are between 65-137 bytes in size. type: integer minimum: 0 128To255BytePacketsTransmitted: description: The number of packets transmitted which are between 128-255 bytes in size. type: integer minimum: 0 256To511BytePacketsTransmitted: description: The number of packets transmitted which are between 256-511 bytes in size. type: integer minimum: 0 512To1023BytePacketsTransmitted: description: The number of packets transmitted which are between 512-1023 bytes in size. type: integer minimum: 0 1024To1518BytePacketsTransmitted: description: The number of packets transmitted which are between 1024-1518 bytes in size. type: integer minimum: 0 1519ToMaxBytePacketsTransmitted: description: The number of packets transmitted which are between 1519-Max bytes in size. type: integer minimum: 0 timestamp: description: The monotonic time in milliseconds at which the statistics were measured. type: integer minimum: 0 NetworkInterfaceStatus: description: Information relating to the status of a network interface. type: object required: - ifIndex - connectorLabel - speed - macAddress - ipAddress - netmask - gateway - dhcpServer - connectorType - connectorVendor - connectorModel - available - linkUp properties: ifIndex: $ref: '#/components/schemas/IfIndex' connectorLabel: $ref: "#/components/schemas/ConnectorLabel" speed: description: The maximum speed of this network interface in Mbps. type: integer minimum: 0 macAddress: $ref: '#/components/schemas/MacAddress' ipAddress: $ref: '#/components/schemas/IpAddress' netmask: $ref: '#/components/schemas/IpAddress' gateway: $ref: '#/components/schemas/IpAddress' dhcpServer: $ref: '#/components/schemas/IpAddress' connectorType: description: The connector type for this network interface. $ref: '#/components/schemas/NetworkInterfaceConnectorType' connectorVendor: description: The connector vendor if the connectorType is one of the SFP types, blank otherwise. type: string connectorModel: description: The connector model if the connectorType is one of the SFP types, blank otherwise. type: string available: description: Whether this network interface is physically available. type: boolean linkUp: description: Whether the link state of this network interface is up. type: boolean minBandwidthLimit: description: The minimum bandwidth limit (in Mbps) that can be applied to this interface. This property only exists for a TX. type: integer minimum: 0 maxBandwidthLimit: description: The maximum bandwidth limit (in Mbps) that can be applied to this interface. This property only exists for a TX. type: integer minimum: 0 IpAddress: description: An IP address in dotted quad notation (aaa.bbb.ccc.ddd). type: string format: ipv4 IpRoutingInfo: type: object required: - destination - gateway - netmask properties: destination: $ref: '#/components/schemas/IpAddress' gateway: $ref: '#/components/schemas/IpAddress' netmask: $ref: '#/components/schemas/IpAddress' LedBrightness: description: >- The available brightness levels for the LED. * `off` - the LED will not be illuminated unless a critical fault state is reported. type: string enum: - off - low - medium - high LoggingInfoPartial: description: Information associated with the diagnostics logging configuration and state. type: object properties: enabled: description: Whether remote logging is enabled for this device. type: boolean remoteServer: description: The hostname (FQDN) or IP address of the remote server the device is to log to (0.0.0.0 indicates disabled). $ref: '#/components/schemas/Fqdn' severityLevel: $ref: '#/components/schemas/SyslogSeverity' filePath: description: The file path of the log file that can be fetched. readOnly: true type: string LoggingInfo: description: All required information associated with the diagnostics logging configuration and state. required: - enabled - remoteServer - severityLevel - filePath type: object allOf: - $ref: '#/components/schemas/LoggingInfoPartial' MacAddress: description: >- A MAC (Media Access Control) address, or hardware or physical address. A unique, 12-character alphanumeric attribute that is used to identify an individual electronic device on a network. Format: "aa:bb:cc:dd:ee:ff" type: string pattern: '^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$' MagicEyeOverridePartial: description: >- Information associated with a Magic Eye override. type: object properties: id: description: Identifies a specific override. type: string enum: - SDR10 level: description: The Magic Eye level to be used for this override. type: integer maximum: 4 minimum: 0 MagicEyeOverride: description: All required information associated with a Magic Eye override. type: object required: - id - level allOf: - $ref: '#/components/schemas/MagicEyeOverridePartial' MagicEyeSettingsPartial: description: Information associated with the Magic Eye video pixel differencing feature. type: object properties: enabled: description: A flag providing global control of the Magic Eye feature. type: boolean overrides: description: >- A list of supported Magic Eye level overrides. Each entry can be used to change the default Magic Eye level used for the video format associated with the override id. If no overrides are supported by the product, an empty array will be present in the response data. type: array items: $ref: '#/components/schemas/MagicEyeOverridePartial' MagicEyeSettings: description: All required information associated with the Magic Eye settings. type: object required: - enabled - overrides properties: enabled: description: A flag providing global control of the Magic Eye feature. type: boolean overrides: description: >- A list of supported Magic Eye level overrides. Each entry can be used to change the default Magic Eye level used for the video format associated with the override id. If no overrides are supported by the product, an empty array will be present in the response data. type: array items: $ref: '#/components/schemas/MagicEyeOverride' MouseButton: description: An enumeration that identifies a button on a mouse device. type: string enum: - none - left - middle - right MouseHotkeyPartial: description: >- A sequence of mouse buttons used to create a hotkey sequence. Repeated values are not valid unless all three are "none". type: object properties: modifier1: description: The first mouse button in the sequence. $ref: '#/components/schemas/MouseButton' modifier2: description: The second mouse button in the sequence. $ref: '#/components/schemas/MouseButton' key: description: The thrid mouse button in the sequence. $ref: '#/components/schemas/MouseButton' MouseHotkey: description: All required mouse hotkey properties. required: - modifier1 - modifier2 - key type: object allOf: - $ref: '#/components/schemas/MouseHotkeyPartial' PortNumber: description: An IP (TCP/UDP) port number. type: integer minimum: 1 maximum: 65535 NetworkPackets: description: The packet counts associated with a network interface. type: object required: - connectorLabel - packets properties: connectorLabel: $ref: "#/components/schemas/ConnectorLabel" packets: type: integer minimum: 0 NetworkSettingsPartial: description: Network configuration information. type: object properties: domain: description: The currently assigned domain name. readOnly: true type: string hostname: description: The currently assigned host name. readOnly: true type: string dnsServerDynamicAddresses: description: A list of DNS IP addresses obtained via DHCP. readOnly: true type: array items: $ref: '#/components/schemas/IpAddress' managementServerDynamicAddresses: description: List of management server IP addresses obtained via DHCP. readOnly: true type: array items: $ref: '#/components/schemas/IpAddress' ntpServerDynamicAddresses: description: A list of NTP servers (IP or FQDN) obtained via DHCP. readOnly: true type: array items: oneOf: - $ref: '#/components/schemas/IpAddress' - $ref: '#/components/schemas/Fqdn' igmpVersion: description: >- The default IGMP version behaviour: * `0` - no enforcement of IGMP version, v1/v2 fallback allowed. Will return to v3 mode again if all v1/v2 Querier Present timers expire. * `2` - enforce use of IGMPv2. Will fallback to v1 if receive v1 Query message. Will reply Report if receives v2 query. * `3` - enforce use of IGMPv3. readOnly: true type: integer enum: - 0 - 2 - 3 domainStatic: description: The consigured static domain name that will be used if there is no dynamic domain name (via DHCP). type: string maxLength: 63 dnsServerStaticAddresses: description: A list of DNS IP addresses that have been manually configured. Will be combined with any available dynamic addresses. type: array maxItems: 4 items: $ref: '#/components/schemas/IpAddress' managementServerStaticAddresses: description: A list of management server IP addresses that have been manually configured. Will be combined with any available dynamic addresses. type: array maxItems: 4 items: $ref: '#/components/schemas/IpAddress' ntpServerStaticAddresses: description: A list of NTP server addresses (IP or FQDN) that have been manually configured. Will be combined with any available dynamic addresses. type: array maxItems: 4 items: oneOf: - $ref: '#/components/schemas/IpAddress' - $ref: '#/components/schemas/Fqdn' ntpServerEnabled: description: A flag indicating whether the NTP service is enabled on the device. type: boolean ntpServerKeyId: description: The ID of the key to be used with secure NTP. type: integer minimum: 0 ntpServerKeyValue: description: The value of the key to be used for secure NTP as a hexadecimal string. type: string maxLength: 16 managementServerEnabled: description: >- A flag indicating whether server based management is enabled. If disabled, the device will not attempt to connect to a management server even when management server addresses are configured or obtained via DHCP. Changing the property value will not take effect until the device is rebooted. type: boolean independentNetworks: description: >- Only applicable for RX device type. A flag indicating network connectivity: - `true` - indicates that the device is connected to more than one network (i.e. each network interface is connected to a different network). - `false` - indicates that the device is connected to a single network (i.e. all network interfaces are connected to the same network). type: boolean routeOfLastResort: description: >- The network interface ID that will be used for gateway routing if the interface based routing is unable to route to a given detination IP address. The special value 0 is used to indicate that no interface is configured to be the route of last resort. type: integer minimum: 0 NetworkSettings: description: All required network configuration information. required: - domain - hostname - dnsServerDynamicAddresses - ntpServerDynamicAddresses - igmpVersion - domainStatic - dnsServerStaticAddresses - ntpServerStaticAddresses - ntpServerEnabled - ntpServerKeyId - ntpServerKeyValue - routeOfLastResort type: object allOf: - $ref: '#/components/schemas/NetworkSettingsPartial' NoNotificationData: type: object description: Data type used when there is no additional data. required: - type properties: type: $ref: '#/components/schemas/NotificationDataType' Notification: description: Information associated with a system notification. type: object required: - type - severity - message - data properties: key: description: A string that identifies a specific notification item. type: string type: $ref: '#/components/schemas/NotificationType' severity: $ref: '#/components/schemas/SystemEventSeverity' message: description: Additional, optional contextual information that may be associated with a notification. type: string data: oneOf: - $ref: '#/components/schemas/SourceSinkNotificationData' - $ref: '#/components/schemas/SourceNotificationData' - $ref: '#/components/schemas/SinkNotificationData' - $ref: '#/components/schemas/PortNotificationData' - $ref: '#/components/schemas/NoNotificationData' discriminator: propertyName: type mapping: SourceSinkNotificationData: '#/components/schemas/SourceSinkNotificationData' SourceNotificationData: '#/components/schemas/SourceNotificationData' SinkNotificationData: '#/components/schemas/SinkNotificationData' PortNotificationData: '#/components/schemas/PortNotificationData' NoNotificationData: '#/components/schemas/NoNotificationData' NotificationDataType: description: The types of data that may be present in a Notification. type: string enum: - SourceSinkNotificationData - SourceNotificationData - SinkNotificationData - PortNotificationData - NoNotificationData NotificationPosition: description: Describes possible positions on the display screen where a notification message can be shown. type: string enum: - topLeft - topCentre - topRight - bottomLeft - bottomCentre - bottomRight - centre - none NotificationType: description: >- Identifies the type of the SystemEvent Notification. * `Disconnected` - the RX device is no longer connected to a preset. * `ManagementAlert` - the Management Server has indicated that an alert should be shown. * `MonitorStatus` - the status of connected monitor port has updated. * `NetworkStatus` - the status of network port has updated. * `PresetConnectionStatus` - the status of a preset connection has updated. type: string enum: - Disconnected - ManagementAlert - MonitorStatus - NetworkStatus - PresetConnectionStatus OperationState: description: >- The state of an asynchronous operation that needs to be polled in order to determine completion. * `idle` - The operation has not been started/triggered yet. * `inProgress` - The operation has been started/triggered but has not yet completed. * `failed` - The operation failed to complete, due to an error. * `complete` - The operation completed sucessfully, if a results file is associated with the operation, it will have been generated and is ready to fetch. type: string enum: - idle - inProgress - failed - complete OsdMarginSize: description: A size that can be used for OSD margins. type: string enum: - none - small - medium - large OsdMarginSettingsPartial: description: OSD margins type: object properties: top: $ref: '#/components/schemas/OsdMarginSize' right: $ref: '#/components/schemas/OsdMarginSize' bottom: $ref: '#/components/schemas/OsdMarginSize' left: $ref: '#/components/schemas/OsdMarginSize' OsdMarginSettings: description: All required OSD margin properties required: - top - right - bottom - left type: object allOf: - $ref: '#/components/schemas/OsdMarginSettingsPartial' PingInfo: description: Information associated with a diagnostics PING test feature. type: object required: - ifIndex - connectorLabel - name - ipAddress - state - packetLoss - minResponseTime - avgResponseTime - maxResponseTime properties: ifIndex: description: >- The network interface ID the ping was requested to be performed using. The special value 0 indicates that all interfaces were allowed to be used. $ref: '#/components/schemas/IfIndex' connectorLabel: $ref: "#/components/schemas/ConnectorLabel" name: description: The destination address that was requested for the ping. type: string ipAddress: description: The IP address that was mapped to the requested `name`. $ref: '#/components/schemas/IpAddress' state: $ref: '#/components/schemas/OperationState' packetLoss: description: The percentage of packets that were lost. A non-zero value here will result in a `failed` state. type: integer minimum: 0 maximum: 100 minResponseTime: description: The minimum time (in microseconds) that a response was received. Will be 0 if packetLoss is 100. type: integer minimum: 0 avgResponseTime: description: The average time (in microseconds) that a response was received. Will be 0 if packetLoss is 100. type: integer minimum: 0 maxResponseTime: description: The maximum time (in microseconds) that a response was received. Will be 0 if packetLoss is 100. type: integer minimum: 0 PlatformComponent: description: Information relating to a specific platform component. type: object required: - name - instance - version properties: name: description: The name associated with a platform component. There can be multiple instances that have the same name. type: string instance: description: Unique identifier used to differentiate components when the product supports multiple instances of a specific component. type: integer minimum: 1 version: description: The version of the platform component. type: string PortId: description: An identifier used to reference a specific port on a device. type: integer minimum: 1 maximum: 255 PortCapability: description: >- A specific capability associated with a port. type: object required: - type - subTypes properties: type: description: Identifies a particular capability. Capabilities are specific to the type of the port (Video, Audio, USB, ...) type: string subTypes: description: Defines a collection sub-types within the capability type. type: array items: type: string PortCapabilities: description: A collection of capabilities associated with a sink or source port. type: array items: $ref: '#/components/schemas/PortCapability' PortNotificationData: type: object description: Identifies a port. Such a port is not considered being either a souce or sink. required: - type - portId - found properties: type: $ref: '#/components/schemas/NotificationDataType' portId: $ref: '#/components/schemas/PortId' found: description: A flag indicating if this notification indicates a found (true) or lost (false) status. type: boolean PresetBase: description: Base information associated with a preset (collection of connections to one or more peer devices). properties: presetId: readOnly: true $ref: '#/components/schemas/PresetId' name: description: A user friendly name of this preset. type: string maxLength: 31 description: description: A user friendly description for this preset. type: string maxLength: 63 PresetPartial: description: Information associated with a preset (collection of connections to one or more peer devices). type: object allOf: - $ref: '#/components/schemas/PresetBase' properties: connections: description: A list of connections to sources. type: array items: allOf: - $ref: '#/components/schemas/ConnectionInfoPartial' Preset: description: All required information associated with a preset (collection of connections to one or more peer devices). required: - presetId - name - description - connections type: object allOf: - $ref: '#/components/schemas/PresetBase' properties: connections: description: A list of connections to sources. type: array items: allOf: - $ref: '#/components/schemas/ConnectionInfo' PresetId: description: A unique identifier for a preset. type: integer minimum: 0 PresetConnectionsAndStatus: description: Information associating the operational status for the connections defined for a preset. type: array items: allOf: - $ref: '#/components/schemas/ConnectionInfo' - $ref: '#/components/schemas/ConnectionStatusInfo' PresetTemplate: description: >- A template preset containing the intersection of source and sink port connections for this device and the peer device associated with the uuid. type: object required: - connections properties: connections: type: array items: type: object required: - default - sources properties: default: $ref: '#/components/schemas/ConnectionInfo' sources: description: A list of ports on the source device that can be selected instead of the portId in the default connection. $ref: '#/components/schemas/CompatibleSources' ProcessStatisticsInfo: description: Information relating to a process running on the device. type: object required: - processId - parentProcessId - virtualMemorySize - residentSetSize - state - command properties: processId: description: The ID for this process. type: integer minimum: 0 parentProcessId: description: The ID of the parent of this process. type: integer minimum: 0 virtualMemorySize: description: The virtual memory size of the process in KiB. type: integer minimum: 0 residentSetSize: description: The non-swapped physical memory that a process has used in KiB. type: integer minimum: 0 state: description: >- A multi-character string indicating the state of the process: * `D` uninterruptible sleep (usually IO). * `R` running or runnable. * `S` interruptible sleep (waiting for an event to complete). * `T` stopped, either by a job control signal or because it is being traced. * `W` paging. * `Z` defunct ("zombie") process, terminated but not reaped by its parent. * `<` high-priority * `N` low-priority type: string command: description: The command with all its arguments that started the process. type: string RemoteSupportInfoPartial: description: Information associated with the diagnostics remote support feature. type: object properties: enabled: description: Whether remote support is enabled for this device. type: boolean serverPortNumber: description: The port number on the remote support server that the system will try to connect to. $ref: '#/components/schemas/PortNumber' portNumber: description: The port number to be used by the remote support connection. This value will be zero if the support connection is not established. readOnly: true $ref: '#/components/schemas/PortNumber' oneTimePassword: description: The one time password to be used by the remote support connection. This string will be empty if enabled is false. readOnly: true type: string RemoteSupportInfo: description: All required information associated with the diagnostics remote support feature. required: - enabled - serverPortNumber - portNumber - oneTimePassword type: object allOf: - $ref: '#/components/schemas/RemoteSupportInfoPartial' RxGeneralSettingsPartial: description: General settings properties for RX device type. type: object allOf: - $ref: '#/components/schemas/GeneralSettingsPartial' properties: autoLogoutTime: description: >- The number of minites of USB (HID) inactivity before triggering an automatic logout on the RX device. A value of 0 indicates an infinite / disabled timeout. type: integer minimum: 0 RxGeneralSettings: description: All required general settings properties for RX device type. type: object required: - name - description - location - type - restrictRemoteUsers - autoLogoutTime allOf: - $ref: '#/components/schemas/RxGeneralSettingsPartial' RxSystemInfo: description: A collection of RX device related system level information for a device. type: object required: - maxPresets allOf: - $ref: '#/components/schemas/SystemInfo' properties: maxPresets: description: The maximum number of presets supported by the device. type: integer minimum: 0 RxUiSettingsBase: description: Base information associated with the UI settings for a RX device type. properties: osdTimeout: description: >- The number of minutes of inactivity after which the OSD will be removed from the display. Select 0 to prevent the OSD from being removed automatically. type: integer minimum: 0 maximum: 99 notificationPosition: description: The position on the display screen where the notification messages should be presented. $ref: '#/components/schemas/NotificationPosition' notificationTimeout: description: >- The number of seconds after which a non-critical notification message will be removed from the screen. Select 0 to prevent the notification message from being removed automatically. type: integer minimum: 0 maximum: 3600 bannerPosition: description: The position on the display screen where the selected preset name should be presented. $ref: '#/components/schemas/NotificationPosition' bannerTimeout: description: >- The number of seconds after which the selected preset name will be removed from the screen. Select 0 to prevent the preset name from being removed automatically. type: integer minimum: 0 maximum: 3600 frontPanelTimeout: description: >- The number of seconds of inactivity (pressing the front panel display button) after which the front panel display will turn off. Only applicable for devices that support a front panel display. type: integer minimum: 1 maximum: 300 RxUiSettingsPartial: description: The information associated with the UI settings for a RX device type. type: object allOf: - $ref: '#/components/schemas/UiSettingsBasePartial' - $ref: '#/components/schemas/RxUiSettingsBase' properties: hotkeys: description: >- The hotkey sequences for various quick control actions. Only present when configurationMode is not Managed. $ref: '#/components/schemas/HotkeysPartial' touchShowOsd: $ref: '#/components/schemas/TouchShowOsdPartial' osdMargins: $ref: '#/components/schemas/OsdMarginSettingsPartial' connectionNotifications: $ref: '#/components/schemas/ConnectionNotificationSettingsPartial' RxUiSettings: description: All required information associated with the UI settings. required: - osdTimeout - notificationPosition - notificationTimeout - bannerPosition - bannerTimeout - frontPanelTimeout - hotkeys - touchShowOsd - osdMargins - connectionNotifications type: object allOf: - $ref: '#/components/schemas/UiSettingsBase' - $ref: '#/components/schemas/RxUiSettingsBase' properties: hotkeys: description: >- The hotkey sequences for various quick control actions. Only present when configurationMode is not Managed. $ref: '#/components/schemas/Hotkeys' touchShowOsd: $ref: '#/components/schemas/TouchShowOsd' osdMargins: $ref: '#/components/schemas/OsdMarginSettings' connectionNotifications: $ref: '#/components/schemas/ConnectionNotificationSettings' SelectedPresetPartial: description: Information for the currently selected preset. type: object properties: presetId: $ref: '#/components/schemas/PresetId' accessMode: $ref: '#/components/schemas/AccessMode' SelectedPreset: description: All required information for the currently selected preset. required: - presetId - accessMode type: object allOf: - $ref: '#/components/schemas/SelectedPresetPartial' SerialSinkPartial: description: Information relating to a specific serial sink endpoint. type: object properties: portId: readOnly: true $ref: '#/components/schemas/PortId' connectorLabel: readOnly: true $ref: '#/components/schemas/ConnectorLabel' connectorLabelNumbers: readOnly: true $ref: '#/components/schemas/ConnectorLabelNumbers' capabilities: readOnly: true $ref: '#/components/schemas/PortCapabilities' connected: description: A flag indicating whether this port is connected to a serial device. readOnly: true type: boolean enabled: description: A flag indicating whether this port is enabled for use. type: boolean SerialSink: description: All required information relating to a specific serial sink endpoint. required: - portId - connectorLabel - connectorLabelNumbers - capabilities - connected - enabled type: object allOf: - $ref: '#/components/schemas/SerialSinkPartial' SerialSinks: description: A list of serial sink endpoints. type: object required: - type - ports properties: type: $ref: '#/components/schemas/ConnectionType' ports: type: array items: $ref: '#/components/schemas/SerialSink' SerialSinkStatus: description: Information relating to the status of a specific serial sink endpoint. type: object required: - portId - connectorLabel allOf: - $ref: '#/components/schemas/ConnectionStatusInfo' properties: portId: $ref: '#/components/schemas/PortId' connectorLabel: $ref: '#/components/schemas/ConnectorLabel' SerialSinksStatus: description: A list of serial sink status endpoints. type: object required: - type - ports properties: type: $ref: '#/components/schemas/ConnectionType' ports: type: array items: $ref: '#/components/schemas/SerialSinkStatus' SerialSourcePartial: description: Information relating to a specific serial source endpoint. type: object properties: portId: readOnly: true $ref: '#/components/schemas/PortId' connectorLabel: readOnly: true $ref: '#/components/schemas/ConnectorLabel' connectorLabelNumbers: readOnly: true $ref: '#/components/schemas/ConnectorLabelNumbers' capabilities: readOnly: true $ref: '#/components/schemas/PortCapabilities' connected: description: A flag indicating whether this port is connected to a serial device. readOnly: true type: boolean enabled: description: Whether this port is enabled. type: boolean parity: description: The parity checking to be used. type: string enum: - none - odd - even dataBits: description: The number of data bits to be used. type: integer enum: - 5 - 6 - 7 - 8 stopBits: description: The number of stop bits to be used. type: integer enum: - 1 - 2 speed: description: The serial speed (baud rate) to be used. type: integer enum: - 50 - 75 - 110 - 134 - 150 - 200 - 300 - 600 - 1200 - 1800 - 2400 - 4800 - 9600 - 19200 - 38400 - 57600 - 115200 - 230400 SerialSource: description: All required information relating to a specific serial source endpoint. required: - portId - connectorLabel - connectorLabelNumbers - capabilities - connected - enabled - parity - dataBits - stopBits - speed type: object allOf: - $ref: '#/components/schemas/SerialSourcePartial' SerialSources: description: A list of serial source endpoints. type: object required: - type - ports properties: type: $ref: '#/components/schemas/ConnectionType' ports: type: array items: $ref: '#/components/schemas/SerialSource' SinkNotificationData: type: object description: Identifies a sink port. required: - type - sinkId - connectionType - found properties: type: $ref: '#/components/schemas/NotificationDataType' sinkId: $ref: '#/components/schemas/PortId' connectionType: $ref: '#/components/schemas/ConnectionType' found: description: A flag indicating if this notification indicates a found (true) or lost (false) status. type: boolean SourceNotificationData: description: Identifies a source port. type: object required: - type - sourceId - connectionType - found properties: type: $ref: '#/components/schemas/NotificationDataType' sourceId: $ref: '#/components/schemas/PortId' connectionType: $ref: '#/components/schemas/ConnectionType' found: description: A flag indicating if this notification indicates a found (true) or lost (false) status. type: boolean SourceSinkNotificationData: type: object description: Identifies a pair of source and sink ports. required: - type - sourceId - sinkId - connectionType - found properties: type: $ref: '#/components/schemas/NotificationDataType' sourceId: $ref: '#/components/schemas/PortId' sinkId: $ref: '#/components/schemas/PortId' connectionType: $ref: '#/components/schemas/ConnectionType' found: description: A flag indicating if this notification indicates a found (true) or lost (false) status. type: boolean SyslogSeverity: description: >- The log severity (definitions as per RFC3164). * `emergency` - system is unusable * `alert` - action must be taken immediately * `critical` - critical conditions * `error` - error conditions * `warning` - warning conditions * `notice` - normal but significant condition * `informational` - informational messages * `debug` - debug-level messages (this may have a detrimental performance impact) type: string enum: - emergency - alert - critical - error - warning - notice - informational - debug SystemBootMode: description: >- The operational mode the device was booted in. * `main` - The device is fully operational, end to end services enabled. * `recovery` - The device has restricted functionality, supporting configuration and software upgrade. * `rma` - A fatal fault has been detected, no functionality is enabled, the device needs to be returned to the supplied. type: string enum: - main - recovery - rma SystemEventSeverity: description: Identifies the severity of a system event. type: string enum: - Critical - Error - Warning - Notice SystemInfo: description: A collection of system level information for a device. required: - type - bootMode - brandName - deviceId - boardRevision - unitType - softwareCompatibleId - pcbId - socType - family - model - serialNumber - softwareVersion - configurationMode properties: type: description: The device type. $ref: '#/components/schemas/DeviceType' bootMode: $ref: '#/components/schemas/SystemBootMode' brandName: description: A string that can be used to identify the value-added reseller for the device. type: string deviceId: description: The unique id for the device. This id is generated during manufacture and will not change during the life of the device. type: integer minimum: 0 boardRevision: description: The board revision for this device. type: integer minimum: 0 unitType: description: The unit type reported by the hardware for this device. type: integer minimum: 0 softwareCompatibleId: description: The software compatible ID associated with the hardware for this device. type: string pcbId: description: The ID associated with the PCB of this device. type: string socType: description: The type of SoC used by this device. type: string family: description: The collective product range that this device belongs to. type: string model: description: The model for this device. $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' softwareVersion: description: The version of the currently running software image. type: string configurationMode: $ref: '#/components/schemas/ConfigurationMode' SystemStatisticsInfo: description: A collection of statistics that provide an indication of the overall operation of the core system. type: object required: - cpuInfo properties: cpuInfo: description: CPU related information. type: object required: - numCpus - numProcesses - loads - activity - memoryInfo - temperatureInfo properties: numCpus: description: The number of CPUs available. type: integer minimum: 0 numProcesses: description: The number of processes. type: integer minimum: 0 loads: description: The CPU load averages. type: object required: - one - five - fifteen properties: one: description: The 1 minute load average. $ref: '#/components/schemas/CpuLoad' five: description: The 5 minute load average. $ref: '#/components/schemas/CpuLoad' fifteen: description: The 15 minute load average. $ref: '#/components/schemas/CpuLoad' activity: description: Per CPU usage statistics. type: array items: type: object required: - usr - nice - sys - idle - io - irq - sirq properties: usr: description: The percentage of time spent running in user mode. type: integer minimum: 0 maximum: 100 nice: description: The percentage of time spent running niced processes. type: integer minimum: 0 maximum: 100 sys: description: The percentage of time spent running in kernel mode. type: integer minimum: 0 maximum: 100 idle: description: The percentage of time spent with nothing to do. type: integer minimum: 0 maximum: 100 io: description: The percentage of time spent waiting for I/O to complete. type: integer minimum: 0 maximum: 100 irq: description: The percentage of time spent servicing interrupts. type: integer minimum: 0 maximum: 100 sirq: description: The percentage of time spent servicing soft interrupts. type: integer minimum: 0 maximum: 100 memoryInfo: description: Memory related information. All values are in KiB. type: object required: - total - free - available - buffers - cached - slab - slabReclaimable properties: total: description: The total amount of physical RAM. type: integer minimum: 0 free: description: The amount of physical RAM left unused by the system. type: integer minimum: 0 available: description: The available memory (approximately free + buffers + cached + slabReclaimable). type: integer minimum: 0 buffers: description: The amount of physical RAM used for file buffers. type: integer minimum: 0 cached: description: The amount of physical RAM used as cache memory. type: integer minimum: 0 slab: description: The total amount of memory that has been used by the kernel to cache data structures for its own use. type: integer minimum: 0 slabReclaimable: description: The amount of memory that can be reclaimed from the slab. type: integer minimum: 0 temperatureInfo: description: Temperature information. type: object required: - sensors properties: sensors: description: A list of available temperature sensors. type: array items: type: object required: - id - currentTemperature properties: id: description: A string identifying the specific sensor. type: string currentTemperature: description: The currently reported temperature in degrees Celsius. type: integer SystemTiming: description: Time related information associated with the device. type: object required: - timeOfDay - uptime - bootToken properties: timeOfDay: description: The current time on the device in seconds as UNIX Epoch time. type: integer minimum: 0 uptime: description: The duration in seconds since the device last booted. type: integer minimum: 0 bootToken: description: A unique id that is generated each time that the device boots. $ref: '#/components/schemas/Uuid' TransmissionStatusNetwork: description: >- The network status of a stream on each network interface. The entries in the array are ordered, such that the first entry corresponds to the first network interface number. type: array items: type: object required: - connectorLabel - enabled - sourceMacAddress - sourceIpAddress - sourcePort - destinationMacAddress - destinationIpAddress - destinationPort properties: connectorLabel: $ref: "#/components/schemas/ConnectorLabel" enabled: description: Whether transmission is enabled. type: boolean sourceMacAddress: $ref: '#/components/schemas/MacAddress' sourceIpAddress: $ref: '#/components/schemas/IpAddress' sourcePort: $ref: '#/components/schemas/PortNumber' destinationMacAddress: $ref: '#/components/schemas/MacAddress' destinationIpAddress: $ref: '#/components/schemas/IpAddress' destinationPort: $ref: '#/components/schemas/PortNumber' TouchShowOsdPartial: description: The information associated with the touch (screen) show OSD support. type: object properties: enable: description: >- Controls whether the touch show OSD icron is visible when a touch screen device is connected to the RX device. The supported modes are: * `auto` - the touch launch will be enabled automatically based on the presence of a suitable Touch capable monitor. * `off` - the touch launch will always be disabled, regardless of the monitor connected. * `on` - the touch launch will always be enabled, regardless of the monitor connected. type: string enum: - auto - off - on x: description: The position of the left edge of the touch show OSD screen area as a proportion of 32767. type: integer minimum: 0 maximum: 32767 y: description: The position of the top edge of the touch show OSD screen area as a proportion of 32767. type: integer minimum: 0 maximum: 32767 width: description: >- The width of the touch show OSD area as a proportion of 32767. The touch area has square dimensions and the height is thus calculated based on the width and the current GFX resolution. type: integer minimum: 0 maximum: 32767 TouchShowOsd: description: All required information associated with the touch (screen) show OSD support. required: - enable - x - y - width type: object allOf: - $ref: '#/components/schemas/TouchShowOsdPartial' TxGeneralSettingsPartial: description: General settings properties for TX device type. type: object allOf: - $ref: '#/components/schemas/GeneralSettingsPartial' properties: allowInsecureSinkConnections: description: >- The behaviour of the TX device, when it is not in the Managed configuration mode, when processing incoming insecure connections from a sink device. * `disallow` - insecure devices are not allowed to establish connections with the source device. * `allow` - insecure devices are allowed to establush connections with the source device. * `auto` - the first sink device to connect to the source determines the behaviour; if the first is insecure, then further insecure devices are permitted, otherwise no insecure devices are permitted. type: string enum: - disallow - allow - auto TxGeneralSettings: description: All required general settings properties for TX device type. type: object required: - name - description - location - type - restrictRemoteUsers allOf: - $ref: '#/components/schemas/TxGeneralSettingsPartial' TxSystemInfo: description: A collection of TX device related system level information for a device. type: object required: - maxDevices allOf: - $ref: '#/components/schemas/SystemInfo' properties: maxDevices: description: The maximum number of devices that can connect to this device. type: integer minimum: 0 TxUiSettingsPartial: description: The information associated with the UI settings for a TX device type. type: object allOf: - $ref: '#/components/schemas/UiSettingsBasePartial' TxUiSettings: description: The required information associated with the UI settings for a TX device type. type: object allOf: - $ref: '#/components/schemas/UiSettingsBase' UpgradeImages: description: A list of upgrade image file names. type: array items: type: string UsbConnectedDevice: description: The details of a connected USB device. type: object required: - manufacturer - model - deviceType - inputAttributes - protocolVersion - speed - maxPower - connector properties: manufacturer: description: The manufacturer/vendor name for the connected device. type: string model: description: The product name for the connected device. type: string deviceType: description: The type of the connected device. type: string inputAttributes: description: >- When deviceType is 'usbhid', this will be a comma separated list of attributes that indicate features of the connected USB input device. Otherwise, it will be an empty string. type: string protocolVersion: description: The USB version supported by the connected device. type: string speed: description: The maximum interface speed (in Mbps) of the connected device. type: integer minimum: 0 maxPower: description: The maximum power consumption (in mA) of the connected device. type: integer minimum: 0 connector: description: >- The physical connector that this device is connected to. In order to map this to the connector label on the device, this number should be used as an index to the connectorLabelNumbers array property of the associated /sinks/usb/{portId} endpoint; where a connector value 1 corresponds to the first entry within that array. type: integer minimum: 1 UiSettingsBasePartial: description: The information associated with the UI settings, common to all device types. properties: userId: $ref: '#/components/schemas/UserId' type: description: Identifies the device type associated with the response data. $ref: '#/components/schemas/DeviceType' language: description: An ISO 639 language code that a user has selected for UI text display. Available options are provided via /applications/osd. type: string keyboardLayout: description: The selected keyboard layout. Available options are provided via /applications/osd. type: string ledBrightness: description: The brightness level for the LED. $ref: '#/components/schemas/LedBrightness' UiSettingsBase: description: The required common UI settings properties. required: - userId - type - language - keyboardLayout - ledBrightness type: object allOf: - $ref: '#/components/schemas/UiSettingsBasePartial' UsbSecurityMode: description: >- The supported USB data security modes: * `off` - security is always off. * `on` - security is always on. * `preferOff` - security should be off unless the peer device requests it is on. type: string enum: - off - on - preferOff UsbSinkPartial: description: Information relating to a specific USB sink endpoint. type: object properties: portId: readOnly: true $ref: '#/components/schemas/PortId' connectorLabel: readOnly: true $ref: '#/components/schemas/ConnectorLabel' connectorLabelNumbers: readOnly: true $ref: '#/components/schemas/ConnectorLabelNumbers' capabilities: readOnly: true $ref: '#/components/schemas/PortCapabilities' isochronousDevices: description: If the port has the emulated capability, this flag indicates whether this port allows being connected to isochronous USB devices. readOnly: true type: boolean enabled: description: A flag indicating whether this port is enabled for use. type: boolean hidOnly: description: >- If the port has the emulated capability, this flag indicates/controls whether connectivity is restricted to USB HID devices. When true, this flag will override the value of disableMassStorage (equivalent of setting that to true also). type: boolean disableMassStorage: description: >- If the port has the emulated capability, this flag indicates/controls whether connectivity to USB mass storage devices is permitted. type: boolean security: description: If the port has the emulated capability, this property indicates/controls the security mode used for the USB data on the port. $ref: '#/components/schemas/UsbSecurityMode' connectorVideoMap: description: >- If the port has the emulated capability, this setting associates a video port number with a specific USB connector on the device. This allows the USB connection of a Touchscreen monitor to be identified and the associated touch events routed to the OSD appropriately. To indicate that a USB connector is not mapped to a video port, the specical port number 0 is used. Each entry in the array corresponds to one of the physical connectors associated with the USB sink port, with the first entry being the first physical connector etc. type: array items: type: integer minimum: 0 connectorReservations: description: >- If the port has the emulated capability, this is a list of USB port connector reservations. Each entry corresponds to a sink USB connector on the device, with the first entry being the first physical connector etc. type: array items: type: object description: The properties associated with a reservation for a specific sink USB connector. properties: disableMerge: description: A flag indicating whether the merging of devices on this port is disabled. type: boolean sourceVirtualHubPortNumber: description: The number of the port on the source USB virtual hub to be associated with this sink USB connector. type: integer minimum: 0 maximum: 13 UsbSink: description: All required information relating to a specific USB sink endpoint. required: - portId - connectorLabel - connectorLabelNumbers - capabilities - isochronousDevices - enabled type: object allOf: - $ref: '#/components/schemas/UsbSinkPartial' UsbSinks: description: A list of USB sink endpoints. type: object required: - type - ports properties: type: $ref: '#/components/schemas/ConnectionType' ports: type: array items: $ref: '#/components/schemas/UsbSink' UsbSourcesStatus: description: A list of USB source status endpoints. type: object required: - type - ports properties: type: $ref: '#/components/schemas/ConnectionType' ports: type: array items: $ref: '#/components/schemas/UsbSourceStatus' UsbStatistics: description: Common statistics for both source and sink USB ports. type: object required: - portId - connectorLabel - packetsTransmitted - packetsReceived - timestamp properties: portId: $ref: '#/components/schemas/PortId' connectorLabel: $ref: "#/components/schemas/ConnectorLabel" packetsTransmitted: description: The number of packets transmitted. type: integer minimum: 0 packetsReceived: description: The number of packets received on each network interface. type: array items: $ref: "#/components/schemas/NetworkPackets" timestamp: description: The monotonic time in milliseconds at which the statistics were measured. type: integer minimum: 0 UsbSinkStatistics: $ref: '#/components/schemas/UsbStatistics' UsbSinkStatus: $ref: '#/components/schemas/UsbStatus' UsbSinksStatus: description: A list of USB sink status endpoints. type: object required: - type - ports properties: type: $ref: '#/components/schemas/ConnectionType' ports: type: array items: $ref: '#/components/schemas/UsbSinkStatus' UsbSourcePartial: description: Information relating to a specific USB source endpoint. type: object properties: portId: readOnly: true $ref: '#/components/schemas/PortId' connectorLabel: readOnly: true $ref: '#/components/schemas/ConnectorLabel' connectorLabelNumbers: readOnly: true $ref: '#/components/schemas/ConnectorLabelNumbers' capabilities: readOnly: true $ref: '#/components/schemas/PortCapabilities' connected: description: A flag indicating whether this port is connected to a USB device. readOnly: true type: boolean enabled: description: A flag indicating whether this USB source is enabled. type: boolean virtualKeyboard: description: >- If the source has the emulated capability, this flag indicates whether this port always reports a virtual keyboard. type: boolean maxHubSize: description: >- If the source has the emulated capability, this flag indicates/controls the hub size for the USB source. type: string enum: - 7 - 13 security: description: Only present if the source has the emulated capability. $ref: "#/components/schemas/UsbSecurityMode" primaryEmulatedPort: description: Only present if the source has the emulated capability. Currently unused. type: boolean rateLimit: description: >- If the source supports the transparent capability, this indicates/controls the maximum bitrate (in Mbps) that the port can transmit data to the sink. A value of 0 indicates that there is no rate limit applied. type: integer minimum: 0 maximum: 480 numReservedVirtualHubPorts: description: If the source has the emulated capability, the number of ports reserved on the source USB virtual hub for pairing with sink USB port connectors. type: integer minimum: 0 maximum: 255 UsbSource: description: All required information relating to a specific USB source endpoint. required: - portId - connectorLabel - connectorLabelNumbers - capabilities - connected - enabled type: object allOf: - $ref: '#/components/schemas/UsbSourcePartial' UsbSources: description: A list of USB source endpoints. type: object required: - type - ports properties: type: $ref: '#/components/schemas/ConnectionType' ports: type: array items: $ref: '#/components/schemas/UsbSource' UsbSourceStatistics: $ref: '#/components/schemas/UsbStatistics' UsbSourceStatus: $ref: '#/components/schemas/UsbStatus' UsbStatus: description: Common information relating to the status of a specific USB source or sink endpoint. type: object required: - portId - connectorLabel - port - reception - transmission allOf: - $ref: '#/components/schemas/ConnectionStatusInfo' properties: portId: $ref: '#/components/schemas/PortId' connectorLabel: $ref: '#/components/schemas/ConnectorLabel' port: $ref: '#/components/schemas/UsbPortStatus' reception: $ref: '#/components/schemas/UsbReceptionStatus' transmission: $ref: '#/components/schemas/UsbTransmissionStatus' UsbPortStatus: description: Information for the USB port status. type: object required: - connected properties: connected: description: A flag indicating whether there is a USB device connected to the port. type: boolean UsbReceptionStatus: description: Infromation for the USB network reception status. type: object required: - stopped - networkInterface properties: stopped: description: A flag indicating whether processing of received USB packets has stopped. type: boolean networkInterface: description: An array of network interface status information. type: array items: type: object required: - connectorLabel - enabled - sourceIpAddressFilterEnabled - destinationIpAddressFilterEnabled - sourcePortFilterEnabled - sourceIpAddress - destinationIpAddress - sourcePort - destinationPort properties: connectorLabel: $ref: "#/components/schemas/ConnectorLabel" enabled: description: A flag indicating whether data reception is enabled for the USB stream on the network interface. type: boolean sourceIpAddressFilterEnabled: description: A flag indicating whether source IP address filtering is enabled for the USB stream on the network interface. type: boolean destinationIpAddressFilterEnabled: description: A flag indicating whether destination IP address filtering is enabled for the USB stream on the network interface. type: boolean sourcePortFilterEnabled: description: A flag indicating whether source port filtering is enabled for the USB stream on the network interface. type: boolean sourceIpAddress: $ref: "#/components/schemas/IpAddress" destinationIpAddress: $ref: "#/components/schemas/IpAddress" sourcePort: $ref: "#/components/schemas/PortNumber" destinationPort: $ref: "#/components/schemas/PortNumber" UsbTransmissionStatus: description: Infromation for the USB network transmission status. type: object required: - stopped - networkInterface properties: stopped: description: A flag indicating whether transmission of USB packets has stopped. type: boolean networkInterface: $ref: '#/components/schemas/TransmissionStatusNetwork' UserPassword: description: A password for a user. type: string maxLength: 31 UserId: description: The ID of a user. type: integer minimum: 0 UserPresetPatchable: description: >- Information relating to a user preset. Note: currently, only shared mode is supported, all other modes are non-functional. type: object properties: viewOnly: description: A flag indicating if the user is allowed to connect to the preset in view-only mode (shared video, no USB). type: boolean shared: description: A flag indicating if the user is allowed to connect to the preset in shared mode (shared video and USB). type: boolean exclusive: description: A flag indicating if the user is allowed to connect to the preset in exclusive mode (shared video, only this user has USB). type: boolean private: description: A flag indicating if the user is allowed to connect to the preset in private mode (only this user has video and USB). type: boolean NewUserPreset: description: >- Information relating to a user preset. Note: currently, only shared mode is supported, all other modes are non-functional. type: object required: - presetId - hotkeyNumber - viewOnly - shared - exclusive - private allOf: - $ref: '#/components/schemas/UserPresetPatchable' properties: presetId: $ref: '#/components/schemas/PresetId' hotkeyNumber: description: The hotkey value associated with this preset. Can be changed via /users/presetOrder/{userId}. type: integer minimum: 0 UnknownAudioPortStatus: description: Status information relating to an audio port of Unknown type. type: object allOf: - $ref: '#/components/schemas/AudioPortStatusBase' UnknownVideoPortStatus: description: Status information relating to a video port of Unknown type. type: object allOf: - $ref: '#/components/schemas/VideoPortStatusBase' UserPreset: description: >- Information relating to a user preset. Note: currently, only shared mode is supported, all other modes are non-functional. type: object required: - userId allOf: - $ref: '#/components/schemas/NewUserPreset' properties: userId: $ref: '#/components/schemas/UserId' Uuid: description: A Universal Unique Identifier. type: string minLength: 36 maxLength: 36 pattern: '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$' VgaAudioPortStatus: description: Status information relating to an audio port of VGA type. type: object allOf: - $ref: '#/components/schemas/AudioPortStatusBase' VgaVideoPortStatus: description: Status information relating to a video port of VGA type. type: object allOf: - $ref: '#/components/schemas/VideoPortStatusBase' VideoCodec: description: The video codec types. type: string enum: - raw8 - raw16 - raw24 - rle16 - rle24 - afz24 - afz24-a - afz30 - afz30-a - raw18-rgb - raw24-rgb - raw30-rgb - raw36-rgb - raw18-yuv - raw24-yuv - raw30-yuv - raw36-yuv - Unknown VideoCodecAfzSubMode: description: The sub-mode used for the AFZ code type. type: string enum: - 1 - 2 - 3 - 4 VideoCodecAdvancedCompression: description: >- When using the advanced compression type, these values are used to indicate the minimum and maximum levels. type: string enum: - pixelPerfect - minimum - middle - maximum VideoCodecCompressionType: description: >- The level of compression that is to be used for this video port. * `pixelPerfect` - best image quality, no lossy compression. * `adaptive` - guarantees frame rate, builds up to pixel perfect. * `smoothestVideo` - forces the maximum compression level. * `advanced` - allows more choice by setting a maximum and minimum compression level. type: string enum: - pixelPerfect - adaptive - smoothestVideo - advanced VideoCodecMaxAfz: description: The maximum AFZ value used for the decoding/encoding. type: integer minimum: 0 VideoCodecNumberOfFrameStores: description: The number of frame stores used for the decoding/encoding. type: integer minimum: 0 VideoCodecUncompressedBytesPerSegment: description: The number of uncompressed bytes per segment. type: integer minimum: 0 VideoColourimetry: description: Identifies the video colourimetry types. type: string enum: - RGB Legacy - sRGB - RGB wide gammut - scRGB - opRGB - RGB DVI-P3 - RGB custom colour profile - RGB BT.2020 - YCbCr BT.601 - YCbCr BT.709 - YCbCr xvYcc BT.601 - YCbCr xvYcc BT.709 - YCbCr sYcc BT.601 - YCbCr opYcc BT.601 - YcCbcCrc BT.2020 - YCbCr BT.2020 - Y-only DICOM part14 grey scale - Raw custom colour profile VideoDeviceCharacteristics: description: Information that a connected device provided to describe the supported colour space characteristics. type: object required: - maxBitsPerColour - dynamicRanges - encodings - colourimetry - dynamicRangeMasterings properties: maxBitsPerColour: description: The maximum number of bits per colour supported by the connected device. type: integer minimum: 0 dynamicRanges: description: A list of the dynamic ranges supported. If the device does not report any dynamic ranges, the list will be empty. type: array items: $ref: '#/components/schemas/VideoDynamicRange' encodings: description: A list of the colour encodings supported. If the device does not report any dynamic ranges, the list will be empty. type: array items: $ref: '#/components/schemas/VideoEncoding' colourimetry: description: A list of the colourimetry schemes supported. If the device does not report any dynamic ranges, the list will be empty. type: array items: $ref: '#/components/schemas/VideoColourimetry' dynamicRangeMasterings: description: A list of the dynamic range masterings supported. If the device does not report any dynamic ranges, the list will be empty. type: array items: $ref: '#/components/schemas/VideoDynamicRangeMastering' VideoDynamicRange: description: Identifies the video dynamic range types. type: string enum: - Limited - Full - Unknown VideoDynamicRangeMastering: description: Identifies the video dynamic range mastering types. type: string enum: - Traditional Gamma SDR - Traditional Gamma HDR - SMPTE ST 2084 - HLG BT.2100 - HDR Dynamic SMPTE ST2094 10 - HDR Dynamic ETSI TS103 433 - HDR Dynamic ITU H.265 - HDR Dynamic SMPTE ST2094 40 - Unknown VideoEncoding: description: Identifies the video endoding types. type: string enum: - RGB - YCbCr4:4:4 - YCbCr4:2:2 - YCbCr4:0:0 - Y-only - Raw - Unknown VideoTimings: description: The Video Timings of an input video signal received on a port. type: object required: - name - period - pixelClock - horizontalResolution - horizontalSyncStart - horizontalSyncEnd - horizontalFrameLength - verticalResolution - verticalSyncStart - verticalSyncEnd - verticalFrameLength - flags properties: name: description: The video mode in the form "x@Hz". type: string period: description: The video refresh period. type: integer minimum: 0 pixelClock: description: The pixel clock in kHz. type: integer minimum: 0 horizontalResolution: description: The horizontal resolution. type: integer minimum: 0 horizontalSyncStart: description: The horizontal sync start. type: integer minimum: 0 horizontalSyncEnd: description: The horizontal sync end. type: integer minimum: 0 horizontalFrameLength: description: The horizontal frame length. type: integer minimum: 0 verticalResolution: description: The vertical resolution. type: integer minimum: 0 verticalSyncStart: description: The vertical sync start. type: integer minimum: 0 verticalSyncEnd: description: The vertical sync end. type: integer minimum: 0 verticalFrameLength: description: The vertical frame length. type: integer minimum: 0 flags: description: >- A bit-field indicating sync polarity, interlaced, reduced blanking: * `0x01` - preferred resolution * `0x02` - interlaced * `0x04` - reduced blanking * `0x10` - positive vertical sync * `0x20` - negative vertical sync * `0x40` - positive horizontal sync * `0x80` - negative horizontal sync type: integer minimum: 0 VideoInfo: description: Information about the video properties. type: object required: - timings - bitsPerColour - dynamicRangeMastering - dynamicRange - encoding - colourimetry properties: timings: $ref: '#/components/schemas/VideoTimings' bitsPerColour: description: The current number of bits per colour. type: integer minimum: 0 dynamicRangeMastering: $ref: '#/components/schemas/VideoDynamicRangeMastering' dynamicRange: $ref: '#/components/schemas/VideoDynamicRange' encoding: $ref: '#/components/schemas/VideoEncoding' colourimetry: $ref: '#/components/schemas/VideoColourimetry' VideoSinkPartial: description: Information relating to a specific video sink endpoint. type: object properties: portId: readOnly: true $ref: '#/components/schemas/PortId' connectorLabel: readOnly: true $ref: '#/components/schemas/ConnectorLabel' connectorLabelNumbers: readOnly: true $ref: '#/components/schemas/ConnectorLabelNumbers' capabilities: readOnly: true $ref: '#/components/schemas/PortCapabilities' connected: description: A flag indicating whether this port is connected to a video device. readOnly: true type: boolean enabled: description: A flag indicating whether this port is enabled for use. type: boolean compatibilityCheck: description: >- A flag that indicates/controls whether compatibility with the external sink device (i.e. monitor) is performed before allowing the video to be output. type: boolean freezeImageOnLoss: description: A flag indicating whethe the video image should be kept on-screen (true) or hidden when the signal is lost. type: boolean frameRateSwitching: description: >- The strategy to use for the frame when when switching resolutions. * `force60` - the frame rate is always forced to be 60Hz. * `retain` - when switching to a different resolution with a potentially different frame rate, it will retain the frame rate it had before. * `auto` - the frame rate always changes to match the mode received from the source. type: string enum: - force60 - retain - auto VideoSink: description: All required information relating to a specific video sink endpoint. required: - portId - connectorLabel - connectorLabelNumbers - capabilities - connected - enabled - compatibilityCheck - freezeImageOnLoss - frameRateSwitching type: object allOf: - $ref: '#/components/schemas/VideoSinkPartial' VideoSinks: description: A list of video sink endpoints. type: object required: - type - ports properties: type: $ref: '#/components/schemas/ConnectionType' ports: type: array items: $ref: '#/components/schemas/VideoSink' VideoSinkStatistics: description: Statistics relating to a video sink port. type: object required: - portId - connectorLabel - framePeriod - frames - receivedPackets - expectedPackets - packetsStream - codec - timestamp properties: portId: $ref: '#/components/schemas/PortId' connectorLabel: $ref: "#/components/schemas/ConnectorLabel" framePeriod: description: The latest period measurement between the last two received frames. type: integer minimum: 0 frames: description: The total number of video frames received on the video port (since the end-to-end connection was established). type: integer minimum: 0 receivedPackets: description: The total number of video packets received on the video port (since the end-to-end connection was established). type: integer minimum: 0 expectedPackets: description: The total number of packets that were expected to be received on the video port (since the end-to-end connection was established). type: integer minimum: 0 packetsStream: description: The number of packets received for a video stream on each network interface. type: array items: description: The number of packets received on each network interface. type: array items: $ref: "#/components/schemas/NetworkPackets" codec: $ref: '#/components/schemas/VideoCodec' afzSubMode: $ref: '#/components/schemas/VideoCodecAfzSubMode' timestamp: description: The monotonic time in milliseconds at which the statistics were measured. type: integer minimum: 0 VideoSinkStatus: description: Information relating to the status of a specific video sink port. type: object required: - portId - connectorLabel - port - decoding - reception allOf: - $ref: '#/components/schemas/ConnectionStatusInfo' properties: portId: $ref: '#/components/schemas/PortId' connectorLabel: $ref: "#/components/schemas/ConnectorLabel" port: $ref: '#/components/schemas/VideoPortStatus' decoding: $ref: '#/components/schemas/VideoDecodingStatus' reception: $ref: '#/components/schemas/VideoReceptionStatus' VideoSinksStatus: description: A list of video sink status endpoints. type: object required: - type - ports properties: type: $ref: '#/components/schemas/ConnectionType' ports: type: array items: $ref: '#/components/schemas/VideoSinkStatus' VideoSourceBase: description: Base information relating to a specific video source endpoint. type: object properties: portId: readOnly: true $ref: '#/components/schemas/PortId' connectorLabel: readOnly: true $ref: '#/components/schemas/ConnectorLabel' connectorLabelNumbers: readOnly: true $ref: '#/components/schemas/ConnectorLabelNumbers' capabilities: readOnly: true $ref: '#/components/schemas/PortCapabilities' connected: description: A flag indicating whether this port is connected to a video device. readOnly: true type: boolean edidSourceUuid: description: The UUID of the connected RX that provides the EDID to be used. $ref: '#/components/schemas/EdidSourceUuid' supportedBitsPerPixel: description: An array containing the supported values that can be used as maxBitsPerPixel. type: array items: type: integer minimum: 0 enabled: description: A flag indicating whether this video source is enabled. type: boolean frameSkipping: description: The percentage of frames that are to be skipped to reduce the overall bandwidth consumption. type: integer minimum: 0 maximum: 99 backgroundRefresh: description: The number of frames which pass before the whole background image is sent again. type: integer enum: - 0 - 32 - 64 - 128 - 256 edidOptimisation: description: >- When using a edidSourceFixed of 'Attached monitor' this flag controls whether optimised EDID processing is enabled. Enabling optimisation can speed up switching performance in cases where different have the same native video capabilites. type: boolean edidSourceFixed: description: >- The fixed EDID to be used or 'Attached monitor' to take the EDID from the attached sink (RX) device's monitor. Use /sources/video/supportedEdidModes/{portId} to obtain the list of strings that can be patched. type: string edidSourceDynamicRangeFixed: description: >- The bits per colour and dynamic range capabilities to be applied to the edidSourceFixedEdid. This is ignored in the edidSourceFixed is 'Attached monitor'. Use /sources/video/supportedEdidModes/{portId} to obtain the list of strings that can be patched. type: string maxBitsPerPixel: description: >- The maximum number of bits per pixel. Valid values that can be patched are provided via supportedBitsPerPixel. type: integer minimum: 0 compressionType: $ref: '#/components/schemas/VideoCodecCompressionType' minCompression: description: The minimum mode of compression, ignored unless compressionType is advanced. $ref: '#/components/schemas/VideoCodecAdvancedCompression' maxCompression: description: The maximum mode of compression, ignored unless compressionType is advanced. $ref: '#/components/schemas/VideoCodecAdvancedCompression' multicastAddresses: description: >- A list of multicast addresses for this port for each network interface. An empty string indicates that the corresponding network interface is unavailable. type: array items: $ref: '#/components/schemas/IpAddress' VideoSourcePartial: description: Information relating to a specific video source endpoint. type: object allOf: - $ref: '#/components/schemas/VideoSourceBase' properties: magicEye: $ref: '#/components/schemas/MagicEyeSettingsPartial' VideoSource: description: All required information relating to a specific video source endpoint. required: - portId - connectorLabel - connectorLabelNumbers - capabilities - connected - edidSourceUuid - supportedBitsPerPixel - enabled - frameSkipping - backgroundRefresh - magicEye - overrides - edidOptimisation - edidSourceFixed - edidSourceDynamicRangeFixed - maxBitsPerPixel - compressionType - minCompression - maxCompression - multicastAddresses type: object allOf: - $ref: '#/components/schemas/VideoSourceBase' properties: magicEye: $ref: '#/components/schemas/MagicEyeSettings' VideoSourceStatistics: type: object required: - portId - connectorLabel - frames - droppedFrames - packets - packetsStream - codec - timestamp properties: portId: $ref: '#/components/schemas/PortId' connectorLabel: $ref: "#/components/schemas/ConnectorLabel" frames: description: The total number of video frames transmitted for this video port (since transmission was started). type: integer minimum: 0 droppedFrames: description: The number of frames dropped before transmission. type: integer minimum: 0 packets: description: The total number of packets output from the video processor. type: integer minimum: 0 packetsStream: description: The number of packets from the video processor output as stream[n]. type: array items: type: integer minimum: 0 codec: $ref: '#/components/schemas/VideoCodec' afzSubMode: $ref: '#/components/schemas/VideoCodecAfzSubMode' timestamp: description: The monotonic time in milliseconds at which the statistics were measured. type: integer minimum: 0 VideoSources: description: A list of video source endpoints. type: object required: - type - ports properties: type: $ref: '#/components/schemas/ConnectionType' ports: type: array items: $ref: '#/components/schemas/VideoSource' VideoSourceStatus: type: object required: - connectorLabel - port - encoding - transmission properties: connectorLabel: $ref: "#/components/schemas/ConnectorLabel" port: $ref: '#/components/schemas/VideoPortStatus' encoding: $ref: '#/components/schemas/VideoEncodingStatus' transmission: $ref: '#/components/schemas/VideoTransmissionStatus' VideoSourcesStatus: description: A list of video source status endpoints. type: object required: - type - ports properties: type: $ref: '#/components/schemas/ConnectionType' ports: type: array items: $ref: '#/components/schemas/VideoSourceStatus' VideoDecodingStatus: description: Information relating to the video decoding status. type: object required: - enabled - imageHidden - overlayEnabled - osdEnabled - mirroring - highResSingleHeadMode - hdrMetaDataEnabled - width - height - period - segmentsPerLine - segmentIncrement - pixelsPerSegment - pixelsPerLastSegment - bytesPerSegment - bytesPerLastSegment - codec properties: enabled: description: A flag indicating whether video decoding processing is enabled on this video port. type: boolean imageHidden: description: A flag indicating whether the decoded video image is currently hidden on this video port. type: boolean overlayEnabled: description: A flag indicating whether the graphics overlay image is currently enabled (visible) on this video port. type: boolean osdEnabled: description: A flag indicating whether the On Screen Display is enabled on this video port. type: boolean mirroring: description: A flag indicating whether the video image displayed on this video port is mirrored from another video port. type: boolean highResSingleHeadMode: description: A flag indicating whether video decoding is using multiple video processors in order to support a high resolution video stream. type: boolean hdrMetaDataEnabled: description: A flag indicating whether video decoding of HDR meta data is eanbled. type: boolean width: description: The active video width in pixels. type: integer minimum: 0 height: description: The active video height in lines. type: integer minimum: 0 period: description: The video frame period in uSecs. type: integer minimum: 0 segmentsPerLine: description: The segments per line used. type: integer minimum: 0 segmentIncrement: description: The segment number increment between segments. type: integer minimum: 0 pixelsPerSegment: description: The number of pixels per segment except the last one. type: integer minimum: 0 pixelsPerLastSegment: description: The number of pixels per last segment on each row. type: integer minimum: 0 bytesPerSegment: description: The number of bytes per segment except the last one. type: integer minimum: 0 bytesPerLastSegment: description: The number of bytes per last segment on each row. type: integer minimum: 0 codec: $ref: '#/components/schemas/VideoCodec' afzSubMode: description: Only present for afz codec types. $ref: '#/components/schemas/VideoCodecAfzSubMode' maxAfz: description: Only present for afz codec types. $ref: '#/components/schemas/VideoCodecMaxAfz' numberOfExpanders: description: >- The number of AFZ expanders used for the decoding (only present for 'afz' based videoCodec). Only present for afz codec types. type: integer minimum: 0 numberOfFrameStores: description: Only present for afz codec types. $ref: '#/components/schemas/VideoCodecNumberOfFrameStores' uncompressedBytesPerSegment: description: Only present for afz codec types. $ref: '#/components/schemas/VideoCodecUncompressedBytesPerSegment' VideoEncodingStatus: description: Information relating to the video encoding status. type: object required: - enabled - highResSingleHeadMode - hdrMetaDataEnabled - pixelBufferFull - segmentsPerLine - segmentIncrement - pixelsPerSegment - pixelsPerLastSegment - bytesPerSegment - bytesPerLastSegment - codec - segmentCompareEnabled - maximumSegmentCompareLevel - segmentRefreshEnabled - segmentRefreshPeriod - transmitMode properties: enabled: description: A flag indicating whether the video encoding processing is enabled. type: boolean highResSingleHeadMode: description: A flag indicating whether the video encoding is using multiple video processors to support a high resolution video stream. type: boolean hdrMetaDataEnabled: description: A flag indicating whether video decoding of HDR meta data is eanbled. type: boolean pixelBufferFull: description: A flag indicating whether the video encoding pixel buffer is full (error). type: boolean segmentsPerLine: description: The number of segments per line used. type: integer minimum: 0 segmentIncrement: description: The segment number increment between segments. type: integer minimum: 0 pixelsPerSegment: description: The number of pixels per segment except the last one. type: integer minimum: 0 pixelsPerLastSegment: description: The number of pixels per last segment on each row. type: integer minimum: 0 bytesPerSegment: description: The number of bytes per segment except the last one. type: integer minimum: 0 bytesPerLastSegment: description: The number of bytes per last segment on each row. type: integer minimum: 0 codec: $ref: '#/components/schemas/VideoCodec' afzSubMode: $ref: '#/components/schemas/VideoCodecAfzSubMode' maxAfz: $ref: '#/components/schemas/VideoCodecMaxAfz' numberOfCompressors: description: The number of AFZ compressors used for the encoding (only present for 'afz' based videoCodec). type: integer minimum: 0 numberOfFrameStores: $ref: '#/components/schemas/VideoCodecNumberOfFrameStores' uncompressedBytesPerSegment: $ref: '#/components/schemas/VideoCodecUncompressedBytesPerSegment' segmentCompareEnabled: description: Whether the segment comparison between frames enabled - only transmit changed segments. type: boolean maximumSegmentCompareLevel: description: The maximum segment comparison level. (0 = off). type: integer minimum: 0 segmentRefreshEnabled: description: Whether the periodic segment refresh is enabled. i.e. transmit unchanged segments occasionally. type: boolean segmentRefreshPeriod: description: The refresh period for unchanged segments. type: integer minimum: 0 transmitMode: description: The transmit mode type for the encoded video. type: string enum: - none - async - sync VideoPortStatusBase: description: Status information common to all video port types. required: - connected - powered - hotPlugAsserted - maxDataRate - type properties: connected: description: Whether there is a video source connected to this port. type: boolean powered: description: Whether the video source is powered on. type: boolean hotPlugAsserted: description: Whether the hot-plug detect signal is asserted on this port by the source. type: boolean maxDataRate: description: The maximum data rate supported on this port in kilobits per second. type: integer minimum: 0 type: $ref: '#/components/schemas/DisplayInterfaceType' info: $ref: '#/components/schemas/VideoInfo' VideoPortStatus: description: Information for the video port status. oneOf: - $ref: '#/components/schemas/DisplayPortVideoPortStatus' - $ref: '#/components/schemas/HdmiVideoPortStatus' - $ref: '#/components/schemas/DviVideoPortStatus' - $ref: '#/components/schemas/VgaVideoPortStatus' - $ref: '#/components/schemas/UnknownVideoPortStatus' discriminator: propertyName: type mapping: Display Port: '#/components/schemas/DisplayPortVideoPortStatus' HDMI: '#/components/schemas/HdmiVideoPortStatus' DVI: '#/components/schemas/DviVideoPortStatus' VGA: '#/components/schemas/VgaVideoPortStatus' Unknown: '#/components/schemas/UnknownVideoPortStatus' VideoReceptionStatus: description: Information relating to the video network reception status. type: object required: - teaming - stopped - locked - frameStoreFilterEnabled - frameStoreNumber - lockMode - width - height - period - stream properties: teaming: description: A flag indicating whether teaming is enabled between network interfaces for this video port. type: boolean stopped: description: A flag indicating whether reception of all streams is stopped for this video port. type: boolean locked: description: A flag indicating whether video processing is locked to the received video packets. type: boolean frameStoreFilterEnabled: description: A flag indicating whether frame store filtering is enabled for this video port. type: boolean frameStoreNumber: description: The frame store number that is being filtered on for this video port. type: integer minimum: 0 lockMode: description: The timing lock mode number in use for this video port. type: integer minimum: 0 width: description: The data stream video width in pixels. type: integer minimum: 0 height: description: The data stream video height in lines. type: integer minimum: 0 period: description: The data stream video period in uSecs. type: integer minimum: 0 stream: description: The status of each reception stream of this video port. type: array items: $ref: "#/components/schemas/AvReceptionStatusNetwork" VideoTransmissionStatus: description: Information relating to the video network transmission status. type: object required: - teaming - stopped - stream properties: teaming: description: Whether teaming is enabled between network interfaces for this video port. type: boolean stopped: description: Whether transmission of all streams is stopped for this video port. type: boolean stream: description: The status of each transmission stream of this video port. type: array items: type: object required: - rateLimit - networkInterface properties: rateLimit: description: The rate limit in Mbps (0 = no limit). type: integer minimum: 0 networkInterface: $ref: '#/components/schemas/TransmissionStatusNetwork' responses: "101": description: Switching protocols (websocket only). content: text/plain: schema: type: string "204": description: No Content content: text/plain: schema: type: string "304": description: Not Modified content: text/plain: schema: type: string "400": description: Bad Request content: text/plain: schema: type: string "401": description: Unauthorised content: text/plain: schema: type: string "403": description: Forbidden (The user is not an Administrator). content: text/plain: schema: type: string "404": description: Not Found content: text/plain: schema: type: string "409": description: Conflict content: text/plain: schema: type: string "412": description: Precondition Failure content: text/plain: schema: type: string "500": description: Internal Server Error content: text/plain: schema: type: string "501": description: Not Implemented content: text/plain: schema: type: string "503": description: Service Unavailable content: text/plain: schema: type: string