Back to top

Fx4 API

This document describes how to interact with the Datapath Fx4 over ethernet using the REST API.

REST API

The Datapath Fx4 can be configured by issuing HTTP GET and POST requests over ethernet. HTTP is a standard protocol which is supported natively by many different programming languages. As such no Datapath proprietary libraries or drivers are needed to communicate with the Fx4 using this interface.

All GET requests and POST responses are encoded in JSON which is a flexible and compact format also supported by many programming languages. For GET requests the contents of the JSON response depends on the API call (see reference). If an error occurs something similar to the following will be returned:

{ “Success”:false, “ErrorMessage”:“Invalid input”, “ErrorCode”:-9 }

In this case, the error code is -9 which resolves to the string “Invalid input”. This is a common error that will occur if a GET requests is issued on a API call which requires an input number but none is given or is out of range.

Likewise for POST responses, errors are indicated as above. In the case of success the following response will be returned:

{ “Success”:true }

Regardless of error or success the HTTP status code returned is always 200, the body contents must be parsed to detect errors.

The functions generally fall into one of 3 categories: Device, Input and Output. The Device functions are settings which affect the device as a whole, the Input and Output functions can be set on a per input or output basis.

If a password is set on the device then all POST requests must have a “Password” member which matches the password that has been set. See Password.cgx for more details.

Device properties

Serial Number

Get Serial Number
GET/SerialNumber.cgx

Get the unique serial number of the device.

Example URI

GET /SerialNumber.cgx
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "SerialNumber": "123456789000DA"
}

System Info

Get System Info
GET/SystemInfo.cgx

Get the firmware, config, hardware and FPGA version numbers of the device along with the build date and time of the application and bootloader.

Example URI

GET /SystemInfo.cgx
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "FirmwareVersion": 261,
  "ConfigVersion": 256,
  "HardwareVersion": 1,
  "FPGAVersion": 5,
  "ApplicationBuildDate": "Apr 20 2016",
  "ApplicationBuildTime": "13:12:50",
  "BootloaderBuildDate": "Apr 20 2016",
  "BootloaderBuildTime": "14:55:01"
}

System Health

Get System Health
GET/SystemHealth.cgx

Get power supply state and temperature.

Example URI

GET /SystemHealth.cgx
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "PowerSupply": {
    "IO": true,
    "1.8V": true,
    "1.2V": true
  },
  "Temperature": {
    "Average": 34.312,
    "Maximum": 39,
    "Minimum": 23
  }
}

Friendly Name

Friendly name is a user-configurable name used to identify the device. This is the name which will appear in Windows Explorer Network section under Other Devices.

Get Friendly Name
GET/FriendlyName.cgx

Example URI

GET /FriendlyName.cgx
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "FriendlyName": "Datapath Fx4"
}

Set Friendly Name
POST/FriendlyName.cgx

Example URI

POST /FriendlyName.cgx
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "FriendlyName": "My Fx4"
}
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "Success": true
}

Network Settings

Get Network Settings
GET/NetworkSettings.cgx

Get the current network settings. If the device is using a static IP address then the values returned are those configured manually. If the device is set up to use DHCP then the values returned are those obtained from the DHCP server. The MAC address is unaffected by the IP configuration and is simply returned for information.

Example URI

GET /NetworkSettings.cgx
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "MACAddress": "00:55:DA:40:02:DA",
  "DHCP": false,
  "IPAddress": "192.168.1.2",
  "Gateway": "192.168.1.1",
  "Subnet": "255.255.255.0"
}

Set Network Settings
POST/NetworkSettings.cgx

For dynamic IP address assignment set DHCP to true, the other fields are then not required. For static IP address configuration set DHCP to false and specify an IPAddress, Gateway and Subnet.

Example URI

POST /NetworkSettings.cgx
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "DHCP": false,
  "IPAddress": "192.168.1.2",
  "Gateway": "192.168.1.1",
  "Subnet": "255.255.255.0"
}
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "Success": true
}

Password

Set Password
POST/Password.cgx

