> ## Documentation Index
> Fetch the complete documentation index at: https://cometchat-22654f5b-docs-agent-in-group-react-v6.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# API Reference

> Complete reference of all Blueprint nodes, structs, enums, and delegates in the CometChat Unreal SDK.

This page is a single-stop reference for every public API surface in the CometChat Unreal SDK plugin.

***

## Subsystem Methods

These are called directly on `UCometChatSubsystem`.

| Method                  | Category   | Parameters                                          | Returns                     | Description                                                                             |
| ----------------------- | ---------- | --------------------------------------------------- | --------------------------- | --------------------------------------------------------------------------------------- |
| `Configure`             | Config     | `AppId: FString`, `Region: FString`                 | `void`                      | Initialize the SDK with your CometChat credentials. Must be called before Login.        |
| `ConfigureWithSettings` | Config     | `AppId: FString`, `Settings: FCometChatAppSettings` | `void`                      | Initialize with advanced settings (custom hosts, subscription type, manual connection). |
| `IsLoggedIn`            | Auth       | —                                                   | `bool`                      | Returns `true` if a user is currently authenticated.                                    |
| `GetLoggedInUser`       | Auth       | —                                                   | `FCometChatUser`            | Returns the currently logged-in user's profile.                                         |
| `GetConnectionStatus`   | Connection | —                                                   | `ECometChatConnectionState` | Returns the current WebSocket connection state.                                         |
| `StartTyping`           | Typing     | `Indicator: FCometChatTypingIndicator`              | `void`                      | Notify that the local user started typing.                                              |
| `EndTyping`             | Typing     | `Indicator: FCometChatTypingIndicator`              | `void`                      | Notify that the local user stopped typing.                                              |
| `SendTransientMessage`  | Messaging  | `Message: FCometChatTransientMessage`               | `void`                      | Send an ephemeral message that is not persisted.                                        |
| `Shutdown`              | Lifecycle  | —                                                   | `void`                      | Tear down the SDK and release all resources.                                            |

***

## Async Action Nodes

Each node is a latent Blueprint action with **On Success** and **On Failure** output pins. In C++, create via the static factory method, bind delegates, and call `Activate()`.

### Authentication

| Node                            | Parameters                         | Success Output | Description                                          |
| ------------------------------- | ---------------------------------- | -------------- | ---------------------------------------------------- |
| **Login Async**                 | `Uid: FString`, `AuthKey: FString` | —              | Authenticate a user with Auth Key.                   |
| **Login With Auth Token Async** | `AuthToken: FString`               | —              | Authenticate a user with a pre-generated Auth Token. |
| **Logout Async**                | —                                  | —              | Log out the current user and disconnect.             |

### Messaging

| Node                         | Parameters                                                | Success Output                                      | Description                                         |
| ---------------------------- | --------------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- |
| **Send Message Async**       | `ReceiverUid: FString`, `Text: FString`                   | `FCometChatMessage`                                 | Send a 1:1 text message.                            |
| **Send Group Message Async** | `Guid: FString`, `Text: FString`                          | `FCometChatMessage`                                 | Send a text message to a group.                     |
| **Get Messages Async**       | `Uid: FString`, `Limit: int32`                            | `TArray<FCometChatMessage>`                         | Fetch message history for a 1:1 conversation.       |
| **Get Group Messages Async** | `Guid: FString`, `Limit: int32`, `BeforeMessageId: int32` | `TArray<FCometChatMessage>`, `FCometChatPagination` | Fetch paginated message history for a group.        |
| **Fetch Messages Async**     | `Request: FCometChatMessagesRequest`                      | `TArray<FCometChatMessage>`                         | Fetch messages with full filter/pagination control. |

### Users

| Node                  | Parameters                        | Success Output           | Description                                       |
| --------------------- | --------------------------------- | ------------------------ | ------------------------------------------------- |
| **Get User Async**    | `Uid: FString`                    | `FCometChatUser`         | Fetch a user's profile.                           |
| **Fetch Users Async** | `Request: FCometChatUsersRequest` | `TArray<FCometChatUser>` | Fetch users with search, filters, and pagination. |

