Identifiers 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.
AliasId ​
Represents a user-friendly alias for entities like chats or places. Source
public sealed partial class AliasId : StringIdentifier, IStringIdentifier<AliasId>No additional serialized fields are declared here; use the base contract or string-identifier representation.
Related types: StringIdentifier.
AuthorId ​
Unique identifier for a chat author within a specific chat. Source
public sealed partial class AuthorId
: PrincipalId,
IStringIdentifier<AuthorId>,
IMentionTargetNo additional serialized fields are declared here; use the base contract or string-identifier representation.
Related types: PrincipalId.
CallId ​
Identifies one call: the chat it is placed in plus a local id no other call to that chat shares. The local id is opaque - only the server that issues it knows how it is made. Source
public sealed partial class CallId : StringIdentifier, IStringIdentifier<CallId>No additional serialized fields are declared here; use the base contract or string-identifier representation.
Related types: StringIdentifier.
ChatEntryId ​
Unique identifier for a chat entry (message). String format: "chatId:kind:localId" where kind is always 0 for text entries. Source
public sealed partial class ChatEntryId : ContentId, IStringIdentifier<ChatEntryId>No additional serialized fields are declared here; use the base contract or string-identifier representation.
Related types: ContentId.
ChatId ​
Unique identifier for a chat (group, peer, place, or thread). Source
public abstract partial class ChatId
: ContentId,
IStringIdentifier<ChatId>,
IMentionTargetNo additional serialized fields are declared here; use the base contract or string-identifier representation.
Related types: ContentId.
ChatImportId ​
Identifies one import session of a chat or Place. A new session gets a new ID, so consent, batch receipts and uploads keyed by it never carry over into a restarted import. Source
public sealed partial class ChatImportId
: StringIdentifier,
IStringIdentifier<ChatImportId>No additional serialized fields are declared here; use the base contract or string-identifier representation.
Related types: StringIdentifier.
ChatKind ​
Specifies the type of chat. Source
public enum ChatKind
{
Group = 0,
Peer = 1,
Place = 2,
Thread = 3,
}ContactId ​
Unique identifier for a user's contact entry linking owner to chat. Source
public sealed partial class ContactId : ContentId, IStringIdentifier<ContactId>No additional serialized fields are declared here; use the base contract or string-identifier representation.
Related types: ContentId.
ContentId ​
Content Id contract used by the API operations and related records below. Source
public abstract class ContentId(string value) : StringIdentifier(value)No additional serialized fields are declared here; use the base contract or string-identifier representation.
Related types: StringIdentifier.
ConversationId ​
Identifies a conversation within a chat, starting from a specific entry. Source
public sealed partial class ConversationId
: ContentId,
IStringIdentifier<ConversationId>No additional serialized fields are declared here; use the base contract or string-identifier representation.
Related types: ContentId.
Email ​
Represents a validated email address with normalization support. Source
public sealed partial class Email : StringIdentifier, IStringIdentifier<Email>No additional serialized fields are declared here; use the base contract or string-identifier representation.
Related types: StringIdentifier.
Emoji ​
Represents an emoji with its codepoint and title. Source
public sealed partial class Emoji : StringIdentifier, IStringIdentifier<Emoji>No additional serialized fields are declared here; use the base contract or string-identifier representation.
Related types: StringIdentifier.
ExternalContactId ​
Unique identifier for an external contact imported from a user's device. Source
public sealed partial class ExternalContactId
: StringIdentifier,
IStringIdentifier<ExternalContactId>No additional serialized fields are declared here; use the base contract or string-identifier representation.
Related types: StringIdentifier.
Language ​
Represents a language with its title and code. Source
public sealed partial class Language : StringIdentifier, IStringIdentifier<Language>No additional serialized fields are declared here; use the base contract or string-identifier representation.
Related types: StringIdentifier.
MediaId ​
Unique identifier for uploaded media content. Source
public sealed partial class MediaId : ContentId, IStringIdentifier<MediaId>No additional serialized fields are declared here; use the base contract or string-identifier representation.
Related types: ContentId.
MentionRef ​
Reference to a mentioned entity in chat content. The value is prefix: where the prefix selects a MentionKind and the local id parses into an IMentionTarget. See MentionKind.ByPrefix for the registered kinds. Source
public sealed partial class MentionRef
: StringIdentifier,
IStringIdentifier<MentionRef>No additional serialized fields are declared here; use the base contract or string-identifier representation.
Related types: StringIdentifier.
NotificationId ​
Unique identifier for a user notification. Source
public sealed partial class NotificationId
: StringIdentifier,
IStringIdentifier<NotificationId>No additional serialized fields are declared here; use the base contract or string-identifier representation.
Related types: StringIdentifier.
NotificationKind ​
Specifies the type of notification. Source
public enum NotificationKind
{
None = 0,
Message,
Reply,
Invitation,
Mention,
Reaction,
Attention,
Thread,
Conversation,
IncomingCall,
SpeechStarted,
Invalid,
}Phone ​
Represents a phone number with country code and normalization support. Source
public sealed partial class Phone : StringIdentifier, IStringIdentifier<Phone>No additional serialized fields are declared here; use the base contract or string-identifier representation.
Related types: StringIdentifier.
PlaceChatId ​
Unique identifier for a chat within a Place. Source
public sealed partial class PlaceChatId : ChatId, IStringIdentifier<PlaceChatId>No additional serialized fields are declared here; use the base contract or string-identifier representation.
Related types: ChatId.
PlaceId ​
Unique identifier for a place (organization or community). Source
public sealed partial class PlaceId
: ContentId,
IStringIdentifier<PlaceId>,
IMentionTargetNo additional serialized fields are declared here; use the base contract or string-identifier representation.
Related types: ContentId.
PrincipalId ​
Base identifier for principals (users or authors). Source
public abstract partial class PrincipalId : ContentId, IStringIdentifier<PrincipalId>No additional serialized fields are declared here; use the base contract or string-identifier representation.
Related types: ContentId.
RoleId ​
Unique identifier for a permission role within a chat. Source
public sealed partial class RoleId : ContentId, IStringIdentifier<RoleId>No additional serialized fields are declared here; use the base contract or string-identifier representation.
Related types: ContentId.
SharedLocationId ​
Identifier of a Chat.SharedLocation — the record a chat entry references via Chat.ChatEntry.LocationId. Source
public sealed partial class SharedLocationId
: ContentId,
IStringIdentifier<SharedLocationId>No additional serialized fields are declared here; use the base contract or string-identifier representation.
Related types: ContentId.
StreamId ​
Unique identifier for a live audio stream. Source
public sealed partial class StreamId : StringIdentifier, IStringIdentifier<StreamId>No additional serialized fields are declared here; use the base contract or string-identifier representation.
Related types: StringIdentifier.
StringIdentifier ​
Base class for string-based identifiers with cached hash code. Source
public abstract class StringIdentifier(string value) : IStringIdentifier
{
readonly string Value;
}ThreadChatId ​
Unique identifier for a thread chat (reply thread attached to a chat entry). Source
public sealed partial class ThreadChatId : ChatId, IStringIdentifier<ThreadChatId>No additional serialized fields are declared here; use the base contract or string-identifier representation.
Related types: ChatId.
TranslationId ​
Unique identifier for a translation of content into a specific language. Source
public sealed partial class TranslationId
: StringIdentifier,
IStringIdentifier<TranslationId>No additional serialized fields are declared here; use the base contract or string-identifier representation.
Related types: StringIdentifier.
UploadId ​
Unique identifier for a file upload session. Source
public sealed partial class UploadId : StringIdentifier, IStringIdentifier<UploadId>No additional serialized fields are declared here; use the base contract or string-identifier representation.
Related types: StringIdentifier.
UserDeviceId ​
Unique identifier for a specific user device, combining user and device IDs. Source
public sealed partial class UserDeviceId
: StringIdentifier,
IStringIdentifier<UserDeviceId>No additional serialized fields are declared here; use the base contract or string-identifier representation.
Related types: StringIdentifier.
UserId ​
Unique identifier for a user account. Source
public sealed partial class UserId
: PrincipalId,
IStringIdentifier<UserId>,
IMentionTargetNo additional serialized fields are declared here; use the base contract or string-identifier representation.
Related types: PrincipalId.