Skip to content

Chat services ​

C# signatures use the types and conventions in Integration. CancellationToken controls the client call. Command objects include inherited fields from ApiCommand where applicable.

IAliases ​

Resolve custom aliases to chat, place, and user identifiers. Source

csharp
Task<AliasTarget?> GetTarget(
    AliasId aliasId,
    CancellationToken cancellationToken = default
);
csharp
Task<PlaceChatId?> GetPlaceChatIdByAlias(
    PlaceId placeId,
    AliasId aliasId,
    CancellationToken cancellationToken = default
);
csharp
Task<UserId?> GetUserIdByAlias(
    AliasId aliasId,
    CancellationToken cancellationToken = default
);

Related data: AliasId, AliasTarget, PlaceChatId, PlaceId, UserId.

IAuthors ​

Resolve chat-local participants, profiles and permissions, and manage membership. Source

csharp
Task<Author?> Get(
    Session session,
    ChatId chatId,
    AuthorId authorId,
    CancellationToken cancellationToken
);
csharp
Task<AuthorFull?> GetOwn(
    Session session,
    ChatId chatId,
    CancellationToken cancellationToken
);
csharp
Task<AuthorFull?> GetFull(
    Session session,
    ChatId chatId,
    AuthorId authorId,
    CancellationToken cancellationToken
);
csharp
Task<Account?> GetAccount(
    Session session,
    ChatId chatId,
    AuthorId authorId,
    CancellationToken cancellationToken
);
csharp
Task<Author?> GetByUserId(
    Session session,
    ChatId chatId,
    UserId userId,
    CancellationToken cancellationToken
);
csharp
Task<Presence> GetPresence(
    Session session,
    ChatId chatId,
    AuthorId authorId,
    CancellationToken cancellationToken
);
csharp
Task<ApiNullable8<Moment>> GetLastCheckIn(
    Session session,
    ChatId chatId,
    AuthorId authorId,
    CancellationToken cancellationToken
);
csharp
Task<AuthorId[]> ListAuthorIds(
    Session session,
    ChatId chatId,
    CancellationToken cancellationToken
);
csharp
Task<UserId[]> ListUserIds(
    Session session,
    ChatId chatId,
    CancellationToken cancellationToken
);
csharp
Task<AuthorFull> OnJoin(
    Authors_Join command,
    CancellationToken cancellationToken
);
csharp
Task OnLeave(
    Authors_Leave command,
    CancellationToken cancellationToken
);
csharp
Task OnInvite(
    Authors_Invite command,
    CancellationToken cancellationToken
);
csharp
Task OnExclude(
    Authors_Exclude command,
    CancellationToken cancellationToken
);
csharp
Task OnRestore(
    Authors_Restore command,
    CancellationToken cancellationToken
);
csharp
Task OnSetAvatar(
    Authors_SetAvatar command,
    CancellationToken cancellationToken
);
csharp
Task OnChangeRole(
    Authors_ChangeRole command,
    CancellationToken cancellationToken
);
csharp
Task OnPromoteToOwner(
    Authors_PromoteToOwner command,
    CancellationToken cancellationToken
);

Related data: Account, Author, AuthorFull, AuthorId, Authors_ChangeRole, Authors_Exclude, Authors_Invite, Authors_Join, Authors_Leave, Authors_PromoteToOwner, Authors_Restore, Authors_SetAvatar, ChatId, Presence, UserId.

IChatThreads ​

Create threads, list and follow them, and read their statistics. Source

csharp
Task<ThreadChatId[]> ListIdsForChat(
    Session session,
    ChatId parentChatId,
    CancellationToken cancellationToken
);
csharp
Task<ThreadChatId[]> ListIdsForPlace(
    Session session,
    PlaceId? parentPlaceId,
    CancellationToken cancellationToken
);
csharp
Task<bool> GetThreadFollowStatus(
    Session session,
    ThreadChatId threadChatId,
    CancellationToken cancellationToken
);
csharp
Task<ThreadStat> GetThreadStat(
    Session session,
    ThreadChatId threadChatId,
    CancellationToken cancellationToken
);
csharp
Task<Author?> GetThreadCreator(
    Session session,
    ThreadChatId threadChatId,
    CancellationToken cancellationToken
);
csharp
Task<(
    string,
    string
)> SuggestThreadTitle(
    Session session,
    ChatId parentChatId,
    ChatEntryId[] entryIds,
    CancellationToken cancellationToken
);
csharp
Task<Chat> OnStart(
    ChatThreads_Start command,
    CancellationToken cancellationToken
);
csharp
Task<Unit> OnToggleThreadFollowStatus(
    ChatThreads_ToggleThreadFollowStatus command,
    CancellationToken cancellationToken
);

