For the complete documentation index, see llms.txt. This page is also available as Markdown.

Documentation

Get the analog mode configuration

get

Returns the current configuration of the analog mode in the system

Responses
200

OK

application/json
enforcedbooleanRequired
get/analog-mode
GET /analog-mode HTTP/1.1
Accept: */*
{
  "enforced": true
}

Configure analog mode

put

Changes the configuration of the analog mode in the system

Body
enforcedbooleanRequired
Responses
200

OK

application/json
enforcedbooleanRequired
put/analog-mode
PUT /analog-mode HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 17

{
  "enforced": true
}
{
  "enforced": true
}

Get Arrays

get

Returns information about all arrays

Responses
200

OK

application/json
get/arrays
GET /arrays HTTP/1.1
Accept: */*
{
  "ANY_ADDITIONAL_PROPERTY": {
    "health": {
      "message": "Okay",
      "status": "okay"
    },
    "modules": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "name": "Stage Left",
    "power_status": "awake"
  }
}

Get Array

get

Returns information for a specific array

Path parameters
arrayIDstringRequired

Array ID

Responses
200

OK

application/json
namestringOptionalExample: Stage Left
power_statusstring · enumOptionalPossible values:
get/arrays/{arrayID}
GET /arrays/{arrayID} HTTP/1.1
Accept: */*
{
  "health": {
    "message": "Okay",
    "status": "okay"
  },
  "modules": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  },
  "name": "Stage Left",
  "power_status": "awake"
}
put

Changes the blink state for a specific array

Path parameters
arrayIDstringRequired

Array ID

Body
onbooleanRequired
Responses
204

No Content

No content

put/arrays/{arrayID}/blink
PUT /arrays/{arrayID}/blink HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 11

{
  "on": true
}

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
targetstring · enumRequiredPossible values:
Responses
204

No Content

No content

put/arrays/{arrayID}/power
PUT /arrays/{arrayID}/power HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 15

{
  "target": "on"
}

No content

Get Audio Streams

get

Returns information about all audio streams

Responses
200

OK

application/json
get/audio-streams
GET /audio-streams HTTP/1.1
Accept: */*
{
  "ANY_ADDITIONAL_PROPERTY": {
    "backup_stream": {
      "analog": {
        "channel_count": 2
      },
      "ravenna": {
        "audio_stream_content_type": "PCM24",
        "channel_count": 2,
        "end_to_end_delay": 96,
        "primary_source": {
          "clock_domain": "PTPv2 0",
          "destination_address": "239.0.0.1",
          "frames_per_packet": 48,
          "media_clock": "direct=0",
          "port": 5004,
          "reference_clock": "ptp=IEEE1588-2008:A0-BB-3E-FF-FE-20-12-DA:0",
          "sender_address": "10.0.0.1",
          "sync_time": 0,
          "ttl": 128
        },
        "sample_rate": 48000,
        "secondary_source": {
          "clock_domain": "PTPv2 0",
          "destination_address": "239.0.0.1",
          "frames_per_packet": 48,
          "media_clock": "direct=0",
          "port": 5004,
          "reference_clock": "ptp=IEEE1588-2008:A0-BB-3E-FF-FE-20-12-DA:0",
          "sender_address": "10.0.0.1",
          "sync_time": 0,
          "ttl": 128
        }
      }
    },
    "discovery_method": "MANUAL",
    "main_stream": {
      "analog": {
        "channel_count": 2
      },
      "ravenna": {
        "audio_stream_content_type": "PCM24",
        "channel_count": 2,
        "end_to_end_delay": 96,
        "primary_source": {
          "clock_domain": "PTPv2 0",
          "destination_address": "239.0.0.1",
          "frames_per_packet": 48,
          "media_clock": "direct=0",
          "port": 5004,
          "reference_clock": "ptp=IEEE1588-2008:A0-BB-3E-FF-FE-20-12-DA:0",
          "sender_address": "10.0.0.1",
          "sync_time": 0,
          "ttl": 128
        },
        "sample_rate": 48000,
        "secondary_source": {
          "clock_domain": "PTPv2 0",
          "destination_address": "239.0.0.1",
          "frames_per_packet": 48,
          "media_clock": "direct=0",
          "port": 5004,
          "reference_clock": "ptp=IEEE1588-2008:A0-BB-3E-FF-FE-20-12-DA:0",
          "sender_address": "10.0.0.1",
          "sync_time": 0,
          "ttl": 128
        }
      }
    },
    "monitor_config": {
      "network": {
        "packet_loss_tolerance": 10
      },
      "pilot_tone": {
        "channel": 1,
        "frequency": 1000,
        "threshold_db": -60
      },
      "type": "NETWORK"
    },
    "name": "Stream 1",
    "status": "MAIN_ACTIVE",
    "type": "RAVENNA"
  }
}

