GraphQL — mediaserver

Source graphql/mediaserver.graphql + graphql/common.graphql. Endpoint /api/v1/graphql, subscriptions over graphql-ws.

Query

FieldType@auth scopeDescription
infoServerInfo!anon
healthHealth!anon
readyHealth!anon
venues(first: Int, after: String)VenueConnection!info:read
venue(venueId: DocId!)Venueinfo:read
displays(venueId: DocId!, first: Int, after: String)DisplayConnection!info:read
display(venueId: DocId!, displayId: DocId!)Displayinfo:read
output(venueId: DocId!)Outputplayback:read
calibration(venueId: DocId!)JSONinfo:read
calibrationJobs(venueId: DocId!, status: JobStatus, first: Int, after: String)CalibrationJobConnection!info:read
calibrationJob(venueId: DocId!, jobId: UUID!)CalibrationJobinfo:read
pairings(first: Int, after: String)PairingConnection!users:manage
pairing(pairingId: UUID!)Pairinganon
mePrincipalany
users(first: Int, after: String, q: String)UserConnection!users:manage
user(userId: UUID!)Userusers:manage
apiKeys(first: Int, after: String)ApiKeyConnection!keys:manage
apiKey(keyId: String!)ApiKeykeys:manage
systemSystemStatus!system:read
logs(first: Int, after: String, since: DateTime, level: LogLevel)LogEntryConnection!system:read
configConfig!system:read
updateStatusUpdateStatus!system:read
nodes(first: Int, after: String)NodeConnection!info:read
node(nodeId: DocId!)Nodeinfo:read
shows(first: Int, after: String, q: String, tag: String, sort: String)ShowSummaryConnection!content:read
show(showId: DocId!)Showcontent:read
playlist(showId: DocId!, itemId: DocId!)JSONcontent:read
timeline(showId: DocId!, itemId: DocId!)JSONcontent:read
cue(showId: DocId!, itemId: DocId!)JSONcontent:read
trigger(showId: DocId!, itemId: DocId!)JSONcontent:read
matrix(showId: DocId!)JSONcontent:read
players(venueId: DocId!, first: Int, after: String)PlayerConnection!playback:read
player(venueId: DocId!, playerId: DocId!)Playerplayback:read
activeShow(venueId: DocId!)ActiveShowplayback:read
parameters(venueId: DocId!, prefix: String, first: Int, after: String)ParameterConnection!playback:read
parameter(venueId: DocId!, path: String!)Parameterplayback:read
upload(uploadId: UUID!)Uploadcontent:write
assets(first: Int, after: String, type: AssetType, tag: String, status: AssetStatus, q: String, sort: String)AssetConnection!content:read
asset(assetId: DocId!)Assetcontent:read
storageStatsStorageStats!content:read
audio(venueId: DocId!)AudioStateplayback:read
speakerLayout(venueId: DocId!)JSONinfo:read
audioZones(venueId: DocId!, first: Int, after: String)AudioZoneConnection!playback:read
audioZone(venueId: DocId!, zoneId: DocId!)AudioZoneplayback:read
audioDevices(venueId: DocId!, kind: String, first: Int, after: String)AudioDeviceConnection!playback:read
audioDevice(venueId: DocId!, deviceId: DocId!)AudioDeviceplayback:read
audioPresets(venueId: DocId!, kind: AudioPresetKind, first: Int, after: String)AudioPresetSummaryConnection!content:read
audioPreset(venueId: DocId!, presetId: DocId!)AudioPresetcontent:read
audioSessions(venueId: DocId!, first: Int, after: String)AudioSessionConnection!playback:read
audioSession(venueId: DocId!, sessionId: UUID!)AudioSessionplayback:read
generator(venueId: DocId!)GeneratorStateplayback:read
audioAnalysis(venueId: DocId!)AudioAnalysisStateplayback:read
audioReactive(venueId: DocId!)AudioReactiveStateplayback:read
audioReactiveScenes(venueId: DocId!, first: Int, after: String)AudioReactiveSceneConnection!content:read
audioReactiveScene(venueId: DocId!, sceneId: DocId!)AudioReactiveScenecontent:read
textureSources(venueId: DocId!, first: Int, after: String)TextureSourceConnection!playback:read
engines(first: Int, after: String)EngineConnection!info:read
engine(name: String!)Engineinfo:read
gateways(first: Int, after: String)GatewayConnection!gateways:manage
gateway(gatewayId: DocId!)Gatewaygateways:manage
clients(first: Int, after: String)ClientConnection!system:read
events(topics: [String!]!, sinceSeq: Int, first: Int, after: String)EventConnection!events:subscribe
scenarios(first: Int, after: String)ScenarioConnection!content:read
scenario(scenarioId: String!)Scenariocontent:read
scenarioSessions(venueId: DocId!, first: Int, after: String)ScenarioSessionConnection!playback:read
scenarioSession(venueId: DocId!, sessionId: UUID!)ScenarioSessionplayback:read
scenarioSessionLog(venueId: DocId!, sessionId: UUID!, first: Int, after: String)ScenarioLogEntryConnection!playback:read
devices(first: Int, after: String)DeviceConnection!info:read
device(deviceId: DocId!)Deviceinfo:read
jobs(first: Int, after: String, kind: String, status: JobStatus)JobConnection!any
job(jobId: UUID!)Jobany

Mutation

