Documentation

Get the analog mode configuration

get

Returns the current configuration of the analog mode in the system

Responses
chevron-right
200

OK

application/json
enforcedbooleanRequired
get
/analog-mode

Configure analog mode

put

Changes the configuration of the analog mode in the system

Body
enforcedbooleanRequired
Responses
chevron-right
200

OK

application/json
enforcedbooleanRequired
put
/analog-mode

Get Arrays

get

Returns information about all arrays

Responses
chevron-right
200

OK

application/json
get
/arrays

Get Array

get

Returns information for a specific array

Path parameters
arrayIDstringRequired

Array ID

Responses
chevron-right
200

OK

application/json
namestringOptionalExample: Stage Left
power_statusall ofOptionalExample: awake
string · enumOptionalPossible values:
get
/arrays/{arrayID}
put

Changes the blink state for a specific array

Path parameters
arrayIDstringRequired

Array ID

Body
onbooleanRequired
Responses
put
/arrays/{arrayID}/blink

No content

Set Array Power State

put

Changes the target power state for the array, allowed values are "on" and "sleep"

Path parameters
arrayIDstringRequired

Array ID

Body
targetall ofRequiredExample: on
string · enumOptionalPossible values:
Responses
put
/arrays/{arrayID}/power

No content

Get Audio Streams

get

Returns information about all audio streams

Responses
chevron-right
200

OK

application/json
get
/audio-streams

Get Autochecker extra data

get

Returns extra information about the system for the Autochecker. This information is auxiliary and OS-version dependent.

Responses
chevron-right
200

OK

application/json
get
/autochecker/extra

Get Autochecker main data

get

Returns main information about the system for the Autochecker. Changes to this state should invalidate an Autochecker run.

Responses
chevron-right
200

OK

application/json
get
/autochecker/main

Mute a beam

put

Changes the mute state for a specific beam

Path parameters
beamIDstringRequired

Beam ID

Body
mutedbooleanRequired
Responses
put
/beams/{beamID}/mute

No content

Solo beam

put

Changes the solo state for a specific beam

Path parameters
beamIDstringRequired

Beam ID

Body
soloedbooleanRequired
Responses
put
/beams/{beamID}/solo

No content

Get Controllers

get

Returns information about all controllers

Responses
chevron-right
200

OK

application/json
get
/controllers

Get Controller

get

Returns information for a specific controller

Path parameters
controllerIDstringRequired

Controller ID

Responses
chevron-right
200

OK

application/json
namestringOptionalExample: XYZ-4321
get
/controllers/{controllerID}

Get all environmental conditions

get
Responses
chevron-right
200

OK

application/json
get
/environmental-conditions

Get specific environmental conditions

get

Returns information for specific environmental conditions

Path parameters
conditionsIDstringRequired

Environmental Conditions ID

Responses
chevron-right
200

OK

application/json
atmospheric_pressure_pascalnumberRequiredExample: 101325
humidity_percentagenumberRequiredExample: 55
temperature_celsiusnumberRequiredExample: 21.5
get
/environmental-conditions/{conditionsID}

Get current system gain in dB

get

Returns the current system gain in dB (from -120dB to 0dB).

Responses
chevron-right
200

OK

application/json
scaleall ofRequiredExample: linear
string · enumOptionalPossible values:
valuenumberRequiredExample: 1
get
/gain/db

Set current system gain in dB

put

Changes the target gain level for the system, the values should be in dB (-120dB to 0dB)

Body
valuenumberRequired
Responses
chevron-right
200

OK

application/json
scaleall ofRequiredExample: linear
string · enumOptionalPossible values:
valuenumberRequiredExample: 1
put
/gain/db

Decrease System Gain

put

Decrease the target system gain by X dB

Body
valuenumberRequired
Responses
chevron-right
200

OK

application/json
scaleall ofRequiredExample: linear
string · enumOptionalPossible values:
valuenumberRequiredExample: 1
put
/gain/decrease

Increase System Gain

put

Increase the target system gain by X dB

Body
valuenumberRequired
Responses
chevron-right
200

OK

application/json
scaleall ofRequiredExample: linear
string · enumOptionalPossible values:
valuenumberRequiredExample: 1
put
/gain/increase

Get current system gain in linear values

get

Returns the current system gain in linear values (from 0 to 1).

Responses
chevron-right
200

OK

application/json
scaleall ofRequiredExample: linear
string · enumOptionalPossible values:
valuenumberRequiredExample: 1
get
/gain/linear

Set current system gain in linear values

put

Changes the target gain level for the system, the values should be in linear scale (0 to 1)

Body
valuenumberRequired
Responses
chevron-right
200

OK

