NEOLearn

ChatService

Conversations and read state.

Updated October 17, 2026

On this page

Conversations and read state. Messages themselves flow over the realtime WebSocket; this is the inbox. Every method is a POST with a JSON body; see the overview for the protocol, authentication and errors.

Summary#

MethodAuthDescription
ListConversationsAccount
MarkReadAccount

Methods#

ListConversations#

HTTP
POST /neo.platform.v1.ChatService/ListConversations
Content-Type: application/json

Auth: A signed-in account. Guests are refused.

Request: ListConversationsRequest. Response: ListConversationsResponse.

MarkRead#

HTTP
POST /neo.platform.v1.ChatService/MarkRead
Content-Type: application/json

Auth: A signed-in account. Guests are refused.

Request: MarkReadRequest. Response: MarkReadResponse.

Types#

Conversation#

FieldTypeDescription
channelstringThe channel as the caller names it: dm:<userId>, group:<id> or session:<id>.
titlestring
withUserUserSummaryFor DMs: the other person.
lastMessagestring
lastSenderUserSummary
lastAtstring
unreadstring (int64)
lastMessageIdstring

ListConversationsRequest#

FieldTypeDescription
limitnumber

ListConversationsResponse#

FieldTypeDescription
conversationsarray of Conversation

MarkReadRequest#

FieldTypeDescription
channelstring
messageIdstringEverything up to and including this message is read.

MarkReadResponse#

FieldTypeDescription
unreadTotalstring (int64)

See also#