Zigen IP Essentials API RELEASE Ver1.1.2

General notes

Zigen Priority Levels for Drivers follow at your own discretion.
Priority: Recommended(Should be added into the drivers.)
Priority: Optional (If need be, May be added into the drivers.)
Priority: Not Recommended (Does not have to be added into the drivers.)

API Return Message Struture:
{
    "status" : "success", 
    "error": "", 
    "messages": [], 
    "data": {}
}

"status"
    Type: String
    Parameter: "success", "error", or "warning"
"error"
    Type: String
    Parameter: "PARAMETER_MISSING", "PARAMETER_INVALID", "FORMAT_ERROR", "TIMEOUT_ERROR", "UPDATE_ERROR", "DATA_NOT_FOUND", "DATA_NOT_SAVED", "DEVICE_NOT_AVAILABLE", or "PARAMETER_FORCE_REQUIRED"
"messages"
    Type: String array
    Parameter: Detail messages for warning status and error status.
"data"
    Type: JSON object
    Parameter: Any API Calls output values or information.

API detail

Video Routing Commands Requests

Contains all video routing http requests for the Zigen IP Essentials API.

Leave HDMI Video and Audio Stream

Description

[Priority: Recommended] Leave a HDMI video and audio stream from a selected receiver device.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0"
}' "/LeaveHDMIVideoandAudioStream"
POST /LeaveHDMIVideoandAudioStream HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0"
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length111
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 18:11:47 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {
        "reqId": -1
    }
}
Status200 OK
Content-Typeapplication/json
Content-Length51
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 18:11:00 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "reqId": 4
    }
}

Leave All HDMI Video Stream

Description

[Priority: Recommended] Leave all HDMI video streams from a selected receiver device.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0"
}
' "/LeaveHDMIVideoStream"
POST /LeaveHDMIVideoStream HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0"
}
Status200 OK
Content-Typeapplication/json
Content-Length51
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 18:13:10 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "reqId": 5
    }
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length111
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 18:13:40 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {
        "reqId": -1
    }
}

Get Device Video Pairs

Description

[Priority: Recommended] Retrieve the video pairs of a selected device. When ‘mac’ is a MAC address of a transmitter device, retrieve all receivers’ MAC addresses routed to the selected transmitter device. When ‘mac’ is a MAC address of a receiver device, retrive the transmitter MAC address routed to the selected receiver device.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0"
}' "/GetDeviceVideoPairs"
POST /GetDeviceVideoPairs HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0"
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length100
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 18:28:49 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {
        "reqId": -1
    }
}
Status200 OK
Content-Typeapplication/json
Content-Length106
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 18:26:26 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "videopairs": {
            "pairs": [
                {
                    "name": "TEST_TX",
                    "mac": "70b3d5739429"
                }
            ]
        }
    }
}

Route HDMI

Description

[Priority: Recommended] Route HDMI video and audio stream from a selected source device(Always be a transmitter device) to a selected destination device(Always be a single or multiple receiver device(s)) with optional options.

Command Usage

Request Format Example:
{
    “source”: “801f12413fa0”,
    “destination”: “801f124166b8”
    “mode”: “genlock scaling”,
    “route audio”: true,
    “video options”: {
        “size”: {
            “width”: 1920,
            “height”: 1080
        },
        “fps”: 30
    }
}
Arguments:
    “source” (required)
        Type: String
        Parameter: MAC address or name of the device.
    “destination” (required)
        Type: String
        Parameter: MAC address or name of the device. Name of group of type ‘video’ can also be specified to route to all eligible members of that group. “ALL_RX” to broadcast to all available receiver devices
    “mode” (optional)
        Type: String
        Parameter: Can be “Genlock”, “Genlock Scaling”, or  “Fastswitch”. (case-insensitive)
    “route audio” (optional)
        Note: If omitted, true by default.
        Type: String
        Parameter: “true” (Route with audio) or “false” (Do not route with audio)
        Type: Boolean
        Parameter: true (Route with audio) or false (Do not route with audio)
    “video options” (optional)
        Type: JSON
        Parameters: Set destination resolution and frames per second. If size is ommited, will scale according to EDID data of destination. If unavaliable, will scale to source parameters. If FPS is omitted, in “genlock scaling” will be set to source, in “fastswitch” will be set to EDID setting of destination.
        “size” (optional)
            “width”
                Type: String or integer
                Parameter(String): Must be valid resolution screen width (e.g. “1920”)
                Parameter(integer): Must be valid resolution screen width (e.g. 1920)
            “height”
                Type: String or integer
                Parameter(String): Must be valid resolution screen height (e.g. “1080”)
                Parameter(integer): Must be valid resolution screen height (e.g. 1080)
        “fps” (optional)
            Type: String, integer, or float
            Parameter It can be either an integer (e.g. 50) or a float (50.000) or String (e.g. “60m” (59.94) or “30m” (29.97)) indicates frame rate must be divided by 1.001 (i.e. multiplied by 10001001).

curl -X POST -H "Content-Type: application/json" -d '{
	"source": "801f12413fa0",
	"destination": "801f124166b8",
	"mode": "fastswitch",
	"route audio": true,
	"video_options": {
		"size": {
			"width": 1280,
			"height": 720
		},
		"fps" : 30
	}
}' "/RouteHDMI"
POST /RouteHDMI HTTP/1.1
Host: 
Content-Type: application/json

{
	"source": "801f12413fa0",
	"destination": "801f124166b8",
	"mode": "fastswitch",
	"route audio": true,
	"video_options": {
		"size": {
			"width": 1280,
			"height": 720
		},
		"fps" : 30
	}
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length123
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 18:31:32 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'source' is invalid."
    ],
    "data": {
        "reqId": -1
    }
}
Status200 OK
Content-Typeapplication/json
Content-Length64
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 18:31:06 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "reqId": 4
    }
}

Set HDMI Video to Genlock

Description

[Priority: Recommended] Set HDMI display mode of a selected receiver device to genlock mode. Video is unaltered except for any necessary compression to fit the AVoIP network bandwidth. Video latency is kept at a minimum. Since the video is left intact to minimize latency, any change in the input source will result in the display having to renegotiate timing information and relock to accept the new video format. Select this mode for Gaming or home theater applications.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0"
}' "/SetHDMIVideotoGenlock"
POST /SetHDMIVideotoGenlock HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0"
}
Status200 OK
Content-Typeapplication/json
Content-Length51
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 18:14:28 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "reqId": 7
    }
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length111
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 18:17:22 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {
        "reqId": -1
    }
}

Set HDMI Video to Genlock Scaling

Description

[Priority: Recommended] Set a HDMI display mode of a selected receiver device to genlock scaling mode. Similar to Genlock mode except the output resolution is fixed to a particular setting. The incoming framerate cannot be altered in this mode. Since no framerate conversion is performed, Genlock Scaling has the same low latency as Genlock mode.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”,
    “video_options”: {
        “size”: {
            “width”: “1280”,
            “height”: “720”
        }
    }
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address
    “video_options” (required)
        “size”
            “width”
                Type: String or integer
                Parameter(String): Must be valid resolution screen width (e.g. “1920”)
                Parameter(integer): Must be valid resolution screen width (e.g. 1920)
            “height”
                Type: String or integer
                Parameter(String): Must be valid resolution screen height (e.g. “1080”)
                Parameter(integer): Must be valid resolution screen height (e.g. 1080)

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0",
	"video_options": {
		"size": {
			"width": "1280", 
			"height": "720"
		}
	}
}' "/SetHDMIVideotoGenlockScaling"
POST /SetHDMIVideotoGenlockScaling HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0",
	"video_options": {
		"size": {
			"width": "1280", 
			"height": "720"
		}
	}
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length111
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 18:19:15 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {
        "reqId": -1
    }
}
Status200 OK
Content-Typeapplication/json
Content-Length51
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 18:18:54 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "reqId": 8
    }
}

Set HDMI Video to Fastswitch

Description

[Priority: Recommended] Set a HDMI display mode of a selected receiver device to fastswitch. The main benefit of Fastswitch mode is fast video switching when changing input sources. The video is altered to RGB 8-bit color space, however, the output video maintains constant output timing and format regardless of changes to the incoming video stream. The display will never need to resync with the receiver device therefore switching inputs is fast. Select this mode when rapid switching times are required such as a bar or restaurant where numerous monitors are installed in the same room.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”,
    “video_options”: {
        “size”: {
            “width”: “1280”,
            “height”: “720”
        },
        “fps”: “30”
    }
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address
    “video_options” (if omitted, uses selected receiver device EDID defaults)
        “size” (required if video_options not omitted)
            “width”
                Type: String or integer
                Parameter(String): Must be valid resolution screen width (e.g. “1920”)
                Parameter(integer): Must be valid resolution screen width (e.g. 1920)
            “height”
                Type: String or integer
                Parameter(String): Must be valid resolution screen height (e.g. “1080”)
                Parameter(integer): Must be valid resolution screen height (e.g. 1080)
        “fps” (required if video_options not omitted)
            Type: String, integer, or float
            Parameter It can be either an integer (e.g. 50) or a float (50.000) or String (e.g. “60m” (59.94) or “30m” (29.97)) indicates frame rate must be divided by 1.001 (i.e. multiplied by 10001001).
        “stretch” (optional, false if omitted)
            Type: Boolean
            Parameter: true (ON) or false (OFF)
        “crop” (optional, false if omitted)
            Type: Boolean
            Parameter: true (ON) or false (OFF)

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0",
	"video_options": {
		"size": {
			"height": "720", 
			"width": "1280"
		},
		"fps": "30"
	}
}' "/SetHDMIVideotoFastswitch"
POST /SetHDMIVideotoFastswitch HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0",
	"video_options": {
		"size": {
			"height": "720", 
			"width": "1280"
		},
		"fps": "30"
	}
}
Status200 OK
Content-Typeapplication/json
Content-Length51
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 18:20:20 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "reqId": 9
    }
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length111
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 18:20:48 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {
        "reqId": -1
    }
}

Stop and Free Scaled HDMI Stream

Description

[Priority: Not Recommended] Stop and free HDMI scaled stream from a selected transmitter device. In doing so, will free some of the bandwidth usage on the 10G network bandwidth for the selected transmitter device. Note: Scaled HDMI streams are used for Multiview.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0"
}' "/StopandFreeScaledHDMIStream"
POST /StopandFreeScaledHDMIStream HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0"
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length111
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 18:25:08 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {
        "reqId": -1
    }
}
Status200 OK
Content-Typeapplication/json
Content-Length52
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 18:21:53 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "reqId": 10
    }
}

Stop and Free All Streams

Description

[Priority: Not Recommended] Stop and free all HDMI video and audio streams from a selected transmitter device. In doing so, will free most of the bandwidth usage on the 10G network bandwidth for the selected transmitter device.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0"
}' "/StopandFreeHDMIVideoAudioStream"
POST /StopandFreeHDMIVideoAudioStream HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0"
}
Status200 OK
Content-Typeapplication/json
Content-Length65
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 10 Feb 2020 22:38:08 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "reqId": 7
    }
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length110
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 10 Feb 2020 22:37:13 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {
        "reqId": -1
    }
}

Video Settings Commands Requests

Contains all video settings http requests for the Zigen IPLogic Control Server API.

Set Route with Audio

Description

[Priority: Recommended] Enable or disable route with audio value for a selected receiver device. In doing so, will give the option to whether or not the selected receiver should allow any audio to be outputted when routing.

Command Usage

Request Format Example:
{
    “receiver_mac”: “801f12413fa0”,
    “route audio”: true
}
Arguments:
    “receiver_mac” (required)
        Type: String
        Parameter: MAC address
    “route audio” (required)
        Type: Boolean
        Parameter: true (Enable) or false (Disable)

curl -X POST -H "Content-Type: application/json" -d '{
	"receiver_mac": "801f12413fa0",
	"route audio": true
}' "/SetRouteWithAudio"
POST /SetRouteWithAudio HTTP/1.1
Host: 
Content-Type: application/json

{
	"receiver_mac": "801f12413fa0",
	"route audio": true
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length101
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 18:44:43 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'receiver_mac' is invalid."
    ],
    "data": {}
}
Status200 OK
Content-Typeapplication/json
Content-Length42
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 18:44:47 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {}
}

Get Route with Audio

Description

[Priority: Recommended] Retrieve the route with audio value for a selected receiver device. In doing so, will return the option to whether or not the selected receiver should allow any audio to be outputted when routing.

Command Usage

Request Format Example:
{
    “receiver_mac”: “801f12413fa0”
}
Arguments:
    “receiver_mac” (required)
        Type: String
        Parameter: MAC address

curl -X POST -H "Content-Type: application/json" -d '{
	"receiver_mac": "801f12413fa0"
}' "/GetRouteWithAudio"
POST /GetRouteWithAudio HTTP/1.1
Host: 
Content-Type: application/json

{
	"receiver_mac": "801f12413fa0"
}
Status200 OK
Content-Typeapplication/json
Content-Length64
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 18:46:01 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "routeWithAudio": true
    }
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length101
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 18:46:03 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'receiver_mac' is invalid."
    ],
    "data": {}
}

Get Last Video Mode

Description

[Priority: Recommended] Retrieve the last video mode, resolution, and frame rate for a selected receiver device. Where the last video mode can be “Genlock”, “Genlock Scaling”, or “FastSwitch”. Can be used to set the receiver device to last known video configurations.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address

curl -X POST -H "Content-Type: application/json" -d '{
	"mac":"801f12413fa0"
}' "/GetLastVidMode"
POST /GetLastVidMode HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac":"801f12413fa0"
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length97
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 18:54:22 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {}
}
Status200 OK
Content-Typeapplication/json
Content-Length119
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 18:54:01 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "vid_opts": {
            "mode": "fastswitch",
            "size": {
                "width": 3840,
                "height": 2160
            },
            "fps": 30
        }
    }
}

Set HDCP 2.2 Support

Description

[Priority: Not Recommended] Enable or disable HDCP 2.2 support for a selected transmitter device.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”,
    “mode”: true
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address
    “mode” (required)
        Type: Boolean
        Parameter: true (Enable) or false (Disable)

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0",
	"mode": true
}' "/SetHDCP22Support"
POST /SetHDCP22Support HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0",
	"mode": true
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length111
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 18:32:41 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {
        "reqId": -1
    }
}
Status200 OK
Content-Typeapplication/json
Content-Length52
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 18:32:51 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "reqId": 10
    }
}

Set Scaler Size

Description

[Priority: Not Recommended] Set the scaler size of HDMI scaled stream of a selected transmitter device. Note: Scaled HDMI streams are used for Multiview.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”,
    “width”: 1280,
    “height”: 720
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address
    “width” (required)
        Type: String or integer
        Parameter(String): Must be valid resolution screen width (e.g. “1920”)
        Parameter(integer): Must be valid resolution screen width (e.g. 1920)
    “height” (required)
        Type: String or integer
        Parameter(String): Must be valid resolution screen height (e.g. “1080”)
        Parameter(integer): Must be valid resolution screen height (e.g. 1080)

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0",
	"width": 1280,
	"height": 720 
}' "/SetScalerSize"
POST /SetScalerSize HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0",
	"width": 1280,
	"height": 720 
}
Status200 OK
Content-Typeapplication/json
Content-Length52
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 18:34:29 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "reqId": 11
    }
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length111
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 18:34:31 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {
        "reqId": -1
    }
}

Set Scaled Stream Frame Rate Conversion

Description

[Priority: Not Recommended] Enable or disable HDMI scaled stream frame rate divide by 2 option for a selected transmitter device.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”,
    “mode”: true
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address
    “mode” (required)
        Type: Boolean
        Parameter: true (Enable) or false (Disable)

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0",
	"mode": true
}' "/SetScaledStreamFrameRateConversion"
POST /SetScaledStreamFrameRateConversion HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0",
	"mode": true
}
Status200 OK
Content-Typeapplication/json
Content-Length52
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 18:35:47 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "reqId": 12
    }
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length111
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 18:36:15 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {
        "reqId": -1
    }
}

Set Native Stream Frame Rate Conversion

Description

[Priority: Not Recommended] Enable or disable HDMI native stream frame rate divide by 2 option for a selected transmitter device.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”,
    “mode” true
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address
    “mode” (required)
        Type: Boolean
        Parameter: true (Enable) or false (Disable)

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0",
	"mode": true
}' "/SetNativeStreamFrameRateConversion"
POST /SetNativeStreamFrameRateConversion HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0",
	"mode": true
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length111
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 18:37:44 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {
        "reqId": -1
    }
}
Status200 OK
Content-Typeapplication/json
Content-Length52
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 18:37:19 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "reqId": 13
    }
}

Set Auto Scale

Description

