I’ve had a few people ask about my custom panel in Ross Dashboard that controls Aja Ki Pro recorders using their built-in RESTful API, so I thought I would write a quick post about how that works.
AJA has done an excellent job of creating an accessible device with their API. The web browser interface is great and you can edit or control nearly every aspect of the device from there. The main reason I created the Dashboard interface was to limit that control and simplify the use for volunteers who may not want to get into the complexity of it all.

Their RESTful API takes simple parameters as querystrings and returns JSON data that can be easily parsed for the results and manipulated.
For example, if you make this request:
http://kiproIPaddr/config?action=get¶mid=eParamID_TransportState
You will get a response like this, showing the current transport state of the Ki Pro:
{"paramid":"2097217802","name":"eParamID_TransportState","value":"1","value_name":"Idle"}
My panel in Dashboard just takes advantage of this API to make all of the requests to get and set the data. By using a timer function, I am also able to keep the Dashboard panel in sync with the physical state of the actual Ki Pro deck, which is helpful in case someone manually presses a transport button or otherwise makes a change.



If you are interested in everything the Aja Ki Pro API supports, you can get a list of all available parameters by going to:
http://kiproIPaddr/descriptors
I hope this is helpful! If you would like to download my custom panel, it is available on Github: https://github.com/josephdadams/RossDashboardPanels