The websocket API is used for streaming updates, like progress reports from devices when they are sampling, or status messages for jobs. To authenticate with the websocket API you'll need a socket token, which you can acquire through the Get socket token API.
Unstable API
This is an unstable API, and it might change without prior notice.
Connecting to the API
To connect to the websocket API, connect to:
wss://studio.edgeimpulse.com/socket.io/?token=XXX&EIO=3&transport=websocket
Replace XXX
with the socket token you obtained through Get socket token. If the connection succeeds you'll get a response like:
42["hello",{"hello":{"version":1},"devices":[]}]
(42
might be replaced by a different number).
Keep-alive
While connected to the websocket API you'll need to ping at least every 29 seconds. To do so send the string 2
.
End-to-end example: Streaming job logs
An end-to-end example in TypeScript which starts a job, then streams the logs, and monitors whether the job succeeds can be found here: classification-loader.ts.