Related data: Author, Chat, ChatEntryId, ChatId, ChatThreads_Start, ChatThreads_ToggleThreadFollowStatus, PlaceId, ThreadChatId, ThreadStat.

IChats ​

Read and manage chats, messages, pins, media indexes, and read statistics; stream text and voice messages. Source

GetIdRange returns a half-open range: first ID through last ID + 1. Deleted entries and gaps mean the range is not a message count. Prefer GetNews and GetTile; GetLegacyNews and GetLegacyTile serve older clients. GetTileNonComputed is the scan-oriented read. Upsert with a null LocalId creates an entry; a non-null value edits it. StreamEntry and StreamVoice take an RpcStream; the Start*, Append*, and Finish* methods are the same operations call by call for callers that cannot hold a stream open (the MCP tools use them). ListOwnSoleOwnedChatIds is not a compute method: it reads afresh on every call. OnForwardAttachment is obsolete and kept for older clients.

csharp
Task<Chat?> Get(
    Session session,
    ChatId chatId,
    CancellationToken cancellationToken
);
csharp
Task<AuthorRules> GetRules(
    Session session,
    ChatId chatId,
    CancellationToken cancellationToken
);
csharp
Task<ChatNews?> GetNews(
    Session session,
    ChatId chatId,
    CancellationToken cancellationToken
);
csharp
Task<ChatNews?> GetLegacyNews(
    Session session,
    ChatId chatId,
    CancellationToken cancellationToken
);
csharp
Task<Range<long>> GetIdRange(
    Session session,
    ChatId chatId,
    CancellationToken cancellationToken
);
csharp
Task<ChatTile> GetTile(
    Session session,
    ChatId chatId,
    Range<long> lidTileRange,
    CancellationToken cancellationToken
);
csharp
Task<ChatTile> GetLegacyTile(
    Session session,
    ChatId chatId,
    Range<long> lidTileRange,
    CancellationToken cancellationToken
);
csharp
Task<ChatTile> GetTileNonComputed(
    Session session,
    ChatId chatId,
    Range<long> lidTileRange,
    CancellationToken cancellationToken
);
csharp
Task<ChatRangeTile> GetChatRangeTile(
    Session session,
    ChatId chatId,
    long start,
    CancellationToken cancellationToken
);
csharp
Task<ChatContentSkeleton> GetContentPeriods(
    Session session,
    ChatId chatId,
    ChatContentKind kind,
    string? beforePeriodKey,
    CancellationToken cancellationToken
);
csharp
Task<VisualMediaItem[]> GetVisualMediaPeriod(
    Session session,
    ChatId chatId,
    string periodKey,
    int pageIndex,
    CancellationToken cancellationToken
);
csharp
Task<FileItem[]> GetFilePeriod(
    Session session,
    ChatId chatId,
    string periodKey,
    int pageIndex,
    CancellationToken cancellationToken
);
csharp
Task<LinkItem[]> GetLinkPeriod(
    Session session,
    ChatId chatId,
    string periodKey,
    int pageIndex,
    CancellationToken cancellationToken
);
csharp
Task<Author[]> ListMentionableAuthors(
    Session session,
    ChatId chatId,
    CancellationToken cancellationToken
);
csharp
Task<ChatCopyState?> GetChatCopyState(
    Session session,
    ChatId chatId,
    CancellationToken cancellationToken
);
csharp
Task<ChatId?> GetForwardChatReplacement(
    Session session,
    ChatId sourceChatId,
    CancellationToken cancellationToken
);
csharp
Task<ReadPositionsStat> GetReadPositionsStat(
    Session session,
    ChatId chatId,
    CancellationToken cancellationToken
);
csharp
Task<ApiArray<ChatEntryId>> ListPinnedEntries(
    Session session,
    ChatId chatId,
    CancellationToken cancellationToken
);
csharp
Task<bool> IsEntryReadByMentionedUser(
    Session session,
    ChatEntryId chatEntryId,
    MentionRef mentionId,
    CancellationToken cancellationToken
);
csharp
Task<ApiArray<ChatId>> ListOwnSoleOwnedChatIds(
    Session session,
    CancellationToken cancellationToken
);
csharp
Task<Range<long>> OnWipeHistory(
    Chats_WipeHistory command,
    CancellationToken cancellationToken
);
csharp
Task<Chat> OnChange(
    Chats_Change command,
    CancellationToken cancellationToken
);
csharp
Task<ChatEntry> OnUpsertEntry(
    Chats_UpsertEntry command,
    CancellationToken cancellationToken
);
csharp
Task<ChatEntry> StreamEntry(
    Session session,
    ChatId chatId,
    long? localId,
    Language? language,
    RpcStream<string> chunks,
    CancellationToken cancellationToken
);
csharp
Task<ChatEntryStreamInfo> StartEntryStream(
    Session session,
    ChatId chatId,
    long? localId,
    Language? language,
    CancellationToken cancellationToken
);
csharp
Task<ChatEntryStreamInfo> AppendEntryStream(
    Session session,
    StreamId streamId,
    int offset,
    string text,
    CancellationToken cancellationToken
);
csharp
Task<ChatEntryStreamInfo> FinishEntryStream(
    Session session,
    StreamId streamId,
    CancellationToken cancellationToken
);
csharp
Task<ChatEntry?> StreamVoice(
    Session session,
    ChatId chatId,
    long? repliedEntryLid,
    Language? language,
    RpcStream<VoiceStreamPart> parts,
    CancellationToken cancellationToken
);
csharp
Task<ChatVoiceStream> StartVoiceStream(
    Session session,
    ChatId chatId,
    long? repliedEntryLid,
    Language? language,
    CancellationToken cancellationToken
);
csharp
Task<ChatVoiceStream> AppendVoiceStream(
    Session session,
    StreamId streamId,
    int textOffset,
    string? text,
    byte[]? audio,
    double? audioOffset,
    CancellationToken cancellationToken
);
csharp
Task<ChatVoiceStream> FinishVoiceStream(
    Session session,
    StreamId streamId,
    CancellationToken cancellationToken
);
csharp
Task OnRemoveEntry(
    Chats_RemoveEntry command,
    CancellationToken cancellationToken
);
csharp
Task OnRestoreEntry(
    Chats_RestoreEntry command,
    CancellationToken cancellationToken
);
csharp
Task OnRemoveEntries(
    Chats_RemoveEntries command,
    CancellationToken cancellationToken
);
csharp
Task OnRestoreEntries(
    Chats_RestoreEntries command,
    CancellationToken cancellationToken
);
csharp
Task<Chat> OnGetOrCreateFromTemplate(
    Chats_GetOrCreateFromTemplate command,
    CancellationToken cancellationToken
);
csharp
Task<Unit> OnForwardEntries(
    Chats_ForwardEntries command,
    CancellationToken cancellationToken
);
csharp
Task<Unit> OnForwardAttachment(
    Chats_ForwardAttachment command,
    CancellationToken cancellationToken
);
csharp
Task<Chat_CopyChatResult> OnCopyChat(
    Chat_CopyChat command,
    CancellationToken cancellationToken
);
csharp
Task OnPublishCopiedChat(
    Chat_PublishCopiedChat command,
    CancellationToken cancellationToken
);
csharp
Task OnSetPinned(
    Chats_SetPinned command,
    CancellationToken cancellationToken
);

