> ## Documentation Index
> Fetch the complete documentation index at: https://www.cometchat.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Properties and Constraints

> Properties and Constraints — CometChat documentation.

This page lists the properties and constraints applicable to various CometChat systems.

## API Keys

| **Property**             | **Constraints**                                                                                                                                                                                                                                                            |
| ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| API key value            | System-generated, 40-character hexadecimal string                                                                                                                                                                                                                          |
| API key name             | Max 100 characters, UTF8mb4 (supports all languages and emojis; one emoji = 2 characters)                                                                                                                                                                                  |
| API key scope            | `authOnly` — can only create auth tokens for users. Referred to as "Auth Key" in the dashboard and docs. `fullAccess` — can perform all REST API operations (create/update/delete users, groups, messages, etc.). Referred to as "REST API Key" in the dashboard and docs. |
| Maximum API keys per app | 25                                                                                                                                                                                                                                                                         |

## Users and Groups

| **Property**                                                       | **Constraints**                                                                                                                                                            |
| ------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Maximum members per group (all features enabled)                   | 300 (with delivery/read receipts and typing indicators)                                                                                                                    |
| Maximum members per group (without receipts and typing indicators) | 100,000                                                                                                                                                                    |
| Maximum groups per user                                            | 2,000                                                                                                                                                                      |
| Maximum friends per user                                           | 1,000                                                                                                                                                                      |
| Maximum auth tokens per user                                       | 100 active (rolling retention — oldest tokens archived when limit exceeded)                                                                                                |
| Maximum groups per app                                             | No limit                                                                                                                                                                   |
| Maximum unread messages per user                                   | No limit                                                                                                                                                                   |
| Maximum users per app                                              | No limit                                                                                                                                                                   |
| Maximum bot users per app                                          | 25                                                                                                                                                                         |
| User/Group ID (`uid`, `guid`)                                      | Max 100 characters, alpha-dash (`a-z`, `0-9`, `-`, `_`), no spaces. Automatically lowercased.                                                                              |
| User/Group name                                                    | Max 100 characters, UTF8mb4 (supports all languages and emojis)                                                                                                            |
| User/Group avatar                                                  | Must be a valid URL, max 3,000 characters. Image is not stored by CometChat — URL must remain accessible.                                                                  |
| User profile link                                                  | Must be a valid URL, max 3,000 characters                                                                                                                                  |
| User/Group metadata                                                | Max 5 KB (within the 10 KB POST request body limit)                                                                                                                        |
| User/Group tags                                                    | Max 25 tags, each up to 100 characters, UTF8mb4                                                                                                                            |
| Group password                                                     | Max 100 characters                                                                                                                                                         |
| Group description                                                  | Max 255 characters, UTF8mb4                                                                                                                                                |
| Presence subscriptions                                             | Active for up to 1,000 concurrent online users per app. Beyond 1,000, presence notifications are not sent. Applies across friends, role-based, and all-user subscriptions. |
| Typing indicators (groups)                                         | Sent for groups with up to 1,000 online members                                                                                                                            |
| Unread message counts (groups)                                     | Not updated for groups with more than 300 members                                                                                                                          |
| Delivery/read receipts (groups)                                    | Sent for groups with up to 300 online members                                                                                                                              |

## Roles

| **Property**          | **Constraints**                                                                               |
| --------------------- | --------------------------------------------------------------------------------------------- |
| Maximum roles per app | 25                                                                                            |
| Role ID               | Max 100 characters, alpha-dash (`a-z`, `0-9`, `-`, `_`), no spaces. Automatically lowercased. |
| Role name             | Max 100 characters, UTF8mb4 (supports all languages and emojis)                               |
| Role description      | Max 255 characters, UTF8mb4                                                                   |
| Role metadata         | No limit                                                                                      |

## Messages

| **Property**                                    | **Constraints**                                                                                                                                                        |
| ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Maximum file upload size                        | 100 MB per message (includes file + entire POST body)                                                                                                                  |
| Maximum message size (including metadata)       | 65,536 characters (\~65 KB). Applies to the message JSON payload, not file uploads.                                                                                    |
| Message `data` object                           | Arbitrary JSON, UTF8mb4. Reserved keys: `text`, `attachments`, `custom_data`, `metadata`. Max 10 KB for the `data` object. Attachment file size is counted separately. |
| Message tags                                    | Max 25 tags, each up to 100 characters, UTF8mb4                                                                                                                        |
| Conversation tags                               | Max 25 tags, each up to 100 characters, UTF8mb4                                                                                                                        |
| Soft-deleted messages retained                  | Yes                                                                                                                                                                    |
| Permanently deleted messages (via API) retained | No                                                                                                                                                                     |

## Calling

| **Property**             | **Constraints**                                          |
| ------------------------ | -------------------------------------------------------- |
| Maximum users per call   | 50                                                       |
| Default video frame rate | 30 FPS                                                   |
| Video resolution         | Min 180p, max 720p (varies by layout and user bandwidth) |
| Media encryption         | SRTP                                                     |
| Audio codec              | OPUS                                                     |
| Video codec              | H.264                                                    |
