General
General machine operation and diagnostic endpoints.
Health [CALL]
Health
Checks whether the Daemon is alive and responsive.
Wire format: [Topic, Message]
Send: CallTopic + {Params: ...} → Receive: CallResultTopic + {Result: ...}
No params.
Result
|
Result |
boolean |
Always |
Example - Health checkRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
Shows
Endpoints related to show file management and favourites on this machine.
CopyShowFileToLocal [CALL]
CopyShowFileToLocal
Copies a specific show file from the server machine to this machine (client). Fetches the file from the Store service and writes it to disk.
Wire format: [Topic, Message]
Send: CallTopic + {Params: ...} → Receive: CallResultTopic + {Result: ...}
Params
|
ShowName |
string |
Name of the show to copy. |
|
Overwrite optional (default: false) |
boolean |
Whether to overwrite an existing local file with the same name. |
|
Path optional |
string |
Destination path on disk. Defaults to the local shows database directory. |
|
FileName optional |
string |
Override the filename to use when saving to disk. Defaults to `ShowName`. |
Result
|
Success |
boolean |
Whether the copy operation succeeded. |
Example 1 - Copy a showRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
Example 2 - Show not found (failure)Request (you send) JSON
JSON
Response (you receive) JSON
JSON
|
CheckShowFileLocal [CALL]
CheckShowFileLocal
Checks whether a specific show file already exists on this machine's local disk.
Wire format: [Topic, Message]
Send: CallTopic + {Params: ...} → Receive: CallResultTopic + {Result: ...}
Params
|
ShowName |
string |
Name of the show to check. |
Result
|
ShowName |
string |
The name of the show that was checked. |
|
ShowExist |
boolean |
Whether the show file exists locally. |
Example - Check if show existsRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
Role
Endpoints for managing the machine role in the Pixotope network.
SetRole [CALL]
SetRole
This operation restarts services and may take several seconds. While running, the Daemon is busy and will reject further `SetRole` calls.
Sets the machine role and initiates any necessary service restarts. Returns both the new role values and the previous role for comparison.
Wire format: [Topic, Message]
Send: CallTopic + {Params: ...} → Receive: CallResultTopic + {Result: ...}
Params
|
Role |
string |
The machine role to assign. One of `"StandAlone"`, `"Director"`, `"Renderer"`, `"Client"`. |
|
IPAddress optional |
string |
The IP address of the Director to connect to. Required when setting the `"Client"` or `"Renderer"` role. |
|
BackupIPAddress optional |
string |
The IP address of the backup Director. |
Result
|
Role |
object |
The new role state values after the change. |
|
PreviousRole |
object |
The role state values before the change. |
|
RoleHasChanged |
boolean |
Whether the role actually changed. |
Example 1 - Set machine as DirectorRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
Example 2 - Daemon busy (failure)Request (you send) JSON
JSON
Response (you receive) JSON
JSON
|
Backup
Endpoints for server backup and failover configuration.
ToggleServerBackup [CALL]
ToggleServerBackup
Enabling or disabling backup triggers a Datahub and AssetHub restart, causing a brief service interruption.
Enables or disables automatic server failover backup for this client machine. When enabled, this machine is designated as a standby backup in case the main server fails. Requires a Server Failover license.
Wire format: [Topic, Message]
Send: CallTopic + {Params: ...} → Receive: CallResultTopic + {Result: ...}
Params
|
Enabled |
boolean |
Whether to enable server backup for this machine. |
Result
|
Result |
boolean |
The effective new value (may differ from the requested value if the license is not present). |
Example - Enable backupRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
General
General machine operation and diagnostic endpoints.
IsProcessRunning [CALL]
IsProcessRunning
Checks whether a named system process is currently running on this machine.
Wire format: [Topic, Message]
Send: CallTopic + {Params: ...} → Receive: CallResultTopic + {Result: ...}
Params
|
Name |
string |
The process name to check (e.g. `"PixotopeDirector.exe"`). |
Result
|
Name |
string |
The process name that was checked. |
|
IsRunning |
boolean |
Whether the process is currently running. |
Example - Check if Director is runningRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
UpdateBackupInfo [CALL]
UpdateBackupInfo
Triggers a service restart, causing a brief interruption.
Updates the backup network configuration for this machine. On the main server, triggers an AssetHub restart; on clients, triggers a Datahub restart.
Wire format: [Topic, Message]
Send: CallTopic + {Params: ...} → Receive: CallResultTopic + {Result: ...}
Params
|
BackupIP optional |
string |
The IP address of the backup server. Leave empty to clear the backup IP. |
Result
|
Result |
boolean |
Always `true` when the update completes successfully. |
Example - Update backup IPRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
CleanBackupInfo [CALL]
CleanBackupInfo
Clears all backup network configuration from this machine, removing any previously configured backup server IP.
Wire format: [Topic, Message]
Send: CallTopic + {Params: ...} → Receive: CallResultTopic + {Result: ...}
No params.
Result
|
Result |
boolean |
Always `true` when cleanup completes. |
Example - Clean backup infoRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
Role
Endpoints for managing the machine role in the Pixotope network.
ResetRole [CALL]
ResetRole
This operation restarts services and may take several seconds. While running, the Daemon is busy and will reject further `ResetRole` calls.
Resets this machine's role to the default unset state (StandAlone), stops the engine, and restarts services.
Wire format: [Topic, Message]
Send: CallTopic + {Params: ...} → Receive: CallResultTopic + {Result: ...}
No params.
Result
|
Result |
boolean |
Always `true` when the reset completes successfully. |
Example 1 - Reset roleRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
Example 2 - Daemon busy (failure)Request (you send) JSON
JSON
Response (you receive) JSON
JSON
|
DisconnectFromServer [CALL]
DisconnectFromServer
Disconnects this machine from the current Director server by resetting the role to StandAlone. An optional notification message can be sent to the local notification service before disconnecting.
Wire format: [Topic, Message]
Send: CallTopic + {Params: ...} → Receive: CallResultTopic + {Result: ...}
Params
|
Message optional |
string |
Optional notification message to display before disconnecting. |
Result
|
Result |
boolean |
Always `true` (the response is sent before the disconnect begins). |
Example - DisconnectRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
Projects
Endpoints for managing project links and the project list on this machine.
RemoveLocalProjectPath [CALL]
RemoveLocalProjectPath
Removes a local disk path override for a store project path. After removal, the project will no longer have a local path mapping and will use the server path instead.
Wire format: [Topic, Message]
Send: CallTopic + {Params: ...} → Receive: CallResultTopic + {Result: ...}
Params
|
StoreProjectsPath |
string |
The store project path (may include aliases) whose local override should be removed. |
Example - Remove a local path overrideRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
RescanProjects [CALL]
RescanProjects
Forces an immediate rescan of all projects from the Store service and updates the Daemon's internal project list.
Wire format: [Topic, Message]
Send: CallTopic + {Params: ...} → Receive: CallResultTopic + {Result: ...}
No params.
Result
|
Result |
boolean |
Whether the rescan from the Store succeeded. |
Example - Rescan projectsRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
AddLinkedProject [CALL]
AddLinkedProject
Adds a project to the Store's project list. Supports three strategies: moving the project into the install directory, copying it, or linking it as a local-only project.
Wire format: [Topic, Message]
Send: CallTopic + {Params: ...} → Receive: CallResultTopic + {Result: ...}
Params
|
Project |
string |
The project path to add (absolute or using aliases like `%SYNCED_STORAGE%`). |
|
Strategy |
string |
How to add the project: `"Move"`, `"Copy"`, or `"Local"`. |
|
AutoPull optional (default: false) |
boolean |
Whether to automatically pull from version control after setting up the workspace. |
|
Push optional (default: false) |
boolean |
Whether to push the workspace to version control after setup. |
Result
|
Result |
string |
The final project path after the operation, or `false` if the operation failed. |
Example - Add a local projectRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
ChangeLocalLinkedProject [CALL]
ChangeLocalLinkedProject
Changes the storage location of an existing linked project by moving or copying it to a new location within the install directory.
Wire format: [Topic, Message]
Send: CallTopic + {Params: ...} → Receive: CallResultTopic + {Result: ...}
Params
|
Project |
string |
The current project path (absolute or aliased). |
|
Strategy |
string |
How to relocate the project: `"Move"` or `"Copy"`. |
|
AutoPull optional (default: false) |
boolean |
Whether to automatically pull from version control after setup. |
|
Push optional (default: false) |
boolean |
Whether to push the workspace to version control after setup. |
Result
|
Result |
string |
The new project path after the operation, or `false` if the operation failed. |
Example - Move a projectRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
Encryption
Endpoints for managing network encryption on this machine.
EnableEncryption [CALL]
EnableEncryption
This operation restarts Datahub and Gateway services, causing a brief network interruption for all connected services.
Enables or disables network encryption for Pixotope services on this machine. Triggers a full Datahub and Gateway restart.
Wire format: [Topic, Message]
Send: CallTopic + {Params: ...} → Receive: CallResultTopic + {Result: ...}
Params
|
Enable |
boolean |
Whether to enable encryption. |
Result
|
Result |
boolean |
The requested encryption state. |
Example - Enable encryptionRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
RegenerateEncryptionKeys [CALL]
RegenerateEncryptionKeys
All machines in the network must re-import the new encryption keys after regeneration. This causes a service interruption.
Removes the existing encryption keys and generates a new set, then restarts Datahub and Gateway to apply them.
Wire format: [Topic, Message]
Send: CallTopic + {Params: ...} → Receive: CallResultTopic + {Result: ...}
No params.
Result
|
Result |
boolean |
Always `true` when regeneration completes. |
Example - Regenerate keysRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
AddEncryptionKeys [CALL]
AddEncryptionKeys
Triggers a Datahub and Gateway restart, causing a brief network interruption.
Imports and installs encryption key material onto this machine, then restarts Datahub and Gateway to activate the new keys. The key data is sent as a binary attachment.
Wire format: [Topic, Message]
Send: CallTopic + {Params: ...} → Receive: CallResultTopic + {Result: ...}
No params.
Result
|
Result |
boolean |
Always `true` when the import and restart complete successfully. |
Example - Add encryption keysRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
RemoveEncryptionKeys [CALL]
RemoveEncryptionKeys
Triggers a Datahub and Gateway restart, causing a brief network interruption.
Removes all encryption keys from this machine and disables encryption, then restarts Datahub and Gateway.
Wire format: [Topic, Message]
Send: CallTopic + {Params: ...} → Receive: CallResultTopic + {Result: ...}
No params.
Result
|
Result |
boolean |
Always `true` when removal and restart complete. |
Example - Remove encryption keysRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
Network
Endpoints for network diagnostics and adapter management.
TestNetworkConnection [CALL]
TestNetworkConnection
Tests whether this machine can reach the Pixotope network by attempting to identify the QueryServer. Will fail if encryption is currently being applied.
Wire format: [Topic, Message]
Send: CallTopic + {Params: ...} → Receive: CallResultTopic + {Result: ...}
No params.
Result
|
Result |
boolean |
Whether the network connection test succeeded. |
Example - Test connectionRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
Shows
Endpoints related to show file management and favourites on this machine.
ToggleFavorite [CALL]
ToggleFavorite
Adds or removes a show or level from the favourites list. Changes are broadcast immediately via the `FavouriteShows` update.
Wire format: [Topic, Message]
Send: CallTopic + {Params: ...} → Receive: CallResultTopic + {Result: ...}
Params
|
Name |
string |
Name of the show or level to add or remove. |
|
Add |
boolean |
`true` to add to favourites, `false` to remove. |
|
Levels |
boolean |
`true` if the provided name is a level; `false` if it is a show. |
Example - Add Show1 to favouritesRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
RefreshNetworkAdapters [CALL]
RefreshNetworkAdapters
Re-scans the OS network interfaces and updates the Daemon's list of available network adapters. Broadcasts updated `ActiveAdapter` and `NetworkAdapters` values.
Wire format: [Topic, Message]
Send: CallTopic + {Params: ...} → Receive: CallResultTopic + {Result: ...}
No params.
Result
|
Result |
boolean |
Always `true` when the refresh completes. |
Example - Refresh adaptersRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
ToggleFavoriteFilter [CALL]
ToggleFavoriteFilter
Toggles the "show only favourites" filter for shows or levels in the persistent database. Changes are broadcast via `FavouriteShows`.
Wire format: [Topic, Message]
Send: CallTopic + {Params: ...} → Receive: CallResultTopic + {Result: ...}
Params
|
Levels |
boolean |
`true` to toggle the favourites filter for levels; `false` to toggle it for shows. |
Example - Toggle shows favourite filterRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
Control Panels
Endpoints for creating and managing control panel files on this machine.
CreateControlPanel [CALL]
CreateControlPanel
Creates a new control panel file at the specified path with the provided content.
Wire format: [Topic, Message]
Send: CallTopic + {Params: ...} → Receive: CallResultTopic + {Result: ...}
Params
|
FilePath |
string |
Absolute path where the control panel file should be created. |
|
Content |
string |
The file content to write. |
Result
|
Result |
boolean |
Always `true` when the file is written successfully. |
Example - Create a control panelRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
RenameControlPanel [CALL]
RenameControlPanel
Renames an existing control panel file or folder-format control panel to a new name.
Wire format: [Topic, Message]
Send: CallTopic + {Params: ...} → Receive: CallResultTopic + {Result: ...}
Params
|
FilePath |
string |
The current absolute path of the control panel file. |
|
Name |
string |
The new name (without extension) to rename the file to. |
|
IsFolderFormat optional (default: false) |
boolean |
Whether the control panel uses the folder format (a directory with the same base name). |
Result
|
Result |
boolean |
Whether the rename succeeded. |
Example - Rename a control panelRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
DuplicateControlPanel [CALL]
DuplicateControlPanel
Creates a copy of an existing control panel file or folder-format control panel with the same base name.
Wire format: [Topic, Message]
Send: CallTopic + {Params: ...} → Receive: CallResultTopic + {Result: ...}
Params
|
FilePath |
string |
The absolute path of the control panel to duplicate. |
|
IsFolderFormat optional (default: false) |
boolean |
Whether the control panel uses the folder format. |
Result
|
Result |
boolean |
Whether the duplication succeeded. |
Example - Duplicate a control panelRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
DeleteControlPanel [CALL]
DeleteControlPanel
Deletes an existing control panel file or folder-format control panel from disk.
Wire format: [Topic, Message]
Send: CallTopic + {Params: ...} → Receive: CallResultTopic + {Result: ...}
Params
|
Path |
string |
The absolute path of the control panel to delete. |
|
IsFolderFormat optional (default: false) |
boolean |
Whether the control panel uses the folder format (deletes the entire directory). |
Result
|
Result |
boolean |
Always `true` when the delete operation completes. |
Example - Delete a control panelRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
General
General machine operation and diagnostic endpoints.
RestartMachine [CALL]
RestartMachine
This will immediately restart the operating system. All unsaved work will be lost.
Restarts the Windows machine. Before restarting, the Director autorun registry entry is set so that Pixotope starts again after reboot.
Wire format: [Topic, Message]
Send: CallTopic + {Params: ...} → Receive: CallResultTopic + {Result: ...}
No params.
Result
|
Result |
boolean |
Always `true` (the restart is initiated after the response is sent). |
Example - Restart the machineRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
PixotopeAutostart [CALL]
PixotopeAutostart
Sets a custom executable path in the Windows registry startup entry for Pixotope, overriding the default install path. Also updates the `DirectorStartup` state if the custom path matches or does not match the current installation.
Wire format: [Topic, Message]
Send: CallTopic + {Params: ...} → Receive: CallResultTopic + {Result: ...}
Params
|
Path |
string |
Absolute path to the Pixotope executable to register for autostart. |
Result
|
Result |
boolean |
Whether the registry update succeeded. |
Example 1 - Set custom autostart pathRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
Example 2 - Invalid path (failure)Request (you send) JSON
JSON
Response (you receive) JSON
JSON
|