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

# Groups

> Overview of group management in the CometChat React Native SDK including group types, member roles, and available operations.

<Accordion title="AI Integration Quick Reference">
  | Field | Value |
  | - | - |
  | Import | `import { CometChat } from "@cometchat/chat-sdk-react-native";` |
  | Package | `@cometchat/chat-sdk-react-native` |
  | Key Classes | `CometChat.Group` |
  | Group Types | `PUBLIC`, `PRIVATE`, `PASSWORD` |
  | Member Roles | `owner`, `admin`, `moderator`, `participant` |
  | Key Methods | `createGroup()`, `joinGroup()`, `leaveGroup()`, `deleteGroup()` |
  | Prerequisites | SDK initialized, user logged in |
  | Related | [Create Group](/sdk/react-native/create-group), [Join Group](/sdk/react-native/join-group), [Retrieve Groups](/sdk/react-native/retrieve-groups) |
  | Primary output | `createGroup()` / `joinGroup()` → `Promise<CometChat.Group>`; `leaveGroup()` / `deleteGroup()` → `Promise<boolean>` |
  | Constraints | Three group types on the wire — `public`, `private`, `password` — exposed as four constants: `GROUP_TYPE.PROTECTED` and `GROUP_TYPE.PASSWORD` both resolve to `"password"`. Only that type accepts a password argument. GUIDs are immutable. |
  | Full reference | [`Group`](/sdk/reference/entities#group) · [`GroupMember`](/sdk/reference/entities#groupmember) · [`CometChatException`](/sdk/reference/auxiliary#cometchatexception) |
</Accordion>

Groups let users converse together in a shared space. CometChat supports three group types (public, private, password-protected) and four member roles with different permission levels.

## Group Types

| Type | Description | Join Behavior |
| - | - | - |
| **Public** | Open to all users | Any user can join without approval |
| **Private** | Invite-only | Users must be added by admin/moderator |
| **Password** | Protected by password | Users must provide correct password to join |

## Member Roles

| Role | Permissions |
| - | - |
| **Owner** | Full control: manage members, settings, delete group. Cannot leave without transferring ownership. |
| **Admin** | Manage members (add, kick, ban), change member scope, update group settings |
| **Moderator** | Kick and ban members, moderate content |
| **Member** | Send/receive messages, leave group |

## Available Operations

* [Create a Group](/sdk/react-native/create-group) — Create public, private, or password-protected groups
* [Join a Group](/sdk/react-native/join-group) — Join existing groups as a participant
* [Leave a Group](/sdk/react-native/leave-group) — Leave a group you're a member of
* [Update a Group](/sdk/react-native/update-group) — Update group name, description, icon, and settings
* [Delete a Group](/sdk/react-native/delete-group) — Permanently delete a group (owner only)
* [Transfer Ownership](/sdk/react-native/transfer-group-ownership) — Transfer group ownership to another member
* [Retrieve Groups](/sdk/react-native/retrieve-groups) — Fetch and filter the list of groups
* [Retrieve Group Members](/sdk/react-native/retrieve-group-members) — Get the member list for a group
* [Add Members](/sdk/react-native/group-add-members) — Add users to a group
* [Kick & Ban Members](/sdk/react-native/group-kick-ban-members) — Remove or ban members from a group
* [Change Member Scope](/sdk/react-native/group-change-member-scope) — Promote or demote members

***

## Next Steps

<CardGroup cols={2}>
  <Card title="Create a Group" icon="plus" href="/sdk/react-native/create-group">
    Create public, private, or password-protected groups
  </Card>

  <Card title="Join a Group" icon="right-to-bracket" href="/sdk/react-native/join-group">
    Join existing groups as a participant
  </Card>

  <Card title="Retrieve Groups" icon="list" href="/sdk/react-native/retrieve-groups">
    Fetch and filter the list of groups
  </Card>

  <Card title="Group Members" icon="users" href="/sdk/react-native/retrieve-group-members">
    Get the member list for a group
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.