Related data: Author, AuthorRules, Chat, ChatContentKind, ChatContentSkeleton, ChatCopyState, ChatEntry, ChatEntryId, ChatEntryStreamInfo, ChatId, ChatNews, ChatRangeTile, ChatTile, ChatVoiceStream, Chat_CopyChat, Chat_CopyChatResult, Chat_PublishCopiedChat, Chats_Change, Chats_ForwardAttachment, Chats_ForwardEntries, Chats_GetOrCreateFromTemplate, Chats_RemoveEntries, Chats_RemoveEntry, Chats_RestoreEntries, Chats_RestoreEntry, Chats_SetPinned, Chats_UpsertEntry, Chats_WipeHistory, FileItem, Language, LinkItem, MentionRef, Range, ReadPositionsStat, StreamId, VisualMediaItem, VoiceStreamPart.

IConversations ​

Read conversation summaries and request summarization again. Source

csharp
Task<Conversation[]> GetTile(
    Session session,
    ChatId chatId,
    Range<long> range,
    CancellationToken cancellationToken
);
csharp
Task<Conversation?> Get(
    Session session,
    ConversationId conversationId,
    CancellationToken cancellationToken
);
csharp
Task OnReSummarize(
    Conversations_Summarize command,
    CancellationToken cancellationToken
);

Related data: ChatId, Conversation, ConversationId, Conversations_Summarize, Range.

IDiagnostics ​

Administrator-only mesh and background-flow diagnostics. Source

Every operation requires an administrator account. Registration does not grant ordinary API-key clients access.