Get Autochecker extra data

get

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

Responses
200

OK

application/json
get/autochecker/extra
GET /autochecker/extra HTTP/1.1
Accept: */*
{
  "active_project": {
    "active_environmental_condition_id": "123e4567-e89b-12d3-a456-426614174000",
    "date": "2026-01-01T00:00:00.000Z",
    "e2e_delay": 1,
    "environmental_conditions": [
      {
        "atmospheric_pressure": 1,
        "humidity_percent": 1,
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "temperature": 1
      }
    ],
    "presets": [
      {
        "beam_count": 1,
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "name": "text"
      }
    ],
    "revision": "text"
  },
  "dsp": {
    "beam_instances": [
      {
        "auto_delay": 1,
        "auto_eq_md5sum": "text",
        "auto_gain_linear": 1,
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "user_delay": 1,
        "user_eq_md5sum": "text",
        "user_gain_linear": 1
      }
    ],
    "function_groups": [
      {
        "eq_md5sum": "text",
        "id": "123e4567-e89b-12d3-a456-426614174000"
      }
    ],
    "project": {
      "eq_md5sum": "text"
    }
  },
  "health": {
    "arrays": [
      {
        "combined": "unknown",
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "modules": {
          "critical": 1,
          "error": 1,
          "ok": 1,
          "unknown": 1,
          "warning": 1
        }
      }
    ],
    "summary": {
      "arrays": {
        "combined": "unknown",
        "per_state": {
          "critical": 1,
          "error": 1,
          "ok": 1,
          "unknown": 1,
          "warning": 1
        }
      },
      "controllers": {
        "combined": "unknown",
        "per_state": {
          "critical": 1,
          "error": 1,
          "ok": 1,
          "unknown": 1,
          "warning": 1
        }
      },
      "processors": {
        "combined": "unknown",
        "per_state": {
          "critical": 1,
          "error": 1,
          "ok": 1,
          "unknown": 1,
          "warning": 1
        }
      }
    }
  }
}

Get Autochecker main data

get

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

Responses
200

OK

application/json
get/autochecker/main
GET /autochecker/main HTTP/1.1
Accept: */*
{
  "active_preset": {
    "beam_count": 1,
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "name": "text"
  },
  "active_project": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "name": "text"
  },
  "dsp": {
    "system": {
      "gain_linear": 1,
      "mute": true,
      "mute_beams": [
        "text"
      ],
      "solo_beams": [
        "text"
      ]
    }
  },
  "routing": {
    "audio_input_stream_mappings": [
      {
        "audio_input_id": "text",
        "audio_stream_id": "text",
        "channel": 1
      }
    ],
    "processor_output_stream_mapping": [
      {
        "audio_stream_channel_index": 1,
        "audio_stream_id": "text",
        "module_processor_output_mapping_id": "text",
        "processor_id": "text"
      }
    ]
  }
}

Mute a beam

put

Changes the mute state for a specific beam

Path parameters
beamIDstringRequired

Beam ID

Body
mutedbooleanRequired
Responses
204

No Content

No content

put/beams/{beamID}/mute
PUT /beams/{beamID}/mute HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 14

{
  "muted": true
}

No content

Solo beam

put

Changes the solo state for a specific beam

Path parameters
beamIDstringRequired

Beam ID

Body
soloedbooleanRequired
Responses
204

No Content

No content