Password protect the Fx4. Once a password is set all future post requests must contain a “Password” member which matches the password that has been set. If the password does not match, ERR_INVALID_PASSWORD will be returned. To change an existing password, the old password must be provided as a “Password” member and the new password provided in “NewPassword”. If the password is forgotten, it must be rest via the USB interface. To remove password protection, set an empty string.

Example URI

POST /Password.cgx
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "NewPassword": "secret"
}
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "Success": true
}

Smoothness

Get and set the scaling optimisation for video or text.

Set Smoothness to 0 for text optimisation. Set Smoothness to non-zero for video optimisation.

Get Smoothness
GET/Smoothness.cgx

Example URI

GET /Smoothness.cgx
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "Smoothness": 0
}

Set Smoothness
POST/Smoothness.cgx

Example URI

POST /Smoothness.cgx
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "Smoothness": 0
}
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "Success": true
}

No Signal Behaviour

Get and set the no signal behaviour of the outputs if no inputs are connected.

Set to true if outputs should not output a signal if no inputs are connected.

Get No Signal Behaviour
GET/OutputNoSignal.cgx

Example URI

GET /OutputNoSignal.cgx
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "NoSignal": true
}

Set No Signal Behaviour
POST/OutputNoSignal.cgx

Example URI

POST /OutputNoSignal.cgx
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "NoSignal": true
}
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "Success": true
}

Preferred Input

Get Preferred Input
GET/PreferredInput.cgx

Get which input is preferred. Note that if the selected input has no signal it may fall back to using a different input. ActiveInput.cgx can be used to get the currently selected input.

Example URI

GET /PreferredInput.cgx
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "Input": 0
}

Set Preferred Input
POST/PreferredInput.cgx

Select which input is preferred as the active source. If the selected input is not available it will fall back to inputs in the following order: 2, 0, 1. A value of null can be used to indicate no preferred input.

Example URI

POST /PreferredInput.cgx
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "Input": 0
}
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "Success": true
}

Active Input

Get Active Input
GET/ActiveInput.cgx

Get which input is currently being used as the source. If none of the inputs have a signal then a value of null will be returned.

Example URI

GET /ActiveInput.cgx
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "Input": 0
}

Save Settings

Save Settings
POST/SaveSettings.cgx

Commit settings to flash memory, this must be called so settings are restored upon device reboot. WARNING: Don’t call this too frequently because there is a limited number of write operations support for the lifetime of the device. The Fx4 supports a minimum of 10K, typically 100K.

Example URI

POST /SaveSettings.cgx
Request
HideShow
Headers
Content-Type: application/json
Body
{}
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "Success": true
}

Reset Settings

Reset Settings
POST/ResetSettings.cgx

Reset all settings, apart from the network settings unless specified. To reset network settings at the same time, ResetIP must be true. WARNING: The default network settings have DHCP enabled. If ResetIP is true and a static IP address was configured, this will be reset to DHCP enabled and your current IP address may change.

Example URI

POST /ResetSettings.cgx
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "ResetIP": false,
  "ResetFriendlyName": true
}
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "Success": true
}

Reboot Device

Reboot Device
POST/RebootDevice.cgx

Soft reboot the device. Although you will get a response, the device will become unresponsive for a short period until it has fully initialised again.

Example URI

POST /RebootDevice.cgx
Request
HideShow
Headers
Content-Type: application/json
Body
{}
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "Success": true
}

Input properties

Input Current Timings

Get Input Current Timings
GET/InputCurrentTimings.cgx{?input}

Get the current timings of the specified input. For an SDI input, an extra option of SDILevel is available to indicate level A or level B. The available colour space strings are “RGB 709”, “RGB 601”, “YUV 709”, “YUV 601”, “RGB 2020” and “YUV 2020”. The available colour range strings are “Full” and “Limited”. The available subsampling strings are “4:4:4”, “4:2:2” and “4:2:0”.

Example URI

