openapi: 3.0.0
info:
  title: Channels
  description: |
    Streamline your communication through channels to collaborate across teams and get work done efficiently. Create channels for team discussions and organization-wide announcements and collaborate with clients and customers through external channels.
    <br><br>
    The Channels API allows you to create new channels, retrieve detailed information about specific channels, and fetch a list of channels the current user is a member of. It also enables you to manage channel participants by adding or removing members as needed.
    <br><br>
    Additionally, the API supports actions such as approving or rejecting newly created organization-level channels, leaving a channel, and archiving or unarchiving channels to manage their visibility and activity status.'
  contact: {}
  version: 1.0.0
externalDocs:
  description: Find out more about Zoho Cliq APIs V2
  url: https://www.zoho.com/cliq/help/restapi/v2/
servers:
  - url: https://cliq.zoho.com/api/v2
    description: Zoho Cliq US DC
tags:
  - name: channels
    description: Channels Module
paths:
  /channels:
    post:
      summary: Create a channel
      operationId: Create a channel
      description: |
        Use this API to create a new channel in Cliq.
        <br><br> 
        <p>
          <b>Threshold limit</b>: 20 requests per min per user<br>
          Number of API calls allowed within a minute.<br><br>
          <b>Lock period</b>: 10 minutes<br>Wait time before consecutive API requests.<br>
        </p>
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/channel-body-parameters'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChannelResponse'
        '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.
        '404':
          description: Invalid URL.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The URL you've sent is wrong. It's possible that the resource you've requested has been moved to another URL.
        '405':
          description: Method Not Allowed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The requested resource does not support the HTTP method used. For example, requesting List of all customers API with PUT as the HTTP method.
        '406':
          description: Not Acceptable.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The response has been received but the requested response type is not supported by the browser.
        '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.Channels.CREATE
      tags:
        - channels
    get:
      summary: List all channels
      operationId: List all channels
      description: |
        Retrieve a list of channels based on the given filters.
        <br><br>
        <p>
          <b>Threshold limit</b>: 20 requests per min per user<br>
          Number of API calls allowed within a minute.<br><br>
          <b>Lock period</b>: 10 minutes<br>Wait time before consecutive API requests.<br>
        </p>
      parameters:
        - name: name
          in: query
          required: false
          schema:
            type: string
          description: Name of the channel to be retrieved.
        - name: status
          in: query
          required: false
          schema:
            type: string
            enum:
              - created
              - pending
              - archived
          description: |
            Status of the channel to be retrieved. <br> <b>Allowed values:</b> <ul>
              <li><b>created</b>: Channels that are active and fully created.</li>
              <li><b>pending</b>: Channels that are in the process of being created or awaiting confirmation.</li>
              <li><b>archived</b>: Channels that are no longer active and have been archived.</li>
            </ul>  
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            maximum: 100
          description: The number of channels that has to be retrieved. Maximum limit will be 100.
        - name: level
          in: query
          required: false
          schema:
            type: string
            enum:
              - organization
              - team
              - private
              - external
            description: |
              Specifies the level to fetch channels of a particular type. <br> <b>Allowed values:</b>
                <li><b>organization</b>: Public channel visible to everyone in the organization.</li>
                <li><b>team</b>: Channel visible only to specific teams.</li>
                <li><b>private</b>: Invitation-only channel with restricted access.</li>
                <li><b>external</b>: Channel with participants outside the organization.</li>
        - name: modified_before
          in: query
          required: false
          schema:
            type: string
            format: date-time
          description: Gets the list of channels where the last message is sent before the mentioned time.
        - name: modified_after
          in: query
          required: false
          schema:
            type: string
            format: date-time
          description: Gets the list of channels where the last message is sent after the mentioned time.
        - name: created_before
          in: query
          required: false
          schema:
            type: string
            format: date-time
          description: The list of channels created before the specified time.
        - name: created_after
          in: query
          required: false
          schema:
            type: string
            format: date-time
          description: The list of channels created after the specified time.
        - name: channel_ids
          in: query
          required: false
          schema:
            type: string
          description: The list of channel IDs for which details have to be retrieved. You can enter multiple fields separated by commas.
        - name: chat_ids
          in: query
          required: false
          schema:
            type: string
          description: Unique channel chat IDs for which details have to be retrieved. You can enter multiple fields separated by commas.
        - name: team_ids
          in: query
          required: false
          schema:
            type: string
          description: Gets the list of channels associated with the specified team IDs. You can enter multiple fields separated by commas. To retrieve team IDs, use the <a href="/cliq/help/restapi/v2/teams/#list-all-teams">List all teams</a> API.
        - name: created_by
          in: query
          required: false
          schema:
            type: string
          description: Gets the list of channels created by the mentioned email ID or user ID.
        - name: order_by
          in: query
          required: false
          schema:
            type: string
            enum:
              - +last_modified_time
              - '-last_modified_time'
              - +creation_time
              - '-creation_time'
            description: |
              To sort the list of available channels in either ascending or descending order. <br>   <b>Allowed values:</b>
                <li><b>+last_modified_time</b>: Sort channels by last modified time in ascending order.</li>
                <li><b>-last_modified_time</b>: Sort channels by last modified time in descending order.</li>
                <li><b>+creation_time</b>: Sort channels by creation time in ascending order.</li>
                <li><b>-creation_time</b>: Sort channels by creation time in descending order.</li>
        - name: next_token
          in: query
          required: false
          schema:
            type: string
          description: Use this parameter to fetch the next immediate list of channels.
        - name: sync_token
          in: query
          required: false
          schema:
            type: string
          description: |
            Gets the list of recently updated channels after which the previous request was made.  
            <b>Note:</b> The sync_token will return an exception if the number of channels to be synced is greater than 50.
        - name: pinned
          in: query
          required: false
          schema:
            type: boolean
          description: |
            When <b>pinned = true</b>, only pinned channels are retrieved.  
            When <b>pinned = false</b>, all channels are retrieved regardless of pin status.
        - name: joined
          in: query
          required: false
          schema:
            type: boolean
          description: |
            When <b>joined = true</b>, only the joined channels are fetched.  
            When <b>joined = false</b>, only the non-joined channels are fetched.  
            When not specified, all types of channels will be returned.
      responses:
        '200':
          description: The request was successfully completed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  channels:
                    type: array
                    items:
                      $ref: '#/components/schemas/get-all-channels-response'
                  has_more:
                    type: boolean
                    example: true
                  next_token:
                    type: string
                    description: Token to fetch the next set of channels.
                    example: 2fd152c0c1b5ee5b2a1d5fd1d3b233421cd1b8f67b2038cac5c27264b7ee1c616221ab489ea0bc2d7c43fa7a14f9c851cb11f4693804e0b43019786cc6580824
                  sync_token:
                    type: string
                    description: Token to sync changes from this response onward.
                    example: 2fd152c0c1b5ee5b2a1d5fd1d3b233422031afe47d55506a59fb92d55ea3a5ca9298862a157ff52c12ce6fb8be2c59b88d86d22368d8b17a1c484589b6c50225
        '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.
        '404':
          description: Invalid URL.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The URL you've sent is wrong. It's possible that the resource you've requested has been moved to another URL.
        '405':
          description: Method Not Allowed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The requested resource does not support the HTTP method used. For example, requesting List of all customers API with PUT as the HTTP method.
        '406':
          description: Not Acceptable.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The response has been received but the requested response type is not supported by the browser.
        '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.Channels.READ
      tags:
        - channels
  /channels/{CHANNEL_ID}:
    get:
      summary: Retrieve a channel
      operationId: Retrieve channel information
      description: |
        Use this API to get details of a specific channel.
        <br><br>
        <p>
          <b>Threshold limit</b>: 20 requests per min per user<br>
          Number of API calls allowed within a minute.<br><br>
          <b>Lock period</b>: 10 minutes<br>Wait time before consecutive API requests.<br>
        </p>
      parameters:
        - name: CHANNEL_ID
          in: path
          required: true
          schema:
            type: string
          example: CHANNEL_ID
          description: The ID of the channel for which detailed information needs to be obtained To learn how to retrieve this ID, see <a href="/cliq/help/restapi/v2/glossary/#CHANNEL_ID">CHANNEL_ID</a> in the Glossary page.
      responses:
        '200':
          description: The request was successfully completed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChannelResponse'
        '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.
        '404':
          description: Invalid URL.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The URL you've sent is wrong. It's possible that the resource you've requested has been moved to another URL.
        '405':
          description: Method Not Allowed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The requested resource does not support the HTTP method used. For example, requesting List of all customers API with PUT as the HTTP method.
        '406':
          description: Not Acceptable.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The response has been received but the requested response type is not supported by the browser.
        '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.Channels.READ
      tags:
        - channels
    put:
      summary: Update a channel
      operationId: Update a channel
      description: |
        Use this API to get details of a specific channel.
        <br><br>
        <p>
          <b>Threshold limit</b>: 20 requests per min per user<br>
          Number of API calls allowed within a minute.<br><br>
          <b>Lock period</b>: 10 minutes<br>Wait time before consecutive API requests.<br>
        </p>
      parameters:
        - name: CHANNEL_ID
          in: path
          required: true
          schema:
            type: string
          example: CHANNEL_ID
          description: The ID of the channel which needs to modified To learn how to retrieve this ID, see <a href="/cliq/help/restapi/v2/glossary/#CHANNEL_ID">CHANNEL_ID</a> in the Glossary page.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: Renaming an existing channel.
                  example: Zylker-Customer-Support
                description:
                  type: string
                  description: Updating the existing description of a channel.
                  example: To post all the support tickets from customers
                image_data:
                  type: string
                  format: byte
                  description: The base64-encoded image content to be uploaded as display picture for the channel.
                  example: http://cliq.zoho.com/channel/T4000000040005_4435792_1498572169593/photo.do
                config:
                  type: object
                  description: config is a JSON Object with a key value pair to customize the channel configuration settings.
                  properties:
                    reply_mode:
                      type: string
                      enum:
                        - normal_reply
                        - threads
                        - both
                      description: |
                        Defines how users can reply to messages in the channel. <ul>
                          <li><b>normal_reply</b>: Allows replies directly in the main channel.</li>
                          <li><b>threads</b>: Restricts replies to threaded conversations.</li>
                          <li><b>both</b>: Permits both direct replies and threaded replies.</li>
                        </ul>
                    leave_join_info:
                      type: string
                      enum:
                        - enable
                        - disable
                      description: |
                        To control whether notifications should be posted when users join or leave a channel. <ul>
                          <li><b>enable</b>: Posts a notification when a user joins or leaves the channel.</li> 
                          <li><b>disable</b>: Disable notifications for user join/leave events.</li>
                        </ul>
                    add_remove_info:
                      type: string
                      enum:
                        - enable
                        - disable
                      description: |
                        To manage notifications for adding users to or removing them from the channel. <ul>
                          <li><b>enable</b>: Posts notifications when users are added or removed.</li>
                          <li><b>disable</b>: Restricts notifications for user additions or removals.</li>
                        </ul>
                    meeting_chat_type:
                      type: string
                      enum:
                        - channel
                        - thread
                        - host_choice
                      description: |
                        Specifies how meeting-related messages are posted in the channel. <ul>  
                          <li><b>channel</b>: During the meeting, post all messages directly in the channel.</li>
                          <li><b>thread</b>: During the meeting, post meeting messages in a dedicated thread.</li>
                          <li><b>host_choice</b>: Allows the meeting host to decide the posting method.</li>
                        </ul>
                admin_permission:
                  $ref: '#/components/schemas/PermissionSet'
                moderator_permission:
                  $ref: '#/components/schemas/PermissionSet'
                member_permission:
                  $ref: '#/components/schemas/PermissionSet'
      responses:
        '200':
          description: The request was successfully completed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChannelResponse'
        '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.
        '404':
          description: Invalid URL.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The URL you've sent is wrong. It's possible that the resource you've requested has been moved to another URL.
        '405':
          description: Method Not Allowed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The requested resource does not support the HTTP method used. For example, requesting List of all customers API with PUT as the HTTP method.
        '406':
          description: Not Acceptable.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The response has been received but the requested response type is not supported by the browser.
        '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.Channels.UPDATE
      tags:
        - channels
    delete:
      summary: Delete a channel
      operationId: Delete a channel
      description: |
        Use this API to delete an existing channel.
        <br>><br>
        <p>
          <b>Threshold limit</b>: 20 requests per min per user<br>
          Number of API calls allowed within a minute.<br><br>
          <b>Lock period</b>: 10 minutes<br>Wait time before consecutive API requests.<br>  
        </p>
      parameters:
        - name: CHANNEL_ID
          in: path
          required: true
          schema:
            type: string
          example: CHANNEL_ID
          description: The ID of the channel which needs to deleted To learn how to retrieve this ID, see <a href="/cliq/help/restapi/v2/glossary/#CHANNEL_ID">CHANNEL_ID</a> in the Glossary page.
      responses:
        '200':
          description: The request was successfully completed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/no-response'
        '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.
        '404':
          description: Invalid URL.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The URL you've sent is wrong. It's possible that the resource you've requested has been moved to another URL.
        '405':
          description: Method Not Allowed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The requested resource does not support the HTTP method used. For example, requesting List of all customers API with PUT as the HTTP method.
        '406':
          description: Not Acceptable.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The response has been received but the requested response type is not supported by the browser.
        '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.Channels.DELETE
      tags:
        - channels
  /channels/{CHANNEL_ID}/members:
    get:
      summary: Get Channel Members
      operationId: Get Channel Members
      description: |
        Use this API to get the list of all members in a channel.
        <br><br>  
        <p>
          <b>Threshold limit</b>: 20 requests per min per user<br>
          Number of API calls allowed within a minute.<br><br>
          <b>Lock period</b>: 10 minutes<br>Wait time before consecutive API requests.<br>    
        </p> 
      parameters:
        - name: CHANNEL_ID
          in: path
          required: true
          schema:
            type: string
          example: CHANNEL_ID
          description: The ID of the channel for which members need to be retrieved To learn how to retrieve this ID, see <a href="/cliq/help/restapi/v2/glossary/#CHANNEL_ID">CHANNEL_ID</a> in the Glossary page.
      responses:
        '200':
          description: The request was successfully completed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  members:
                    type: array
                    items:
                      $ref: '#/components/schemas/ChannelMember'
                example:
                  members:
                    - user_id: '1234567'
                      email_id: scott.fisher@zylker.com
                      name: Scott Fisher
                      user_role: member
                    - user_id: '4355728'
                      email_id: olivia.palmer@zylker.com
                      name: Olivia Palmer
                      user_role: member
                    - user_id: '5663377'
                      email_id: li.jung@zylker.com
                      name: Li Jung
                      user_role: member
                    - user_id: '8875836'
                      email_id: ryan.west@zylker.com
                      name: Ryan West
                      user_role: super_admin
        '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.
        '404':
          description: Invalid URL.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The URL you've sent is wrong. It's possible that the resource you've requested has been moved to another URL.
        '405':
          description: Method Not Allowed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The requested resource does not support the HTTP method used. For example, requesting List of all customers API with PUT as the HTTP method.
        '406':
          description: Not Acceptable.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The response has been received but the requested response type is not supported by the browser.
        '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.Channels.READ
      tags:
        - channels
    post:
      summary: Add Channel Members
      operationId: Add Channel Members
      description: |
        Use this API to add members in a channel, by giving their user id or their email ID.
        <br><br>
        <p>
          <b>Threshold limit</b>: 20 requests per min per user<br>    
          Number of API calls allowed within a minute.<br><br>
          <b>Lock period</b>: 10 minutes<br>Wait time before consecutive API requests.<br>    
        </p>
      parameters:
        - name: CHANNEL_ID
          in: path
          required: true
          schema:
            type: string
          example: CHANNEL_ID
          description: The ID of the channel where the members need to be added in bulk To learn how to retrieve this ID, see <a href="/cliq/help/restapi/v2/glossary/#CHANNEL_ID">CHANNEL_ID</a> in the Glossary page.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/add-channel-members-request-body'
      responses:
        '200':
          description: The request was successfully completed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/no-response'
        '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.
        '404':
          description: Invalid URL.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The URL you've sent is wrong. It's possible that the resource you've requested has been moved to another URL.
        '405':
          description: Method Not Allowed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The requested resource does not support the HTTP method used. For example, requesting List of all customers API with PUT as the HTTP method.
        '406':
          description: Not Acceptable.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The response has been received but the requested response type is not supported by the browser.
        '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.Channels.UPDATE
      tags:
        - channels
    delete:
      summary: Delete Channel Members
      operationId: Delete Channel Members
      description: |
        Use this API to delete groups of members from the channel.
        <br><br>  
        <p>
          <b>Threshold limit</b>: 20 requests per min per user<br>    
          Number of API calls allowed within a minute.<br><br>
          <b>Lock period</b>: 10 minutes<br>Wait time before consecutive API requests.<br>    
        </p>
      parameters:
        - name: CHANNEL_ID
          in: path
          required: true
          schema:
            type: string
          example: CHANNEL_ID
          description: The ID of the channel where the members need to be removed in bulk To learn how to retrieve this ID, see <a href="/cliq/help/restapi/v2/glossary/#CHANNEL_ID">CHANNEL_ID</a> in the Glossary page.
      requestBody:
        description: Remove users from the channel using their user IDs or email addresses.
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                user_ids:
                  type: array
                  description: A list of user identifiers that need to be removed from the channel.
                  items:
                    type: string
                    description: A unique identifier for a user (either user ID or email address).
                  example:
                    - '123456'
                    - '223456'
                silent:
                  type: boolean
                  description: |
                    If true, the users will be removed silently without sending any notification to the channel or the removed users
                    Default value is false if not specified.
              required:
                - user_ids
      responses:
        '200':
          description: The request was successfully completed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/no-response'
        '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.
        '404':
          description: Invalid URL.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The URL you've sent is wrong. It's possible that the resource you've requested has been moved to another URL.
        '405':
          description: Method Not Allowed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The requested resource does not support the HTTP method used. For example, requesting List of all customers API with PUT as the HTTP method.
        '406':
          description: Not Acceptable.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The response has been received but the requested response type is not supported by the browser.
        '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.Channels.UPDATE
      tags:
        - channels
  /bots/{BOT_UNIQUE_NAME}/associate:
    post:
      summary: Add a Bot to a Channel
      operationId: Add a Bot to a Channel
      description: |
        Use this API to add a bot to a channel by providing its unique name.
        <br><br>  
        <p>
          <b>Threshold limit</b>: 20 requests per min per user<br>
          Number of API calls allowed within a minute.<br><br>
          <b>Lock period</b>: 10 minutes<br>Wait time before consecutive API requests.<br>  
        </p>  
      parameters:
        - name: BOT_UNIQUE_NAME
          in: path
          required: true
          schema:
            type: string
          example: BOT_UNIQUE_NAME
          description: The unique identifier of the bot which needs to be added in the channel To learn how to retrieve this ID, see <a href="/cliq/help/restapi/v2/glossary/#BOT_UNIQUE_NAME">BOT_UNIQUE_NAME</a> in the Glossary page.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                channel_unique_name:
                  type: string
                  description: The ID of the channel in which the bot need to be added.
                  example: zylkersupport
              required:
                - channel_unique_name
      responses:
        '200':
          description: The request was successfully completed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/no-response'
        '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.
        '404':
          description: Invalid URL.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The URL you've sent is wrong. It's possible that the resource you've requested has been moved to another URL.
        '405':
          description: Method Not Allowed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The requested resource does not support the HTTP method used. For example, requesting List of all customers API with PUT as the HTTP method.
        '406':
          description: Not Acceptable.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The response has been received but the requested response type is not supported by the browser.
        '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.Channels.UPDATE
      tags:
        - channels
  /channels/{CHANNEL_ID}/members/{USER_ID}/members:
    put:
      summary: Update a Channel members role
      operationId: Update a Channel members role
      description: |
        Use this API to add a bot to a channel by providing its unique name.
        <br><br>
        <p>
          <b>Threshold limit</b>: 20 requests per min per user<br>
          Number of API calls allowed within a minute.<br><br>    
          <b>Lock period</b>: 10 minutes<br>Wait time before consecutive API requests.<br>  
        </p>
      parameters:
        - name: CHANNEL_ID
          in: path
          required: true
          schema:
            type: string
          example: CHANNEL_ID
          description: The ID of the channel where the role of the channel member needs to be updated To learn how to retrieve this ID, see <a href="/cliq/help/restapi/v2/glossary/#CHANNEL_ID">CHANNEL_ID</a> in the Glossary page.
        - name: USER_ID
          in: path
          required: true
          schema:
            type: string
          example: USER_ID
          description: The ID of the user whose role needs to be updated To learn how to retrieve this ID, see <a href="/cliq/help/restapi/v2/glossary/#USER_ID">USER_ID</a> in the Glossary page.
      requestBody:
        description: Update the role of a channel member.
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                role:
                  type: string
                  description: |
                    Role to assign to the channel member.<br>
                    <b>Allowed values:</b>
                    <ul>
                      <li><b>super_admin</b>: Has complete control over the channel including all admin privileges.</li>
                      <li><b>admin</b>: Can manage participants, settings, and content within the channel.</li
                      <li><b>moderator</b>: Can moderate conversations and manage basic participant interactions.</li>
                      <li><b>member</b>: A regular participant with access to send and receive messages.</li>
                    </ul>

                    <b>Tip</b>: Refer to our "https://www.zoho.com/cliq/help/channels/roles-in-channels.html" help guide on channel roles for more information.
                  enum:
                    - super_admin
                    - admin
                    - moderator
                    - member
              required:
                - role
            example:
              role: moderator
      responses:
        '200':
          description: The request was successfully completed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/no-response'
        '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.
        '404':
          description: Invalid URL.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The URL you've sent is wrong. It's possible that the resource you've requested has been moved to another URL.
        '405':
          description: Method Not Allowed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The requested resource does not support the HTTP method used. For example, requesting List of all customers API with PUT as the HTTP method.
        '406':
          description: Not Acceptable.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The response has been received but the requested response type is not supported by the browser.
        '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.Channels.UPDATE
      tags:
        - channels
  /channels/{CHANNEL_ID}/approve:
    post:
      summary: Approve a Channel
      operationId: Approve a Channel
      description: |
        Organization admins can use this API to approve a newly created organization level channel.
        <br><br>
        <p> 
          <b>Threshold limit</b>: 20 requests per min per user<br>
          Number of API calls allowed within a minute.<br><br>    
          <b>Lock period</b>: 10 minutes<br>Wait time before consecutive API requests.<br>  
        </p>
      parameters:
        - name: CHANNEL_ID
          in: path
          required: true
          schema:
            type: string
          example: CHANNEL_ID
          description: The ID of the channel which needs to be approved by admins To learn how to retrieve this ID, see <a href="/cliq/help/restapi/v2/glossary/#CHANNEL_ID">CHANNEL_ID</a> in the Glossary page.
      responses:
        '200':
          description: The request was successfully completed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/no-response'
        '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.
        '404':
          description: Invalid URL.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The URL you've sent is wrong. It's possible that the resource you've requested has been moved to another URL.
        '405':
          description: Method Not Allowed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The requested resource does not support the HTTP method used. For example, requesting List of all customers API with PUT as the HTTP method.
        '406':
          description: Not Acceptable.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The response has been received but the requested response type is not supported by the browser.
        '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.Channels.UPDATE
      tags:
        - channels
  /channels/{CHANNEL_ID}/reject:
    post:
      summary: Reject a Channel
      operationId: Reject a Channel
      description: |
        Organization admins can use this API to reject a newly created organization level channel.
        <br><br>  
        <p> 
          <b>Threshold limit</b>: 20 requests per min per user<br>
          Number of API calls allowed within a minute.<br><br>    
          <b>Lock period</b>: 10 minutes<br>Wait time before consecutive API requests.<br>  
        </p>
      parameters:
        - name: CHANNEL_ID
          in: path
          required: true
          schema:
            type: string
          example: CHANNEL_ID
          description: The ID of the channel which needs to be rejected To learn how to retrieve this ID, see <a href="/cliq/help/restapi/v2/glossary/#CHANNEL_ID">CHANNEL_ID</a> in the Glossary page.
      responses:
        '200':
          description: The request was successfully completed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/no-response'
        '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.
        '404':
          description: Invalid URL.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The URL you've sent is wrong. It's possible that the resource you've requested has been moved to another URL.
        '405':
          description: Method Not Allowed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The requested resource does not support the HTTP method used. For example, requesting List of all customers API with PUT as the HTTP method.
        '406':
          description: Not Acceptable.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The response has been received but the requested response type is not supported by the browser.
        '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.Channels.UPDATE
      tags:
        - channels
  /channels/{CHANNEL_ID}/join:
    post:
      summary: Join a Channel
      operationId: Join a Channel
      description: |
        Use this API to join a channel.
        <br><br>
        <p>
          <b>Threshold limit</b>: 20 requests per min per user<br>      
          Number of API calls allowed within a minute.<br><br>          
          <b>Lock period</b>: 10 minutes<br>Wait time before consecutive API requests.<br>  
        </p>  
      parameters:
        - name: CHANNEL_ID
          in: path
          required: true
          schema:
            type: string
          example: CHANNEL_ID
          description: The ID of the channel that the authenticated user wants to join To learn how to retrieve this ID, see <a href="/cliq/help/restapi/v2/glossary/#CHANNEL_ID">CHANNEL_ID</a> in the Glossary page.
      responses:
        '200':
          description: The request was successfully completed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChannelResponse'
        '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.
        '404':
          description: Invalid URL.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The URL you've sent is wrong. It's possible that the resource you've requested has been moved to another URL.
        '405':
          description: Method Not Allowed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The requested resource does not support the HTTP method used. For example, requesting List of all customers API with PUT as the HTTP method.
        '406':
          description: Not Acceptable.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The response has been received but the requested response type is not supported by the browser.
        '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.Channels.UPDATE
      tags:
        - channels
  /channels/{CHANNEL_ID}/leave:
    post:
      summary: Leave a Channel
      operationId: Leave a Channel
      description: |
        Use this API to leave a channel.
        <br><br>
        <p> 
          <b>Threshold limit</b>: 20 requests per min per user<br>
          Number of API calls allowed within a minute.<br><br>    
          <b>Lock period</b>: 10 minutes<br>Wait time before consecutive API requests.<br>  
        </p>  
      parameters:
        - name: CHANNEL_ID
          in: path
          required: true
          schema:
            type: string
          example: CHANNEL_ID
          description: The ID of the channel that the authenticated user wants to leave To learn how to retrieve this ID, see <a href="/cliq/help/restapi/v2/glossary/#CHANNEL_ID">CHANNEL_ID</a> in the Glossary page.
      responses:
        '200':
          description: The request was successfully completed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/no-response'
        '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.
        '404':
          description: Invalid URL.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The URL you've sent is wrong. It's possible that the resource you've requested has been moved to another URL.
        '405':
          description: Method Not Allowed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The requested resource does not support the HTTP method used. For example, requesting List of all customers API with PUT as the HTTP method.
        '406':
          description: Not Acceptable.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The response has been received but the requested response type is not supported by the browser.
        '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.Channels.UPDATE
      tags:
        - channels
  /channels/{CHANNEL_ID}/archive:
    post:
      summary: Archive a Channel
      operationId: Archive a Channel
      description: |
        Use this API to archive a channel.
        <br><br>
        <p> 
          <b>Threshold limit</b>: 20 requests per min per user<br>  
          Number of API calls allowed within a minute.<br><br>    
          <b>Lock period</b>: 10 minutes<br>Wait time before consecutive API requests.<br> 
        </p> 
      parameters:
        - name: CHANNEL_ID
          in: path
          required: true
          schema:
            type: string
          example: CHANNEL_ID
          description: The ID of the channel which needs to be archived To learn how to retrieve this ID, see <a href="/cliq/help/restapi/v2/glossary/#CHANNEL_ID">CHANNEL_ID</a> in the Glossary page.
      responses:
        '200':
          description: The request was successfully completed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/no-response'
        '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.
        '404':
          description: Invalid URL.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The URL you've sent is wrong. It's possible that the resource you've requested has been moved to another URL.
        '405':
          description: Method Not Allowed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The requested resource does not support the HTTP method used. For example, requesting List of all customers API with PUT as the HTTP method.
        '406':
          description: Not Acceptable.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The response has been received but the requested response type is not supported by the browser.
        '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.Channels.UPDATE
      tags:
        - channels
  /channels/{CHANNEL_ID}/unarchive:
    post:
      summary: Unarchive a Channel
      operationId: Unarchive a Channel
      description: |
        Use this API to unarchive a channel.
        <br><br>  
        <p> 
          <b>Threshold limit</b>: 20 requests per min per user<br>  
          Number of API calls allowed within a minute.<br><br>    
          <b>Lock period</b>: 10 minutes<br>Wait time before consecutive API requests.<br>
        </p> 
      parameters:
        - name: CHANNEL_ID
          in: path
          required: true
          schema:
            type: string
          example: CHANNEL_ID
          description: The ID of the channel which needs to be unarchived To learn how to retrieve this ID, see <a href="/cliq/help/restapi/v2/glossary/#CHANNEL_ID">CHANNEL_ID</a> in the Glossary page.
      responses:
        '200':
          description: The request was successfully completed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/no-response'
        '204':
          description: No Content. The request was a success and the response returned has no content.
          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.
        '404':
          description: Invalid URL.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The URL you've sent is wrong. It's possible that the resource you've requested has been moved to another URL.
        '405':
          description: Method Not Allowed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The requested resource does not support the HTTP method used. For example, requesting List of all customers API with PUT as the HTTP method.
        '406':
          description: Not Acceptable.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The response has been received but the requested response type is not supported by the browser.
        '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.Channels.UPDATE
      tags:
        - channels
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.
    no-response:
      type: object
      description: Response object returned when no content is available.
      properties:
        Response Code:
          type: string
          description: HTTP response code and message indicating no content.
          example: 204 No response
    channel-body-parameters:
      type: object
      description: Request body parameters required for creating or updating a channel.
      required:
        - name
        - level
      properties:
        name:
          type: string
          maxLength: 50
          description: |
            Name of your choice for the channel.
            <b>Maximum Length</b>: 50
          example: Zylker-Support
        description:
          type: string
          maxLength: 10500
          description: |
            Short description regarding the channel.
            <b>Maximum Length</b>: 10500
          example: To post all the support tickets from customers
        level:
          type: string
          enum:
            - organization
            - team
            - private
            - external
          description: |
            Access level of the channel.
            Allowed Values:
            <ul>
              <li><b>organization</b>: Visible and accessible to all members within the organization.</li>
              <li><b>team</b>: Restricted to members of a specific team or department.</li>
              <li><b>private</b>: Invite-only channel visible only to its participants.</li>
              <li><b>external</b>: Includes users outside the organization (guests or external collaborators).</li>
            </ul>
          example: team
        invite_only:
          type: boolean
          default: false
          description: |
            Indicates whether the channel is invite-only. Applicable only for organization and team level channels.
        team_ids:
          type: array
          description: List of team IDs to associate with the team channel. To retrieve team IDs, use the <a href="/cliq/help/restapi/v2/teams/#list-all-teams">List all teams</a> API.
          items:
            type: string
            description: Team identifier.
          example:
            - '2323334'
            - '2328533'
        user_ids:
          type: array
          description: List of Zoho user IDs to be added as participants in the channel.
          items:
            type: string
            description: User identifier.
          example:
            - '100100'
            - '120001'
            - '100102'
        email_ids:
          type: array
          description: List of user email addresses to be added as participants in the channel.
          items:
            type: string
            description: Email address of the user.
          example:
            - scott.fisher@zylker.com
            - ryan.west@zylker.com
        admin_ids:
          type: array
          description: List of user IDs who will be assigned as channel admins.
          items:
            type: string
            description: User identifier of an admin.
          example:
            - '120001'
        moderator_ids:
          type: array
          description: List of user IDs who will be assigned as channel moderators.
          items:
            type: string
            description: User identifier of a moderator.
          example:
            - '100100'
            - '120001'
        image_data:
          type: string
          format: byte
          description: Base64-encoded image content to be uploaded as the channel display picture.
          example: http://cliq.zoho.com/channel/T4000000040005_4435792_1498572169593/photo.do
        config:
          type: object
          description: Custom configurations that define channel behavior.
          properties:
            reply_mode:
              type: string
              enum:
                - normal_reply
                - threads
                - both
              description: |
                Controls how replies are posted in the channel:
                <ul>
                  <li><b>normal_reply</b>: Messages can only be posted as normal replies.</li>
                  <li><b>threads</b>: Messages can only be posted as threaded replies.</li>
                  <li><b>both</b>: Messages can be posted either as normal or threaded replies.</li>
                </ul>
            leave_join_info:
              type: string
              enum:
                - enable
                - disable
              description: |
                Controls whether join/leave info is posted in the channel:
                <ul>
                  <li><b>enable</b>: Join/leave events will be posted in the channel.</li>
                  <li><b>disable</b>: No join/leave info will be posted.</li>
                </ul>
            add_remove_info:
              type: string
              enum:
                - enable
                - disable
              description: |
                Controls whether participant add/remove events are posted:
                <ul>
                  <li><b>enable</b>: Add/remove events will be posted in the channel.</li>
                  <li><b>disable</b>: These events will not be posted.</li>
                </ul>
            meeting_chat_type:
              type: string
              enum:
                - channel
                - thread
                - host_choice
              description: |
                Defines where meeting-related messages are posted:
                <ul>
                  <li><b>channel</b>: Messages will be posted directly in the channel.</li>
                  <li><b>thread</b>: Messages will be posted in a dedicated thread.</li>
                  <li><b>host_choice</b>: Depends on the meeting host's preference.</li>
                </ul>
        admin_permission:
          $ref: '#/components/schemas/PermissionSet'
        moderator_permission:
          $ref: '#/components/schemas/PermissionSet'
        member_permission:
          $ref: '#/components/schemas/PermissionSet'
    PermissionSet:
      type: object
      description: Set of permissions applicable to users in a channel role.
      properties:
        send_message:
          type: boolean
          description: Allow sending messages in the channel.
        edit_channel_info:
          type: boolean
          description: Allow editing channel information.
        delete_channel:
          type: boolean
          description: Allow deleting the channel.
        archive_channel:
          type: boolean
          description: Allow archiving the channel.
        clear_all_messages:
          type: boolean
          description: Allow clearing all messages in the channel.
        add_participant:
          type: boolean
          description: Allow adding users to the channel.
        remove_participant:
          type: boolean
          description: Allow removing users from the channel.
        mention_users:
          type: boolean
          description: Allow mentioning other users in messages.
        unarchive_channel:
          type: boolean
          description: Allow unarchiving the channel.
        leave_channel:
          type: boolean
          description: Allow leaving the channel.
        special_mentions:
          type: boolean
          description: Allow using special mentions like @all and @online.
        edit_my_msg:
          type: boolean
          description: Allow editing own messages.
        delete_my_msg:
          type: boolean
          description: Allow deleting own messages.
        video_conference:
          type: boolean
          description: Allow starting a video conference in the channel.
        sticky_message:
          type: boolean
          description: Allow setting sticky messages in the channel.
        audio_conference:
          type: boolean
          description: Allow starting an audio conference in the channel.
        post_reply:
          type: boolean
          description: Allow posting replies in the channel.
        delete_others_message:
          type: boolean
          description: Allow deleting messages posted by other users.
        prime_time:
          type: boolean
          description: Allow scheduling prime-time announcements.
        close_thread:
          type: boolean
          description: Allow closing message threads in the channel.
    ChannelResponse:
      type: object
      description: Response object containing details of a channel.
      properties:
        name:
          type: string
          description: Display name of the channel.
          example: '#Zylker-Support'
        chat_id:
          type: string
          description: Unique identifier for the chat instance of the channel.
          example: CT_1184653329648523663_62439860
        description:
          type: string
          description: Short description of the channel's purpose.
          example: To post all the support tickets from customers
        image_url:
          type: string
          format: uri
          description: URL of the channel display picture.
          example: http://cliq.zoho.com/channel/T4000000040005_4435792_1498572169593/photo.do
        level:
          type: string
          enum:
            - organization
            - team
            - private
            - external
          description: Access level of the channel.
        invite_only:
          type: boolean
          description: Indicates whether the channel is invite-only.
        status:
          type: string
          description: Current status of the channel.
          example: created
        channel_id:
          type: string
          description: Unique identifier of the channel.
          example: T4000000040005
        organization_id:
          type: string
          description: Identifier of the organization the channel belongs to.
          example: '4435792'
        creator_id:
          type: string
          description: Unique identifier of the channel creator.
          example: '4435866'
        creator_name:
          type: string
          description: Display name of the channel creator.
          example: PatriciaJames
        creation_time:
          type: string
          format: date-time
          description: Timestamp of channel creation.
          example: '2017-07-03T14:59:20+05:30'
        last_modified_time:
          type: string
          format: date-time
          description: Timestamp when the channel was last modified.
          example: '2017-07-03T15:59:20+05:30'
        current_user_role:
          type: string
          description: Role of the current user in the channel.
          example: super_admin
        participant_count:
          type: integer
          description: Number of participants in the channel.
          example: 1
        admin_permission:
          $ref: '#/components/schemas/PermissionSet'
        moderator_permission:
          $ref: '#/components/schemas/PermissionSet'
        member_permission:
          $ref: '#/components/schemas/PermissionSet'
        unique_name:
          type: string
          description: Unique name assigned to the channel.
          example: zylkersupport
        teams:
          type: object
          description: Mapping of team IDs to their names associated with the channel.
          additionalProperties:
            type: string
          example:
            '4435961': SALES
            '4453461': MARKETING
        joined:
          type: boolean
          description: Indicates whether the current user has joined the channel.
        pinned:
          type: boolean
          description: Indicates whether the channel is pinned by the user.
        total_message_count:
          type: string
          description: Total number of messages in the channel.
          example: '100'
        unread_message_count:
          type: integer
          description: Number of unread messages for the user in the channel.
          example: 5
        unread_time:
          type: string
          format: date-time
          description: Timestamp when unread messages began for the user.
          example: '2017-07-03T15:59:20+05:30'
    get-all-channels-response:
      type: object
      description: Response object containing details of all channels available to the user.
      properties:
        pinned:
          type: boolean
          description: Indicates if the channel is pinned by the user.
        level:
          type: string
          enum:
            - organization
            - team
            - personal
          description: Access level of the channel.
        chat_id:
          type: string
          description: Unique identifier of the chat instance.
        joined:
          type: boolean
          description: Indicates whether the user has joined the channel.
        creator_name:
          type: string
          description: Name of the creator of the channel.
        unique_name:
          type: string
          description: Unique name assigned to the channel.
        total_message_count:
          type: string
          description: Total number of messages in the channel.
        organization_id:
          type: string
          description: Identifier of the organization associated with the channel.
        admin_permission:
          $ref: '#/components/schemas/PermissionSet'
        moderator_permission:
          $ref: '#/components/schemas/PermissionSet'
        member_permission:
          $ref: '#/components/schemas/PermissionSet'
        muted_interval:
          type: string
          format: date-time
          description: Timestamp interval indicating when the channel was muted.
        channel_id:
          type: string
          description: Unique identifier of the channel.
        creator_id:
          type: string
          description: Identifier of the channel creator.
        invite_only:
          type: boolean
          description: Indicates whether the channel is invite-only.
        unread_time:
          type: string
          format: date-time
          description: Timestamp when unread messages started for the user.
        unread_message_count:
          type: integer
          description: Number of unread messages for the user.
        last_message_info:
          $ref: '#/components/schemas/LastMessageInfo'
        last_modified_time:
          type: string
          format: date-time
          description: Timestamp when the channel was last modified.
        status:
          type: string
          description: Current status of the channel.
        description:
          type: string
          description: Description of the channel.
        creation_time:
          type: string
          format: date-time
          description: Timestamp of channel creation.
        participant_count:
          type: integer
          description: Number of participants in the channel.
        current_user_role:
          type: string
          description: Role of the current user in the channel.
        teams:
          type: object
          description: Mapping of teams associated with the channel.
          additionalProperties: true
        name:
          type: string
          description: Display name of the channel.
    Permission:
      type: object
      description: Permission map for roles like admin, moderator, and member.
      additionalProperties:
        type: boolean
    LastMessageInfo:
      type: object
      description: Information about the last message in a channel.
      properties:
        sender_id:
          type: string
          description: Unique identifier of the sender of the last message.
        message_type:
          type: string
          description: Type of the last message (e.g., text, image, file).
        time:
          type: string
          format: date-time
          description: Timestamp when the last message was sent.
        text:
          type: string
          description: Content of the last message.
        sender_name:
          type: string
          description: Display name of the sender of the last message.
    ChannelMember:
      type: object
      description: Represents a member of a channel with associated details.
      properties:
        user_id:
          type: string
          description: Unique ID of the user.
        email_id:
          type: string
          format: email
          description: Email address of the user.
        name:
          type: string
          description: Full name of the user.
        user_role:
          type: string
          enum:
            - member
            - admin
            - super_admin
          description: Role of the user in the channel.
      required:
        - user_id
        - email_id
        - name
        - user_role
    add-channel-members-response:
      type: object
      description: Response returned after adding members to a channel.
      properties:
        success:
          type: boolean
          description: Indicates whether the request to add members was successful.
        added_users:
          type: array
          description: List of user IDs or emails that were successfully added.
          items:
            type: string
            description: Identifier or email of the user.
      required:
        - success
        - added_users
    add-channel-members-request-body:
      type: object
      description: Request body containing the list of users to be added to a channel.
      required:
        - user_ids
      properties:
        user_ids:
          type: array
          description: List of user IDs to be added to the channel. Maximum 50 allowed.
          items:
            type: string
            description: Unique identifier of the user.
          maxItems: 50
          example:
            - '123456'
            - '223456'
  securitySchemes:
    Cliq_Auth:
      type: oauth2
      x-authorization-example: Bearer 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f
      flows:
        implicit:
          authorizationUrl: https://accounts.zoho.com/oauth/v2/auth
          scopes:
            ZohoCliq.Channels.CREATE: Create Channels
            ZohoCliq.Channels.READ: Read Channels
            ZohoCliq.Channels.UPDATE: Update Channels
            ZohoCliq.Channels.DELETE: Delete Channels