[Priority: Not Recommended] Enable or disable auto-scaling for a selected receiver device. Enabling auto-scaling route HDMI video with the max video resolution based on the EDID settings of the display.

Command Usage

Request Format Example:
{
    “receiver_mac”: “801f12413fa0”,
    “autoscale”: true
}
Arguments:
    “receiver_mac” (required)
        Type: String
        Parameter: MAC address
    “autoscale” (required)
        Type: Boolean
        Parameter: true (Enable) or false (Disable)

curl -X POST -H "Content-Type: application/json" -d '{
	"receiver_mac": "801f12413fa0",
	"autoscale": true
}' "/SetAutoScale"
POST /SetAutoScale HTTP/1.1
Host: 
Content-Type: application/json

{
	"receiver_mac": "801f12413fa0",
	"autoscale": true
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length101
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 18:38:19 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'receiver_mac' is invalid."
    ],
    "data": {
        "reqId": -1
    }
}
Status200 OK
Content-Typeapplication/json
Content-Length42
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 18:38:32 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {}
}

Get Auto Scale

Description

[Priority: Not Recommended] Retrieve the auto scale value for a selected receiver device. The auto scale value determines whether to input manual video options or use the EDID video options of the display for when routing HDMI video.

Command Usage

Request Format Example:
{
    “receiver_mac”: “801f12413fa0”
}
Arguments:
    “receiver_mac” (required)
        Type: String
        Parameter: MAC address

curl -X POST -H "Content-Type: application/json" -d '{
	"receiver_mac": "801f12413fa0"
}' "/GetAutoScale"
POST /GetAutoScale HTTP/1.1
Host: 
Content-Type: application/json

{
	"receiver_mac": "801f12413fa0"
}
Status200 OK
Content-Typeapplication/json
Content-Length59
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 18:39:57 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "autoscale": true
    }
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length101
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 18:40:02 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {}
}

Edid Management Commands Requests

Contains all EDID management http requests for the Zigen IP Essentials API.

Set Manual EDID

Description

[Priority: Optional] Set to configure the EDID manually for a selected transmitter device, where selection contains 5 default EDID presets to choose from, a receiver’s MAC address to use its EDID settings, or any custom EDID selection created by user (when using the API call /UploadEDID). The “modifyAudio” option is used for independently ebable or disable support for Dolby Audio or DTS Audio otherwise if turned off the audio is passed through unaltered. The “allowDTS” option will enable or disable support for DTS Audio. The “allowDolby” option will enable or disable support for Dolby Audio.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”,
    “selection”: “1080p60 SDR”,
    “modifyAudio”: “No”,
    “allowDTS”: “No”,
    “allowDolby”: “No”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address (Transmitters Only) or “ALL_TX”
    “selection” (required)
        Type: String
        Parameter: “1080p60 SDR”, “2160p30 HDR”, “2160p30 SDR”, “2160p60 HDR”, “2160p60 SDR”, Receivers MAC address, or User-defined EDID name
    “modifyAudio” (required)
        Type: String
        Parameter: “Yes” or “No”
    “allowDTS” (required)
        Type: String
        Parameter: “Yes” or “No”
    “allowDolby” (required)
        Type: String
        Parameter: “Yes” or “No”

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0",
	"selection": "1080p60 SDR",
	"modifyAudio": "Yes",
	"allowDTS": "No",
	"allowDolby": "No"
}' "/SetManualEDID"
POST /SetManualEDID HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0",
	"selection": "1080p60 SDR",
	"modifyAudio": "Yes",
	"allowDTS": "No",
	"allowDolby": "No"
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length99
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 19:00:24 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'modifyAudio' is invalid."
    ],
    "data": {}
}
Status200 OK
Content-Typeapplication/json
Content-Length42
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 18:59:34 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {}
}

Set Auto EDID

Description

[Priority: Optional] Set the auto-edid setting for a selected transmitter device to follow where the mode “Native” means to choose the EDID of the most capable display will be used to negotiate with the transmitter device. The mode “Compatibility” means to the EDID of the most capable display will be used to negotiate with the transmitter device. The “modifyAudio” option is used for independently ebable or disable support for Dolby Audio or DTS Audio otherwise if turned off the audio is passed through unaltered. The “allowDTS” option will enable or disable support for DTS Audio. The “allowDolby” option will enable or disable support for Dolby Audio.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”,
    “mode”: “Native”,
    “modifyAudio”: “Yes”,
    “allowDTS”: “No”,
    “allowDolby”: “No”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address
    “mode” (required)
        Type: String
        Parameter: “Native” or “Compatibility”
    “modifyAudio” (required)
        Type: String
        Parameter: “Yes” or “No”
    “allowDTS” (required)
        Type: String
        Parameter: “Yes” or “No”
    “allowDolby” (required)
        Type: String
        Parameter: “Yes” or “No”

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0",
	"mode": "Native",
	"modifyAudio": "Yes",
	"allowDTS": "No",
	"allowDolby": "No"
}' "/SetAutoEDID"
POST /SetAutoEDID HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0",
	"mode": "Native",
	"modifyAudio": "Yes",
	"allowDTS": "No",
	"allowDolby": "No"
}
Status200 OK
Content-Typeapplication/json
Content-Length42
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 19:07:43 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {}
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length99
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 19:08:25 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mode' is invalid."
    ],
    "data": {}
}

Upload EDID

Description

[Priority: Optional] Upload custom EDID binary file.

Command Usage

Request Format Example:
    Select File
Arguments:
    Select File (required)
        Type: File
        Parameter: Binary file must be 128 or 256 bytes

curl -X POST "/UploadEDID"
POST /UploadEDID HTTP/1.1
Host: 
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length99
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 19:09:17 GMT
{
    "status": "error",
    "error": "FORMAT_ERROR",
    "messages": [
        "Binary format is missing or invalid."
    ],
    "data": {}
}
Status200 OK
Content-Typeapplication/json
Content-Length98
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 19:10:09 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "EdidFile": {
            "id": "43S403",
            "status": "success",
            "msg": null
        }
    }
}

Get Custom EDID

Description

[Priority: Optional] Retrieves all the custom EDID names and custom EDID json-format data from the IP Essentials. (Only returns custom EDID data if using the API call /UploadEDID)

Command Usage

Request Format Example:
{

} Arguments: None

curl -X POST -H "Content-Type: application/json" "/GetCustomEDID"
POST /GetCustomEDID HTTP/1.1
Host: 
Content-Type: application/json
Status200 OK
Content-Typeapplication/json
Content-Length1370
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 19:11:38 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "CustomEDIDs": [
            {
                "name": "43S403",
                "EdidJson": {
                    "PixClk": "594.0 MHz",
                    "Horizontal Pixels": "3840",
                    "Vertical Pixels": "2160",
                    "Framerate": "60.0",
                    "Interlaced": "False",
                    "monitorname": "43S403\n      ",
                    "SupportYCbCr422": "True",
                    "SupportYCbCr444": "True",
                    "audio data": [
                        {
                            "audio format code": "L-PCM",
                            "maximum channels": "2",
                            "32 kHz Support": true,
                            "44.1 kHz Support": true,
                            "48 kHz Support": true,
                            "88.2 kHz Support": false,
                            "96 kHz Support": false,
                            "176.4 kHz Support": false,
                            "192 kHz Support": false,
                            "16 Bit Support": true,
                            "20 Bit Support": true,
                            "24 Bit Support": true,
                            "maximum bitrate": "N/A"
                        },
                        {
                            "audio format code": "AC-3",
                            "maximum channels": "6",
                            "32 kHz Support": true,
                            "44.1 kHz Support": true,
                            "48 kHz Support": true,
                            "88.2 kHz Support": false,
                            "96 kHz Support": false,
                            "176.4 kHz Support": false,
                            "192 kHz Support": false,
                            "16 Bit Support": "N/A",
                            "20 Bit Support": "N/A",
                            "24 Bit Support": "N/A",
                            "maximum bitrate": 640
                        },
                        {
                            "audio format code": "Enhanced AC-3",
                            "maximum channels": "8",
                            "32 kHz Support": true,
                            "44.1 kHz Support": true,
                            "48 kHz Support": true,
                            "88.2 kHz Support": false,
                            "96 kHz Support": false,
                            "176.4 kHz Support": false,
                            "192 kHz Support": false,
                            "16 Bit Support": "N/A",
                            "20 Bit Support": "N/A",
                            "24 Bit Support": "N/A",
                            "maximum bitrate": "N/A"
                        }
                    ],
                    "CecAddress": "0x0020",
                    "supports 30bit": "True",
                    "supports 36bit": "True",
                    "supports 48bit": "False",
                    "HDR Support": "True",
                    "status": "success"
                }
            }
        ]
    }
}

Get EDID Settings

Description

[Priority: Optional] Retrieves current EDID settings which includes Mode, modifyAudio, allowDolby, and allowDTS for a selected transmitter device.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0"
}' "/GetEDIDSettings"
POST /GetEDIDSettings HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0"
}
Status200 OK
Content-Typeapplication/json
Content-Length101
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 19:17:15 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "mode": "Manual",
        "modifyAudio": "Yes",
        "Dolby": "No",
        "DTS": "No"
    }
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length94
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 19:18:45 GMT
{
    "status": "error",
    "error": "PARAMETER_MISSING",
    "messages": [
        "Parameter 'mac' is missing."
    ],
    "data": {}
}

Audio Routing Commands Requests

Contains all audio routing http requests for the Zigen IP Essentials API.

Leave AES67 Stream

Description

[Priority: Recommended] Leaves the AES67 stream from a selected transmitter device, used for AES67 audio routing.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0"
}' "/LeaveAES67Stream"
POST /LeaveAES67Stream HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0"
}
Status200 OK
Content-Typeapplication/json
Content-Length42
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 23:33:39 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {}
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length101
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 23:33:32 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {}
}

Leave I2S Audio Stream

Description

[Priority: Recommended] Leave I2S audio stream from a selected device, used for Audio Return Channel (ARC), Toslink, or Analog audio routing.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0"
}' "/LeaveI2SAudioStream"
POST /LeaveI2SAudioStream HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0"
}
Status200 OK
Content-Typeapplication/json
Content-Length51
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 23:34:48 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "reqId": 4
    }
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length111
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 23:35:11 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {
        "reqId": -1
    }
}

Leave HDMI Audio Stream

Description

[Priority: Recommended] Leave a HDMI audio stream from a selected receiver device, used for HDMI IN to HDMI OUT audio routing.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0"
}' "/LeaveHDMIAudioStream"
POST /LeaveHDMIAudioStream HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0"
}
Status200 OK
Content-Typeapplication/json
Content-Length51
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 23:35:54 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "reqId": 5
    }
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length111
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 23:35:50 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {
        "reqId": -1
    }
}

Route Audio Stream

Description

[Priority: Recommended] Route audio stream of a selected source device to a selected destination device, audio device group, or broadcast to a specific type of devices where the audio is automatically routed through either HDMI IN to HDMI OUT, HDMI Local, AES67, Audio Return Channel (ARC), Toslink, or Analog. The “args” only needed when choosing to route audio to either ARC, Toslink, or Analog.
Audio Routing Pairing Combinations:
Pairing                               Source Input             Destination Output
TX to same TX(default)    TX (Local HDMI In)    TX (Analog Out)
TX to other TX                  TX (Local HDMI In)    TX (Analog Out)[single or many]
TX to RX                           TX (Local HDMI In)    TX (Local HDMI Out)[single or many]
RX to TX                           RX (TOSLINK In, Analog In, or ARC)    TX (Analog Out)[single or many]
RX to RX                           Not possible              Not possible

Command Usage

Request Format Example:
{
    “source”: “801f12413fa0”,
    “destination”: “801f12413fa0”,
    “args”: {
        “receiver_source”: “TOSLINK”
    }
}
Arguments:
    “source” (required)
        Type: String
        Parameter: MAC address or name of the device.
    “destination”: (required)
        Type: String
        Parameter: MAC address or name of the device. Name of group of type ‘audio’ can also be specified to route to all eligible members of that group. “ALL_RX” to broadcast to all available receiver devices.
        “ALL_TX” to broadcast to all available transmitter devices.
        “ALL” to broadcast to all available devices.
    “args” (required if routing from RX to TX)
        “receiver_source”
            Type: String
            Parameter: “TOSLINK” (Toslink), “ARC” (ARC), or “ANALOG” (Analog)

curl -X POST -H "Content-Type: application/json" -d '{
	"source": "801f12413fa0",
	"destination": "801f12413fa0",
	"args": {
		"receiver_source": "TOSLINK"
	}
}' "/RouteAudioStream"
POST /RouteAudioStream HTTP/1.1
Host: 
Content-Type: application/json

{
	"source": "801f12413fa0",
	"destination": "801f12413fa0",
	"args": {
		"receiver_source": "TOSLINK"
	}
}
Status200 OK
Content-Typeapplication/json
Content-Length52
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 23:37:41 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "reqId": -1
    }
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length115
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 23:40:50 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'destination' is invalid."
    ],
    "data": {
        "reqId": -1
    }
}

Get Device Audio Source

Description

[Priority: Recommended] Retrieve the audio source for either a receiver or transmitter device.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0"
}' "/GetDeviceAudio"
POST /GetDeviceAudio HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0"
}
Status200 OK
Content-Typeapplication/json
Content-Length65
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 23:41:18 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "source": "70b3d5739429"
    }
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length101
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 23:39:35 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {}
}

Set AES67 Network

Description

[Priority: Not Recommended] Setup the AES67 network by setting the mode and ip for a selected transmitter device.

Command Usage

Request Format:
{
    “mac”: “801f12413fa0”,
    “mode”: “static”,
    “ip_address”: “192.168.0.10”,
    “subnet_mask”: “255.255.255.0”,
    “default_gateway”: “192.168.0.1”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address
    “mode” (required)
        Type: String
        Parameter: “static” or “dhcp”
    “ip_address” (required if “mode” is static)
        Type: String
        Parameter: A valid IP address
    “subnet_mask” (required if “mode” is static)
        Type: String
        Parameter: A valid subnet mask
    “default_gateway” (required if “mode” is static)
        Type: String
        Parameter: A valid default gateway

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0",
	"mode": "static",
	"ip_address": "192.168.0.10",
	"subnet_mask": "255.255.255.0",
	"default_gateway": "192.168.0.1"
}' "/SetAES67Network"
POST /SetAES67Network HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0",
	"mode": "static",
	"ip_address": "192.168.0.10",
	"subnet_mask": "255.255.255.0",
	"default_gateway": "192.168.0.1"
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length101
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 23:42:20 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {}
}
Status200 OK
Content-Typeapplication/json
Content-Length42
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 23:43:02 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {}
}

Get AES67 Network

Description

[Priority: Not Recommended] Retrieves the AES67 network IP address from a selected transmitter device.

Command Usage

Request Format:
{
    “mac”: “801f12413fa0”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0"
}' "/GetAES67Network"
POST /GetAES67Network HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0"
}
Status200 OK
Content-Typeapplication/json
Content-Length62
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 23:32:35 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "ip": "192.168.0.117"
    }
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length101
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 23:30:47 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {}
}

Audio Settings Commands Requests

Contains all audio http requests for the Zigen IP Essentials API.

Get Audio Info

Description

[Priority: Recommended] Retrieve audio information for a selected transmitter device.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0"
}' "/GetAudioInfo"
POST /GetAudioInfo HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0"
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length97
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 22:21:12 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {}
}
Status200 OK
Content-Typeapplication/json
Content-Length391
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 22:21:26 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "AudioInfo": {
            "volume": 50,
            "mute": false,
            "tune_control": "disabled",
            "peq_presets": "flat",
            "band0": 0,
            "band1": 0,
            "band2": 0,
            "band3": 0,
            "band4": 0,
            "bass_tone": 0,
            "treble": 0,
            "surround": false,
            "surround_level": 1,
            "bass_toggle": false,
            "bass_cut": 1,
            "enable_HP_cut": false,
            "bass_level": 31,
            "main_level": 5,
            "delay_ctrl": false,
            "delay_level": 0,
            "src_sel": "local"
        }
    }
}

Set Audio Volume Level

Description

[Priority: Recommended] Set the audio volume level of a selected transmitter device.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”,
    “volume”: 50
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address
    “volume” (required)
        Type: integer
        Parameter: 0 to 100 (0% to 100%)

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0",
	"volume": 50
}' "/SetAudioVolLvl"
POST /SetAudioVolLvl HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0",
	"volume": 50
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length115
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 22:22:45 GMT
{
    "status": "error",
    "error": "DEVICE_NOT_AVAILABLE",
    "messages": [
        "Unable to communicate with device."
    ],
    "data": {}
}
Status200 OK
Content-Typeapplication/json
Content-Length42
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 22:22:56 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {}
}