### Groups

| Node                   | Parameters                                    | Success Output            | Description                                        |
| ---------------------- | --------------------------------------------- | ------------------------- | -------------------------------------------------- |
| **Create Group Async** | `Name: FString`, `MemberIds: TArray<FString>` | `FCometChatGroup`         | Create a new group with initial members.           |
| **Join Group Async**   | `Guid: FString`                               | —                         | Join an existing group.                            |
| **Leave Group Async**  | `Guid: FString`                               | —                         | Leave a group.                                     |
| **Fetch Groups Async** | `Request: FCometChatGroupsRequest`            | `TArray<FCometChatGroup>` | Fetch groups with search, filters, and pagination. |

### Conversations

| Node                          | Parameters                                | Success Output                   | Description                                      |
| ----------------------------- | ----------------------------------------- | -------------------------------- | ------------------------------------------------ |
| **Fetch Conversations Async** | `Request: FCometChatConversationsRequest` | `TArray<FCometChatConversation>` | Fetch conversations with filters and pagination. |

### Connection

| Node                 | Parameters | Success Output | Description                                  |
| -------------------- | ---------- | -------------- | -------------------------------------------- |
| **Connect Async**    | —          | —              | Manually establish the WebSocket connection. |
| **Disconnect Async** | —          | —              | Manually close the WebSocket connection.     |
| **Ping Async**       | —          | —              | Ping the server to verify connectivity.      |

### Moderation

| Node                       | Parameters                                               | Success Output                 | Description                          |
| -------------------------- | -------------------------------------------------------- | ------------------------------ | ------------------------------------ |
| **Flag Message Async**     | `MessageId: FString`, `FlagDetail: FCometChatFlagDetail` | —                              | Flag a message for moderation.       |
| **Get Flag Reasons Async** | —                                                        | `TArray<FCometChatFlagReason>` | Fetch available flag/report reasons. |

***

## Real-Time Delegates

All delegates are `UPROPERTY(BlueprintAssignable)` on `UCometChatSubsystem`. They fire on the **Game Thread**.

### MessageListener

| Delegate                       | Payload Type                   | Fires When                        |
| ------------------------------ | ------------------------------ | --------------------------------- |
| `OnTextMessageReceived`        | `FCometChatMessage`            | Text message arrives              |
| `OnMediaMessageReceived`       | `FCometChatMessage`            | Media message arrives             |
| `OnCustomMessageReceived`      | `FCometChatMessage`            | Custom message arrives            |
| `OnInteractiveMessageReceived` | `FCometChatMessage`            | Interactive message arrives       |
| `OnInteractionGoalCompleted`   | `FCometChatInteractionReceipt` | Interaction goal completed        |
| `OnTypingStarted`              | `FCometChatTypingIndicator`    | User starts typing                |
| `OnTypingEnded`                | `FCometChatTypingIndicator`    | User stops typing                 |
| `OnMessagesDelivered`          | `FCometChatMessageReceipt`     | Messages delivered                |
| `OnMessagesRead`               | `FCometChatMessageReceipt`     | Messages read                     |
| `OnMessagesDeliveredToAll`     | `FCometChatMessageReceipt`     | Messages delivered to all         |
| `OnMessagesReadByAll`          | `FCometChatMessageReceipt`     | Messages read by all              |
| `OnMessageEdited`              | `FCometChatMessage`            | Message edited                    |
| `OnMessageDeleted`             | `FCometChatMessage`            | Message deleted                   |
| `OnTransientMessageReceived`   | `FCometChatTransientMessage`   | Transient message arrives         |
| `OnMessageReactionAdded`       | `FCometChatReactionEvent`      | Reaction added                    |
| `OnMessageReactionRemoved`     | `FCometChatReactionEvent`      | Reaction removed                  |
| `OnMessageModerated`           | `FCometChatMessage`            | Message moderation status changes |
| `OnAIAssistantMessageReceived` | `FCometChatMessage`            | AI assistant message              |
| `OnAIToolResultReceived`       | `FCometChatMessage`            | AI tool result                    |
| `OnAIToolArgumentsReceived`    | `FCometChatMessage`            | AI tool arguments                 |