GET /InputCurrentTimings.cgx?input=0
URI Parameters
HideShow
input
number (required) Example: 0
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "HorFrequency": 67432,
  "VerFrequency": 59939,
  "PixelClock": 148351478,
  "Flags": 0,
  "HorAddrTime": 1920,
  "HorRightBorder": 0,
  "HorFrontPorch": 44,
  "HorSyncTime": 88,
  "HorBackPorch": 148,
  "HorLeftBorder": 0,
  "VerAddrTime": 1080,
  "VerBottomBorder": 0,
  "VerFrontPorch": 4,
  "VerSyncTime": 5,
  "VerBackPorch": 36,
  "VerTopBorder": 0,
  "SDILevel": "A",
  "ColourSpace": "RGB 709",
  "ColourRange": "Full",
  "Subsampling": "4:4:4"
}

Input Preferred Timings

Get and set the input preferred timings.

Get Input Preferred Timings
GET/InputPreferredTimings.cgx{?input}

Example URI

GET /InputPreferredTimings.cgx?input=0
URI Parameters
HideShow
input
number (required) Example: 0
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "HorFrequency": 67432,
  "VerFrequency": 59939,
  "PixelClock": 148351478,
  "Flags": 0,
  "HorAddrTime": 1920,
  "HorRightBorder": 0,
  "HorFrontPorch": 44,
  "HorSyncTime": 88,
  "HorBackPorch": 148,
  "HorLeftBorder": 0,
  "VerAddrTime": 1080,
  "VerBottomBorder": 0,
  "VerFrontPorch": 4,
  "VerSyncTime": 5,
  "VerBackPorch": 36,
  "VerTopBorder": 0
}

Set Input Preferred Timings
POST/InputPreferredTimings.cgx

Example URI

POST /InputPreferredTimings.cgx
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "Input": 0,
  "HorFrequency": 67432,
  "VerFrequency": 59939,
  "PixelClock": 148351478,
  "Flags": 0,
  "HorAddrTime": 1920,
  "HorRightBorder": 0,
  "HorFrontPorch": 44,
  "HorSyncTime": 88,
  "HorBackPorch": 148,
  "HorLeftBorder": 0,
  "VerAddrTime": 1080,
  "VerBottomBorder": 0,
  "VerFrontPorch": 4,
  "VerSyncTime": 5,
  "VerBackPorch": 36,
  "VerTopBorder": 0
}
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "Success": true
}

Input EDID

Read or write the entire EDID for an input. The contents of the EDID are Base64 encoded.

Read Input EDID
GET/InputEDID.cgx{?input}

Example URI

GET /InputEDID.cgx?input=0
URI Parameters
HideShow
input
number (required) Example: 0
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
    "EDID":"AP///////wAQ43cBAQAAAP8aAQSlYDZ4B+6Ro1RMmSYPUFT//4ABAAEAAQABAAEAAQABAAEAGjaAoHA4H0AwIDUAgIhCAAAaAjqAGHE4LUBYLEUAwBwyAAAeAAAA/QAB/gH+PQQQAAD4OPABAAAA/ABER0MxNzdfNEs2MAogAYQCAxIAg2kAAGUDDAAQACMPFwcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKQ==",
}

Write Input EDID
POST/InputEDID.cgx

Example URI

POST /InputEDID.cgx
Request
HideShow
Headers
Content-Type: application/json
Body
{
    "Input":0,
    "EDID":"AP///////wAQ43cBAQAAAP8aAQSlYDZ4B+6Ro1RMmSYPUFT//4ABAAEAAQABAAEAAQABAAEAGjaAoHA4H0AwIDUAgIhCAAAaAjqAGHE4LUBYLEUAwBwyAAAeAAAA/QAB/gH+PQQQAAD4OPABAAAA/ABER0MxNzdfNEs2MAogAYQCAxIAg2kAAGUDDAAQACMPFwcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKQ==",
}
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "Success": true
}

Input EDID Create

Input EDID Create
POST/InputEDIDCreate.cgx

Create an EDID for a specified input. This will create an entire EDID and will not reuse any part of the existing EDID.

