################################################################################ ## ## Copyright (C) 2017-2022 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 ## ################################################################################ swagger: '2.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. schemes: - https host: device.adder.com basePath: '/api' paths: '/applications/osd': get: tags: - OSD summary: Obtain the OSD information for this device. parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: OK. headers: ETag: description: ETag for the data response. type: string schema: type: object 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 '304': $ref: '#/responses/304' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/devices': get: tags: - Devices summary: Obtain the information for the discovered devices. parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: OK. headers: ETag: description: ETag for the data response. type: string schema: description: List of the discovered devices' information. type: array items: type: object allOf: - $ref: '#/definitions/DeviceInfo' - properties: uuid: description: The device's unique identifier. type: string '304': $ref: '#/responses/304' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/devices/{uuid}': get: tags: - Devices summary: Obtain this discovered device's information. parameters: - $ref: '#/parameters/ifNoneMatch' - $ref: '#/parameters/uuid' responses: '200': description: OK. headers: ETag: description: ETag for the data response. type: string schema: type: object allOf: - $ref: '#/definitions/DeviceInfo' '304': $ref: '#/responses/304' '404': $ref: '#/responses/404' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/diagnostics/dump': get: tags: - Diagnostics summary: Obtain the diagnostics dump file information. parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: OK. headers: ETag: description: ETag for the data response. type: string schema: type: object properties: fileState: description: The state of the generated diagnostics dump file. type: string enum: - idle - inProgress - failed - complete 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 '304': $ref: '#/responses/304' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' post: tags: - Diagnostics summary: Request a diagnostics dump file to be generated. parameters: - $ref: '#/parameters/adminAuthorization' - in: body name: diagnosticsSupportDump description: Request generation of a diagnostics dump file. required: true schema: type: object 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: '#/responses/204' '400': $ref: '#/responses/400' '401': $ref: '#/responses/401' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/diagnostics/igmp': get: tags: - Diagnostics summary: Obtain the diagnostics information for the most recently run igmp diagnostic. Only available on an RX. parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: OK. headers: ETag: type: string description: ETag for the data response. schema: description: A list of diagnostics info, one per interface/ipAddress combintation that was tested. type: array items: type: object properties: state: description: > The state of the current (or most recent) igmp diagnostic on this device. * `idle` - A igmp diagnostic has not yet been performed. * `inProgress` - A igmp diagnostic is currently running. * `failed` - A igmp diagnostic has completed and the results indicate a failure. * `complete` - A igmp diagnostic has completed and the result indicate a success. type: string enum: - idle - inProgress - failed - complete ifIndex: description: The local network interface ID this igmp test was performed using. $ref: '#/definitions/IfIndex' ipAddress: description: The peer IP address this igmp test was performed using. type: string version: description: The version of IGMP that was detected on the network. This is 0 if it is not known. type: integer multicastFilteringResult: description: | The result of testing for network multicast filtering support. * `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. type: string enum: - failed - passedMarginally - passed multicastFastLeaveResult: description: | The result of testing for network multicast fast leave support. * `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. type: string enum: - failed - passedMarginally - passed duration: description: The total duration of the test (in milliseconds). type: integer unicastPacketLoss: description: The percentage of unicast packets that were lost. type: integer unicastMinResponseTime: description: The minimum time (in microseconds) after which a unicast response was received. Will be 0 if unicastPacketLoss is 100. type: integer unicastAvgResponseTime: description: The average time (in microseconds) after which a unicast response was received. Will be 0 if unicastPacketLoss is 100. type: integer unicastMaxResponseTime: description: The maximum time (in microseconds) after which a unicast response was received. Will be 0 if unicastPacketLoss is 100. type: integer multicastPacketLoss: description: The percentage of multicast packets that were lost. type: integer multicastMinResponseTime: description: The minimum time (in microseconds) after which a multicast response was received. Will be 0 if multicastPacketLoss is 100. type: integer multicastAvgResponseTime: description: The average time (in microseconds) after which a multicast response was received. Will be 0 if multicastPacketLoss is 100. type: integer multicastMaxResponseTime: description: The maximum time (in microseconds) after which a multicast response was received. Will be 0 if multicastPacketLoss is 100. type: integer multicastPacketsReceivedPreMembership: description: The number of multicast packets received before joining the multicast membership. type: integer multicastPacketsReceivedDuringMembership: description: The number of multicast packets received after joining the multicast membership. type: integer multicastPacketsReceivedPostMembership: description: The number of multicast packets received after leaving the multicast membership. type: integer timeTakenToJoinMulticastMembership: description: The time in microseconds for an IGMP join to take an affect. type: integer 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 '304': $ref: '#/responses/304' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' post: tags: - Diagnostics summary: Request a diagnostics igmp be performed. Only available on an RX. parameters: - $ref: '#/parameters/adminAuthorization' - in: body name: diagnosticsIgmp description: Request diagnostics igmp. required: true schema: type: object properties: uuid: description: The destination device identifier to use for the igmp diagnostics test. type: string minLength: 36 maxLength: 36 responses: '204': $ref: '#/responses/204' '400': $ref: '#/responses/400' '401': $ref: '#/responses/401' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/diagnostics/logging': get: tags: - Diagnostics summary: Obtain the diagnostics logging settings. parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: OK. headers: ETag: description: ETag for the data response. type: string schema: 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). type: string maxLength: 255 severityLevel: $ref: '#/definitions/severityLevel' filePath: description: The path of the log file. type: string '304': $ref: '#/responses/304' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' patch: tags: - Diagnostics summary: Modify the logging diagnostics settings. parameters: - $ref: '#/parameters/adminAuthorization' - $ref: '#/parameters/ifMatch' - in: body name: loggingConfig description: The properties to be used. required: true schema: 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). type: string severityLevel: $ref: '#/definitions/severityLevel' responses: '204': $ref: '#/responses/204' '400': $ref: '#/responses/400' '401': $ref: '#/responses/401' '412': $ref: '#/responses/412' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/diagnostics/ping': get: tags: - Diagnostics summary: Obtain the diagnostics information for the most recently run ping diagnostic. parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: OK. headers: ETag: type: string description: ETag for the data response. schema: type: object 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: '#/definitions/IfIndex' 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`. type: string state: description: > The state of the current (or most recent) ping diagnostic on this device. * `idle` - A ping diagnostic has not yet been performed. * `inProgress` - A ping diagnostic is currently running. * `failed` - A ping diagnostic has completed and the results indicate a failure. * `complete` - A ping diagnostic has completed and the result indicate a success. type: string enum: - idle - inProgress - failed - complete packetLoss: description: The percentage of packets that were lost. A non-zero value here will result in a `failed` state. type: integer minResponseTime: description: The minimum time (in microseconds) that a response was received. Will be 0 if packetLoss is 100. type: integer avgResponseTime: description: The average time (in microseconds) that a response was received. Will be 0 if packetLoss is 100. type: integer maxResponseTime: description: The maximum time (in microseconds) that a response was received. Will be 0 if packetLoss is 100. type: integer '304': $ref: '#/responses/304' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' post: tags: - Diagnostics summary: Request a diagnostics ping be performed. parameters: - $ref: '#/parameters/adminAuthorization' - in: body name: diagnosticsPing description: Request diagnostics ping. required: true schema: type: object properties: ifIndex: description: The network interface the ping should be performed via. The special value 0 should be used to allow all interfaces. type: integer minimum: 0 maximum: 4 name: description: The destination device name to use for the ping. This can be a dotted quad IP address, UUID or FQDN. type: string maxLength: 256 responses: '204': $ref: '#/responses/204' '400': $ref: '#/responses/400' '401': $ref: '#/responses/401' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/diagnostics/remoteSupport': get: tags: - Diagnostics summary: Obtain the diagnostics remote support settings. parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: OK. headers: ETag: type: string description: ETag for the data response. schema: 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. type: integer minimum: 1 maximum: 65535 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. type: integer minimum: 0 maximum: 65535 oneTimePassword: description: The one time password to be used by the remote support connection. This string will be empty if enabled is false. type: string '304': $ref: '#/responses/304' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' patch: tags: - Diagnostics summary: Modify the remote support diagnostics settings. parameters: - $ref: '#/parameters/adminAuthorization' - $ref: '#/parameters/ifMatch' - in: body name: remoteSupportConfig description: The properties to be used. required: true schema: type: object properties: enabled: description: Whether the remote support interface should be enabled or disabled. type: boolean serverPortNumber: description: The port number on the remote support server that the system should try to connect to. type: integer minimum: 1 maximum: 65535 responses: '204': $ref: '#/responses/204' '400': $ref: '#/responses/400' '401': $ref: '#/responses/401' '412': $ref: '#/responses/412' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/diagnostics/process/statistics': get: tags: - Diagnostics summary: Obtain the diagnostics process statistics. parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: OK. schema: description: A list of process statistics for this device. type: array items: type: object properties: processId: description: The ID for this process. type: integer parentProcessId: description: The ID of the parent of this process. type: integer virtualMemorySize: description: The virtual memory size of the process in KiB. type: integer residentSetSize: description: The non-swapped physical memory that a process has used in KiB. type: integer 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 '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/diagnostics/system/statistics': get: tags: - Diagnostics summary: Obtain the diagnostics system statistics. parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: OK. schema: description: A collection of statistics that provide an indication of the overall operation of the core system. type: object properties: cpuInfo: description: CPU related information. type: object properties: numCpus: description: The number of CPUs available. type: integer numProcesses: description: The number of processes. type: integer loads: description: The CPU load averages. type: object properties: one: description: The 1 minute load average. type: number format: float five: description: The 5 minute load average. type: number format: float fifteen: description: The 15 minute load average. type: number format: float activity: description: Per CPU usage statistics. type: array items: type: object properties: usr: description: The percentage of time spent running in user mode. type: integer nice: description: The percentage of time spent running niced processes. type: integer sys: description: The percentage of time spent running in kernel mode. type: integer idle: description: The percentage of time spent with nothing to do. type: integer io: description: The percentage of time spent waiting for I/O to complete. type: integer irq: description: The percentage of time spent servicing interrupts. type: integer sirq: description: The percentage of time spent servicing soft interrupts. type: integer memoryInfo: description: Memory related information. All values are in KiB. type: object properties: total: description: The total amount of physical RAM. type: integer free: description: The amount of physical RAM left unused by the system. type: integer available: description: The available memory (approximately free + buffers + cached + slabReclaimable). type: integer buffers: description: The amount of physical RAM used for file buffers. type: integer cached: description: The amount of physical RAM used as cache memory. type: integer slab: description: The total amount of memory that has been used by the kernel to cache data structures for its own use. type: integer slabReclaimable: description: The amount of memory that can be reclaimed from the slab. type: integer temperatureInfo: description: Temperature information. type: object properties: sensors: description: A list of available temperature sensors. type: array items: type: object properties: id: description: A string identifying the specific sensor. type: string currentTemperature: description: The currently reported temperature in degrees Celsius. type: integer '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/interfaces/status': get: tags: - Interfaces Status summary: Obtain status information about the network interfaces on this device. parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: OK. headers: ETag: description: ETag for the data response. type: string schema: description: List of network interfaces for this device. type: array items: type: object allOf: - $ref: '#/definitions/InterfacesStatus' - properties: ifIndex: description: The network interface ID. $ref: '#/definitions/IfIndex' '304': $ref: '#/responses/304' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/interfaces/status/{ifIndex}': get: tags: - Interfaces Status summary: Obtain status information about a network interface on this device. parameters: - $ref: '#/parameters/ifNoneMatch' - $ref: '#/parameters/ifIndex' responses: '200': description: OK. headers: ETag: description: ETag for the data response. type: string schema: type: object allOf: - $ref: '#/definitions/InterfacesStatus' '304': $ref: '#/responses/304' '404': $ref: '#/responses/404' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/interfaces/settings': get: tags: - Interfaces Settings summary: Obtain information about the network interfaces on this device. parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: OK. headers: ETag: description: ETag for the data response. type: string schema: description: List of network interfaces for this device. type: array items: type: object allOf: - $ref: '#/definitions/InterfacesSettings' - properties: ifIndex: $ref: '#/definitions/IfIndex' '304': $ref: '#/responses/304' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/interfaces/settings/{ifIndex}': get: tags: - Interfaces Settings summary: Obtain information about a network interface on this device. parameters: - $ref: '#/parameters/ifNoneMatch' - $ref: '#/parameters/ifIndex' responses: '200': description: OK. headers: ETag: description: ETag for the data response. type: string schema: type: object allOf: - $ref: '#/definitions/InterfacesSettings' '304': $ref: '#/responses/304' '404': $ref: '#/responses/404' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' patch: tags: - Interfaces Settings - Extended API summary: Modify the information for this network interface index. parameters: - $ref: '#/parameters/adminAuthorization' - $ref: '#/parameters/ifMatch' - $ref: '#/parameters/ifIndex' - in: body name: generalConfig description: The properties to be used. required: true schema: $ref: '#/definitions/InterfacesSettings' responses: '204': $ref: '#/responses/204' '400': $ref: '#/responses/400' '401': $ref: '#/responses/401' '403': $ref: '#/responses/403' '404': $ref: '#/responses/404' '412': $ref: '#/responses/412' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/interfaces/statistics': get: tags: - Interfaces Statistics summary: Obtain the network statistics on this device. responses: '200': description: OK. schema: description: List of network statistics for this device. type: array items: type: object allOf: - $ref: '#/definitions/InterfacesStatistics' - properties: ifIndex: $ref: '#/definitions/IfIndex' '304': $ref: '#/responses/304' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/interfaces/statistics/{ifIndex}': get: tags: - Interfaces Statistics summary: Obtain the statistics for a network interface on this device. parameters: - $ref: '#/parameters/ifIndex' responses: '200': description: OK. schema: type: object allOf: - $ref: '#/definitions/InterfacesStatistics' '304': $ref: '#/responses/304' '404': $ref: '#/responses/404' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/presets': get: tags: - Presets summary: Obtain the information for all presets on this device. Only available on an RX. parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: OK. headers: ETag: description: ETag for the data response. type: string schema: description: List of presets. type: array items: type: object allOf: - $ref: '#/definitions/Preset' - properties: presetId: description: The ID of the preset. type: integer minimum: 0 maximum: 4294967295 '304': $ref: '#/responses/304' '404': $ref: '#/responses/404' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/presets/{presetId}': get: tags: - Presets summary: Obtain the information for this preset. Only available on an RX. parameters: - $ref: '#/parameters/ifNoneMatch' - $ref: '#/parameters/presetId' responses: '200': description: OK. headers: ETag: description: ETag for the data response. type: string schema: type: object allOf: - $ref: '#/definitions/Preset' '304': $ref: '#/responses/304' '404': $ref: '#/responses/404' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/presets/connectionStatus': get: tags: - Presets summary: Obtain the connection status info for the selected preset. Only available on an RX. parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: OK. headers: ETag: description: ETag for the data response. type: string schema: $ref: '#/definitions/PresetConnectionsAndStatus' '304': $ref: '#/responses/304' '404': $ref: '#/responses/404' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/presets/selected': get: tags: - Presets summary: Obtain the presetId and access mode information for the selected preset. Only available on an RX. parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: OK. headers: ETag: description: ETag for the data response. type: string schema: type: object allOf: - $ref: '#/definitions/PresetSelected' '304': $ref: '#/responses/304' '404': $ref: '#/responses/404' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' patch: tags: - Presets - Extended API summary: Change to a different preset, which will become the selected one. Only available on an RX. parameters: - $ref: '#/parameters/userAuthorization' - $ref: '#/parameters/ifMatch' - in: body name: selectedPreset description: The preset and access mode to be connected to. required: true schema: type: object allOf: - $ref: '#/definitions/PresetSelected' responses: '204': $ref: '#/responses/204' '400': $ref: '#/responses/400' '401': $ref: '#/responses/401' '404': $ref: '#/responses/404' '412': $ref: '#/responses/412' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/settings/general': get: tags: - General Settings summary: Obtain the general settings for this device. parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: OK. headers: ETag: description: ETag for the data response. type: string schema: type: object allOf: - $ref: '#/definitions/SettingsGeneral' - properties: type: description: The device type. type: string enum: - RX - TX serialNumber: description: The device's serial number. type: string family: description: The collective product range that this device belongs to. type: string model: description: The model for this device. type: string pcbId: description: The ID associated with the PCB of this device. type: string boardRevision: description: The board revision for this device. type: integer unitType: description: The unit type reported by the hardware for this device. type: integer softwareCompatibleId: description: The software compatible ID associated with the hardware for this device. type: string configurationUi: description: | Whether this device can be configured via the UI. Paths tagged "Extended UI" are only available if this is True. type: boolean isAutoConfiguring: description: Whether the automatic configuration process is currently running. type: boolean maxDevices: description: | For a RX device type, this is the maximum number of presets that the RX supports. For a TX device type, this is the maximum number of RX devices that can connect to the TX at the same time. In both cases, a value of zero indicates an unlimited number. type: integer imageInfo: description: The details of the different software images on this device. type: array items: type: object properties: imageType: description: The image type. type: string enum: - bootloader - recovery - main imageId: description: The id of this image. This property will only exist for images with imageType 'main'. type: integer version: description: The software version of this image. type: string valid: description: Whether this image is valid. type: boolean active: description: Whether this image is currently active. type: boolean preferred: description: Whether this is the image the device will boot into upon a reboot. type: boolean platformComponents: description: The details of different platform specific components on this device. The list of components may vary from one device type to another. type: array items: type: object properties: name: description: The name associated with a particular platform component. There can be multiple objects that have the same name. type: string version: description: The version of the platform component. type: string '304': $ref: '#/responses/304' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' patch: tags: - General Settings - Extended API summary: Modify the general settings for this device. parameters: - $ref: '#/parameters/adminAuthorization' - $ref: '#/parameters/ifMatch' - in: body name: generalConfig description: The properties to be used. required: true schema: type: object allOf: - $ref: '#/definitions/SettingsGeneral' responses: '204': $ref: '#/responses/204' '400': $ref: '#/responses/400' '401': $ref: '#/responses/401' '412': $ref: '#/responses/412' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/settings/network': get: tags: - Network Settings summary: Obtain the overall network settings for all interfaces. parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: OK. headers: ETag: description: ETag for the data response. type: string schema: type: object allOf: - $ref: '#/definitions/NetworkSettingsGettable' - $ref: '#/definitions/NetworkSettingsPatchable' '304': $ref: '#/responses/304' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' patch: tags: - Network Settings - Extended API summary: Modify the overall network settings for this device. parameters: - $ref: '#/parameters/adminAuthorization' - $ref: '#/parameters/ifMatch' - in: body name: networkConfig description: The properties to be used. required: true schema: $ref: '#/definitions/NetworkSettingsPatchable' responses: '204': $ref: '#/responses/204' '400': $ref: '#/responses/400' '401': $ref: '#/responses/401' '412': $ref: '#/responses/412' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/settings/ui/{userId}': get: tags: - UI Settings summary: Obtain the UI settings for this user. parameters: - $ref: '#/parameters/ifNoneMatch' - $ref: '#/parameters/userId' responses: '200': description: OK. headers: ETag: description: ETag for the data response. type: string schema: type: object allOf: - $ref: '#/definitions/SettingsUi' '304': $ref: '#/responses/304' '404': $ref: '#/responses/404' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' patch: tags: - UI Settings summary: Modify the ui settings for this device. parameters: - $ref: '#/parameters/userAuthorization' - $ref: '#/parameters/ifMatch' - $ref: '#/parameters/userId' - in: body name: uiConfig description: The properties to be used. required: true schema: type: object allOf: - $ref: '#/definitions/SettingsUi' responses: '204': $ref: '#/responses/204' '400': $ref: '#/responses/400' '401': $ref: '#/responses/401' '404': $ref: '#/responses/404' '412': $ref: '#/responses/412' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/sinks': get: tags: - Sinks summary: "Gets a list of sinks the target device provides" description: |+ This API can be used to inspect the sinks provided by the target device. *** ### Examples Get all the sinks provided by the target device. ``` GET /sinks ``` parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "An array of endpoint groups" headers: ETag: description: ETag for the data response. type: string schema: $ref: "#/definitions/EndpointGroups" '304': $ref: "#/responses/304" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' '/sinks/audio': get: tags: - Sinks summary: "Gets a list of audio sinks the target device provides" description: |+ This API can be used to inspect the audio sinks provided by the target device. *** ### Examples Get all the audio sinks. ``` GET /sinks/audio ``` parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "An audio sink endpoint array" headers: ETag: description: ETag for the data response. type: string schema: type: array items: type: object allOf: - $ref: '#/definitions/PortId' - $ref: '#/definitions/AudioSinkEndpoint' '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' '/sinks/audio/{sinkId}': get: tags: - Sinks summary: "Gets the specified audio sink from the target device" description: |+ This API can be used to get the specified resource. *** ### Examples Get the audio sink with the ID '1'. ``` GET /sinks/audio/1 ``` parameters: - $ref: '#/parameters/sinkId' - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "The specified audio sink" headers: ETag: description: ETag for the data response. type: string schema: $ref: "#/definitions/AudioSinkEndpoint" '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' patch: tags: - Sinks - Extended API summary: "Patch the specified audio sink on the target device" description: |+ This API can be used to patch the specified resource. *** ### Examples Patch the audio sink with the ID '1'. ``` PATCH /sinks/audio/1 ``` parameters: - $ref: '#/parameters/adminAuthorization' - $ref: '#/parameters/ifMatch' - $ref: '#/parameters/sinkId' - in: body name: sinksAudio description: The properties to be used. required: true schema: $ref: '#/definitions/AudioSinkEndpointPatchable' responses: '204': $ref: '#/responses/204' '400': $ref: '#/responses/400' '401': $ref: '#/responses/401' '404': $ref: '#/responses/404' '412': $ref: '#/responses/412' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/sinks/audio/connectedDevices/{sinkId}': get: tags: - Sinks summary: "Gets the connected devices info for the specified audio sink from the target device" description: |+ This API can be used to get the specified resource. *** ### Examples Get the connected devices for audio sink with the ID '1'. ``` GET /sinks/audio/connectedDevices/1 ``` parameters: - $ref: '#/parameters/sinkId' - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "The connected devices for the specified audio sink" headers: ETag: description: ETag for the data response. type: string schema: description: A list of connected devices. type: array items: type: object allOf: - $ref: '#/definitions/ConnectedDevice' '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' '/sinks/audio/statistics': get: tags: - Sinks summary: "Gets a list of audio sinks statistics from the target device" description: |+ This API can be used to inspect the audio sinks statistics provided by the target device. *** ### Examples Get all the audio sinks statistics. ``` GET /sinks/audio/statistics ``` parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "A audio sink statistics endpoint array" headers: ETag: description: ETag for the data response. type: string schema: type: array items: allOf: - $ref: '#/definitions/PortId' - $ref: '#/definitions/AudioSinkStatistics' '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' '/sinks/audio/statistics/{sinkId}': get: tags: - Sinks summary: "Gets the specified audio sink statistics from the target device" description: |+ This API can be used to inspect the specfied audio sink statistics provided by the target device. *** ### Examples Get the audio sink statistics with the ID '1'. ``` GET /sinks/audio/statistics/1 ``` parameters: - $ref: '#/parameters/sinkId' - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "The specified audio sink statistics" headers: ETag: description: ETag for the data response. type: string schema: $ref: '#/definitions/AudioSinkStatistics' '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' '/sinks/audio/status': get: tags: - Sinks summary: "Gets a list of audio sinks status from the target device" description: |+ This API can be used to inspect the audio sinks status provided by the target device. *** ### Examples Get all the audio sinks status. ``` GET /sinks/audio/status ``` parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "A audio sink status endpoint array" headers: ETag: description: ETag for the data response. type: string schema: type: array items: allOf: - $ref: '#/definitions/PortId' - $ref: '#/definitions/connectionStatusInfo' - $ref: '#/definitions/AudioSinkStatus' '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' '/sinks/audio/status/{sinkId}': get: tags: - Sinks summary: "Gets the specified audio sink status from the target device" description: |+ This API can be used to inspect the specfied audio sink status provided by the target device. *** ### Examples Get the audio sink status with the ID '1'. ``` GET /sinks/audio/status/1 ``` parameters: - $ref: '#/parameters/sinkId' - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "The specified audio sink status" headers: ETag: description: ETag for the data response. type: string schema: items: allOf: - $ref: '#/definitions/connectionStatusInfo' - $ref: '#/definitions/AudioSinkStatus' '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' '/sinks/serial': get: tags: - Sinks summary: "Gets a list of serial sinks the target device provides" description: |+ This API can be used to inspect the serial sinks provided by the target device. *** ### Examples Get all the serial sinks. ``` GET /sinks/serial ``` parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "A serial sink endpoint array" headers: ETag: description: ETag for the data response. type: string schema: type: array items: type: object allOf: - $ref: '#/definitions/PortId' - $ref: '#/definitions/SerialSinkEndpoint' '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' '/sinks/serial/{sinkId}': get: tags: - Sinks summary: "Gets the specified serial sink from the target device" description: |+ This API can be used to get the specified resource. *** ### Examples Get the serial sink with the ID '1'. ``` GET /sinks/serial/1 ``` parameters: - $ref: '#/parameters/sinkId' - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "The specified serial sink" headers: ETag: description: ETag for the data response. type: string schema: $ref: "#/definitions/SerialSinkEndpoint" '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' patch: tags: - Sinks - Extended API summary: "Patch the specified serial sink on the target device" description: |+ This API can be used to patch the specified resource. *** ### Examples Patch the serial sink with the ID '1'. ``` PATCH /sinks/serial/1 ``` parameters: - $ref: '#/parameters/adminAuthorization' - $ref: '#/parameters/ifMatch' - $ref: '#/parameters/sinkId' - in: body name: sinksSerial description: The properties to be used. required: true schema: $ref: '#/definitions/SerialSinkEndpointPatchable' responses: '204': $ref: '#/responses/204' '400': $ref: '#/responses/400' '401': $ref: '#/responses/401' '404': $ref: '#/responses/404' '412': $ref: '#/responses/412' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/sinks/serial/status': get: tags: - Sinks summary: "Gets a list of serial sinks status from the target device" description: |+ This API can be used to inspect the serial sinks status provided by the target device. *** ### Examples Get all the serial sinks status. ``` GET /sinks/serial/status ``` parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "A serial sink status endpoint array" headers: ETag: description: ETag for the data response. type: string schema: type: array items: allOf: - $ref: '#/definitions/PortId' - $ref: '#/definitions/connectionStatusInfo' '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' '/sinks/serial/status/{sinkId}': get: tags: - Sinks summary: "Gets the specified serial sink status from the target device" description: |+ This API can be used to inspect the specfied serial sink status provided by the target device. *** ### Examples Get the serial sink status with the ID '1'. ``` GET /sinks/serial/status/1 ``` parameters: - $ref: '#/parameters/sinkId' - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "The specified serial sink status" headers: ETag: description: ETag for the data response. type: string schema: items: allOf: - $ref: '#/definitions/connectionStatusInfo' '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' '/sinks/usb': get: tags: - Sinks summary: "Gets a list of USB sinks the target device provides" description: |+ This API can be used to inspect the USB sinks provided by the target device. *** ### Examples Get all the USB sinks. ``` GET /sinks/usb ``` parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "A USB sink endpoint array" headers: ETag: description: ETag for the data response. type: string schema: type: array items: type: object allOf: - $ref: '#/definitions/PortId' - $ref: '#/definitions/UsbSinkEndpoint' '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' '/sinks/usb/{sinkId}': get: tags: - Sinks summary: "Gets the specified USB sink from the target device" description: |+ This API can be used to get the specified resource. *** ### Examples Get the USB sink with the ID '1'. ``` GET /sinks/usb/1 ``` parameters: - $ref: '#/parameters/sinkId' - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "The specified USB sink" headers: ETag: description: ETag for the data response. type: string schema: $ref: "#/definitions/UsbSinkEndpoint" '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' patch: tags: - Sinks - Extended API summary: "Patch the specified USB sink on the target device" description: |+ This API can be used to patch the specified resource. *** ### Examples Patch the USB sink with the ID '1'. ``` PATCH /sinks/usb/1 ``` parameters: - $ref: '#/parameters/adminAuthorization' - $ref: '#/parameters/ifMatch' - $ref: '#/parameters/sinkId' - in: body name: sinksUsb description: The properties to be used. required: true schema: $ref: '#/definitions/UsbSinkEndpointPatchable' responses: '204': $ref: '#/responses/204' '400': $ref: '#/responses/400' '401': $ref: '#/responses/401' '404': $ref: '#/responses/404' '412': $ref: '#/responses/412' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/sinks/usb/connectedDevices/{sinkId}': get: tags: - Sinks summary: "Gets the connected devices for the specified USB sink from the target device" description: |+ This API can be used to get the specified resource. *** ### Examples Get the USB sink with the ID '1'. ``` GET /sinks/usb/connectedDevices/1 ``` parameters: - $ref: '#/parameters/sinkId' - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "The connected devices for the specified USB sink" headers: ETag: description: ETag for the data response. type: string schema: description: | The details of the connected USB devices. This property is only available for USB sinks that support the 'emulated' USB port capability type. type: array items: type: object 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 maxPower: description: The maximum power consumption (in mA) of the connected device. type: integer 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 /api/sinks/usb/{sinkId} endpoint; where a connector value 1 corresponds to the first entry within that array. type: integer minimum: 1 '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' '/sinks/usb/statistics': get: tags: - Sinks summary: "Gets a list of USB sinks statistics from the target device" description: |+ This API can be used to inspect the USB sinks statistics provided by the target device. *** ### Examples Get all the USB sinks statistics. ``` GET /sinks/usb/statistics ``` parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "A USB sink statistics endpoint array" headers: ETag: description: ETag for the data response. type: string schema: type: array items: allOf: - $ref: '#/definitions/PortId' - $ref: '#/definitions/UsbSinkStatistics' '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' '/sinks/usb/statistics/{sinkId}': get: tags: - Sinks summary: "Gets the specified USB sink statistics from the target device" description: |+ This API can be used to inspect the specfied USB sink statistics provided by the target device. *** ### Examples Get the USB sink statistics with the ID '1'. ``` GET /sinks/usb/statistics/1 ``` parameters: - $ref: '#/parameters/sinkId' - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "The specified USB sink statistics" headers: ETag: description: ETag for the data response. type: string schema: $ref: '#/definitions/UsbSinkStatistics' '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' '/sinks/usb/status': get: tags: - Sinks summary: "Gets a list of status information for the USB sinks from the target device" description: |+ This API can be used to inspect the USB sinks status provided by the target device. *** ### Examples Get all the USB sinks status. ``` GET /sinks/usb/status ``` parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "A video sink status endpoint array" headers: ETag: description: ETag for the data response. type: string schema: type: array items: allOf: - $ref: '#/definitions/PortId' - $ref: '#/definitions/connectionStatusInfo' - $ref: '#/definitions/UsbSinkStatus' '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' '/sinks/usb/status/{sinkId}': get: tags: - Sinks summary: "Gets the specified USB sink status from the target device" description: |+ This API can be used to inspect the specfied USB sink status provided by the target device. *** ### Examples Get the USB sink status with the ID '1'. ``` GET /sinks/usb/status/1 ``` parameters: - $ref: '#/parameters/sinkId' - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "The specified USB sink status" headers: ETag: description: ETag for the data response. type: string schema: items: allOf: - $ref: '#/definitions/connectionStatusInfo' - $ref: '#/definitions/UsbSinkStatus' '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' '/sinks/video': get: tags: - Sinks summary: "Gets a list of video sinks the target device provides" description: |+ This API can be used to inspect the video sinks provided by the target device. *** ### Examples Get all the video sinks. ``` GET /sinks/video ``` parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "A video sink endpoint array" headers: ETag: description: ETag for the data response. type: string schema: type: array items: type: object allOf: - $ref: '#/definitions/PortId' - $ref: '#/definitions/VideoSinkEndpoint' '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' '/sinks/video/{sinkId}': get: tags: - Sinks summary: "Gets the specified video sink from the target device" description: |+ This API can be used to get the specified resource. *** ### Examples Get the video sink with the ID '1'. ``` GET /sinks/video/1 ``` parameters: - $ref: '#/parameters/sinkId' - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "The specified video sink" headers: ETag: description: ETag for the data response. type: string schema: $ref: "#/definitions/VideoSinkEndpoint" '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' patch: tags: - Sinks - Extended API summary: "Patch the specified video sink on the target device" description: |+ This API can be used to patch the specified resource. *** ### Examples Patch the video sink with the ID '1'. ``` PATCH /sinks/video/1 ``` parameters: - $ref: '#/parameters/adminAuthorization' - $ref: '#/parameters/ifMatch' - $ref: '#/parameters/sinkId' - in: body name: sinksVideo description: The properties to be used. required: true schema: $ref: '#/definitions/VideoSinkEndpointPatchable' responses: '204': $ref: '#/responses/204' '400': $ref: '#/responses/400' '401': $ref: '#/responses/401' '404': $ref: '#/responses/404' '412': $ref: '#/responses/412' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/sinks/video/connectedDevices/{sinkId}': get: tags: - Sinks summary: "Gets the connected devices info for the specified video sink from the target device" description: |+ This API can be used to get the specified resource. *** ### Examples Get the connected devices for video sink with the ID '1'. ``` GET /sinks/video/connectedDevices/1 ``` parameters: - $ref: '#/parameters/sinkId' - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "The connected devices for the specified video sink" headers: ETag: description: ETag for the data response. type: string schema: description: A list of connected devices. type: array items: type: object allOf: - $ref: '#/definitions/ConnectedDevice' '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' '/sinks/video/statistics': get: tags: - Sinks summary: "Gets a list of video sinks statistics from the target device" description: |+ This API can be used to inspect the video sinks statistics provided by the target device. *** ### Examples Get all the video sinks statistics. ``` GET /sinks/video/statistics ``` parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "A video sink statistics endpoint array" headers: ETag: description: ETag for the data response. type: string schema: type: array items: allOf: - $ref: '#/definitions/PortId' - $ref: '#/definitions/VideoSinkStatistics' '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' '/sinks/video/statistics/{sinkId}': get: tags: - Sinks summary: "Gets the specified video sink statistics from the target device" description: |+ This API can be used to inspect the specfied video sink statistics provided by the target device. *** ### Examples Get the video sink statistics with the ID '1'. ``` GET /sinks/video/statistics/1 ``` parameters: - $ref: '#/parameters/sinkId' - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "The specified video sink statistics" headers: ETag: description: ETag for the data response. type: string schema: $ref: '#/definitions/VideoSinkStatistics' '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' '/sinks/video/status': get: tags: - Sinks summary: "Gets a list of video sinks status from the target device" description: |+ This API can be used to inspect the video sinks status provided by the target device. *** ### Examples Get all the video sinks status. ``` GET /sinks/video/status ``` parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "A video sink status endpoint array" headers: ETag: description: ETag for the data response. type: string schema: type: array items: allOf: - $ref: '#/definitions/PortId' - $ref: '#/definitions/connectionStatusInfo' - $ref: '#/definitions/VideoSinkStatus' '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' '/sinks/video/status/{sinkId}': get: tags: - Sinks summary: "Gets the specified video sink status from the target device" description: |+ This API can be used to inspect the specfied video sink status provided by the target device. *** ### Examples Get the video sink status with the ID '1'. ``` GET /sinks/video/status/1 ``` parameters: - $ref: '#/parameters/sinkId' - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "The specified video sink status" headers: ETag: description: ETag for the data response. type: string schema: items: allOf: - $ref: '#/definitions/connectionStatusInfo' - $ref: '#/definitions/VideoSinkStatus' '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' '/sources': get: tags: - Sources summary: "Gets a list of sources the target device provides" description: |+ This API can be used to inspect the sources provided by the target device. *** ### Examples Get all the sources provided by the target device. ``` GET /sources ``` parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "An array of endpoint groups" headers: ETag: description: ETag for the data response. type: string schema: $ref: "#/definitions/EndpointGroups" '304': $ref: "#/responses/304" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' '/sources/audio': get: tags: - Sources summary: "Gets a list of audio sources the target device provides" description: |+ This API can be used to inspect the audio sources provided by the target device. *** ### Examples Get all the audio sources. ``` GET /sources/audio ``` parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "An audio source endpoint array" headers: ETag: description: ETag for the data response. type: string schema: type: array items: type: object allOf: - $ref: '#/definitions/PortId' - $ref: '#/definitions/AudioSourceEndpoint' '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' '/sources/audio/{sourceId}': get: tags: - Sources summary: "Gets the specified audio source from the target device" description: |+ This API can be used to get the specified resource. *** ### Examples Get the audio source with the ID '1'. ``` GET /sources/audio/1 ``` parameters: - $ref: '#/parameters/sourceId' - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "The specified audio source" headers: ETag: description: ETag for the data response. type: string schema: $ref: "#/definitions/AudioSourceEndpoint" '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' patch: tags: - Sources - Extended API summary: "Patch the specified audio source on the target device" description: |+ This API can be used to patch the specified resource. *** ### Examples Patch the audio source with the ID '1'. ``` PATCH /sources/audio/1 ``` parameters: - $ref: '#/parameters/adminAuthorization' - $ref: '#/parameters/ifMatch' - $ref: '#/parameters/sourceId' - in: body name: sourcesAudio description: The properties to be used. required: true schema: $ref: '#/definitions/AudioSourceEndpointPatchable' responses: '204': $ref: '#/responses/204' '400': $ref: '#/responses/400' '401': $ref: '#/responses/401' '404': $ref: '#/responses/404' '412': $ref: '#/responses/412' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/sources/audio/supportedEdidModes/{sourceId}': get: tags: - Sources summary: "Gets the supported EDID modes for the specified audio source from the target device" description: |+ This API can be used to get the specified resource. *** ### Examples Get the supported EDID modes for the audio source with the ID '1'. ``` GET /sources/audio/supportedEdidModes/1 ``` parameters: - $ref: '#/parameters/sourceId' - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "The supported EDID modes for the audio source" headers: ETag: description: ETag for the data response. type: string schema: $ref: '#/definitions/EdidModes' '304': $ref: "#/responses/304" '404': $ref: '#/responses/404' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/sources/audio/statistics': get: tags: - Sources summary: "Gets a list of audio sources statistics from the target device" description: |+ This API can be used to inspect the audio sources statistics provided by the target device. *** ### Examples Get all the audio sources statistics. ``` GET /sources/audio/statistics ``` parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "A audio source statistics endpoint array" headers: ETag: description: ETag for the data response. type: string schema: type: array items: allOf: - $ref: '#/definitions/PortId' - $ref: '#/definitions/AudioSourceStatistics' '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' '/sources/audio/statistics/{sourceId}': get: tags: - Sources summary: "Gets the specified audio source statistics from the target device" description: |+ This API can be used to inspect the specfied audio source statistics provided by the target device. *** ### Examples Get the audio source statistics with the ID '1'. ``` GET /sources/audio/statistics/1 ``` parameters: - $ref: '#/parameters/sourceId' - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "The specified audio source statistics" headers: ETag: description: ETag for the data response. type: string schema: $ref: '#/definitions/AudioSourceStatistics' '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' '/sources/audio/status': get: tags: - Sources summary: "Gets a list of audio sources status from the target device" description: |+ This API can be used to inspect the audio sources status provided by the target device. *** ### Examples Get all the audio sources status. ``` GET /sources/audio/status ``` parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "A audio source status endpoint array" headers: ETag: description: ETag for the data response. type: string schema: type: array items: allOf: - $ref: '#/definitions/PortId' - $ref: '#/definitions/AudioSourceStatus' '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' '/sources/audio/status/{sourceId}': get: tags: - Sources summary: "Gets the specified audio source status from the target device" description: |+ This API can be used to inspect the specfied audio source status provided by the target device. *** ### Examples Get the audio source status with the ID '1'. ``` GET /sources/audio/status/1 ``` parameters: - $ref: '#/parameters/sourceId' - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "The specified audio source status" headers: ETag: description: ETag for the data response. type: string schema: $ref: '#/definitions/AudioSourceStatus' '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' '/sources/serial': get: tags: - Sources summary: "Gets a list of serial sources the target device provides" description: |+ This API can be used to inspect the serial sources provided by the target device. *** ### Examples Get all the serial sources. ``` GET /sources/serial ``` parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "An serial source endpoint array" headers: ETag: description: ETag for the data response. type: string schema: type: array items: type: object allOf: - $ref: '#/definitions/PortId' - $ref: '#/definitions/SerialSourceEndpoint' '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' '/sources/serial/{sourceId}': get: tags: - Sources summary: "Gets the specified serial source from the target device" description: |+ This API can be used to get the specified resource. *** ### Examples Get the serial source with the ID '1'. ``` GET /sources/serial/1 ``` parameters: - $ref: '#/parameters/sourceId' - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "The specified serial source" headers: ETag: description: ETag for the data response. type: string schema: $ref: "#/definitions/SerialSourceEndpoint" '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' patch: tags: - Sources - Extended API summary: "Patch the specified serial source on the target device" description: |+ This API can be used to patch the specified resource. *** ### Examples Patch the serial source with the ID '1'. ``` PATCH /sources/serial/1 ``` parameters: - $ref: '#/parameters/adminAuthorization' - $ref: '#/parameters/ifMatch' - $ref: '#/parameters/sourceId' - in: body name: sourcesSerial description: The properties to be used. required: true schema: $ref: '#/definitions/SerialSourceEndpointPatchable' responses: '204': $ref: '#/responses/204' '400': $ref: '#/responses/400' '401': $ref: '#/responses/401' '404': $ref: '#/responses/404' '412': $ref: '#/responses/412' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/sources/usb': get: tags: - Sources summary: "Gets a list of USB sources the target device provides" description: |+ This API can be used to inspect the USB sources provided by the target device. *** ### Examples Get all the USB sources. ``` GET /sources/usb ``` parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "A USB source endpoint array" headers: ETag: description: ETag for the data response. type: string schema: type: array items: type: object allOf: - $ref: '#/definitions/PortId' - $ref: '#/definitions/UsbSourceEndpoint' '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' '/sources/usb/{sourceId}': get: tags: - Sources summary: "Gets the specified USB source from the target device" description: |+ This API can be used to get the specified resource. *** ### Examples Get the USB source with the ID '1'. ``` GET /sources/usb/1 ``` parameters: - $ref: '#/parameters/sourceId' - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "The specified USB source" headers: ETag: description: ETag for the data response. type: string schema: $ref: "#/definitions/UsbSourceEndpoint" '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' patch: tags: - Sources - Extended API summary: "Patch the specified USB source on the target device" description: |+ This API can be used to patch the specified resource. *** ### Examples Patch the USB source with the ID '1'. ``` PATCH /sources/usb/1 ``` parameters: - $ref: '#/parameters/adminAuthorization' - $ref: '#/parameters/ifMatch' - $ref: '#/parameters/sourceId' - in: body name: sourcesUsb description: The properties to be used. required: true schema: $ref: '#/definitions/UsbSourceEndpointPatchable' responses: '204': $ref: '#/responses/204' '400': $ref: '#/responses/400' '401': $ref: '#/responses/401' '404': $ref: '#/responses/404' '412': $ref: '#/responses/412' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/sources/usb/statistics': get: tags: - Sources summary: "Gets a list of USB sources statistics from the target device" description: |+ This API can be used to inspect the USB sources statistics provided by the target device. *** ### Examples Get all the USB sources statistics. ``` GET /sources/usb/statistics ``` parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "A USB source statistics endpoint array" headers: ETag: description: ETag for the data response. type: string schema: type: array items: allOf: - $ref: '#/definitions/PortId' - $ref: '#/definitions/UsbSourceStatistics' '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' '/sources/usb/statistics/{sourceId}': get: tags: - Sources summary: "Gets the specified USB source statistics from the target device" description: |+ This API can be used to inspect the specfied USB source statistics provided by the target device. *** ### Examples Get the USB source statistics with the ID '1'. ``` GET /sources/usb/statistics/1 ``` parameters: - $ref: '#/parameters/sourceId' - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "The specified USB source statistics" headers: ETag: description: ETag for the data response. type: string schema: $ref: '#/definitions/UsbSourceStatistics' '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' '/sources/usb/status': get: tags: - Sources summary: "Gets a list of status information for the USB sources from the target device" description: |+ This API can be used to inspect the USB sources status provided by the target device. *** ### Examples Get all the USB sources status. ``` GET /sources/usb/status ``` parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "A USB source status endpoint array" headers: ETag: description: ETag for the data response. type: string schema: type: array items: allOf: - $ref: '#/definitions/PortId' - $ref: '#/definitions/UsbSourceStatus' '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' '/sources/usb/status/{sourceId}': get: tags: - Sources summary: "Gets the specified USB source status from the target device" description: |+ This API can be used to inspect the specfied USB source status provided by the target device. *** ### Examples Get the USB source status with the ID '1'. ``` GET /sources/usb/status/1 ``` parameters: - $ref: '#/parameters/sourceId' - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "The specified USB source status" headers: ETag: description: ETag for the data response. type: string schema: $ref: '#/definitions/UsbSourceStatus' '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' '/sources/video': get: tags: - Sources summary: "Gets a list of video sources the target device provides" description: |+ This API can be used to inspect the video sources provided by the target device. *** ### Examples Get all the video sources. ``` GET /sources/video ``` parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "A video source endpoint array" headers: ETag: description: ETag for the data response. type: string schema: type: array items: type: object allOf: - $ref: '#/definitions/PortId' - $ref: '#/definitions/VideoSourceEndpoint' '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' '/sources/video/{sourceId}': get: tags: - Sources summary: "Gets the specified video source from the target device" description: |+ This API can be used to get the specified resource. *** ### Examples Get the video source with the ID '1'. ``` GET /sources/video/1 ``` parameters: - $ref: '#/parameters/sourceId' - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "The specified video source" headers: ETag: description: ETag for the data response. type: string schema: $ref: "#/definitions/VideoSourceEndpoint" '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' patch: tags: - Sources - Extended API summary: "Patch the specified video source on the target device" description: |+ This API can be used to patch the specified resource. *** ### Examples Patch the video source with the ID '1'. ``` PATCH /sources/video/1 ``` parameters: - $ref: '#/parameters/adminAuthorization' - $ref: '#/parameters/ifMatch' - $ref: '#/parameters/sourceId' - in: body name: sourcesVideo description: The properties to be used. required: true schema: $ref: '#/definitions/VideoSourceEndpointPatchable' responses: '204': $ref: '#/responses/204' '400': $ref: '#/responses/400' '401': $ref: '#/responses/401' '404': $ref: '#/responses/404' '412': $ref: '#/responses/412' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/sources/video/supportedEdidModes/{sourceId}': get: tags: - Sources summary: "Gets the supported EDID modes for the specified video source from the target device" description: |+ This API can be used to get the specified resource. *** ### Examples Get the supported EDID modes for the video source with the ID '1'. ``` GET /sources/video/supportedEdidModes/1 ``` parameters: - $ref: '#/parameters/sourceId' - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "The supported EDID modes for the video source" headers: ETag: description: ETag for the data response. type: string schema: $ref: '#/definitions/EdidModes' '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' '/sources/video/statistics': get: tags: - Sources summary: "Gets a list of video sources statistics from the target device" description: |+ This API can be used to inspect the video sources statistics provided by the target device. *** ### Examples Get all the video sources statistics. ``` GET /sources/video/statistics ``` parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "A video source statistics endpoint array" headers: ETag: description: ETag for the data response. type: string schema: type: array items: allOf: - $ref: '#/definitions/PortId' - $ref: '#/definitions/VideoSourceStatistics' '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' '/sources/video/statistics/{sourceId}': get: tags: - Sources summary: "Gets the specified video source statistics from the target device" description: |+ This API can be used to inspect the specfied video source statistics provided by the target device. *** ### Examples Get the video source statistics with the ID '1'. ``` GET /sources/video/statistics/1 ``` parameters: - $ref: '#/parameters/sourceId' - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "The specified video source statistics" headers: ETag: description: ETag for the data response. type: string schema: $ref: '#/definitions/VideoSourceStatistics' '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' '/sources/video/status': get: tags: - Sources summary: "Gets a list of video sources status from the target device" description: |+ This API can be used to inspect the video sources status provided by the target device. *** ### Examples Get all the video sources status. ``` GET /sources/video/status ``` parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "A video source status endpoint array" headers: ETag: description: ETag for the data response. type: string schema: type: array items: allOf: - $ref: '#/definitions/PortId' - $ref: '#/definitions/VideoSourceStatus' '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' '/sources/video/status/{sourceId}': get: tags: - Sources summary: "Gets the specified video source status from the target device" description: |+ This API can be used to inspect the specfied video source status provided by the target device. *** ### Examples Get the video source status with the ID '1'. ``` GET /sources/video/status/1 ``` parameters: - $ref: '#/parameters/sourceId' - $ref: '#/parameters/ifNoneMatch' responses: '200': description: "The specified video source status" headers: ETag: description: ETag for the data response. type: string schema: $ref: '#/definitions/VideoSourceStatus' '304': $ref: "#/responses/304" '404': $ref: "#/responses/404" '500': $ref: "#/responses/500" '501': $ref: '#/responses/501' '/system/access': patch: tags: - System Operations - Extended API summary: Modify the access password for this device. TX only. parameters: - $ref: '#/parameters/adminAuthorization' - in: body name: access description: Modify access password required: true schema: type: object required: - password properties: password: description: The password string to be compared against when trying to gain access to this device. type: string maxLength: 31 responses: '204': $ref: '#/responses/204' '400': $ref: '#/responses/400' '404': $ref: '#/responses/404' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' post: tags: - System Operations - Extended API summary: Obtain the access token for this device. TX only. parameters: - in: body name: access description: Check access password required: true schema: type: object required: - password properties: password: description: The password string required to gain access to this device. type: string maxLength: 31 responses: '200': description: OK. schema: properties: accessToken: description: The access token used to connect to this device. type: string '400': $ref: '#/responses/400' '403': $ref: '#/responses/403' '404': $ref: '#/responses/404' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/system/identify': get: tags: - System Operations summary: Obtain whether this device is currently identifying itself by flashing the front LED. parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: OK. headers: ETag: description: ETag for the data response. type: string schema: properties: enabled: description: True if this device is currently being identified. type: boolean '304': $ref: '#/responses/304' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' put: tags: - System Operations summary: Modify whether this device is currently identifying itself by flashing the front LED. parameters: - $ref: '#/parameters/ifMatch' - in: body name: identify description: Modify identify required: true schema: type: object required: - enabled properties: enabled: description: True if this device should be identified. type: boolean responses: '204': $ref: '#/responses/204' '400': $ref: '#/responses/400' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/system/notifications': get: tags: - Notifications summary: Obtain the list of notifications on this device. responses: '200': description: OK. schema: description: List of notifications on this device. type: array items: $ref: '#/definitions/Notification' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/system/reboot': post: tags: - System Operations summary: Request a reboot of this device. responses: '204': $ref: '#/responses/204' '401': $ref: '#/responses/401' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/system/restore': post: tags: - System Operations summary: Request to restore this device to its default configuration after a reboot. parameters: - $ref: '#/parameters/adminAuthorization' responses: '204': $ref: '#/responses/204' '401': $ref: '#/responses/401' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/system/switch': put: tags: - System Operations summary: Set the software image to use on next boot. parameters: - $ref: '#/parameters/adminAuthorization' - in: body name: imageId description: Set software image. required: true schema: type: object required: - imageId properties: imageId: description: The id for the software image to switch to on the next boot. type: integer responses: '204': $ref: '#/responses/204' '400': $ref: '#/responses/400' '401': $ref: '#/responses/401' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/system/timing': get: tags: - System Operations summary: Obtain information about time from this device. responses: '200': description: OK. schema: type: object properties: timeOfDay: description: The current time on this device in seconds as UNIX Epoch time. Will be zero if time is unknown. type: integer uptime: description: The duration in seconds this device has been active for. type: integer bootToken: description: Unique ID that is generated each time the device boots. type: string '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/system/upgradeImages': get: tags: - System Operations summary: | Obtain a list of available upgrade images on a connected USB device. Only images that match the family of this device will be returned. This will only succeed for a receiver. parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: OK. headers: ETag: description: ETag for the data response. type: string schema: type: object properties: upgradeImages: description: An array of URLs for the available upgrade images. type: array items: type: string '304': $ref: '#/responses/304' '404': $ref: '#/responses/404' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/system/upgradeImages/{family}': get: tags: - System Operations summary: | Obtain a list of available upgrade images on a connected USB device associated with the supplied 'family'. This will only succeed for a receiver. parameters: - $ref: '#/parameters/ifNoneMatch' - $ref: '#/parameters/family' responses: '200': description: OK. headers: ETag: description: ETag for the data response. type: string schema: type: object properties: upgradeImages: description: An array of URLs for the available upgrade images. type: array items: type: string '304': $ref: '#/responses/304' '404': $ref: '#/responses/404' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/system/upgradeStatus': get: tags: - System Operations summary: Obtain information about the most recent upgrade status for this device. parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: OK. headers: ETag: description: ETag for the data response. type: string schema: type: object properties: upgradeState: description: The state of the current (or most recent) upgrade on this device. type: string enum: - idle - inProgress - failed - complete errorMessage: description: An optional message explaining the failed state. type: string '304': $ref: '#/responses/304' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/system/upgrade#URL': post: tags: - System Operations summary: | Request to upgrade this device from a file at a given web server address. This upgrade method is used by default if the Content-Type is not specified. parameters: - $ref: '#/parameters/adminAuthorization' - in: body name: upgradeFile description: Request upgrading using the file at this path. required: true schema: type: object properties: upgradePath: description: Http(s) URL to a valid upgrade image which should be used to perform an upgrade. type: string responses: '204': $ref: '#/responses/204' '400': $ref: '#/responses/400' '401': $ref: '#/responses/401' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/system/upgrade#file': post: tags: - System Operations summary: Upgrade this device from data included in the request. consumes: - application/octet-stream parameters: - $ref: '#/parameters/adminAuthorization' - in: body name: upgradeData description: The data to use for an upgrade. required: true schema: type: string format: binary responses: '204': $ref: '#/responses/204' '400': $ref: '#/responses/400' '401': $ref: '#/responses/401' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/users/devices/{userId}': put: tags: - User Device Access - Extended API summary: Modify the user access token required to access a TX device.. parameters: - $ref: '#/parameters/userAuthorization' - $ref: '#/parameters/userId' - in: body name: deviceAccessInfo description: The device access information. required: true schema: type: object required: - uuid - accessToken properties: uuid: description: The universal unique identifier for the peer device. type: string maxLength: 36 accessToken: description: The access token to be used for this user when connecting to the peer device. type: string maxLength: 127 responses: '204': $ref: '#/responses/204' '400': $ref: '#/responses/400' '401': $ref: '#/responses/401' '404': $ref: '#/responses/404' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/users/general': get: tags: - General User Settings summary: Obtain the general user settings for all users on this device. parameters: - $ref: '#/parameters/ifNoneMatch' responses: '200': description: OK. headers: ETag: description: ETag for the data response. type: string schema: description: List of general user settings for each user. type: array items: type: object allOf: - $ref: '#/definitions/UsersGeneral' - properties: userId: description: The ID of the user. type: integer minimum: 0 maximum: 4294967295 '304': $ref: '#/responses/304' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/users/general/{userId}': get: tags: - General User Settings summary: Obtain the general user settings for this user. parameters: - $ref: '#/parameters/ifNoneMatch' - $ref: '#/parameters/userId' responses: '200': description: OK. headers: ETag: description: ETag for the data response. type: string schema: type: object allOf: - $ref: '#/definitions/UsersGeneral' '304': $ref: '#/responses/304' '404': $ref: '#/responses/404' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' patch: tags: - General User Settings summary: | Modify the general user settings for this device. The request must be made by an admin or the specified user, and the isAdmin property can only be changed by an admin. parameters: - $ref: '#/parameters/adminAuthorization' - $ref: '#/parameters/ifMatch' - $ref: '#/parameters/userId' - in: body name: usersGeneralConfig description: The properties to be used. required: true schema: type: object allOf: - $ref: '#/definitions/UsersGeneral' - properties: password: description: The password for this user. type: string maxLength: 31 responses: '204': $ref: '#/responses/204' '400': $ref: '#/responses/400' '401': $ref: '#/responses/401' '404': $ref: '#/responses/404' '412': $ref: '#/responses/412' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/users/login/{userId}': post: tags: - Login summary: Login as and obtain a JWT for the specified user. parameters: - $ref: '#/parameters/userId' - in: body name: userLogin description: Authentication attributes. required: true schema: type: object required: - password - isAdmin properties: password: description: The password for this user. type: string maxLength: 31 isAdmin: description: True if this is a request to login with administrator privileges. type: boolean responses: '200': description: OK. schema: type: object properties: authToken: description: Authentication token (JWT) with the requested privileges for this user. type: string '400': $ref: '#/responses/400' '401': $ref: '#/responses/401' '403': $ref: '#/responses/403' '404': $ref: '#/responses/404' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/users/presetOrder/{userId}': put: tags: - User Preset-Order - Extended API summary: Define the order the presets should be displayed in for this user. parameters: - $ref: '#/parameters/userAuthorization' - $ref: '#/parameters/userId' - in: body name: usersPresetOrder description: | This is a list of preset IDs as well as the hotkey number they correlate to for this user when returned by /users/presets/{userId}. The length of this list must always match the length of the user's preset list. required: true schema: type: array items: type: object properties: presetId: description: The ID of the preset. type: integer minimum: 0 maximum: 4294967295 hotkeynumber: description: The hotkey value that corresponds to the preset. type: integer minimum: 0 maximum: 15 responses: '204': $ref: '#/responses/204' '400': $ref: '#/responses/400' '401': $ref: '#/responses/401' '404': $ref: '#/responses/404' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/users/presets/{userId}': get: tags: - User Presets summary: Obtain the list of presets this user has access to. parameters: - $ref: '#/parameters/ifNoneMatch' - $ref: '#/parameters/userId' responses: '200': description: OK. headers: ETag: description: ETag for the data response. type: string schema: description: List of presets. type: array items: type: object allOf: - $ref: '#/definitions/UsersPreset' - properties: presetId: description: The preset ID for a preset that this user is able to connect to. type: integer minimum: 0 maximum: 4294967295 '304': $ref: '#/responses/304' '404': $ref: '#/responses/404' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' post: tags: - User Presets - Extended API summary: Add a new preset for this user. parameters: - $ref: '#/parameters/adminAuthorization' - $ref: '#/parameters/ifMatch' - $ref: '#/parameters/userId' - in: body name: usersPresetsConfig description: The properties to be used. required: true schema: type: object allOf: - $ref: '#/definitions/UsersPreset' - properties: presetId: description: The preset ID for a preset that this user is able to connect to. type: integer minimum: 0 maximum: 4294967295 responses: '204': $ref: '#/responses/204' '400': $ref: '#/responses/400' '404': $ref: '#/responses/404' '401': $ref: '#/responses/401' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' '/users/presets/{userId}/{presetId}': get: tags: - User Presets summary: Obtain information for a specific user preset. parameters: - $ref: '#/parameters/ifNoneMatch' - $ref: '#/parameters/userId' - $ref: '#/parameters/presetId' responses: '200': description: OK. headers: ETag: description: ETag for the data response. type: string schema: $ref: '#/definitions/UsersPreset' '304': $ref: '#/responses/304' '404': $ref: '#/responses/404' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' patch: tags: - User Presets - Extended API summary: Modify the information for a specific user preset. parameters: - $ref: '#/parameters/ifNoneMatch' - $ref: '#/parameters/userId' - $ref: '#/parameters/presetId' - in: body name: userPreset description: The properties to be used. required: true schema: $ref: '#/definitions/UsersPresetPatchable' responses: '204': $ref: '#/responses/204' '400': $ref: '#/responses/400' '404': $ref: '#/responses/404' '401': $ref: '#/responses/401' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' delete: tags: - User Presets - Extended API summary: Delete the information for a specific user preset. parameters: - $ref: '#/parameters/ifNoneMatch' - $ref: '#/parameters/userId' - $ref: '#/parameters/presetId' responses: '204': $ref: '#/responses/204' '404': $ref: '#/responses/404' '401': $ref: '#/responses/401' '500': $ref: '#/responses/500' '501': $ref: '#/responses/501' definitions: 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 AudioSinkEndpoint: allOf: - $ref: "#/definitions/AudioSinkEndpointGettable" - $ref: "#/definitions/AudioSinkEndpointPatchable" AudioSinkEndpointGettable: properties: connectorLabel: description: A label that can be used to idenfity a particular port on the device. type: string connectorLabelNumbers: $ref: "#/definitions/ConnectorLabelNumbers" capabilities: $ref: "#/definitions/PortCapabilities" connected: description: Whether this port is connected to an audio device. type: boolean AudioSinkEndpointPatchable: properties: enabled: description: Whether this port is enabled. type: boolean gain: description: The gain on this port, not present/ignored if the port does not have the analogue capability. type: string enum: - mic - micBoost compatibilityCheck: description: Whether audio compatibility between source and display device is checked, not present/ignored if the port does not have the digital capability. type: boolean AudioSinkStatistics: $ref: '#/definitions/AudioStatistics' AudioSourceStatistics: $ref: '#/definitions/AudioStatistics' AudioStatistics: type: object properties: packetsTransmitted: description: The number of packets transmitted. type: integer packetsReceived: description: The number of packets received on each network interface. type: array items: type: integer timestamp: description: The monotonic time in milliseconds at which the statistics were measured. type: integer format: int64 AudioStatusPort: type: object properties: connected: description: Whether there is a device connected to the port. type: boolean powered: description: Whether the device that is connected to the port is powered on. type: boolean hotPlugAsserted: description: The HotPlugDetect signal is asserted on this port. type: boolean maxDataRate: description: The maximum data rate supported on this port in kilobits per second. type: integer type: description: The type of display interface connection on this port. type: string enum: - Display Port - HDMI 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 numLanes: description: The number of lanes of a display port connection. Only present for type Display Port. type: integer mode: description: The mode that the port is operating in. Only present for type HDMI. type: string enum: - DVI - HDMI info: description: | The Audio Info of the input audio signal received on this port. If there is currently no valid info, this object will not be present. type: object properties: type: description: The audio encoding type. type: string sampleFrequency: description: The sample frequency in Hz (e.g. 48000, 44100) type: integer sampleSize: description: The sample size in bits (16/20/24) type: integer numberOfChannels: description: The number of audio channels. type: integer 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 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 AudioStatusEncoding: type: object 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 numberOfChannels: description: The number of audio channels. type: integer codec: description: The audio codec in use for this port. type: string AudioStatusDecoding: type: object 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 numberOfChannels: description: The number of audio channels. type: integer codec: description: The audio codec in use for this port. type: string AudioStatusReception: type: object properties: stopped: description: Flag indicating if the processing of received audio packets has stopped. type: boolean locked: description: Flag indicating if the processing is locked to the received audio packets. type: boolean networkInterface: $ref: "#/definitions/AvReceptionStatusNetwork" AudioStatusTransmission: type: object properties: stopped: description: Flag indicating if the transmission of audio packets has stopped. type: boolean networkInterface: $ref: "#/definitions/TransmissionStatusNetwork" AudioSinkStatus: type: object properties: port: $ref: '#/definitions/AudioStatusPort' encoding: $ref: '#/definitions/AudioStatusEncoding' decoding: $ref: '#/definitions/AudioStatusDecoding' transmission: $ref: '#/definitions/AudioStatusTransmission' reception: $ref: '#/definitions/AudioStatusReception' AudioSourceStatus: type: object properties: port: $ref: '#/definitions/AudioStatusPort' encoding: $ref: '#/definitions/AudioStatusEncoding' decoding: $ref: '#/definitions/AudioStatusDecoding' transmission: $ref: '#/definitions/AudioStatusTransmission' reception: $ref: '#/definitions/AudioStatusReception' AudioSourceEndpoint: allOf: - $ref: "#/definitions/AudioSourceEndpointGettable" - $ref: "#/definitions/AudioSourceEndpointPatchable" AudioSourceEndpointGettable: properties: connectorLabel: description: A label that can be used to idenfity a particular port on the device. type: string connectorLabelNumbers: $ref: "#/definitions/ConnectorLabelNumbers" capabilities: $ref: "#/definitions/PortCapabilities" connected: description: Whether this port is connected to an audio device. type: boolean edidSourceUuid: description: The UUID of the connected RX that provides the EDID to be used, not present if the port does not have the digital capability. type: string AudioSourceEndpointPatchable: properties: enabled: description: Whether this port is enabled. type: boolean qualityMode: description: The quality mode this port uses, not present/ignored if the port does not have the analogue capability. type: string enum: - auto edidOptimisation: description: | Whether optimised EDID processing is enabled. When using a source fixed EDID, this property is ignored. Otherwise, enabling optimisation can speed up switching performance in cases where different users' monitors have the same native audio capabilities. type: boolean edidSourceFixed: description: | The fixed EDID to be used or 'Attached monitor' to take the EDID from the attached RX device's monitor, not present/ignored if the port does not have the digital capability. 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: type: string AvReceptionStatusNetwork: description: The network interface reception status information for either an audio or video connection. type: array items: type: object properties: 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. type: string unicastDestinationIpAddress: description: The destination unicast IP address that is being filtered on. type: string multicastDestinationIpAddress: description: The destination multicast IP address that is being filtered on. type: string sourcePort: description: The source port number. type: integer destinationPort: description: The destination port number. type: integer connectionStatusInfo: properties: state: description: The overall state of this connection. type: string enum: - Disconnected - Connecting - Connected status: 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. * `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 - NoSource - SourceOutOfRange - SourceOutOfResources - InsufficientBandwidth - EncodingStopped - PortNotConnected - NoData - OutOfRange - OutOfResources - DecodingStopped - Ok connectionType: description: Available connection types. type: string enum: - video - audio - usb - serial ConnectedDevice: type: object 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. 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 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 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, this object contains the information that the connected device provided to describe the supported colour space characteristics. type: object properties: maxBitsPerColour: description: The maximum number of bits per colour supported by the conneced device. type: integer dynamicRanges: description: A list of the dynamic ranges supported by the connected device. If the device does not report any dynamic ranges, the list will be empty. type: array items: type: string encodings: description: A list of the colour encodings supported by the connected device. If the device does not report any dynamic ranges, the list will be empty. type: array items: type: string colourimetry: description: A list of the colourimetry schemes supported by the connected device. If the device does not report any dynamic ranges, the list will be empty. type: array items: type: string dynamicRangeMasterings: description: A list of the dynamic range masterings supported by the connected device. If the device does not report any dynamic ranges, the list will be empty. type: array items: type: string ConnectorLabelNumbers: description: | An array 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 with 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 /api/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 into the number that is shows 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 DeviceInfo: allOf: - $ref: '#/definitions/DeviceInfoGettable' - $ref: '#/definitions/DeviceInfoPatchable' DeviceInfoGettable: properties: isConfigured: description: False if this device is still in its initial factory state. type: boolean isStatic: description: Whether this device has been statically added rather than dynamically discovered. type: boolean isInRecovery: description: Whether this device is running in Recovery mode. type: boolean DeviceInfoPatchable: properties: name: description: Friendly name of this device. type: string maxLength: 31 description: description: Description of this device. type: string maxLength: 63 location: description: Location of this device. type: string maxLength: 63 serialNumber: description: Serial number of this device. type: string maxLength: 47 type: description: Type of this device. type: string enum: - RX - TX model: description: Model name of this device. type: string maxLength: 15 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 discovery advertisement received on that interface. The ifIndex references the interface of the device that corresponds to the IP/MAC address type: array items: type: array items: type: object properties: ipAddress: description: IPv4 address of the interface on this device. type: string macAddress: description: MAC address of the interface on this device. type: string ifIndex: $ref: '#/definitions/IfIndex' isAutoConfiguring: description: True if this device is attempting to configure itself, manual configuration should not be attempted while this is True. type: boolean EdidModes: description: A list of EDID modes by class type: array items: description: A class of EDID modes type: object properties: class: description: | Identifies the class of EDID modes. - `audio` - the EDID modes are associated with the audio port type. - `video` - the EDID modes are associated with the video port type. - `dynamicRange` - the EDID modes are associated with the video dynamic range type. type: string enum: - audio - video - dynamicRange modes: type: array description: An EDID mode items: type: string # The use of allOf below should be replaced with oneOf when supported # by swagger. Endpoint: description: "Encapsulates an endpoint" items: type: object allOf: - $ref: "#/definitions/PortId" - $ref: "#/definitions/AudioSinkEndpoint" - $ref: "#/definitions/AudioSourceEndpoint" - $ref: "#/definitions/SerialSinkEndpoint" - $ref: "#/definitions/SerialSourceEndpoint" - $ref: "#/definitions/UsbSinkEndpoint" - $ref: "#/definitions/UsbSourceEndpoint" - $ref: "#/definitions/VideoSinkEndpoint" - $ref: "#/definitions/VideoSourceEndpoint" EndpointGroup: description: "A collection of endpoint resources for a specific type" properties: ports: type: array items: $ref: "#/definitions/Endpoint" type: description: "The type of this endpoint" type: string enum: - video - audio - usb - serial EndpointGroups: description: "A collection of endpoint groups" type: array items: $ref: "#/definitions/EndpointGroup" EndpointSettings: description: "Encapsulates an endpoint's port settings" properties: usb: type: object allOf: - $ref: "#/definitions/UsbSourceEndpointSettings" Error: properties: code: type: string message: type: string Hotkey: type: object properties: modifier1: description: A string describing the first modifier of a hotkey sequence. type: string enum: - none - lctrl - lshift - lalt - lgui - rctrl - rshift - ralt - rgui - ctrl - shift - alt - gui modifier2: description: A string describing the second modifier of a hotkey sequence. type: string enum: - none - lctrl - lshift - lalt - lgui - rctrl - rshift - ralt - rgui - ctrl - shift - alt - gui key: description: A string describing the key of a hotkey sequence. type: string InterfacesStatus: properties: speed: description: The maximum speed of this network interface in Mbps. type: integer macAddress: description: The MAC address of this network interface. type: string ipAddress: description: The IP address of this network interface. type: string netmask: description: The netmask of this network interface. type: string gateway: description: The gateway of this network interface. type: string dhcpServer: description: The DHCP server address of this network interface. type: string connectorType: description: The connector type for this network interface. type: string 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 maxBandwidthLimit: description: The maximum bandwidth limit (in Mbps) that can be applied to this interface. This property only exists for a TX. type: integer routingTable: description: The routing table entries corresponding to this network interface. type: array items: type: object properties: destination: description: The destination address for this route. type: string gateway: description: The gateway address for this route. type: string netmask: description: The netmask address for this route. type: string InterfacesSettings: properties: dhcpEnabled: description: Whether DHCP is enabled on this network interface. type: boolean 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 InterfacesStatus endpoint for the matching ifIndex. type: integer InterfacesStatistics: properties: bitsReceived: description: The total number of bits received. type: integer format: int64 packetsReceived: description: The total number of packets received. type: integer format: int64 bytesReceived: description: The total number of bytes received. type: integer format: int64 errorsReceived: description: The number of errored packets received. type: integer format: int64 droppedPacketsReceived: description: The number of received packets dropped due to no space in OS buffers. type: integer format: int64 packetCollisionsReceived: description: The number of packets received that had collisions. type: integer format: int64 lengthErrorsReceived: description: The number of packets received with length errors. type: integer format: int64 overflowErrorsReceived: description: The number of receiver ring buffer overflows. type: integer format: int64 crcErrorsReceived: description: The number of packets received with CRC errors. type: integer format: int64 frameErrorsReceived: description: The number of packets received with frame alignment errors. type: integer format: int64 fifoErrorsReceived: description: The number of receiver FIFO overruns. type: integer format: int64 missedPacketsReceived: description: The number of receiver missed packets. type: integer format: int64 unicastPacketsReceived: description: The number of unicast packets received. type: integer format: int64 multicastPacketsReceived: description: The number of multicast packets received. type: integer format: int64 broadcastPacketsReceived: description: The number of broadcast packets received. type: integer format: int64 64BytePacketsReceived: description: The number of packets received which are <=64 bytes in size. type: integer format: int64 65To127BytePacketsReceived: description: The number of packets received which are between 65-137 bytes in size. type: integer format: int64 128To255BytePacketsReceived: description: The number of packets received which are between 128-255 bytes in size. type: integer format: int64 256To511BytePacketsReceived: description: The number of packets received which are between 256-511 bytes in size. type: integer format: int64 512To1023BytePacketsReceived: description: The number of packets received which are between 512-1023 bytes in size. type: integer format: int64 1024To1518BytePacketsReceived: description: The number of packets received which are between 1024-1518 bytes in size. type: integer format: int64 1519ToMaxBytePacketsReceived: description: The number of packets received which are between 1519-Max bytes in size. type: integer format: int64 bitsTransmitted: description: The total number of bits transmitted. type: integer format: int64 packetsTransmitted: description: The total number of packets transmitted. type: integer format: int64 bytesTransmitted: description: The total number of bytes transmitted. type: integer format: int64 errorsTransmitted: description: The number of errored packets transmitted. type: integer format: int64 droppedPacketsTransmitted: description: The number of packets dropped due to no space available in the OS. type: integer format: int64 abortedPacketsTransmitted: description: The number of transmitted packets that were aborted. type: integer format: int64 carrierErrorsTransmitted: description: The number of transmitter carrier errors. type: integer format: int64 fifoErrorsTransmitted: description: The number of transmitter FIFO errors. type: integer format: int64 heartbeatErrorsTransmitted: description: The number of transmitter heartbeat errors. type: integer format: int64 windowErrorsTransmitted: description: The number of transmitter window errors. type: integer format: int64 unicastPacketsTransmitted: description: The number of unicast packets transmitted. type: integer format: int64 multicastPacketsTransmitted: description: The number of multicast packets transmitted. type: integer format: int64 broadcastPacketsTransmitted: description: The number of broadcast packets transmitted. type: integer format: int64 64BytePacketsTransmitted: description: The number of packets transmitted which are <=64 bytes in size. type: integer format: int64 65To127BytePacketsTransmitted: description: The number of packets transmitted which are between 65-137 bytes in size. type: integer format: int64 128To255BytePacketsTransmitted: description: The number of packets transmitted which are between 128-255 bytes in size. type: integer format: int64 256To511BytePacketsTransmitted: description: The number of packets transmitted which are between 256-511 bytes in size. type: integer format: int64 512To1023BytePacketsTransmitted: description: The number of packets transmitted which are between 512-1023 bytes in size. type: integer format: int64 1024To1518BytePacketsTransmitted: description: The number of packets transmitted which are between 1024-1518 bytes in size. type: integer format: int64 1519ToMaxBytePacketsTransmitted: description: The number of packets transmitted which are between 1519-Max bytes in size. type: integer format: int64 timestamp: description: The monotonic time in milliseconds at which the statistics were measured. type: integer format: int64 IfIndex: description: A network interface ID. type: integer minimum: 1 maximum: 4 MouseHotkey: type: object description: | A sequence that describes the mouse show OSD sequence, repeated values are not accepted unless all three are 'none' which disables the mouse launch sequence properties: modifier1: description: A string describing the first button of a mouse hotkey sequence. type: string enum: - none - left - right - middle modifier2: description: A string describing the second button of a mouse hotkey sequence. type: string enum: - none - left - right - middle key: description: A string describing the third button of a mouse hotkey sequence. type: string enum: - none - left - right - middle NetworkSettingsGettable: properties: domain: description: The currently assigned domain name. type: string maxLength: 63 hostname: description: The hostname. type: string maxLength: 31 dnsServerDynamicAddresses: description: List of DNS server addresses obtained via DHCP. type: array items: type: string ntpServerDynamicAddresses: description: List of NTP server addresses obtained via DHCP. type: array items: type: string managementServerDynamicAddresses: description: List of management server addresses obtained via DHCP. type: array items: type: string igmpVersion: description: | The default IGMP version behaviour: 0 - No enforcement of an IGMP version, IGMPv1/v2 fallback allowed. Will return to IGMPv3 mode again if all IGMPv1/v2 Querier Present timer expires. 2 - Enforce to use IGMP version 2. Will fallback to IGMPv1 if receive IGMPv1 query message. Will reply report if receive IGMPv3 query. 3 - Enforce to use IGMP version 3. type: integer NetworkSettingsPatchable: properties: domainStatic: description: The configured static domain name that will be used if there is no dynamic domain name. type: string maxLength: 63 dnsServerStaticAddresses: description: List of DNS server addresses that have been manually configured. type: array items: type: string ntpServerEnabled: description: Whether NTP is enabled for this device. type: boolean ntpServerStaticAddresses: description: List of NTP server addresses that have been manually configured. type: array items: type: string ntpServerKeyId: description: The ID of the key used for secure NTP. type: integer ntpServerKeyValue: description: The value of the key used for secure NTP as a hexadecimal string. type: string managementServerEnabled: description: Whether server management is enabled for this device. Enabling this property will not take effect until the device is rebooted. type: boolean managementServerStaticAddresses: description: List of management server addresses that have been manually configured. type: array items: type: string independentNetworks: description: A flag indicating whether the network interfaces of the device are connected to different or the same networks (RX device only). 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 maximum: 4 Notification: properties: type: description: The type of the notification. type: string enum: - NoVideo - UnsupportedVideoResolution severity: description: The severity of the notification. type: string enum: - Critical - Error - Warning - Notice message: description: Additional information associated with the notification. type: string maxLength: 31 port: description: Port number associated with the notification, 0 refers to no port. type: integer PortCapabilities: description: Defines a collection of capabilities associated with a port. type: array items: type: object 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 PortId: properties: portId: description: The identifier of the provided port. type: integer minimum: 1 maximum: 255 Preset: properties: name: description: Friendly name of this preset. type: string maxLength: 31 description: description: Description of this preset. type: string maxLength: 63 connections: $ref: '#/definitions/PresetConnections' PresetConnections: description: The data connections for this preset. type: array maxLength: 12 items: allOf: - $ref: '#/definitions/connectionInfo' - properties: peerUuid: description: The universal unique identifier for the connected peer device. type: string maxLength: 36 PresetConnectionsAndStatus: description: The data connections and status for this preset. type: array maxLength: 12 items: allOf: - $ref: '#/definitions/connectionInfo' - $ref: '#/definitions/connectionStatusInfo' connectionInfo: properties: connectionType: $ref: '#/definitions/connectionType' sourcePort: description: The port number for the connection source. type: integer minimum: 1 maximum: 256 sinkPort: description: The port number for the connection sink. type: integer minimum: 1 maximum: 256 PresetSelected: properties: presetId: description: The preset ID for the selected preset. type: number accessMode: $ref: '#/definitions/accessMode' SerialSinkEndpoint: allOf: - $ref: "#/definitions/SerialSinkEndpointGettable" - $ref: "#/definitions/SerialSinkEndpointPatchable" SerialSinkEndpointGettable: properties: connectorLabel: description: A label that can be used to idenfity a particular port on the device. type: string connectorLabelNumbers: $ref: "#/definitions/ConnectorLabelNumbers" capabilities: $ref: "#/definitions/PortCapabilities" connected: description: Whether this port is connected to a serial device. type: boolean SerialSinkEndpointPatchable: properties: enabled: description: Whether this port is enabled. type: boolean SerialSourceEndpoint: allOf: - $ref: "#/definitions/SerialSourceEndpointGettable" - $ref: "#/definitions/SerialSourceEndpointPatchable" SerialSourceEndpointGettable: properties: connectorLabel: description: A label that can be used to idenfity a particular port on the device. type: string connectorLabelNumbers: $ref: "#/definitions/ConnectorLabelNumbers" capabilities: $ref: "#/definitions/PortCapabilities" connected: description: Whether this port is connected to a serial device. type: boolean SerialSourceEndpointPatchable: properties: 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 (5, 6, 7, or 8). type: integer stopBits: description: The number of stop bits to be used (1 or 2). type: integer speed: description: The serial speed (baud rate; 50, 75, 110, 134, 150, 200, 300, 600, 1200, 1800, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400) to be used. type: integer SettingsGeneral: properties: name: description: Friendly name of this device. type: string maxLength: 31 description: description: Description of this device. type: string maxLength: 63 location: description: Location of this device. type: string maxLength: 63 restrictRemoteUsers: description: Whether remote non-admin users are restricted from video-disrupting actions. type: boolean isConfigured: description: Whether this device has been through an initial configuration. Once set to true, cannot be set back to false. type: boolean disableAutoConf: description: Whether this device has automatic configuration disabled. type: boolean allowInsecureSinkConnections: description: > TX only. Only applicable when `configurationUi` is true. The behaviour of the TX device 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 establish 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 SettingsUi: properties: language: description: ISO 639 language code that this user is using. Available options are shown in /applications/osd. type: string keyboardLayout: description: The selected keyboard layout. Available options are shown in /applications/osd. type: string osdTimeout: description: | Number of minutes of inactivity after which the OSD will disappear. Select 0 to prevent the OSD from disappearing automatically. type: integer minimum: 0 maximum: 99 notificationPosition: description: | The positions on the screen where the notifications should be shown. Returns "invalid" on error. This property is only available for a RX device type. type: string enum: - topLeft - topCentre - topRight - bottomLeft - bottomCentre - bottomRight - centre - none notificationTimeout: description: | Number of seconds of inactivity after which the non critical screen notifications will turn off. Select 0 to prevent the notifications from disappearing automatically. This property is only available for a RX device type. type: integer minimum: 0 maximum: 9999 bannerPosition: description: | The positions on the screen where the preset-change banner should be shown. Returns "invalid" on error. This property is only available for a RX device type. type: string enum: - topLeft - topCentre - topRight - bottomLeft - bottomCentre - bottomRight - centre - none bannerTimeout: description: | Number of seconds of inactivity after which the preset-change banner will turn off. Select 0 to prevent the banner from disappearing automatically. This property is only available for a RX device type. type: integer minimum: 0 maximum: 9999 frontPanelTimeout: description: | Number of seconds of inactivity after which the front panel display will turn off. Note: this property is only present/used if the device supports a front panel display. type: integer minimum: 1 maximum: 300 ledBrightness: description: The brightness level for the LED. Returns "invalid" on error. type: string enum: - off - low - medium - high hotkeys: description: | The hotkey sequences for different actions. These are only available/modifiable when the device is configurable via the UI. This object is only available for a RX device type. type: object properties: showOsd: description: The hotkey combination for showing the OSD. allOf: - $ref: '#/definitions/Hotkey' mouseShowOsd: description: The hotkey combination for showing the OSD using the mouse. allOf: - $ref: '#/definitions/MouseHotkey' disconnect: description: The hotkey combination for disconnecting the channel. allOf: - $ref: '#/definitions/Hotkey' previousPreset: description: The hotkey combination for changing to the previous preset. allOf: - $ref: '#/definitions/Hotkey' nextPreset: description: The hotkey combination for changing to the next preset. allOf: - $ref: '#/definitions/Hotkey' lastPreset: description: The hotkey combination for changing to the last preset. allOf: - $ref: '#/definitions/Hotkey' sharedMode: description: The hotkey combination for changing the access mode to shared. allOf: - $ref: '#/definitions/Hotkey' exclusiveMode: description: The hotkey combination for changing the access mode to exclusive. allOf: - $ref: '#/definitions/Hotkey' privateMode: description: The hotkey combination for changing the access mode to private. allOf: - $ref: '#/definitions/Hotkey' preset0: description: The hotkey combination for changing to preset 0. allOf: - $ref: '#/definitions/Hotkey' preset1: description: The hotkey combination for changing to preset 1. allOf: - $ref: '#/definitions/Hotkey' preset2: description: The hotkey combination for changing to preset 2. allOf: - $ref: '#/definitions/Hotkey' preset3: description: The hotkey combination for changing to preset 3. allOf: - $ref: '#/definitions/Hotkey' preset4: description: The hotkey combination for changing to preset 4. allOf: - $ref: '#/definitions/Hotkey' preset5: description: The hotkey combination for changing to preset 5 allOf: - $ref: '#/definitions/Hotkey' preset6: description: The hotkey combination for changing to preset 6. allOf: - $ref: '#/definitions/Hotkey' preset7: description: The hotkey combination for changing to preset 7. allOf: - $ref: '#/definitions/Hotkey' preset8: description: The hotkey combination for changing to preset 8. allOf: - $ref: '#/definitions/Hotkey' preset9: description: The hotkey combination for changing to preset 9. allOf: - $ref: '#/definitions/Hotkey' extendedPresets: description: | The hotkey combination for selecting a preset in the range 0-99. Note: This sequence is only the modifier(s) and will always have a key value of "none". allOf: - $ref: '#/definitions/Hotkey' touchShowOsd: description: | The information associated with the touch (screen) show OSD support. This object is only available for a RX device type. 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 severityLevel: description: | The log severity level (levels 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 TransmissionStatusNetwork: description: | Network status of this 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 properties: enabled: description: Whether transmission is enabled. type: boolean sourceMacAddress: description: The source MAC address. type: string sourceIpAddress: description: The source IP address. type: string sourcePort: description: The source port. type: integer destinationMacAddress: description: The destination MAC address. type: string destinationIpAddress: description: The destination IP address. type: string destinationPort: description: The destination port. type: integer UsbSecurity: 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. This property is only available for USB sinks and sources that support the 'emulated' USB port capability type. type: string enum: - off - on - preferOff UsbSinkEndpoint: allOf: - $ref: "#/definitions/UsbSinkEndpointGettable" - $ref: "#/definitions/UsbSinkEndpointPatchable" UsbSinkEndpointGettable: properties: connectorLabel: description: A label that can be used to idenfity a particular port on the device. type: string connectorLabelNumbers: $ref: "#/definitions/ConnectorLabelNumbers" capabilities: $ref: "#/definitions/PortCapabilities" isochronousDevices: description: | Whether this port allows being connected to isochronous devices. This property is only available for USB sinks that support the 'emulated' USB port capability type. type: boolean UsbSinkEndpointPatchable: properties: enabled: description: Whether USB is enabled on this port. type: boolean hidOnly: description: | If true, only allow HID devices to be connected to this port. When true, this will override the value of disableMassStorage. This property is only available for USB sinks that support the 'emulated' USB port capability type. type: boolean disableMassStorage: description: | If true, do not allow mass storage USB devices to be connected to this port. This property is only available for USB sinks that support the 'emulated' USB port capability type. type: boolean security: $ref: "#/definitions/UsbSecurity" connectorVideoMap: description: | 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 connectorReservations: description: | A list of USB port connector reservations. Each entry corresponds to a sink USB connector on the device, where 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 UsbSinkStatistics: $ref: '#/definitions/UsbStatistics' UsbSinkStatus: type: object properties: port: $ref: '#/definitions/UsbStatusPort' reception: $ref: '#/definitions/UsbStatusReception' transmission: $ref: '#/definitions/UsbStatusTransmission' UsbSourceEndpoint: allOf: - $ref: "#/definitions/UsbSourceEndpointGettable" - $ref: "#/definitions/UsbSourceEndpointPatchable" UsbSourceEndpointGettable: properties: connectorLabel: description: A label that can be used to idenfity a particular port on the device. type: string connectorLabelNumbers: $ref: "#/definitions/ConnectorLabelNumbers" capabilities: $ref: "#/definitions/PortCapabilities" connected: description: Whether this port is connected to a USB device. type: boolean UsbSourceEndpointPatchable: properties: enabled: description: Whether USB is enabled on this port. type: boolean virtualKeyboard: description: | Whether this port always reports a virtual keyboard. This property is only available for USB sources that support the `emulated` USB port capability type. This is only modifiable when the device is configurable via the UI. type: boolean maxHubSize: description: | The hub size for this port. This property is only available for USB sources that support the `emulated` USB port capability type. This is only modifiable when the device is configurable via the UI. type: string enum: - 7 - 13 security: $ref: "#/definitions/UsbSecurity" primaryEmulatedPort: description: | Wether this port should be used for preset connections that use the emulated USB service. This property is only available for USB sources that support the `emulated` USB port capability type. Setting this to true will automatically clear the flag for all other USB source ports. type: boolean rateLimit: description: | The maximum bitrate (in Mbps) that the port can transmit data to the sink. This property is only applicable for a USB source that supports the `transparent` USB port capability type. A value of 0 indicates that there is no rate limit applied. type: integer minimum: 0 maximum: 480 numReservedVirtualHubPorts: description: The number of ports reserved on the source USB virtual hub for pairing with sink USB port connectors. type: integer minimum: 0 maximum: 255 UsbSourceEndpointSettings: properties: primaryEmulatedPort: description: The primary port for emulated USB. type: integer UsbSourceStatistics: $ref: '#/definitions/UsbStatistics' UsbSourceStatus: type: object properties: port: $ref: '#/definitions/UsbStatusPort' reception: $ref: '#/definitions/UsbStatusReception' transmission: $ref: '#/definitions/UsbStatusTransmission' UsbStatistics: type: object properties: packetsTransmitted: description: The number of packets transmitted. type: integer packetsReceived: description: The number of packets received on each network interface. type: array items: type: integer timestamp: description: The monotonic time in milliseconds at which the statistics were measured. type: integer format: int64 UsbStatusPort: properties: connected: description: Whether there is a USB source connected to this port. type: boolean UsbStatusReception: properties: stopped: description: Whether processing of received USB packets has stopped for this port. type: boolean networkInterface: description: An array of network interface status information. type: array items: type: object properties: enabled: description: Whether data reception is enabled for the USB stream on the network interface. type: boolean sourceIpAddressFilterEnabled: description: Whether source IP address filtering is enabled for the USB stream on the network interface. type: boolean destinationIpAddressFilterEnabled: description: Whether destination IP address filtering is enabled for the USB stream on the network interface. type: boolean sourcePortFilterEnabled: description: Whether source port filtering is enabled for the USB stream on the network interface. type: boolean sourceIpAddress: description: The source IP address that is being filtered on. type: string desinationIpAddress: description: The destination IP address that is being filtered on. type: string sourcePort: description: The source port number. type: integer destinationPort: description: The destination port number. type: integer UsbStatusTransmission: properties: stopped: description: Whether transmission of USB packets has stopped for this port. type: boolean networkInterface: $ref: '#/definitions/TransmissionStatusNetwork' UsersGeneral: properties: isAdmin: description: True 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 maximum: 4294967295 UsersPreset: allOf: - $ref: '#/definitions/UsersPresetGettable' - $ref: '#/definitions/UsersPresetPatchable' UsersPresetGettable: properties: hotkeyNumber: description: The corresponding hotkey value for the preset. type: integer minimum: 0 maximum: 15 UsersPresetPatchable: properties: viewOnly: description: True if this user is allowed to connect to this preset in view-only mode (share video, no USB). type: boolean shared: description: True if this user is allowed to connect to this preset in shared mode (share video and USB). type: boolean exclusive: description: True if this user is allowed to connect to this preset in exclusive mode (share video, only this user has USB). type: boolean private: description: True if this user is allowed to connect to this preset in private mode (only this user has video and USB). type: boolean VideoSinkEndpoint: allOf: - $ref: "#/definitions/VideoSinkEndpointGettable" - $ref: "#/definitions/VideoSinkEndpointPatchable" VideoSinkEndpointGettable: properties: connectorLabel: description: A label that can be used to idenfity a particular port on the device. type: string connectorLabelNumbers: $ref: "#/definitions/ConnectorLabelNumbers" capabilities: $ref: "#/definitions/PortCapabilities" connected: description: Whether this port is connected to a video device. type: boolean VideoSinkEndpointPatchable: properties: enabled: description: Whether this port is enabled. type: boolean compatibilityCheck: description: Whether video compatibility between source and display device is checked. type: boolean frameRateSwitching: description: | The strategy to use for the frame rate 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 it is connected to. type: string enum: - force60 - retain - auto VideoSourceEndpoint: allOf: - $ref: "#/definitions/VideoSourceEndpointGettable" - $ref: "#/definitions/VideoSourceEndpointPatchable" VideoSourceEndpointGettable: properties: connectorLabel: description: A label that can be used to idenfity a particular port on the device. type: string connectorLabelNumbers: $ref: "#/definitions/ConnectorLabelNumbers" capabilities: $ref: "#/definitions/PortCapabilities" connected: description: Whether this port is connected to a video device. type: boolean edidSourceUuid: description: The UUID of the connected RX that provides the EDID to be used. type: string supportedBitsPerColour: description: An array containing the supported values that can be used as maxBitsPerColour. type: array items: type: integer VideoSourceEndpointPatchable: properties: enabled: description: Whether this port 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 magicEyeLevel: description: The level used for video pixel differencing. type: integer minimum: 0 maximum: 63 edidOptimisation: description: | Whether optimised EDID processing is enabled. When using a source fixed edid, this property is ignored. Otherwise, enabling optimisation can speed up switching performance in cases where different users' monitors 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 RX device's monitor. 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'. type: string maxBitsPerColour: description: The maximum number of bits per colour. type: integer compressionType: description: | The level of compression that is to be used for this video port. - none: No compression. - 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. If advanced is not selected, minCompression and maxCompression will be empty strings. type: string enum: - pixelPerfect - adaptive - smoothestVideo - advanced minCompression: description: The minimum mode of compression, which is ignored unless compressionType is advanced. type: string enum: - pixelPerfect - minimum - middle - maximum maxCompression: description: The maximum mode of compression, which is ignored unless compressionType is advanced. type: string enum: - pixelPerfect - minimum - middle - maximum 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: type: string videoCodec: description: The video codec used. type: string enum: - Unknown - 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 afzSubMode: description: The sub-mode used for the AFZ encoding (only present for 'afz' based videoCodec). type: string enum: - 1 - 2 - 3 - 4 maxAfz: description: The maximum AFZ value used for the decoding/encoding (only present for 'afz' based videoCodec). type: integer numberOfFrameStores: description: The number of frame stores used for the decoding/encoding (only present for 'afz' based videoCodec). type: integer uncompressedBytesPerSegment: description: The number of uncompressed bytes per segment (used in afz-30 videoCodec). type: integer VideoSinkStatistics: type: object properties: framePeriod: description: The latest period measurement between the last two received frames. type: integer minimum: 0 maximum: 4294967295 frames: description: The total number of video frames received on the video port (since the end-to-end connection was established). type: integer receivedPackets: description: The total number of video packets received on the video port (since the end-to-end connection was established). type: integer 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 packetsStream: description: The number of packets received on this stream on this network interface. type: array items: type: array items: type: integer minimum: 0 maximum: 4294967295 codec: $ref: '#/definitions/videoCodec' afzSubMode: $ref: '#/definitions/afzSubMode' timestamp: description: The monotonic time in milliseconds at which the statistics were measured. type: integer format: int64 VideoSinkStatus: type: object properties: port: $ref: '#/definitions/VideoStatusPort' decoding: $ref: '#/definitions/VideoStatusDecoding' reception: $ref: '#/definitions/VideoStatusReception' VideoSourceStatistics: type: object properties: frames: description: The total number of video frames transmitted for this video port (since transmission was started). type: integer format: int64 droppedFrames: description: The number of frames dropped before transmission. type: integer minimum: 0 maximum: 4294967295 packets: description: The total number of packets output from the video processor. type: integer minimum: 0 maximum: 4294967295 packetsStream: description: The number of packets from the video processor output as stream[n]. type: array items: type: integer minimum: 0 maximum: 4294967295 codec: $ref: '#/definitions/videoCodec' afzSubMode: $ref: '#/definitions/afzSubMode' timestamp: description: The monotonic time in milliseconds at which the statistics were measured. type: integer format: int64 VideoSourceStatus: type: object properties: port: $ref: '#/definitions/VideoStatusPort' encoding: $ref: '#/definitions/VideoStatusEncoding' transmission: $ref: '#/definitions/VideoStatusTransmission' VideoStatusPort: 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 type: description: The type of display interface connection on this port. type: string enum: - Display Port - HDMI 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 numLanes: description: The number of lanes of a display port connection. Only present for type Display Port. type: integer mode: description: The mode that the port is operating in. Only present for type HDMI. type: string enum: - DVI - HDMI info: description: The information about the video signal on this port. type: object properties: timings: description: | The Video Timings of the input video signal received on this port. If there are currently no valid timings, this object will not be present. type: object properties: name: description: The video mode in the form "x@Hz". type: string period: description: The video refresh period. type: integer pixelClock: description: The pixel clock in kHz. type: integer horizontalResolution: description: The horizontal resolution. type: integer horizontalSyncStart: description: The horizontal sync start. type: integer horizontalSyncEnd: description: The horizontal sync end. type: integer horizontalFrameLength: description: The horizontal frame length. type: integer verticalResolution: description: The vertical resolution. type: integer verticalSyncStart: description: The vertical sync start. type: integer verticalSyncEnd: description: The vertical sync end. type: integer verticalFrameLength: description: The vertical frame length. type: integer 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 bitsPerColour: description: The current selected number of bits per colour. type: integer dynamicRangeMastering: description: The currently selected video colour dynamic range mastering. type: string dynamicRange: description: The currently selected video colour dynamic range. type: string encoding: description: The currently selected video colour encoding. type: string colourimetry: description: The currently selected video colourimetry. type: string VideoStatusDecoding: properties: enabled: description: Whether video decoding processing is enabled on this video port. type: boolean imageHidden: description: Whether the decoded video image is currently hidden on this video port. type: boolean overlayEnabled: description: Whether the graphics overlay image is currently enabled (visible) on this video port. type: boolean osdEnabled: description: Whether the On Screen Display is enabled on this video port. type: boolean mirroring: description: Whether the video image displayed on this video port is mirrored from another video port. type: boolean highResSingleHeadMode: description: Whether video decoding is using multiple video processors in order to support a high resolution video stream. type: boolean hdrMetaDataEnabled: description: Whether video decoding of HDR meta data is eanbled. type: boolean width: description: The active video width in pixels. type: integer height: description: The active video height in lines. type: integer period: description: The video frame period in uSecs. type: integer segmentsPerLine: description: The segments per line used. type: integer segmentIncrement: description: The segment number increment between segments. type: integer pixelsPerSegment: description: The number of pixels per segment except the last one. type: integer pixelsPerLastSegment: description: The number of pixels per last segment on each row. type: integer bytesPerSegment: description: The number of bytes per segment except the last one. type: integer bytesPerLastSegment: description: The number of bytes per last segment on each row. type: integer codec: $ref: '#/definitions/videoCodec' afzSubMode: $ref: '#/definitions/afzSubMode' maxAfz: $ref: '#/definitions/maxAfz' numberOfExpanders: description: The number of AFZ expanders used for the decoding (only present for 'afz' based videoCodec). type: integer numberOfFrameStores: $ref: '#/definitions/numberOfFrameStores' uncompressedBytesPerSegment: $ref: '#/definitions/uncompressedBytesPerSegment' VideoStatusEncoding: properties: enabled: description: Whether the video encoding processing is enabled. type: boolean highResSingleHeadMode: description: Whether the video encoding is using multiple video processors to support a high resolution video stream. type: boolean hdrMetaDataEnabled: description: Whether video decoding of HDR meta data is eanbled. type: boolean pixelBufferFull: description: Whether the video encoding pixel buffer is full (error). type: boolean segmentsPerLine: description: The segments per line used. type: integer segmentIncrement: description: The segment number increment between segments. type: integer pixelsPerSegment: description: The number of pixels per segment except the last one. type: integer pixelsPerLastSegment: description: The number of pixels per last segment on each row. type: integer bytesPerSegment: description: The number of bytes per segment except the last one. type: integer bytesPerLastSegment: description: The number of bytes per last segment on each row. type: integer codec: $ref: '#/definitions/videoCodec' afzSubMode: $ref: '#/definitions/afzSubMode' maxAfz: $ref: '#/definitions/maxAfz' numberOfCompressors: description: The number of AFZ compressors used for the encoding (only present for 'afz' based videoCodec). type: integer numberOfFrameStores: $ref: '#/definitions/numberOfFrameStores' uncompressedBytesPerSegment: $ref: '#/definitions/uncompressedBytesPerSegment' 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 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 transmitMode: description: The transmit mode type for the encoded video. type: string enum: - none - async - sync VideoStatusReception: properties: teaming: description: Whether teaming is enabled between network interfaces for this video port. type: boolean stopped: description: Whether reception of all streams is stopped for this video port. type: boolean locked: description: Whether video processing is locked to the received video packets. type: boolean frameStoreFilterEnabled: description: 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 lockMode: description: The timing lock mode number in use for this video port. type: integer width: description: The data stream video width in pixels. type: integer height: description: The data stream video height in lines. type: integer period: description: The data stream video period in uSecs. type: integer stream: description: The status of each reception stream of this video port. type: array items: $ref: "#/definitions/AvReceptionStatusNetwork" VideoStatusTransmission: 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 properties: rateLimit: description: The rate limit in Mbps (0 = no limit). type: integer networkInterface: $ref: '#/definitions/TransmissionStatusNetwork' parameters: adminAuthorization: in: header name: Authorization description: This call requires an admin user's JSON Web Token (JWT). Format 'Bearer JWT'. required: true type: string userAuthorization: in: header name: Authorization description: This call requires the relevant user's JSON Web Token (JWT). Format 'Bearer JWT'. required: true type: string family: in: path name: family description: The product family associated with a collection of device models. required: true type: string maxLength: 15 ifMatch: in: header name: If-Match description: ETag for the client's copy of the data response. required: true type: string ifNoneMatch: in: header name: If-None-Match description: ETag for the client's copy of the data response. type: string uuid: in: path name: uuid description: The universal unique ID of the desired device. required: true type: string maxLength: 36 userId: in: path name: userId description: The ID of the desired user. required: true type: integer minimum: 0 maximum: 4294967295 presetId: in: path name: presetId description: The ID of the desired preset. required: true type: integer minimum: 0 maximum: 4294967295 ifIndex: in: path name: ifIndex description: The index of the desired interface. required: true type: integer minimum: 0 maximum: 4294967295 sinkId: in: path name: sinkId description: The identifier of the desired sink port. required: true type: integer minimum: 1 maximum: 255 sourceId: in: path name: sourceId description: The identifier of the desired source port. required: true type: integer minimum: 1 maximum: 255 responses: '204': description: No Content '304': description: Not Modified schema: $ref: '#/definitions/Error' '400': description: Invalid Schema schema: $ref: '#/definitions/Error' '401': description: Unauthorised schema: $ref: '#/definitions/Error' '403': description: Forbidden (The user is not an Administrator). schema: $ref: '#/definitions/Error' '404': description: Not Found schema: $ref: '#/definitions/Error' '412': description: Precondition Failure schema: $ref: '#/definitions/Error' '500': description: Internal Server Error schema: $ref: '#/definitions/Error' '501': description: Not Implemented schema: $ref: '#/definitions/Error'