FieldType@auth scopeDescription
createVenue(venue: JSON!)Venue!venues:write
putVenue(venueId: DocId!, venue: JSON!, ifMatch: Int, createOnly: Boolean)Venue!venues:write
patchVenue(venueId: DocId!, patch: JSON!, ifMatch: Int!)Venue!venues:write
deleteVenue(venueId: DocId!, ifMatch: Int!)Boolean!venues:write
activateVenue(venueId: DocId!)Venue!venues:write
patchDisplay(venueId: DocId!, displayId: DocId!, patch: JSON!, ifMatch: Int!)Display!venues:write
identifyDisplay(venueId: DocId!, displayId: DocId!, durationS: Float)Boolean!displays:control
setTestPattern(venueId: DocId!, displayId: DocId!, pattern: TestPatternInput!)DisplayState!displays:control
setDisplayPower(venueId: DocId!, displayId: DocId!, input: DisplayPowerInput!)DisplayState!displays:control
patchOutput(venueId: DocId!, patch: OutputPatch!)Output!playback:control
startCalibrationJob(venueId: DocId!, input: CalibrationJobInput!)CalibrationJob!calibration:run
submitCalibrationCapture(venueId: DocId!, jobId: UUID!, input: CalibrationCaptureInput!)CalibrationJob!calibration:run
applyCalibrationJob(venueId: DocId!, jobId: UUID!)CalibrationJob!calibration:run
cancelCalibrationJob(venueId: DocId!, jobId: UUID!)CalibrationJob!calibration:run
createSession(input: SessionInput!)Tokens!anon
deleteSessionBoolean!any
refreshSession(refreshToken: String!)Tokens!anon
exchangeCloudToken(subjectToken: String!, client: ClientInfoInput)Tokens!anon
createPairing(input: PairingInput!)Pairing!anon
approvePairing(pairingId: UUID!, input: PairingApprovalInput)Pairing!users:manage
createUser(input: UserInput!)User!users:manage
patchUser(userId: UUID!, patch: UserPatch!, ifMatch: Int!)User!users:manage
deleteUser(userId: UUID!, ifMatch: Int!)Boolean!users:manage
createApiKey(input: ApiKeyInput!)ApiKeyCreated!keys:manage
deleteApiKey(keyId: String!)Boolean!keys:manage
clearLogsBoolean!system:admin
putConfig(values: JSON!, ifMatch: Int!)Config!system:admin
runDiagnostics(checks: [String!])Job!system:read
createBackup(include: [String!], note: String)Job!system:admin
restoreBackup(uploadId: UUID!, confirm: Boolean!)Job!system:admin
startUpdate(input: UpdateInput)Job!system:admin
rebootSystem(input: PowerInput!)PowerAccepted!system:admin
shutdownSystem(input: PowerInput!)PowerAccepted!system:admin
createShow(show: JSON!)Show!content:write
putShow(showId: DocId!, show: JSON!, ifMatch: Int, createOnly: Boolean)Show!content:write
patchShow(showId: DocId!, patch: JSON!, ifMatch: Int!)Show!content:write
deleteShow(showId: DocId!, ifMatch: Int!)Boolean!content:write
putPlaylist(showId: DocId!, itemId: DocId!, playlist: JSON!, ifMatch: Int!)JSON!content:write
deletePlaylist(showId: DocId!, itemId: DocId!, ifMatch: Int!)Boolean!content:write
putTimeline(showId: DocId!, itemId: DocId!, timeline: JSON!, ifMatch: Int!)JSON!content:write
deleteTimeline(showId: DocId!, itemId: DocId!, ifMatch: Int!)Boolean!content:write
putCue(showId: DocId!, itemId: DocId!, cue: JSON!, ifMatch: Int!)JSON!content:write
deleteCue(showId: DocId!, itemId: DocId!, ifMatch: Int!)Boolean!content:write
putTrigger(showId: DocId!, itemId: DocId!, trigger: JSON!, ifMatch: Int!)JSON!content:write
deleteTrigger(showId: DocId!, itemId: DocId!, ifMatch: Int!)Boolean!content:write
putMatrix(showId: DocId!, matrix: JSON!, ifMatch: Int!)JSON!content:write
startImport(input: ImportInput!)Job!content:write
patchPlayer(venueId: DocId!, playerId: DocId!, patch: PlayerPatch!)Player!playback:control
play(venueId: DocId!, playerId: DocId!, input: PlayInput)Player!playback:control
pause(venueId: DocId!, playerId: DocId!)Player!playback:control
resume(venueId: DocId!, playerId: DocId!)Player!playback:control
stop(venueId: DocId!, playerId: DocId!)Player!playback:control
next(venueId: DocId!, playerId: DocId!)Player!playback:control
previous(venueId: DocId!, playerId: DocId!)Player!playback:control
seek(venueId: DocId!, playerId: DocId!, input: SeekInput!)Player!playback:control
fireCue(venueId: DocId!, cueId: DocId!, showId: DocId)CueFired!playback:control
setActiveShow(venueId: DocId!, showId: DocId, autoplay: Boolean)ActiveShow!playback:control
setParameter(venueId: DocId!, path: String!, value: JSON!, fadeSec: Float)Parameter!playback:control
createAsset(input: AssetInput!)Asset!content:write
patchAsset(assetId: DocId!, patch: AssetPatch!, ifMatch: Int!)Asset!content:write
deleteAsset(assetId: DocId!, ifMatch: Int!, force: Boolean)Boolean!content:write
patchAudio(venueId: DocId!, patch: AudioPatch!)AudioState!audio:control
putSpeakerLayout(venueId: DocId!, layout: JSON!, ifMatch: Int!)JSON!venues:write
putAudioZone(venueId: DocId!, zoneId: DocId!, input: AudioZoneInput!, ifMatch: Int, createOnly: Boolean)AudioZone!audio:control
patchAudioZone(venueId: DocId!, zoneId: DocId!, patch: AudioZonePatch!)AudioZone!audio:control
deleteAudioZone(venueId: DocId!, zoneId: DocId!, ifMatch: Int!)Boolean!audio:control
patchAudioDevice(venueId: DocId!, deviceId: DocId!, patch: AudioDevicePatch!)AudioDevice!audio:control
testAudioDevice(venueId: DocId!, deviceId: DocId!, input: AudioDeviceTestInput)AudioDeviceTestResult!audio:control
putAudioPreset(venueId: DocId!, presetId: DocId!, kind: AudioPresetKind!, document: JSON!, ifMatch: Int, createOnly: Boolean)AudioPreset!content:write
deleteAudioPreset(venueId: DocId!, presetId: DocId!, ifMatch: Int!)Boolean!content:write
startAudioSession(venueId: DocId!, input: AudioSessionInput!)AudioSession!audio:control
stopAudioSession(venueId: DocId!, sessionId: UUID!)Boolean!audio:control
setGenerator(venueId: DocId!, input: GeneratorInput!)GeneratorState!audio:control
stopGenerator(venueId: DocId!)Boolean!audio:control
setAudioAnalysis(venueId: DocId!, input: AudioAnalysisInput!)AudioAnalysisState!audio:control
patchAudioReactive(venueId: DocId!, patch: AudioReactivePatch!)AudioReactiveState!playback:control
putAudioReactiveScene(venueId: DocId!, sceneId: DocId!, input: AudioReactiveSceneInput!, ifMatch: Int, createOnly: Boolean)AudioReactiveScene!content:write
deleteAudioReactiveScene(venueId: DocId!, sceneId: DocId!, ifMatch: Int!)Boolean!content:write
setSourcePosition(venueId: DocId!, sourceId: DocId!, input: SourcePositionInput!)Boolean!audio:control
setComputeBackend(backend: String!)Engine!system:admin
restartEngine(name: String!)Job!system:admin
patchGateway(gatewayId: DocId!, patch: GatewayPatch!, ifMatch: Int!)Gateway!gateways:manage
testGateway(gatewayId: DocId!)GatewayTestResult!gateways:manage
sendOsc(input: SendOscInput!)Boolean!gateways:manage
publishAppPayload(app: String!, input: AppPayloadInput!)AppPayload!apps:publish
clearAppPayloads(app: String!)Boolean!apps:publish
registerClient(input: ClientInput!)Client!any
unregisterClient(clientId: UUID!)Boolean!any
postClientTelemetry(clientId: UUID!, samples: [TelemetrySampleInput!]!)Boolean!any
patchScenario(scenarioId: String!, enabled: Boolean!)Scenario!system:admin
startScenarioSession(venueId: DocId!, input: ScenarioSessionInput!)ScenarioSession!playback:control
pauseScenarioSession(venueId: DocId!, sessionId: UUID!)ScenarioSession!playback:control
resumeScenarioSession(venueId: DocId!, sessionId: UUID!)ScenarioSession!playback:control
stopScenarioSession(venueId: DocId!, sessionId: UUID!)ScenarioSession!playback:control
beginDevicePairing(deviceId: DocId!)DevicePairingStarted!venues:write
confirmDevicePairing(deviceId: DocId!, code: String!)Device!venues:write
unpairDevice(deviceId: DocId!)Boolean!venues:write
bindDevice(deviceId: DocId!, displayId: DocId, ifMatch: Int!)Device!venues:write
cancelJob(jobId: UUID!)Job!any

