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

> Update the preference for the given user.

# Update Preferences

For the complete error reference, see [Error Guide](/rest-api/notifications-apis/error-codes).


## OpenAPI

````yaml patch /notifications/v1/preferences
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:
  /notifications/v1/preferences:
    patch:
      tags:
        - Notifications
      summary: Update Preferences
      description: Update the preference for the given user.
      operationId: notifications-push-update-preferences
      parameters:
        - $ref: '#/components/parameters/requiredUID'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/pnUpdatePreferences'
      responses:
        '200':
          description: A list of push notification's settings
          content:
            application/json:
              schema:
                properties:
                  data:
                    type: array
                    items: {}
                  meta:
                    type: object
                type: object
              example:
                data:
                  preferences:
                    group:
                      messagesSetting: 2
                      messagesOverride: true
                      repliesSetting: 2
                      repliesOverride: true
                      reactionsSetting: 2
                      reactionsOverride: true
                      memberLeftSetting: 1
                      memberLeftOverride: true
                      memberAddedSetting: 1
                      memberAddedOverride: true
                      memberJoinedSetting: 1
                      memberJoinedOverride: true
                      memberKickedSetting: 1
                      memberKickedOverride: true
                      memberBannedSetting: 1
                      memberBannedOverride: true
                      memberUnbannedSetting: 1
                      memberUnbannedOverride: true
                      memberScopeChangedSetting: 1
                      memberScopeChangedOverride: true
                    oneOnOne:
                      messagesSetting: 2
                      messagesOverride: true
                      repliesSetting: 2
                      repliesOverride: true
                      reactionsSetting: 2
                      reactionsOverride: true
                    mute:
                      dndPreferenceSetting: 1
                      dndPreferenceOverride: true
                      schedulePreferenceSetting:
                        monday:
                          from: 0
                          to: 2359
                          dnd: false
                        tuesday:
                          from: 0
                          to: 2359
                          dnd: false
                        wednesday:
                          from: 0
                          to: 2359
                          dnd: false
                        thursday:
                          from: 0
                          to: 2359
                          dnd: false
                        friday:
                          from: 0
                          to: 2359
                          dnd: false
                        saturday:
                          from: 0
                          to: 2359
                          dnd: false
                        sunday:
                          from: 0
                          to: 2359
                          dnd: false
                      schedulePreferenceOverride: true
                      mutedGroupsOverride: true
                      mutedOneOnOnesOverride: true
                  sound:
                    chat: default
                    call: default
                  templates:
                    usePrivacyTemplate: 3
                    textMessageTemplateDefault:
                      titleOneOnOne: '{{message.data.entities.sender.entity.name}}'
                      titleGroup: >-
                        {{message.data.entities.sender.entity.name}} @
                        {{message.data.entities.receiver.entity.name}}
                      body: '{{message.data.text}}'
                    textMessageTemplatePrivacy:
                      titleOneOnOne: '{{message.data.entities.sender.entity.name}}'
                      titleGroup: >-
                        {{message.data.entities.sender.entity.name}} @
                        {{message.data.entities.receiver.entity.name}}
                      body: New message
                    mediaMessageTemplateDefault:
                      titleOneOnOne: '{{message.data.entities.sender.entity.name}}'
                      titleGroup: >-
                        {{message.data.entities.sender.entity.name}} @
                        {{message.data.entities.receiver.entity.name}}
                      body_audio: Has sent an {{message.type}}
                      body_file: Has sent a {{message.type}}
                      body_image: Has sent an {{message.type}}
                      body_video: Has sent a {{message.type}}
                    mediaMessageTemplatePrivacy:
                      titleOneOnOne: '{{message.data.entities.sender.entity.name}}'
                      titleGroup: >-
                        {{message.data.entities.sender.entity.name}} @
                        {{message.data.entities.receiver.entity.name}}
                      body_audio: New message
                      body_file: New message
                      body_image: New message
                      body_video: New message
                    pollMessageTemplateDefault:
                      titleOneOnOne: '{{message.data.entities.sender.entity.name}}'
                      titleGroup: >-
                        {{message.data.entities.sender.entity.name}} @
                        {{message.data.entities.receiver.entity.name}}
                      body: '{{message.data.text}}'
                      body_fallback: ''
                    pollMessageTemplatePrivacy:
                      titleOneOnOne: '{{message.data.entities.sender.entity.name}}'
                      titleGroup: >-
                        {{message.data.entities.sender.entity.name}} @
                        {{message.data.entities.receiver.entity.name}}
                      body: '{{message.data.text}}'
                      body_fallback: ''
                    reminderMessageTemplateDefault:
                      titleOneOnOne: '{{message.data.entities.sender.entity.name}}'
                      titleGroup: >-
                        {{message.data.entities.sender.entity.name}} @
                        {{message.data.entities.receiver.entity.name}}
                      body: '{{message.data.text}}'
                      body_fallback: ''
                    reminderMessageTemplatePrivacy:
                      titleOneOnOne: '{{message.data.entities.sender.entity.name}}'
                      titleGroup: >-
                        {{message.data.entities.sender.entity.name}} @
                        {{message.data.entities.receiver.entity.name}}
                      body: '{{message.data.text}}'
                      body_fallback: ''
                    customMessageTemplateDefault:
                      titleOneOnOne: '{{message.data.entities.sender.entity.name}}'
                      titleGroup: >-
                        {{message.data.entities.sender.entity.name}} @
                        {{message.data.entities.receiver.entity.name}}
                      body: '{{message.data.text}}'
                      body_fallback: New message
                    customMessageTemplatePrivacy:
                      titleOneOnOne: '{{message.data.entities.sender.entity.name}}'
                      titleGroup: >-
                        {{message.data.entities.sender.entity.name}} @
                        {{message.data.entities.receiver.entity.name}}
                      body: '{{message.data.text}}'
                      body_fallback: New message
      security:
        - apiKey: []