put/beams/{beamID}/solo
PUT /beams/{beamID}/solo HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 15

{
  "soloed": true
}

No content

Get Controllers

get

Returns information about all controllers

Responses
200

OK

application/json
get/controllers
GET /controllers HTTP/1.1
Accept: */*
{
  "ANY_ADDITIONAL_PROPERTY": {
    "name": "XYZ-4321"
  }
}

Get Controller

get

Returns information for a specific controller

Path parameters
controllerIDstringRequired

Controller ID

Responses
200

OK

application/json
namestringOptionalExample: XYZ-4321
get/controllers/{controllerID}
GET /controllers/{controllerID} HTTP/1.1
Accept: */*
{
  "name": "XYZ-4321"
}

Trigger Driver Test

post

Triggers a driver test on specific arrays or modules. Returns passed, failed, and unknown (timed out) module IDs. If both array_ids and module_ids are provided, the request will be rejected. If neither is provided, the test will be triggered for all modules in the system.

Body
array_idsstring[]Optional
module_idsstring[]Optional
Responses
200

OK

application/json
post/driver-test
POST /driver-test HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 44

{
  "array_ids": [
    "text"
  ],
  "module_ids": [
    "text"
  ]
}
{
  "driver_test_failed": [
    {
      "module_id": "text"
    }
  ],
  "driver_test_finished": [
    {
      "driver_statuses": {
        "ANY_ADDITIONAL_PROPERTY": {
          "measurement": {
            "current": 1,
            "voltage": 1
          },
          "result": "within_tolerance",
          "type": "lf"
        }
      },
      "hf": {
        "num_failed_drivers": 1,
        "num_total_drivers": 1
      },
      "lf": {
        "num_failed_drivers": 1,
        "num_total_drivers": 1
      },
      "module_id": "text"
    }
  ],
  "driver_test_unknown": [
    {
      "module_id": "text"
    }
  ]
}

Get Driver Test Results

get

Returns the results of the last driver test for specific arrays or modules. Results are read from stored events without triggering new tests. If both array_ids and module_ids are provided, the request will be rejected. If neither is provided, the last results for the paired modules will be returned.

Query parameters
array_idsstringOptional

Array IDs (comma-separated)

module_idsstringOptional

Module IDs (comma-separated)

Responses
200

OK

application/json
get/driver-test-results
GET /driver-test-results HTTP/1.1
Accept: */*
{
  "driver_test_failed": [
    {
      "module_id": "text"
    }
  ],
  "driver_test_finished": [
    {
      "driver_statuses": {
        "ANY_ADDITIONAL_PROPERTY": {
          "measurement": {
            "current": 1,
            "voltage": 1
          },
          "result": "within_tolerance",
          "type": "lf"
        }
      },
      "hf": {
        "num_failed_drivers": 1,
        "num_total_drivers": 1
      },
      "lf": {
        "num_failed_drivers": 1,
        "num_total_drivers": 1
      },
      "module_id": "text"
    }
  ],
  "driver_test_unknown": [
    {
      "module_id": "text"
    }
  ]
}

Get all environmental conditions

get
Responses
200

OK

application/json
get/environmental-conditions
GET /environmental-conditions HTTP/1.1
Accept: */*
{
  "ANY_ADDITIONAL_PROPERTY": {
    "atmospheric_pressure_pascal": 101325,
    "humidity_percentage": 55,
    "temperature_celsius": 21.5
  }
}

Get specific environmental conditions

get

Returns information for specific environmental conditions

Path parameters
conditionsIDstringRequired

Environmental Conditions ID

Responses
200

OK

application/json
atmospheric_pressure_pascalnumberRequiredExample: 101325
humidity_percentagenumberRequiredExample: 55
temperature_celsiusnumberRequiredExample: 21.5
get/environmental-conditions/{conditionsID}
GET /environmental-conditions/{conditionsID} HTTP/1.1
Accept: */*
{
  "atmospheric_pressure_pascal": 101325,
  "humidity_percentage": 55,
  "temperature_celsius": 21.5
}

Get current system gain in dB

get

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

Responses
200

OK

application/json
scalestring · enumRequiredPossible values:
valuenumberRequiredExample: 1
get/gain/db
GET /gain/db HTTP/1.1
Accept: */*
{
  "scale": "linear",
  "value": 1
}

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
200