### UserListener

| Delegate        | Payload Type     | Fires When        |
| --------------- | ---------------- | ----------------- |
| `OnUserOnline`  | `FCometChatUser` | User comes online |
| `OnUserOffline` | `FCometChatUser` | User goes offline |

### GroupListener

| Delegate                    | Payload Type                                                        | Fires When           |
| --------------------------- | ------------------------------------------------------------------- | -------------------- |
| `OnGroupMemberJoined`       | `FCometChatAction, FCometChatUser, FCometChatGroup`                 | Member joins         |
| `OnGroupMemberLeft`         | `FCometChatAction, FCometChatUser, FCometChatGroup`                 | Member leaves        |
| `OnGroupMemberKicked`       | `FCometChatAction, FCometChatUser, FCometChatUser, FCometChatGroup` | Member kicked        |
| `OnGroupMemberBanned`       | `FCometChatAction, FCometChatUser, FCometChatUser, FCometChatGroup` | Member banned        |
| `OnGroupMemberUnbanned`     | `FCometChatAction, FCometChatUser, FCometChatUser, FCometChatGroup` | Member unbanned      |
| `OnGroupMemberScopeChanged` | `FCometChatScopeChangeEvent`                                        | Member scope changed |
| `OnMemberAddedToGroup`      | `FCometChatAction, FCometChatUser, FCometChatUser, FCometChatGroup` | Member added         |

### ConnectionListener

| Delegate             | Payload Type      | Fires When             |
| -------------------- | ----------------- | ---------------------- |
| `OnConnected`        | —                 | WebSocket connected    |
| `OnConnecting`       | —                 | Attempting to connect  |
| `OnDisconnected`     | —                 | WebSocket disconnected |
| `OnFeatureThrottled` | —                 | Feature rate-limited   |
| `OnConnectionError`  | `FCometChatError` | Connection error       |

### LoginListener

| Delegate          | Payload Type      | Fires When      |
| ----------------- | ----------------- | --------------- |
| `OnLoginSuccess`  | `FCometChatUser`  | Login succeeds  |
| `OnLoginFailure`  | `FCometChatError` | Login fails     |
| `OnLogoutSuccess` | —                 | Logout succeeds |
| `OnLogoutFailure` | `FCometChatError` | Logout fails    |

### AIAssistantListener

| Delegate             | Payload Type                 | Fires When         |
| -------------------- | ---------------------------- | ------------------ |
| `OnAIAssistantEvent` | `FCometChatAIAssistantEvent` | AI assistant event |

***

## Structs

### FCometChatUser

| Property        | Type              | Description                                      |
| --------------- | ----------------- | ------------------------------------------------ |
| `Uid`           | `FString`         | Unique user identifier                           |
| `Name`          | `FString`         | Display name                                     |
| `AvatarUrl`     | `FString`         | URL to avatar image                              |
| `Status`        | `FString`         | Current status text                              |
| `Role`          | `FString`         | User role                                        |
| `Metadata`      | `FString`         | Custom metadata JSON                             |
| `Link`          | `FString`         | Profile link                                     |
| `StatusMessage` | `FString`         | Status message                                   |
| `LastActiveAt`  | `int64`           | Unix timestamp of last activity                  |
| `bHasBlockedMe` | `bool`            | Whether this user has blocked the logged-in user |
| `bBlockedByMe`  | `bool`            | Whether the logged-in user has blocked this user |
| `Tags`          | `TArray<FString>` | User tags                                        |
| `DeactivatedAt` | `int64`           | Unix timestamp of deactivation (0 if active)     |

### FCometChatMessage

