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
Task<AliasTarget?> GetTarget(
AliasId aliasId,
CancellationToken cancellationToken = default
);Task<PlaceChatId?> GetPlaceChatIdByAlias(
PlaceId placeId,
AliasId aliasId,
CancellationToken cancellationToken = default
);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
Task<Author?> Get(
Session session,
ChatId chatId,
AuthorId authorId,
CancellationToken cancellationToken
);Task<AuthorFull?> GetOwn(
Session session,
ChatId chatId,
CancellationToken cancellationToken
);Task<AuthorFull?> GetFull(
Session session,
ChatId chatId,
AuthorId authorId,
CancellationToken cancellationToken
);Task<Account?> GetAccount(
Session session,
ChatId chatId,
AuthorId authorId,
CancellationToken cancellationToken
);Task<Author?> GetByUserId(
Session session,
ChatId chatId,
UserId userId,
CancellationToken cancellationToken
);Task<Presence> GetPresence(
Session session,
ChatId chatId,
AuthorId authorId,
CancellationToken cancellationToken
);Task<ApiNullable8<Moment>> GetLastCheckIn(
Session session,
ChatId chatId,
AuthorId authorId,
CancellationToken cancellationToken
);Task<AuthorId[]> ListAuthorIds(
Session session,
ChatId chatId,
CancellationToken cancellationToken
);Task<UserId[]> ListUserIds(
Session session,
ChatId chatId,
CancellationToken cancellationToken
);Task<AuthorFull> OnJoin(
Authors_Join command,
CancellationToken cancellationToken
);Task OnLeave(
Authors_Leave command,
CancellationToken cancellationToken
);Task OnInvite(
Authors_Invite command,
CancellationToken cancellationToken
);Task OnExclude(
Authors_Exclude command,
CancellationToken cancellationToken
);Task OnRestore(
Authors_Restore command,
CancellationToken cancellationToken
);Task OnSetAvatar(
Authors_SetAvatar command,
CancellationToken cancellationToken
);Task OnChangeRole(
Authors_ChangeRole command,
CancellationToken cancellationToken
);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
Task<ThreadChatId[]> ListIdsForChat(
Session session,
ChatId parentChatId,
CancellationToken cancellationToken
);Task<ThreadChatId[]> ListIdsForPlace(
Session session,
PlaceId? parentPlaceId,
CancellationToken cancellationToken
);Task<bool> GetThreadFollowStatus(
Session session,
ThreadChatId threadChatId,
CancellationToken cancellationToken
);Task<ThreadStat> GetThreadStat(
Session session,
ThreadChatId threadChatId,
CancellationToken cancellationToken
);Task<Author?> GetThreadCreator(
Session session,
ThreadChatId threadChatId,
CancellationToken cancellationToken
);Task<(
string,
string
)> SuggestThreadTitle(
Session session,
ChatId parentChatId,
ChatEntryId[] entryIds,
CancellationToken cancellationToken
);Task<Chat> OnStart(
ChatThreads_Start command,
CancellationToken cancellationToken
);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.
Task<Chat?> Get(
Session session,
ChatId chatId,
CancellationToken cancellationToken
);Task<AuthorRules> GetRules(
Session session,
ChatId chatId,
CancellationToken cancellationToken
);Task<ChatNews?> GetNews(
Session session,
ChatId chatId,
CancellationToken cancellationToken
);Task<ChatNews?> GetLegacyNews(
Session session,
ChatId chatId,
CancellationToken cancellationToken
);Task<Range<long>> GetIdRange(
Session session,
ChatId chatId,
CancellationToken cancellationToken
);Task<ChatTile> GetTile(
Session session,
ChatId chatId,
Range<long> lidTileRange,
CancellationToken cancellationToken
);Task<ChatTile> GetLegacyTile(
Session session,
ChatId chatId,
Range<long> lidTileRange,
CancellationToken cancellationToken
);Task<ChatTile> GetTileNonComputed(
Session session,
ChatId chatId,
Range<long> lidTileRange,
CancellationToken cancellationToken
);Task<ChatRangeTile> GetChatRangeTile(
Session session,
ChatId chatId,
long start,
CancellationToken cancellationToken
);Task<ChatContentSkeleton> GetContentPeriods(
Session session,
ChatId chatId,
ChatContentKind kind,
string? beforePeriodKey,
CancellationToken cancellationToken
);Task<VisualMediaItem[]> GetVisualMediaPeriod(
Session session,
ChatId chatId,
string periodKey,
int pageIndex,
CancellationToken cancellationToken
);Task<FileItem[]> GetFilePeriod(
Session session,
ChatId chatId,
string periodKey,
int pageIndex,
CancellationToken cancellationToken
);Task<LinkItem[]> GetLinkPeriod(
Session session,
ChatId chatId,
string periodKey,
int pageIndex,
CancellationToken cancellationToken
);Task<Author[]> ListMentionableAuthors(
Session session,
ChatId chatId,
CancellationToken cancellationToken
);Task<ChatCopyState?> GetChatCopyState(
Session session,
ChatId chatId,
CancellationToken cancellationToken
);Task<ChatId?> GetForwardChatReplacement(
Session session,
ChatId sourceChatId,
CancellationToken cancellationToken
);Task<ReadPositionsStat> GetReadPositionsStat(
Session session,
ChatId chatId,
CancellationToken cancellationToken
);Task<ApiArray<ChatEntryId>> ListPinnedEntries(
Session session,
ChatId chatId,
CancellationToken cancellationToken
);Task<bool> IsEntryReadByMentionedUser(
Session session,
ChatEntryId chatEntryId,
MentionRef mentionId,
CancellationToken cancellationToken
);Task<ApiArray<ChatId>> ListOwnSoleOwnedChatIds(
Session session,
CancellationToken cancellationToken
);Task<Range<long>> OnWipeHistory(
Chats_WipeHistory command,
CancellationToken cancellationToken
);Task<Chat> OnChange(
Chats_Change command,
CancellationToken cancellationToken
);Task<ChatEntry> OnUpsertEntry(
Chats_UpsertEntry command,
CancellationToken cancellationToken
);Task<ChatEntry> StreamEntry(
Session session,
ChatId chatId,
long? localId,
Language? language,
RpcStream<string> chunks,
CancellationToken cancellationToken
);Task<ChatEntryStreamInfo> StartEntryStream(
Session session,
ChatId chatId,
long? localId,
Language? language,
CancellationToken cancellationToken
);Task<ChatEntryStreamInfo> AppendEntryStream(
Session session,
StreamId streamId,
int offset,
string text,
CancellationToken cancellationToken
);Task<ChatEntryStreamInfo> FinishEntryStream(
Session session,
StreamId streamId,
CancellationToken cancellationToken
);Task<ChatEntry?> StreamVoice(
Session session,
ChatId chatId,
long? repliedEntryLid,
Language? language,
RpcStream<VoiceStreamPart> parts,
CancellationToken cancellationToken
);Task<ChatVoiceStream> StartVoiceStream(
Session session,
ChatId chatId,
long? repliedEntryLid,
Language? language,
CancellationToken cancellationToken
);Task<ChatVoiceStream> AppendVoiceStream(
Session session,
StreamId streamId,
int textOffset,
string? text,
byte[]? audio,
double? audioOffset,
CancellationToken cancellationToken
);Task<ChatVoiceStream> FinishVoiceStream(
Session session,
StreamId streamId,
CancellationToken cancellationToken
);Task OnRemoveEntry(
Chats_RemoveEntry command,
CancellationToken cancellationToken
);Task OnRestoreEntry(
Chats_RestoreEntry command,
CancellationToken cancellationToken
);Task OnRemoveEntries(
Chats_RemoveEntries command,
CancellationToken cancellationToken
);Task OnRestoreEntries(
Chats_RestoreEntries command,
CancellationToken cancellationToken
);Task<Chat> OnGetOrCreateFromTemplate(
Chats_GetOrCreateFromTemplate command,
CancellationToken cancellationToken
);Task<Unit> OnForwardEntries(
Chats_ForwardEntries command,
CancellationToken cancellationToken
);Task<Unit> OnForwardAttachment(
Chats_ForwardAttachment command,
CancellationToken cancellationToken
);Task<Chat_CopyChatResult> OnCopyChat(
Chat_CopyChat command,
CancellationToken cancellationToken
);Task OnPublishCopiedChat(
Chat_PublishCopiedChat command,
CancellationToken cancellationToken
);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
Task<Conversation[]> GetTile(
Session session,
ChatId chatId,
Range<long> range,
CancellationToken cancellationToken
);Task<Conversation?> Get(
Session session,
ConversationId conversationId,
CancellationToken cancellationToken
);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.
Task<MeshDiagInfo> GetMeshDiagInfo(
Session session,
string tag,
CancellationToken cancellationToken
);Task<FlowTypeStat[]> GetFlowStats(
Session session,
CancellationToken cancellationToken
);Task<FlowSummary[]> GetFlows(
Session session,
FlowsQuery query,
CancellationToken cancellationToken
);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).
Task<ImageSuggestion?> GetForChat(
Session session,
ChatId chatId,
ImageSlot slot,
CancellationToken cancellationToken
);Task<Moment?> GetDismissedUntilForChat(
Session session,
ChatId chatId,
ImageSlot slot,
CancellationToken cancellationToken
);Task<Moment?> GetGenerationStartedAtForChat(
Session session,
ChatId chatId,
ImageSlot slot,
CancellationToken cancellationToken
);Task<ImageSuggestion?> GetForPlace(
Session session,
PlaceId placeId,
ImageSlot slot,
CancellationToken cancellationToken
);Task<Moment?> GetDismissedUntilForPlace(
Session session,
PlaceId placeId,
ImageSlot slot,
CancellationToken cancellationToken
);Task<bool> CanGenerateForPlace(
Session session,
PlaceId placeId,
CancellationToken cancellationToken
);Task<ImageSuggestion?> OnGenerateForChat(
ImageSuggestions_GenerateForChat command,
CancellationToken cancellationToken
);Task OnAcceptForChat(
ImageSuggestions_AcceptForChat command,
CancellationToken cancellationToken
);Task OnDismissForChat(
ImageSuggestions_DismissForChat command,
CancellationToken cancellationToken
);Task<ImageSuggestion?> OnGenerateForPlace(
ImageSuggestions_GenerateForPlace command,
CancellationToken cancellationToken
);Task OnAcceptForPlace(
ImageSuggestions_AcceptForPlace command,
CancellationToken cancellationToken
);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
Task<Mention?> GetLastOwn(
Session session,
ChatId chatId,
CancellationToken cancellationToken
);Related data: ChatId, Mention.
IPlaces ​
Manage places, membership, roles, and the welcome chat. Source
Task<Place?> Get(
Session session,
PlaceId placeId,
CancellationToken cancellationToken
);Task<PlaceRules> GetRules(
Session session,
PlaceId placeId,
CancellationToken cancellationToken
);Task<PlaceChatId?> GetWelcomeChatId(
Session session,
PlaceId placeId,
CancellationToken cancellationToken
);Task<UserId[]> ListUserIds(
Session session,
PlaceId placeId,
CancellationToken cancellationToken
);Task<AuthorId[]> ListAuthorIds(
Session session,
PlaceId placeId,
CancellationToken cancellationToken
);Task<AuthorId[]> ListOwnerIds(
Session session,
PlaceId placeId,
CancellationToken cancellationToken
);Task<AuthorId[]> ListModeratorIds(
Session session,
PlaceId placeId,
CancellationToken cancellationToken
);Task<AuthorFull?> GetOwn(
Session session,
PlaceId placeId,
CancellationToken cancellationToken
);Task<Author?> Get(
Session session,
PlaceId placeId,
AuthorId authorId,
CancellationToken cancellationToken
);Task<Place> OnChange(
Places_Change command,
CancellationToken cancellationToken
);Task OnJoin(
Places_Join command,
CancellationToken cancellationToken
);Task OnInvite(
Places_Invite command,
CancellationToken cancellationToken
);Task OnExclude(
Places_Exclude command,
CancellationToken cancellationToken
);Task OnRestore(
Places_Restore command,
CancellationToken cancellationToken
);Task OnChangeRole(
Places_ChangeRole command,
CancellationToken cancellationToken
);Task OnPromoteToOwner(
Places_PromoteToOwner command,
CancellationToken cancellationToken
);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
Task<Reaction?> Get(
Session session,
ChatEntryId entryId,
CancellationToken cancellationToken
);Task<ReactionSummary[]> ListSummaries(
Session session,
ChatEntryId entryId,
CancellationToken cancellationToken
);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
Task<Role?> Get(
Session session,
ChatId chatId,
RoleId roleId,
CancellationToken cancellationToken
);Task<Role[]> List(
Session session,
ChatId chatId,
CancellationToken cancellationToken
);Task<AuthorId[]> ListAuthorIds(
Session session,
ChatId chatId,
RoleId roleId,
CancellationToken cancellationToken
);Task<AuthorId[]> ListOwnerIds(
Session session,
ChatId chatId,
CancellationToken cancellationToken
);Task<AuthorId[]> ListModeratorIds(
Session session,
ChatId chatId,
CancellationToken cancellationToken
);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
Task<SharedLocation?> Get(
Session session,
ChatId chatId,
SharedLocationId id,
CancellationToken cancellationToken
);Task<ApiArray<SharedLocation>> ListLive(
Session session,
ChatId chatId,
CancellationToken cancellationToken
);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
Task<Translation?> Get(
Session session,
TranslationId id,
bool translateIfMissing,
CancellationToken cancellationToken
);Task<ChatLanguageTile> GetLanguageTile(
Session session,
ChatId chatId,
Range<long> lidTileRange,
CancellationToken cancellationToken
);Task<string?> GetTranslatedUIText(
Session session,
string text,
Language language,
UITextKind kind,
CancellationToken cancellationToken
);Task<ApiArray<DubVoice>> ListDubVoices(
Session session,
CancellationToken cancellationToken
);Task<byte[]?> GetDubVoicePreview(
Session session,
string voiceId,
Language language,
CancellationToken cancellationToken
);Task<ApiArray<DubVoice>> ListSuggestedDubVoices(
Session session,
CancellationToken cancellationToken
);Related data: ChatId, ChatLanguageTile, DubVoice, Language, Range, Translation, TranslationId, UITextKind.