OK

application/json
scalestring · enumRequiredPossible values:
valuenumberRequiredExample: 1
put/gain/db
PUT /gain/db HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 11

{
  "value": 1
}
{
  "scale": "linear",
  "value": 1
}

Decrease System Gain

put

Decrease the target system gain by X dB

Body
valuenumberRequired
Responses
200

OK

application/json
scalestring · enumRequiredPossible values:
valuenumberRequiredExample: 1
put/gain/decrease
PUT /gain/decrease HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 11

{
  "value": 1
}
{
  "scale": "linear",
  "value": 1
}

Increase System Gain

put

Increase the target system gain by X dB

Body
valuenumberRequired
Responses
200

OK

application/json
scalestring · enumRequiredPossible values:
valuenumberRequiredExample: 1
put/gain/increase
PUT /gain/increase HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 11

{
  "value": 1
}
{
  "scale": "linear",
  "value": 1
}

Enable or disable show mode

put

Enables or disables show mode. This endpoint is never blocked by show mode itself, as disabling it has to remain possible while it is active. The response carries the new state together with the configuration, i.e. the same body as GET /status/show-mode. The configuration itself cannot be changed through this API.

Body
activebooleanRequired
Responses
200

OK

application/json
activebooleanOptional
put/show-mode
PUT /show-mode HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 15

{
  "active": true
}
{
  "active": true,
  "configuration": {
    "force_processor_failover": "not_allowed",
    "load_preset_sections_state_snapshot": "not_allowed",
    "match_environmental_conditions": "not_allowed",
    "set_active_preset": "not_allowed",
    "set_beam_mute": "not_allowed",
    "set_beam_solo": "not_allowed",
    "set_environmental_condition_values": "not_allowed",
    "set_preset_section_state": "not_allowed",
    "set_system_eq": "not_allowed",
    "set_system_gain": "not_allowed",
    "set_system_mute": "not_allowed",
    "sleep_module": "not_allowed",
    "wake_module": "not_allowed"
  }
}

Get the current show mode state and configuration

get

Returns whether show mode is active and the configuration that determines, per-action, whether the request is allowed, requires confirmation, or is blocked when the state is active. Requests guarded by a not_allowed gate respond with HTTP 423 Locked while show mode is active.

Responses
200

OK

application/json
activebooleanOptional
get/status/show-mode
GET /status/show-mode HTTP/1.1
Accept: */*
{
  "active": true,
  "configuration": {
    "force_processor_failover": "not_allowed",
    "load_preset_sections_state_snapshot": "not_allowed",
    "match_environmental_conditions": "not_allowed",
    "set_active_preset": "not_allowed",
    "set_beam_mute": "not_allowed",
    "set_beam_solo": "not_allowed",
    "set_environmental_condition_values": "not_allowed",
    "set_preset_section_state": "not_allowed",
    "set_system_eq": "not_allowed",
    "set_system_gain": "not_allowed",
    "set_system_mute": "not_allowed",
    "sleep_module": "not_allowed",
    "wake_module": "not_allowed"
  }
}

Get current system gain in linear values

get

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

Responses
200

OK

application/json
scalestring · enumRequiredPossible values:
valuenumberRequiredExample: 1
get/gain/linear
GET /gain/linear HTTP/1.1
Accept: */*
{
  "scale": "linear",
  "value": 1
}

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
200

OK

application/json
scalestring · enumRequiredPossible values:
valuenumberRequiredExample: 1
put/gain/linear
PUT /gain/linear HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 11

{
  "value": 1
}
{
  "scale": "linear",
  "value": 1
}

Get Modules

get

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

Responses
200

OK