csharp
Task<MeshDiagInfo> GetMeshDiagInfo(
    Session session,
    string tag,
    CancellationToken cancellationToken
);
csharp
Task<FlowTypeStat[]> GetFlowStats(
    Session session,
    CancellationToken cancellationToken
);
csharp
Task<FlowSummary[]> GetFlows(
    Session session,
    FlowsQuery query,
    CancellationToken cancellationToken
);
csharp
Task<FlowDetails?> GetFlowDetails(
    Session session,
    string flowId,
    CancellationToken cancellationToken
);

Related data: FlowDetails, FlowSummary, FlowTypeStat, FlowsQuery, MeshDiagInfo.

IImageSuggestions ​

Generate, read, accept, and dismiss suggested pictures and backgrounds for chats and places. Source

Target-specific methods (...ForChat, ...ForPlace) keep authorization separate from the suggestion store. A chat has a picture; a place has a picture and a background (ImageSlot).

csharp
Task<ImageSuggestion?> GetForChat(
    Session session,
    ChatId chatId,
    ImageSlot slot,
    CancellationToken cancellationToken
);
csharp
Task<Moment?> GetDismissedUntilForChat(
    Session session,
    ChatId chatId,
    ImageSlot slot,
    CancellationToken cancellationToken
);
csharp
Task<Moment?> GetGenerationStartedAtForChat(
    Session session,
    ChatId chatId,
    ImageSlot slot,
    CancellationToken cancellationToken
);
csharp
Task<ImageSuggestion?> GetForPlace(
    Session session,
    PlaceId placeId,
    ImageSlot slot,
    CancellationToken cancellationToken
);
csharp
Task<Moment?> GetDismissedUntilForPlace(
    Session session,
    PlaceId placeId,
    ImageSlot slot,
    CancellationToken cancellationToken
);
csharp
Task<bool> CanGenerateForPlace(
    Session session,
    PlaceId placeId,
    CancellationToken cancellationToken
);
csharp
Task<ImageSuggestion?> OnGenerateForChat(
    ImageSuggestions_GenerateForChat command,
    CancellationToken cancellationToken
);
csharp
Task OnAcceptForChat(
    ImageSuggestions_AcceptForChat command,
    CancellationToken cancellationToken
);
csharp
Task OnDismissForChat(
    ImageSuggestions_DismissForChat command,
    CancellationToken cancellationToken
);
csharp
Task<ImageSuggestion?> OnGenerateForPlace(
    ImageSuggestions_GenerateForPlace command,
    CancellationToken cancellationToken
);
csharp
Task OnAcceptForPlace(
    ImageSuggestions_AcceptForPlace command,
    CancellationToken cancellationToken
);
csharp
Task OnDismissForPlace(
    ImageSuggestions_DismissForPlace command,
    CancellationToken cancellationToken
);

Related data: ChatId, ImageSlot, ImageSuggestion, ImageSuggestions_AcceptForChat, ImageSuggestions_AcceptForPlace, ImageSuggestions_DismissForChat, ImageSuggestions_DismissForPlace, ImageSuggestions_GenerateForChat, ImageSuggestions_GenerateForPlace, PlaceId.

IMentions ​

Find the current user's last mention in a chat. Source

csharp
Task<Mention?> GetLastOwn(
    Session session,
    ChatId chatId,
    CancellationToken cancellationToken
);

Related data: ChatId, Mention.

IPlaces ​

Manage places, membership, roles, and the welcome chat. Source

csharp
Task<Place?> Get(
    Session session,
    PlaceId placeId,
    CancellationToken cancellationToken
);
csharp
Task<PlaceRules> GetRules(
    Session session,
    PlaceId placeId,
    CancellationToken cancellationToken
);
csharp
Task<PlaceChatId?> GetWelcomeChatId(
    Session session,
    PlaceId placeId,
    CancellationToken cancellationToken
);
csharp
Task<UserId[]> ListUserIds(
    Session session,
    PlaceId placeId,
    CancellationToken cancellationToken
);
csharp
Task<AuthorId[]> ListAuthorIds(
    Session session,
    PlaceId placeId,
    CancellationToken cancellationToken
);
csharp
Task<AuthorId[]> ListOwnerIds(
    Session session,
    PlaceId placeId,
    CancellationToken cancellationToken
);
csharp
Task<AuthorId[]> ListModeratorIds(
    Session session,
    PlaceId placeId,
    CancellationToken cancellationToken
);
csharp
Task<AuthorFull?> GetOwn(
    Session session,
    PlaceId placeId,
    CancellationToken cancellationToken
);
csharp
Task<Author?> Get(
    Session session,
    PlaceId placeId,
    AuthorId authorId,
    CancellationToken cancellationToken
);
csharp
Task<Place> OnChange(
    Places_Change command,
    CancellationToken cancellationToken
);
csharp
Task OnJoin(
    Places_Join command,
    CancellationToken cancellationToken
);
csharp
Task OnInvite(
    Places_Invite command,
    CancellationToken cancellationToken
);
csharp
Task OnExclude(
    Places_Exclude command,
    CancellationToken cancellationToken
);
csharp
Task OnRestore(
    Places_Restore command,
    CancellationToken cancellationToken
);
csharp
Task OnChangeRole(
    Places_ChangeRole command,
    CancellationToken cancellationToken
);
csharp
Task OnPromoteToOwner(
    Places_PromoteToOwner command,
    CancellationToken cancellationToken
);
csharp
Task OnLeave(
    Places_Leave command,
    CancellationToken cancellationToken
);

