Chat data types ​
Fields below are declared serialized members. Base types contribute their own fields; related types link the payload graph. ? means nullable, and required marks a required C# initializer. These are schematic C# contract shapes, not compilable declarations or a separate JSON schema. Constructor members are repeated in the field list for easy scanning. Serialization attributes and implementation helpers are omitted; use the linked source for exact wire aliases and formatters.
AliasKind ​
Specifies the type of entity an alias points to. Source
public enum AliasKind
{
Chat,
Place,
}AliasTarget ​
Represents the target of an alias resolution. Source
public partial record AliasTarget(AliasKind Kind, string TargetId)
{
AliasKind Kind;
string TargetId;
}Related types: AliasKind.
Author ​
Represents a chat participant with an avatar identity. Source
public partial record Author(
AuthorId Id,
long Version = 0
): IHasId<AuthorId>, IHasVersion<long>, IRequirementTarget
{
AuthorId Id;
long Version;
Symbol AvatarId;
bool IsAnonymous;
bool HasLeft;
Avatar Avatar;
}Related types: AuthorId, Avatar.
AuthorFull ​
Extended Author with user association and role memberships. Source
public sealed partial record AuthorFull(
UserId UserId,
AuthorId Id,
long Version = 0
) : Author(Id, Version)
{
UserId UserId;
IReadOnlyList<RoleId> RoleIds;
bool IsPlaceAuthor;
Moment CreatedAt;
}Related types: Author, RoleId, UserId.
AuthorReadPosition ​
Author Read Position contract used by the API operations and related records below. Source
public partial record AuthorReadPosition(AuthorId AuthorId, long EntryLid)
{
AuthorId AuthorId;
long EntryLid;
}Related types: AuthorId.
AuthorRules ​
Encapsulates an author's resolved permissions for a chat. Source
public sealed partial record AuthorRules(
ChatId ChatId,
AuthorFull? Author,
AccountFull? Account,
ChatPermissions Permissions = default
) : IRequirementTarget
{
ChatId ChatId;
AuthorFull? Author;
AccountFull? Account;
ChatPermissions Permissions;
}Related types: AccountFull, AuthorFull, ChatId, ChatPermissions.
Authors_ChangeRole ​
Command payload for authors change role. Source
public sealed partial record Authors_ChangeRole : ApiCommand<Unit>
{
required AuthorId AuthorId;
required SystemRole SystemRole;
required bool IsInRole;
}Related types: ApiCommand, AuthorId, SystemRole.
Authors_Exclude ​
Command payload for authors exclude. Source
public sealed partial record Authors_Exclude : ApiCommand<Unit>
{
required AuthorId AuthorId;
}Related types: ApiCommand, AuthorId.
Authors_Invite ​
Command payload for authors invite. Source
public sealed partial record Authors_Invite : ApiCommand<Unit>
{
required ChatId ChatId;
required UserId[] UserIds;
bool? JoinAnonymously;
}Related types: ApiCommand, ChatId, UserId.
Authors_Join ​
Command payload for authors join. Source
public sealed partial record Authors_Join : ApiCommand<AuthorFull>
{
required ChatId ChatId;
Symbol AvatarId;
bool? JoinAnonymously;
}Related types: ApiCommand, AuthorFull, ChatId.
Authors_Leave ​
Command payload for authors leave. Source
public sealed partial record Authors_Leave : ApiCommand<Unit>
{
required ChatId ChatId;
}Related types: ApiCommand, ChatId.
Authors_PromoteToOwner ​
Command payload for authors promote to owner. Source
public sealed partial record Authors_PromoteToOwner : ApiCommand<Unit>
{
required AuthorId AuthorId;
}Related types: ApiCommand, AuthorId.
Authors_Restore ​
Command payload for authors restore. Source
public sealed partial record Authors_Restore : ApiCommand<Unit>
{
required AuthorId AuthorId;
}Related types: ApiCommand, AuthorId.
Authors_SetAvatar ​
Command payload for authors set avatar. Source
public sealed partial record Authors_SetAvatar : ApiCommand<Unit>
{
required ChatId ChatId;
required Symbol AvatarId;
}Related types: ApiCommand, ChatId.
CallEntry ​
System entry recording how a call went: it never connected (CallOutcome.NoAnswer, CallOutcome.Declined, CallOutcome.Canceled) or it connected and finished (CallOutcome.Ended). Source
public sealed partial record CallEntry : SystemEntry
{
AuthorId CallerId;
string CallerName;
CallOutcome Outcome;
ApiArray<AuthorId> InviteeIds;
bool HasVideo;
}Related types: AuthorId, CallOutcome, SystemEntry.
CallOutcome ​
Allowed values for call outcome. Source
public enum CallOutcome
{
None = 0,
NoAnswer = 1,
Declined = 2,
Canceled = 3,
Ended = 4,
Busy = 5,
}Chat ​
Chat contract used by the API operations and related records below. Source
public sealed partial record Chat(
ChatId Id,
long Version = 0
) : IHasId<ChatId>, IHasVersion<long>, IRequirementTarget
{
ChatId Id;
long Version;
string Title;
Moment CreatedAt;
bool IsPublic;
bool IsTemplate;
ChatId? TemplateId;
UserId? TemplatedForUserId;
bool AllowGuestAuthors;
bool AllowAnonymousAuthors;
MediaId? MediaId;
Symbol SystemTag;
bool IsArchived;
string Description;
AliasId? AliasId;
bool? IsSummarized;
Moment? PttEnabledAt;
MaintenanceMode MaintenanceMode;
bool IsPttPaused;
TimeSpan? RetentionPeriod;
AuthorRules Rules;
Media.Media? Picture;
}Related types: AliasId, AuthorRules, ChatId, MaintenanceMode, Media, MediaId, UserId.
ChatContentKind ​
Allowed values for chat content kind. Source
public enum ChatContentKind
{
Media = 0,
File = 1,
Link = 2,
}ChatContentPeriod ​
Chat Content Period contract used by the API operations and related records below. Source
public sealed partial record ChatContentPeriod
{
required string PeriodKey;
int PageCount;
}ChatContentSkeleton ​
Chat Content Skeleton contract used by the API operations and related records below. Source
public sealed partial record ChatContentSkeleton
{
required ChatContentPeriod[] Periods;
string? NextPeriodKey;
}Related types: ChatContentPeriod.
ChatCopyState ​
Chat Copy State contract used by the API operations and related records below. Source
public partial record ChatCopyState(
ChatId Id,
long Version = 0
) : IHasId<ChatId>, IHasVersion<long>, IRequirementTarget
{
ChatId Id;
long Version;
ChatId SourceChatId;
Moment CreatedAt;
Moment LastCopyingAt;
long LastProcessedEntryId;
string LastCorrelationId;
bool IsCopiedSuccessfully;
bool IsPublished;
Moment PublishedAt;
}Related types: ChatId.
ChatDiff ​
Partial changes to chat; omitted optional members leave their values unchanged. Source
public sealed partial record ChatDiff : RecordDiff
{
string? Title;
ChatKind? Kind;
bool? IsPublic;
bool? IsTemplate;
Option<ChatId?> TemplateId;
Option<UserId?> TemplatedForUserId;
bool? AllowGuestAuthors;
bool? AllowAnonymousAuthors;
MediaId? MediaId;
Symbol? SystemTag;
PlaceId? PlaceId;
bool? IsArchived;
string? Description;
AliasId? AliasId;
Option<bool?> IsSummarized;
Option<Moment?> PttEnabledAt;
bool? IsPttPaused;
Option<TimeSpan?> RetentionPeriod;
}Related types: AliasId, ChatId, ChatKind, MediaId, PlaceId, RecordDiff, UserId.
ChatEntry ​
Abstract message or media entry in a chat. Concrete kinds are TextEntry (regular messages) and SystemEntry descendants (system events). Source
public abstract partial record ChatEntry(
ChatEntryId Id,
long Version = 0
) : IHasId<ChatEntryId>, IHasVersion<long>, IRequirementTarget, ISanitized
{
ChatEntryId Id;
long Version;
ChatEntryFlags Flags;
AuthorId AuthorId;
Moment BeginsAt;
Moment? EndsAt;
string Content;
HashString ContentHash;
string ContentStreamId;
long? RepliedEntryLid;
string? QuotedText;
ChatEntryForwarded? Forwarded;
ChatEntryAudio? Audio;
LinkPreviewMode LinkPreviewMode;
Symbol[] LinkPreviewIds;
LinkPreview[] LinkPreviews;
SharedLocationId? LocationId;
string ClientId;
ChatEntryAttachment[] Attachments;
}Related types: AuthorId, CallEntry, ChatEntryAttachment, ChatEntryAudio, ChatEntryFlags, ChatEntryForwarded, ChatEntryId, HashString, HistoryChangedEntry, LinkPreview, LinkPreviewMode, MembersChangedEntry, NotifyMembersEntry, SharedLocationId, TextEntry, TranscriptionChangedEntry, UnsupportedSystemEntry.
ChatEntryAttachment ​
Represents a media attachment on a text chat entry. Source
public sealed partial record ChatEntryAttachment(
Symbol Id,
long Version = 0
) : IHasId<Symbol>, IHasVersion<long>, IRequirementTarget
{
Symbol Id;
long Version;
ChatEntryId EntryId;
int Index;
MediaId MediaId;
MediaId? ThumbnailMediaId;
Media.Media Media;
Media.Media? ThumbnailMedia;
}Related types: ChatEntryId, Media, MediaId.
ChatEntryAudio ​
Audio metadata for a ChatEntry. Built from DB columns on reads, enriched with Media.Media data for tiles. Stored back to DB via UpdateFrom(). Source
public sealed partial record ChatEntryAudio
{
MediaId? MediaId;
string BlobId;
string StreamId;
Moment BeginsAt;
Moment? EndsAt;
Moment? ContentEndsAt;
Moment? ClientSideBeginsAt;
LinearMap TimeMap;
}Related types: LinearMap, MediaId.
ChatEntryFlags ​
Allowed values for chat entry flags. Source
public enum ChatEntryFlags
{
None = 0,
IsRemoved = 1 << 0,
HasReactions = 1 << 1,
IsThreadStart = 1 << 2,
IsThread = 1 << 3,
HasUploadingAttachments = 1 << 4,
IsUnsupported = 1 << 5,
IsViaApi = 1 << 6,
IsImported = 1 << 7,
}ChatEntryForwarded ​
Forwarding metadata for a ChatEntry. Present when the entry was forwarded from another chat; null otherwise. Source
public sealed partial record ChatEntryForwarded : ISanitized
{
ChatEntryId? ChatEntryId;
AuthorId AuthorId;
Moment BeginsAt;
string ChatTitle;
string AuthorName;
}Related types: AuthorId, ChatEntryId.
ChatEntryLanguage ​
Chat Entry Language contract used by the API operations and related records below. Source
public sealed partial record ChatEntryLanguage(
ChatEntryId Id,
long Version = 0
): IHasId<ChatEntryId>, IHasVersion<long>, IRequirementTarget
{
ChatEntryId Id;
long Version;
Language[] Languages;
DateTime CreatedAt;
DateTime ModifiedAt;
HashString EntryContentHash;
}Related types: ChatEntryId, HashString, Language.
ChatEntryStreamInfo ​
A text entry whose content is still being pushed in, as its producer sees it: the handle to push more, how much of the text the server has accepted, and how far a listener's synthesized voice is behind it - null when nothing is speaking this entry. Source
public sealed partial record ChatEntryStreamInfo(
StreamId Id,
ChatEntryId EntryId,
int Offset,
bool IsCompleted,
TimeSpan? SpeechBacklog = null
)
{
StreamId Id;
ChatEntryId EntryId;
int Offset;
bool IsCompleted;
TimeSpan? SpeechBacklog;
}Related types: ChatEntryId, StreamId.
ChatLanguageTile ​
Chat Language Tile contract used by the API operations and related records below. Source
public sealed partial class ChatLanguageTile
{
Range<long> LidTileRange;
ChatEntryLanguage[] Entries;
}Related types: ChatEntryLanguage, Range.
ChatNews ​
Chat News contract used by the API operations and related records below. Source
public sealed partial record ChatNews(
Range<long> TextEntryLidRange,
ChatEntry? LastTextEntry = null
)
{
Range<long> TextEntryLidRange;
ChatEntry? LastTextEntry;
}Related types: ChatEntry, Range.
ChatPermissions ​
Defines permission flags for chat operations. Source
public enum ChatPermissions
{
Read = 0x1,
Write = 0x2,
SeeMembers = 0x4,
Join = 0x80,
Invite = 0x100,
Leave = 0x200,
EditProperties = 0x1000,
EditRoles = 0x2000,
EditMembers = 0x4000,
Moderate = 0x8000,
Owner = 0x10_000,
Upload = 0x10_0000,
WriteAudio = 0x20_0000,
WriteVideo = 0x40_0000,
ReadAudio = 0x80_0000,
ReadVideo = 0x100_0000,
}ChatRangeTile ​
Chat Range Tile contract used by the API operations and related records below. Source
public sealed partial record ChatRangeTile(
Range<long> LidRange,
Range<long>[] EntryLidRanges,
Range<long>[] ConversationRanges,
int MinCount,
long? PreviousLidTileStart,
long? NextLidTileStart
)
{
Range<long> LidRange;
Range<long>[] EntryLidRanges;
Range<long>[] ConversationRanges;
int MinCount;
long? PreviousLidTileStart;
long? NextLidTileStart;
}Related types: Range.
ConversationRanges retains the serialized name conversationLidRanges for compatibility.
ChatThreads_Start ​
Command payload for chat threads start. Source
public sealed partial record ChatThreads_Start : ApiCommand<Chat>
{
required ChatId ParentChatId;
required string Title;
required string Description;
required ChatEntryId[] EntryIds;
}Related types: ApiCommand, Chat, ChatEntryId, ChatId.
ChatThreads_ToggleThreadFollowStatus ​
Command payload for chat threads toggle thread follow status. Source
public sealed partial record ChatThreads_ToggleThreadFollowStatus : ApiCommand<Unit>
{
required ThreadChatId ThreadChatId;
}Related types: ApiCommand, ThreadChatId.
ChatTile ​
Chat Tile contract used by the API operations and related records below. Source
public sealed partial class ChatTile
{
Range<long> LidTileRange;
bool IncludesRemoved;
Range<Moment> BeginsAtRange;
ChatEntry[] Entries;
}Related types: ChatEntry, Range.
ChatVoiceStream ​
A voice entry being pushed in call by call: the handle to send more, and how much text and audio the server has accepted. AudioDuration is what the server decoded, not what it was sent - a chunk it could not read adds bytes but no time. Source
public sealed partial record ChatVoiceStream(
StreamId Id,
ChatEntryId? EntryId,
int TextOffset,
long AudioBytes,
bool IsCompleted,
TimeSpan AudioDuration
)
{
StreamId Id;
ChatEntryId? EntryId;
int TextOffset;
long AudioBytes;
bool IsCompleted;
TimeSpan AudioDuration;
}Related types: ChatEntryId, StreamId.
Chat_CopyChat ​
Command payload for chat copy chat. Source
public sealed partial record Chat_CopyChat : ApiCommand<Chat_CopyChatResult>
{
required ChatId SourceChatId;
required PlaceId PlaceId;
required string CorrelationId;
}Related types: ApiCommand, ChatId, Chat_CopyChatResult, PlaceId.
Chat_CopyChatResult ​
Result payload for chat copy chat result. Source
public sealed partial record Chat_CopyChatResult(bool HasChanges, bool HasErrors )
{
bool HasChanges;
bool HasErrors;
}Chat_PublishCopiedChat ​
Command payload for chat publish copied chat. Source
public sealed partial record Chat_PublishCopiedChat : ApiCommand<Unit>
{
required PlaceChatId NewChatId;
required ChatId SourceChatId;
}Related types: ApiCommand, ChatId, PlaceChatId.
Chats_Change ​
Command payload for chats change. Source
public sealed partial record Chats_Change : ApiCommand<Chat>
{
required ChatId? ChatId;
required long? ExpectedVersion;
required Change<ChatDiff> Change;
}Related types: ApiCommand, Change, Chat, ChatDiff, ChatId.
Chats_ForwardAttachment ​
Command payload for chats forward attachment. Source
public sealed partial record Chats_ForwardAttachment : ApiCommand<Unit>
{
required ChatEntryId ChatEntryId;
required int AttachmentIndex;
required ChatId[] DestinationChatIds;
}Related types: ApiCommand, ChatEntryId, ChatId.
Chats_ForwardEntries ​
Command payload for chats forward entries. Source
public sealed partial record Chats_ForwardEntries : ApiCommand<Unit>
{
required ChatId ChatId;
required ChatEntryId[] ChatEntries;
required ChatId[] DestinationChatIds;
}Related types: ApiCommand, ChatEntryId, ChatId.
Chats_GetOrCreateFromTemplate ​
Command payload for chats get or create from template. Source
public sealed partial record Chats_GetOrCreateFromTemplate : ApiCommand<Chat>
{
required ChatId TemplateChatId;
}Related types: ApiCommand, Chat, ChatId.
Chats_RemoveEntries ​
Command payload for chats remove entries. Source
public sealed partial record Chats_RemoveEntries : ApiCommand<Unit>
{
required ChatId ChatId;
required long[] LocalIds;
}Related types: ApiCommand, ChatId.
Chats_RemoveEntry ​
Command payload for chats remove entry. Source
public sealed partial record Chats_RemoveEntry : ApiCommand<Unit>
{
required ChatId ChatId;
required long LocalId;
}Related types: ApiCommand, ChatId.
Chats_RestoreEntries ​
Command payload for chats restore entries. Source
public sealed partial record Chats_RestoreEntries : ApiCommand<Unit>
{
required ChatId ChatId;
required long[] LocalIds;
}Related types: ApiCommand, ChatId.
Chats_RestoreEntry ​
Command payload for chats restore entry. Source
public sealed partial record Chats_RestoreEntry : ApiCommand<Unit>
{
required ChatId ChatId;
required long LocalId;
}Related types: ApiCommand, ChatId.
Chats_SetPinned ​
Command payload for chats set pinned. Source
public sealed partial record Chats_SetPinned : ApiCommand<Unit>
{
required ChatEntryId EntryId;
required bool MustPin;
}Related types: ApiCommand, ChatEntryId.
Chats_UpsertEntry ​
Command payload for chats upsert entry. Source
public sealed partial record Chats_UpsertEntry : ApiCommand<ChatEntry>, ISanitized
{
required ChatId ChatId;
required long? LocalId;
string Text;
Option<long?> RepliedEntryLid;
ChatEntryAttachment[] Attachments;
bool HasUploadingAttachments;
string ClientId;
ChatEntryForwarded? Forwarded;
SharedLocationId? LocationId;
string? QuotedText;
}Related types: ApiCommand, ChatEntry, ChatEntryAttachment, ChatEntryForwarded, ChatId, SharedLocationId.
Chats_WipeHistory ​
Command payload for chats wipe history. Source
public sealed partial record Chats_WipeHistory : ApiCommand<Range<long>>
{
required ChatId ChatId;
long MinEntryLid;
}Related types: ApiCommand, ChatId, Range.
Conversation ​
Represents a thread conversation within a chat, grouping related entries. Source
public sealed partial record Conversation(
ConversationId Id,
long Version = 0
) : IHasId<ConversationId>, IHasVersion<long>, IRequirementTarget
{
ConversationId Id;
long Version;
string Title;
string Description;
string Summary;
long EndEntryLid;
Moment StartsAt;
Moment EndsAt;
int MessageCount;
IReadOnlyList<AuthorId> AuthorIds;
int AttachmentCount;
Symbol[] AttachmentIds;
ChatEntryAttachment[] Attachments;
bool IsExpandedByDefault;
AuthorId? CallerId;
}Related types: AuthorId, ChatEntryAttachment, ConversationId.
Conversations_Summarize ​
Command payload for conversations summarize. Source
public sealed partial record Conversations_Summarize : ApiCommand<Unit>
{
required ConversationId ConversationId;
}Related types: ApiCommand, ConversationId.
DubVoice ​
A stock TTS voice a speaker can pick to be dubbed with; every voice speaks every dub language. Source
public sealed partial record DubVoice(string Id ) : IHasId<string>
{
string Id;
string Description;
string Gender;
string Age;
string Accent;
ApiArray<string> UseCase;
ApiArray<string> Style;
}FileItem ​
File Item contract used by the API operations and related records below. Source
public sealed partial record FileItem : IChatContentItem
{
required Symbol Id;
long Version;
ChatEntryId EntryId;
int LocalIndex;
Moment At;
required MediaId MediaId;
string BlobId;
string ContentType;
string FileName;
long Size;
}Related types: ChatEntryId, MediaId.
HistoryChangeKind ​
Allowed values for history change kind. Source
public enum HistoryChangeKind
{
RetentionChanged = 0,
Wiped = 1,
}HistoryChangedEntry ​
System entry recording who changed the chat's history retention or wiped its history. HistoryPeriod is the new retention (null = off) or how far back the wipe went (null = the whole history). Source
public sealed partial record HistoryChangedEntry(
ChatEntryId Id,
long Version = 0
) : SystemEntry(Id, Version)
{
AuthorId? TargetAuthorId;
string TargetAuthorName;
HistoryChangeKind HistoryChange;
TimeSpan? HistoryPeriod;
}Related types: AuthorId, HistoryChangeKind, SystemEntry.
ImageSlot ​
Allowed values for image slot. Source
public enum ImageSlot
{
Picture = 0,
Background = 1,
}ImageSuggestions_AcceptForChat ​
Result payload for image suggestions accept for chat. Source
public sealed partial record ImageSuggestions_AcceptForChat(
Session Session,
ChatId ChatId,
ImageSlot Slot
) : ISessionCommand<Unit>
{
Session Session;
ChatId ChatId;
ImageSlot Slot;
}Related types: ChatId, ImageSlot.
ImageSuggestions_AcceptForPlace ​
Result payload for image suggestions accept for place. Source
public sealed partial record ImageSuggestions_AcceptForPlace(
Session Session,
PlaceId PlaceId,
ImageSlot Slot
) : ISessionCommand<Unit>
{
Session Session;
PlaceId PlaceId;
ImageSlot Slot;
}Related types: ImageSlot, PlaceId.
ImageSuggestions_DismissForChat ​
Result payload for image suggestions dismiss for chat. Source
public sealed partial record ImageSuggestions_DismissForChat(
Session Session,
ChatId ChatId,
ImageSlot Slot
) : ISessionCommand<Unit>
{
Session Session;
ChatId ChatId;
ImageSlot Slot;
}Related types: ChatId, ImageSlot.
ImageSuggestions_DismissForPlace ​
Result payload for image suggestions dismiss for place. Source
public sealed partial record ImageSuggestions_DismissForPlace(
Session Session,
PlaceId PlaceId,
ImageSlot Slot
) : ISessionCommand<Unit>
{
Session Session;
PlaceId PlaceId;
ImageSlot Slot;
}Related types: ImageSlot, PlaceId.
ImageSuggestions_GenerateForChat ​
Result payload for image suggestions generate for chat. Source
public sealed partial record ImageSuggestions_GenerateForChat(
Session Session,
ChatId ChatId,
ImageSlot Slot,
string? ImageDescription
) : ISessionCommand<ImageSuggestion?>
{
Session Session;
ChatId ChatId;
ImageSlot Slot;
string? ImageDescription;
bool IsExplicit;
ImageStyle? Style;
}Related types: ChatId, ImageSlot, ImageStyle, ImageSuggestion.
ImageSuggestions_GenerateForPlace ​
Result payload for image suggestions generate for place. Source
public sealed partial record ImageSuggestions_GenerateForPlace(
Session Session,
PlaceId PlaceId,
ImageSlot Slot,
string? ImageDescription
) : ISessionCommand<ImageSuggestion?>
{
Session Session;
PlaceId PlaceId;
ImageSlot Slot;
string? ImageDescription;
bool IsExplicit;
ImageStyle? Style;
}Related types: ImageSlot, ImageStyle, ImageSuggestion, PlaceId.
LinkItem ​
Link Item contract used by the API operations and related records below. Source
public sealed partial record LinkItem : IChatContentItem
{
required Symbol Id;
long Version;
ChatEntryId EntryId;
int LocalIndex;
Moment At;
string Url;
Symbol LinkPreviewId;
LinkPreview? LinkPreview;
}Related types: ChatEntryId, LinkPreview.
MembersChangedEntry ​
System entry emitted when a member joins or leaves the chat. Source
public sealed partial record MembersChangedEntry : SystemEntry
{
AuthorId? TargetAuthorId;
string TargetAuthorName;
bool HasLeft;
}Related types: AuthorId, SystemEntry.
Mention ​
Represents a mention of a user or author in a chat entry. Source
public sealed partial record Mention : IHasId<Symbol>, IRequirementTarget
{
required Symbol Id;
required ChatEntryId EntryId;
required MentionRef MentionRef;
}Related types: ChatEntryId, MentionRef.
MeshDiagInfo ​
Mesh Diag Info contract used by the API operations and related records below. Source
public sealed partial record MeshDiagInfo(
string ThisNodeId,
string Tag,
Moment Timestamp,
NodeDiagInfo[] Nodes,
RpcPeerDiagInfo[] RpcPeers,
MeshRpcRefDiagInfo[] MeshRpcRefs,
MeshDiagInfo[] Others,
string Extra
)
{
string ThisNodeId;
string Tag;
Moment Timestamp;
NodeDiagInfo[] Nodes;
RpcPeerDiagInfo[] RpcPeers;
MeshRpcRefDiagInfo[] MeshRpcRefs;
MeshDiagInfo[] Others;
string Extra;
}Related types: MeshRpcRefDiagInfo, NodeDiagInfo, RpcPeerDiagInfo.
MeshRpcRefDiagInfo ​
Mesh Rpc Ref Diag Info contract used by the API operations and related records below. Source
public sealed partial record MeshRpcRefDiagInfo(
string MeshRef,
string Route,
string Address,
string NodeId,
int Version,
string Extra
)
{
string MeshRef;
string Route;
string Address;
string NodeId;
int Version;
string Extra;
}NodeDiagInfo ​
Node Diag Info contract used by the API operations and related records below. Source
public sealed partial record NodeDiagInfo(
string Id,
string Endpoint,
string State,
bool IsThis,
string Roles,
string Extra
)
{
string Id;
string Endpoint;
string State;
bool IsThis;
string Roles;
string Extra;
}NotifyMembersEntry ​
System entry emitted when an author asks for the attention of all members. Source
public sealed partial record NotifyMembersEntry(
ChatEntryId Id,
long Version = 0
) : SystemEntry(Id, Version)
{
AuthorId? TargetAuthorId;
string TargetAuthorName;
}Related types: AuthorId, SystemEntry.
Place ​
Place contract used by the API operations and related records below. Source
public sealed partial record Place(
PlaceId Id,
long Version = 0
) : IHasId<PlaceId>, IHasVersion<long>, IRequirementTarget
{
PlaceId Id;
long Version;
string Title;
Moment CreatedAt;
bool IsPublic;
MediaId? MediaId;
MediaId? BackgroundMediaId;
string Description;
AliasId? AliasId;
PlaceRules Rules;
Media.Media? Picture;
Media.Media? Background;
}Related types: AliasId, Media, MediaId, PlaceId, PlaceRules.
PlaceDiff ​
Partial changes to place; omitted optional members leave their values unchanged. Source
public sealed partial record PlaceDiff : RecordDiff
{
string? Title;
bool? IsPublic;
MediaId? MediaId;
MediaId? BackgroundMediaId;
string? Description;
AliasId? AliasId;
}Related types: AliasId, MediaId, RecordDiff.
PlacePermissions ​
Defines permission flags for place operations. Source
public enum PlacePermissions
{
Read = 0x1,
Write = 0x2,
SeeMembers = 0x4,
Join = 0x80,
Invite = 0x100,
Leave = 0x200,
EditProperties = 0x1000,
EditRoles = 0x2000,
EditMembers = 0x4000,
Moderate = 0x8000,
Owner = 0x10_000,
}PlaceRules ​
Place Rules contract used by the API operations and related records below. Source
public sealed partial record PlaceRules(
PlaceId PlaceId,
AuthorFull? Author,
AccountFull? Account,
PlacePermissions Permissions = default
) : IRequirementTarget
{
PlaceId PlaceId;
AuthorFull? Author;
AccountFull? Account;
PlacePermissions Permissions;
}Related types: AccountFull, AuthorFull, PlaceId, PlacePermissions.
Places_Change ​
Command payload for places change. Source
public sealed partial record Places_Change : ApiCommand<Place>
{
required PlaceId? PlaceId;
required long? ExpectedVersion;
required Change<PlaceDiff> Change;
}Related types: ApiCommand, Change, Place, PlaceDiff, PlaceId.
Places_ChangeRole ​
Command payload for places change role. Source
public sealed partial record Places_ChangeRole : ApiCommand<Unit>
{
required AuthorId AuthorId;
required SystemRole SystemRole;
required bool IsInRole;
}Related types: ApiCommand, AuthorId, SystemRole.
Places_Exclude ​
Command payload for places exclude. Source
public sealed partial record Places_Exclude : ApiCommand<Unit>
{
required AuthorId AuthorId;
}Related types: ApiCommand, AuthorId.
Places_Invite ​
Command payload for places invite. Source
public sealed partial record Places_Invite : ApiCommand<Unit>
{
required PlaceId PlaceId;
required UserId[] UserIds;
}Related types: ApiCommand, PlaceId, UserId.
Places_Join ​
Command payload for places join. Source
public sealed partial record Places_Join : ApiCommand<Unit>
{
required PlaceId PlaceId;
Symbol AvatarId;
}Related types: ApiCommand, PlaceId.
Places_Leave ​
Command payload for places leave. Source
public sealed partial record Places_Leave : ApiCommand<Unit>
{
required PlaceId PlaceId;
}Related types: ApiCommand, PlaceId.
Places_PromoteToOwner ​
Command payload for places promote to owner. Source
public sealed partial record Places_PromoteToOwner : ApiCommand<Unit>
{
required AuthorId AuthorId;
}Related types: ApiCommand, AuthorId.
Places_Restore ​
Command payload for places restore. Source
public sealed partial record Places_Restore : ApiCommand<Unit>
{
required AuthorId AuthorId;
}Related types: ApiCommand, AuthorId.
Reaction ​
Represents an emoji reaction to a chat entry. Source
public sealed partial record Reaction
: IHasId<Symbol>,
IHasVersion<long>,
IRequirementTarget
{
required Symbol Id;
long Version;
required AuthorId AuthorId;
required ChatEntryId EntryId;
required Emoji Emoji;
Moment ModifiedAt;
}Related types: AuthorId, ChatEntryId, Emoji.
ReactionSummary ​
Aggregates reaction counts and first authors for a chat entry. Source
public sealed partial record ReactionSummary
: IHasId<Symbol>,
IHasVersion<long>,
IRequirementTarget
{
required Symbol Id;
long Version;
required ChatEntryId EntryId;
required Emoji Emoji;
required long Count;
ImmutableList<AuthorId> FirstAuthorIds;
}Related types: AuthorId, ChatEntryId, Emoji.
Reactions_React ​
Command payload for reactions react. Source
public sealed partial record Reactions_React : ApiCommand<Unit>
{
required Reaction Reaction;
}Related types: ApiCommand, Reaction.
ReadPositionsStat ​
Read Positions Stat contract used by the API operations and related records below. Source
public partial record ReadPositionsStat(
ChatId ChatId,
long StartTrackingEntryLid,
AuthorReadPosition[] TopReadPositions
)
{
ChatId ChatId;
long StartTrackingEntryLid;
AuthorReadPosition[] TopReadPositions;
}Related types: AuthorReadPosition, ChatId.
Role ​
Defines a permission role within a chat. Source
public sealed partial record Role(
RoleId Id,
long Version = 0
) : IHasId<RoleId>, IHasVersion<long>, IRequirementTarget
{
RoleId Id;
long Version;
string Picture;
ChatPermissions Permissions;
string Name;
SystemRole SystemRole;
}Related types: ChatPermissions, RoleId, SystemRole.
RoleDiff ​
Represents changes to a Role for incremental updates. Source
public sealed partial record RoleDiff : RecordDiff
{
string? Name;
SystemRole? SystemRole;
string? Picture;
ChatPermissions? Permissions;
SetDiff<AuthorId[], AuthorId> AuthorIds;
}Related types: AuthorId, ChatPermissions, RecordDiff, SetDiff, SystemRole.
Roles_Change ​
Command payload for roles change. Source
public sealed partial record Roles_Change : ApiCommand<Role>
{
required ChatId ChatId;
required RoleId RoleId;
required long? ExpectedVersion;
required Change<RoleDiff> Change;
}Related types: ApiCommand, Change, ChatId, Role, RoleDiff, RoleId.
RpcPeerDiagInfo ​
Rpc Peer Diag Info contract used by the API operations and related records below. Source
public sealed partial record RpcPeerDiagInfo(
string Id,
string Peer,
string ConnectionKind,
RpcPeerConnectionStateKind ConnectionStateKind,
string ConnectionInfo,
string Extra
)
{
string Id;
string Peer;
string ConnectionKind;
RpcPeerConnectionStateKind ConnectionStateKind;
string ConnectionInfo;
string Extra;
}SharedLocation ​
A location shared into a chat, referenced by ChatEntry.LocationId. Live while LiveUntil — its expiry or the moment it was stopped, whichever comes first — is in the future; its Point keeps updating until then, after which the last point is frozen as a static pin. A zero Duration means it was never a live share, just a pin; IsPlace tells a pin the author picked on the map apart from where the author actually was. Source
public sealed partial record SharedLocation(
SharedLocationId Id,
long Version
) : IHasId<SharedLocationId>, IHasVersion<long>
{
SharedLocationId Id;
long Version;
required AuthorId AuthorId;
required GeoPoint Point;
required Moment CreatedAt;
required Moment ModifiedAt;
required TimeSpan Duration;
Moment? StoppedAt;
bool IsPlace;
}Related types: AuthorId, GeoPoint, SharedLocationId.
SharedLocationDiff ​
Change to a SharedLocation: create/update carries a new Point (and LiveDuration / IsPlace on create); a Remove change stops it (freezes the last point). Source
public sealed partial record SharedLocationDiff : RecordDiff
{
GeoPoint? Point;
TimeSpan? LiveDuration;
bool IsPlace;
}Related types: GeoPoint, RecordDiff.
SharedLocations_Change ​
Command payload for shared locations change. Source
public sealed partial record SharedLocations_Change : ApiCommand<SharedLocation?>
{
required ChatId ChatId;
required SharedLocationId? Id;
required Change<SharedLocationDiff> Change;
}Related types: ApiCommand, Change, ChatId, SharedLocation, SharedLocationDiff, SharedLocationId.
SystemEntry ​
Abstract base for system-generated chat entries — events such as members joining, leaving, or being notified, and calls. Concrete kinds: MembersChangedEntry, NotifyMembersEntry, CallEntry, HistoryChangedEntry, TranscriptionChangedEntry, UnsupportedSystemEntry. Source
public abstract partial record SystemEntry(
ChatEntryId Id,
long Version = 0
) : ChatEntry(Id, Version), IForwardCompatibleUnion<SystemEntry>No additional serialized fields are declared here; use the base contract or string-identifier representation.
Related types: CallEntry, ChatEntry, HistoryChangedEntry, MembersChangedEntry, NotifyMembersEntry, TranscriptionChangedEntry, UnsupportedSystemEntry.
SystemRole ​
Defines built-in system roles for chat participants. Source
public enum SystemRole
{
None = 0,
Anyone = 11,
Guest = Anyone + 2,
User = Anyone + 4,
AnonymousUser = Anyone + 4 + 8,
Moderator = 91,
Owner = 101,
}TextEntry ​
Regular chat message — text, audio transcript, or media post. Carries no fields beyond ChatEntry; its concrete type is the discriminator. Source
public sealed partial record TextEntry : ChatEntryNo additional serialized fields are declared here; use the base contract or string-identifier representation.
Related types: ChatEntry.
ThreadStat ​
Statistics for a chat thread. Source
public sealed partial record ThreadStat(
long MessageCount,
AuthorId[] TopAuthorIds,
int AuthorCount,
ChatEntryAttachment[] Attachments
)
{
long MessageCount;
AuthorId[] TopAuthorIds;
int AuthorCount;
ChatEntryAttachment[] Attachments;
}Related types: AuthorId, ChatEntryAttachment.
TranscriptionChangedEntry ​
System entry recording who turned a call's transcription on or off. Source
public sealed partial record TranscriptionChangedEntry(
ChatEntryId Id,
long Version = 0
) : SystemEntry(Id, Version)
{
AuthorId? TargetAuthorId;
string TargetAuthorName;
bool IsTranscriptionOn;
}Related types: AuthorId, SystemEntry.
Translation ​
Represents a translation of chat content to a target language. Source
public sealed partial record Translation(
TranslationId Id,
long Version = 0
) : IHasId<TranslationId>, IHasVersion<long>, IRequirementTarget, ISanitized
{
TranslationId Id;
long Version;
string Content;
HashString SourceContentHash;
Moment CreatedAt;
Moment ModifiedAt;
StreamId? StreamId;
MediaId? DubMediaId;
HashString DubContentHash;
}Related types: HashString, MediaId, StreamId, TranslationId.
UITextKind ​
Allowed values for uitext kind. Source
public enum UITextKind
{
ErrorMessage = 0,
}UnsupportedSystemEntry ​
Stands in for a system entry this build has no member for — an unknown [Union] tag on the wire, or a row whose option the database reader doesn't recognize. It carries the base prefix and nothing else, and renders as nothing at all. Source
public sealed partial record UnsupportedSystemEntry : SystemEntryNo additional serialized fields are declared here; use the base contract or string-identifier representation.
Related types: SystemEntry.
VisualMediaItem ​
Visual Media Item contract used by the API operations and related records below. Source
public sealed partial record VisualMediaItem : IChatContentItem
{
required Symbol Id;
long Version;
ChatEntryId EntryId;
int LocalIndex;
Moment At;
required MediaId MediaId;
string BlobId;
MediaId? ThumbnailMediaId;
string ThumbnailBlobId;
string ContentType;
string FileName;
long Size;
long DurationMs;
}Related types: ChatEntryId, MediaId.
VoiceStreamPart ​
One piece of a voice message: Ogg Opus bytes, the text they carry, or both. One stream rather than two keeps the order a listener depends on - the audio for a passage arrives with the words of it, which is what pins the transcript to the sound. Source
public sealed partial record VoiceStreamPart(
byte[]? Audio,
string? Text,
double? AudioOffset
)
{
byte[]? Audio;
string? Text;
double? AudioOffset;
}