Server RESTful WebAPI

This guide aims to cover the usage of RSPET Server module’s RESTful WebAPI. The API consists of GET calls followed by query strings in some cases. It can be activated by running rspet_server_api.py instead of rspet_server.py. In order to use the RESTful WebAPI you will need to install Flask first. To do that run pip2 install Flask flask-cors. In current version all dependencies are already installed when running setup.py.

GET Calls

The first Table lists the GET calls that are not followed by a query string and their functionality.

URI Description Returns
/rspet/api/v1.1/refresh Refresh server. Check for lost hosts 204
/rspet/api/v1.1/hosts Return all hosts Dictionary. Host ID is key. Unfolds to Dictionary. Keys : 'ip', 'port', 'version', 'type', 'hostname', 'OS'
/rspet/api/v1.1/hosts/<string:host_id> Return specific host Dictionary. Keys : 'ip', 'port', 'type', 'uri', 'version', 'hostname', 'OS'
/rspet/api/v1.1/help Return general help Dictionary. Command is key. Unfolds to Dictionary. Keys : 'help', 'states', 'syntax', 'uri'
/rspet/api/v1.1/help/<string:command> Return command specific help Dictionary. Keys : 'help', 'states', 'syntax', ;uri
/rspet/api/v1.1/quit Quit the WebAPI & the Server. 204
/rspet/api Sitemapish Array. Unfolds to Dictionary. Keys : 'doc', 'methods', 'uri'

The second Table lists the GET calls when a query string is provided along with their functionality. These calls replace the POST calls that were used in v1.0. Options in () are optional. Returned data is formated in JSON.

URI Description Query Options Returns
/rspet/api/v1.1/hosts Execute command on multiple hosts 'hosts', 'command', ('args'(multiple)) JSON : [Dictionary. Keys : 'transition', 'code', 'string']. HTTP : [200/400/404]
/rspet/api/v1.1/hosts/<string:host_id> Execute host specific command 'command', ('args'(multiple)) JSON : [Dictionary. Keys : 'transition', 'code', 'string']. HTTP : [200/400/404]
/rspet/api/v1.1 Execute general (non-host specific) command 'command', ('args'(multiple)) JSON : [Dictionary. Keys : 'transition', 'code', 'string']. HTTP : [200/400/404]