openapi: 3.0.0
info:
  title: Mobile Settings
  description: The Mobile Settings API allows users to retrieve and update Zoho Cliq mobile app preferences, including notifications, media handling, AV options, and summary settings.
  contact: {}
  version: 1.0.0
externalDocs:
  description: Find out more about Zoho Cliq APIs
  url: https://www.zoho.com/cliq/help/restapi/v2/
servers:
  - url: https://cliq.zoho.com/api/v3
    description: Zoho Cliq US DC
tags:
  - name: mobilesettings
    description: Mobile Settings Module
paths:
  /settings/mobile:
    get:
      summary: Get mobile settings
      operationId: getMobileSettings
      description: |
        Returns the current mobile settings for the authenticated user.
        The response includes notification preferences, media settings, AV behavior, and summary-related options.
        <br><br>
        <p>
          <b>OAuth Scope</b>: ZohoCliq.Profile.READ<br>
          <b>Duration</b>: 5<br>
          <b>Threshold</b>: 20 requests per min per user<br>
          <b>Lock period</b>: 5 minutes<br>
        </p>
      parameters:
        - name: keys
          in: query
          required: false
          schema:
            type: string
          description: Key name for which you need to get the value.
        - name: fetch_all
          in: query
          required: false
          schema:
            type: boolean
          description: If true, returns all mobile setting keys (used by clients).
      responses:
        '200':
          description: Mobile settings were retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/mobile-settings-response'
              example:
                av_noise_cancellation: disabled
                media_to_gallery:
                  images: disabled
                  camera_captures: disabled
                  videos: disabled
                conference_recording: disabled
                last_seen: disabled
                file_summary: disabled
                media_upload_quality: enabled
                notification:
                  direct_message: enabled
                  direct_message_sound: enabled
                  direct_message_preview: enabled
                  channel: enabled
                  channel_sound: enabled
                  channel_preview: enabled
                  group: enabled
                  group_sound: enabled
                  group_preview: enabled
                  atmentions: enabled
                  atmentions_sound: enabled
                  atmentions_preview: enabled
                  bot: enabled
                  bot_sound: enabled
                  bot_preview: enabled
                  reactions: enabled
                  reactions_sound: enabled
                  reactions_preview: enabled
                  hashtags: enabled
                  hashtags_sound: enabled
                  hashtags_preview: enabled
                media_auto_download:
                  images: enabled
                  videos: enabled
                  others: enabled
                media_auto_download_android:
                  images: wifi
                  videos: disabled
                  others: mobile
                huddle_join_video_muted: enabled
                av_hd_video: enabled
                av_speech_detection: enabled
                unread_summary: enabled
                chat_summary: disabled
        '400':
          description: Bad Request.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The request cannot be performed. Usually because of malformed parameter or missing parameter.
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Request was rejected because of invalid AuthToken.
        '403':
          description: Forbidden.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The user does not have enough permission or possibly not an user of the respective organization to access the resource.
        '429':
          description: Too many requests.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Too many requests within a certain time frame.
        '500':
          description: Internal Server Error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Cliq server encountered an error which prevents it from fulfilling the request.
      security:
        - Cliq_Auth:
            - ZohoCliq.Profile.READ
      tags:
        - mobilesettings
    put:
      summary: Update mobile settings
      operationId: updateMobileSettings
      description: |
        Updates mobile settings for the authenticated user.
        Send only the fields you want to modify. For nested objects (for example, `notification` or `media_to_gallery`), send the object with the intended values. You can also update `file_summary` directly using the query parameter.
        <br><br>
        <p>
          <b>OAuth Scope</b>: ZohoCliq.Profile.UPDATE<br>
          <b>Duration</b>: 5<br>
          <b>Threshold</b>: 20 requests per min per user<br>
          <b>Lock period</b>: 5 minutes<br>
        </p>
      parameters:
        - name: file_summary
          in: query
          required: false
          schema:
            type: string
            enum:
              - enabled
              - disabled
          description: Quickly toggle file summary without a request body.
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/update-mobile-settings-request'
            example:
              notification:
                hashtags_sound: enabled
              file_summary: disabled
      responses:
        '204':
          description: No Content. Mobile settings were updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NoResponse'
        '400':
          description: Bad Request.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The request cannot be performed. Usually because of malformed parameter or missing parameter.
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Request was rejected because of invalid AuthToken.
        '403':
          description: Forbidden.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The user does not have enough permission or possibly not an user of the respective organization to access the resource.
        '429':
          description: Too many requests.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Too many requests within a certain time frame.
        '500':
          description: Internal Server Error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Cliq server encountered an error which prevents it from fulfilling the request.
      security:
        - Cliq_Auth:
            - ZohoCliq.Profile.UPDATE
      tags:
        - mobilesettings
