The included REST API allows you to make you own client, using HTTP REST calls. You can you use it to achieve several tasks :
Errors returned by the WebAPI are understandable when the HTTP call is not valid :
[something]
Not Found*
{"UART0": 1, "I2C0": 0, "I2C1": 1, "SPI0": 0, "GPIO":{
"0": {"function": "IN", "value": 1},
"1": {"function": "IN", "value": 1},
"2": {"function": "ALT0", "value": 1},
"3": {"function": "ALT0", "value": 1},
"4": {"function": "IN", "value": 0},
"5": {"function": "ALT0", "value": 0},
"6": {"function": "OUT", "value": 1},
...
"53": {"function": "ALT3", "value": 1}
}}
"UART0": 1, "I2C0": 0, "I2C1": 1,
"SPI0": 0 mean that both UART0 and I2C1 are enabled,
whereas both I2C0 and SPI0 are disabled. So GPIOs used by UART0
(14 and 15) and I2C1 (2 and 3) are disabled and unusable.