http://localhost:5505
{"id": string}
{"index": number}
{"value": string}
{"index": number}
{"value": string}
{"id": string}
{"showId": string, "layoutId": string}
{"id": string, "value": string}
{"id": string, "value": string}
{"showId": string, "from": number, "to": number}
{"showId": string, "groupId": string}
{"id": string}
{"showId?": string, "layoutId?": string, "index": number}
{"value": string}
{"id": string}
{"name?": string, "id": string, "groupId?": string}
{"name?": string, "id": string}
{"path": string, "index?": number, "data?": any}
{"index": number}
{"value": string}
{"id": string}
{"id": string, "reference": string}
{"value?": boolean}
{"id": string}
{"id": string}
{"outputStyle?": string, "styleOutputs?": any}
{"outputId?": string, "stageLayoutId": string}
{"id?": "text" | "media", "type?": TransitionType, "duration?": number, "easing?": string}
{"id": string}
{"path": string, "index?": number, "data?": any}
{"path": string, "index?": number, "data?": any}
{"path": string, "index?": number, "data?": any}
{"volume?": number, "gain?": number}
{"id": string}
{"id": string}
{"tempo?": number, "beats?": number, "volume?": number, "audioOutput?": string}
{"value": string}
{"id": string}
{"showId?": string | "active", "slideId?": string}
{"id": string, "key": string, "value": any}
{"id?": string, "name?": string, "index?": number, "key?": "text" | "number" | "random_number" | "value" | "enabled" | "step" | "name" | "type" | "increment" | "decrement" | "randomize" | "reset", "value?": string | number | boolean, "variableAction?": "increment" | "decrement"}
{"id": string}
{"url": string, "method": string, "contentType": string, "payload": string}
{"emitter": string, "template?": string, "templateValues?": { name: string, "value": string | { note?: number, "velocity?": number, "channel?": number}
{"value": string}
{"id": string}
{"id": string, "value?": boolean}
{"projectId": string, "id": string, "data?": any}
{"text": string, "name?": string, "category?": string}
{"id": string}
{"id": string}
{"id": string}
{"id": string}
{"id": string}
{"id?": string}
{"value": string, "ref?": any}
{"id?": string}
{"showId?": string | "active", "slideId?": string}
{"path": string, "index?": number, "data?": any}
{"showId?": string, "layoutId?": string, "index?": number}
{"path": string, "index?": number, "data?": any}
Make sure the WebSocket/REST API is active in the FreeShow "Connections" settings!
fetch(`http://localhost:5506?action=${ACTION_ID}&data=${JSON.stringify(data)}`)
Note: Must be a POST request.
fetch("http://localhost:5506", { method: "POST", body: JSON.stringify({ action: ACTION_ID, ...data }) })
let socket = io.connect("http://localhost:5505", { transports: ["websocket"] })
socket.emit("data", JSON.stringify({ action: ACTION_ID, ...data }))
For Node.js, check out the NPM Helper Package.