Extension must be “None” for no extension, “CEA-861” for a CEA-861 extension or “DisplayID” for a DisplayID extension.

Mode must be “HD” for up to and including 1920 x 1080 modes, “UHD” for up to and including 3840 x 2160 modes, “4k” for up to and including 4096 x 2160 modes and “Custom” to set a custom mode.

Name is optional but must be no more than 13 characters. It can be used by the source to identify what it is plugged in to.

If using a custom mode, the “Custom” object is mandatory. Otherwise, it will be ignored.

Example URI

POST /InputEDIDCreate.cgx
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "Input": 0,
  "Extension": "CEA-861",
  "Mode": "Custom",
  "Name": "CustomHDEDID",
  "Custom": {
    "Timings": {
      "PixelClock": 148351478,
      "Flags": 0,
      "HorAddrTime": 1920,
      "HorRightBorder": 0,
      "HorFrontPorch": 44,
      "HorSyncTime": 88,
      "HorBackPorch": 148,
      "HorLeftBorder": 0,
      "VerAddrTime": 1080,
      "VerBottomBorder": 0,
      "VerFrontPorch": 4,
      "VerSyncTime": 5,
      "VerBackPorch": 36,
      "VerTopBorder": 0
    },
    "SupportYCbCr4:2:0": true,
    "SupportYCbCr4:2:2": false,
    "SupportYCbCr4:4:4": true,
    "Support10bpc": true,
    "SupportBT2020": false,
    "SupportHDRStatic": false,
    "SupportAudio": false
  }
}
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "Success": true
}

Input EDID Reset

Input EDID Reset
POST/InputEDIDReset.cgx

Reset the EDID to default for a specified input or all inputs. To reset a single input’s EDID, Input must be a number. To reset all input EDIDs, Input must be “All”.

Example URI

POST /InputEDIDReset.cgx
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "Input": 0
}
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "Success": true
}

Input HDR Status

Get the status of HDR of an input.

Status will be “Unsupported”, “None”, “Yes” or “No”.

Get Input HDR Status
GET/InputHDRStatus.cgx{?input}

Example URI

GET /InputHDRStatus.cgx?input=0
URI Parameters
HideShow
input
number (required) Example: 0
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
    "Status":"Yes",
}

Input HDR Version

Get the HDR version for an input.

Version will be “Unsupported”, “None”, “Traditional Gamma SDR”, “Traditional Gamma HDR”, “SMPTE 2084” or “HLG”.

Get Input HDR Version
GET/InputHDRVersion.cgx{?input}

Example URI

GET /InputHDRVersion.cgx?input=0
URI Parameters
HideShow
input
number (required) Example: 0
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
    "Status":"None",
}

Input HDCP Enable

Enable or disable HDCP on an input, in same cases it may be beneficial to disable it to avoid the source attempting and potentially failing to use HDCP when it is not necessary.

Get Input HDCP Enable
GET/InputHDCPEnable.cgx{?input}

Example URI

GET /InputHDCPEnable.cgx?input=0
URI Parameters
HideShow
input
number (required) Example: 0
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
    "Enable":true,
}

Set Input HDCP Enable
POST/InputHDCPEnable.cgx

Example URI

POST /InputHDCPEnable.cgx
Request
HideShow
Headers
Content-Type: application/json
Body
{
    "Input":0,
    "Enable":true,
}
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "Success": true
}

Input HDCP Status

Get the status of HDCP of an input.

Status will be “Unknown”, “Unencrypted”, “Encrypted”, “Error” or “Failure”.

Get Input HDCP Status
GET/InputHDCPStatus.cgx{?input}

Example URI

GET /InputHDCPStatus.cgx?input=0
URI Parameters
HideShow
input
number (required) Example: 0
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
    "Status":"Encrypted",
}

Input HDCP Extended Status

Get the extended status of HDCP for an input.

Status will be “1.4”, “2.2” or “”,.

Get Input HDCP Extended Status
GET/InputHDCPExtStatus.cgx{?input}