| Property             | Type                              | Description                                         |
| -------------------- | --------------------------------- | --------------------------------------------------- |
| `Id`                 | `FString`                         | Unique message identifier                           |
| `Muid`               | `FString`                         | Client-generated unique ID                          |
| `SenderUid`          | `FString`                         | UID of the sender                                   |
| `ReceiverUid`        | `FString`                         | UID of the receiver (user or group)                 |
| `Text`               | `FString`                         | Message body                                        |
| `SentAt`             | `int64`                           | Unix timestamp when sent                            |
| `Type`               | `FString`                         | `text`, `image`, `video`, `audio`, `file`, `custom` |
| `Category`           | `FString`                         | `message`, `action`, `call`, `custom`               |
| `ReceiverType`       | `FString`                         | `user` or `group`                                   |
| `ConversationId`     | `FString`                         | Conversation identifier                             |
| `SenderName`         | `FString`                         | Sender's display name                               |
| `SenderAvatar`       | `FString`                         | Sender's avatar URL                                 |
| `UpdatedAt`          | `int64`                           | Unix timestamp of last update                       |
| `Metadata`           | `FString`                         | Custom metadata JSON                                |
| `DeliveredAt`        | `int64`                           | Delivery timestamp                                  |
| `ReadAt`             | `int64`                           | Read timestamp                                      |
| `DeletedAt`          | `int64`                           | Deletion timestamp                                  |
| `EditedAt`           | `int64`                           | Edit timestamp                                      |
| `DeletedBy`          | `FString`                         | UID of user who deleted                             |
| `EditedBy`           | `FString`                         | UID of user who edited                              |
| `ParentMessageId`    | `int64`                           | Parent message ID (for threads)                     |
| `ReplyCount`         | `int32`                           | Number of replies                                   |
| `UnreadRepliesCount` | `int32`                           | Number of unread replies                            |
| `MentionedUsers`     | `TArray<FCometChatUser>`          | Users mentioned in this message                     |
| `bHasMentionedMe`    | `bool`                            | Whether the logged-in user is mentioned             |
| `Reactions`          | `TArray<FCometChatReactionCount>` | Reaction counts                                     |
| `Attachment`         | `FCometChatAttachment`            | File attachment (if media message)                  |
| `Caption`            | `FString`                         | Media caption                                       |
| `CustomData`         | `FString`                         | Custom data JSON                                    |
| `SubType`            | `FString`                         | Message sub-type                                    |
| `Tags`               | `TArray<FString>`                 | Message tags                                        |
| `ModerationStatus`   | `ECometChatModerationStatus`      | Moderation status                                   |

### FCometChatGroup

| Property             | Type              | Description                                                  |
| -------------------- | ----------------- | ------------------------------------------------------------ |
| `Guid`               | `FString`         | Unique group identifier                                      |
| `Name`               | `FString`         | Group display name                                           |
| `Description`        | `FString`         | Group description                                            |
| `Type`               | `FString`         | `public`, `private`, or `password`                           |
| `Icon`               | `FString`         | Group icon URL                                               |
| `Owner`              | `FString`         | UID of the group owner                                       |
| `Metadata`           | `FString`         | Custom metadata JSON                                         |
| `CreatedAt`          | `int64`           | Creation timestamp                                           |
| `UpdatedAt`          | `int64`           | Last update timestamp                                        |
| `bHasJoined`         | `bool`            | Whether the logged-in user has joined                        |
| `JoinedAt`           | `int64`           | When the logged-in user joined                               |
| `Scope`              | `FString`         | Logged-in user's scope (`admin`, `moderator`, `participant`) |
| `MembersCount`       | `int32`           | Number of members                                            |
| `Tags`               | `TArray<FString>` | Group tags                                                   |
| `bIsBannedFromGroup` | `bool`            | Whether the logged-in user is banned                         |

### FCometChatConversation