components:
  parameters:
    requiredUID:
      name: uid
      in: query
      description: (Required) UID
      required: true
      schema:
        type: string
  schemas:
    pnUpdatePreferences:
      description: Response data
      properties:
        groupPreferences:
          properties:
            groupMessages:
              description: |-
                1: Don't notify
                2: Notify for all messages
                3: Notify for messages with mentions
              type: integer
              enum:
                - 1
                - 2
                - 3
            groupReplies:
              description: |-
                1: Don't notify
                2: Notify for all replies
                3: Notify for replies with mentions
              type: integer
              enum:
                - 1
                - 2
                - 3
            groupReactions:
              description: |-
                1: Don't notify
                2: Notify for reactions received on own messages
                3: Notify for reactions received on all messages
              type: integer
              enum:
                - 1
                - 2
                - 3
            groupMemberLeft:
              description: |-
                1: Don't notify
                2: Notify
              type: integer
              enum:
                - 1
                - 2
            groupMemberAdded:
              description: |-
                1: Don't notify
                2: Notify
              type: integer
              enum:
                - 1
                - 2
            groupMemberJoined:
              description: |-
                1: Don't notify
                2: Notify
              type: integer
              enum:
                - 1
                - 2
            groupMemberKicked:
              description: |-
                1: Don't notify
                2: Notify
              type: integer
              enum:
                - 1
                - 2
            groupMemberBanned:
              description: |-
                1: Don't notify
                2: Notify
              type: integer
              enum:
                - 1
                - 2
            groupMemberUnbanned:
              description: |-
                1: Don't notify
                2: Notify
              type: integer
              enum:
                - 1
                - 2
            groupMemberScopeChanged:
              description: |-
                1: Don't notify
                2: Notify
              type: integer
              enum:
                - 1
                - 2
          type: object
        oneOnOnePreferences:
          properties:
            oneOnOneMessages:
              description: |-
                1: Don't notify
                2: Notify for all messages
                3: Notify for messages with mentions
              type: integer
              enum:
                - 1
                - 2
                - 3
            oneOnOneReplies:
              description: |-
                1: Don't notify
                2: Notify for all replies
                3: Notify for replies with mentions
              type: integer
              enum:
                - 1
                - 2
                - 3
            oneOnOneReactions:
              description: |-
                1: Don't notify
                2: Notify for reactions received on own messages
                3: Notify for reactions received on all messages
              type: integer
              enum:
                - 1
                - 2
                - 3
          type: object
        mutePreferences:
          $ref: '#/components/schemas/MutePreferences'
        usePrivacyTemplate:
          type: boolean
      type: object
    MutePreferences:
      properties:
        dnd:
          description: |-
            1: Disable DND
            2: Enable DND
          type: integer
          enum:
            - 1
            - 2
        schedule:
          $ref: '#/components/schemas/Schedule'
      type: object
    Schedule:
      properties:
        monday:
          $ref: '#/components/schemas/Day'
        tuesday:
          $ref: '#/components/schemas/Day'
        wednesday:
          $ref: '#/components/schemas/Day'
        thursday:
          $ref: '#/components/schemas/Day'
        friday:
          $ref: '#/components/schemas/Day'
        saturday:
          $ref: '#/components/schemas/Day'
        sunday:
          $ref: '#/components/schemas/Day'
      type: object
    Day:
      properties:
        from:
          type: integer
          format: int32
          maximum: 2359
          minimum: 0
        to:
          type: integer
          format: int32
          maximum: 2359
          minimum: 0
        dnd:
          type: boolean
      type: object
  securitySchemes:
    apiKey:
      type: apiKey
      description: API Key with fullAccess scope(i.e. Rest API Key from the Dashboard).
      name: apikey
      in: header

````