swagger: '2.0' info: version: 3.0.41 title: DDX10/DDX30 REST API description: | Adder Technology DDX10/DDX30 REST API. basePath: /api consumes: - application/json - multipart/form-data produces: - application/json - application/x-gzip paths: /auth/local: post: tags: - Auth summary: Authenticate User using Local strategy (Username/Password) and return JWT. description: This endpoint allows a user to be authenticated by username/password supplied over clear text (HTTPS should be used). A JSON Web Token is returned (JWT) which can be passed in the Authorization header of each subsequent API call. parameters: - in: body name: body description: User login credentials required: true schema: required: - username - password type: object properties: username: type: string description: Username password: type: string description: Password responses: '200': description: OK. schema: type: object properties: token: type: string description: JSON Web Token (JWT) '401': description: Unauthorised. Invalid or no credentials provided. /version: get: tags: - API summary: Returns the current REST API version description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string responses: '200': description: OK. schema: properties: version: description: REST API version number. type: string readOnly: true '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. /system/systemInfo: get: tags: - System summary: Return the System information. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string responses: '200': description: OK. schema: type: object properties: links: $ref: '#/definitions/link' firmwareVersion: description: Central switch firmware version type: string readOnly: true systemVersion: description: System software version type: string readOnly: true webVersion: description: Central switch web admin version type: string readOnly: true recoveryVersion: description: Central switch recovery firmware version type: string readOnly: true boardVersion: description: Central switch board version type: number readOnly: true datafpgaVersion: description: Central switch datafpga version type: string readOnly: true videofpgaVersion: description: Central switch videofpga version type: string readOnly: true imageType: description: The mode the System is running in. type: string readOnly: true enum: - PRIMARY - FACTORY description: description: String to identify the Central switch type: string maxLength: 31 location: description: String to specify the location of the Central switch type: string maxLength: 31 ignoreFirmwareMismatch: description: Set to True to suppress warnings about end-point firmware versions not matching the System firmware. type: boolean edidId: description: EDID ID allocated as the System wide EDID type: number headers: ETag: description: ETAG representing the object type: string '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. put: tags: - System summary: Update the System information. Requires Admin privileges. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string - in: header name: if-match description: 'ETAG that represents the current System information state. Format: "ETAG"' required: true type: string - in: body name: body description: System information attributes to be updated. required: true schema: required: - ignoreFirmwareMismatch - edidId properties: description: description: String to identify the Central switch type: string maxLength: 31 location: description: String to specify the location of the Central switch type: string maxLength: 31 ignoreFirmwareMismatch: description: Set to True to suppress warnings about end-point firmware versions not matching the System firmware. type: boolean edidId: description: EDID ID allocated as the System wide EDID type: number responses: '200': description: Successful Operation (ok). '400': description: Invalid Content (Schema). '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. '409': description: Conflict. '412': description: Precondition Failed. /system/systemInfo/uptime: get: tags: - System summary: Time in seconds the Central switch has been running. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string responses: '200': description: OK. schema: properties: uptime: description: Time in seconds the Central switch has been running. type: number readOnly: true '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. /system/network: get: tags: - Network summary: Read the Central switch network settings. Requires Admin privileges. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string responses: '200': description: OK. schema: type: object properties: links: $ref: '#/definitions/link' dhcp: description: True if DHCP is enabled type: boolean linkLocal: description: True if Link Local address scheme is used when DHCP is not enabled or fails type: boolean ipAddress: description: IP (v4) Address type: string maxLength: 15 netMask: description: Network Mask type: string maxLength: 15 gateway: description: Network Gateway type: string maxLength: 15 defaultIpAddress: description: IP (v4) Address used when DHCP is not enabled or fails type: string maxLength: 15 defaultNetMask: description: Network Mask used when DHCP is not enabled or fails type: string maxLength: 15 defaultGateway: description: Network Gateway used when DHCP is not enabled or fails type: string maxLength: 15 httpServer: description: True if a HTTP server is preferred to serve the web UI. Default is HTTPS. type: boolean networkServiceDiscovery: description: True if Network Service Discovery is enabled and the Central switch should advertise its presence over the network. type: boolean useDhcpDomain: description: True if the domain name for mDNS services is to be taken from DHCP; defaults to '.local.' if not available or false. type: boolean hostname: description: Unit hostname type: string maxLength: 31 domain: description: Unit domain name type: string readOnly: true macAddress: description: System Network MAC address type: string readOnly: true manualNtpAddress: description: Array of manually set NTP Addresses type: array items: type: string maxLength: 15 dhcpNtpAddress: description: Array of DHCP set NTP Addresses type: array items: type: string maxLength: 15 readOnly: true headers: ETag: description: ETAG representing the object type: string '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. put: tags: - Network summary: Update network settings. Requires Admin privileges. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string - in: header name: if-match description: 'ETAG that represents the current Network settings state. Format: "ETAG"' required: true type: string - in: body name: body description: Network setting attributes. required: true schema: type: object required: - dhcp - httpServer - networkServiceDiscovery properties: dhcp: description: True if DHCP is enabled type: boolean linkLocal: description: True if Link Local address scheme is used when DHCP is not enabled or fails type: boolean defaultIpAddress: description: IP (v4) Address used when DHCP is not enabled or fails type: string maxLength: 15 defaultNetMask: description: Network Mask used when DHCP is not enabled or fails type: string maxLength: 15 defaultGateway: description: Network Gateway used when DHCP is not enabled or fails type: string maxLength: 15 httpServer: description: True if a HTTP server is preferred to serve the web UI. Default is HTTPS. type: boolean networkServiceDiscovery: description: True if Network Service Discovery is enabled and the Central switch should advertise its presence over the network. type: boolean useDhcpDomain: description: True if the domain name for mDNS services is to be taken from DHCP; defaults to '.local.' if not available or false. type: boolean hostname: description: Unit hostname type: string maxLength: 31 manualNtpAddress: description: Array of manually set NTP Addresses type: array items: type: string maxLength: 15 responses: '200': description: Successful Operation (ok). '400': description: Invalid Content (Schema). '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. '409': description: Conflict. '412': description: Precondition Failed. /system/timeInfo: get: tags: - Time summary: Read the Central switch time settings. Requires Admin privileges. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string responses: '200': description: OK. schema: type: object properties: links: $ref: '#/definitions/link' timezone: description: The current timezone (represented as a TZ-Database String) of the switch. type: string maxLength: 63 ntpEnabled: description: True if NTP & DHCP should be used to obtain the system time & timezone. type: boolean zoneinfo: description: Structure containing the options for the timezone property divided into regions type: array items: type: object properties: name: description: The TZ database name of the timezone type: string description: description: Description of the timezone region type: string readOnly: true headers: ETag: description: ETAG representing the object type: string '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. put: tags: - Time summary: Update time settings. Requires Admin privileges. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string - in: header name: if-match description: 'ETAG that represents the current Time settings state. Format: "ETAG"' required: true type: string - in: body name: body description: Time setting attributes. required: true schema: type: object properties: timezone: description: The timezone (represented as a TZ-Database String) of the switch. Read-only if a DHCP obtained timezone is in use. type: string ntpEnabled: description: True if NTP & DHCP should be used to obtain the system time & timezone. type: boolean useTime: description: The date to set the OSD clock to in seconds since 1 Jan 1970, (will be ignored if an NTP server is provided either manually or by DHCP) type: number responses: '200': description: Successful Operation (ok). '400': description: Invalid Content (Schema). '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. '409': description: Conflict. '412': description: Precondition Failed. /system/osd: get: tags: - OSD summary: Read the Central switch computer selection OSD settings. Requires Admin privileges. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string responses: '200': description: OK. schema: type: object properties: links: $ref: '#/definitions/link' thumbnails: description: True if computer thumbnails are enabled on the OSD. type: boolean layoutAuto: description: True if the layout of the computer thumbnails on the OSD should be based on the number of configured computers. Setting to False will default to a 5x5 grid. type: boolean displaySysInfo: description: True if the OSD should display a summary of the Central switch system information. type: boolean fullGrid: description: True if OSD should use the bottom right portion of the screen type: boolean remoteOsd: description: True if remote OSD is enabled (Should always be set False) type: boolean backgroundBrightness: description: Brightness of the unselected computer thumbnails; default is 40% type: number edidId: description: EDID Id of the EDID to be used for the OSD; set to 0 to use the System Default EDID type: number time: description: True if the date and time should be shown on the OSD. If the fullGrid is being used the date and time will not be shown. type: boolean headers: ETag: description: ETAG representing the object type: string '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. put: tags: - OSD summary: Update the Central switch computer selection OSD settings. Requires Admin privileges. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string - in: header name: if-match description: 'ETAG that represents the current Network settings state. Format: "ETAG"' required: true type: string - in: body name: body description: Network setting attributes. required: true schema: required: - thumbnails - layoutAuto - displaySysInfo - fullGrid - remoteOsd - backgroundBrightness - edidId - displayTime properties: thumbnails: description: True if computer thumbnails are enabled on the OSD. type: boolean layoutAuto: description: True if the layout of the computer thumbnails on the OSD should be based on the number of configured computers. Setting to False will default to a 5x5 grid. type: boolean displaySysInfo: description: True if the OSD should display a summary of the Central switch system information. type: boolean fullGrid: description: True if OSD should use the bottom right portion of the screen type: boolean remoteOsd: description: True if remote OSD is enabled (Should always be set False) type: boolean backgroundBrightness: description: Brightness of the unselected computer thumbnails; default is 40% type: number edidId: description: EDID Id of the EDID to be used for the OSD; set to 0 to use the System Default EDID; reboot required type: number displayTime: description: True if the date and time should be shown on the OSD. If the fullGrid is being used the date and time will not be shown. type: boolean responses: '200': description: Successful Operation (ok). '400': description: Invalid Content (Schema) '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. '409': description: Conflict. '412': description: Precondition Failed. /system/upgrade: get: tags: - System summary: Get the status of the firmware update operation description: '' responses: '200': description: OK. schema: type: object properties: state: type: string description: The state of the operation. NB A return state of "UPGRADE OK" may not be seen, as the Central switch automatically reboots as soon as the upgrade completes. enum: - IN PROGRESS - IDLE - UPGRADE OK readOnly: true info: type: string description: Text information about the operation status readOnly: true error: type: number description: Operation status error code readOnly: true post: tags: - System summary: Perform a System firmware upgrade, updating the Central switch, and all connected devices. Requires Admin privileges. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string - in: formData name: file description: Firmware image file required: true type: file responses: '204': description: Successful Operation (No Content). '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. '409': description: Conflict, another system operation in progress. /system/upgradeSync: get: tags: - System summary: Get the status of the firmware sync update operation. Requires Admin privileges. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string responses: '200': description: OK. schema: type: object properties: state: type: string description: The state of the operation enum: - IN PROGRESS - IDLE - UPGRADE OK readOnly: true info: type: string description: Text information about the operation status readOnly: true error: type: number description: Operation status error code readOnly: true '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. post: tags: - System summary: Synchronise the firmware of all connected devices to the Central switch. Requires Admin privileges. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string responses: '204': description: Successful Operation (No Content). '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. /system/restore: get: tags: - System summary: Get the status of the System restore configuration operation. description: '' responses: '200': description: OK. schema: type: object properties: state: type: string description: The state of the operation enum: - IN PROGRESS - IDLE readOnly: true info: type: string description: Text information about the operation status readOnly: true error: type: number description: Operation status error code readOnly: true post: tags: - System summary: Restore the System configuration from a backup file. Requires Admin privileges. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string - in: formData name: File description: Configuration backup file required: true type: file responses: '204': description: Successful Operation (No Content). '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. '404': description: The configuration File is invalid. /system/reboot: get: tags: - System summary: Get the status of the System reboot operation. description: '' responses: '200': description: OK. schema: type: object properties: state: type: string description: The state of the operation enum: - IN PROGRESS - IDLE - REBOOT OK readOnly: true info: type: string description: Text information about the operation status readOnly: true error: type: number description: Operation status error code readOnly: true post: tags: - System summary: Reboot the Central switch and all connected devices. Requires Admin privileges. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string responses: '204': description: Successful Operation (No Content). '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. /system/backup: post: tags: - System summary: Backup (download) the System configuration file. Requires Admin privileges. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string responses: '200': description: OK. schema: type: file '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. /ports: get: tags: - Ports summary: Return the status of all ports on the Central switch. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string responses: '200': description: OK. schema: type: array description: Number of ports. items: type: object properties: id: description: The Port id (number) type: number type: description: The type of Port type: string enum: - TRANSMITTER - RECEIVER - UNDEFINED readOnly: true computerConsoleId: description: The ID of the associated Computer (if type is TRANSMITTER) or Console (if type is RECEIVER). type: number readOnly: true computerConsoleName: description: The name of the associated Computer (if type is TRANSMITTER) or Console (if type is RECEIVER). type: string readOnly: true status: description: The Port connection status. type: string enum: - DISCONNECTED - CONNECTED - OPERATIONAL - REPROGRAMMING readOnly: true validType: description: The configuration options that are valid for the Port. type: string enum: - TRANSMITTER - RECEIVER - ANY readOnly: true uptime: description: Time in seconds the Port has been connected type: number readOnly: true '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. /ports/{id}: get: tags: - Ports summary: Get details of a single port. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string - in: path name: id description: Port ID required: true type: number responses: '200': description: OK. schema: type: object properties: id: description: The Port id (number) type: number type: description: The type of Port type: string enum: - TRANSMITTER - RECEIVER - UNDEFINED readOnly: true computerConsoleId: description: The ID of the associated Computer (if type is TRANSMITTER) or Console (if type is RECEIVER). type: number readOnly: true computerConsoleName: description: The name of the associated Computer (if type is TRANSMITTER) or Console (if type is RECEIVER). type: string readOnly: true status: description: The Port connection status. type: string enum: - DISCONNECTED - CONNECTED - OPERATIONAL - REPROGRAMMING readOnly: true validType: description: The configuration options that are valid for the Port. type: string enum: - TRANSMITTER - RECEIVER - ANY readOnly: true uptime: description: Time in seconds the Port has been connected type: number readOnly: true headers: ETag: type: string description: ETAG representing the object '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. '404': description: Document Not Found. /consoles: get: tags: - Consoles summary: Return a list of Consoles configured in the system. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string responses: '200': description: OK. schema: type: array description: Number of consoles. items: type: object properties: links: properties: self: $ref: '#/definitions/link' ports: $ref: '#/definitions/link' accessList: $ref: '#/definitions/link' computer: $ref: '#/definitions/link' user: $ref: '#/definitions/link' id: description: The Console ID type: number readOnly: true computerAccess: description: List of Computer IDs, and associated access levels, that this Console is able to access. This list takes into account the current state of the system. e.g. If another Console is connected to Computer 1 in EXCLUSIVE mode, then this Console is only able to connect in VIEW ONLY mode regardless of what permission it has. type: array items: type: object properties: id: description: Computer ID type: number access: type: object description: Combination of allowed access modes for this computer. properties: viewOnly: type: boolean shared: type: boolean exclusive: type: boolean private: type: boolean readOnly: true name: description: Console Name type: string maxLength: 15 description: description: Console Description type: string maxLength: 31 ports: description: List of Central switch Port IDs that make up the heads of this Console. type: array items: type: number computerPermissions: description: List of Computer IDs, and associated access levels, that this Console has permission to access. type: array items: type: object properties: id: description: Computer ID type: number access: type: object description: Combination of allowed access modes for this computer. properties: viewOnly: type: boolean shared: type: boolean exclusive: type: boolean private: type: boolean autoLogoutTime: description: Time in seconds before a Console is disconnected from a machine (Unused, always set to 15). type: number enum: - 1 - 5 - 15 - 30 - 60 - 120 osdMouseLaunch: description: True if launching of the OSD with the mouse short-cut is enabled on this console type: boolean osdTouchLaunch: description: True if launching of the OSD with the on-screen touch icon is enabled on this console type: boolean osdHotkeyModifier1: $ref: '#/definitions/shortCutModifier' osdHotkeyModifier2: $ref: '#/definitions/shortCutModifier' osdHotkeyLaunch: description: Launch the OSD when pressed in combination with the modifiers type: string osdHotkeyVCP: description: Access the VCP interface on VGA transmitters when pressed in combination with the modifiers type: string maxLength: 1 keyboardLayout: $ref: '#/definitions/keyboardLayout' presetComputer: description: Computer ID of the computer that this console will connect to when loading the preset. type: number presetAccessMode: description: Access mode that this console will connect with when loading the preset. type: boolean userLogin: description: Always False type: boolean maxLength: 1 '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. post: tags: - Consoles summary: Add a new Console. Requires Admin privileges. description: '' parameters: - in: body name: body description: Console attributes. required: true schema: required: - name - ports - computerPermissions - autoLogoutTime - osdMouseLaunch - osdTouchLaunch - presetComputer - presetAccessMode - userLogin properties: name: description: Console Name type: string maxLength: 15 description: description: Console Description type: string maxLength: 31 ports: description: List of Central switch Port IDs that make up the heads of this Console. type: array items: type: number computerPermissions: description: List of Computer IDs, and associated access levels, that this Console has permission to access. type: array items: type: object properties: id: description: Computer ID type: number access: type: object description: Combination of allowed access modes for this computer. properties: viewOnly: type: boolean shared: type: boolean exclusive: type: boolean private: type: boolean autoLogoutTime: description: Time in seconds before a Console is disconnected from a machine (Unused, always set to 15). type: number enum: - 1 - 5 - 15 - 30 - 60 - 120 osdMouseLaunch: description: True if launching of the OSD with the mouse short-cut is enabled on this console type: boolean osdTouchLaunch: description: True if launching of the OSD with the on-screen touch icon is enabled on this console type: boolean keyboardLayout: $ref: '#/definitions/keyboardLayout' presetComputer: description: Computer ID of the computer that this console will connect to when loading the preset. type: number presetAccessMode: description: Access mode that this console will connect with when loading the preset. type: boolean userLogin: description: Always False type: boolean - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string responses: '201': description: Resource Created. headers: Location: description: URI location of the newly created resource. type: string '400': description: Invalid Content (Schema). '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. delete: tags: - Consoles summary: Delete multiple Consoles from system. parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string - in: query name: ids description: Comma seperated list of Console IDs required: true type: string responses: '204': description: Successful Operation (No Content). '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. '404': description: Document Not Found. '/consoles/{id}': get: tags: - Consoles summary: Get details of a single Console. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string - in: path name: id description: Console ID required: true type: number responses: '200': description: OK. schema: type: object properties: links: properties: self: $ref: '#/definitions/link' ports: $ref: '#/definitions/link' accessList: $ref: '#/definitions/link' computer: $ref: '#/definitions/link' user: $ref: '#/definitions/link' id: description: The Console ID type: number readOnly: true computerAccess: description: List of Computer IDs, and associated access levels, that this Console is able to access. This list takes into account the current state of the system. e.g. If another Console is connected to Computer 1 in EXCLUSIVE mode, then this Console is only able to connect in VIEW ONLY mode regardless of what permission it has. type: array items: type: object properties: id: description: Computer ID type: number access: type: object description: Combination of allowed access modes for this computer. properties: viewOnly: type: boolean shared: type: boolean exclusive: type: boolean private: type: boolean readOnly: true name: description: Console Name type: string maxLength: 15 description: description: Console Description type: string maxLength: 31 ports: description: List of Central switch Port IDs that make up the heads of this Console. type: array items: type: number computerPermissions: description: List of Computer IDs, and associated access levels, that this Console has permission to access. type: array items: type: object properties: id: description: Computer ID type: number access: type: object description: Combination of allowed access modes for this computer. properties: viewOnly: type: boolean shared: type: boolean exclusive: type: boolean private: type: boolean autoLogoutTime: description: Time in seconds before a Console is disconnected from a machine (Unused, always set to 15). type: number enum: - 1 - 5 - 15 - 30 - 60 - 120 osdMouseLaunch: description: True if launching of the OSD with the mouse short-cut is enabled on this console type: boolean osdTouchLaunch: description: True if launching of the OSD with the on-screen touch icon is enabled on this console type: boolean osdHotkeyModifier1: $ref: '#/definitions/shortCutModifier' osdHotkeyModifier2: $ref: '#/definitions/shortCutModifier' osdHotkeyLaunch: description: Launch the OSD when pressed in combination with the modifiers type: string osdHotkeyVCP: description: Access the VCP interface on VGA transmitters when pressed in combination with the modifiers type: string maxLength: 1 keyboardLayout: $ref: '#/definitions/keyboardLayout' presetComputer: description: Computer ID of the computer that this console will connect to when loading the preset. type: number presetAccessMode: description: Access mode that this console will connect with when loading the preset. type: boolean userLogin: description: Always False type: boolean headers: ETag: type: string description: ETAG representing the object '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. '404': description: Document Not Found. put: tags: - Consoles summary: Update a Console. Requires Admin privileges. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string - in: header name: if-match description: 'ETAG that represents the current Console state. Format: "ETAG"' required: true type: string - in: path name: id description: Console ID required: true type: number - in: body name: body description: Console attributes to be updated. required: true schema: required: - name - ports - computerPermissions - autoLogoutTime - osdMouseLaunch - osdTouchLaunch - presetComputer - presetAccessMode - userLogin properties: name: description: Console Name type: string maxLength: 15 description: description: Console Description type: string maxLength: 31 ports: description: List of Central switch Port IDs that make up the heads of this Console. type: array items: type: number computerPermissions: description: List of Computer IDs, and associated access levels, that this Console has permission to access. type: array items: type: object properties: id: description: Computer ID type: number access: type: object description: Combination of allowed access modes for this computer. properties: viewOnly: type: boolean shared: type: boolean exclusive: type: boolean private: type: boolean autoLogoutTime: description: Time in seconds before a Console is disconnected from a machine (Unused, always set to 15). type: number enum: - 1 - 5 - 15 - 30 - 60 - 120 osdMouseLaunch: description: True if launching of the OSD with the mouse short-cut is enabled on this console type: boolean osdTouchLaunch: description: True if launching of the OSD with the on-screen touch icon is enabled on this console type: boolean osdHotkeyModifier1: $ref: '#/definitions/shortCutModifier' osdHotkeyModifier2: $ref: '#/definitions/shortCutModifier' osdHotkeyLaunch: description: Launch the OSD when pressed in combination with the modifiers type: string osdHotkeyVCP: description: Access the VCP interface on VGA transmitters when pressed in combination with the modifiers type: string maxLength: 1 keyboardLayout: $ref: '#/definitions/keyboardLayout' presetComputer: description: Computer ID of the computer that this console will connect to when loading the preset. type: number presetAccessMode: description: Access mode that this console will connect with when loading the preset. type: boolean userLogin: description: Always False type: boolean responses: '200': description: Successful Operation (No Content). '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. '404': description: Document Not Found. '409': description: Conflict. '412': description: Precondition Failed. delete: tags: - Consoles summary: Delete Console from system. Requires Admin privileges. parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string - in: header name: if-match description: 'ETAG that represents the current Console state. Format: "ETAG"' required: true type: string - in: path name: id description: Console ID required: true type: number responses: '204': description: Successful Operation (No Content). '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. '404': description: Document Not Found. '409': description: Conflict. '412': description: Precondition Failed. '/consoles/{id}/switch': post: tags: - Consoles summary: Switch Console to a Computer. Requires Admin privileges. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string - in: path name: id description: Console ID required: true type: number - in: body name: body description: Computer and switch mode. required: true schema: required: - mode - computerId properties: computerId: description: Computer ID to switch to. type: number mode: $ref: '#/definitions/accessType' responses: '204': description: Successful Operation (No Content). '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. '404': description: Document Not Found. '500': description: Invalid or missing mode. '/consoles/loadPreset': post: tags: - Consoles summary: Switch each Console to its preset connection. Requires Admin privileges. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string responses: '204': description: Successful Operation (No Content). '401': description: Unauthorised. Invalid or no credentials provided. '500': description: Invalid or missing mode. '/consoles/savePreset': post: tags: - Consoles summary: Save the current connection for each console as its preset connection. Requires Admin privileges. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string responses: '204': description: Successful Operation (No Content). '401': description: Unauthorised. Invalid or no credentials provided. '500': description: Invalid or missing mode. /computers: get: tags: - Computers summary: Return a list of Computers configured in the system. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string responses: '200': description: OK. schema: type: array description: Number of computers. items: type: object properties: links: properties: self: $ref: '#/definitions/link' ports: $ref: '#/definitions/link' primaryConsole: $ref: '#/definitions/link' consoles: $ref: '#/definitions/link' id: description: The Computer ID type: number readOnly: true primaryConsole: description: The ID of the Console that has USB control over this Computer. type: number readOnly: true connectedConsoles: description: List of Console IDs connected to this Computer. type: array items: type: number name: description: Computer Name type: string maxLength: 15 description: description: Computer Description type: string maxLength: 31 ports: description: List of Central switch Port IDs that make up the heads of this Computer. type: array items: type: number thumbnail: description: True if a thumbnail for this computer should be displayed on the computer selection OSD. type: boolean computerNo: description: Computer number to identify this computer. Used to dictate the position on the computer selection OSD, and switching hot-key short-cut. type: number currentAccessMode: description: Highest access mode of the currently connected Consoles. type: string enum: - VIEWONLY - SHARED - EXCLUSIVE - PRIVATE - NONE '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. post: tags: - Computers summary: Add a new Computer. Requires Admin privileges. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string - in: body name: body description: Computer attributes. required: true schema: required: - name - ports - thumbnail - computerNo properties: name: description: Computer Name type: string maxLength: 15 description: description: Computer Description type: string maxLength: 31 ports: description: List of Central switch Port IDs that make up the heads of this Computer. type: array items: type: number thumbnail: description: True if a thumbnail for this computer should be displayed on the computer selection OSD. type: boolean computerNo: description: Computer number to identify this computer. Used to dictate the position on the computer selection OSD, and switching hot-key short-cut. type: number responses: '201': description: Resource Created. headers: Location: description: URI location of the newly created resource. type: string '400': description: Invalid Content (Schema) or too many computers (max. 23). '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. '/computers/{id}': get: tags: - Computers summary: Get details of a single Computer. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string - in: path name: id description: Computer ID required: true type: number responses: '200': description: OK. schema: type: object properties: links: properties: self: $ref: '#/definitions/link' ports: $ref: '#/definitions/link' primaryConsole: $ref: '#/definitions/link' consoles: $ref: '#/definitions/link' id: description: The Computer ID type: number readOnly: true primaryConsole: description: The ID of the Console that has USB control over this Computer. type: number readOnly: true connectedConsoles: description: List of Console IDs connected to this Computer. type: array items: type: number name: description: Computer Name type: string maxLength: 15 description: description: Computer Description type: string maxLength: 31 ports: description: List of Central switch Port IDs that make up the heads of this Computer. type: array items: type: number thumbnail: description: True if a thumbnail for this computer should be displayed on the computer selection OSD. type: boolean computerNo: description: Computer number to identify this computer. Used to dictate the position on the computer selection OSD, and switching hot-key short-cut. type: number currentAccessMode: description: Highest access mode of the currently connected Consoles. type: string enum: - VIEWONLY - SHARED - EXCLUSIVE - PRIVATE - NONE headers: ETag: type: string description: ETAG representing the object '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. '404': description: Document Not Found. put: tags: - Computers summary: Update a Computer. Requires Admin privileges. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string - in: header name: if-match description: 'ETAG that represents the current Computer state. Format: "ETAG"' required: true type: string - in: path name: id description: Computer ID required: true type: number - in: body name: body description: Computer attributes to be updated. required: true schema: required: - name - ports - thumbnail - computerNo properties: name: description: Computer Name type: string maxLength: 15 description: description: Computer Description type: string maxLength: 31 ports: description: List of Central switch Port IDs that make up the heads of this Computer. type: array items: type: number thumbnail: description: True if a thumbnail for this computer should be displayed on the computer selection OSD. type: boolean computerNo: description: Computer number to identify this computer. Used to dictate the position on the computer selection OSD, and switching hot-key short-cut. type: number responses: '200': description: Successful Operation (No Content). '400': description: Invalid Content (Schema). '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. '404': description: Document Not Found. '409': description: Conflict. '412': description: Precondition Failed. delete: tags: - Computers summary: Delete Computer from system. Requires Admin privileges. parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string - in: header name: if-match description: 'ETAG that represents the current Computer state. Format: "ETAG"' required: true type: string - in: path name: id description: Computer ID required: true type: number responses: '204': description: Successful Operation (No Content). '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. '404': description: Document Not Found. '409': description: Conflict. '412': description: Precondition Failed. /receivers: get: tags: - Receivers summary: Return the status of any Receivers connected to the Central switch. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string responses: '200': description: OK. schema: type: array description: List of Receiver Ports. items: type: object properties: links: properties: self: $ref: '#/definitions/link' console: $ref: '#/definitions/link' operations: $ref: '#/definitions/link' port: description: The Port number the Receiver is connected to type: number readOnly: true consoleId: description: The ID of the Console that this Receiver is part of. type: number readOnly: true firmwareVersion: description: The firmware version type: string readOnly: true firmwareAvailable: description: The name of a newer firmware version if available type: string readOnly: true firmwareRequired: description: The name of the minimum required firmware version if current version invalid type: string readOnly: true connectorType: description: The display connector type of the Receiver. type: string readOnly: true uniqueId: description: The Receiver hardware's unique ID type: string readOnly: true monitorNo: description: The Receiver's monitor head number within its configured Console group. type: number readOnly: true monitorInfo: description: Monitor information type: object properties: model: type: string description: Monitor model number serialNo: type: string description: Monitor serial number width: type: number description: Monitor resolution width height: type: number description: Monitor resolution height refreshRate: type: number description: Monitor refresh rate (Hz) edidName: type: string description: Human readable name to identify the connected monitor. recoveryMode: description: True if currently in recovery mode type: boolean readOnly: true video: description: True if a monitor is connected type: boolean usbEnable: description: True if USB enabled (Unused - always set to True). type: boolean videoClock: description: Video clock being output to the monitor (Hz) type: number readOnly: true '/receivers/{portNumber}': get: tags: - Receivers summary: Get details of a single Receiver. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string - in: path name: portNumber description: Receiver's Port number required: true type: number responses: '200': description: OK. schema: type: object properties: links: properties: self: $ref: '#/definitions/link' console: $ref: '#/definitions/link' operations: $ref: '#/definitions/link' port: description: The Port number the Receiver is connected to type: number readOnly: true consoleId: description: The ID of the Console that this Receiver is part of. type: number readOnly: true firmwareVersion: description: The firmware version type: string readOnly: true firmwareAvailable: description: The name of a newer firmware version if available type: string readOnly: true firmwareRequired: description: The name of the minimum required firmware version if current version invalid type: string readOnly: true connectorType: description: The display connector type of the Receiver. type: string readOnly: true uniqueId: description: The Receiver hardware's unique ID type: string readOnly: true monitorNo: description: The Receiver's monitor head number within its configured Console group. type: number readOnly: true monitorInfo: description: Monitor information type: object properties: model: type: string description: Monitor model number serialNo: type: string description: Monitor serial number width: type: number description: Monitor resolution width height: type: number description: Monitor resolution height refreshRate: type: number description: Monitor refresh rate (Hz) edidName: type: string description: Human readable name to identify the connected monitor. recoveryMode: description: True if currently in recovery mode type: boolean readOnly: true video: description: True if a monitor is connected type: boolean usbEnable: description: True if USB enabled (Unused - always set to True). type: boolean videoClock: description: Video clock being output to the monitor (Hz) type: number readOnly: true headers: ETag: type: string description: ETAG representing the object '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. '404': description: Document Not Found. '/receivers/{portNumber}/upgradeSync': get: tags: - Receivers summary: Get the status of the firmware sync update operation. Requires Admin privileges. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format Bearer JWT' required: true type: string - in: path name: portNumber description: Receiver ID required: true type: number responses: '200': description: OK. schema: type: object properties: state: type: string description: The state of the operation enum: - IN PROGRESS - IDLE readOnly: true info: type: string description: Text information about the operation status readOnly: true error: type: number description: Operation status error code readOnly: true post: tags: - Receivers summary: Synchronise the firmware of all connected devices to the Central switch. Requires Admin privileges. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string - in: path name: portNumber description: Receiver ID required: true type: number responses: '204': description: Successful Operation (No Content). '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. '404': description: Document Not Found. '/receivers/{portNumber}/reboot': get: tags: - Receivers summary: Get the status of the reboot operation. Requires Admin privileges. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string - in: path name: portNumber description: Receiver ID required: true type: number responses: '200': description: OK. schema: type: object properties: state: type: string description: The state of the operation enum: - IN PROGRESS - IDLE - REBOOT OK readOnly: true info: type: string description: Text information about the operation status readOnly: true error: type: number description: Operation status error code readOnly: true post: tags: - Receivers summary: Reboot the Receiver. Requires Admin privileges. parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string - in: path name: portNumber description: Receiver ID required: true type: number responses: '204': description: Successful Operation (No Content). '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. '404': description: Document Not Found. '/receivers/{portNumber}/recover': post: tags: - Receivers summary: Request to load the Receiver's recovery image when it is next rebooted. Requires Admin privileges. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string - in: path name: portNumber description: Receiver ID required: true type: number responses: '204': description: Successful Operation (No Content). '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. '404': description: Document Not Found. '/receivers/{portNumber}/cancelRecover': post: tags: - Receivers summary: Cancel a pending Receiver Recovery request. Requires Admin privileges. parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string - in: path name: portNumber description: Receiver ID required: true type: number responses: '204': description: Successful Operation (No Content). '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. '404': description: Document Not Found. /transmitters: get: tags: - Transmitters summary: Return a list of Transmitters. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string responses: '200': description: OK. schema: type: array description: List of Transmitter Ports. items: type: object properties: links: properties: self: $ref: '#/definitions/link' computer: $ref: '#/definitions/link' operations: $ref: '#/definitions/link' port: description: The Port number the Transmitter is connected to type: number readOnly: true computerId: description: The ID of the Computer that this Transmitter is part of. type: number readOnly: true firmwareVersion: description: The firmware version type: string readOnly: true firmwareAvailable: description: The name of a newer firmware version if available type: string readOnly: true usbMode: description: Type of devices accepted by the Transmitter (Unused - always set to "HID"). type: string firmwareRequired: description: The name of the minimum required firmware version if current version invalid type: string readOnly: true connectorType: description: The display connector type of the Transmitter. type: string readOnly: true uniqueId: description: The Transmitter hardware's unique ID type: string readOnly: true monitorNo: description: The Transmitter's monitor head number within its configured Computer group. type: number readOnly: true recoveryMode: description: True if currently in recovery mode type: boolean readOnly: true video: description: True if video is currently being received from the Transmitter. type: boolean readOnly: true videoClock: description: Computer video clock (Hz) type: number readOnly: true width: description: Computer video resolution width type: number readOnly: true height: description: Computer video resolution height type: number readOnly: true useSystemEdid: description: True if the global system EDID should be used for this Transmitter. type: boolean edidId: description: The EDID ID of the EDID to be used for this Transmitter. When useSystemEdid is False, this option can be used to override the global system EDID and present a custom or built-in monitor to the computer. type: number '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. '/transmitters/{portNumber}': get: tags: - Transmitters summary: Get details of a single Transmitter. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string - in: path name: portNumber description: Transmitter's Port number required: true type: number responses: '200': description: OK. schema: type: object properties: links: properties: self: $ref: '#/definitions/link' computer: $ref: '#/definitions/link' operations: $ref: '#/definitions/link' port: description: The Port number the Transmitter is connected to type: number readOnly: true computerId: description: The ID of the Computer that this Transmitter is part of. type: number readOnly: true firmwareVersion: description: The firmware version type: string readOnly: true firmwareAvailable: description: The name of a newer firmware version if available type: string readOnly: true usbMode: description: Type of devices accepted by the Transmitter (Unused - always set to "HID"). type: string firmwareRequired: description: The name of the minimum required firmware version if current version invalid type: string readOnly: true connectorType: description: The display connector type of the Transmitter. type: string readOnly: true uniqueId: description: The Transmitter hardware's unique ID type: string readOnly: true monitorNo: description: The Transmitter's monitor head number within its configured Computer group. type: number readOnly: true recoveryMode: description: True if currently in recovery mode type: boolean readOnly: true video: description: True if video is currently being received from the Transmitter. type: boolean readOnly: true videoClock: description: Computer video clock (Hz) type: number readOnly: true width: description: Computer video resolution width type: number readOnly: true height: description: Computer video resolution height type: number readOnly: true useSystemEdid: description: True if the global system EDID should be used for this Transmitter. type: boolean edidId: description: The EDID ID of the EDID to be used for this Transmitter. When useSystemEdid is False, this option can be used to override the global system EDID and present a custom or built-in monitor to the computer. type: number headers: ETag: type: string description: ETAG representing the object '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. '404': description: Document Not Found. put: tags: - Transmitters summary: Update a Transmitter description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string - in: header name: if-match description: 'ETAG that represents the current Transmitter state. Format: "ETAG"' required: true type: string - in: path name: portNumber description: Transmitter's Port number required: true type: number - in: body name: body description: Transmitter attributes to be updated. required: true schema: required: - edidId - useSystemEdid properties: edidId: description: The Transmitter's EDID. It is ignored if useSystemEdid is set to true. type: number useSystemEdid: description: True if the global system EDID should be used for this Transmitter. type: boolean responses: '200': description: Successful Operation (No Content). '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. '404': description: Document Not Found. '409': description: Conflict. '412': description: Precondition Failed. '/transmitters/{portNumber}/upgradeSync': get: tags: - Transmitters summary: Get the status of the firmware sync update operation. Requires Admin privileges. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string - in: path name: portNumber description: Transmitter ID required: true type: number responses: '200': description: OK. schema: type: object properties: state: type: string description: The state of the operation enum: - IN PROGRESS - IDLE readOnly: true info: type: string description: Text information about the operation status readOnly: true error: type: number description: Operation status error code readOnly: true post: tags: - Transmitters summary: Synchronise the firmware of all connected devices to the Central switch. Requires Admin privileges. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string - in: path name: portNumber description: Transmitter ID required: true type: number responses: '204': description: Successful Operation (No Content). '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. '404': description: Document Not Found. '/transmitters/{portNumber}/reboot': get: tags: - Transmitters summary: Get the status of the reboot operation. Requires Admin privileges. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string - in: path name: portNumber description: Transmitter ID required: true type: number responses: '200': description: OK. schema: type: object properties: state: type: string description: The state of the operation enum: - IN PROGRESS - IDLE readOnly: true info: type: string description: Text information about the operation status readOnly: true error: type: number description: Operation status error code readOnly: true post: tags: - Transmitters summary: Reboot the Transmitter. Requires Admin privileges. parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string - in: path name: portNumber description: Transmitter ID required: true type: number responses: '204': description: Successful Operation (No Content). '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. '404': description: Document Not Found. '/transmitters/{portNumber}/recover': post: tags: - Transmitters summary: Request to load the Transmitter's recovery image when it is next rebooted. Requires Admin privileges. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string - in: path name: portNumber description: Transmitter ID required: true type: number responses: '204': description: Successful Operation (No Content). '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. '404': description: Document Not Found. '/transmitters/{portNumber}/cancelRecover': post: tags: - Transmitters summary: Cancel a pending Transmitter Recovery request. Requires Admin privileges. parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string - in: path name: portNumber description: Transmitter ID required: true type: number responses: '204': description: Successful Operation (No Content). '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. '404': description: Document Not Found. /users: get: tags: - Users summary: Return a list of Users configured to access the Central switch. Requires Admin privileges. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string responses: '200': description: OK. schema: type: array description: Number of users. items: type: object properties: links: properties: self: $ref: '#/definitions/link' group: $ref: '#/definitions/link' consoles: $ref: '#/definitions/link' accessList: $ref: '#/definitions/link' computer: $ref: '#/definitions/link' keyShortcuts: $ref: '#/definitions/link' id: description: The User ID type: number readOnly: true groupIds: description: A list of Groups that this user is part of (Unused - set to [0]). type: array items: type: number autoDisconnectTime: description: Time in seconds before the user is logged out (Unused, always set to 15). type: number username: description: The user's Web log-in name. type: string maxLength: 31 forenames: description: User's Forenames type: string maxLength: 31 surname: description: User's Surname type: string maxLength: 31 computerPermissions: description: List of Computers, and associated access level, that this User has permissions for (Unused - always set to []). type: array items: type: object properties: id: description: Computer ID type: number access: type: object description: Combination of allowed access modes for this computer. properties: viewOnly: type: boolean shared: type: boolean exclusive: type: boolean private: type: boolean admin: description: True if user is a web admin User type: boolean '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. post: tags: - Users summary: Add a new User to the system to access the Web management interface. Requires Admin privileges. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string - in: body name: body description: User attributes. required: true schema: required: - username - password - autoDisconnectTime - forenames - computerPermissions - groupIds - admin type: object properties: username: description: The user's Web log-in name. type: string maxLength: 31 forenames: description: User's Forenames type: string maxLength: 31 surname: description: User's Surname type: string maxLength: 31 computerPermissions: description: List of Computers, and associated access level, that this User has permissions for (Unused - always set to []). type: array items: type: object properties: id: description: Computer ID type: number access: type: object description: Combination of allowed access modes for this computer. properties: viewOnly: type: boolean shared: type: boolean exclusive: type: boolean private: type: boolean admin: description: True if user is a web admin User type: boolean groupIds: description: A list of Groups that this user is part of (Unused - set to [0]). type: array items: type: number autoDisconnectTime: description: Time in seconds before the user is logged out (Unused, always set to 15). type: number password: description: User Password. NB Sent as clear text, use of an HTTPS is recommended. type: string maxLength: 31 responses: '201': description: Resource Created. headers: Location: description: URI location of the newly created resource. type: string '400': description: Invalid Content (Schema) '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. '500': description: Missing username /users/me: get: tags: - Users summary: Get details of an authenticated in User. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string responses: '200': description: OK. schema: type: object properties: links: properties: self: $ref: '#/definitions/link' group: $ref: '#/definitions/link' consoles: $ref: '#/definitions/link' accessList: $ref: '#/definitions/link' computer: $ref: '#/definitions/link' keyShortcuts: $ref: '#/definitions/link' id: description: The User ID type: number readOnly: true groupIds: description: A list of Groups that this user is part of (Unused - set to [0]). type: array items: type: number autoDisconnectTime: description: Time in seconds before the user is logged out (Unused, always set to 15). type: number username: description: The user's Web log-in name. type: string maxLength: 31 forenames: description: User's Forenames type: string maxLength: 31 surname: description: User's Surname type: string maxLength: 31 computerPermissions: description: List of Computers, and associated access level, that this User has permissions for (Unused - always set to []). type: array items: type: object properties: id: description: Computer ID type: number access: type: object description: Combination of allowed access modes for this computer. properties: viewOnly: type: boolean shared: type: boolean exclusive: type: boolean private: type: boolean admin: description: True if user is a web admin User type: boolean headers: ETag: type: string description: ETAG representing the object '401': description: Unauthorised. Invalid or no credentials provided. '404': description: Document Not Found. '/users/{id}': get: tags: - Users summary: Get details of a single User. Requires Admin privileges or ownership of /users/{id}. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string - in: path name: id description: User ID required: true type: number responses: '200': description: OK. schema: type: object properties: links: properties: self: $ref: '#/definitions/link' group: $ref: '#/definitions/link' consoles: $ref: '#/definitions/link' accessList: $ref: '#/definitions/link' computer: $ref: '#/definitions/link' keyShortcuts: $ref: '#/definitions/link' id: description: The User ID type: number readOnly: true groupIds: description: A list of Groups that this user is part of (Unused - set to [0]). type: array items: type: number autoDisconnectTime: description: Time in seconds before the user is logged out (Unused, always set to 15). type: number username: description: The user's Web log-in name. type: string maxLength: 31 forenames: description: User's Forenames type: string maxLength: 31 surname: description: User's Surname type: string maxLength: 31 computerPermissions: description: List of Computers, and associated access level, that this User has permissions for (Unused - always set to []). type: array items: type: object properties: id: description: Computer ID type: number access: type: object description: Combination of allowed access modes for this computer. properties: viewOnly: type: boolean shared: type: boolean exclusive: type: boolean private: type: boolean admin: description: True if user is a web admin User type: boolean headers: ETag: type: string description: ETAG representing the object '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. '404': description: Document Not Found. put: tags: - Users summary: Update a User. Requires Admin privileges or ownership of /users/{id}. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string - in: header name: if-match description: 'ETAG that represents the current User state. Format: "ETAG"' required: true type: string - in: path name: id description: User ID required: true type: number - in: body name: body description: User attributes to be updated. required: true schema: type: object required: - username - autoDisconnectTime - forenames - computerPermissions - groupIds - admin properties: username: description: The user's Web log-in name. type: string maxLength: 31 forenames: description: User's Forenames type: string maxLength: 31 surname: description: User's Surname type: string maxLength: 31 computerPermissions: description: List of Computers, and associated access level, that this User has permissions for (Unused - always set to []). type: array items: type: object properties: id: description: Computer ID type: number access: type: object description: Combination of allowed access modes for this computer. properties: viewOnly: type: boolean shared: type: boolean exclusive: type: boolean private: type: boolean admin: description: True if user is a web admin User type: boolean groupIds: description: A list of Groups that this user is part of (Unused - set to [0]). type: array items: type: number autoDisconnectTime: description: Time in seconds before the user is logged out (Unused, always set to 15). type: number responses: '204': description: Successful Operation (No Content). '400': description: Invalid Content (Schema). '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. '404': description: Document Not Found. '409': description: Conflict. '412': description: Precondition Failed. '500': description: Missing username. delete: tags: - Users summary: Delete User from system. Requires Admin privileges or ownership of /users/{id}. parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string - in: header name: if-match description: 'ETAG that represents the current User state. Format: "ETAG"' required: true type: string - in: path name: id description: User ID required: true type: number responses: '204': description: Successful Operation (No Content). '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. '404': description: Document Not Found. '409': description: Conflict. '412': description: Precondition Failed. '/users/{id}/password': put: tags: - Users summary: Update a User's password. Requires Admin privileges or ownership of /users/{id}. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string - in: path name: id description: User ID required: true type: number - in: body name: body description: New Password. required: true schema: required: - newPassword type: object properties: newPassword: type: string description: New Password responses: '204': description: Successful Operation (No Content). '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. '404': description: Document Not Found. /edids: get: tags: - Edids summary: Return a list of built-in and custom EDIDs stored in the Central switch. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string responses: '200': description: OK. schema: type: array description: Number of EDIDs. items: type: object properties: links: properties: self: $ref: '#/definitions/link' id: description: The EDID ID type: number readOnly: true edidName: description: Human readable name to identify the associated monitor. type: string readOnly: true clonedEdid: description: True if it is a cloned EDID (otherwise a fixed EDID) type: boolean readOnly: true originatingPort: description: The originating Port number the EDID was cloned from type: number readOnly: true '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. post: tags: - Edids summary: Add a new Edid. Requires Admin privileges. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string - in: body name: body description: Edid attributes. required: true schema: type: object required: - port properties: port: description: The Port number of the Receiver that the EDID should be cloned from. type: number responses: '201': description: Resource Created. headers: Location: description: URI location of the newly created resource. type: string '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. '500': description: Missing port. '/edids/{id}': get: tags: - Edids summary: Get details of a single Edid. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string - in: path name: id description: Edid ID required: true type: number responses: '200': description: OK. schema: type: object properties: links: properties: self: $ref: '#/definitions/link' id: description: The EDID ID type: number readOnly: true edidName: description: Human readable name to identify the associated monitor. type: string readOnly: true clonedEdid: description: True if the EDID is cloned from a customer monitor, or False if it is built-in to the Central switch. type: boolean readOnly: true originatingPort: description: The originating Port number the EDID was cloned from type: number readOnly: true headers: ETag: type: string description: ETAG representing the object '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. '404': description: Document Not Found. delete: tags: - Edids summary: Delete Edid from system. Requires Admin privileges. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string - in: header name: if-match description: 'ETAG that represents the current Edid state. Format: "ETAG"' required: true type: string - in: path name: id description: Edid ID required: true type: number responses: '204': description: Successful Operation (No Content). '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. '404': description: Document Not Found. '409': description: Conflict. '412': description: Precondition Failed. /diagnostics/temperatures: get: tags: - Diagnostics summary: Return a list of Central switch temperature diagnostics. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string responses: '200': description: OK. schema: type: object properties: links: properties: self: $ref: '#/definitions/link' temperatures: type: array items: type: object properties: name: description: Temperature name type: string value: description: Temperature value type: string '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. /diagnostics/supplies: get: tags: - Diagnostics summary: Return a list of Central switch supply diagnostics. description: '' parameters: - in: header name: Authorization description: 'JSON Web Token (JWT). Format: Bearer JWT' required: true type: string responses: '200': description: OK. schema: type: object properties: links: properties: self: $ref: '#/definitions/link' supplies: type: array items: type: object properties: name: description: Supply name type: string value: description: Supply value type: string '401': description: Unauthorised. Invalid or no credentials provided. '403': description: Forbidden. definitions: link: type: object properties: href: type: string readOnly: true accessType: description: The type of access type: string enum: - VIEWONLY - SHARED - EXCLUSIVE - PRIVATE shortCutModifier: description: Supported keyboard modifiers. type: string enum: - lctrl - lshift - lalt - lcmd - rctrl - rshift - ralt - rcmd keyboardLayout: description: The keyboard layout format to be used for hotkeys. type: string enum: - qwerty - qwertz - azerty