Build a client
Connect, authenticate, and send your first message, then add reconnection, uploads, and notifications.

An OriginChats server is one process that serves a WebSocket and a small HTTP API on the same
port. Clients open the WebSocket, receive a handshake frame, authenticate, and then exchange
JSON frames. Every frame has a cmd field that names it. HTTP handles the things that don’t fit
in a frame: file uploads, downloads, avatars, and inbound webhooks.
Build a client
Connect, authenticate, and send your first message, then add reconnection, uploads, and notifications.
Run a server
Compile the OSL server, run the setup, configure it, and keep it backed up and up to date.
Learn the concepts
Channels, messages, threads, roles, access control, and moderation, explained as systems instead of commands.
Look something up
Every command, every server event, every schema, and every HTTP route.
These docs describe originchats-osl, the current server, written in
OSL. Its source is at
git.rotur.dev/originchats/server-osl.
The older Python originchats server is legacy. If you are migrating an integration from it, see
legacy compatibility for the commands that changed.