Skip to main content
PUT
/
roles
/
{role}
/
permissions
Set Role Permissions
curl --request PUT \
  --url https://{appid}.api-{region}.cometchat.io/v3/roles/{role}/permissions \
  --header 'Content-Type: application/json' \
  --header 'apikey: <api-key>' \
  --data '
{
  "permissions": {
    "createGroup": "allow",
    "listUsers.mode": "friends",
    "createGroup.allowedGroupTypes": [
      "public"
    ]
  }
}
'
{
  "data": {
    "sendMessage": {
      "success": true,
      "message": "Permission with id sendMessage have been mapped successfully to role default."
    },
    "permissions": {
      "listUsers": "allow",
      "listUsers.mode": "all",
      "listUsers.allowedRoles": [
        "new_role"
      ],
      "getUserDetails.mode": "friends",
      "getUserDetails.allowedRoles": [
        "default"
      ],
      "sendMessage": "allow",
      "sendMessage.mode": "all",
      "sendMessage.allowedReceiverTypes": [
        "group"
      ],
      "sendMessage.allowedReceiverRoles": [
        "new_role",
        "default"
      ],
      "sendMessage.allowedMessageTypes": [
        "file",
        "audio",
        "video",
        "image",
        "text"
      ],
      "sendMessage.allowedMessageCategories": [
        "message",
        "custom"
      ],
      "editMessage": "deny",
      "deleteMessage": "deny",
      "sendMessage.allowedMimeTypes": [
        "image/png"
      ],
      "initiateCall": "allow",
      "initiateCall.mode": "all",
      "initiateCall.allowedReceiverRoles": [
        "new_role"
      ],
      "createGroup": "allow",
      "createGroup.allowedGroupTypes": [
        "private"
      ],
      "listGroups": "allow",
      "listGroups.allowedGroupTypes": [
        "password"
      ],
      "joinGroup": "allow",
      "joinGroup.allowedGroupTypes": [
        "public"
      ],
      "listMessages.allowedMessageCategories": [
        "message"
      ],
      "listMessages.allowedMessageTypes": [
        "audio"
      ]
    }
  }
}

Authorizations

apikey
string
header
required

API Key with fullAccess scope(i.e. Rest API Key from the Dashboard).

Path Parameters

role
string
required

The role identifier to update permissions for

Example:

"default"

Body

application/json
permissions
object
required

Permissions object containing key-value pairs for role permissions

Example:
{
  "createGroup": "allow",
  "listUsers.mode": "friends",
  "createGroup.allowedGroupTypes": ["public"]
}

Response

200 - application/json

Role permissions updated successfully

data
object