Set Audio Mute

Description

[Priority: Recommended] Set the audio mute of a selected transmitter device to either ON (mute) or OFF (unmute).

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”,
    “mute”: true
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address
    “volume” (required)
        Type: Boolean
        Parameter: true (for mute) or false (for unmute)

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0",
	"mute": true
}' "/SetAudioMute"
POST /SetAudioMute HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0",
	"mute": true
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length82
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 22:25:01 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {}
}
Status200 OK
Content-Typeapplication/json
Content-Length42
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 22:24:58 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {}
}

Set Audio Tune Control

Description

[Priority: Recommended] Set the Audio tune control of a selected transmitter device to either Disabled, Presets, Graphic EQ, or Tone Control.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”,
    “mode”: “disabled”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address
    “mode” (required)
        Type: String
        Parameter: “disabled” (Disabled), “presets” (Presets), “equalizer” (Graphic EQ), or “tonecontrol” (Tone Control)

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0",
	"mode": "disabled"
}' "/SetAudioTuneCtrl"
POST /SetAudioTuneCtrl HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0",
	"mode": "disabled"
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length115
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 22:26:35 GMT
{
    "status": "error",
    "error": "DEVICE_NOT_AVAILABLE",
    "messages": [
        "Unable to communicate with device."
    ],
    "data": {}
}
Status200 OK
Content-Typeapplication/json
Content-Length42
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 22:26:27 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {}
}

Set Audio Preset

Description

[Priority: Recommended] Set audio preset of a selected transmitter device to either Flat, Rock, Classical, Dance, or Acoustic.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”,
    “preset”: “flat”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address
    “preset” (required)
        Type: String
        Parameter: “flat” (Flat), “rock” (Rock), “classical” (Classical), “dance” (Dance), or “acoustic” (Acoustic)

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0",
	"preset": "flat"
}' "/SetAudioPreset"
POST /SetAudioPreset HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0",
	"preset": "flat"
}
Status200 OK
Content-Typeapplication/json
Content-Length42
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 22:28:07 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {}
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length82
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 22:27:57 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {}
}

Set Audio Equalizer Bands

Description

[Priority: Recommended] Set audio equalizer bands of a selected transmitter device where the frequency bands (top to bottom) are 115Hz, 330Hz, 990Hz, 3000Hz, 9900Hz where the “bands” values are in dB.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”,
    “bands”: [
        0,
        2.5,
        -5,
        7.5,
        10
    ]
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address
    “bands” (required)
        Type: integer
        Parameter: -11.75 to 12 (step size of 0.25 and must contain an array size of 5)

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0",
	"bands": [
		0,
		2.5,
		-5,
		7.5,
		10
	]
}' "/SetAudioEqBands"
POST /SetAudioEqBands HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0",
	"bands": [
		0,
		2.5,
		-5,
		7.5,
		10
	]
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length115
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 22:33:19 GMT
{
    "status": "error",
    "error": "DEVICE_NOT_AVAILABLE",
    "messages": [
        "Unable to communicate with device."
    ],
    "data": {}
}
Status200 OK
Content-Typeapplication/json
Content-Length42
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 22:33:02 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {}
}

Set Audio Tone Control

Description

[Priority: Recommended] Set audio tone control of the bass and treble of a selected transmitter device where the “bass” and “treble” value is in dB.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”,
    “tone”: {
        “bass”: 0,
        “treble”: 12
    }
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address
    “tone” (required)
        Type: integer
        Parameter: -11.75 to 12 (step size of 0.25 for “bass” and “treble” in “tone”)

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0",
	"tone": {
		"bass": 0,
		"treble": 12
	}
}' "/SetAudioToneCtrl"
POST /SetAudioToneCtrl HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0",
	"tone": {
		"bass": 0,
		"treble": 12
	}
}
Status200 OK
Content-Typeapplication/json
Content-Length42
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 22:35:20 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {}
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length115
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 22:35:12 GMT
{
    "status": "error",
    "error": "DEVICE_NOT_AVAILABLE",
    "messages": [
        "Unable to communicate with device."
    ],
    "data": {}
}

Set Audio Surround Control

Description

[Priority: Recommended] Set audio surround control toggle ON or OFF of a selected transmitter device.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”,
    “surround”: true
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address
    “surround” (required)
        Type: Boolean
        Parameter: true (ON) or false (OFF)

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0",
	"surround": true
}' "/SetAudioSurroundCtrl"
POST /SetAudioSurroundCtrl HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0",
	"surround": true
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length82
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 22:37:35 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {}
}
Status200 OK
Content-Typeapplication/json
Content-Length42
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 22:37:38 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {}
}

Set Audio Surround Level

Description

[Priority: Recommended] Set audio surround level between a range of narrow to wide for a selected transmitter device.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”,
    “surrlevel”: 0
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address
    “surrlevel” (required)
        Type: integer
        Parameter: 0 to 7 (Narrow to Wide)

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0",
	"surrlevel": 0
}' "/SetAudioSurroundLvl"
POST /SetAudioSurroundLvl HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0",
	"surrlevel": 0
}
Status200 OK
Content-Typeapplication/json
Content-Length42
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 22:42:12 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {}
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length115
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 22:42:06 GMT
{
    "status": "error",
    "error": "DEVICE_NOT_AVAILABLE",
    "messages": [
        "Unable to communicate with device."
    ],
    "data": {}
}

Set Audio Bass Control

Description

[Priority: Recommended] Set audio bass enhancement control either ON or OFF for a selected transmitter device.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”,
    “bass”: true
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address
    “bass” (required)
        Type: Boolean
        Parameter: true (ON) or false (OFF)

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0",
	"bass": true
}' "/SetAudioBassCtrl"
POST /SetAudioBassCtrl HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0",
	"bass": true
}
Status200 OK
Content-Typeapplication/json
Content-Length42
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 22:43:34 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {}
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length82
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 22:43:51 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {}
}

Set Audio Bass Cutoff Frequency

Description

[Priority: Recommended] Set audio bass cutoff frequency (in Hz) of a selected transmitter device.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”,
    “freq”: 200
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address
    “freq” (required)
        Type: integer
        Parameter: 75 to 225 (step size of 25)

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0",
	"freq": 200
}' "/SetAudioBassCutoffFreq"
POST /SetAudioBassCutoffFreq HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0",
	"freq": 200
}
Status200 OK
Content-Typeapplication/json
Content-Length42
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 22:45:32 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {}
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length82
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 22:45:37 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {}
}

Set Audio Bass HighPass Control

Description

[Priority: Recommended] Set audio bass high pass control to either enable (set same as cut-off frequency) or disable (to bypass high-pass frequency) the high-pass cut-off frequency for a selected transmitter device.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”,
    “highpass”: true
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address
    “highpass” (required)
        Type: Boolean
        Parameter: true (same as cut-off frequency) or false (bypass high-pass frequency)

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0",
	"highpass": true
}' "/SetAudioBassHighPassCtrl"
POST /SetAudioBassHighPassCtrl HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0",
	"highpass": true
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length82
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 22:49:28 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {}
}
Status200 OK
Content-Typeapplication/json
Content-Length42
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 22:49:40 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {}
}

Set Audio Bass Level

Description

[Priority: Recommended] Set audio bass effect level of a selected transmitter device.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”,
    “basslevel”: 0
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address
    “basslevel” (required)
        Type: integer
        Parameter: 0 to 127 (Less bass to More bass)

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0",
	"basslevel": 7
}' "/SetAudioBassLvl"
POST /SetAudioBassLvl HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0",
	"basslevel": 7
}
Status200 OK
Content-Typeapplication/json
Content-Length42
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 22:51:12 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {}
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length115
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 22:51:09 GMT
{
    "status": "error",
    "error": "DEVICE_NOT_AVAILABLE",
    "messages": [
        "Unable to communicate with device."
    ],
    "data": {}
}

Set Audio Analog Mode

Description

[Priority: Recommended] Set analog audio mode to balanced, unbalanced, or mic IN (works for receiver devices ONLY) for a selected transmitter device or selected receiver device.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”,
    “analog_mode”: “balanced”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address
    “analog_mode” (required)
        Type: String
        Parameter: “balanced” (Balanced mode), “unbalanced” (Unbalanced mode), or “mic_in” (Mic IN, works for receiver devices ONLY)

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0",
	"analog_mode": "balanced"
}' "/SetAudioAnalogMode"
POST /SetAudioAnalogMode HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0",
	"analog_mode": "balanced"
}
Status200 OK
Content-Typeapplication/json
Content-Length42
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 22:54:30 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {}
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length101
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 22:54:22 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {}
}

Set Audio Delay Control

Description

[Priority: Recommended] Enable or disable the ability for audio delay for a selected transmitter device.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”,
    “delay”: true
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address
    “delay” (required)
        Type: Boolean
        Parameter: true (ON) or false (OFF)

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0",
	"delay": true
}' "/SetAudioDelayCtrl"
POST /SetAudioDelayCtrl HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0",
	"delay": true
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length82
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 22:52:19 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {}
}
Status200 OK
Content-Typeapplication/json
Content-Length42
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 22:52:17 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {}
}

Set Audio Delay Value

Description

[Priority: Recommended] Set audio delay time value of a selected transmitter device.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”,
    “milisec”: 0
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address
    “milisec” (required)
        Type: integer
        Parameter: 0 to 680 (time in milliseconds)

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0",
	"milisec": 500
}' "/SetAudioDelayVal"
POST /SetAudioDelayVal HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0",
	"milisec": 500
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length82
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 22:53:31 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {}
}
Status200 OK
Content-Typeapplication/json
Content-Length42
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 22:53:22 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {}
}

Multiview Commands Requests

Contains all multiview http requests for the Zigen IP Essentials API.

Apply Multiview to Receiver

Description

[Priority: Recommended] Apply a multiview layout to a selected receiver device and join scaled video streams from a list of transmitter devices. The “transmitter_list” element array index determines the position of the source HDMI video to be placed in the layout. If the layout features a big surface, it is normally 0 (Except for Picture in Picture the draggable smaller surface is 0). If it is in the middle surrounded by smaller surfaces, it also normally 0. Otherwise, positions are in ascending order, left to right, top to bottom. Current Multiview Layouts(“layout_number” - Layout Name):
0 - Picture in Picture (2 index positions)
1 - Picture and Picture (2 index positions)
2 - 2x2 (4 index positions)
3 - 3x3 (9 index positions)
4 - 4x4 (16 index positions)
5 - 2x2 and middle (5 index positions)
6 - 4x4 and middle (13 index positions)
7 - 1big, 3 small left (4 index positions)
8 - 1big, 3 small right (4 index positions)
9 - 1big, 5 small bottom left (6 index positions)
10 - 1big, 5 small bottom right (6 index positions)
11 - 1big, 5 small top left (6 index positions)
12 - 1big, 5 small top right (6 index positions)
13 - 1big, 7 small bottom left (8 index positions)
14 - 1big, 7 small bottom right (8 index positions)
15 - 1big, 7 small top left (8 index positions)
16 - 1big, 7 small top right (8 index positions)
17 - 32 small (32 index positions)
18 - 2 big, 8 small I-Shaped (10 index positions)

Command Usage

Request Format Example:
{
    “transmitter_list”: [“801f12413fa0”, null],
    “receiver_mac”: “801f124166b8”,
    “layout_number”: 0
}
Request Format Example 2:
{
    “transmitter_list”: [“801f12413fa0”, null, null, “801f1241946b”],
    “receiver_mac”: “801f124166b8”,
    “layout_number”: 0
}
Arguments:
    “transmitter_list” (required)
        Type: String array
        Parameter: An array of Strings of MAC addresses.
        Note: Add null to “transmitter_list” element index to leave that position on the multiview empty. Length of array can not be greater than number of index positions for specified layout, otherwise array elements will be ignored past the max number of index positions for specified layout.
    “receiver_mac” (required)
        Type: String
        Parameter: MAC address
    “layout_number” (required)
        Type: integer
        Parameter: value >= 0
    “force” (optional)
        Type: Boolean
        Parameter: true (To remove transmitter from one or more different layouts with different size.)
    “fps” (optional)
        Type: String, integer, or float
        Parameter It can be either an integer (e.g. 50) or a float (50.000) or String (e.g. “60m” (59.94) or “30m” (29.97)) indicates frame rate must be divided by 1.001 (i.e. multiplied by 10001001).
        Note: By default, uses receiver device EDID framerate.

curl -X POST -H "Content-Type: application/json" -d '{
	"transmitter_list": ["801f12413fa0", null, null, "801f1241946b"],
	"receiver_mac": "801f124166b8",
	"layout_number": 0
}' "/ApplyMultiviewToReceiver"
POST /ApplyMultiviewToReceiver HTTP/1.1
Host: 
Content-Type: application/json

{
	"transmitter_list": ["801f12413fa0", null, null, "801f1241946b"],
	"receiver_mac": "801f124166b8",
	"layout_number": 0
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length135
ServerWerkzeug/1.0.0 Python/3.7.4
DateMon, 24 Feb 2020 21:18:57 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'transmitter_list' is invalid for index 3."
    ],
    "data": {
        "reqId": 18
    }
}
Status200 OK
Content-Typeapplication/json
Content-Length66
ServerWerkzeug/1.0.0 Python/3.7.4
DateMon, 24 Feb 2020 21:13:46 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "reqId": 17
    }
}

Modify Layout Window

Description

[Priority: Recommended] Modify a layout window for a specific multivew layout to be able to change its current size and position and update the multiview layout for a selected receiver device. Note: Currently only being used for PiP (Picture in Picture) Multiview layout.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”,
    “size”: {
        “width”: 1920,
        “height”: 1080
    },
    “position”: {
        “horizontal”: 64,
        “vertical”: 64
    },
    “layout_number”: 0,
    “window_priority”: 0,
    “receiver_index”: 0,
    “fps”: 30
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address
    “size” (required)
        Type: integer
        Parameter:
            “width”: Must be valid resolution screen width (e.g. 1920)
            “height”: Must be valid resolution screen height (e.g. 1080)
    “position” (required)
        Type: integer
        Parameter:
            “horizontal”: value >= 0 && value < size’s width
            “vertical”: value >= 0 && value < size’s height
    “layout_number”: (optional)
        Type: String or Integer
        Parameter: >= 0
        Note: Default is 0. For future implementation, No other current layout number is affected with “layout_number” besides 0.
    “window_priority”: (optional)
        Type: String or Integer
        Parameter: A value from 0 to 31 (where the lowest number is display in the foreground of all other video sources)
        Note: Default is 0. For future implementation, No other window_priority value is affected with “window_priority” besides 0.
    “receiver_index”: (optional)
        Type: String or Integer
        Parameter: A value from 0 to 31 (which signifies where to place the source video in the receiver subscription list) Note: Using the same value for “receiver_index” for same multiview layout means to clone same source video to multiple positions in the multiview layout.
        Note: Default is 0. For future implementation, No other receiver_index value is affected with “receiver_index” besides 0.
    “fps” (optional)
        Type: String, integer, or float
        Parameter It can be either an integer (e.g. 50) or a float (50.000) or String (e.g. “60m” (59.94) or “30m” (29.97)) indicates frame rate must be divided by 1.001 (i.e. multiplied by 10001001).

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0",
	"size": {
		"width": 1920,
		"height": 1080
	},
	"position": {
		"horizontal": 64,
		"vertical": 64
	},
	"layout_number": 0,
	"window_priority": 0,
	"receiver_index": 0,
	"fps": 30
}' "/ModifyLayoutWindow"
POST /ModifyLayoutWindow HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0",
	"size": {
		"width": 1920,
		"height": 1080
	},
	"position": {
		"horizontal": 64,
		"vertical": 64
	},
	"layout_number": 0,
	"window_priority": 0,
	"receiver_index": 0,
	"fps": 30
}
Status0
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "reqId": 4
    }
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length111
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 22:17:04 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {
        "reqId": -1
    }
}

Leave HDMI Video Stream By Mac

Description

[Priority: Recommended] Leave HDMI video scaled stream of a selected transmitter device (source) from a selected receiver device (destination). Note: Only to be used for Multiview.

Command Usage

Request Format Example:
{
    “source”: “801f12413fa0”,
    “destination”: “801f124166b8”
}
Arguments:
    “source” (required)
        Type: String
        Parameter: MAC address
    “destination” (required)
        Type: String
        Parameter: MAC address

curl -X POST -H "Content-Type: application/json" -d '{
	"source": "801f12413fa0",
	"destination": "801f124166b8"
}' "/LeaveHDMIVideoStreamByMac"
POST /LeaveHDMIVideoStreamByMac HTTP/1.1
Host: 
Content-Type: application/json

