> ## 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.

# Overview

> Restrict specific features based on user roles (deprecated — use RBAC instead).

<Warning>
  This feature has been deprecated. Please use [Role Based Access Control
  (RBAC)](/rest-api/rbac-overview) instead.
</Warning>

Features can be restricted based on role.\
The following table indicates the endpoints that can be restricted for a given role.

| Feature                | Key                       | Description                                                                                                                                                         |
| ---------------------- | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Add Member             | addMember                 | Allows logged-in user to add a member to a group.                                                                                                                   |
| Ban User               | ban                       | Allows logged-in user to ban a member in a group. The operation can only be performed if the logged-in user is owner/admin/moderator of a group.                    |
| Block User             | blockUser                 | Allows logged-in user to block a user.                                                                                                                              |
| Change Scope           | changeScope               | Allows logged-in user to change the scope of a member in a group. The operation can only be performed if the logged-in user is owner/admin/moderator of a group.    |
| Initiate Call          | createCall                | Allows logged-in user to initiate a call.                                                                                                                           |
| Create Group           | createGroup               | Allows logged-in user to create a group.                                                                                                                            |
| Send Message           | createMessage             | Allows logged-in user to send a message.                                                                                                                            |
| Reply to a Message     | createMessageThread       | Allows logged-in user to reply to a message in a thread.                                                                                                            |
| Delete Call            | deleteCall                | Allows logged-in user to delete a call.                                                                                                                             |
| Delete Conversation    | deleteConversationForUser | Allows logged-in user to delete a conversation for himself.                                                                                                         |
| Delete Group           | deleteGroup               | Allows logged-in user to delete a group.                                                                                                                            |
| Delete Group Messages  | deleteGroupMessages       | Allows logged-in user to delete messages in a group.                                                                                                                |
| Delete Message         | deleteMessage             | Allows logged-in user to delete a message.                                                                                                                          |
| Fetch Blocked Users    | getBlockedUsers           | Allows logged-in user to fetch the list of blocked users.                                                                                                           |
| Get Call               | getCall                   | Allows logged-in user to fetch the details of a call.                                                                                                               |
| Get Conversation       | getConversation           | Allows logged-in user to get the details of a conversation.                                                                                                         |
| Get Group              | getGroup                  | Allows logged-in user to get the details of a group.                                                                                                                |
| List Group Messages    | getGroupMessages          | Allows logged-in user to fetch messages in a group.                                                                                                                 |
| Get Member             | getMember                 | Allows logged-in user to get details of a member in a group.                                                                                                        |
| Get Message            | getMessage                | Allows logged-in user to get the details of a message.                                                                                                              |
| Get My Details         | getMyDetails              | Allows logged-in user to fetch his own details.                                                                                                                     |
| Get User               | getUser                   | Allows logged-in user to fetch the details of any other user.                                                                                                       |
| List User Messages     | getUserMessages           | Allows logged-in user to fetch messages sent/received from another user.                                                                                            |
| Join Group             | joinGroup                 | Allows logged-in user to join a group.                                                                                                                              |
| Kick Member            | kickMember                | Allows logged-in user to kick a member from the group. The operation can only be performed if the logged-in user is owner/admin/moderator of a group.               |
| Leave Group            | leaveGroup                | Allows logged-in user to leave a group.                                                                                                                             |
| List Banned Users      | listBannedUsers           | Allows logged-in user to fetch the banned members in a group.                                                                                                       |
| List Calls             | listCalls                 | Allows logged-in user to fetch the call list.                                                                                                                       |
| List Conversations     | listConversations         | Allows logged-in user to fetch the conversation list.                                                                                                               |
| List Group Members     | listGroupMembers          | Allows logged-in user to fetch the members list for a group.                                                                                                        |
| List Groups            | listGroups                | Allows logged-in user to fetch the group list.                                                                                                                      |
| List Messages          | listMessages              | Allows logged-in user to fetch all the messages sent by/for him.                                                                                                    |
| List Settings          | listSettings              | Allows logged-in user to fetch the settings.                                                                                                                        |
| List Threaded Messages | listThreadedMessages      | Allows logged-in user to fetch all the replies for a message.                                                                                                       |
| List Users             | listUsers                 | Allows logged-in user to fetch the user list.                                                                                                                       |
| Logout                 | logout                    | Allows logged-in user to logout.                                                                                                                                    |
| Group Mass Operation   | massMemberOperate         | Allows logged-in user to manage multiple group members with a single API call. The operation can only be performed if the logged-in user is owner/admin of a group. |
| Patch Owner            | patchOwner                | Allows logged-in user to transfer the ownership of a group. The operation can only be performed if the logged-in user is owner of a group.                          |
| unban User             | unban                     | Allows logged-in user to unban a member. The operation can only be performed if the logged-in user is owner/admin/moderator of a group.                             |
| Unblock User           | unblockUser               | Allows logged-in user to unblock a user.                                                                                                                            |
| Updates AuthToken      | updateAuthToken           | Allows logged-in user to update his own details and authtoken details.                                                                                              |
| Update Call            | updateCall                | Allows logged-in user to change the status of initiated/ongoing call.                                                                                               |
| Edit Group             | updateGroup               | Allows logged-in user to edit group details. The operation can only be performed if the logged-in user is owner/admin/moderator of a group.                         |
| Edit Message           | updateMessage             | Allows logged-in user to edit a message. The message can only be edited if the logged-in user is the sender of the message or moderator/admin of a group.           |

The following table lists the properties that the Restrict feature API supports.

| Parameters         | Type             | Description                                                      |
| :----------------- | :--------------- | :--------------------------------------------------------------- |
| featuresToRestrict | array of strings | (*optional*) Indicates the features that needs to be restricted. |

## Error Handling

| Error Code                  | Description                                     |
| --------------------------- | ----------------------------------------------- |
| `AUTH_ERR_EMPTY_APIKEY`     | The `apikey` header is missing from the request |
| `AUTH_ERR_APIKEY_NOT_FOUND` | The provided API key is invalid                 |
| `AUTH_ERR_NO_ACCESS`        | The API key doesn't have the required scope     |

For the complete error reference, see [Error Guide](/articles/error-guide).