Example URI

GET /InputHDCPExtStatus.cgx?input=0
URI Parameters
HideShow
input
number (required) Example: 0
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
    "Status":"1.4",
}

Input Receiver Version

Get the firmware version of an input receiver.

Get Input Receiver Version
GET/InputReceiverVersion.cgx{?input}

Example URI

GET /InputReceiverVersion.cgx?input=0
URI Parameters
HideShow
input
number (required) Example: 0
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
    "Day":2,
    "Month":10
    "Year":2018
    "Version"1:
}

Output properties

Output Crop

The cropping region represents the subregion of the input which is to be displayed on the output.

Get Output Crop
GET/OutputCrop.cgx{?output}

Example URI

GET /OutputCrop.cgx?output=0
URI Parameters
HideShow
output
number (required) Example: 0
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "X0": 0,
  "Y0": 0,
  "X1": 1,
  "Y1": 1
}

Set Output Crop
POST/OutputCrop.cgx

Example URI

POST /OutputCrop.cgx
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "Output": 0,
  "X0": 0,
  "Y0": 0,
  "X1": 1,
  "Y1": 1
}
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "Success": true
}

Output Active Picture

The active picture represents the subregion of the output on which to display active video.

Get Output Active Picture
GET/OutputActivePicture.cgx

Example URI

GET /OutputActivePicture.cgx
URI Parameters
HideShow
Output
number (required) Example: 0
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "X0": 0,
  "Y0": 0,
  "X1": 1,
  "Y1": 1,
  "Colour": 0
}

Set Output Active Picture
POST/OutputActivePicture.cgx

Example URI

POST /OutputActivePicture.cgx
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "Output": 0,
  "X0": 0,
  "Y0": 0,
  "X1": 1,
  "Y1": 1,
  "Colour": 0
}
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "Success": true
}

Output Transform

Get and set the flip and rotation. Rotation must be 0, 90, 180 or 270. Flip must be “None”, “Horizontal” or “Vertical”.

This function sets the rotation for a specific output. This is useful when monitors have been physically rotated, the output can be rotated in the opposite direction to maintain the original orientation of the source. The rotation is in degrees clockwise.

For example, for an output displaying to a monitor which has been rotated 90 degrees anti-clockwise use Rotation 90.

The Horizontal and Vertical flips are useful for projectors; they raster the horizontal or vertical in the opposite direction.

When a flip and rotation is applied simultaneously the flip transformation is applied before the rotation.

Note that flipping both the Horizontal and Vertical is equivalent to a rotation of 180 degrees.

Get Output Transform
GET/OutputTransform.cgx{?output}

Example URI

GET /OutputTransform.cgx?output=0
URI Parameters
HideShow
output
number (required) Example: 0
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "Rotation": 0,
  "Flip": "None"
}

Set Output Transform
POST/OutputTransform.cgx

Example URI

POST /OutputTransform.cgx
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "Output": 0,
  "Rotation": 0,
  "Flip": "None"
}
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "Success": true
}

Output Enable

Enable or disable outputs.

Get Output Enable
GET/OutputEnable.cgx{?output}

Example URI

GET /OutputEnable.cgx?output=0
URI Parameters
HideShow
output
number (required) Example: 0
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "Enable": true
}

Set Output Enable
POST/OutputEnable.cgx

Example URI

POST /OutputEnable.cgx
Request
HideShow
Headers
Content-Type: application/json
Body
{
    "Output":0,
    "Enable":true,
}
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "Success": true
}

Output Audio Enable

Enable or disable audio on outputs.

Get Output Audio Enable
GET/OutputAudioEnable.cgx{?output}

Example URI

GET /OutputAudioEnable.cgx?output=0
URI Parameters
HideShow
output
number (required) Example: 0
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "Enable": true
}

Set Output Audio Enable
POST/OutputAudioEnable.cgx

Example URI

POST /OutputAudioEnable.cgx
Request
HideShow
Headers
Content-Type: application/json
Body
{
    "Output":0,
    "Enable":true,
}
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "Success": true
}