| Property                | Type                | Description                       |
| ----------------------- | ------------------- | --------------------------------- |
| `ConversationId`        | `FString`           | Unique conversation identifier    |
| `ConversationType`      | `FString`           | `user` or `group`                 |
| `LastMessage`           | `FCometChatMessage` | Most recent message               |
| `ConversationWithUser`  | `FCometChatUser`    | The other user (if 1:1)           |
| `ConversationWithGroup` | `FCometChatGroup`   | The group (if group conversation) |
| `UnreadMessageCount`    | `int32`             | Number of unread messages         |
| `UpdatedAt`             | `int64`             | Last update timestamp             |
| `Tags`                  | `TArray<FString>`   | Conversation tags                 |
| `UnreadMentionsCount`   | `int32`             | Number of unread mentions         |
| `LastReadMessageId`     | `int64`             | ID of last read message           |
| `LatestMessageId`       | `int64`             | ID of latest message              |

### FCometChatTransientMessage

| Property       | Type             | Description                |
| -------------- | ---------------- | -------------------------- |
| `ReceiverId`   | `FString`        | Receiver UID or GUID       |
| `ReceiverType` | `FString`        | `user` or `group`          |
| `Data`         | `FString`        | Custom data payload (JSON) |
| `Sender`       | `FCometChatUser` | The sender                 |

### FCometChatMessageReceipt

| Property       | Type             | Description                     |
| -------------- | ---------------- | ------------------------------- |
| `MessageId`    | `FString`        | The message this receipt is for |
| `Sender`       | `FCometChatUser` | User who triggered the receipt  |
| `ReceiverType` | `FString`        | `user` or `group`               |
| `ReceiverId`   | `FString`        | Receiver UID or GUID            |
| `Timestamp`    | `int64`          | Receipt timestamp               |
| `ReceiptType`  | `FString`        | `delivered` or `read`           |
| `DeliveredAt`  | `int64`          | Delivery timestamp              |
| `ReadAt`       | `int64`          | Read timestamp                  |

### FCometChatTypingIndicator

| Property       | Type             | Description            |
| -------------- | ---------------- | ---------------------- |
| `ReceiverId`   | `FString`        | Receiver UID or GUID   |
| `ReceiverType` | `FString`        | `user` or `group`      |
| `Metadata`     | `FString`        | Optional metadata JSON |
| `Sender`       | `FCometChatUser` | The user who is typing |

### FCometChatReactionEvent

| Property          | Type                | Description                     |
| ----------------- | ------------------- | ------------------------------- |
| `Reaction`        | `FString`           | The reaction emoji/string       |
| `ReceiverId`      | `FString`           | Receiver UID or GUID            |
| `ReceiverType`    | `FString`           | `user` or `group`               |
| `ConversationId`  | `FString`           | Conversation identifier         |
| `ParentMessageId` | `int64`             | Parent message ID               |
| `Message`         | `FCometChatMessage` | The message that was reacted to |

### FCometChatReactionCount

| Property       | Type      | Description                            |
| -------------- | --------- | -------------------------------------- |
| `Reaction`     | `FString` | The reaction emoji/string              |
| `Count`        | `int32`   | Number of times this reaction was used |
| `bReactedByMe` | `bool`    | Whether the logged-in user reacted     |

### FCometChatAttachment

| Property    | Type      | Description        |
| ----------- | --------- | ------------------ |
| `Extension` | `FString` | File extension     |
| `MimeType`  | `FString` | MIME type          |
| `Name`      | `FString` | File name          |
| `Size`      | `int64`   | File size in bytes |
| `Url`       | `FString` | Download URL       |

### FCometChatAction

| Property      | Type                | Description                        |
| ------------- | ------------------- | ---------------------------------- |
| `BaseMessage` | `FCometChatMessage` | Underlying message                 |
| `Action`      | `FString`           | Action type                        |
| `ActionBy`    | `FCometChatUser`    | User who performed the action      |
| `ActionOn`    | `FCometChatUser`    | User the action was performed on   |
| `ActionFor`   | `FString`           | Target identifier                  |
| `OldScope`    | `FString`           | Previous scope (for scope changes) |
| `NewScope`    | `FString`           | New scope (for scope changes)      |

### FCometChatGroupMember

| Property   | Type             | Description                                        |
| ---------- | ---------------- | -------------------------------------------------- |
| `User`     | `FCometChatUser` | The member's user profile                          |
| `Scope`    | `FString`        | Member scope (`admin`, `moderator`, `participant`) |
| `JoinedAt` | `int64`          | When the member joined                             |