application/json
get/modules
GET /modules HTTP/1.1
Accept: */*
{
  "ANY_ADDITIONAL_PROPERTY": {
    "analog_mode_status": {
      "beam_groups_configured": true,
      "enforced": true,
      "fallback_engaged": true,
      "override_engaged": true
    },
    "blinking": false,
    "manufacturer": "HOLOPLOT",
    "name": "ABC-1234",
    "online": true,
    "position": {
      "front_direction": {
        "x": 1,
        "y": 2,
        "z": 3
      },
      "position": {
        "x": 1,
        "y": 2,
        "z": 3
      },
      "up_direction": {
        "x": 1,
        "y": 2,
        "z": 3
      }
    },
    "power_status": "awake",
    "product": "X1",
    "type": "MD96"
  }
}

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
200

OK

text/tab-separated-values
stringOptional
get/modules/summary
GET /modules/summary HTTP/1.1
Accept: */*
text

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
200

OK

application/json
blinkingbooleanOptional
manufacturerstringOptionalExample: HOLOPLOT
namestringOptionalExample: ABC-1234
onlinebooleanOptional
power_statusstring · enumOptionalPossible values:
productstringOptionalExample: X1
typestringOptionalExample: MD96
get/modules/{moduleID}
GET /modules/{moduleID} HTTP/1.1
Accept: */*
{
  "analog_mode_status": {
    "beam_groups_configured": true,
    "enforced": true,
    "fallback_engaged": true,
    "override_engaged": true
  },
  "blinking": false,
  "manufacturer": "HOLOPLOT",
  "name": "ABC-1234",
  "online": true,
  "position": {
    "front_direction": {
      "x": 1,
      "y": 2,
      "z": 3
    },
    "position": {
      "x": 1,
      "y": 2,
      "z": 3
    },
    "up_direction": {
      "x": 1,
      "y": 2,
      "z": 3
    }
  },
  "power_status": "awake",
  "product": "X1",
  "type": "MD96"
}
put

Changes the blink state for a specific module

Path parameters
moduleIDstringRequired

Module ID

Body
onbooleanRequired
Responses
204

No Content

No content

put/modules/{moduleID}/blink
PUT /modules/{moduleID}/blink HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 11

{
  "on": true
}

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
targetstring · enumRequiredPossible values:
Responses
204

No Content

No content

put/modules/{moduleID}/power
PUT /modules/{moduleID}/power HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 15

{
  "target": "on"
}

No content

Get System Mute

get

Returns the system mute state

Responses
200

OK

application/json
mutedbooleanRequired
get/mute
GET /mute HTTP/1.1
Accept: */*
{
  "muted": true
}

Set System Mute

put

Changes the system mute state

Body
mutedbooleanRequired
Responses
200

OK

application/json
mutedbooleanRequired
put/mute
PUT /mute HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 14

{
  "muted": true
}
{
  "muted": true
}

Get Power State

get

Returns the target power state for the system

Responses
200

OK

application/json
systemstring · enumRequiredPossible values:
get/power
GET /power HTTP/1.1
Accept: */*
{
  "system": "on"
}

Set Power State

put

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

Body
systemstring · enumRequiredPossible values:
Responses
200

OK

application/json
systemstring · enumRequiredPossible values:
put/power
PUT /power HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 15

{
  "system": "on"
}
{
  "system": "on"
}

Get all Presets

get

Returns information for all presets

Responses
200

OK

application/json
get/presets
GET /presets HTTP/1.1
Accept: */*
{
  "ANY_ADDITIONAL_PROPERTY": {
    "beams": {
      "ANY_ADDITIONAL_PROPERTY": {
        "beam_type": "coverage-beam",
        "mute": false,
        "name": "Beam 1",
        "solo": false
      }
    },
    "name": "Preset 1"
  }
}

Get Preset

get

Returns information for a specific preset

Path parameters
presetIDstringRequired

Preset ID

Responses
200

OK

application/json
namestringOptionalExample: Preset 1
get/presets/{presetID}
GET /presets/{presetID} HTTP/1.1
Accept: */*
{
  "beams": {
    "ANY_ADDITIONAL_PROPERTY": {
      "beam_type": "coverage-beam",
      "mute": false,
      "name": "Beam 1",
      "solo": false
    }
  },
  "name": "Preset 1"
}

Get Processors

get

Returns information about all processors

Responses
200

OK

application/json
get/processors
GET /processors HTTP/1.1
Accept: */*
{
  "ANY_ADDITIONAL_PROPERTY": {
    "active_pairing_physical_processor": "ABC-1234",
    "backup_pairing_physical_processor": "XYZ-9876",
    "main_pairing_physical_processor": "ABC-1234",
    "name": "3rd party processor",
    "type": "XR5610"
  }
}