Output Current Timings

Get Output Current Timings
GET/OutputCurrentTimings.cgx{?output}

Get the current output timings. The available colour space strings are “RGB 709”, “RGB 601”, “YUV 709”, “YUV 601”, “RGB 2020” and “YUV 2020”. The available colour range strings are “Full” and “Limited”. The available subsampling strings are “4:4:4”, “4:2:2” and “4:2:0”.

Example URI

GET /OutputCurrentTimings.cgx?output=0
URI Parameters
HideShow
output
number (required) Example: 0
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "HorFrequency": 67432,
  "VerFrequency": 59939,
  "PixelClock": 148351478,
  "Flags": 0,
  "HorAddrTime": 1920,
  "HorRightBorder": 0,
  "HorFrontPorch": 44,
  "HorSyncTime": 88,
  "HorBackPorch": 148,
  "HorLeftBorder": 0,
  "VerAddrTime": 1080,
  "VerBottomBorder": 0,
  "VerFrontPorch": 4,
  "VerSyncTime": 5,
  "VerBackPorch": 36,
  "VerTopBorder": 0,
  "ColourSpace": "RGB 709",
  "ColourRange": "Full",
  "Subsampling": "4:4:4"
}

Output Preferred Timings

Get Output Preferred Timings
GET/OutputPreferredTimings.cgx{?output}

Get the output’s preferred timings.

Example URI

GET /OutputPreferredTimings.cgx?output=0
URI Parameters
HideShow
output
number (required) Example: 0
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "HorFrequency": 67432,
  "VerFrequency": 59939,
  "PixelClock": 148351478,
  "Flags": 0,
  "HorAddrTime": 1920,
  "HorRightBorder": 0,
  "HorFrontPorch": 44,
  "HorSyncTime": 88,
  "HorBackPorch": 148,
  "HorLeftBorder": 0,
  "VerAddrTime": 1080,
  "VerBottomBorder": 0,
  "VerFrontPorch": 4,
  "VerSyncTime": 5,
  "VerBackPorch": 36,
  "VerTopBorder": 0
}

Output Default Timings

Get and set the output’s default timings. For an SDI output, an extra option of SDILevel is available to select level A or level B.

Get Output Default Timings
GET/OutputDefaultTimings.cgx{?output}

Example URI

GET /OutputDefaultTimings.cgx?output=0
URI Parameters
HideShow
output
number (required) Example: 0
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "HorFrequency": 67432,
  "VerFrequency": 59939,
  "PixelClock": 148351478,
  "Flags": 0,
  "HorAddrTime": 1920,
  "HorRightBorder": 0,
  "HorFrontPorch": 44,
  "HorSyncTime": 88,
  "HorBackPorch": 148,
  "HorLeftBorder": 0,
  "VerAddrTime": 1080,
  "VerBottomBorder": 0,
  "VerFrontPorch": 4,
  "VerSyncTime": 5,
  "VerBackPorch": 36,
  "VerTopBorder": 0,
  "SDILevel": "A"
}

Set Output Default Timings
POST/OutputDefaultTimings.cgx

Example URI

POST /OutputDefaultTimings.cgx
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "Output": 0,
  "HorFrequency": 67432,
  "VerFrequency": 59939,
  "PixelClock": 148351478,
  "Flags": 0,
  "HorAddrTime": 1920,
  "HorRightBorder": 0,
  "HorFrontPorch": 44,
  "HorSyncTime": 88,
  "HorBackPorch": 148,
  "HorLeftBorder": 0,
  "VerAddrTime": 1080,
  "VerBottomBorder": 0,
  "VerFrontPorch": 4,
  "VerSyncTime": 5,
  "VerBackPorch": 36,
  "VerTopBorder": 0,
  "SDILevel": "A"
}
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "Success": true
}

Output Timing Source

Get and set the timing source. Source must be one of the following:

“Monitor”: Use the connected monitor’s preferred timings