Subscription

FieldType@auth scopeDescription
events(topics: [String!]!, sinceSeq: Int)Event!events:subscribe
systemHealthHealth!info:read
engineChanged(name: String)Engine!info:readname = `visual` also matches node-qualified engines `visual@<node>` (prefix before `@`); absent = all engines
nodeChanged(nodeId: DocId)Node!info:read
venueChanged(venueId: DocId!)Venue!info:read
outputChanged(venueId: DocId!)Output!playback:read
playerChanged(venueId: DocId!, playerId: DocId!)Player!playback:read
playerPosition(venueId: DocId!, playerId: DocId!, hz: Float)PlayerPosition!playback:read
cueFired(venueId: DocId!)CueFired!playback:read
parameterChanged(venueId: DocId!, prefix: String)Parameter!playback:read
displayChanged(venueId: DocId!, displayId: DocId)Display!info:read
calibrationJobChanged(jobId: UUID!)CalibrationJob!info:read
audioChanged(venueId: DocId!)AudioState!playback:read
audioSessionChanged(venueId: DocId!, sessionId: UUID)AudioSession!playback:read
scenarioSessionChanged(venueId: DocId!, sessionId: UUID)ScenarioSession!playback:read
showChanged(showId: DocId)Event!content:read
assetChanged(assetId: DocId)Asset!content:read
uploadProgress(uploadId: UUID!)Upload!content:write
jobChanged(jobId: UUID!)Job!any
gatewayChanged(gatewayId: DocId)Gateway!gateways:manage
appPayload(app: String!)AppPayload!info:read
clientCommand(clientId: UUID!)ClientCommand!any
deviceChanged(deviceId: DocId)Device!info:read

