REST API
Directory of Documentation Pages
Short Overview for All REST Interfaces
All REST interfaces are accessible below api/.
categories | Manage ROAD categories, which are used to collect data for a similar purpose. For now categories are used only to specify types of job templates, which can also specify only parts of a job description. |
clientSync | ClientSync notifications are cached in the ROAD Service. This interface allows to inspect these caches and to change the purge interval for them. |
configs | This interface does not exist yet. |
devices | Query available audio devices on the system hosting the Service |
hosts | All hosts sharing one database are connected and build a ROAD cluster. To get to know which hosts there are and about their current state, a client can query for them. |
jobs | Create, adapt or query ROAD ROAD Jobs |
markers | Add markers in an active job's audio output |
metadata | Add/update metadata of created database entries |
outputSwitch | Switch output database entries for an active job |
programs | Query ROAD Service and Worker versions |
schedules | Manage schedules, which serve to prepare a job to run at a later time or recurrently following a time pattern. |
templates | Manage job templates, which contain a complete or partial ROAD job, which may be used repeatedly. |
variables | Create, adapt or query ROAD Variables |
Data Being Passed in REST Body
ROAD's REST API makes extensive use of data being passed in REST body (for requests and for responses). It consist of data structures, which are documented or linked in the according parts of this documentation.
Note that ROAD works mostly with JSON formatted data and thus the body type "application/json" is expected. XML is not supported on ROAD's REST interfaces.
HTTP and Web Socket Relay for Specific Requests
All REST request which only refer to the (common) database will be processed in the same way by any ROAD host in this cluster, so a client can send the request to the host of its choice.
Some requests deal either not (only) with the database or have some other impact, which must be processed on a specific machine or being relayed to that.
To make this possible, http relaying is implemented in the ROAD Service. In some cases this is done by an explicit REST parameter "host", in others this is managed by the Service depending on the context.
See Distributed ROAD Cluster for some more details about ROAD's HTTP and web socket relaying.