Engine API - acaprojects/ruby-engine GitHub Wiki

Most API requests are authorised via OAuth2 as implemented by the doorkeeper-gem

Authentication is implemented via omniauth allowing single sign on from a number of sources

Most Engine interfaces assume it is mounted on the root of a domain at: /control

Core Routes

/control/websocket

This is the route for obtaining a persistent connection to the server - user interfaces can use this to determine if the server is online / connectable. It allows interfaces to request realtime updates for status values that they are interested in, debug drivers and call driver functions.

The users identity is stored during the initial connection with system access and connection logged. The following commands are available:

Command Description
exec Executes a function/command in the specified system
bind Changes to status variable on a driver will be pushed to the client
unbind Changes to status variable on a driver will no longer be pushed to the client
debug Receive debugging output from the driver specified
ignore Stop receiving debugging output