{
	"source": "801f12413fa0",
	"destination": "801f124166b8"
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length111
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 22:10:24 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'source' is invalid."
    ],
    "data": {
        "reqId": -1
    }
}
Status200 OK
Content-Typeapplication/json
Content-Length51
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 22:10:53 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "reqId": 4
    }
}

Get Receiver Multiview

Description

[Priority: Recommended] Retrieve the multiview layout index, layout name, and current video subscriptions of a selected receiver device.

Command Usage

Request Format Example:
{
    “receiver_mac”: “801f12413fa0”
}
Arguments:
    “receiver_mac” (required)
        Type: String
        Parameter: MAC address

curl -X POST -H "Content-Type: application/json" -d '{
	"receiver_mac": "801f12413fa0"
}' "/GetReceiverMultiview"
POST /GetReceiverMultiview HTTP/1.1
Host: 
Content-Type: application/json

{
	"receiver_mac": "801f12413fa0"
}
Status200 OK
Content-Typeapplication/json
Content-Length131
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 22:09:16 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "layoutIndex": 1,
        "layoutName": "FHD_2x1",
        "subscriptions": [
            {
                "mac": "70b3d5739429",
                "index": 0
            }
        ]
    }
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length111
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 22:09:35 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'receiver_mac' is invalid."
    ],
    "data": {}
}

Leave Multiview Streams

Description

[Priority: Optional] Leave all multiview streams on a selected receiver device. Which removes all sources streaming on a display that is in Multiview mode.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0"
}' "/LeaveMultiviewStreams"
POST /LeaveMultiviewStreams HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0"
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length111
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 21:28:51 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {
        "reqId": -1
    }
}
Status200 OK
Content-Typeapplication/json
Content-Length51
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 21:29:03 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "reqId": 7
    }
}

Set Receiver to Multiview (Deprecated)

Description

Deprecated API call will still be supported. Recommended to use /ApplyMultiviewToReceiver API call instead.
[Priority: Optional] Set selected receiever device to selected multiview layout. Meant to be used with /JoinScaledVideotoMultiview API call. Current Multiview Layouts(“layout_number” - Layout Name):
0 - Picture in Picture (2 index positions)
1 - Picture and Picture (2 index positions)
2 - 2x2 (4 index positions)
3 - 3x3 (9 index positions)
4 - 4x4 (16 index positions)
5 - 2x2 and middle (5 index positions)
6 - 4x4 and middle (13 index positions)
7 - 1big, 3 small left (4 index positions)
8 - 1big, 3 small right (4 index positions)
9 - 1big, 5 small bottom left (6 index positions)
10 - 1big, 5 small bottom right (6 index positions)
11 - 1big, 5 small top left (6 index positions)
12 - 1big, 5 small top right (6 index positions)
13 - 1big, 7 small bottom left (8 index positions)
14 - 1big, 7 small bottom right (8 index positions)
15 - 1big, 7 small top left (8 index positions)
16 - 1big, 7 small top right (8 index positions)
17 - 32 small (32 index positions)
18 - 2 big, 8 small I-Shaped (10 index positions)

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”,
    “layout_number”: 0,
    “fps”: “30”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address
    “layout_number” (required)
        Type: integer
        Parameter: value >= 0
    “fps” (optional)
        Type: String, integer, or float
        Parameter It can be either an integer (e.g. 50) or a float (50.000) or String (e.g. “60m” (59.94) or “30m” (29.97)) indicates frame rate must be divided by 1.001 (i.e. multiplied by 10001001). (if omitted, default is 30)

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0",
	"layout_number": 0,
	"fps": 30
}' "/SetReceivertoMultiview"
POST /SetReceivertoMultiview HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0",
	"layout_number": 0,
	"fps": 30
}
Status200 OK
Content-Typeapplication/json
Content-Length51
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 21:52:54 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "reqId": 8
    }
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length111
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 21:52:38 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {
        "reqId": -1
    }
}

Join Scaled Video to Multiview (Deprecated)

Description

Deprecated API call will still be supported. Recommended to use /ApplyMultiviewToReceiver API call instead.
[Priority: Optional] Join scaled stream video of a selected transmitter device to a selected position on the multiview layout of the receiver device. The “receiver_index” option determines the position of the source HDMI video to be placed in the layout. If the layout features a big surface, it is normally 0 (Except for Picture in Picture the draggable smaller surface is 0). If it is in the middle surrounded by smaller surfaces, it also normally 0. Otherwise, positions are in ascending order, left to right, top to bottom. Current Multiview Layouts(“layout_number” - Layout Name):
0 - Picture in Picture (2 index positions)
1 - Picture and Picture (2 index positions)
2 - 2x2 (4 index positions)
3 - 3x3 (9 index positions)
4 - 4x4 (16 index positions)
5 - 2x2 and middle (5 index positions)
6 - 4x4 and middle (13 index positions)
7 - 1big, 3 small left (4 index positions)
8 - 1big, 3 small right (4 index positions)
9 - 1big, 5 small bottom left (6 index positions)
10 - 1big, 5 small bottom right (6 index positions)
11 - 1big, 5 small top left (6 index positions)
12 - 1big, 5 small top right (6 index positions)
13 - 1big, 7 small bottom left (8 index positions)
14 - 1big, 7 small bottom right (8 index positions)
15 - 1big, 7 small top left (8 index positions)
16 - 1big, 7 small top right (8 index positions)
17 - 32 small (32 index positions)
18 - 2 big, 8 small I-Shaped (10 index positions)

Command Usage

Request Format Example:
{
    “transmitter_mac”: “801f12413fa0”,
    “receiver_mac”: “801f124166b8”,
    “layout_number”: 0,
    “receiver_index”: 0
}
Arguments:
    “transmitter_mac” (required)
        Type: String
        Parameter: MAC address
    “receiver_mac” (required)
        Type: String
        Parameter: MAC address
    “receiver_index” (required)
        Type: integer
        Parameter: value >= 0 and value < (Max number of index postions for a multiview layout)
    “layout_number” (optional)
        Type: integer
        Parameter: value >= 0
        Note: If not specified, selects layout number stored from IP Essentials.
    “force” (optional)
        Type: Boolean
        Parameter: true (To remove transmitter from one or more different layouts with different size.)

curl -X POST -H "Content-Type: application/json" -d '{
	"transmitter_mac": "801f12413fa0",
	"receiver_mac": "801f124166b8",
	"layout_number": 0,
	"receiver_index": 0
}' "/JoinScaledVideotoMultiview"
POST /JoinScaledVideotoMultiview HTTP/1.1
Host: 
Content-Type: application/json

{
	"transmitter_mac": "801f12413fa0",
	"receiver_mac": "801f124166b8",
	"layout_number": 0,
	"receiver_index": 0
}
Status200 OK
Content-Typeapplication/json
Content-Length64
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 22:07:17 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "reqId": 6
    }
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length124
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 22:06:55 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'transmitter_mac' is invalid."
    ],
    "data": {
        "reqId": -1
    }
}

Enable Scaled Stream

Description

[Priority: Not Recommended] Enable and set the scaler of a selected transmitter device for the scaled stream for multiview.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”,
    “width”: 1920,
    “height”: 1080
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address
    “width” (required)
        Type: String or integer
        Parameter(String): Must be valid resolution screen width (e.g. “1920”)
        Parameter(integer): Must be valid resolution screen width (e.g. 1920)
    “height” (required)
        Type: String or integer
        Parameter(String): Must be valid resolution screen height (e.g. “1080”)
        Parameter(integer): Must be valid resolution screen height (e.g. 1080)

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0",
	"width": 1920,
	"height": 1080
}' "/EnableScaledStream"
POST /EnableScaledStream HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0",
	"width": 1920,
	"height": 1080
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length111
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 21:26:43 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {
        "reqId": -1
    }
}
Status200 OK
Content-Typeapplication/json
Content-Length51
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 21:26:58 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "reqId": 6
    }
}

Videowall Commands Requests

Contains all videowall http requests for the Zigen IP Essentials API.

Apply Video Wall

Description

[Priority: Recommended] Apply either genlock wall mode or fastswitch wall mode to all receivers on the video wall of a selected transmitter device.

Command Usage

Request Format Example:
{
    “transmitter_mac”: “801f12413fa0”,
    “wall_size”: [2, 2],
    “mode”: “fastswitch”,
    “aspect_ratio”: “stretch”,
    “receiver_list”: [
        null,
        {
            “mac”: “801f124166b8”
        },
        {
            “mac”: “801f12419471”,
            “video options”: {
                “fps”: 30
            }
        },
        null
    ]
}
Arguments:
    “transmitter_mac” (required)
        Type: String
        Parameter: MAC address
    “wall_size” (required)
        Type: Array of Integer (Array length of 2)
        Parameter(integer): [wall_width, wall_height]
    “mode” (required)
        Type: String
        Parameter: “fastswitch” (Fastswitch Wall mode) or “genlock” (Genlock Wall mode)
    “aspect_ratio” (required)
        Type: String
        Parameter: “keep” (Keep aspect ratio by adding black bars to wall) or “stretch” (Stretch to cover entire wall with no black bars added)
    “receiver_list” (required)
        Type: Array (Array size based on area of “wall_width” x “wall_height”)
        Note: Index 0 of the array refer to the top-left monitor while the last index would refer to the bottom right monitor. The progression is left to right, top to bottom. Add null to array list to leave that position on the wall empty.
        Parameter:
            “mac” (required)
                Type: String
                Parameter: MAC address of a receiver device
            “video options” (optional)
                Type: JSON String
                Parameter:
                “size” (optional)
                    “width” (required if “size” is not omitted)
                        Type: Integer
                        Parameter(Integer): Must be valid resolution screen width (e.g. 1920)
                    “height” (required if “size” is not omitted)
                        Type: Integer
                        Parameter(Integer): Must be valid resolution screen height (e.g. 1080)
                “fps” (optional)
                    Type: String, integer, or float
                    Parameter It can be either an integer (e.g. 50) or a float (50.000) or String (e.g. “60m” (59.94) or “30m” (29.97)) indicates frame rate must be divided by 1.001 (i.e. multiplied by 10001001).

curl -X POST -H "Content-Type: application/json" -d '{
	"transmitter_mac": "801f12413fa0",
	"wall_size": [2, 2],
	"mode": "fastswitch",
	"aspect_ratio": "stretch",
	"receiver_list": [
        null,
        {
            "mac": "801f124166b8"
        },
        {
        	"mac": "801f12419471",
        	"video options": {
        		"fps": 30
        	}
        },
        null
    ]
}' "/ApplyVideoWall"
POST /ApplyVideoWall HTTP/1.1
Host: 
Content-Type: application/json

{
	"transmitter_mac": "801f12413fa0",
	"wall_size": [2, 2],
	"mode": "fastswitch",
	"aspect_ratio": "stretch",
	"receiver_list": [
        null,
        {
            "mac": "801f124166b8"
        },
        {
        	"mac": "801f12419471",
        	"video options": {
        		"fps": 30
        	}
        },
        null
    ]
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length111
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 19:50:08 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'aspect_ratio' is invalid."
    ],
    "data": {
        "reqId": -1
    }
}
Status200 OK
Content-Typeapplication/json
Content-Length51
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 19:49:37 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "reqId": 4
    }
}

Get Wall State

Description

[Priority: Recommended] Retrieve a wall layout configuration of a given wall layout name where the wall layout configuration returns wall_size, wall mode, aspect_ratio, and receiver_list information.

Command Usage

Request Format Example:
{
    “name”: “wall_2x2”
}
Arguments:
    “name” (required)
        Type: String
        Parameter: Name of a wall layout

curl -X POST -H "Content-Type: application/json" -d '{
	"name": "wall_2x2"
}' "/GetWallState"
POST /GetWallState HTTP/1.1
Host: 
Content-Type: application/json

{
	"name": "wall_2x2"
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length99
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 20:38:27 GMT
{
    "status": "error",
    "error": "DATA_NOT_FOUND",
    "messages": [
        "Not found in database."
    ],
    "data": {}
}
Status200 OK
Content-Typeapplication/json
Content-Length216
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 20:38:06 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "wall_name": "wall_2x2",
        "wall_settings": {
            "wall_size": [
                2,
                2
            ],
            "mode": "genlock",
            "aspect_ratio": "stretch",
            "receiver_list": [
                null,
                {
                    "mac": "801f12416666"
                },
                {
                    "mac": "801f12419471"
                },
                null
            ]
        }
    }
}

Get Wall List

Description

[Priority: Recommended] Retrieves all existing wall layout names from the IP Essentials. Note: Use /GetWallState to know of a certain wall configuration of a wall layout name.

Command Usage

Request Format Example:
{

} Arguments: None

curl -X GET "/GetWallList"
GET /GetWallList HTTP/1.1
Host: 
Status200 OK
Content-Typeapplication/json
Content-Length76
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 20:37:12 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "walls": [
            {
                "wall_name": "wall_2x2"
            }
        ]
    }
}

Delete Wall State

Description

[Priority: Optional] Deletes an existing wall layout name and its configuration.

Command Usage

Request Format Example:
{
    “name”: “wall_2x2”
}
Arguments:
    “name” (required)
        Type: String
        Parameter: Name of wall layout to be deleted.

curl -X POST -H "Content-Type: application/json" -d '{
	"name": "wall_2x2"
}' "/DeleteWallState"
POST /DeleteWallState HTTP/1.1
Host: 
Content-Type: application/json

{
	"name": "wall_2x2"
}
Status200 OK
Content-Typeapplication/json
Content-Length42
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 20:41:44 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {}
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length91
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 20:41:28 GMT
{
    "status": "error",
    "error": "DATA_NOT_SAVED",
    "messages": [
        "Not saved to database."
    ],
    "data": {}
}

Save Wall State

Description

[Priority: Optional] Save a wall layout by saving the wall state information and providing a name if no name is provided a default wall name based on the wall state information will be provided.

Command Usage

Request Format Example:
{
    “name”: “wall_2x2”,
    “wallstate”: {
        “wall_size”: [2, 2],
        “mode”: “genlock”,
        “aspect_ratio”: “stretch”,
        “receiver_list”: [
            null,
            {
                “mac”: “801f12416666”
            },
            {
                “mac”: “801f12419471”
            },
            null
        ]
    }
}
Arguments:
    “name” (required)
        Type: String
        Parameter: Name of wall layout
    “wallstate” (required)
        Type: JSON Object
        Parameter: Wall state information can be created from scratch or retrieved from GetWallState if updating an existing wall layout.
        “wall_size” (required)
            Type: Array of Integer (Array length of 2)
            Parameter(integer): [wall_width, wall_height]
        “mode” (required)
            Type: String
            Parameter: “fastswitch” (Fastswitch Wall mode) or “genlock” (Genlock Wall mode)
        “aspect_ratio” (required)
            Type: String
            Parameter: “keep” (Keep aspect ratio by adding black bars to wall) or “stretch” (Stretch to cover entire wall with no black bars added)
        “receiver_list” (required)
            Type: Array (Array size based on area of “wall_width” x “wall_height”)
            Note: Index 0 of the array refer to the top-left monitor while the last index would refer to the bottom right monitor. The progression is left to right, top to bottom. Add null to array list to leave that position on the wall empty.
            Parameter:
                “mac” (required)
                    Type: String
                    Parameter: MAC address of a receiver device
                “video options” (optional)
                    Type: JSON String
                    Parameter:
                    “size” (optional)
                        “width” (required if “size” is not omitted)
                            Type: Integer
                            Parameter(Integer): Must be valid resolution screen width (e.g. 1920)
                        “height” (required if “size” is not omitted)
                            Type: Integer
                            Parameter(Integer): Must be valid resolution screen height (e.g. 1080)
                    “fps” (optional)
                        Type: String, integer, or float
                        Parameter It can be either an integer (e.g. 50) or a float (50.000) or String (e.g. “60m” (59.94) or “30m” (29.97)) indicates frame rate must be divided by 1.001 (i.e. multiplied by 10001001).

curl -X POST -H "Content-Type: application/json" -d '{
	"name": "wall_2x2",
	"wallstate": {
		"wall_size": [2, 2],
		"mode": "genlock",
		"aspect_ratio": "stretch",
		"receiver_list": [
        	null,
        	{
            	"mac": "801f12416666"
        	},
        	{
        		"mac": "801f12419471"
        	},
        	null
    	]
	}
}' "/SaveWallState"
POST /SaveWallState HTTP/1.1
Host: 
Content-Type: application/json

{
	"name": "wall_2x2",
	"wallstate": {
		"wall_size": [2, 2],
		"mode": "genlock",
		"aspect_ratio": "stretch",
		"receiver_list": [
        	null,
        	{
            	"mac": "801f12416666"
        	},
        	{
        		"mac": "801f12419471"
        	},
        	null
    	]
	}
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length101
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 20:36:53 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mode' is invalid."
    ],
    "data": {}
}
Status200 OK
Content-Typeapplication/json
Content-Length42
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 20:35:42 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {}
}