“Default”: Use the “Default” timing specified by OutputDefaultTimings

Get Output Timing Source
GET/OutputTimingSource.cgx{?output}

Example URI

GET /OutputTimingSource.cgx?output=0
URI Parameters
HideShow
output
number (required) Example: 0
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "Source": "Monitor"
}

Set Output Timing Source
POST/OutputTimingSource.cgx

Example URI

POST /OutputTimingSource.cgx
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "Output": 0,
  "Source": "Monitor"
}
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "Success": true
}

Output Current Timing Source

Get the current timing source. Source will be one of the following:

“Monitor”: Use the connected monitor’s preferred timings

“Default”: Use the “Default” timing specified by OutputDefaultTimings

Get Output Timing Source
GET/OutputCurrentTimingSource.cgx{?output}

Example URI

GET /OutputCurrentTimingSource.cgx?output=0
URI Parameters
HideShow
output
number (required) Example: 0
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "Source": "Monitor"
}

Output Image Source

Get and set the image source. Must be “InputCapture”, “Colourbars”, “Greyscale”, “MovingColourbars”, “MovingGreyscale” or “FlatColour”.

Get Output Image Source
GET/OutputImageSource.cgx{?output}

Example URI

GET /OutputImageSource.cgx?output=0
URI Parameters
HideShow
output
number (required) Example: 0
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "Source": "InputCapture"
}

Set Output Image Source
POST/OutputImageSource.cgx

Example URI

POST /OutputImageSource.cgx
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "Output": 0,
  "Source": "InputCapture"
}
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "Success": true
}

Output Genlock Source

Get and set the source for the output to genlock to. Source must be one of the following:

“None”: Do not try and genlock this output to any source

“Sync”: Try and genlock this output to the SYNC input

“Input”: Try and genlock to the current input

“Input0”: Try and genlock to input 0

“Input1”: Try and genlock to input 1

“Input2”: Try and genlock to input 2

Get Output Genlock Source
GET/OutputGenlockSource.cgx{?output}

Example URI

GET /OutputGenlockSource.cgx?output=0
URI Parameters
HideShow
output
number (required) Example: 0
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "GenlockSource": "Sync"
}

Set Output Genlock Source
POST/OutputGenlockSource.cgx

Example URI

POST /OutputGenlockSource.cgx
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "Output": 0,
  "GenlockSource": "Sync"
}
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "Success": true
}

Output Genlock Status

Output Get Genlock Status
GET/OutputGenlockStatus.cgx

Get the genlock status. Will be “None”, “Sync”, “Input”, “Input0”, “Input1” or “Input2”.

Example URI

GET /OutputGenlockStatus.cgx
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "GenlockStatus": "None"
}

Output HDCP Status

Get the status of HDCP of an output.

Status will be “Unknown”, “Unencrypted”, “Encrypted”, “Error” or “Failure”.

Get Output HDCP Status
GET/OutputHDCPStatus.cgx

Example URI

GET /OutputHDCPStatus.cgx
URI Parameters
HideShow
output
number (required) Example: 0
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
    "Status":"Encrypted",
}

Output HDCP Extended Status

Get the extended status of HDCP of an output.

Status will be “1.4”, “2.2”, “1.4 CONTENT LIMITED”, or “”.

Get Output HDCP Extended Status
GET/OutputHDCPExtStatus.cgx

Example URI

GET /OutputHDCPExtStatus.cgx
URI Parameters
HideShow
output
number (required) Example: 0
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
    "Status":"1.4",
}

Output Transmitter Version

Get the firmware version of an output transmitter.

Get Output Transmitter Version
GET/OutputTransmitterVersion.cgx{?output}

Example URI

GET /OutputTransmitterVersion.cgx?output=0
URI Parameters
HideShow
output
number (required) Example: 0
Response  200
HideShow
Headers
Content-Type: application/json; charset=utf-8
Body
{
    "Day":2,
    "Month":10
    "Year":2018
    "Version"1:
}

Generated by aglio on 18 May 2020