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.

clientSyncClientSync notifications are cached in the ROAD Service. This interface allows to inspect these caches and to change the purge interval for them.
configsThis interface does not exist yet.
devicesQuery available audio devices on the system hosting the Service
hostsAll 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.
jobsCreate, adapt or query ROAD ROAD Jobs
markersAdd markers in an active job's audio output
metadataAdd/update metadata of created database entries
outputSwitchSwitch output database entries for an active job
programsQuery ROAD Service and Worker versions
schedulesManage schedules, which serve to prepare a job to run at a later time or recurrently following a time pattern.
templatesManage job templates, which contain a complete or partial ROAD job, which may be used repeatedly.
variablesCreate, 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.