### FCometChatScopeChangeEvent

| Property           | Type               | Description                   |
| ------------------ | ------------------ | ----------------------------- |
| `Action`           | `FCometChatAction` | The action details            |
| `UpdatedBy`        | `FCometChatUser`   | User who changed the scope    |
| `UpdatedUser`      | `FCometChatUser`   | User whose scope was changed  |
| `ScopeChangedTo`   | `FString`          | New scope value               |
| `ScopeChangedFrom` | `FString`          | Previous scope value          |
| `Group`            | `FCometChatGroup`  | The group where scope changed |

### FCometChatInteractionReceipt

| Property       | Type             | Description            |
| -------------- | ---------------- | ---------------------- |
| `MessageId`    | `FString`        | Message ID             |
| `Sender`       | `FCometChatUser` | User who interacted    |
| `ReceiverType` | `FString`        | `user` or `group`      |
| `ReceiverId`   | `FString`        | Receiver UID or GUID   |
| `ElementId`    | `FString`        | Interactive element ID |
| `InteractedAt` | `int64`          | Interaction timestamp  |

### FCometChatFlagDetail

| Property   | Type      | Description                       |
| ---------- | --------- | --------------------------------- |
| `ReasonId` | `FString` | ID of the flag reason             |
| `Remark`   | `FString` | Optional remark from the reporter |

### FCometChatFlagReason

| Property      | Type      | Description              |
| ------------- | --------- | ------------------------ |
| `Id`          | `FString` | Unique reason identifier |
| `Name`        | `FString` | Display name             |
| `Description` | `FString` | Detailed description     |
| `CreatedAt`   | `int64`   | Creation timestamp       |
| `UpdatedAt`   | `int64`   | Last update timestamp    |

### FCometChatAIAssistantEvent

| Property         | Type      | Description             |
| ---------------- | --------- | ----------------------- |
| `EventType`      | `FString` | Type of AI event        |
| `Data`           | `FString` | Event data payload      |
| `ConversationId` | `FString` | Conversation identifier |
| `SenderUid`      | `FString` | Sender UID              |

### FCometChatError

| Property  | Type      | Description                  |
| --------- | --------- | ---------------------------- |
| `Code`    | `FString` | Error code                   |
| `Message` | `FString` | Human-readable error message |
| `Details` | `FString` | Additional error details     |

### FCometChatAppSettings

| Property                         | Type              | Description                                       |
| -------------------------------- | ----------------- | ------------------------------------------------- |
| `Region`                         | `FString`         | App region (`us` or `eu`)                         |
| `SubscriptionType`               | `FString`         | Subscription type for presence                    |
| `Roles`                          | `TArray<FString>` | Roles for presence subscription                   |
| `AdminHost`                      | `FString`         | Custom admin host URL                             |
| `ClientHost`                     | `FString`         | Custom client host URL                            |
| `bAutoEstablishSocketConnection` | `bool`            | Auto-connect WebSocket on login (default: `true`) |

### FCometChatPagination

| Property      | Type    | Description                 |
| ------------- | ------- | --------------------------- |
| `Total`       | `int32` | Total items available       |
| `Count`       | `int32` | Items returned in this page |
| `PerPage`     | `int32` | Page size requested         |
| `CurrentPage` | `int32` | Current page number         |
| `TotalPages`  | `int32` | Total pages available       |
| `HasMore`     | `bool`  | Whether more pages exist    |
| `NextCursor`  | `int32` | Cursor for next page        |

***

## Request Builder Structs

### FCometChatUsersRequest

