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

> Updates a given role.

# Update

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


## OpenAPI

````yaml put /roles/{role}
openapi: 3.0.0
info:
  title: Chat APIs
  description: Manage messages, users, groups for a particular app using our Chat API.
  version: '3.0'
servers:
  - url: https://{appId}.api-{region}.cometchat.io/v3
    variables:
      appId:
        default: appId
        description: (Required) App ID
      region:
        enum:
          - us
          - eu
          - in
        default: us
        description: Select Region
security: []
tags:
  - name: API Keys
    description: The API keys are used to authorise the APIs
  - name: Roles
    description: The roles are used to give user access rights
  - name: Users
    description: The REST collection for users.
  - name: Auth Tokens
    description: The auth tokens are used to login end users using client SDKs.
  - name: Blocked Users
    description: The REST collections for blocked users.
  - name: Friends
    description: List,add and remove friends by passing UID in path variables
  - name: Groups
    description: The REST collections for groups.
  - name: Banned Users
    description: Ban and Unban user by passing other UID in path variables.
  - name: Group Members
    description: The REST collections for group members.
  - name: Messages
    description: The REST collections for messages.
  - name: Conversations
    description: The REST collections for conversations.
  - name: Restrict Features
    description: Allows Restricting Features
  - name: Metrics
    description: Allows accessing Data Metrics
  - name: Triggers
    description: Allows adding triggers to a webhook.
  - name: Webhooks
    description: Allows accessing Webhooks.
  - name: Notifications
    description: Allows configuring Notifications core.
paths:
  /roles/{role}:
    put:
      tags:
        - Roles
      summary: Update
      description: Updates a given role.
      operationId: update-role
      parameters:
        - name: role
          in: path
          description: A role to update.
          required: true
          schema:
            type: string
          examples:
            string:
              summary: Role
              value: default
      requestBody:
        content:
          application/json:
            schema:
              properties:
                name:
                  description: Friendly name of the role.
                  type: string
                  default: ''
                description:
                  description: Description of the role.
                  type: string
                  default: ''
                metadata:
                  description: Additional information about the role.
                  type: object
                  default:
                    email: admin@yourcompany.com
                unset:
                  description: >-
                    The unsettable role attributes are settings, description and
                    metadata.
                  type: array
                  items:
                    type: string
                    enum:
                      - settings
                      - description
                      - metadata
                    description: Group attributes that can be unset.
                  default: []
                settings:
                  description: >-
                    Role settings that is used for restricting list users/send
                    message. Possible values for listUsers & sendMessagesTo are
                    all and friendsOnly
                  type: object
                  default: []
              type: object
      responses:
        '200':
          description: Updated Role
          content:
            application/json:
              schema:
                properties:
                  data:
                    type: object
                type: object
              example:
                data:
                  role: manager
                  name: manager
                  description: This role gives an update access
                  metadata:
                    email: managers@gmail.com
                  settings:
                    listUsers: all
                    sendMessagesTo: friendsOnly
                  createdAt: 1638343994
      security:
        - apiKey: []
components:
  securitySchemes:
    apiKey:
      type: apiKey
      description: API Key with fullAccess scope(i.e. Rest API Key from the Dashboard).
      name: apikey
      in: header

````