Get Processor

get

Returns information for a specific processor

Path parameters
processorIDstringRequired

Processor ID

Responses
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
typestring · enumOptionalPossible values:
get/processors/{processorID}
GET /processors/{processorID} HTTP/1.1
Accept: */*
{
  "active_pairing_physical_processor": "ABC-1234",
  "backup_pairing_physical_processor": "XYZ-9876",
  "main_pairing_physical_processor": "ABC-1234",
  "name": "3rd party processor",
  "type": "XR5610"
}

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
204

No Content

No content

patch/processors/{processorID}/active-pairing
PATCH /processors/{processorID}/active-pairing HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 22

{
  "physical_id": "text"
}

No content

Get Spaces

get

Returns information about all physical spaces in the venue

Responses
200

OK

application/json
get/spaces
GET /spaces HTTP/1.1
Accept: */*
{
  "ANY_ADDITIONAL_PROPERTY": {
    "active_environmental_conditions_id": "123e4567-e89b-12d3-a456-426614174000",
    "active_preset_id": "123e4567-e89b-12d3-a456-426614174000",
    "environmental_conditions": {
      "atmospheric_pressure_pascal": 101325,
      "humidity_percentage": 55,
      "temperature_celsius": 21.5
    },
    "name": "Theatre hall",
    "preset_ids": [
      "text"
    ]
  }
}

Get Space

get

Returns information for a specific physical space in the venue

Path parameters
spaceIDstringRequired

Space ID

Responses
200

OK

application/json
active_environmental_conditions_idstring · uuidOptional
active_preset_idstring · uuidOptional
namestringOptionalExample: Theatre hall
preset_idsstring[]Optional
get/spaces/{spaceID}
GET /spaces/{spaceID} HTTP/1.1
Accept: */*
{
  "active_environmental_conditions_id": "123e4567-e89b-12d3-a456-426614174000",
  "active_preset_id": "123e4567-e89b-12d3-a456-426614174000",
  "environmental_conditions": {
    "atmospheric_pressure_pascal": 101325,
    "humidity_percentage": 55,
    "temperature_celsius": 21.5
  },
  "name": "Theatre hall",
  "preset_ids": [
    "text"
  ]
}

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
200

OK

application/json
active_environmental_conditions_idstring · uuidOptional
active_preset_idstring · uuidOptional
namestringOptionalExample: Theatre hall
preset_idsstring[]Optional
patch/spaces/{spaceID}
PATCH /spaces/{spaceID} HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 177

{
  "active_preset_id": "123e4567-e89b-12d3-a456-426614174000",
  "environmental_conditions": {
    "atmospheric_pressure_pascal": 101325,
    "humidity_percentage": 55,
    "temperature_celsius": 21.5
  }
}
{
  "active_environmental_conditions_id": "123e4567-e89b-12d3-a456-426614174000",
  "active_preset_id": "123e4567-e89b-12d3-a456-426614174000",
  "environmental_conditions": {
    "atmospheric_pressure_pascal": 101325,
    "humidity_percentage": 55,
    "temperature_celsius": 21.5
  },
  "name": "Theatre hall",
  "preset_ids": [
    "text"
  ]
}

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
200

OK

No content

post/spaces/{spaceID}/environmental-conditions/apply
POST /spaces/{spaceID}/environmental-conditions/apply HTTP/1.1
Accept: */*

No content

Get Cluster Readiness state

get

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

Responses
200

Cluster is ready

No content