| Property            | Type              | Default | Description                            |
| ------------------- | ----------------- | ------- | -------------------------------------- |
| `Limit`             | `int32`           | `30`    | Max results per page                   |
| `SearchKeyword`     | `FString`         | —       | Search by name/UID                     |
| `SearchIn`          | `TArray<FString>` | —       | Fields to search in                    |
| `UserStatus`        | `FString`         | —       | Filter by status (`online`, `offline`) |
| `bHideBlockedUsers` | `bool`            | `false` | Exclude blocked users                  |
| `bFriendsOnly`      | `bool`            | `false` | Only show friends                      |
| `Roles`             | `TArray<FString>` | —       | Filter by roles                        |
| `Tags`              | `TArray<FString>` | —       | Filter by tags                         |
| `bWithTags`         | `bool`            | `false` | Include tags in response               |
| `UIDs`              | `TArray<FString>` | —       | Fetch specific UIDs                    |
| `SortBy`            | `FString`         | —       | Sort field                             |
| `SortOrder`         | `FString`         | —       | `asc` or `desc`                        |
| `Page`              | `int32`           | `0`     | Page number                            |

### FCometChatGroupsRequest

| Property        | Type              | Default | Description                     |
| --------------- | ----------------- | ------- | ------------------------------- |
| `Limit`         | `int32`           | `30`    | Max results per page            |
| `SearchKeyword` | `FString`         | —       | Search by group name            |
| `bJoinedOnly`   | `bool`            | `false` | Only groups the user has joined |
| `Tags`          | `TArray<FString>` | —       | Filter by tags                  |
| `bWithTags`     | `bool`            | `false` | Include tags in response        |
| `Page`          | `int32`           | `0`     | Page number                     |

### FCometChatMessagesRequest

| Property                        | Type              | Default | Description                          |
| ------------------------------- | ----------------- | ------- | ------------------------------------ |
| `Limit`                         | `int32`           | `30`    | Max results per page                 |
| `UID`                           | `FString`         | —       | Fetch messages for this user (1:1)   |
| `GUID`                          | `FString`         | —       | Fetch messages for this group        |
| `MessageId`                     | `int64`           | `-1`    | Fetch messages before this ID        |
| `Timestamp`                     | `int64`           | `-1`    | Fetch messages before this timestamp |
| `bUnread`                       | `bool`            | `false` | Only unread messages                 |
| `bHideMessagesFromBlockedUsers` | `bool`            | `false` | Hide blocked user messages           |
| `SearchKeyword`                 | `FString`         | —       | Search message text                  |
| `Categories`                    | `TArray<FString>` | —       | Filter by categories                 |
| `Types`                         | `TArray<FString>` | —       | Filter by types                      |
| `ParentMessageId`               | `int64`           | `-1`    | Fetch thread replies                 |
| `bHideReplies`                  | `bool`            | `false` | Hide thread replies                  |
| `bHideDeleted`                  | `bool`            | `false` | Hide deleted messages                |
| `Tags`                          | `TArray<FString>` | —       | Filter by tags                       |
| `bWithTags`                     | `bool`            | `false` | Include tags in response             |

### FCometChatConversationsRequest

| Property                | Type              | Default | Description                 |
| ----------------------- | ----------------- | ------- | --------------------------- |
| `Limit`                 | `int32`           | `30`    | Max results per page        |
| `ConversationType`      | `FString`         | —       | `user` or `group`           |
| `bWithUserAndGroupTags` | `bool`            | `false` | Include user/group tags     |
| `Tags`                  | `TArray<FString>` | —       | Filter by conversation tags |
| `bWithTags`             | `bool`            | `false` | Include tags in response    |
| `UserTags`              | `TArray<FString>` | —       | Filter by user tags         |
| `GroupTags`             | `TArray<FString>` | —       | Filter by group tags        |
| `bIncludeBlockedUsers`  | `bool`            | `false` | Include blocked users       |
| `SearchKeyword`         | `FString`         | —       | Search conversations        |
| `bUnread`               | `bool`            | `false` | Only unread conversations   |
| `Page`                  | `int32`           | `0`     | Page number                 |

### FCometChatGroupMembersRequest

| Property        | Type              | Default | Description                |
| --------------- | ----------------- | ------- | -------------------------- |
| `GUID`          | `FString`         | —       | Group to fetch members for |
| `Limit`         | `int32`           | `30`    | Max results per page       |
| `SearchKeyword` | `FString`         | —       | Search by member name      |
| `Scopes`        | `TArray<FString>` | —       | Filter by scope            |
| `Status`        | `FString`         | —       | Filter by status           |
| `Page`          | `int32`           | `0`     | Page number                |