Rename Wall State

Description

[Priority: Optional] Rename an existing wall layout with a new given name.

Command Usage

Request Format Example:
{
    “name”: “wall_2x2”,
    “new name”: “ZigenWall2x2”
}
Arguments:
    “name” (required)
        Type: String
        Parameter: Name of wall layout that needs its name changed.
    “new name” (required)
        Type: String
        Parameter: Set to desired new name.

curl -X POST -H "Content-Type: application/json" -d '{
	"name": "wall_2x2",
	"new name": "ZigenWall2x2"
}' "/RenameWallState"
POST /RenameWallState HTTP/1.1
Host: 
Content-Type: application/json

{
	"name": "wall_2x2",
	"new name": "ZigenWall2x2"
}
Status200 OK
Content-Typeapplication/json
Content-Length42
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 20:40:23 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {}
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length91
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 20:40:56 GMT
{
    "status": "error",
    "error": "DATA_NOT_SAVED",
    "messages": [
        "Not saved to database."
    ],
    "data": {}
}

Get Bezel State

Description

[Priority: Not Recommended] Retrieve bezel information of a selected receiver device.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0"
}' "/GetBezelState"
POST /GetBezelState HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0"
}
Status200 OK
Content-Typeapplication/json
Content-Length158
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 19:46:21 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "receiver_mac": "70b3d57393ea",
        "bezel_correction": {
            "left": 0,
            "right": 0,
            "top": 0,
            "bottom": 0
        },
        "bezel_format": "percentage"
    }
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length101
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 19:46:08 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {}
}

Save Bezel State

Description

[Priority: Not Recommended] Save bezel information for a selected receiver device.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”,
    “bezel_correction”: {
        “left”: 0,
        “right”: 0,
        “top”: 0,
        “bottom”: 0
    },
    “bezel_format”: “percentage”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address
    “bezel_correction” (required)
        Type: String or integer
        Parameter(String):
            “left”
                From “0” to “480” in Pixel Format
                From “0” to “25” in Percentage Format
            “right”
                From “0” to “480” in Pixel Format
                From “0” to “25” in Percentage Format
            “top”
                From “0” to “270” in Pixel Format
                From “0” to “25” in Percentage Format
            “bottom”
                From “0” to “270” in Pixel Format
                From “0” to “25” in Percentage Format
        Parameter(integer):
            “left”
                From 0 to 480 in Pixel Format
                From 0 to 25 in Percentage Format
            “right”
                From 0 to 480 in Pixel Format
                From 0 to 25 in Percentage Format
            “top”
                From 0 to 270 in Pixel Format
                From 0 to 25 in Percentage Format
            “bottom”
                From 0 to 270 in Pixel Format
                From 0 to 25 in Percentage Format
    “bezel_format” (required)
        Type: String
        Parameter(String): “percentage” or “pixel” (case-insensitive)

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0",
	"bezel_correction": {
		"left": 0,
		"right": 0,
		"top": 0,
		"bottom": 0
	},
	"bezel_format": "percentage"
}' "/SaveBezelState"
POST /SaveBezelState HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0",
	"bezel_correction": {
		"left": 0,
		"right": 0,
		"top": 0,
		"bottom": 0
	},
	"bezel_format": "percentage"
}
Status200 OK
Content-Typeapplication/json
Content-Length42
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 19:47:36 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {}
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length101
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 19:47:16 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {}
}

Infrared Routing Commands Request

Contains all infrared http requests for the Zigen IP Essentials API. Note: Infrared/RS232/CEC common API calls are found under the Communications Commands Requests. Infrared Routing Commands Requests is meant for infrared exclusive API calls.

USB Commands Requests

Contains all usb settings http requests for the Zigen IP Essentials API.

Add USB Pair Communication

Description

[Priority: Recommended] Apply usb pairing of two selected devices where the source is a transmitter device and the destination is a receiver device. Returns updated pairings for both devices with link status value being either 1 (Device paired and linked) or 2 (Device paired but not linked). Note: Can not pair same two devices again once paired must either use /DisconnectUSBPair then /AddUSBPairComm or use /AddUSBForcePairComm

Command Usage

Request Format Example:
{
    “source_mac”: “801f12413fa0”,
    “destination_mac”: “801f124166b8”
}
Arguments:
    “source_mac” (required)
        Type: String
        Parameter: MAC address
    “destination_mac” (required)
        Type: String
        Parameter: MAC address

curl -X POST -H "Content-Type: application/json" -d '{
	"source_mac": "801f12413fa0",
	"destination_mac": "801f124166b8"
}' "/AddUSBPairComm"
POST /AddUSBPairComm HTTP/1.1
Host: 
Content-Type: application/json

{
	"source_mac": "801f12413fa0",
	"destination_mac": "801f124166b8"
}
Status200 OK
Content-Typeapplication/json
Content-Length91
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 23:15:26 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "usbpairs0": {
            "pairs": [
                {
                    "link_status": 2,
                    "mac": "70b3d57393ea",
                    "name": "Test_RX1"
                }
            ]
        },
        "usbpairs1": {
            "pairs": [
                {
                    "link_status": 2,
                    "mac": "70b3d5739429",
                    "name": "Test_TX1"
                }
            ]
        }
    }
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length101
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 23:15:08 GMT
{
    "status": "error",
    "error": "DATA_NOT_SAVED",
    "messages": [
        "Not able to save USB settings."
    ],
    "data": {}
}

Add USB Force Pair Communication

Description

[Priority: Recommended] Force usb pairing of two selected devices by unpairing from all connected devices then pairing the two selected devices where the source is a transmitter device and the destination is a receiver device. Returns updated pairings for both devices with with link status value being either 1 (Device paired and linked) or 2 (Device paired but not linked).

Command Usage

Request Format Example:
{
    “source_mac”: “801f12413fa0”,
    “destination_mac”: “801f124166b8”
}
Arguments:
    “source_mac” (required)
        Type: String
        Parameter: MAC address
    “destination_mac” (required)
        Type: String
        Parameter: MAC address

curl -X POST -H "Content-Type: application/json" -d '{
	"source_mac": "801f12413fa0",
	"destination_mac": "801f124166b8"
}' "/AddUSBForcePairComm"
POST /AddUSBForcePairComm HTTP/1.1
Host: 
Content-Type: application/json

{
	"source_mac": "801f12413fa0",
	"destination_mac": "801f124166b8"
}
Status200 OK
Content-Typeapplication/json
Content-Length91
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 23:08:35 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "usbpairs0": {
            "pairs": [
                {
                    "link_status": 2,
                    "mac": "70b3d57393ea",
                    "name": "Test_RX1"
                }
            ]
        },
        "usbpairs1": {
            "pairs": [
                {
                    "link_status": 2,
                    "mac": "70b3d5739429",
                    "name": "Test_TX1"
                }
            ]
        }
    }
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length101
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 23:10:41 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'source_mac' is invalid."
    ],
    "data": {}
}

Disconnect All USB Pairings

Description

[Priority: Recommended] Disconnect all USB pairing devices from a selected device.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0"
}' "/DisconnectAllUSBPairings"
POST /DisconnectAllUSBPairings HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0"
}
Status200 OK
Content-Typeapplication/json
Content-Length42
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 23:13:48 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {}
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length101
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 23:13:40 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {}
}

Disconnect USB Pair

Description

[Priority: Recommended] Disconnect a single usb pairing of two selected devices where the source is a transmitter device and the destination is a receiver device. Returns updated pairings for both devices with link status value being either 1 (Device paired and linked) or 2 (Device paired but not linked).

Command Usage

Request Format Example:
{
    “source_mac”: “801f12413fa0”,
    “destination_mac”: “801f124166b8”
}
Arguments:
    “source_mac” (required)
        Type: String
        Parameter: MAC address
    “destination_mac” (required)
        Type: String
        Parameter: MAC address

curl -X POST -H "Content-Type: application/json" -d '{
	"source_mac": "801f12413fa0",
	"destination_mac": "801f124166b8"
}' "/DisconnectUSBPair"
POST /DisconnectUSBPair HTTP/1.1
Host: 
Content-Type: application/json

{
	"source_mac": "801f12413fa0",
	"destination_mac": "801f124166b8"
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length111
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 23:09:45 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'source_mac' is invalid."
    ],
    "data": {}
}
Status200 OK
Content-Typeapplication/json
Content-Length102
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 23:10:07 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "usbpairs0": {
            "pairs": []
        },
        "usbpairs1": {
            "pairs": []
        }
    }
}

Get USB Pairs

Description

[Priority: Recommended] Retrieves all USB pairing information from a selected device. Returns updated pairings for selected device with link status value being either 1 (Device paired and linked) or 2 (Device paired but not linked).

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0"
}' "/GetUSBPairs"
POST /GetUSBPairs HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0"
}
Status200 OK
Content-Typeapplication/json
Content-Length145
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 23:15:37 GMT
{
    "status": "success",
    "error": {},
    "data": {
        "usbpairs": {
            "pairs": [
                {
                    "usb_mac": "70b3d573942c",
                    "link_status": 1,
                    "mac": "70b3d5739429",
                    "name": "TEST_TX"
                }
            ]
        }
    }
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length101
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 23:15:34 GMT
{
    "status": "error",
    "error": {
        "code": 1003,
        "message": "Required parameter type is incorrect."
    },
    "data": {}
}

Set USB Static Mode

Description

[Priority: Not Recommended] Set a selected device to static mode for USB for network settings.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”,
    “ip_address”: “192.168.0.10”,
    “subnet_mask”: “255.255.255.0”,
    “default_gateway”: “192.168.0.1”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address
    “ip_address” (required)
        Type: String
        Parameter: A valid IP address
    “subnet_mask” (required)
        Type: String
        Parameter: A valid subnet mask
    “default_gateway” (required)
        Type: String
        Parameter: A valid default gateway

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0",
	"ip_address": "192.168.0.10",
	"subnet_mask": "255.255.255.0",
	"default_gateway": "192.168.0.1"
}' "/SetUSBStaticMode"
POST /SetUSBStaticMode HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0",
	"ip_address": "192.168.0.10",
	"subnet_mask": "255.255.255.0",
	"default_gateway": "192.168.0.1"
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length101
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 23:19:07 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Required parameters are invalid."
    ],
    "data": {}
}
Status200 OK
Content-Typeapplication/json
Content-Length42
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 23:18:46 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {}
}

Set USB DHCP

Description

[Priority: Not Recommended] Set a selected device to DHCP mode for USB for network settings.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0"
}' "/SetUSBDHCP"
POST /SetUSBDHCP HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0"
}
Status200 OK
Content-Typeapplication/json
Content-Length42
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 19:51:08 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {}
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length101
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 19:50:54 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {}
}

Description

[Priority: Not Recommended] Retrieve the USB link status of a selected device.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address


Get USB Config Data

Description

[Priority: Not Recommended] Retrieve the USB configuration information of a selected device.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0"
}' "/GetUSBConfigData"
POST /GetUSBConfigData HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0"
}
Status200 OK
Content-Typeapplication/json
Content-Length687
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 23:03:46 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "MID": "\u0000\u0000\u0000\u0000",
        "protocol": 3,
        "command": 14,
        "High_Speed": 1,
        "MSA": 1,
        "vhub_status": 0,
        "filter_status": 0,
        "dhcp": 0,
        "usb_mac": "70b3d573942c",
        "paired_macs": [
            "000000000000",
            "000000000000",
            "000000000000",
            "000000000000",
            "000000000000",
            "000000000000",
            "000000000000"
        ],
        "port_number": 63767,
        "usb_ip": "192.168.0.121",
        "subnet_mask": "255.255.255.0",
        "default_gateway": "192.168.0.1",
        "dhcp_server": "192.168.0.1",
        "number_vhub_ports": 7,
        "VID": "089d",
        "PID": "0001",
        "vendor": "\u0000\u0000Legacy",
        "product": "\u0000\u0000USB Over Network\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00001.9.4",
        "revision": "\u0000\u00001.9.4\u0000\u0000\u0000a\u0000\u0005\u0080"
    }
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length111
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 23:03:34 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {}
}

Get USB Device Information

Description

[Priority: Not Recommended] Retrieve the USB device information of a selected device.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0"
}' "/GetUSBDeviceInfo"
POST /GetUSBDeviceInfo HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0"
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length101
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 23:07:27 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {}
}
Status200 OK
Content-Typeapplication/json
Content-Length247
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 23:07:23 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "MID": "\u0000\u0000\u0000\u0000",
        "protocol": 0,
        "command": 1,
        "usb_mac": "70b3d573942c",
        "usb_ip": "192.168.0.121",
        "dhcp": 0,
        "supported_protocol": 3,
        "vendor": "Legacy",
        "product": "USB Over Network",
        "revision": "1.9.4"
    }
}

RS232 Routing Commands Requests

Contains all rs232 http requests for the Zigen IP Essentials API. Note: Infrared/RS232/CEC common API calls are found under the Communications Commands Requests. RS232 Routing Commands Requests is meant for RS232 exclusive API calls.

Get RS232 Configuration

Description

[Priority: Recommended] Retrieves the RS232 configurations(baud rate, data bits, stop bits, and parity) of a selected device.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0"
}' "/GetRS232Configuration"
POST /GetRS232Configuration HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0"
}
Status200 OK
Content-Typeapplication/json
Content-Length120
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 19:38:43 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "RS232_Config": {
            "baud_rate": 57600,
            "data_bits": 8,
            "stop_bits": 1,
            "parity": "NONE"
        }
    }
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length101
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 19:42:22 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {}
}

Save RS232 Configuration

Description

[Priority: Recommended] Change the RS232 configurations(baud rate, data bits, stop bits, and parity) of a selected device.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”,
    “baud_rate”: 9600,
    “data_bits”: 8,
    “stop_bits”: 1,
    “parity”: “NONE”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address
    “baud_rate” (required)
        Type: Integer
        Parameter: 2400, 4800, 9600, 19200, 38400, 57600, or 115200
    “data_bits” (required)
        Type: Integer
        Parameter: 6, 7, or 8
    “stop_bits” (required)
        Type: Integer
        Parameter: 1 or 2
    “parity” (required)
        Type: String
        Parameter: “NONE”, “ODD”, or “EVEN”

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0",
	"baud_rate": 9600,
	"data_bits": 8,
	"stop_bits": 1,
	"parity": "NONE"
}' "/SaveRS232Configuration"
POST /SaveRS232Configuration HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0",
	"baud_rate": 9600,
	"data_bits": 8,
	"stop_bits": 1,
	"parity": "NONE"
}
Status200 OK
Content-Typeapplication/json
Content-Length51
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 19:43:12 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "reqId": 4
    }
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length111
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 19:43:45 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Required parameters are invalid."
    ],
    "data": {
        "reqId": -1
    }
}

Communications Commands Requests

Contains all communications http requests for the Zigen IP Essentials API. Note: Infrared/RS232/CEC common API calls are found under the Communications Commands Requests. Also CEC related API calls are not fully implemented for macro communications related API calls.

Send Communications Data

Description

[Priority: Recommended] Send a certain type of communications (RS232, infrared, or cec) directly from IP Essentials to a single or multiple device(s). Macro commands can also be used for this API call if already stored in IP Essentials. Note: The /SendCommsData API call is one of the two ways to send communications data to an IP Logic device. The other way is using the /RouteComms API call, both API calls works independently from one another. (See /RouteComms API call for more information.)

Command Usage

Request Format Example 1:
{
    “destination”: “801f12413fa0”,
    “type”: “rs232”,
    “code”: “HELLO”
}
Request Format Example 2:
{
    “destination”: [“801f12413fa0”,“801f1241946b”],
    “type”: “rs232”,
    “code”: “HELLO”
}
Arguments:
    “destination” (required)
        Type: String or String array
        Parameter: A single MAC address or name of the device. An array of Strings of MAC addresses. Name of group of type ‘rs232’, ‘infrared’, or ‘cec’ can also be specified to route to all eligible members of that group. ‘ALL_RX’ to broadcast to all available receiver devices, ‘ALL_TX’ to broadcast to all available transmitter devices, or ‘ALL’ to broadcast to all available devices. (Case-insensitive for broadcast parameter values)
    “type” (required)
        Type: String
        Parameter: “rs232”, “infrared”, or “cec”
    “code” (required if macro_name is omitted)
        Type: String
        Parameter: ASCII-based (No more than 1000 characters) (white spaces are removed if type is “infrared”)
    “macro_name” (optional)
        Type: String
        Parameter: Name of macro command