application/json
scaleall ofRequiredExample: linear
string · enumOptionalPossible values:
valuenumberRequiredExample: 1
put
/gain/linear

Get Modules

get

Returns information about all modules. If a module is not paired, the field "name" will be an empty string.

Responses
chevron-right
200

OK

application/json
get
/modules

Get Modules Summary

get

Returns summary of all modules in TSV format (delimiter is \t). This includes health information, online and power statuses, software version, etc.

Responses
chevron-right
200

OK

text/tab-separated-values
stringOptional
get
/modules/summary

Get Module

get

Returns information for a specific module. If a module is not paired, the field "name" will be an empty string.

Path parameters
moduleIDstringRequired

Module ID

Responses
chevron-right
200

OK

application/json
blinkingbooleanOptional
manufacturerstringOptionalExample: HOLOPLOT
namestringOptionalExample: ABC-1234
onlinebooleanOptional
power_statusall ofOptionalExample: awake
string · enumOptionalPossible values:
productstringOptionalExample: X1
typestringOptionalExample: MD96
get
/modules/{moduleID}
put

Changes the blink state for a specific module

Path parameters
moduleIDstringRequired

Module ID

Body
onbooleanRequired
Responses
put
/modules/{moduleID}/blink

No content

Set Module Power State

put

Changes the target power state for the module, allowed values are "on" and "sleep"

Path parameters
moduleIDstringRequired

Module ID

Body
targetall ofRequiredExample: on
string · enumOptionalPossible values:
Responses
put
/modules/{moduleID}/power

No content

Get System Mute

get

Returns the system mute state

Responses
chevron-right
200

OK

application/json
mutedbooleanRequired
get
/mute

Set System Mute

put

Changes the system mute state

Body
mutedbooleanRequired
Responses
chevron-right
200

OK

application/json
mutedbooleanRequired
put
/mute

Get Power State

get

Returns the target power state for the system

Responses
chevron-right
200

OK

application/json
systemall ofRequiredExample: on
string · enumOptionalPossible values:
get
/power

Set Power State

put

Changes the target power state for the system, allowed values are "on" and "sleep"

Body
systemall ofRequiredExample: on
string · enumOptionalPossible values:
Responses
chevron-right
200

OK

application/json
systemall ofRequiredExample: on
string · enumOptionalPossible values:
put
/power

Get all Presets

get

Returns information for all presets

Responses
chevron-right
200

OK

application/json
get
/presets

Get Preset

get

Returns information for a specific preset

Path parameters
presetIDstringRequired

Preset ID

Responses
chevron-right
200

OK

application/json
namestringOptional
get
/presets/{presetID}

Get Processors

get

Returns information about all processors

Responses
chevron-right
200

OK

application/json
get
/processors

Get Processor

get

Returns information for a specific processor

Path parameters
processorIDstringRequired

Processor ID

Responses
chevron-right
200

OK

application/json
active_pairing_physical_processorstringOptionalExample: ABC-1234
backup_pairing_physical_processorstringOptionalExample: XYZ-9876
main_pairing_physical_processorstringOptionalExample: ABC-1234
namestringOptionalExample: 3rd party processor
typeall ofOptionalExample: XR5610
string · enumOptionalPossible values:
get
/processors/{processorID}

Set Processor Active Pairing

patch

Changes the target active pairing for a processor. The pairing is specified by a physical processor ID

Path parameters
processorIDstringRequired

Processor ID

Body
physical_idstringOptional
Responses
patch
/processors/{processorID}/active-pairing

No content

Get Spaces

get

Returns information about all physical spaces in the venue

Responses
chevron-right
200

OK

application/json
get
/spaces

Get Space

get

Returns information for a specific physical space in the venue

Path parameters
spaceIDstringRequired

Space ID

Responses
chevron-right
200

OK

application/json
active_environmental_conditions_idstring · uuidOptional
active_preset_idstring · uuidOptional
namestringOptionalExample: Theatre hall
preset_idsstring[]Optional
get
/spaces/{spaceID}

Change details of a space

patch

This endpoint can be used to modify details of a physical space in the venue.

Environmental Conditions

To set the environmental conditions for a space make a PATCH request to /spaces/{spaceID} with a body that contains the environmental_conditions key, like in the following example:

{
  "environmental_conditions": {
    "atmospheric_pressure_pascal": 101345,
    "humidity_percentage": 34,
    "temperature_celsius": 23.4
  }
}

When environmental conditions are submitted, the system will persist them. To activate and identify the closest matching set of stored conditions for the currently selected preset you have to apply the environmental condition with a post request to /spaces/{spaceID}/environmental-conditions/apply.

Active Preset

The following request body changes the active preset of the space:

