Service name: Store (singleton, one per network).
Shows
Endpoints for creating, switching, and managing shows.
ChangeShow [CALL]
ChangeShow
Changes the currently open show. The show must already exist on disk.
Params
|
ShowName |
STRING |
Name of the show to switch to. |
Example - Switch to an existing showRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
CreateShow [CALL]
CreateShow
Creates a new show and immediately switches to it. Also sets the project path from the provided argument.
Params
|
ShowName |
STRING |
Name of the new show. |
|
Project |
STRING |
Path of the `.uproject` file of the linked Unreal project. |
|
AutoPull OPTIONAL(default: false) |
BOOLEAN |
If `true`, the project will be pulled automatically on startup. |
|
Push OPTIONAL(default: false) |
BOOLEAN |
If `true`, the project will be pushed after creation. |
Example - Create a new showRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
CreateShowWithTemplate [CALL]
CreateShowWithTemplate
Same as `CreateShow` but also copies all files from the template project location to the target project location before switching.
Params
|
ShowName |
STRING |
Name of the new show. |
|
Project |
STRING |
Destination folder path for the new project (becomes the linked project). |
|
Template |
STRING |
Path of the `.uproject` file of the template project to copy from. |
|
Move OPTIONAL(default: false) |
BOOLEAN |
If `true`, the template is moved instead of copied. |
|
AutoPull OPTIONAL(default: false) |
BOOLEAN |
If `true`, the project will be pulled automatically on startup. |
|
Push OPTIONAL(default: false) |
BOOLEAN |
If `true`, the project will be pushed after creation. |
Example - Create a show from a templateRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
RenameShow [CALL]
RenameShow
Renames an existing show on disk.
Params
|
ShowName |
STRING |
Current name of the show to rename. |
|
NewShowName |
STRING |
New name for the show. |
Example - Rename a showRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
DuplicateShow [CALL]
DuplicateShow
Duplicates an existing show on disk, creating a copy with a new name.
Params
|
ShowName |
STRING |
Name of the show to duplicate. |
Example - Duplicate a showRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
DeleteShow [CALL]
DeleteShow
This operation is irreversible. The show file will be permanently removed from disk.
Permanently deletes a show file from disk.
Params
|
ShowName |
STRING |
Name of the show to delete. |
Example - Delete a showRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
GetStateForShow [CALL]
GetStateForShow
Returns the complete persisted state for a specific service and show. Useful when importing settings from another show. To read the current show's state, use a normal `Get` on `State.*`.
Params
|
ShowName |
STRING |
Name of the show to read state from. |
|
Service |
STRING |
Name of the service whose state should be returned. |
Result
|
Result |
OBJECT |
The full state object for the specified service and show. |
Example - Get state for a specific show and serviceRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
GetAllStatesForShow [CALL]
GetAllStatesForShow
Returns the persisted state for all services in a specific show. Same as `GetStateForShow` but covers every service at once.
Params
|
ShowName |
STRING |
Name of the show to read all states from. |
Result
|
Result |
OBJECT |
A map of service names to their full state objects. |
Example - Get all states for a showRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
GetAllStates [CALL]
GetAllStates
Same as `GetAllStatesForShow` but always uses the currently open show. No parameters required.
No params.
Result
|
Result |
OBJECT |
A map of service names to their full state objects for the current show. |
Example - Get all states for the current showRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
GetShowFile [CALL]
GetShowFile
Returns the raw binary content of a show's database file (`.pxshow`).
Params
|
ShowName |
STRING |
Name of the show whose file should be returned. |
Result
|
Result |
OBJECT |
The binary show file content as a Buffer. |
Example - Get the raw show fileRequest (you send) JSON
JSON
Response (you receive) JSON
|
Tracking
Endpoints for managing camera systems, routing tracking data, and routing video I/O.
AddCamera [CALL]
AddCamera
Creates a new camera system object in the database under a unique identifier using a fully provided `Camera` object. Prefer `AddDefaultCamera` when possible.
Params
|
ObjectState |
OBJECT |
The full `Camera` object describing the new camera system. |
Result
|
Result |
STRING |
The unique ID assigned to the new camera entry. |
Example - Add a camera with a custom stateRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
AddDefaultCamera [CALL]
AddDefaultCamera
Creates a new camera system in the database using default values derived from the `Name`. This is the most common way to create a camera.
Params
|
Name |
STRING |
Display name for the new camera system. |
|
Fingerprint |
STRING |
Unique identifier of the owning service or machine. |
Result
|
Result |
STRING |
The unique ID assigned to the new camera entry. |
Example - Add a default cameraRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
DuplicateCamera [CALL]
DuplicateCamera
Duplicates an existing camera system and assigns a new fingerprint to the copy.
Params
|
Camera |
STRING |
Name of the existing camera system to duplicate. |
|
Fingerprint |
STRING |
Unique identifier of the new owner for the duplicated camera. |
Result
|
Result |
STRING |
The unique ID of the newly created duplicate camera entry. Returns nothing if the source camera does not exist. |
Example - Duplicate a cameraRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
DeleteCamera [CALL]
DeleteCamera
Removes a camera system object from the database.
Params
|
Camera |
STRING |
Name of the camera system to remove. |
Example - Delete a cameraRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
CreateObjectWithUniqueID [CALL]
CreateObjectWithUniqueID
Creates an object at the given state path under a new unique identifier. Used internally (for example by `AddCamera`); prefer higher-level calls when available.
Params
|
Position |
STRING |
Dot-notation path in the state tree where the object should be created. |
|
ObjectState |
OBJECT |
The object to store under the generated unique ID. |
Result
|
Result |
STRING |
The generated unique ID under which the object was stored. |
Example - Create an object at a custom pathRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
RouteTracking [CALL]
RouteTracking
Routes a tracking chain to a specific computer by IP address, activating live tracking data flow for that chain.
Params
|
Chain |
STRING |
Identifier of the tracking chain to route. |
|
ComputerName |
STRING |
Name of the target computer. |
|
IP |
STRING |
IP address of the target computer. |
Example - Route a tracking chainRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
DerouteTracking [CALL]
DerouteTracking
Removes a tracking route for a chain on a specific computer, stopping the live tracking data flow.
Params
|
Chain |
STRING |
Identifier of the tracking chain to deroute. |
|
ComputerName |
STRING |
Name of the computer from which to remove the route. |
Example - Deroute a tracking chainRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
RouteVideoIO [CALL]
RouteVideoIO
Configures a video I/O routing entry for a specific computer and I/O channel.
Params
|
ComputerName |
STRING |
Name of the target computer. |
|
Name |
STRING |
Name of the I/O channel or device. |
|
IOType |
STRING |
Type of I/O (e.g. `"AJA"`, `"BMD"`, `"NDI"`, `"File"`). |
|
Camera OPTIONAL |
STRING |
Optional camera name to associate with this routing entry. |
|
InputType OPTIONAL |
STRING |
Optional input type override. |
|
Video OPTIONAL |
OBJECT |
Optional video configuration parameters. |
|
IsSharedFrame OPTIONAL(default: false) |
BOOLEAN |
Whether this uses a shared frame buffer. |
|
CustomID OPTIONAL |
STRING |
Custom routing ID to use instead of a generated one. |
Result
|
Result |
STRING |
The routing ID assigned to this video I/O entry. |
Example - Route a video I/O channelRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
RouteCameraSystem [CALL]
RouteCameraSystem
Sets up a complete camera system route, combining tracking and video I/O routing in a single call.
Params
|
ComputerName |
STRING |
Name of the target computer. |
|
Name |
STRING |
Name of the I/O channel or device. |
|
Camera |
STRING |
Name of the camera system to route. |
|
IOType |
STRING |
Type of I/O (e.g. `"AJA"`, `"BMD"`, `"NDI"`, `"File"`). |
|
IP |
STRING |
IP address of the target computer (used for tracking routing). |
|
InputType OPTIONAL |
STRING |
Optional input type override. |
|
Video OPTIONAL |
OBJECT |
Optional video configuration parameters. |
|
ChainPort OPTIONAL |
NUMBER |
Optional tracking chain port override. |
Result
|
RoutingID |
STRING |
The routing ID assigned to the video I/O entry for this camera system. |
Example - Route a full camera systemRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
Utility
Miscellaneous Store management endpoints for service lifecycle, color assignment, camera sets, and bulk state operations.
RegisterServiceShutdown [CALL]
RegisterServiceShutdown
Notifies the Store that a service is shutting down, removing it from the connected clients list.
Params
|
Service |
STRING |
Name of the service that is shutting down. |
Example - Notify Store of a service shutdownRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
GetMachineDefaultColor [CALL]
GetMachineDefaultColor
Returns the default display color for a machine. The color is deterministic per machine name and is stored in the database for consistency across sessions.
Params
|
Machine |
STRING |
Name of the machine. |
|
IsServer |
BOOLEAN |
Whether the machine is acting as a server. |
Result
|
Result |
STRING |
A hex color string (e.g. `"#FF5733"`) representing the machine's default color. |
Example - Get the default color for a machineRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
AddCameraType [CALL]
AddCameraType
Adds a custom camera type to the current show. Show-specific camera types are merged with the built-in defaults when returned by the `CameraTypes` Get endpoint.
Params
|
Id |
STRING |
Unique identifier string for the new camera type. |
|
Label |
STRING |
Human-readable display label. |
|
CameraName |
STRING |
Internal camera model name. |
|
Width |
NUMBER |
Sensor width in mm. |
|
Height |
NUMBER |
Sensor height in mm. |
Example - Add a custom camera typeRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
ExportShowToString [CALL]
ExportShowToString
Exports the show database file to a human-readable `.txt` file on disk. The file is written to an `Exports` folder next to the show files. If no `Name` is provided, the current show is used.
Params
|
Name OPTIONAL |
STRING |
Name of the show to export. Defaults to the currently open show. |
Example - Export the current show to a text fileRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
ImportShowFromString [CALL]
ImportShowFromString
Imports a show database from a `.txt` file previously created by `ExportShowToString`. Reads the file from the `Exports` folder next to the show files. If no `Name` is provided, the current show is used.
Params
|
Name OPTIONAL |
STRING |
Name of the show to import. Defaults to the currently open show. |
Example - Import a show from a text fileRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|
ChangeNumberStateValue [CALL]
ChangeNumberStateValue
Applies a delta to a numeric state value, incrementing or decrementing it by the given amount. The new value is broadcast and returned.
Params
|
Name |
STRING |
Dot-notation path to the numeric state variable (e.g. `"State.Camera.Zoom"`). |
|
Value |
NUMBER |
The delta to apply (positive to increment, negative to decrement). |
Result
|
Result |
NUMBER |
The new value after the delta has been applied. |
Example - Increment a numeric state value by 5Request (you send) JSON
JSON
Response (you receive) JSON
JSON
|
SetStateBulk [CALL]
SetStateBulk
Replaces the Store state in bulk with a provided state object and optional version tag. Used for state synchronisation between machines.
Params
|
State |
OBJECT |
The state object to apply. |
|
Version OPTIONAL |
STRING |
Optional version tag for the state snapshot. |
Result
|
Success |
BOOLEAN |
Always `true` when the bulk state update is accepted. |
Example - Apply a bulk state updateRequest (you send) JSON
JSON
Response (you receive) JSON
JSON
|