OSC / API reference

ShowTrak Server can be controlled remotely, so you can fire actions from lighting consoles, cue software, show‑control systems, or your own scripts. There are two ways in, and they use the same set of addresses:

  • OSC — send OSC messages to the Server over UDP on port 3333.
  • HTTP API — send a normal web request (GET or POST) to the Server on port 3000, using the same path. For example: http://<server-ip>:3000/API/All/Select.

Both are available automatically whenever the Server is running — there's nothing to switch on. (The HTTP API is part of the same service as the Web UI; see Preferences for Web UI options.)

How addresses work

Every address starts with /API/. Parts shown like :UUID or :ScriptID are placeholders you replace with a real value:

  • UUID — a client's unique ID, shown in the client's editor (gear icon).
  • ScriptID — a script's ID, shown in the Script Manager.
  • GroupID — a group's ID, shown in the group editor.
  • ID (dummy) — the ID you gave a dummy client when you created it.

The HTTP API returns a small JSON response telling you whether the request succeeded. With OSC you'll see a brief on‑screen confirmation in the Server.

System

Address What it does
/API/Shutdown Closes the Server (respecting any save / show‑mode prompts)
/API/Shutdown/Force Closes the Server immediately, without prompts

A single client

Address What it does
/API/Client/:UUID/Select Adds that client to the current selection
/API/Client/:UUID/Deselect Removes that client from the selection
/API/Client/:UUID/WakeOnLAN Sends a Wake‑on‑LAN packet to that client
/API/Client/:UUID/RunScript/:ScriptID Runs a script on that client

A group

Address What it does
/API/Group/:GroupID/Select Selects every member of the group
/API/Group/:GroupID/Deselect Deselects every member of the group
/API/Group/:GroupID/WakeOnLAN Sends Wake‑on‑LAN to the group
/API/Group/:GroupID/RunScript/:ScriptID Runs a script on the group

All clients

Address What it does
/API/All/Select Selects every client
/API/All/Deselect Clears the selection
/API/All/WakeOnLAN Sends Wake‑on‑LAN to every client
/API/All/RunScript/:ScriptID Runs a script on every client

The current selection

Address What it does
/API/Selection/WakeOnLAN Sends Wake‑on‑LAN to whatever is currently selected
/API/Selection/RunScript/:ScriptID Runs a script on whatever is currently selected

Combine the Select / Deselect addresses with these to build up a selection and then act on it.

Dummy clients

Address What it does
/API/Dummy/:ID/Heartbeat Sends a heartbeat to a dummy client, keeping it online

This is how an outside system checks in to a dummy client. Send this address on a schedule and the dummy stays online; stop sending it and the dummy goes offline.

Reading data over HTTP

Address What it does
GET /API/Clients Returns the current list of clients as JSON

Examples

# OSC: wake every client
/API/All/WakeOnLAN

# HTTP: run script "RestartComputer" on one client
http://192.168.1.10:3000/API/Client/7c9e6679-7425-40de-944b-e07fc1f90ae7/RunScript/RestartComputer

# HTTP: keep a dummy client alive (send every few seconds)
http://192.168.1.10:3000/API/Dummy/PlaybackMac/Heartbeat

Notes

  • Keep the address segments in the exact order shown.
  • If an address can't be processed (wrong ID, device offline, port blocked) you'll get an error response and an error notification in the Server.
  • Make sure your sender targets the Server's IP and the right port (3333 for OSC, 3000 for HTTP), and that your firewall allows the traffic.
  • There's also an OSC/API Debug Terminal in the Settings menu that shows incoming requests live — useful when testing.