Service name: <MachineName>-Daemon (one per machine).
General
General machine operation and diagnostic endpoints.
Health [CALL]
Health
Checks whether the Daemon is alive and responsive.
No params.
Result
|
Result |
BOOLEAN |
Always `true` when the Daemon responds. |
Example - Health checkRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
IsProcessRunning [CALL]
IsProcessRunning
Checks whether a named system process is currently running on this machine.
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
|
RestartPixotope [CALL]
RestartPixotope
Restarts the Pixotope suite of services.
No params.
Result
|
Result |
BOOLEAN |
Always `true` (the restart is initiated after the response is sent). |
Example - Restart the Pixotope suite of servicesRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
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.
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.
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
|
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.
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.
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
|
ToggleFavorite [CALL]
ToggleFavorite
Adds or removes a show or level from the favourites list. Changes are broadcast immediately via the `FavouriteShows` update.
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
|
ToggleFavoriteFilter [CALL]
ToggleFavoriteFilter
Toggles the "show only favourites" filter for shows or levels in the persistent database. Changes are broadcast via `FavouriteShows`.
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
|
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.
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.
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.
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.
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
|
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.
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
|
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.
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.
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
|
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.
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
|
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.
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.
No params.
Result
|
Result |
BOOLEAN |
Always `true` when cleanup completes. |
Example - Clean backup infoRequest (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.
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.
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.
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.
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.
No params.
Result
|
Result |
BOOLEAN |
Whether the network connection test succeeded. |
Example - Test connectionRequest (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.
No params.
Result
|
Result |
BOOLEAN |
Always `true` when the refresh completes. |
Example - Refresh adaptersRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
PingServer [CALL]
PingServer
Pings the configured server IP address 4 times to test network reachability. If this machine is the primary server or standalone (no server IP configured), responds immediately without pinging.
No params.
Result
|
IsPrimary |
BOOLEAN |
`true` if this machine has no server IP configured (is itself the server or standalone). |
|
ServerIp OPTIONAL |
STRING |
The IP address that was pinged. |
|
Reachable OPTIONAL |
BOOLEAN |
Whether at least one ping succeeded. |
|
Results OPTIONAL |
OBJECT[] |
Array of ping results with `attempt`, `success`, and optional `time` (ms). |
Example 1 - Ping when no server IP is set (primary/standalone)Request (you send) JSON
JSON
Response (you receive) JSON
JSON
|
Example 2 - Ping server that is reachableRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
Example 3 - Ping server that is not reachableRequest (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.
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.
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.
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.
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
|
Services
Endpoints for starting, stopping, and restarting Pixotope services on this machine.
StartService [CALL]
StartService
Starts a specific service. Available service names: `"PX_Daemon"`, `"PX_Datahub"`, `"PX_Gateway"`, `"PX_License"`, `"PX_VideoIO"`, `"PX_Tracking"`, `"PX_Store"`, `"Director"`, `"PX_Engine"`.
Params
|
Name |
STRING |
Name of the service to start (not concatenated with the machine name). |
|
Value OPTIONAL |
ANY |
Service-specific parameters. When starting `"PX_Engine"` this is an engine payload describing which level/project to open and in which mode (see fields below). For other services it may be an array of process arguments, or omitted. |
|
Value.mode |
STRING |
(PX_Engine) Engine mode to launch in. One of `"Live"`, `"Game"`, `"Editor"`, or `"PIE"` (Play In Editor). |
|
Value.levelLocation |
STRING |
(PX_Engine) Path to the level/map to open. May be an absolute path or an aliased path (e.g. `"$(Show)/Content/Maps/Main.umap"`), resolved on the target machine. |
|
Value.projectLocation |
STRING |
(PX_Engine) Path to the Unreal project (`.uproject`) to open. May be absolute or aliased; resolved on the target machine. Ignored when `useLevelPath` is `true`. |
|
Value.useLevelPath OPTIONAL(default: false) |
BOOLEAN |
(PX_Engine) When `true`, the project location is derived from `levelLocation` instead of using `projectLocation` directly. |
|
Value.reload OPTIONAL(default: false) |
BOOLEAN |
(PX_Engine) When `true`, forces the engine to reload the level even if it is already open on the requested level/project. |
Result
|
Success |
BOOLEAN |
Whether the service was started successfully. |
Example 1 - Starting PX_VideoIO serviceRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
Example 2 - Starting PX_Engine with an engine payload (see TEngineMessagePayload)Request (you send) JSON
JSON
Response (you receive) JSON
JSON
|
StopService [CALL]
StopService
Stops a specific service.
Params
|
Name |
STRING |
Name of the service to stop (not concatenated with the machine name). |
Result
|
Success |
BOOLEAN |
Whether the service was stopped successfully. |
Example - Stopping PX_VideoIO serviceRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
RestartService [CALL]
RestartService
Restarts a specific service.
Params
|
Name |
STRING |
Name of the service to restart (not concatenated with the machine name). |
|
Value OPTIONAL |
ANY |
Service-specific parameters. |
Result
|
Success |
BOOLEAN |
Whether the service was restarted successfully. |
Example - Restarting PX_VideoIO serviceRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
Shutdown [CALL]
Shutdown
Stops all Pixotope services on this machine and exits the Daemon process.
No params.
Result
|
Success |
BOOLEAN |
Always `true` (the response is sent before shutdown begins). |
Example - ShutdownRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
RestartStore [CALL]
RestartStore
Restarts the Store service.
No params.
Result
|
Success |
BOOLEAN |
Always `true` when the restart completes. |
Example - Restart the StoreRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
ExecutePixotopeInstaller [CALL]
ExecutePixotopeInstaller
Executes the Pixotope installer in silent mode. Optionally launches Pixotope after the installation completes.
Params
|
LaunchPixotope OPTIONAL(default: false) |
BOOLEAN |
Whether to launch Pixotope after the installer finishes. |
Result
|
ExitCode |
NUMBER |
The installer process exit code (`0` for success). |
|
Signal OPTIONAL |
STRING |
The signal that terminated the process, if any. |
|
Error OPTIONAL |
STRING |
Error message if the process failed to spawn. |
Example 1 - Execute installerRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
Example 2 - Installer not found (failure)Request (you send) JSON
JSON
Response (you receive) JSON
JSON
|