SetDesk — control-plane POST /rooms {name, slug?} (bearer required) GET /rooms (bearer required) ws /rooms//connect (ticket in Sec-WebSocket-Protocol)[?hint=] GET /rooms//state (bearer required) POST /rooms//tickets (bearer required) POST /rooms//revoke {userId} (bearer required) POST /auth/sign-up/email | /auth/sign-in/email {email, password} sign-up is invite-only where SIGNUP_ALLOWED_EMAILS is set (403) GET /me (session required) POST /broadcasts {roomId, region, destinations[]} (session required) GET /broadcasts//state (owner only) POST /broadcasts//stop (owner only)