### FCometChatBannedMembersRequest

| Property        | Type              | Default | Description                       |
| --------------- | ----------------- | ------- | --------------------------------- |
| `GUID`          | `FString`         | —       | Group to fetch banned members for |
| `Limit`         | `int32`           | `30`    | Max results per page              |
| `SearchKeyword` | `FString`         | —       | Search by name                    |
| `Scopes`        | `TArray<FString>` | —       | Filter by scope                   |
| `Page`          | `int32`           | `0`     | Page number                       |

### FCometChatBlockedUsersRequest

| Property        | Type      | Default | Description                     |
| --------------- | --------- | ------- | ------------------------------- |
| `Limit`         | `int32`   | `30`    | Max results per page            |
| `SearchKeyword` | `FString` | —       | Search by name                  |
| `Direction`     | `FString` | —       | `blockedByMe` or `hasBlockedMe` |
| `Page`          | `int32`   | `0`     | Page number                     |

### FCometChatReactionsRequest

| Property    | Type      | Default | Description                    |
| ----------- | --------- | ------- | ------------------------------ |
| `Limit`     | `int32`   | `10`    | Max results per page           |
| `MessageId` | `int64`   | `-1`    | Message to fetch reactions for |
| `Reaction`  | `FString` | —       | Filter by specific reaction    |

***

## Enums

### ECometChatConnectionState

| Value              | Description                     |
| ------------------ | ------------------------------- |
| `Connected`        | WebSocket is active             |
| `Connecting`       | SDK is attempting to connect    |
| `Disconnected`     | WebSocket is closed             |
| `FeatureThrottled` | A feature is being rate-limited |

### ECometChatPresenceStatus

| Value     | Description                |
| --------- | -------------------------- |
| `Online`  | User is currently active   |
| `Offline` | User is not connected      |
| `Away`    | User is connected but idle |

### ECometChatModerationStatus

| Value         | Description                          |
| ------------- | ------------------------------------ |
| `Unmoderated` | Message has not been moderated       |
| `Pending`     | Message is pending moderation review |
| `Approved`    | Message has been approved            |
| `Disapproved` | Message has been rejected            |

***

## C++ Header Includes

When working in C++, here are the headers you'll need:

```cpp theme={null}
// Subsystem (always needed — includes all struct/enum definitions)
#include "CometChatSubsystem.h"

// Async action nodes (include as needed)
#include "AsyncActions/CometChatLoginAction.h"
#include "AsyncActions/CometChatLoginWithAuthTokenAction.h"
#include "AsyncActions/CometChatLogoutAction.h"
#include "AsyncActions/CometChatSendMessageAction.h"
#include "AsyncActions/CometChatSendGroupMessageAction.h"
#include "AsyncActions/CometChatGetMessagesAction.h"
#include "AsyncActions/CometChatGetGroupMessagesAction.h"
#include "AsyncActions/CometChatGetUserAction.h"
#include "AsyncActions/CometChatCreateGroupAction.h"
#include "AsyncActions/CometChatJoinGroupAction.h"
#include "AsyncActions/CometChatLeaveGroupAction.h"
#include "AsyncActions/CometChatFetchUsersAction.h"
#include "AsyncActions/CometChatFetchGroupsAction.h"
#include "AsyncActions/CometChatFetchConversationsAction.h"
#include "AsyncActions/CometChatFetchMessagesAction.h"
#include "AsyncActions/CometChatConnectAction.h"
#include "AsyncActions/CometChatDisconnectAction.h"
#include "AsyncActions/CometChatPingAction.h"
#include "AsyncActions/CometChatFlagMessageAction.h"
#include "AsyncActions/CometChatGetFlagReasonsAction.h"
```

All types (`FCometChatUser`, `FCometChatMessage`, `FCometChatGroup`, etc.) are defined in `CometChatSubsystem.h`.