{
  "active_preset_id": "7aa69f98-b697-11ed-b9c5-b445062a7e37"
}

Note that the ID used here must match one of the presets listed for the space, or the request will get a response of 400 Bad Request.

A change of the active preset will trigger a match of the environmental conditions.

Path parameters
spaceIDstringRequired

Space ID

Body
active_preset_idstring · uuidOptional
Responses
chevron-right
200

OK

application/json
active_environmental_conditions_idstring · uuidOptional
active_preset_idstring · uuidOptional
namestringOptionalExample: Theatre hall
preset_idsstring[]Optional
patch
/spaces/{spaceID}

Apply the stored environmental conditions for a space

post

This endpoint is used to apply the environmental conditions in a space. The algorithm will identify the closest set of stored conditions for the current active preset and will activate those. This might result in an audible effect, glitch.

Path parameters
spaceIDstringRequired

Space ID

Responses
chevron-right
200

OK

No content

post
/spaces/{spaceID}/environmental-conditions/apply

No content

Get Cluster Readiness state

get

Returns status 200 if the Kubernetes cluster is ready, and status 5XX otherwise

Responses
chevron-right
200

Cluster is ready

No content

get
/status/cluster/ready

No content

Get Health

get

Get health information for the system, all controllers and all modules

Responses
chevron-right
200

OK

application/json
get
/status/health

Get Module Power States

get

Get power information for all modules

Responses
chevron-right
200

OK

application/json
get
/status/power

Stream System Gain updates, dB scale

get
Responses
chevron-right
200

OK

No content

get
/ws/gain/db
200

OK

No content

Stream System Gain updates, linear scale

get
Responses
chevron-right
200

OK

No content

get
/ws/gain/linear
200

OK

No content

Stream Mute Updates

get

This endpoint can be used to stream updates about the system mute state through WebSockets. The payload returned is the same as in GET /mute.

Find a Javascript client to use use this endpoint below.

const WebSocket = require('ws');

const client = new WebSocket('ws://localhost:6789/ws/mute');
client.on('message', msg => console.log("Mute update:" + msg.toString()));
Responses
chevron-right
200

OK

No content

get
/ws/mute
200

OK

No content

Stream Power Updates

get

This endpoint can be used to stream updates about the system power state through WebSockets. The payload returned is the same as in GET /power.

Find a Javascript client to use use this endpoint below.

const WebSocket = require('ws');

const client = new WebSocket('ws://localhost:6789/ws/power');
client.on('message', msg => console.log("Power update:" + msg.toString()));
Responses
chevron-right
200

OK

No content

get
/ws/power
200

OK

No content

Stream processor updates

get

This endpoint can be used to stream updates about virtual processors through WebSockets. The payload returned is the same as in GET /processors but only the processor that has changed will be populated.

Find a Javascript client to use use this endpoint below.

const WebSocket = require('ws');

const client = new WebSocket('ws://localhost:6789/ws/processors');
client.on('message', msg => console.log("Processors update:" + msg.toString()));
Responses
chevron-right
200

OK

No content

get
/ws/processors
200

OK

No content

Stream Spaces Updates

get

This endpoint can be used to stream updates about spaces through WebSockets. The payload returned is the same as in GET /spaces but only the space that has changed will be populated.

Find a Javascript client to use use this endpoint below.

const WebSocket = require('ws');

const client = new WebSocket('ws://localhost:6789/ws/spaces');
client.on('message', msg => console.log("Spaces update:" + msg.toString()));
Responses
chevron-right
200

OK

No content

get
/ws/spaces
200

OK

No content

Stream System Health

get

This endpoint can be used to stream system health status information through WebSockets. The payload returned is the same as in GET /status/health but only the fields that have changed will be populated.

Upon reception of a message through the WebSocket, a full system status can be retrieved by issuing a GET request to /status/health.

Find a Javascript client to use use this endpoint below.

const WebSocket = require('ws');

const client = new WebSocket('ws://localhost:6789/ws/status/health');
client.on('message', msg => console.log("Health status update:" + msg.toString()));
Responses
chevron-right
200

OK

No content

get
/ws/status/health
200

OK

No content

Stream power information for all modules

get

This endpoint can be used to stream system power status information through WebSockets. The payload returned is the same as in GET /status/power but only the fields that have changed will be populated.

Upon reception of a message through the Websocket, a full system status can be retrieved by issuing a GET request to /status/power.

Find a Javascript client to use use this endpoint below.

const WebSocket = require('ws');

const client = new WebSocket('ws://localhost:6789/ws/status/power');
client.on('message', msg => console.log("Power status update:" + msg.toString()));
Responses
chevron-right
200

OK

No content

get
/ws/status/power
200

OK

No content

Last updated

Was this helpful?