get/status/cluster/ready
GET /status/cluster/ready HTTP/1.1
Accept: */*

No content

Get Health

get

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

Responses
200

OK

application/json
get/status/health
GET /status/health HTTP/1.1
Accept: */*
{
  "arrays": {
    "ANY_ADDITIONAL_PROPERTY": {
      "message": "Okay",
      "status": "okay"
    }
  },
  "controllers": {
    "ANY_ADDITIONAL_PROPERTY": {
      "hardware_status": "okay",
      "message": "Okay",
      "network_status": "okay",
      "status": "okay"
    }
  },
  "modules": {
    "ANY_ADDITIONAL_PROPERTY": {
      "hardware_status": "okay",
      "message": "Okay",
      "network_status": "okay",
      "status": "okay"
    }
  },
  "processors": {
    "ANY_ADDITIONAL_PROPERTY": {
      "health": {
        "hardware_status": "okay",
        "message": "Okay",
        "network_status": "okay",
        "software_status": "okay",
        "status": "okay"
      },
      "pairing": "123e4567-e89b-12d3-a456-426614174000"
    }
  },
  "system": {
    "message": "Okay",
    "status": "okay"
  }
}

Get Module Power States

get

Get power information for all modules

Responses
200

OK

application/json
get/status/power
GET /status/power HTTP/1.1
Accept: */*
{
  "modules": {
    "ANY_ADDITIONAL_PROPERTY": {
      "status": "awake"
    }
  }
}

Get the current show mode state and configuration

get

Returns whether show mode is active and the configuration that determines, per-action, whether the request is allowed, requires confirmation, or is blocked when the state is active. Requests guarded by a not_allowed gate respond with HTTP 423 Locked while show mode is active.

Responses
200

OK

application/json
activebooleanOptional
get/status/show-mode
GET /status/show-mode HTTP/1.1
Accept: */*
{
  "active": true,
  "configuration": {
    "force_processor_failover": "not_allowed",
    "load_preset_sections_state_snapshot": "not_allowed",
    "match_environmental_conditions": "not_allowed",
    "set_active_preset": "not_allowed",
    "set_beam_mute": "not_allowed",
    "set_beam_solo": "not_allowed",
    "set_environmental_condition_values": "not_allowed",
    "set_preset_section_state": "not_allowed",
    "set_system_eq": "not_allowed",
    "set_system_gain": "not_allowed",
    "set_system_mute": "not_allowed",
    "sleep_module": "not_allowed",
    "wake_module": "not_allowed"
  }
}

Get System Sync Summary

get

Get the last known beam instance sync state: total number of beam instances, number of correctly synced beam instances, and a list of modules that are not fully synced with the IDs of their unexpected and incorrect beam instances, all scoped by the beam instances that are currently active.

Responses
200

OK

application/json
num_correct_beam_instancesintegerOptional

number of beam instances that are correctly synced

Example: 94
num_total_beam_instancesintegerOptional

total number of beam instances

Example: 100
get/status/sync
GET /status/sync HTTP/1.1
Accept: */*
{
  "num_correct_beam_instances": 94,
  "num_total_beam_instances": 100,
  "unsynced_modules": [
    {
      "incorrect_beam_instances": [
        "text"
      ],
      "module_id": "text",
      "unexpected_beam_instances": [
        "text"
      ]
    }
  ]
}

Stream System Gain updates, dB scale

get
Responses
200

OK

No content

get/ws/gain/db
GET /ws/gain/db HTTP/1.1
Accept: */*
200

OK

No content

Stream System Gain updates, linear scale

get
Responses
200

OK

No content

get/ws/gain/linear
GET /ws/gain/linear HTTP/1.1
Accept: */*
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
200

OK

No content

get/ws/mute
GET /ws/mute HTTP/1.1
Accept: */*
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
200

OK

No content

get/ws/power
GET /ws/power HTTP/1.1
Accept: */*
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
200

OK

No content

get/ws/processors
GET /ws/processors HTTP/1.1
Accept: */*
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
200

OK

No content

get/ws/spaces
GET /ws/spaces HTTP/1.1
Accept: */*
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
200

OK

No content

get/ws/status/health
GET /ws/status/health HTTP/1.1
Accept: */*
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
200

OK

No content

get/ws/status/power
GET /ws/status/power HTTP/1.1
Accept: */*
200

OK

No content

Last updated

Was this helpful?