Related data: Author, AuthorFull, AuthorId, Place, PlaceChatId, PlaceId, PlaceRules, Places_Change, Places_ChangeRole, Places_Exclude, Places_Invite, Places_Join, Places_Leave, Places_PromoteToOwner, Places_Restore, UserId.

IReactions ​

Read reactions and summaries and react to a message. Source

csharp
Task<Reaction?> Get(
    Session session,
    ChatEntryId entryId,
    CancellationToken cancellationToken
);
csharp
Task<ReactionSummary[]> ListSummaries(
    Session session,
    ChatEntryId entryId,
    CancellationToken cancellationToken
);
csharp
Task OnReact(
    Reactions_React command,
    CancellationToken cancellationToken
);

Related data: ChatEntryId, Reaction, ReactionSummary, Reactions_React.

IRoles ​

Read and update chat roles and list their members. Source

csharp
Task<Role?> Get(
    Session session,
    ChatId chatId,
    RoleId roleId,
    CancellationToken cancellationToken
);
csharp
Task<Role[]> List(
    Session session,
    ChatId chatId,
    CancellationToken cancellationToken
);
csharp
Task<AuthorId[]> ListAuthorIds(
    Session session,
    ChatId chatId,
    RoleId roleId,
    CancellationToken cancellationToken
);
csharp
Task<AuthorId[]> ListOwnerIds(
    Session session,
    ChatId chatId,
    CancellationToken cancellationToken
);
csharp
Task<AuthorId[]> ListModeratorIds(
    Session session,
    ChatId chatId,
    CancellationToken cancellationToken
);
csharp
Task<Role> OnChange(
    Roles_Change command,
    CancellationToken cancellationToken
);

Related data: AuthorId, ChatId, Role, RoleId, Roles_Change.

ISharedLocations ​

Read, create, update, and stop chat location shares. Source

csharp
Task<SharedLocation?> Get(
    Session session,
    ChatId chatId,
    SharedLocationId id,
    CancellationToken cancellationToken
);
csharp
Task<ApiArray<SharedLocation>> ListLive(
    Session session,
    ChatId chatId,
    CancellationToken cancellationToken
);
csharp
Task<SharedLocation?> OnChange(
    SharedLocations_Change command,
    CancellationToken cancellationToken
);

Related data: ChatId, SharedLocation, SharedLocationId, SharedLocations_Change.

ITranslations ​

Read translated messages and language tiles; list dubbing voices and previews; request missing translations. Source

csharp
Task<Translation?> Get(
    Session session,
    TranslationId id,
    bool translateIfMissing,
    CancellationToken cancellationToken
);
csharp
Task<ChatLanguageTile> GetLanguageTile(
    Session session,
    ChatId chatId,
    Range<long> lidTileRange,
    CancellationToken cancellationToken
);
csharp
Task<string?> GetTranslatedUIText(
    Session session,
    string text,
    Language language,
    UITextKind kind,
    CancellationToken cancellationToken
);
csharp
Task<ApiArray<DubVoice>> ListDubVoices(
    Session session,
    CancellationToken cancellationToken
);
csharp
Task<byte[]?> GetDubVoicePreview(
    Session session,
    string voiceId,
    Language language,
    CancellationToken cancellationToken
);
csharp
Task<ApiArray<DubVoice>> ListSuggestedDubVoices(
    Session session,
    CancellationToken cancellationToken
);

Related data: ChatId, ChatLanguageTile, DubVoice, Language, Range, Translation, TranslationId, UITextKind.