curl -X POST -H "Content-Type: application/json" -d '{
	"destination": "70b3d573944f",
	"type": "rs232",
	"code": "HELLO"
}' "/SendCommsData"
POST /SendCommsData HTTP/1.1
Host: 
Content-Type: application/json

{
	"destination": "70b3d573944f",
	"type": "rs232",
	"code": "HELLO"
}
Status200 OK
Content-Typeapplication/json
Content-Length64
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 20:30:47 GMT
{
    "status": "success",
    "error": "",
    "warning": [],
    "data": {
        "reqId": 4
    }
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length128
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 20:30:26 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'destination' is invalid."
    ],
    "data": {
        "reqId": -1
    }
}

Get Communications Data

Description

[Priority: Recommended] Receive a certain type of communications (RS232, infrared, or cec) data from IP Essentials of a single device. The “event_id” retrieves all data of a certain communications type after the “event_id” is specified. The optional parameter “events” from retrieves the last current X amount of communications data after the specified “event_id” is retrieved.

Command Usage

Request Format Example 1:
{
    “mac”: “801f12413fa0”,
    “type”: “rs232”,
    “event_id”: 0
}
Request Format Example 2:
{
    “destination”: [“801f12413fa0”,“801f1241946b”],
    “type”: “rs232”,
    “event_id”: 0,
    “events”: 5
}
Arguments:
    “mac” (required)
        Type: String or String array
        Parameter: MAC address, An array of Strings of MAC addresses, or “ALL”
    “type” (required)
        Type: String
        Parameter: “rs232”, “infrared”, or “cec”
    “event_id” (required)
        Type: Integer
        Parameter: >= 0
    “events” (optional)
        Type: String
        Parameter: >= 1

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0",
	"type": "rs232",
	"event_id": 0
}' "/GetCommsData"
POST /GetCommsData HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0",
	"type": "rs232",
	"event_id": 0
}
Status200 OK
Content-Typeapplication/json
Content-Length140
ServerWerkzeug/0.14.1 Python/3.7.4
DateTue, 11 Feb 2020 17:20:52 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": [
        {
            "mac": "70b3d57393ea",
            "type": "rs232",
            "data": "x",
            "event_id": 1,
            "timestamp": "09:20:49"
        }
    ]
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length100
ServerWerkzeug/0.14.1 Python/3.7.4
DateTue, 11 Feb 2020 17:18:08 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {}
}

Route Communications

Description

[Priority: Recommended] Route a certain type of communications (RS232, infrared, or cec) from a selected source device (transmitter or receiver device) to either a single destination device, a group of destination devices, or a broadcast of a certain type of devices (all devices, all transmitters, or all receivers.). After a source device is routed to a selected destination, any communications data sent through the source device will be outputted to the selected destination. Note: The /RouteComms API call is one of the two ways to send communications data to an IP Logic device. The other way is using the /SendCommsData API call, both API calls works independently from one another. (See /SendCommsData API call for more information.)

Command Usage

Request Format Example:
{
    “source”: “801f12413fa0”,
    “destination”: “801f124166b8”
    “type”: “rs232”
}
Arguments:
    “source” (required)
        Type: String
        Parameter: MAC address or name of the device.
    “destination” (required)
        Type: String
        Parameter: MAC address or name of the device. Name of group of type ‘rs232’, ‘infrared’, or ‘cec’ can also be specified to route to all eligible members of that group. ‘ALL_RX’ to broadcast to all available receiver devices, ‘ALL_TX’ to broadcast to all available transmitter devices, or ‘ALL’ to broadcast to all available devices. (Case-insensitive for broadcast parameter values)
    “type” (required)
        Type: String
        Parameter: “rs232”, “infrared”, or “cec”

curl -X POST -H "Content-Type: application/json" -d '{
	"source": "70b3d573944f",
	"destination": "70b3d573944f",
	"type": "rs232"
}' "/RouteComms"
POST /RouteComms HTTP/1.1
Host: 
Content-Type: application/json

{
	"source": "70b3d573944f",
	"destination": "70b3d573944f",
	"type": "rs232"
}
Status200 OK
Content-Typeapplication/json
Content-Length55
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 20:03:58 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {}
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length113
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 20:02:47 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'source' is invalid."
    ],
    "data": {}
}

Leave Communications

Description

[Priority: Recommended] Leave a certain type of communications (RS232, infrared, or cec) for a selected destination device to stop receiving a certain communications data from its single or multiple paired device(s). Using the “leave” option by inputting a source device MAC address, would stop a destination device from receiving a certain communications data from that source only while receiving the same type of communications data from other devices intact. Note: The /LeaveComms API call is meant to work for when using /RouteComms to communicate from one IP Logic device to another IP Logic device.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”,
    “type”: “rs232”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address
    “type” (required)
        Type: String
        Parameter: “rs232”, “infrared”, or “cec”
    “leave” (optional)
        Type: String
        Parameter: MAC address

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "70b3d573944f",
	"type": "rs232"
}' "/LeaveComms"
POST /LeaveComms HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "70b3d573944f",
	"type": "rs232"
}
Status200 OK
Content-Typeapplication/json
Content-Length42
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 20:29:46 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {}
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length101
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 20:29:30 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {}
}

Stop Communications

Description

[Priority: Recommended] Stop a certain type of communications (RS232, infrared, or cec) for a selected source device to send to its single or multiple paired device(s). Note: The /StopComms API call is meant to work for when using /RouteComms to communicate from one IP Logic device to another IP Logic device.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”,
    “type”: “rs232”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address
    “type” (required)
        Type: String
        Parameter: “rs232”, “infrared”, or “cec”

curl -X POST -H "Content-Type: application/json" -d '{
	"mac":"70b3d573944f",
	"type": "rs232"
}' "/StopComms"
POST /StopComms HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac":"70b3d573944f",
	"type": "rs232"
}
Status200 OK
Content-Typeapplication/json
Content-Length42
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 20:31:47 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {}
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length101
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 20:31:31 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {}
}

Get Device Communications Pairs

Description

[Priority: Recommended] Retrieve the RS232, Infrared, or CEC device destination pairs where the selected device is the source location. Note: The /GetDeviceCommsPairs API call is meant to work for when using /RouteComms to communicate from one IP Logic device to another IP Logic device.

Command Usage

Request Format Example:
{
    “mac”:  “801f12413fa0”,
    “type”: “rs232”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address
    “type” (required)
        Type: String
        Parameter: “rs232”, “infrared”, or “cec”

curl -X POST -H "Content-Type: application/json" -d '{
	"mac":	"801f12413fa0",
	"type": "rs232"
}' "/GetDeviceCommsPairs"
POST /GetDeviceCommsPairs HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac":	"801f12413fa0",
	"type": "rs232"
}
Status200 OK
Content-Typeapplication/json
Content-Length89
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 20:06:55 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "rs232pairs": {
            "pairs": [
                {
                    "mac": "70b3d57393ea"
                }
            ]
        }
    }
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length100
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 20:01:48 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {}
}

Delete Communications Command

Description

[Priority: Not Recommended] Delete a stored macro communication command name and its content from the IP Essentials. Note: The /DeleteCommsCommand API call is meant to be used for the /SendCommsData API call one of the two ways to send communications data to an IP Logic device. (See /SendCommsData API call for more information.)

Command Usage

Request Format Example:
{
    “name”: “Command 1”,
    “type”: “rs232”
}
Arguments:
    “name” (required)
        Type: String
        Parameter: Previous User-defined name or default name
    “type” (required)
        Type: String
        Parameter: “rs232”, “infrared”, or “cec”

curl -X POST -H "Content-Type: application/json" -d '{
	"name": "Command 1",
	"type": "rs232"
}' "/DeleteCommsCommand"
POST /DeleteCommsCommand HTTP/1.1
Host: 
Content-Type: application/json

{
	"name": "Command 1",
	"type": "rs232"
}
Status200 OK
Content-Typeapplication/json
Content-Length55
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 20:20:05 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "commands": []
    }
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length91
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 20:19:39 GMT
{
    "status": "error",
    "error": "DATA_NOT_FOUND",
    "messages": [
        "Not found in database."
    ],
    "data": {}
}

Rename Communications Command

Description

[Priority: Not Recommended] Rename the previous macro communication command name to the new macro communication command name to the IP Essentials. Note: The /RenameCommsCommand API call is meant to be used for the /SendCommsData API call one of the two ways to send communications data to an IP Logic device. (See /SendCommsData API call for more information.)

Command Usage

Request Format Example:
{
    “oldname”: “Old Command Name”,
    “name”: “New Command Name”,
    “type”: “rs232”
}
Arguments:
    “oldname” (required)
        Type: String
        Parameter: Previous User-defined name or default name
    “name” (required)
        Type: String
        Parameter: User-defined name (Must be unique)
    “type” (required)
        Type: String
        Parameter: “rs232”, “infrared”, or “cec”

curl -X POST -H "Content-Type: application/json" -d '{
	"oldname": "Old Command Name",
	"name": "New Command Name",
	"type": "rs232"
}' "/RenameCommsCommand"
POST /RenameCommsCommand HTTP/1.1
Host: 
Content-Type: application/json

{
	"oldname": "Old Command Name",
	"name": "New Command Name",
	"type": "rs232"
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length91
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 20:16:03 GMT
{
    "status": "error",
    "error": "DATA_NOT_FOUND",
    "messages": [
        "Not found in database."
    ],
    "data": {}
}
Status200 OK
Content-Typeapplication/json
Content-Length109
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 20:09:29 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "type": "rs232",
        "option": "ASCII",
        "code": "HELLO",
        "name": "TestCommand"
    }
}

Update Communications Command

Description

[Priority: Not Recommended] Update a stored macro communication command code to a new communication command code to the IP Essentials. Note: The /UpdateCommsCommand API call is meant to be used for the /SendCommsData API call one of the two ways to send communications data to an IP Logic device. (See /SendCommsData API call for more information.)

Command Usage

Request Format Example:
{
    “name”: “Command 1”,
    “type”: “rs232”,
    “code”: “HELLO WORLD”,
    “option”: “ASCII”
}
Arguments:
    “name” (required)
        Type: String
        Parameter: Previous User-defined name or default name
    “type” (required)
        Type: String
        Parameter: “rs232”, “infrared”, or “cec”
    “code” (required)
        Type: String
        Parameter: ASCII (No more than 1000 characters long)
    “option” (required)
        Type: String
        Parameter: “ASCII” or “HEX”

curl -X POST -H "Content-Type: application/json" -d '{
	"name": "Command 1",
	"type": "rs232",
	"code": "HELLO WORLD",
	"option": "ASCII"
}' "/UpdateCommsCommand"
POST /UpdateCommsCommand HTTP/1.1
Host: 
Content-Type: application/json

{
	"name": "Command 1",
	"type": "rs232",
	"code": "HELLO WORLD",
	"option": "ASCII"
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length91
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 20:25:41 GMT
{
    "status": "error",
    "error": "DATA_NOT_SAVED",
    "messages": [
        "Not saved to database."
    ],
    "data": {}
}
Status200 OK
Content-Typeapplication/json
Content-Length113
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 20:25:23 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "type": "rs232",
        "option": "ASCII",
        "code": "HELLO WORLD",
        "name": "Command 1"
    }
}

Save Communications Command

Description

[Priority: Not Recommended] Saves a macro communications command where the command is either rs232, infrared, or cec to the IP Essentials. Note: The /SaveCommsCommand API call is meant to be used for the /SendCommsData API call one of the two ways to send communications data to an IP Logic device. (See /SendCommsData API call for more information.)

Command Usage

Request Format Example 1:
{
    “name”: “Command 1”,
    “type”: “rs232”,
    “option”: “ASCII”,
    “code”: “HELLO WORLD”
}
Request Format Example 2:
{
    “name”: “Command 1”,
    “type”: “infrared”,
    “code”: “0000 006d 0026 0000 0155 00aa 0016 0015 0016 0015 0016 0040 0016 0015 0016 0015 0016 0015 0016 0014 0016 0015 0016 0040 0016 0040 0016 0015 0016 0040 0016 0040 0016 0040 0016 0040 0016 0040 0016 0015 0016 0015 0016 0040 0016 0015 0016 0015 0016 0015 0016 0040 0016 0040 0016 0040 0016 0040 0016 0015 0016 0040 0016 0040 0016 0040 0016 0014 0016 0015 0016 060b 0155 0055 0016 0e58 0155 0055 0016 00aa”
}
Arguments:
    “name” (required)
        Type: String
        Parameter: User-defined name (Must be unique)
    “type” (required)
        Type: String
        Parameter: “rs232”, “infrared”, or “cec”
    “option” (required if type is “rs232”)
        Type: String
        Parameter: “ASCII” or “HEX”
    “code” (required)
        Type: String
        Parameter: ASCII-based (No more than 1000 characters) (white spaces are removed if type is “infrared”)

curl -X POST -H "Content-Type: application/json" -d '{
	"name": "Command 1",
	"option": "ASCII",
	"type": "rs232",
	"code": "HELLO"
}' "/SaveCommsCommand"
POST /SaveCommsCommand HTTP/1.1
Host: 
Content-Type: application/json

{
	"name": "Command 1",
	"option": "ASCII",
	"type": "rs232",
	"code": "HELLO"
}
Status200 OK
Content-Typeapplication/json
Content-Length60
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 19:58:33 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "name": "Command 1"
    }
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length101
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 20:01:06 GMT
{
    "status": "error",
    "error": "DATA_NOT_SAVED",
    "messages": [
        "Not saved to database."
    ],
    "data": {}
}

Get Communications Commands

Description

[Priority: Not Recommended] Retrieve all macro communications commands of either rs232, infrared, or cec from the IP Essentials. Note: The /GetCommsCommand API call is meant to be used for the /SendCommsData API call one of the two ways to send communications data to an IP Logic device. (See /SendCommsData API call for more information.)

Command Usage

Request Format Example:
{
    “type”: “rs232”
}
Arguments:
    “type” (required)
        Type: String
        Parameter: “rs232”, “infrared”, or “cec”

curl -X POST -H "Content-Type: application/json" -d '{
	"type": "rs232"
}' "/GetCommsCommands"
POST /GetCommsCommands HTTP/1.1
Host: 
Content-Type: application/json

{
	"type": "rs232"
}
Status200 OK
Content-Typeapplication/json
Content-Length122
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 20:07:56 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "commands": [
            {
                "type": "rs232",
                "option": "ASCII",
                "code": "HELLO",
                "name": "Command 1"
            }
        ]
    }
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length101
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 20:08:35 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'type' is invalid."
    ],
    "data": {}
}

Contains all diagnostic http requests for the Zigen IP Essentials API.

Description

[Priority: Optional] Retrieve the edid binary array information as a string from a selected receiver device.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address


Description

[Priority: Optional] Retrieve the current edid settings that a selected device is currently using.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address


Description

[Priority: Optional] Retrieve the current Video Core temperature information from a selected device.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address


Description

[Priority: Not Recommended] Retrieve the Logic Core network settings information of a selected device.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address


Description

[Priority: Not Recommended] Retrieve the Video Core network settings information of a selected device.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address


Description

[Priority: Not Recommended] Retrieve the Video Core scaled stream information from a selected transmitter device.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address


Description

[Priority: Not Recommended] Retrieve the Video Core streams information from a selected device.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address


Description

[Priority: Not Recommended] Retrieve all Video Core settings information from a selected device.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address


Settings Commands Requests

Contains all general settings http requests for the Zigen IP Essentials API.

Save Device Name

Description

[Priority: Optional] Change the name of a selected device.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”,
    “name”: “TEST”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address
    “name” (required)
        Type: String
        Parameter: Must be no longer than 18 characters

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0",
	"name": "TEST"
}' "/SaveDeviceName"
POST /SaveDeviceName HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0",
	"name": "TEST"
}
Status200 OK
Content-Typeapplication/json
Content-Length51
ServerWerkzeug/0.14.1 Python/3.7.4
DateTue, 04 Feb 2020 00:00:43 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "reqId": 4
    }
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length111
ServerWerkzeug/0.14.1 Python/3.7.4
DateTue, 04 Feb 2020 00:00:06 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {
        "reqId": -1
    }
}

Discover Device

Description

[Priority: Optional] Put a selected device in discovery mode in which the leds blink for a specified duration of time.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”,
    “blinkTime”: 0
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address
    “blinkTime” (required)
        Type: integer
        Parameter: 0 to 950

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0",
	"blinkTime": 0
}' "0.0.0.0:5000/DiscoverDevice"
failed to parse url
parse 0.0.0.0:5000/DiscoverDevice: first path segment in URL cannot contain colon
Status200 OK
Content-Typeapplication/json
Content-Length42
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 19:37:06 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {}
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length115
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 19:36:54 GMT
{
    "status": "error",
    "error": "DEVICE_NOT_AVAILABLE",
    "messages": [
        "Unable to communicate with device."
    ],
    "data": {}
}