components:
  schemas:
    NoResponse:
      type: object
      description: Response envelope for successful operations with no payload.
      properties:
        status:
          type: string
          example: success
        message:
          type: string
          example: Operation completed successfully.
    notification-settings:
      type: object
      description: Notification controls by conversation type and notification mode (alert, sound, and preview).
      x-enum-descriptions:
        - enabled: Enables the notification behavior for the setting.
        - disabled: Disables the notification behavior for the setting.
      properties:
        direct_message:
          type: string
          enum:
            - enabled
            - disabled
          description: |
            Toggles alert notifications for direct messages.<br>
            <b>Allowed values</b>:
            <ul>
              <li><code>enabled</code>: Direct message notifications are turned on.</li>
              <li><code>disabled</code>: Direct message notifications are turned off.</li>
            </ul>
        direct_message_sound:
          type: string
          enum:
            - enabled
            - disabled
          description: |
            Toggles sound for direct message notifications.<br>
            <b>Allowed values</b>:
            <ul>
              <li><code>enabled</code>: Sound plays for direct message notifications.</li>
              <li><code>disabled</code>: Sound is muted for direct message notifications.</li>
            </ul>
        direct_message_preview:
          type: string
          enum:
            - enabled
            - disabled
          description: |
            Toggles message preview for direct message notifications.<br>
            <b>Allowed values</b>:
            <ul>
              <li><code>enabled</code>: Message content is shown in the notification preview.</li>
              <li><code>disabled</code>: Message content is hidden in the notification preview.</li>
            </ul>
        channel:
          type: string
          enum:
            - enabled
            - disabled
          description: |
            Toggles alert notifications for channel messages.<br>
            <b>Allowed values</b>:
            <ul>
              <li><code>enabled</code>: Channel notifications are turned on.</li>
              <li><code>disabled</code>: Channel notifications are turned off.</li>
            </ul>
        channel_sound:
          type: string
          enum:
            - enabled
            - disabled
          description: |
            Toggles sound for channel message notifications.<br>
            <b>Allowed values</b>:
            <ul>
              <li><code>enabled</code>: Sound plays for channel notifications.</li>
              <li><code>disabled</code>: Sound is muted for channel notifications.</li>
            </ul>
        channel_preview:
          type: string
          enum:
            - enabled
            - disabled
          description: |
            Toggles message preview for channel notifications.<br>
            <b>Allowed values</b>:
            <ul>
              <li><code>enabled</code>: Message content is shown in the channel notification preview.</li>
              <li><code>disabled</code>: Message content is hidden in the channel notification preview.</li>
            </ul>
        group:
          type: string
          enum:
            - enabled
            - disabled
          description: |
            Toggles alert notifications for group messages.<br>
            <b>Allowed values</b>:
            <ul>
              <li><code>enabled</code>: Group notifications are turned on.</li>
              <li><code>disabled</code>: Group notifications are turned off.</li>
            </ul>
        group_sound:
          type: string
          enum:
            - enabled
            - disabled
          description: |
            Toggles sound for group message notifications.<br>
            <b>Allowed values</b>:
            <ul>
              <li><code>enabled</code>: Sound plays for group notifications.</li>
              <li><code>disabled</code>: Sound is muted for group notifications.</li>
            </ul>
        group_preview:
          type: string
          enum:
            - enabled
            - disabled
          description: |
            Toggles message preview for group notifications.<br>
            <b>Allowed values</b>:
            <ul>
              <li><code>enabled</code>: Message content is shown in the group notification preview.</li>
              <li><code>disabled</code>: Message content is hidden in the group notification preview.</li>
            </ul>
        atmentions:
          type: string
          enum:
            - enabled
            - disabled
          description: |
            Toggles alert notifications for @mention messages.<br>
            <b>Allowed values</b>:
            <ul>
              <li><code>enabled</code>: @mention notifications are turned on.</li>
              <li><code>disabled</code>: @mention notifications are turned off.</li>
            </ul>
        atmentions_sound:
          type: string
          enum:
            - enabled
            - disabled
          description: |
            Toggles sound for @mention notifications.<br>
            <b>Allowed values</b>:
            <ul>
              <li><code>enabled</code>: Sound plays for @mention notifications.</li>
              <li><code>disabled</code>: Sound is muted for @mention notifications.</li>
            </ul>
        atmentions_preview:
          type: string
          enum:
            - enabled
            - disabled
          description: |
            Toggles message preview for @mention notifications.<br>
            <b>Allowed values</b>:
            <ul>
              <li><code>enabled</code>: Message content is shown in the @mention notification preview.</li>
              <li><code>disabled</code>: Message content is hidden in the @mention notification preview.</li>
            </ul>
        bot:
          type: string
          enum:
            - enabled
            - disabled
          description: |
            Toggles alert notifications for bot messages.<br>
            <b>Allowed values</b>:
            <ul>
              <li><code>enabled</code>: Bot notifications are turned on.</li>
              <li><code>disabled</code>: Bot notifications are turned off.</li>
            </ul>
        bot_sound:
          type: string
          enum:
            - enabled
            - disabled
          description: |
            Toggles sound for bot message notifications.<br>
            <b>Allowed values</b>:
            <ul>
              <li><code>enabled</code>: Sound plays for bot notifications.</li>
              <li><code>disabled</code>: Sound is muted for bot notifications.</li>
            </ul>
        bot_preview:
          type: string
          enum:
            - enabled
            - disabled
          description: |
            Toggles message preview for bot notifications.<br>
            <b>Allowed values</b>:
            <ul>
              <li><code>enabled</code>: Message content is shown in the bot notification preview.</li>
              <li><code>disabled</code>: Message content is hidden in the bot notification preview.</li>
            </ul>
        reactions:
          type: string
          enum:
            - enabled
            - disabled
          description: |
            Toggles alert notifications for message reactions.<br>
            <b>Allowed values</b>:
            <ul>
              <li><code>enabled</code>: Reaction notifications are turned on.</li>
              <li><code>disabled</code>: Reaction notifications are turned off.</li>
            </ul>
        reactions_sound:
          type: string
          enum:
            - enabled
            - disabled
          description: |
            Toggles sound for reaction notifications.<br>
            <b>Allowed values</b>:
            <ul>
              <li><code>enabled</code>: Sound plays for reaction notifications.</li>
              <li><code>disabled</code>: Sound is muted for reaction notifications.</li>
            </ul>
        reactions_preview:
          type: string
          enum:
            - enabled
            - disabled
          description: |
            Toggles message preview for reaction notifications.<br>
            <b>Allowed values</b>:
            <ul>
              <li><code>enabled</code>: Message content is shown in the reaction notification preview.</li>
              <li><code>disabled</code>: Message content is hidden in the reaction notification preview.</li>
            </ul>
        hashtags:
          type: string
          enum:
            - enabled
            - disabled
          description: |
            Toggles alert notifications for hashtag mentions.<br>
            <b>Allowed values</b>:
            <ul>
              <li><code>enabled</code>: Hashtag notifications are turned on.</li>
              <li><code>disabled</code>: Hashtag notifications are turned off.</li>
            </ul>
        hashtags_sound:
          type: string
          enum:
            - enabled
            - disabled
          description: |
            Toggles sound for hashtag notifications.<br>
            <b>Allowed values</b>:
            <ul>
              <li><code>enabled</code>: Sound plays for hashtag notifications.</li>
              <li><code>disabled</code>: Sound is muted for hashtag notifications.</li>
            </ul>
        hashtags_preview:
          type: string
          enum:
            - enabled
            - disabled
          description: |
            Toggles message preview for hashtag notifications.<br>
            <b>Allowed values</b>:
            <ul>
              <li><code>enabled</code>: Message content is shown in the hashtag notification preview.</li>
              <li><code>disabled</code>: Message content is hidden in the hashtag notification preview.</li>
            </ul>
        MT:
          type: string
          enum:
            - enabled
            - disabled
          description: |
            Toggles alert notifications for mentions and tags (MT).<br>
            <b>Allowed values</b>:
            <ul>
              <li><code>enabled</code>: MT notifications are turned on.</li>
              <li><code>disabled</code>: MT notifications are turned off.</li>
            </ul>
        MT_sound:
          type: string
          enum:
            - enabled
            - disabled
          description: |
            Toggles sound for MT notifications.<br>
            <b>Allowed values</b>:
            <ul>
              <li><code>enabled</code>: Sound plays for MT notifications.</li>
              <li><code>disabled</code>: Sound is muted for MT notifications.</li>
            </ul>
        MT_preview:
          type: string
          enum:
            - enabled
            - disabled
          description: |
            Toggles message preview for MT notifications.<br>
            <b>Allowed values</b>:
            <ul>
              <li><code>enabled</code>: Message content is shown in the MT notification preview.</li>
              <li><code>disabled</code>: Message content is hidden in the MT notification preview.</li>
            </ul>
    media-gallery-settings:
      type: object
      description: Controls whether downloaded media is saved to the device gallery.
      x-enum-descriptions:
        - enabled: Enables saving media to gallery.
        - disabled: Disables saving media to gallery.
      properties:
        images:
          type: string
          enum:
            - enabled
            - disabled
          description: |
            Controls whether downloaded images are saved to the device gallery.<br>
            <b>Allowed values</b>:
            <ul>
              <li><code>enabled</code>: Downloaded images are automatically saved to the gallery.</li>
              <li><code>disabled</code>: Downloaded images are not saved to the gallery.</li>
            </ul>
        camera_captures:
          type: string
          enum:
            - enabled
            - disabled
          description: |
            Controls whether photos taken within the app are saved to the device gallery.<br>
            <b>Allowed values</b>:
            <ul>
              <li><code>enabled</code>: Camera captures are automatically saved to the gallery.</li>
              <li><code>disabled</code>: Camera captures are not saved to the gallery.</li>
            </ul>
        videos:
          type: string
          enum:
            - enabled
            - disabled
          description: |
            Controls whether downloaded videos are saved to the device gallery.<br>
            <b>Allowed values</b>:
            <ul>
              <li><code>enabled</code>: Downloaded videos are automatically saved to the gallery.</li>
              <li><code>disabled</code>: Downloaded videos are not saved to the gallery.</li>
            </ul>
    media-auto-download-settings:
      type: object
      description: Controls automatic media download behavior based on media type or network mode.
      properties:
        images:
          type: string
          example: enabled
          description: |
            Controls automatic download behavior for image files.<br>
            <b>Allowed values</b>:
            <ul>
              <li><code>enabled</code>: Images are downloaded automatically.</li>
              <li><code>disabled</code>: Images are not downloaded automatically.</li>
              <li><code>wifi</code>: Images are downloaded automatically only when connected to Wi-Fi.</li>
              <li><code>mobile</code>: Images are downloaded automatically only when on mobile data.</li>
            </ul>
        videos:
          type: string
          example: disabled
          description: |
            Controls automatic download behavior for video files.<br>
            <b>Allowed values</b>:
            <ul>
              <li><code>enabled</code>: Videos are downloaded automatically.</li>
              <li><code>disabled</code>: Videos are not downloaded automatically.</li>
              <li><code>wifi</code>: Videos are downloaded automatically only when connected to Wi-Fi.</li>
              <li><code>mobile</code>: Videos are downloaded automatically only when on mobile data.</li>
            </ul>
        others:
          type: string
          example: mobile
          description: |
            Controls automatic download behavior for all other file types.<br>
            <b>Allowed values</b>:
            <ul>
              <li><code>enabled</code>: Other files are downloaded automatically.</li>
              <li><code>disabled</code>: Other files are not downloaded automatically.</li>
              <li><code>wifi</code>: Other files are downloaded automatically only when connected to Wi-Fi.</li>
              <li><code>mobile</code>: Other files are downloaded automatically only when on mobile data.</li>
            </ul>
    mobile-settings-response:
      type: object
      description: Full mobile settings object returned by the GET endpoint.
      x-enum-descriptions:
        - enabled: Setting is turned on.
        - disabled: Setting is turned off.
      properties:
        av_noise_cancellation:
          type: string
          enum:
            - enabled
            - disabled
        media_to_gallery:
          $ref: '#/components/schemas/media-gallery-settings'
        conference_recording:
          type: string
          enum:
            - enabled
            - disabled
        last_seen:
          type: string
          enum:
            - enabled
            - disabled
        file_summary:
          type: string
          enum:
            - enabled
            - disabled
        media_upload_quality:
          type: string
          enum:
            - enabled
            - disabled
        notification:
          $ref: '#/components/schemas/notification-settings'
        media_auto_download:
          $ref: '#/components/schemas/media-auto-download-settings'
        media_auto_download_android:
          $ref: '#/components/schemas/media-auto-download-settings'
        huddle_join_video_muted:
          type: string
          enum:
            - enabled
            - disabled
        av_hd_video:
          type: string
          enum:
            - enabled
            - disabled
        av_speech_detection:
          type: string
          enum:
            - enabled
            - disabled
        unread_summary:
          type: string
          enum:
            - enabled
            - disabled
        chat_summary:
          type: string
          enum:
            - enabled
            - disabled
    update-mobile-settings-request:
      type: object
      description: Provide only the settings to update. For nested settings, send the nested object with intended values.
      x-enum-descriptions:
        - enabled: Turn this setting on.
        - disabled: Turn this setting off.
      properties:
        av_noise_cancellation:
          type: string
          enum:
            - enabled
            - disabled
          description: |
            Controls noise cancellation during audio/video calls.<br>
            <b>Allowed values</b>:
            <ul>
              <li><code>enabled</code>: Noise cancellation is active.</li>
              <li><code>disabled</code>: Noise cancellation is turned off.</li>
            </ul>
        media_to_gallery:
          $ref: '#/components/schemas/media-gallery-settings'
          description: Controls whether downloaded media is saved to the device gallery.
        conference_recording:
          type: string
          enum:
            - enabled
            - disabled
          description: |
            Controls whether conference call recording is allowed.<br>
            <b>Allowed values</b>:
            <ul>
              <li><code>enabled</code>: Conference recording is permitted.</li>
              <li><code>disabled</code>: Conference recording is not permitted.</li>
            </ul>
        last_seen:
          type: string
          enum:
            - enabled
            - disabled
          description: |
            Controls the visibility of the user's last seen status.<br>
            <b>Allowed values</b>:
            <ul>
              <li><code>enabled</code>: Last seen is visible to others.</li>
              <li><code>disabled</code>: Last seen is hidden from others.</li>
            </ul>
        file_summary:
          type: string
          enum:
            - enabled
            - disabled
          description: |
            Controls whether file summaries are shown for shared files.<br>
            <b>Allowed values</b>:
            <ul>
              <li><code>enabled</code>: File summaries are displayed.</li>
              <li><code>disabled</code>: File summaries are hidden.</li>
            </ul>
        media_upload_quality:
          type: string
          enum:
            - enabled
            - disabled
          description: |
            Controls whether media is uploaded in high quality.<br>
            <b>Allowed values</b>:
            <ul>
              <li><code>enabled</code>: Media is uploaded at high quality.</li>
              <li><code>disabled</code>: Media is uploaded at reduced quality.</li>
            </ul>
        notification:
          $ref: '#/components/schemas/notification-settings'
          description: Notification controls by conversation type and notification mode (alert, sound, and preview).
        media_auto_download:
          $ref: '#/components/schemas/media-auto-download-settings'
          description: Controls automatic media download behavior based on media type or network mode.
        huddle_join_video_muted:
          type: string
          enum:
            - enabled
            - disabled
          description: |
            Controls whether the camera is muted by default when joining a huddle.<br>
            <b>Allowed values</b>:
            <ul>
              <li><code>enabled</code>: Camera is muted on huddle join.</li>
              <li><code>disabled</code>: Camera is active on huddle join.</li>
            </ul>
        av_hd_video:
          type: string
          enum:
            - enabled
            - disabled
          description: |
            Controls whether HD video is used during audio/video calls.<br>
            <b>Allowed values</b>:
            <ul>
              <li><code>enabled</code>: HD video is active.</li>
              <li><code>disabled</code>: HD video is turned off.</li>
            </ul>
        chat_summary:
          type: string
          enum:
            - enabled
            - disabled
          description: |
            Controls whether chat summaries are shown for conversations.<br>
            <b>Allowed values</b>:
            <ul>
              <li><code>enabled</code>: Chat summaries are displayed.</li>
              <li><code>disabled</code>: Chat summaries are hidden.</li>
            </ul>
  securitySchemes:
    Cliq_Auth:
      type: oauth2
      x-authorization-example: Bearer 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f
      flows:
        implicit:
          authorizationUrl: https://accounts.zoho.com/oauth/v2/auth
          scopes:
            ZohoCliq.Profile.READ: Read user profile settings
            ZohoCliq.Profile.UPDATE: Update user profile settings
