api reference
Notes for integrators
- CORS is open (
Access-Control-Allow-Origin: *), so browser clients work directly. - The API is unauthenticated on the LAN, like the other device-facing surfaces on port
7090. Do not expose port7090to the internet. - The API works with or without the Loxone integration enabled — it is not a Loxone surface and does not depend on one.
- Additive changes (new fields, new
source.kindvalues, new event types) are not breaking. Ignore fields and eventtypes you do not know. - A device that reconnects is put back to playing by the server. If a player drops off and returns while its zone was playing, the server starts its stream again by itself — the position restarts, the track and queue do not. You do not need to watch for this and you should not send a stop/play (or an off/on/play) to force it. Anything doing that today can drop it; if you still see a zone reporting
playingwith nothing audible after a device returns, that is a bug worth reporting rather than working around. - The version is in the path. Within
v1, fields are only ever added — nothing is renamed or removed under you. Anything that has to break appears asv2, served alongsidev1rather than replacing it, so you migrate when it suits you. Calling/api/...without a version returns404 api-version-requiredand names the prefix to use, rather than failing in some way you have to guess at.
This chapter is rendered from INTEGRATING.md in sonn-audio/core — the API's single source of truth, kept next to the code it describes.