Skip to content

Threads & forums

Threads are named conversations inside forum channels. The thread record stores its parent channel, creator, timestamps, participants, archive/lock state, and pin state; messages are stored separately in thread-specific shards.

Users need create_thread in the parent channel to create one. Viewing follows parent-channel visibility. Creators may update or delete their own threads, while users with thread-management authority can also lock them. Locked threads cannot be joined. Sending to an archived thread automatically reopens it.

All message operations accept thread_id; the server derives the parent channel with messageContext, so channel visibility and permissions stay consistent. Join/leave/update/delete/pin events include enough parent context for clients to update a forum view.

The thread list embedded in channels_get is personalized: threads with participants are shown only to participants, and threads whose last message is more than seven days old are omitted. The explicit threads_get command calls the list without a user filter, so it returns the forum’s indexed threads regardless of participation or age, subject to parent-channel visibility.

See thread commands.