WebSocketsΒΆ

The channel endpoint is GET /api/channels/{channel_id}/ws and the conversation endpoint is GET /api/conversations/{conversation_id}/ws. Both require authentication and membership.

New messages are JSON message objects. Channel edit/delete broadcasts include an event field; deletion events contain the message, server, and channel IDs. Conversation connections also receive reaction updates. Clients should close stale connections when changing the selected conversation.