Locate Mode

Description

[Priority: Optional] Place a selected device in locate mode making the LEDs flash repeatedly to locate that certain device.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”,
    “mode”: 0
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address
    “mode” (required)
        Type: String or integer
        Parameter(String): “off” (OFF) or “on” (ON)
        Parameter(integer): 0 (OFF) or 1 (ON)

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0",
	"mode": 0
}' "/LocateMode"
POST /LocateMode HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0",
	"mode": 0
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length111
ServerWerkzeug/0.14.1 Python/3.7.4
DateTue, 04 Feb 2020 00:01:45 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {
        "reqId": -1
    }
}
Status200 OK
Content-Typeapplication/json
Content-Length51
ServerWerkzeug/0.14.1 Python/3.7.4
DateTue, 04 Feb 2020 00:01:52 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "reqId": 5
    }
}

Get Video Core Response

Description

[Priority: Optional] Retrieve the Video Core response of a previous sent Video Core API command. API calls that contains an Integer value for “reqId” in the “data” section of their return message can be used for the /GetVideoCoreResp to check if Video Core queue fulfilled the command or still waiting to finish which will be shown as SUCCESS or PENDING.

Command Usage

Request Format Example:
{
    “reqId”: 0
}
Arguments:
    “reqId” (required)
        Type: integer
        Parameter: value >= 0 to value < 300

curl -X POST -H "Content-Type: application/json" -d '{
	"reqId":1
}' "/GetVideoCoreResp"
POST /GetVideoCoreResp HTTP/1.1
Host: 
Content-Type: application/json

{
	"reqId":1
}
Status200 OK
Content-Typeapplication/json
Content-Length72
ServerWerkzeug/0.14.1 Python/3.7.4
DateTue, 04 Feb 2020 00:06:28 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "reqId": {
            "status": "NOT FOUND"
        }
    }
}
Status200 OK
Content-Typeapplication/json
Content-Length88
ServerWerkzeug/0.14.1 Python/3.7.4
DateTue, 04 Feb 2020 00:07:10 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "reqId": {
            "status": "SUCCESS",
            "time": "16:04:19"
        }
    }
}

Factory Reset

Description

[Priority: Not Recommended] Factory reset a selected device or a group of selected devices of a certain type to default settings.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”,
    “group”: null
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address or null (When “mac” is a given MAC address, “group” is ignored.)
    “group” (optional)
        Type: String
        Parameter: “all”, “receiver”, “transmitter”, or null

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0",
	"group": null
}' "/FactoryReset"
POST /FactoryReset HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0",
	"group": null
}
Status200 OK
Content-Typeapplication/json
Content-Length51
ServerWerkzeug/0.14.1 Python/3.7.4
DateTue, 04 Feb 2020 00:12:33 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "reqId": 8
    }
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length92
ServerWerkzeug/0.14.1 Python/3.7.4
DateTue, 04 Feb 2020 00:12:19 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {
        "reqId": -1
    }
}

Reboot Device

Description

[Priority: Not Recommended] Reboot a selected device or a group of selected devices of a certain type.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”,
    “group”: null
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address or null (When “mac” is a given MAC address, “group” is ignored.)
    “group” (optional)
        Type: String
        Parameter: “all”, “receiver”, “transmitter”, or null

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0",
	"group": null
}' "/RebootDevice"
POST /RebootDevice HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0",
	"group": null
}
Status200 OK
Content-Typeapplication/json
Content-Length51
ServerWerkzeug/0.14.1 Python/3.7.4
DateTue, 04 Feb 2020 00:11:08 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "reqId": 5
    }
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length92
ServerWerkzeug/0.14.1 Python/3.7.4
DateTue, 04 Feb 2020 00:10:58 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {
        "reqId": -1
    }
}

Update Device Firmware to Device

Description

[Priority: Not Recommended] Update firmware of the Logic Core of a selected device or update firmware of the Cage system of a selected device. The “force update” argument will update the selected device regardless if the firmware is the same, older, or newest firmware.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address
    “force update” (if omitted, Disable by default)
        Type: String
        Parameter: “true” (Enable) or “false” (Disable)
        Type: Boolean
        Parameter: true (Enable) or false (Disable)

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0",
	"force update": "true"
}' "/UpdateDeviceFirmwaretoDevice"
POST /UpdateDeviceFirmwaretoDevice HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0",
	"force update": "true"
}

Check Device Firmware Update

Description

[Priority: Not Recommended] Check for available firmware or if firmware is up to date for the Logic Core of a selected device or of the Cage system of a selected device.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0"
}' "/CheckDeviceFirmwareUpdate"
POST /CheckDeviceFirmwareUpdate HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0"
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length81
ServerWerkzeug/0.14.1 Python/3.7.4
DateTue, 04 Feb 2020 00:15:02 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {}
}
Status200 OK
Content-Typeapplication/json
Content-Length126
ServerWerkzeug/0.14.1 Python/3.7.4
DateTue, 04 Feb 2020 00:15:00 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "Update": "Firmware already current.",
        "current version": "2.0.6",
        "new version": "2.0.6"
    }
}

Get Device Firmware Progress

Description

[Priority: Not Recommended] Check the firmware progess of the Logic Core of a selected device or check the firmware progress of the Cage system of a selected device when being updated.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0"
}' "/GetDeviceFirmwareProgress"
POST /GetDeviceFirmwareProgress HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0"
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length81
ServerWerkzeug/0.14.1 Python/3.7.4
DateTue, 04 Feb 2020 00:13:52 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {}
}
Status200 OK
Content-Typeapplication/json
Content-Length68
ServerWerkzeug/0.14.1 Python/3.7.4
DateTue, 04 Feb 2020 00:14:08 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "update in progress": false
    }
}

Set Video Core Static Mode

Description

[Priority: Not Recommended] Set a selected device to static mode for Logic Core for network settings.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”,
    “ip_address”: “192.168.0.10”,
    “subnet_mask”: “255.255.255.0”,
    “default_gateway”: “192.168.0.1”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address
    “ip_address” (required)
        Type: String
        Parameter: A valid IP address
    “subnet_mask” (required)
        Type: String
        Parameter: A valid subnet mask
    “default_gateway” (required)
        Type: String
        Parameter: A valid default gateway

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0",
	"ip_address": "192.168.0.10",
	"subnet_mask": "255.255.255.0",
	"default_gateway": "192.168.0.1"
}' "/SetVideoCoreStaticMode"
POST /SetVideoCoreStaticMode HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0",
	"ip_address": "192.168.0.10",
	"subnet_mask": "255.255.255.0",
	"default_gateway": "192.168.0.1"
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length111
ServerWerkzeug/0.14.1 Python/3.7.4
DateTue, 04 Feb 2020 00:25:51 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {
        "reqId": -1
    }
}
Status200 OK
Content-Typeapplication/json
Content-Length52
ServerWerkzeug/0.14.1 Python/3.7.4
DateTue, 04 Feb 2020 00:26:01 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "reqId": 11
    }
}

Set Video Core DHCP

Description

[Priority: Not Recommended] Set a selected device to DHCP mode for Video Core for network settings.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0"
}' "/SetVideoCoreDHCP"
POST /SetVideoCoreDHCP HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0"
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length111
ServerWerkzeug/0.14.1 Python/3.7.4
DateTue, 04 Feb 2020 00:04:04 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {
        "reqId": -1
    }
}
Status200 OK
Content-Typeapplication/json
Content-Length51
ServerWerkzeug/0.14.1 Python/3.7.4
DateTue, 04 Feb 2020 00:04:18 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "reqId": 4
    }
}

Get Ip Logic Settings

Description

[Priority: Not Recommended] Retrieve the Logic Core information of a selected device.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0"
}' "/GetIpLogicSettings"
POST /GetIpLogicSettings HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0"
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length100
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 23:46:37 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {}
}
Status200 OK
Content-Typeapplication/json
Content-Length1107
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 23:46:48 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "name": "TEST_TX",
        "device_mac": "70b3d573942a",
        "device_serial": "IPL9B2B208A04EDA",
        "udp_id": 34,
        "device_network_settings": {
            "network": {
                "static_ip_address": "192.168.0.10",
                "dhcpmode": "dhcp",
                "hostname": "IPTX-IPL9B2B208A04EDA",
                "subnet_mask": "255.255.255.0",
                "gateway": "192.168.0.1",
                "current_ip": "192.168.0.119"
            },
            "system": {
                "unitID": "0000",
                "groupID": "0000",
                "init": true,
                "fwstatus": 0,
                "version": "2.0.6",
                "serial": "IPL9B2B208A04EDA",
                "device_mac": "70b3d573942a",
                "builddate": "Nov  4 2019",
                "buildtime": "17:41:29",
                "hardware_revision": "00",
                "type": "dev_type_tx",
                "bach_mac": "70b3d573942b",
                "blueriver_mac": "70b3d5739429",
                "icron_mac": "70b3d573942c"
            },
            "audio": {
                "volume": 1,
                "mute": false,
                "tune_control": "disabled",
                "peq_presets": "flat",
                "band0": 47,
                "band1": 57,
                "band2": 27,
                "band3": 77,
                "band4": 87,
                "bass_tone": 47,
                "treble": 95,
                "surround": true,
                "surround_level": 0,
                "bass_toggle": true,
                "bass_cut": 200,
                "enable_HP_cut": true,
                "bass_level": 7,
                "main_level": 5,
                "delay_ctrl": true,
                "delay_level": 500,
                "src_sel": "ARC"
            }
        },
        "fw_status": 0,
        "version": "2.0.6",
        "hardware_revision": "00",
        "builddate": "Nov  4 2019",
        "buildtime": "17:41:29"
    }
}

Set Device Static Mode

Description

[Priority: Not Recommended] Set a selected device to static mode for Logic Core for network settings.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”,
    “ip_address”: “192.168.0.10”,
    “subnet_mask”: “255.255.255.0”,
    “default_gateway”: “192.168.0.1”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address
    “ip_address” (required)
        Type: String
        Parameter: A valid IP address
    “subnet_mask” (required)
        Type: String
        Parameter: A valid subnet mask
    “default_gateway” (required)
        Type: String
        Parameter: A valid default gateway

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0",
	"ip_address": "192.168.0.10",
	"subnet_mask": "255.255.255.0",
	"default_gateway": "192.168.0.1"
}' "/SetDeviceStaticMode"
POST /SetDeviceStaticMode HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0",
	"ip_address": "192.168.0.10",
	"subnet_mask": "255.255.255.0",
	"default_gateway": "192.168.0.1"
}

Set Device DHCP

Description

[Priority: Not Recommended] Set a selected device to DHCP mode for Logic Core for network settings.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0"
}' "/SetDeviceDHCP"
POST /SetDeviceDHCP HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0"
}

Save Device Notes

Description

[Priority: Not Recommended] Save notes information from a selected device to the IP Essentials.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”,
    “notes”: “This device works great!”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address
    “notes” (required)
        Type: String
        Parameter: ASCII (No more than 1000 characters long) or null

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0",
	"notes": "This device works great!"
}' "/SaveDeviceNotes"
POST /SaveDeviceNotes HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0",
	"notes": "This device works great!"
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length101
ServerWerkzeug/0.14.1 Python/3.7.4
DateTue, 04 Feb 2020 00:15:53 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {}
}
Status200 OK
Content-Typeapplication/json
Content-Length76
ServerWerkzeug/0.14.1 Python/3.7.4
DateTue, 04 Feb 2020 00:16:01 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "notes": "This device works great!"
    }
}

Get Device Notes

Description

[Priority: Not Recommended] Retrieve notes information from a selected device stored from the IP Essentials.

Command Usage

Request Format Example:
{
    “mac”: “801f41123fa0”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0"
}' "/GetDeviceNotes"
POST /GetDeviceNotes HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0"
}
Status200 OK
Content-Typeapplication/json
Content-Length76
ServerWerkzeug/0.14.1 Python/3.7.4
DateTue, 04 Feb 2020 00:16:59 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "notes": "This device works great!"
    }
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length101
ServerWerkzeug/0.14.1 Python/3.7.4
DateTue, 04 Feb 2020 00:16:52 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {}
}

Add Devices to Cage

Description

[Priority: Not Recommended] Add devices to a selected cage device system to be monitored and placed into the cage.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”,
    “deviceList”: [“801f124166b8”,“801f12416fb3”]
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address
    “deviceList” (required)
        Type: String
        Parameter: An array of MAC addresses (Up to 10 MAC addresses) or empty array []

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0",
	"deviceList": ["801f124166b8","801f12416fb3"]
}' "/AddDevicestoCage"
POST /AddDevicestoCage HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0",
	"deviceList": ["801f124166b8","801f12416fb3"]
}

Get AES67 PTP Master

Description

[Priority: Not Recommended] Get the PTP master from a list of available transmitter devices. Note: There can only be one PTP master selected on a given network.

Command Usage

Request Format Example:
{

} Arguments: None

curl -X GET "/GetAES67PTPMaster"
GET /GetAES67PTPMaster HTTP/1.1
Host: 

Reset AES67 PTP Master

Description

[Priority: Not Recommended] Reset the stored PTP master file and checks if there is a new PTP master from a list of available transmitter devices. Note: There can only be one PTP master selected on a given network.

Command Usage

Request Format Example:
{

} Arguments: None

curl -X POST "/ResetAES67PTPMaster"
POST /ResetAES67PTPMaster HTTP/1.1
Host: 

Admin Settings Commands Requests

Contains all admin settings http requests for the Zigen IP Essentials API.

Factory Reset Server

Description

[Priority: Not Recommended] Factory reset for the IP Essentials.

Command Usage

Request Format Example:
{

} Arguments: None

curl -X POST -H "Content-Type: application/json" -d '{
	
}' "/FactoryResetServer"
POST /FactoryResetServer HTTP/1.1
Host: 
Content-Type: application/json

{
	
}

Reboot Server

Description

[Priority: Not Recommended] Reboot the IP Essentials.

Command Usage

Request Format Example:
{

} Arguments: None

curl -X POST -H "Content-Type: application/json" -d '{
	
}' "/RebootServer"
POST /RebootServer HTTP/1.1
Host: 
Content-Type: application/json

{
	
}

Get Server Admin Details

Description

[Priority: Not Recommended] Retrieve admin information from the IP Essentials.

Command Usage

Request Format Example:
{

} Arguments: None

curl -X POST -H "Content-Type: application/json" -d '{
	
}' "/GetServerAdminDetails"
POST /GetServerAdminDetails HTTP/1.1
Host: 
Content-Type: application/json

{
	
}

Get Server Temperature

Description

[Priority: Not Recommended] Retrieve temperature information in Celsius from the IP Essentials.

Command Usage

Request Format Example:
{

} Arguments: None

curl -X POST -H "Content-Type: application/json" -d '{
	
}' "/GetServerTemperature"
POST /GetServerTemperature HTTP/1.1
Host: 
Content-Type: application/json

{
	
}

Get Server MAC Addresses

Description

[Priority: Not Recommended] Retrieve MAC addresses from the IP Essentials.

Command Usage

Request Format Example:
{

} Arguments: None

curl -X POST -H "Content-Type: application/json" -d '{
	
}' "/GetServerMACAddresses"
POST /GetServerMACAddresses HTTP/1.1
Host: 
Content-Type: application/json

{
	
}

Get Server IP

Description

[Priority: Not Recommended] Retrieve IP address information from the IP Essentials.

Command Usage

Request Format Example:
{

} Arguments: None

curl -X POST -H "Content-Type: application/json" "/GetServerIP"
POST /GetServerIP HTTP/1.1
Host: 
Content-Type: application/json

Save Admin Notes

Description

[Priority: Not Recommended] Save admin notes information to the IP Essentials.

Command Usage

Request Format Example:
{
    “notes”: “This device works great!”
}
Arguments:
    “notes” (required)
        Type: String
        Parameter: ASCII (No more than 1000 characters long)

curl -X POST -H "Content-Type: application/json" -d '{
	"notes": "This device works great!"
}' "/SaveAdminNotes"
POST /SaveAdminNotes HTTP/1.1
Host: 
Content-Type: application/json

{
	"notes": "This device works great!"
}

Get Admin Notes

Description

[Priority: Not Recommended] Retrieve notes information stored from the IP Essentials.

Command Usage

Request Format Example:
{

} Arguments: None

curl -X GET -H "Content-Type: application/json" "/GetAdminNotes"
GET /GetAdminNotes HTTP/1.1
Host: 
Content-Type: application/json

Get Server Version

Description

[Priority: Not Recommended] Retrieve the current version number of the IP Essentials.

