Skip to content

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

csharp
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

csharp
public sealed partial class AuthorId
    : PrincipalId,
      IStringIdentifier<AuthorId>,
      IMentionTarget

No 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

csharp
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

csharp
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

csharp
public abstract partial class ChatId
    : ContentId,
      IStringIdentifier<ChatId>,
      IMentionTarget

No 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

csharp
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

csharp
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

csharp
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

csharp
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

csharp
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

csharp
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

csharp
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

csharp
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

csharp
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

csharp
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

csharp
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

csharp
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

csharp
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

csharp
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

csharp
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

csharp
public sealed partial class PlaceId
    : ContentId,
      IStringIdentifier<PlaceId>,
      IMentionTarget

No 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

csharp
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

csharp
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

csharp
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

csharp
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

csharp
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

csharp
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

csharp
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

csharp
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

csharp
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

csharp
public sealed partial class UserId
    : PrincipalId,
      IStringIdentifier<UserId>,
      IMentionTarget

No additional serialized fields are declared here; use the base contract or string-identifier representation.

Related types: PrincipalId.