type ActiveShow

FieldType@authDescription
venueIdDocId!
showIdDocId
warnings[ShowWarning!]

type ApiKey

FieldType@authDescription
idString!
nameString!
roleRole!
scopes[String!]!
prefixString
createdByString
createdAtDateTime!
expiresAtDateTime
lastUsedAtDateTime
revokedAtDateTime

type ApiKeyConnection

FieldType@authDescription
edges[ApiKeyEdge!]!
nodes[ApiKey!]!
pageInfoPageInfo!

type ApiKeyCreated

FieldType@authDescription
keyApiKey!
tokenString!fdk_ token — returned only here, once.

type ApiKeyEdge

FieldType@authDescription
cursorString!
nodeApiKey!

input ApiKeyInput

FieldType@authDescription
nameString!
roleRole!
scopes[String!]
expiresAtDateTime

type AppPayload

FieldType@authDescription
idUUID!
appString!
kindString!
schemaString
dataJSON
publishedByString
expiresAtDateTime!

input AppPayloadInput

FieldType@authDescription
kindString!
schemaString
dataJSON!
ttlSecInt
venueIdDocId
playerIdDocId

type Asset

FieldType@authDescription
idDocId!
nameString!
typeAssetType!
srcString
textureJSONstream assets fed by a live source (asset.schema.json #/$defs/texture)
mediaTypeString
sha256String
sizeFloat
statusAssetStatus!
problemProblem
progressFloat
mappingJSONdome/1.1 #/$defs/mapping
mediaJSONprobe data (asset.schema.json #/$defs/media)
thumbnails[Thumbnail!]
tags[String!]
usedBy[DocId!]
revisionInt!
createdAtDateTime!
updatedAtDateTime
contentUrlString!REST URL of the content (Range, ETag = sha256)

type AssetConnection

FieldType@authDescription
edges[AssetEdge!]!
nodes[Asset!]!
pageInfoPageInfo!

type AssetEdge

FieldType@authDescription
cursorString!
nodeAsset!

input AssetInput

FieldType@authDescription
uploadIdUUID
urlString
fallbackUrlString
idDocId
nameString
typeAssetType
mappingJSON
tags[String!]
sha256String

input AssetPatch

FieldType@authDescription
nameString
typeAssetType
mappingJSON
tags[String!]

enum AssetStatus

UPLOADING PROCESSING READY FAILED UNKNOWN

enum AssetType

VIDEO IMAGE AUDIO ZELIM BORANKO COMICS REALTIME STREAM DOME OTHER UNKNOWN

input AudioAnalysisInput

FieldType@authDescription
enabledBoolean!
inputsJSON!audio-reactive.schema.json #/$defs/input

type AudioAnalysisState

FieldType@authDescription
venueIdDocId!
enabledBoolean!
statusString!
problemProblem
engineString
sampleRateInt
blockSizeInt
inputsJSON!audio-reactive.schema.json #/$defs/input

type AudioDevice

FieldType@authDescription
idDocId!
kindString!
nameString
configJSON
stateJSON!

type AudioDeviceConnection

FieldType@authDescription
edges[AudioDeviceEdge!]!
nodes[AudioDevice!]!
pageInfoPageInfo!

type AudioDeviceEdge

FieldType@authDescription
cursorString!
nodeAudioDevice!

input AudioDevicePatch

FieldType@authDescription
nameString
gainDbFloat
muteBoolean
configJSON

input AudioDeviceTestInput

FieldType@authDescription
kindString
frequencyHzFloat
gainDbFloat
durationSFloat

type AudioDeviceTestResult

FieldType@authDescription
deviceIdDocId!
okBoolean!
latencyMsFloat
detailString
problemProblem

type AudioEngineRef

FieldType@authDescription
statusString!
versionString

enum AudioMode

DIGITAL HYBRID COMBINED UNKNOWN

input AudioPatch

FieldType@authDescription
modeAudioMode
masterGainDbFloat
muteBoolean

type AudioPreset

FieldType@authDescription
idDocId!
kindAudioPresetKind!
titleJSON
revisionInt!
documentJSON!ananta/1.0 programme | pattern | session document
sha256String
updatedAtDateTime

enum AudioPresetKind

PROGRAMME PATTERN SESSION UNKNOWN

type AudioPresetSummary

FieldType@authDescription
idDocId!
kindAudioPresetKind!
titleJSON
revisionInt!

type AudioPresetSummaryConnection

FieldType@authDescription
edges[AudioPresetSummaryEdge!]!
nodes[AudioPresetSummary!]!
pageInfoPageInfo!

type AudioPresetSummaryEdge

FieldType@authDescription
cursorString!
nodeAudioPresetSummary!

input AudioReactivePatch

FieldType@authDescription
enabledBoolean
activeSceneIdDocId
intensityFloat

type AudioReactiveScene

FieldType@authDescription
idDocId!
titleJSON!
descriptionJSON
revisionInt!
mappingsJSON!audio-reactive.schema.json #/$defs/mapping

type AudioReactiveSceneConnection

FieldType@authDescription
edges[AudioReactiveSceneEdge!]!
nodes[AudioReactiveScene!]!
pageInfoPageInfo!

type AudioReactiveSceneEdge

FieldType@authDescription
cursorString!
nodeAudioReactiveScene!

input AudioReactiveSceneInput

FieldType@authDescription
titleJSON!
descriptionJSON
mappingsJSON!

type AudioReactiveState

FieldType@authDescription
venueIdDocId!
enabledBoolean!
statusString!
problemProblem
activeSceneIdDocId
intensityFloat!
statsJSON
resolumeJSONgateway.schema.json #/$defs/resolumeStatus

type AudioSession

FieldType@authDescription
idUUID!
venueIdDocId!
presetIdDocId!
statusSessionStatus!
engines[String!]
positionFloat
durationFloat
itemIndexInt
targetsAudioTargets
problemProblem
startedAtDateTime!
endedAtDateTime

type AudioSessionConnection

FieldType@authDescription
edges[AudioSessionEdge!]!
nodes[AudioSession!]!
pageInfoPageInfo!

type AudioSessionEdge

FieldType@authDescription
cursorString!
nodeAudioSession!

input AudioSessionInput

FieldType@authDescription
presetIdDocId!
gainDbFloat
targetsAudioTargetsInput
atDateTime
loopBoolean

type AudioState

FieldType@authDescription
venueIdDocId!
modeAudioMode!
masterGainDbFloat!
muteBoolean!
anantasoundAudioEngineRef
anantadigitalAudioEngineRef
layoutRevisionInt
revisionInt!

type AudioTargets

FieldType@authDescription
devices[DocId!]
zones[DocId!]
speakers[DocId!]

input AudioTargetsInput

FieldType@authDescription
devices[DocId!]
zones[DocId!]
speakers[DocId!]

type AudioZone

FieldType@authDescription
idDocId!
nameString
speakers[DocId!]!
gainDbFloat!
delayMsFloat
eq[EqBand!]
muteBoolean!
revisionInt!

type AudioZoneConnection

FieldType@authDescription
edges[AudioZoneEdge!]!
nodes[AudioZone!]!
pageInfoPageInfo!

type AudioZoneEdge

FieldType@authDescription
cursorString!
nodeAudioZone!

input AudioZoneInput

FieldType@authDescription
nameString
speakers[DocId!]!
gainDbFloat
delayMsFloat
eq[EqBandInput!]
muteBoolean

input AudioZonePatch

FieldType@authDescription
nameString
speakers[DocId!]
gainDbFloat
delayMsFloat
eq[EqBandInput!]
muteBoolean

scalar Boolean

The `Boolean` scalar type represents `true` or `false`.

input CalibrationCaptureInput

FieldType@authDescription
uploadIdUUID!
stepIdDocId

type CalibrationJob

FieldType@authDescription
idUUID!
venueIdDocId!
kindString!
statusJobStatus!
progressFloat
displays[DocId!]
speakers[DocId!]
stepsJSON
currentStepString
awaitingJSON
errorsJSON
resultJSON
problemProblem
createdAtDateTime!
updatedAtDateTime

type CalibrationJobConnection

FieldType@authDescription
edges[CalibrationJobEdge!]!
nodes[CalibrationJob!]!
pageInfoPageInfo!

type CalibrationJobEdge

FieldType@authDescription
cursorString!
nodeCalibrationJob!

input CalibrationJobInput

FieldType@authDescription
kindString!
displays[DocId!]
speakers[DocId!]
optionsJSON

type Client

FieldType@authDescription
idUUID!
appString!
appVersionString
deviceNameString!
platformString
capabilities[String!]!
principalString
commandsTopicString
registeredAtDateTime!
lastSeenDateTime

type ClientCommand

FieldType@authDescription
commandString!
paramsJSON
expiresAtDateTime

type ClientConnection

FieldType@authDescription
edges[ClientEdge!]!
nodes[Client!]!
pageInfoPageInfo!

type ClientEdge

FieldType@authDescription
cursorString!
nodeClient!

input ClientInfoInput

FieldType@authDescription
appString
appVersionString
deviceNameString

input ClientInput

FieldType@authDescription
appString!
appVersionString
deviceNameString!
platformString
capabilities[String!]

type ClockStatus

FieldType@authDescription
sourceString!
offsetMsFloat
jitterMsFloat
masterIdString
lockedBoolean!

type Config

Effective configuration; secrets are always "***".

FieldType@authDescription
revisionInt!
valuesJSON!
redacted[String!]
restartRequired[String!]

type CountBytes

FieldType@authDescription
countInt!
bytesFloat!

type CueActionResult

FieldType@authDescription
doString!
statusString!
problemProblem

type CueFired

FieldType@authDescription
cueIdDocId!
showIdDocId!
firedAtDateTime!
actions[CueActionResult!]

scalar DateTime

RFC 3339 UTC timestamp with milliseconds, e.g. 2026-10-19T12:00:00.000Z.

type Device

FieldType@authDescription
idDocId!
serialString
productString
variantString!
hwRevisionString
agentVersionString
protocolVersionString
capabilities[String!]
addressString!
pairedBoolean!
displayIdDocId
stateJSON!

type DeviceConnection

FieldType@authDescription
edges[DeviceEdge!]!
nodes[Device!]!
pageInfoPageInfo!

type DeviceEdge

FieldType@authDescription
cursorString!
nodeDevice!

type DevicePairingStarted

FieldType@authDescription
deviceIdDocId!
expiresAtDateTime!
codeLengthInt

type Display

FieldType@authDescription
idDocId!
venueIdDocId!
revisionInt!
configJSON!the .dome display entry (dome/1.1 #/$defs/display)
stateDisplayState!

type DisplayConnection

FieldType@authDescription
edges[DisplayEdge!]!
nodes[Display!]!
pageInfoPageInfo!

type DisplayEdge

FieldType@authDescription
cursorString!
nodeDisplay!

input DisplayPowerInput

FieldType@authDescription
onBoolean
shutterString

type DisplayState

FieldType@authDescription
onlineBoolean!
powerString
shutterString
signalBoolean
temperatureCFloat
patternJSONdisplay/#/$defs/testPattern or null
lastSeenDateTime
capabilities[String!]
faults[String!]

scalar DocId

Document-scoped id ^[A-Za-z0-9._-]{1,64}$ (.dome ids, aliases default / main).

type Engine

FieldType@authDescription
nameString!
statusEngineStatus!
versionString
protocolString
endpointString
nodes[DocId!]
backendString
backends[String!]
capabilitiesJSON
metricsJSON
problemProblem
sinceDateTime

type EngineConnection

FieldType@authDescription
edges[EngineEdge!]!
nodes[Engine!]!
pageInfoPageInfo!

type EngineEdge

FieldType@authDescription
cursorString!
nodeEngine!

enum EngineStatus

UP DEGRADED DOWN INCOMPATIBLE UNKNOWN

type EqBand

FieldType@authDescription
typeString!
frequencyHzFloat!
gainDbFloat
qFloat
enabledBoolean

input EqBandInput

FieldType@authDescription
typeString!
frequencyHzFloat!
gainDbFloat
qFloat
enabledBoolean

type Event

Event envelope (02e §7.1): `data` is the event-kinds payload (resource / patch / revision).

FieldType@authDescription
idUUID!
seqInt!
topicString!
kindString!
tsDateTime!
dataJSON!

type EventConnection

FieldType@authDescription
nodes[Event!]!
pageInfoPageInfo!
lastSeqIntHighest seq delivered in this page.
resyncBoolean!True when the requested sinceSeq is older than the ring buffer: re-read state.

scalar Float

The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).

type Gateway

FieldType@authDescription
idDocId!
nameString
directionGatewayDirection!
protocolString!
vendorString
enabledBoolean!
statusString!
docsOnlyBoolean
listenersJSON
peersJSON
configJSON
allowCidrs[String!]
problemProblem
statsJSON
resolumeJSONprotocol resolume: gateway.schema.json #/$defs/resolumeStatus

type GatewayConnection

FieldType@authDescription
edges[GatewayEdge!]!
nodes[Gateway!]!
pageInfoPageInfo!

enum GatewayDirection

INBOUND OUTBOUND CONVERTER UNKNOWN

type GatewayEdge

FieldType@authDescription
cursorString!
nodeGateway!

input GatewayPatch

FieldType@authDescription
enabledBoolean
configJSON
allowCidrs[String!]

type GatewayTestResult

FieldType@authDescription
gatewayIdDocId!
okBoolean!
latencyMsFloat
remoteVersionString
detailString
problemProblem

input GeneratorInput

FieldType@authDescription
signalString!
frequencies[Float!]
gainDbFloat
durationSFloat
targetsAudioTargetsInput

type GeneratorSettings

FieldType@authDescription
signalString!
frequencies[Float!]
gainDbFloat
durationSFloat
targetsAudioTargets

type GeneratorState

FieldType@authDescription
runningBoolean!
settingsGeneratorSettings
startedAtDateTime

type Health

FieldType@authDescription
statusHealthStatus!
checksJSON

enum HealthStatus

OK DEGRADED DOWN UNKNOWN

input ImportInput

FieldType@authDescription
uploadIdUUID
urlString
assetIdDocId
formatString!
targetImportTargetInput
optionsJSON

input ImportTargetInput

FieldType@authDescription
kindString
idDocId
replaceBoolean
activateBoolean

scalar Int

The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

type Job

Long-running operation (schemas/api/1.0/job.schema.json).

FieldType@authDescription
idUUID!
kindString!
statusJobStatus!
progressFloat
messageString
createdAtDateTime!
updatedAtDateTime
finishedAtDateTime
resultJSON
problemProblem
linksJSON

type JobConnection

FieldType@authDescription
edges[JobEdge!]!
nodes[Job!]!
pageInfoPageInfo!

type JobEdge

FieldType@authDescription
cursorString!
nodeJob!

enum JobStatus

QUEUED RUNNING AWAITING_INPUT SUCCEEDED FAILED CANCELLED UNKNOWN

scalar JSON

Any JSON value; the field description names the JSON Schema it is validated against.

type LogEntry

FieldType@authDescription
seqInt
tsDateTime!
levelLogLevel!
targetString
messageString!
fieldsJSON
traceIdString

type LogEntryConnection

FieldType@authDescription
edges[LogEntryEdge!]!
nodes[LogEntry!]!
pageInfoPageInfo!

type LogEntryEdge

FieldType@authDescription
cursorString!
nodeLogEntry!

enum LogLevel

TRACE DEBUG INFO WARN ERROR UNKNOWN

type MatrixCell

FieldType@authDescription
matrixIdDocId
rowDocId!
columnDocId!

input MatrixCellInput

FieldType@authDescription
matrixIdDocId
rowDocId!
columnDocId!

type Node

FieldType@authDescription
idDocId!
nameString
roleString!
statusString!
addressString
engines[String!]
clockClockStatus
lastSeenDateTime

type NodeConnection

FieldType@authDescription
edges[NodeEdge!]!
nodes[Node!]!
pageInfoPageInfo!

type NodeEdge

FieldType@authDescription
cursorString!
nodeNode!

input OscArgInput

FieldType@authDescription
typeString!
valueJSON

type Output

FieldType@authDescription
brightnessFloat!
volumeFloat!
gainDbFloat
muteBoolean
blackoutBoolean!
rotationFloat
lightingBoolean
ndiJSON

input OutputPatch

FieldType@authDescription
brightnessFloat
volumeFloat
gainDbFloat
muteBoolean
blackoutBoolean
rotationFloat
lightingBoolean
ndiJSON

type PageInfo

Relay page info.

FieldType@authDescription
hasNextPageBoolean!
endCursorString

type Pairing

FieldType@authDescription
pairingIdUUID!
statusPairingStatus!
codeString
qrString
appString
deviceNameString
roleRole
expiresAtDateTime!
tokensTokens

input PairingApprovalInput

FieldType@authDescription
approveBoolean
roleRole
ttlSecInt

type PairingConnection

FieldType@authDescription
edges[PairingEdge!]!
nodes[Pairing!]!
pageInfoPageInfo!

type PairingEdge

FieldType@authDescription
cursorString!
nodePairing!

input PairingInput

FieldType@authDescription
appString!
deviceNameString!
requestedRoleRole

enum PairingStatus

PENDING APPROVED DENIED EXPIRED UNKNOWN

type Parameter

FieldType@authDescription
pathString!
typeString!
valueJSON!number | boolean | string
minFloat
maxFloat
unitString
values[String!]
readOnlyBoolean
descriptionString

type ParameterConnection

FieldType@authDescription
edges[ParameterEdge!]!
nodes[Parameter!]!
pageInfoPageInfo!

type ParameterEdge

FieldType@authDescription
cursorString!
nodeParameter!

type Player

FieldType@authDescription
idDocId!
venueIdDocId!
nameString
statusPlayerStatus!
showIdDocId
playlistIdDocId
timelineIdDocId
matrixCellMatrixCell
itemIndexInt
assetIdDocId
positionFloat!
durationFloat
rateFloat
loopBoolean
volumeFloat
opacityFloat
brightnessFloat
rotationFloat
pendingBoolean
scheduledAtDateTime
errorProblem
revisionInt!
updatedAtDateTime

type PlayerConnection

FieldType@authDescription
edges[PlayerEdge!]!
nodes[Player!]!
pageInfoPageInfo!

type PlayerEdge

FieldType@authDescription
cursorString!
nodePlayer!

input PlayerPatch

FieldType@authDescription
rateFloat
loopBoolean
volumeFloat
opacityFloat
brightnessFloat
rotationFloat

type PlayerPosition

FieldType@authDescription
venueIdDocId!
playerIdDocId!
positionFloat!
durationFloat
rateFloat
timecodeString

enum PlayerStatus

IDLE LOADING PLAYING PAUSED STOPPED ERROR UNKNOWN

input PlayInput

FieldType@authDescription
showIdDocId
playlistIdDocId
itemIndexInt
timelineIdDocId
matrixCellMatrixCellInput
assetIdDocId
positionFloat
atDateTime
loopBoolean

type PowerAccepted

FieldType@authDescription
actionString!
atDateTime!

input PowerInput

FieldType@authDescription
confirmBoolean!
delaySecInt
reasonString

type Principal

FieldType@authDescription
subjectString!
kindString!
nameString
roleRole!
scopes[String!]!
originString
expiresAtDateTime

type Problem

RFC 9457 problem (also in errors[].extensions.problem).

FieldType@authDescription
typeString!
titleString!
statusInt!
codeString!
detailString
instanceString
traceIdString
errors[ProblemError!]

type ProblemError

FieldType@authDescription
pointerString!
detailString!

enum Role

GUEST OPERATOR ADMIN SUPERADMIN UNKNOWN

type Scenario

FieldType@authDescription
idString!
versionString!
apiString!
titleJSON!
descriptionJSON
enabledBoolean!
paramsSchemaJSON!JSON Schema of the start parameters
capabilities[String!]!
minRoleRole
sessionsInt

type ScenarioConnection

FieldType@authDescription
edges[ScenarioEdge!]!
nodes[Scenario!]!
pageInfoPageInfo!

type ScenarioEdge

FieldType@authDescription
cursorString!
nodeScenario!

type ScenarioLogEntry

FieldType@authDescription
seqInt!
tsDateTime!
levelString!
messageString!
fieldsJSON

type ScenarioLogEntryConnection

FieldType@authDescription
edges[ScenarioLogEntryEdge!]!
nodes[ScenarioLogEntry!]!
pageInfoPageInfo!

type ScenarioLogEntryEdge

FieldType@authDescription
cursorString!
nodeScenarioLogEntry!

type ScenarioSession

FieldType@authDescription
idUUID!
venueIdDocId!
scenarioIdString!
scenarioVersionString
statusSessionStatus!
paramsJSON!
ownerString
progressFloat
phaseString
messageString
problemProblem
startedAtDateTime!
endedAtDateTime

type ScenarioSessionConnection

FieldType@authDescription
edges[ScenarioSessionEdge!]!
nodes[ScenarioSession!]!
pageInfoPageInfo!

type ScenarioSessionEdge

FieldType@authDescription
cursorString!
nodeScenarioSession!

input ScenarioSessionInput

FieldType@authDescription
scenarioIdString!
paramsJSON
atDateTime

input SeekInput

FieldType@authDescription
positionFloat
markerDocId
normalizedFloat
atDateTime

input SendOscInput

FieldType@authDescription
targetDocId!
addressString!
args[OscArgInput!]

type ServerInfo

GET /info (schemas/api/1.0/info.schema.json).

FieldType@authDescription
productString!
serverVersionString!
contractVersionString
instanceIdUUID!
nameString
apiVersions[String!]!
legacyProfileBoolean
transportsJSONtransports (rest, graphql, ws, socketio, osc ports)
authJSON
venuesJSON
capabilitiesJSON
linksJSON

input SessionInput

FieldType@authDescription
usernameString!
passwordString!
clientClientInfoInput

enum SessionStatus

STARTING RUNNING PAUSED FINISHED STOPPED FAILED UNKNOWN

type Show

Show = .dome show manifest + server fields (schemas/api/1.0/show.schema.json).

FieldType@authDescription
idDocId!
revisionInt!
statusString
metaJSON!
assetsJSON!dome/1.1 #/$defs/asset[]
showJSON!dome/1.1 #/$defs/show
compatJSON
warnings[ShowWarning!]
createdAtDateTime
updatedAtDateTime
exportUrlString!REST URL of the .dome export (binary content is REST-only)

type ShowSummary

FieldType@authDescription
idDocId!
revisionInt!
metaJSON!
statusString
assetCountInt
durationFloat
updatedAtDateTime

type ShowSummaryConnection

FieldType@authDescription
edges[ShowSummaryEdge!]!
nodes[ShowSummary!]!
pageInfoPageInfo!

type ShowSummaryEdge

FieldType@authDescription
cursorString!
nodeShowSummary!

type ShowWarning

FieldType@authDescription
codeString!
detailString!
pointerString

input SourcePositionInput

FieldType@authDescription
azimuthFloat!
elevationFloat!
distanceFloat
rampMsFloat

type StorageStats

FieldType@authDescription
totalBytesFloat!
usedBytesFloat!
freeBytesFloat!
quotaBytesFloat
assetsCountBytes
uploadsCountBytes
byTypeJSON

scalar String

The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

type SystemStatus

FieldType@authDescription
hostJSON!
temperaturesJSON
disksJSON
uptimeSecFloat!
serviceUptimeSecFloat
versionsJSON!

input TelemetrySampleInput

FieldType@authDescription
tsDateTime!
sensorString!
values[Float!]!
unitString

input TestPatternInput

FieldType@authDescription
kindString!
paramsJSON
faceInt

type TextureSource

FieldType@authDescription
idDocId!
transportString!
senderString!
applicationString
statusString!
widthInt
heightInt
fpsFloat
pixelFormatString
assetIdDocId
nodeString
lastSeenDateTime

type TextureSourceConnection

FieldType@authDescription
edges[TextureSourceEdge!]!
nodes[TextureSource!]!
pageInfoPageInfo!

type TextureSourceEdge

FieldType@authDescription
cursorString!
nodeTextureSource!

type Thumbnail

FieldType@authDescription
sizeInt!
urlString!

type Tokens

FieldType@authDescription
accessTokenString!
tokenTypeString!
expiresInInt!
refreshTokenString
refreshExpiresInInt
scopes[String!]
principalPrincipal

input UpdateInput

FieldType@authDescription
channelString
versionString
uploadIdUUID
components[String!]

type UpdateStatus

FieldType@authDescription
statusString!
currentJSON
availableJSON
jobIdUUID
checkedAtDateTime

type Upload

FieldType@authDescription
idUUID!
lengthFloat!
offsetFloat!
statusString!
metadataJSON!
assetIdDocId
problemProblem
expiresAtDateTime
createdAtDateTime!

type User

FieldType@authDescription
idUUID!
usernameString!
displayNameString
roleRole!
disabledBoolean
revisionInt!
createdAtDateTime!
updatedAtDateTime
lastLoginAtDateTime

type UserConnection

FieldType@authDescription
edges[UserEdge!]!
nodes[User!]!
pageInfoPageInfo!

type UserEdge

FieldType@authDescription
cursorString!
nodeUser!

input UserInput

FieldType@authDescription
usernameString!
displayNameString
passwordString!
roleRole!
disabledBoolean

input UserPatch

FieldType@authDescription
displayNameString
passwordString
roleRole
disabledBoolean

scalar UUID

Lowercase RFC 9562 UUID (server resources: UUIDv7).

type Venue

Venue = .dome venue manifest + server fields (schemas/api/1.0/venue.schema.json).

FieldType@authDescription
idDocId!
revisionInt!
statusString!
defaultBoolean
activeShowIdDocId
metaJSON!dome/1.1 #/$defs/meta
domeJSON!dome/1.1 #/$defs/dome
displays[Display!]!
calibrationJSONdome/1.1 #/$defs/calibration
speakerLayoutJSONdome/1.1 #/$defs/audio (speaker layout)
compatJSON
createdAtDateTime
updatedAtDateTime
outputOutput!playback:read
players[Player!]!playback:read
player(playerId: DocId!)Playerplayback:read
audioAudioStateplayback:read
activeShowShowcontent:read
calibrationJobs(status: JobStatus)[CalibrationJob!]!

type VenueConnection

FieldType@authDescription
edges[VenueEdge!]!
nodes[Venue!]!
pageInfoPageInfo!

type VenueEdge

FieldType@authDescription
cursorString!
nodeVenue!

NativeMindNONC · commercial use → NativeMind sales · [email protected]