Discovery
Composer instances announce themselves on the local network via UDP broadcast and listen for the announcements of their peers, building up a cache of the other Composer hosts reachable on the same LAN. This section exposes that cache over HTTP so a multi-instance dashboard or control surface can enumerate available hosts — their identity, connection endpoints, and currently loaded project — without the operator hand-configuring every machine. Discovery is enabled and tuned via Settings; on a host where it isn't configured the endpoint simply returns an empty list rather than an error.
GET /api/discovery/instances
Returns the list of other Composer instances this host has discovered on the local network. Composer's discovery service announces itself via UDP broadcast and listens for peer announcements; this endpoint exposes whatever's currently in the discovered-instances cache. Useful when building a multi-instance dashboard or a control surface that needs to enumerate available Composer hosts.
The discovery service is enabled / configured via Settings — when not enabled or not configured on this host, the endpoint returns an empty array (it doesn't error).
Parameters: None
Response:
200 OK— JSON array of discovered instances. Each entry carries the announcing peer's identity (InstanceId,Hostname,AppType,Version), connection endpoints (HttpApiHostName/HttpApiPort/WebSocketsPort,SourceAddress), the currently loaded project (ProjectName), and freshness markers (UptimeSeconds,LastSeen). Empty array[]when the discovery service isn't configured or hasn't received any announcements yet.
[
{
"InstanceId": "5f2b8a1e-9c0a-4d3f-8e7c-b1d2f3a4e5b6",
"Hostname": "STUDIO-RACK-02",
"Version": "2.6.9621.15005",
"AppType": "Desktop",
"ProjectName": "Evening News",
"UptimeSeconds": 3742.18,
"HttpApiPort": 44433,
"HttpApiHostName": "studio-rack-02.lan",
"WebSocketsPort": 44434,
"SourceAddress": "10.0.4.18",
"LastSeen": "2026-05-05T14:32:11.482Z"
},
{
"InstanceId": "8a4c1d2e-3b5f-4a6c-9d0e-7f8b9c0d1e2f",
"Hostname": "PLAYOUT-RUNTIME-A",
"Version": "2.6.9621.15005",
"AppType": "Runtime",
"ProjectName": "promo-loop.prj",
"UptimeSeconds": 86421.93,
"HttpApiPort": 44433,
"HttpApiHostName": "playout-runtime-a.lan",
"WebSocketsPort": 44434,
"SourceAddress": "10.0.4.31",
"LastSeen": "2026-05-05T14:32:09.117Z"
}
]