Command Usage

Request Format Example:
{

} Arguments: None

curl -X GET -H "Content-Type: application/json" "/GetServerVersion"
GET /GetServerVersion HTTP/1.1
Host: 
Content-Type: application/json
Status200 OK
Content-Typeapplication/json
Content-Length59
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 17:55:41 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "version": "0.0.0"
    }
}

Device Info Retrieval Commands Requests

Contains all device information retrieval http requests for the Zigen IP Essentials API.

Get Device List

Description

[Priority: Recommended] Retrieves either all transmitters, all receivers, all cages, or all devices basic information from the IP Essentials with the given option to retrieve basic information from connected devices only, disconnected devices only, or all devices regardless of connected or disconnected. The basic information being the name of device, MAC addresses, serial number, type of device, url image, unique color id, and video configurations. Note: If either “type”, “connection”, or both are omitted then the default value(s) will be “all”.

Command Usage

Request Format Example:
{
    “type”: “all”,
    “connection”: “online”
}
Arguments:
    “type” (optional)
        Type: String
        Parameter: “transmitter”, “receiver”, “cage”, or “all”
    “connection” (optional)
        Type: String
        Parameter: “online”, “offline”, or “all”

curl -X POST -H "Content-Type: application/json" -d '{
	"type": "all",
	"connection": "online"
}' "/GetDeviceList"
POST /GetDeviceList HTTP/1.1
Host: 
Content-Type: application/json

{
	"type": "all",
	"connection": "online"
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length101
ServerWerkzeug/1.0.0 Python/3.7.4
DateWed, 12 Feb 2020 18:58:04 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'type' is invalid."
    ],
    "data": {}
}
Status200 OK
Content-Typeapplication/json
Content-Length809
ServerWerkzeug/1.0.0 Python/3.7.4
DateWed, 12 Feb 2020 18:57:05 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": {
        "devices": [
            {
                "name": "Test_RX1",
                "zigen_mac": "70b3d57393eb",
                "mac": "70b3d57393ea",
                "usb_mac": "70b3d57393ec",
                "serialnumber": "IPLB601DE5B1FEDA",
                "type": "receiver",
                "url": "/static/images/tv_icon_zigen.png",
                "color_id": "#2136FA",
                "videoconfig": {
                    "mode": "MULTIVIEW",
                    "fps": 30,
                    "width": 1920,
                    "height": 1080,
                    "autoscale": true,
                    "routeAudio": true
                }
            },
            {
                "name": "Test_TX1",
                "zigen_mac": "70b3d573942a",
                "mac": "70b3d5739429",
                "usb_mac": "70b3d573942c",
                "aes67_mac": "70b3d573942b",
                "serialnumber": "IPL9B2B208A04EDA",
                "type": "transmitter",
                "url": "/static/images/source_blue.png",
                "color_id": "#DABC9E",
                "videoconfig": {
                    "fps": 0,
                    "width": 0,
                    "height": 0
                }
            },
            {
                "name": "IP Logic Cage7",
                "zigen_mac": "0085ec000000",
                "mac": "0085ec000000",
                "serialnumber": "IPL434D081357EEA",
                "type": "cage",
                "url": null,
                "color_id": null
            }
        ]
    }
}

Get All Device List (Deprecated)

Description

Deprecated API call will still be supported. Recommended to use /GetDeviceList API call instead.
[Priority: Optional] Retrieves all devices basic information from the IP Essentials regardless if whether the devices are connected or disconnected. The basic information being the name of device, MAC addresses, serial number, type of device, url image, unique color id, and video configurations.

Command Usage

Request Format Example:
{

} Arguments: None

curl -X GET -H "Content-Type: application/json" "/GetAllDeviceList"
GET /GetAllDeviceList HTTP/1.1
Host: 
Content-Type: application/json
Status200 OK
Content-Typeapplication/json
Content-Length545
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 17:22:27 GMT
{
    "devices": [
        {
            "name": "TEST_TX",
            "zigen_mac": "70b3d573942a",
            "mac": "70b3d5739429",
            "usb_mac": "70b3d573942c",
            "aes67_mac": "70b3d573942b",
            "serialnumber": "IPL9B2B208A04EDA",
            "type": "transmitter",
            "url": "/static/images/source_blue.png",
            "color_id": "#DABC9E"
        },
        {
            "name": "TEST_RX",
            "zigen_mac": "70b3d57393eb",
            "mac": "70b3d57393ea",
            "usb_mac": "70b3d57393ec",
            "serialnumber": "IPLB601DE5B1FEDA",
            "type": "receiver",
            "url": "/static/images/tv_icon_zigen.png",
            "color_id": "#2136FA",
            "videoconfig": {
                "mode": "GENLOCK_MODE",
                "fps": 60,
                "width": 3840,
                "height": 2160,
                "autoscale": true
            }
        }
    ]
}

Get All Online Device List (Deprecated)

Description

Deprecated API call will still be supported. Recommended to use /GetDeviceList API call instead.
[Priority: Optional] Retrieves all connected devices basic information from the IP Essentials. The basic information being the name of device, MAC addresses, serial number, type of device, url image, unique color id, and video configurations.

Command Usage

Request Format Example:
{

} Arguments: None

curl -X GET -H "Content-Type: application/json" "/GetAllOnlineDeviceList"
GET /GetAllOnlineDeviceList HTTP/1.1
Host: 
Content-Type: application/json
Status200 OK
Content-Typeapplication/json
Content-Length545
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 17:17:44 GMT
{
    "devices": [
        {
            "name": "TEST_TX",
            "zigen_mac": "70b3d573942a",
            "mac": "70b3d5739429",
            "usb_mac": "70b3d573942c",
            "aes67_mac": "70b3d573942b",
            "serialnumber": "IPL9B2B208A04EDA",
            "type": "transmitter",
            "url": "/static/images/source_blue.png",
            "color_id": "#DABC9E"
        },
        {
            "name": "TEST_RX",
            "zigen_mac": "70b3d57393eb",
            "mac": "70b3d57393ea",
            "usb_mac": "70b3d57393ec",
            "serialnumber": "IPLB601DE5B1FEDA",
            "type": "receiver",
            "url": "/static/images/tv_icon_zigen.png",
            "color_id": "#2136FA",
            "videoconfig": {
                "mode": "GENLOCK_MODE",
                "fps": 60,
                "width": 3840,
                "height": 2160,
                "autoscale": true
            }
        }
    ]
}

Get Transmitter List (Deprecated)

Description

Deprecated API call will still be supported. Recommended to use /GetDeviceList API call instead.
[Priority: Optional] Retrieves all transmitter devices basic information from the IP Essentials if the device is connected. The basic information being the name of device, MAC addresses, serial number, type of device, url image, unique color id, and video configurations.

Command Usage

Request Format Example:
{

} Arguments: None

curl -X GET -H "Content-Type: application/json" "/GetTransmitterList"
GET /GetTransmitterList HTTP/1.1
Host: 
Content-Type: application/json
Status200 OK
Content-Typeapplication/json
Content-Length253
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 17:20:15 GMT
{
    "transmitters": [
        {
            "name": "TEST_TX",
            "zigen_mac": "70b3d573942a",
            "mac": "70b3d5739429",
            "usb_mac": "70b3d573942c",
            "aes67_mac": "70b3d573942b",
            "serialnumber": "IPL9B2B208A04EDA",
            "type": "transmitter",
            "url": "/static/images/source_blue.png",
            "color_id": "#DABC9E"
        }
    ]
}

Get Receiver List (Deprecated)

Description

Deprecated API call will still be supported. Recommended to use /GetDeviceList API call instead.
[Priority: Optional] Retrieves all receiver devices basic information from the IP Essentials if the device is connected. The basic information being the name of device, MAC addresses, serial number, type of device, url image, unique color id, and video configurations.

Command Usage

Request Format Example:
{

} Arguments: None

curl -X GET -H "Content-Type: application/json" "/GetReceiverList"
GET /GetReceiverList HTTP/1.1
Host: 
Content-Type: application/json
Status200 OK
Content-Typeapplication/json
Content-Length331
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 17:21:24 GMT
{
    "receivers": [
        {
            "name": "TEST_RX",
            "zigen_mac": "70b3d57393eb",
            "mac": "70b3d57393ea",
            "usb_mac": "70b3d57393ec",
            "serialnumber": "IPLB601DE5B1FEDA",
            "type": "receiver",
            "url": "/static/images/tv_icon_zigen.png",
            "color_id": "#2136FA",
            "videoconfig": {
                "mode": "GENLOCK_MODE",
                "fps": 60,
                "width": 3840,
                "height": 2160,
                "autoscale": true,
                "routeAudio": true
            }
        }
    ]
}

Grouping Commands Requests

Contains all grouping http requests for the Zigen IP Essentials API.

Create Device Group

Description

[Priority: Optional] Create a custom group of selected devices, must specify a custom group name and group type, to be used to control all devices in that certain group. If same name already exists for a group, adds a number to differentiate groups with same name (e.g. if group “Theater” exists then new group with same name will be called “Theater_1”)

Command Usage

Request Format Example:
{
    “name”: “ZigenGroup”,
    “deviceList”: [
        {
            “mac”: “801f12413fa0”
        },
        {
            “mac”: “801f124166b8”
        },
        {
            “mac”: “801f12415454”
        }
    ],
    “type”: “video”
}
Arguments:
    “name” (if omitted, a default name will be given)
        Type: String
        Parameter: Custom group name
    “deviceList” (required)
        Type: String
        Parameter: An array of MAC addresses
    “type” (required)
        Type: String
        Parameter: “video”, “audio”, “infrared”, “rs232”, “usb”, or “cec”

curl -X POST -H "Content-Type: application/json" -d '{
	"name": "ZigenGroup",
	"deviceList": [
		{
			"mac": "801f12413fa0"
		},
		{
			"mac": "801f124166b8"
		},
		{
			"mac": "801f12415454"
		}
	],
	"type": "video"
}' "/CreateDeviceGroup"
POST /CreateDeviceGroup HTTP/1.1
Host: 
Content-Type: application/json

{
	"name": "ZigenGroup",
	"deviceList": [
		{
			"mac": "801f12413fa0"
		},
		{
			"mac": "801f124166b8"
		},
		{
			"mac": "801f12415454"
		}
	],
	"type": "video"
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length92
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 17:34:48 GMT
{
    "status": "error",
    "error": "DATA_NOT_SAVED",
    "messages": [
        "Not saved to database."
    ],
    "data": {}
}
Status200 OK
Content-Typeapplication/json
Content-Length54
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 17:24:08 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": "ZigenGroup_1"
}

Update Device Group

Description

[Priority: Optional] Update a group with selected devices, must specify an existing group name to be updated.

Command Usage

Request Format Example:
{
    “name”: “ZigenGroup”,
    “deviceList”: [
        {
            “mac”: “801f12413fa0”
        },
        {
            “mac”: “801f124166b8”
        },
        {
            “mac”: “801f12415454”
        }
    ]
}
Arguments:
    “name” (required)
        Type: String
        Parameter: Name of group to be updated with new device list.
    “deviceList” (required)
        Type: String
        Parameter: An array of MAC addresses that will be the new set of members of the group specified.

curl -X POST -H "Content-Type: application/json" -d '{
	"name": "ZigenGroup",
	"deviceList": [
		{
			"mac": "801f12413fa0"
		},
		{
			"mac": "801f124166b8"
		},
		{
			"mac": "801f12415454"
		}
	]
}' "/UpdateDeviceGroup"
POST /UpdateDeviceGroup HTTP/1.1
Host: 
Content-Type: application/json

{
	"name": "ZigenGroup",
	"deviceList": [
		{
			"mac": "801f12413fa0"
		},
		{
			"mac": "801f124166b8"
		},
		{
			"mac": "801f12415454"
		}
	]
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length87
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 17:45:23 GMT
{
    "status": "error",
    "error": "DATA_NOT_FOUND",
    "messages": [
        "No group found by name."
    ],
    "data": {}
}
Status200 OK
Content-Typeapplication/json
Content-Length52
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 17:36:50 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": "ZigenGroup"
}

Get Device Group

Description

[Priority: Optional] Retrieve all MAC addresses from a custom group, must specify the custom group name. If “type” is omitted, then all MAC addresses and its associated type with the specified group name will be retrieved.

Command Usage

Request Format Example:
{
    “name”: “ZigenGroup”,
    “type”: “video”
}
Arguments:
    “name” (optional if type is given)
        Note: Can be omitted if “type” is given, returns all groups of that certain type.
        Type: String
        Parameter: Custom group name
    “type” (optional if name is given)
        Note: Optional. Omit to get all types.
        Type: String
        Parameter: “video”, “audio”, “infrared”, “rs232”, “usb”, or “cec”

curl -X POST -H "Content-Type: application/json" -d '{
	"name": "ZigenGroup",
	"type": "video"
}' "/GetDeviceGroup"
POST /GetDeviceGroup HTTP/1.1
Host: 
Content-Type: application/json

{
	"name": "ZigenGroup",
	"type": "video"
}
Status200 OK
Content-Typeapplication/json
Content-Length100
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 17:48:24 GMT
{
    "status": "error",
    "error": "DATA_NOT_FOUND",
    "messages": [
        "No groups found for given parameters."
    ],
    "data": {}
}
Status200 OK
Content-Typeapplication/json
Content-Length123
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 17:47:22 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": [
        {
            "name": "ZigenGroup_1",
            "devices": [
                {
                    "mac": "70b3d5739429"
                },
                {
                    "mac": "70b3d57393ea"
                }
            ]
        }
    ]
}

Rename Device Group

Description

[Priority: Optional] Rename an existing device group with a new given name.

Command Usage

Request Format Example:
{
    “name”: “ZigenGroup”,
    “new name”: “Best Group”
}
Arguments:
    “name” (required)
        Type: String
        Parameter: Name of group that needs its name changed.
    “new name” (required)
        Type: String
        Parameter: Set to desired new name.

curl -X POST -H "Content-Type: application/json" -d '{
	"name": "Group_1",
	"new name": "Zigen Group"
}' "/RenameDeviceGroup"
POST /RenameDeviceGroup HTTP/1.1
Host: 
Content-Type: application/json

{
	"name": "Group_1",
	"new name": "Zigen Group"
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length95
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 17:51:23 GMT
{
    "status": "error",
    "error": "DATA_NOT_SAVED",
    "messages": [
        "Not saved to database."
    ],
    "data": {}
}
Status200 OK
Content-Typeapplication/json
Content-Length87
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 17:50:21 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": "Group 'ZigenGroup_1' renamed to 'LivingRoom'."
}

Delete Device Group

Description

[Priority: Optional] Deletes an existing device group.

Command Usage

Request Format Example:
{
    “name”: “ZigenGroup”
}
Arguments:
    “name” (required)
        Type: String
        Parameter: Name of group to be deleted.

curl -X POST -H "Content-Type: application/json" -d '{
	"name": "ZigenGroup"
}' "/DeleteDeviceGroup"
POST /DeleteDeviceGroup HTTP/1.1
Host: 
Content-Type: application/json

{
	"name": "ZigenGroup"
}
Status200 OK
Content-Typeapplication/json
Content-Length70
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 17:51:59 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": "Group: 'LivingRoom' deleted."
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length87
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 17:52:26 GMT
{
    "status": "error",
    "error": "DATA_NOT_FOUND",
    "messages": [
        "No group found by name."
    ],
    "data": {}
}

Save Device Color Id

Description

[Priority: Not Recommended] Save a color ID for a selected device to the IP Essentials, which will be used for visual identification.

Command Usage

Request Format Example:
{
    “mac”: “801f12413fa0”
    “color”: “#FFFFFF”
}
Arguments:
    “mac” (required)
        Type: String
        Parameter: MAC address
    “color” (required)
        Type: String
        Parameter: “#000000” to “#FFFFFF”

curl -X POST -H "Content-Type: application/json" -d '{
	"mac": "801f12413fa0",
	"color": "#FFFFFF"
}' "/SaveDeviceColorId"
POST /SaveDeviceColorId HTTP/1.1
Host: 
Content-Type: application/json

{
	"mac": "801f12413fa0",
	"color": "#FFFFFF"
}
Status400 BAD REQUEST
Content-Typeapplication/json
Content-Length97
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 17:53:38 GMT
{
    "status": "error",
    "error": "PARAMETER_INVALID",
    "messages": [
        "Parameter 'mac' is invalid."
    ],
    "data": {}
}
Status200 OK
Content-Typeapplication/json
Content-Length44
ServerWerkzeug/0.14.1 Python/3.7.4
DateMon, 03 Feb 2020 17:54:16 GMT
{
    "status": "success",
    "error": "",
    "messages": [],
    "data": true
}