openapi: 3.0.0
info:
title: Chats
description: |
The Chats API enables effective conversation management, offering complete control over chat interactions, making it suitable for various messaging and collaboration scenarios.
The v3 version of the Chats API is designed to provide full lifecycle control over chat interactions, enabling developers to create scalable, feature-rich communication experiences.
Key Capabilities
With the latest v3 version of the Chats API, you can:
Threshold limit: 30 requests per min per user
Number of API calls allowed within a minute.
Lock period: 10 minutes
Wait time before consecutive API requests.
USER_ID to return chats that include that user as a participant.70027934 returns chats that include that user ID.
- name: muted
in: query
required: false
schema:
type: boolean
description: |
Set this parameter to true to retrieve the list of chats which are muted by the user.
- name: limit
in: query
required: false
schema:
type: integer
format: int64
maxLength: 100
description: |
The number of chats that has to be retrieved.1711929600000.
- name: modified_after
in: query
required: false
schema:
type: integer
format: int64
description: |
Gets the list of chats where the last message is sent after the mentioned time.
1711929600000.
- name: drafts
in: query
required: false
schema:
type: boolean
description: |
Set this parameter to true to retrieve the list of chats which have unsent messages (drafts).
- name: pinned
in: query
required: false
schema:
type: boolean
description: |
Set this parameter to true to retrieve the list of chats which are pinned by the user.
- name: closed
in: query
required: false
schema:
type: boolean
description: |
Set this parameter to true to retrieve the list of chats which are closed by the user.
- name: joined
in: query
required: false
schema:
type: boolean
description: |
Set this parameter to true to retrieve the list of chats which are joined by the user.
- name: chat_ids
in: query
required: false
schema:
type: string
description: |
Comma-separated list of chat IDs to filter the chats.CHAT_ID to return all threads under that chat.threads - Chats that are threads of a parent chat.channel - Channel conversations.bot - Conversations with bots.dm - Direct messages between users.muted - Chats that are muted by the user.
Threshold limit: 30 requests per min
Number of API calls allowed within a minute.
| Error Code | Description |
|---|---|
| 121_deptmem_message | Permission to chat with department members is restricted by admin. |
| 121_orgmem_message | Permission to chat with organization members is restricted by admin. |
| chat_continue_nonorg_nonmutual_contact_failed | The user is no longer part of your contacts or organization. |
| 121_extmem_message | Permission to chat with external users is restricted by admin. |
| chat_not_available_with_this_inactive_user_and_cannot_create_newchat | No chat history with this inactive user; cannot create a new chat. |
| invalid_inputs | Missing or invalid fields (e.g. chat_type not provided or unsupported). |
| no_valid_users_available_to_create_chat | All specified users are inactive or not in your contacts. |
| insufficient_members_to_create_group_chat | Not enough valid members to create a group chat (minimum 3 including creator). |
| chat_operation_failed | Unexpected server error while creating the chat. |
operation field in the request body:
read_status_update- Manage the read status of multiple chats in a single request. This is particularly useful for keeping your chat list organized and up-to-date, especially when you have a large number of conversations.clear_unread - Clears the unread message count or status to zero for the specified chats. If a specified chat has no unread entries, it is silently skipped.
Threshold limits: 60 requests per min
Number of API calls allowed within a minute.
Lock periods: 5 minutes
Wait time before consecutive API requests.
Possible Error Codes - Mark Chats as Read (read_status_update)
| Error Code | Description |
|---|---|
| param_missing | The param 'operation' is missing. |
| param_missing | The param 'read_status' is missing. |
| param_missing | The param 'chats' is missing. |
| param_missing | The param 'chat_id' is missing. |
| invalid.inputs.submitted | Incorrect values submitted. |
| chat_access_denied | You must be a participant in this chat to perform this action. |
| chat_operation_failed | Unable to perform the action. Please retry. |
Possible Error Codes - Clear Unread Count (clear_unread)
| Error Code | Description |
|---|---|
| param_missing | The param 'operation' is missing. |
| param_missing | One or more required params are missing: operation or chat_ids. |
| invalid.inputs.submitted | Incorrect values submitted. |
| chat_operation_failed | Unable to perform the action. Please retry. |
Threshold limit: 50 requests per min per user
Number of API calls allowed within a minute.
Lock period: 10 minutes
Wait time before consecutive API requests.
| Error Code | Description |
|---|---|
| invalid.inputs.submitted | An invalid value was passed (e.g. unrecognised chat_type or sort_by). |
| invalid.time.submitted | modified_before or modified_after is not a valid timestamp, or modified_after is not earlier than modified_before. |
| invalid_access | The user is not a member of the organisation. |
| chat_operation_failed | An unexpected server-side error occurred. |
1711929600000) or ISO 8601 format (for example, 2024-04-01T00:00:00Z).modified_before and modified_after in a request for predictable filtering.
Note: When both modified_before and modified_after are provided, modified_after must be earlier than modified_before.
- name: modified_after
in: query
required: false
schema:
type: string
description: |
Search and return only chats last modified after this time.1711929600000) or ISO 8601 format (for example, 2024-04-01T00:00:00Z).modified_before and modified_after in a request for predictable filtering.
Note: When both modified_before and modified_after are provided, modified_after must be earlier than modified_before.
- name: recipient
in: query
required: false
schema:
type: string
description: |
Filter by recipient user ID. Returns chats where this user is a participant. For direct messages, this will be the other participant; for group chats, this can be any member.
- name: chat_type
in: query
required: false
schema:
type: string
description: |
Filter by chat type.
Allowed values:direct_message, group_chat, channel, thread. You can specify multiple types separated by commas (e.g. direct_message,group_chat) to include multiple chat types in the results.
- name: parent_chat_id
in: query
required: false
schema:
type: string
description: |
Restrict results to threads belonging to this parent chat. Only applicable when filtering for thread-type chats.
- name: sort_by
in: query
required: false
schema:
type: string
enum:
- usage
- recent
default: recent
description: |
Sort results by usage or recent activity.usage: Sort by usage frequency, with the most frequently accessed chats appearing first.recent: Sort by recent activity, with the most recently active chats appearing first. This is the default sorting method.
Threshold limit: 60 requests per min per user
Number of API calls allowed within a minute.
Lock period: 5 minutes
Wait time before consecutive API requests.
| Error Code | Description |
|---|---|
| chat_access_denied | You must be a participant in this chat to perform this action. |
| chat_operation_failed | Unable to perform the action. Please retry. |
https://cliq.zoho.com/api/v3/chats/{CHAT_ID}?fields=title,chat_type,participant_count,permissions
- name: include
in: query
required: false
schema:
type: string
description: |
Comma-separated list of additional data to include in the response.last_message_info: Includes details of the last message in the chat, such as message ID, sender, timestamp, content preview, and message type.include=last_message_info to include it in the response.https://cliq.zoho.com/api/v3/chats/{CHAT_ID}?include=last_message_info
responses:
'200':
description: The request was successfully completed.
content:
application/json:
examples:
get_chat:
summary: Chat details
value:
type: chat
data:
chat_id: '2890538000000012345'
name: Q2 Product Review - Design, Engineering & QA
chat_type: group_chat
participant_count: 5
created_time: '2025-06-15T10:30:00+05:30'
last_modified_time: '2025-06-15T10:30:00+05:30'
pinned: false
removed: false
creator:
id: '70027934'
name: Tim Harrison
unread_message_count: 3
get_chat_with_last_message_info:
summary: Chat details with last message info
value:
type: chat
data:
chat_id: '2890538000000012345'
name: Q2 Product Review - Design, Engineering & QA
chat_type: group_chat
participant_count: 5
created_time: '2025-06-15T10:30:00+05:30'
last_modified_time: '2025-06-15T10:30:00+05:30'
pinned: false
removed: false
creator:
id: '70027934'
name: Tim Harrison
unread_message_count: 3
last_message_info:
message_id: '1773813859592_51531973059'
sender: '70027934'
time: '2025-06-15T10:30:00+05:30'
content:
text: Let's sync up before the review.
type: text
schema:
type: object
properties:
type:
type: string
example: chat
data:
$ref: '#/components/schemas/v3-chat'
'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.
'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.Chats.READ
tags:
- chats
put:
summary: Update chat title or history status
operationId: updateChatV3
description: |
Modify a chat's title or history status. Only one operation can be performed per request.update_title: Updates the visible title of the chat. Pass the new title in the title field.update_history_status : Controls whether chat history is retained. Set history_status to enabled or disabled.
Threshold limits:
update_title: 60 req/min
update_history_status: 60 req/min
Lock periods:
update_title: 10 min
update_history_status: 10 min
Possible Error Codes - Update Title (update_title)
| Error Code | Description |
|---|---|
| param_missing | The param 'operation' is missing. |
| param_missing | The param 'title' is missing. |
| invalid.inputs.submitted | Incorrect values submitted. |
| chat_title_empty | Title cannot be empty. Please enter a valid title. |
| channel_title_update_not_supported | Channel title update is not supported through this API. |
| contact_rename_not_supported | Renaming contacts in one-to-one chats is not allowed when contact display name is not preferred. |
| chatlet_title_modification_not_allowed | You do not have permission to modify the title of this chatlet. |
| chat_access_denied | You must be a participant in this chat to perform this action. |
| chat_title_update_failed | Failed to update the chat title. Please try again. |
| chat_operation_failed | Unable to perform the action. Please retry. |
Possible Error Codes - Update History Status (update_history_status)
| Error Code | Description |
|---|---|
| param_missing | The param 'operation' is missing. |
| param_missing | The param 'history_status' is missing. |
| invalid.inputs.submitted | Incorrect values submitted. |
| chat_access_denied | You must be a participant in this chat to perform this action. |
| chat_operation_failed | Unable to perform the action. Please retry. |
title field.history_status field set to either enabled or disabled.operation is update_title.operation is update_history_status.update_title.
content:
application/json:
examples:
update_title:
summary: Title updated successfully
value:
type: chat.title
data:
title: Quarterly Rewards
chat_id: '1424358626334691820'
update_history_status:
summary: History status updated successfully
value: 204 No response
schema:
type: object
properties:
type:
type: string
example: chat.title
data:
type: object
properties:
title:
type: string
example: qa_renamed_xwswhsyz
chat_id:
type: string
example: '1424358626334691820'
'204':
description: No Content - returned for update_history_status operation. No response body.
content:
application/json:
examples:
update_history_status:
summary: History status updated successfully
value: {}
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.
'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.Chats.UPDATE
tags:
- chats
/chats/{CHAT_ID1}:
put:
summary: Update Chat Read or Unread Status
operationId: markChatAsUnreadV3
x-display-path: /chats/{CHAT_ID}
x-virtual-endpoint: true
x-virtual-operation: true
x-note: |
CHAT_ID1 is a documentation alias for CHAT_ID to differentiate the two PUT operations under the same endpoint. This is to display both operations in the API reference. In actual API calls, use /chats/{CHAT_ID} for both operations and specify the desired operation in the request body.
description: |
Marks a single chat as read or unread for the calling user.mark_as_read: Marks the chat as read up to a specific message. Pass the last_message_id of the chat till to be read.mark_as_unread: Marks the chat as unread from a specific message. Pass the target message_id.
Threshold limit: 60 requests per min
Number of API calls allowed within a minute.
| Error Code | Description |
|---|---|
| invalid.inputs.submitted | Invalid inputs |
| chat_access_denied | Caller is not a participant of this chat |
| chat_operation_failed | Unexpected server error |
CHAT_ID1 is a documentation alias for CHAT_ID, used to separate the "Update Chat Read or Unread Status" operation for better readability while sharing the same /chats/{CHAT_ID} endpoint.
requestBody:
required: true
content:
application/json:
examples:
mark_as_read:
summary: Mark chat as read
value:
operation: mark_as_read
last_message_id: '1773813859592_51531973059'
mark_as_unread:
summary: Mark chat as unread
value:
operation: mark_as_unread
message_id: '1773813859592_51531973059'
schema:
type: object
required:
- operation
properties:
operation:
type: string
description: |
The update operation to perform on the chat.last_message_id field.message_id field indicating the message from which to mark as unread.operation is mark_as_read.
message_id:
type: string
description: |
The message from which to start the unread marker. Required when operation is mark_as_unread.
responses:
'204':
description: No Content - operation completed successfully. No response body.
content:
application/json:
schema:
$ref: '#/components/schemas/NoResponse'
'400':
description: Bad Request.
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: The request cannot be performed. Usually because of malformed parameter or missing parameter.
'401':
description: Unauthorized.
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: Request was rejected because of invalid AuthToken.
'403':
description: Forbidden.
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: The user does not have enough permission or possibly not an user of the respective organization to access the resource.
'429':
description: Too many requests.
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: Too many requests within a certain time frame.
'500':
description: Internal Server Error.
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: Cliq server encountered an error which prevents it from fulfilling the request.
security:
- Cliq_Auth:
- ZohoCliq.Chats.UPDATE
- Cliq_Auth:
- ZohoCliq.Messages.UPDATE
tags:
- chats
/chats/{CHAT_ID2}:
put:
summary: Clear Local Chat History
operationId: clearChatMessagesV3
x-display-path: /chats/{CHAT_ID}
x-virtual-endpoint: true
x-virtual-operation: true
x-note: |
CHAT_ID2 is a documentation alias for CHAT_ID to differentiate the two PUT operations under the same endpoint. This is to display both operations in the API reference. In actual API calls, use /chats/{CHAT_ID} for both operations and specify the desired operation in the request body.
description: |
Clears the local message history of a chat for the current user. The chat itself and all members remain intact; only the locally visible message history is cleared.
Only supported for direct messages and group chats.
Threshold limit: 60 requests per min
Number of API calls allowed within a minute.
| Error Code | Description |
|---|---|
| param_missing | The param 'operation' is missing. |
| invalid.inputs.submitted | Incorrect values submitted. |
| chat_clear_local_history_not_supported | Clear local history is only supported for direct messages and group chats. |
| chat_access_denied | You must be a participant in this chat to perform this action. |
| chat_clear_local_history_failed | Unable to clear local history. Please retry. |
CHAT_ID2 is a documentation alias for CHAT_ID, used to separate the "Clear Local Chat History" operation for better readability while sharing the same /chats/{CHAT_ID} endpoint.
requestBody:
required: true
content:
application/json:
examples:
clear_local_history:
summary: Clear local chat history
value:
operation: clear_local_history
schema:
type: object
required:
- operation
properties:
operation:
type: string
description: The operation to perform. Must be set to clear_local_history to clear the local chat history.
enum:
- clear_local_history
responses:
'204':
description: No Content - local chat history cleared successfully. No response body.
content:
application/json:
schema:
$ref: '#/components/schemas/NoResponse'
'400':
description: Bad Request.
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: The request cannot be performed. Usually because of malformed parameter or missing parameter.
'401':
description: Unauthorized.
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: Request was rejected because of invalid AuthToken.
'403':
description: Forbidden.
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: The user does not have enough permission or possibly not an user of the respective organization to access the resource.
'429':
description: Too many requests.
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: Too many requests within a certain time frame.
'500':
description: Internal Server Error.
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: Cliq server encountered an error which prevents it from fulfilling the request.
security:
- Cliq_Auth:
- ZohoCliq.Chats.UPDATE
tags:
- chats
/chats/{CHAT_ID3}:
put:
summary: Close a chat
operationId: closeChatV3
x-display-path: /chats/{CHAT_ID}
x-virtual-endpoint: true
x-virtual-operation: true
x-note: |
CHAT_ID3 is a documentation alias for CHAT_ID to differentiate the two PUT operations under the same endpoint. This is to display both operations in the API reference. In actual API calls, use /chats/{CHAT_ID} for both operations and specify the desired operation in the request body.
description: |
Closes a chat by removing it from the recent chats list of the user. The chat will still be accessible through search and other means, all members remain intact and only the visibility in recent chats is affected.
Threshold limit: 60 requests per min
Number of API calls allowed within a minute.
| Error Code | Description |
|---|---|
| chat_access_denied | Caller is not a participant of this chat. |
| chat_operation_failed | Unexpected server error. |
CHAT_ID3 is a documentation alias for CHAT_ID, used to separate the "Close a chat" operation for better readability while sharing the same /chats/{CHAT_ID} endpoint.
requestBody:
required: true
content:
application/json:
examples:
close_chat:
summary: Close a chat
value:
operation: close_chat
schema:
type: object
required:
- operation
properties:
operation:
type: string
description: The operation to perform. Must be set to close_chat to remove the chat from recent chats.
enum:
- close_chat
responses:
'204':
description: No Content - chat removed from recent chats successfully. No response body.
content:
application/json:
schema:
$ref: '#/components/schemas/NoResponse'
'400':
description: Bad Request.
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: The request cannot be performed. Usually because of malformed parameter or missing parameter.
'401':
description: Unauthorized.
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: Request was rejected because of invalid AuthToken.
'403':
description: Forbidden.
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: The user does not have enough permission or possibly not an user of the respective organization to access the resource.
'429':
description: Too many requests.
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: Too many requests within a certain time frame.
'500':
description: Internal Server Error.
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: Cliq server encountered an error which prevents it from fulfilling the request.
security:
- Cliq_Auth:
- ZohoCliq.Chats.UPDATE
tags:
- chats
/chats/{CHAT_ID}/members:
get:
summary: Retrieve members of a chat
operationId: Retrieve members of a chat
description: |
Use this API to retrieve the list of members participating in a channel or group chat.
fields query parameter.
Threshold limit: 20 requests per min per user
Number of API calls allowed within a minute.
Lock period: 10 minutes
Wait time before consecutive API requests.
Threshold limit: 20 requests per min per user
Number of API calls allowed within a minute.
Lock period: 10 minutes
Wait time before consecutive API requests.
| Error Code | Description |
|---|---|
| group_chat_participants_limit_exceeded | The maximum number of participants for this chat has been reached. |
| one_to_one_chat_add_member_not_allowed | Adding members to a one-to-one chat is not allowed. |
| chat_with_other_org_disabled | Adding members from other organizations is disabled. |
| member_add_failed | An unexpected error occurred while adding members. |
| service_unavailable | The messaging service is temporarily unavailable. Please try again later. |
Threshold limit: 20 requests per min per user
Number of API calls allowed within a minute.
Lock period: 10 minutes
Wait time before consecutive API requests.
| Error Code | Description |
|---|---|
| one_to_one_chat_delete_member_not_allowed | Removing members from a one-to-one chat is not allowed. |
| member_delete_failed | An unexpected error occurred while removing members. |
| service_unavailable | The messaging service is temporarily unavailable. Please try again later. |
Threshold limit: 50 requests per min
Number of API calls allowed within a minute.
Lock period: 10 seconds
Wait time before consecutive API requests.
| Error Code | Description |
|---|---|
| invalid_request | Fork input payload is invalid or incomplete. |
| operation_failed | Unable to create forked chat due to an internal error. |
Threshold limit: 100 requests per min per user
Number of API calls allowed within a minute.
Lock period: 50 minutes
Wait time before consecutive API requests.
| Error Code | Description |
|---|---|
| param_missing | The param 'action' is missing. |
| invalid.inputs.submitted | Incorrect values submitted. |
| chat_access_denied | You must be a participant in this chat to perform this action. |
| chat_operation_failed | Unable to perform the action. Please retry. |
Threshold limit: 20 requests per min per user
Number of API calls allowed within a minute.
Lock period: 10 minutes
Wait time before consecutive API requests.
Threshold limit: 20 requests per min per user
Number of API calls allowed within a minute.
Lock period: 10 minutes
Wait time before consecutive API requests.
Threshold limit: 20 requests per min per user
Number of API calls allowed within a minute.
Lock period: 10 minutes
Wait time before consecutive API requests.
direct_message: A one-to-one chat with another user.group_chat: A chat with multiple users, requires a title.direct_message chat type.group_chat chat type.group_chat chat type.operation field:
read_status_update): Set operation to read_status_update, read_status to read, and provide a chats array with each chat's chat_id and last_message_id. Returns 200 OK.clear_unread): Set operation to clear_unread and provide a chat_ids array. Returns 204 No Content.read_status_update: Marks the specified chats as read up to the given last_message_id. Requires read_status and chats fields.clear_unread: Clears the unread message count or status to zero for the specified chats. Requires chat_ids field.read_status_update operation only.read - Marks the specified chats as read.
enum:
- read
chats:
type: array
description: |
List of chats to mark as read. Applicable for the read_status_update operation only.clear_unread operation only.typing: Indicates that the user is currently typing a message.text_entered: Indicates that the user has entered text but has not yet sent the message.text_cleared: Indicates that the user has cleared the entered text.55743307,55622727
example: 631830848,631830849
include_participants:
type: boolean
default: false
description: |
Whether to include all participants from the original chat in the forked chat. If set to true, the user_ids field will be ignored and all participants will be included.
example: false
title:
type: string
maxLength: 255
description: |
Title of the forked chat. Required when creating a forked chat.
example: Discussion on Q3 Marketing Strategy
v3-create-direct-chat-request:
type: object
required:
- chat_type
- user_id
properties:
chat_type:
type: string
enum:
- direct_message
user_id:
type: string
v3-create-group-chat-request:
type: object
required:
- chat_type
- user_ids
- title
properties:
chat_type:
type: string
enum:
- group_chat
user_ids:
type: array
minItems: 1
maxItems: 50
items:
type: string
title:
type: string
maxLength: 255
v3-add-members-request:
type: object
required:
- user_ids
properties:
user_ids:
type: array
description: |
List of user IDs to add to the chat. Must include at least 1 user and can include up to 100 users.
minItems: 1
maxItems: 100
items:
type: string
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
get-chats-response:
type: object
description: Response object containing details of a chat or direct message.
properties:
name:
type: string
description: Display name of the chat or participant.
example: Ryan West
creation_time:
type: string
format: date-time
description: Timestamp when the chat was created.
example: '2019-10-15T03:37:28-07:00'
creator_id:
type: string
description: Unique identifier of the user who created the chat.
example: '631830848'
last_modified_time:
type: string
format: date-time
description: Timestamp when the chat was last modified.
example: '2019-10-15T03:37:28-07:00'
removed:
type: boolean
description: Indicates whether the chat has been removed.
example: false
recipients_summary:
type: array
description: List of participants in the chat with basic user details.
items:
$ref: '#/components/schemas/UserSummary'
chat_type:
type: string
enum:
- chat
- dm
description: Type of the chat, either a group chat (`chat`) or a direct message (`dm`).
example: dm
chat_id:
type: string
description: Unique identifier of the chat instance.
example: '2230748224630350194'
last_message_info:
$ref: '#/components/schemas/LastMessageInfo'
pinned:
type: boolean
description: Indicates if the chat is pinned by the user.
example: false
participant_count:
type: integer
description: Number of participants in the chat.
example: 2
UserSummary:
type: object
description: Basic details of a user in the chat.
properties:
user_id:
type: string
description: Unique identifier of the user.
example: '631830848'
name:
type: string
description: Full name of the user.
example: Ryan West
LastMessageInfo:
type: object
description: Information about the most recent message in the chat.
properties:
sender_id:
type: string
description: Unique identifier of the message sender.
example: '631830849'
message_type:
type: string
description: Type of the message (e.g., text, image, file).
example: text
styles:
$ref: '#/components/schemas/MessageStyles'
time:
type: string
format: date-time
description: Timestamp when the message was sent.
example: '2019-09-12T00:35:18-07:00'
text:
type: string
description: Text content of the message.
example: https://cliq.zoho.com/channels/marketing
bot:
$ref: '#/components/schemas/BotInfo'
sender_name:
type: string
description: Display name of the message sender.
example: Scott Fisher
MessageStyles:
type: object
description: Style attributes applied to a message.
properties:
highlight:
type: boolean
description: Indicates if the message should be visually highlighted.
example: true
BotInfo:
type: object
description: Information about a bot associated with a message.
properties:
name:
type: string
description: Display name of the bot.
example: Zia
image_url:
type: string
format: uri
description: URL of the bot's display image.
example: https://img.zohostatic.com/chat/default/officechat/images/default/event-bot.png
retrieve-chat-members:
type: object
description: Response object containing members of a chat.
properties:
members:
type: array
description: List of members in the chat with detailed user information.
items:
$ref: '#/components/schemas/Members'
Members:
type: object
description: Detailed information about a chat member.
properties:
user_id:
type: string
description: Unique identifier of the user.
example: '431930546'
email_id:
type: string
format: email
description: Email address of the user.
example: olivia.palmer@zylcal.com
name:
type: string
description: Full name of the user.
example: Olivia - Content Writer
pin-a-message-request:
type: object
description: Request body parameters for pinning a message in a chat.
required:
- id
properties:
id:
type: string
description: Unique identifier (msguid) of the message to be pinned.
example: '1573708648341_375412769224'
expiry_time:
type: integer
format: int64
description: Expiry time in milliseconds for the pinned message.
example: 1748946453794
notify:
type: boolean
description: Indicates whether pinning the message should notify all participants.
example: false
pin-a-message-response:
type: object
description: Response object containing details of a pinned message.
properties:
data:
type: object
description: Details of the pinned message.
properties:
expiry_time:
type: integer
description: Expiry time set for the pinned message in milliseconds. `-1` indicates no expiry.
example: -1
creator:
type: object
description: Information about the user who pinned the message.
properties:
name:
type: string
description: Name of the message creator.
example: Scott Fisher
id:
type: string
description: Unique identifier of the message creator.
example: '690440148'
message:
type: object
description: Details of the pinned message.
properties:
msg:
type: string
description: Content of the pinned message.
example: meeting at 4
sender:
type: string
description: Unique identifier of the original message sender.
example: '690440148'
lmsgtime:
type: string
description: Timestamp when the message was last modified.
example: '1573708493055'
msguid:
type: string
description: Unique identifier of the message.
example: 1573708648341%20375412769224
time:
type: string
description: Timestamp when the message was sent.
example: '1573708648341'
dname:
type: string
description: Display name of the original message sender.
example: Scott Fisher
created_time:
type: integer
description: Timestamp when the message was pinned (in ms).
example: 1573708712431
last_modified_time:
type: integer
description: Timestamp when the pinned message was last modified (in ms).
example: 1573708712431
chat_id:
type: string
description: Unique identifier of the chat where the message was pinned.
example: CT_2243173626687865223_P87610291-C4
get-pinnedmessage-response:
type: object
description: Response object containing details of an existing pinned message.
properties:
type:
type: string
description: Type of the response object, usually `stickymessage`.
example: stickymessage
data:
type: object
description: Information about the pinned message.
properties:
expiry_time:
type: integer
description: Expiry time for the pinned message in milliseconds. `-1` indicates no expiry.
example: -1
creator:
type: object
description: Information about the user who pinned the message.
properties:
name:
type: string
description: Name of the creator.
example: Scott Fisher
id:
type: string
description: Unique identifier of the creator.
example: '692133012'
message:
type: object
description: Content details of the pinned message.
properties:
msg:
type: string
description: Text content of the message.
example: 'Feature review date: 15/11/2019'
sender:
type: string
description: Unique identifier of the original message sender.
example: '690440148'
lmsgtime:
type: string
description: Timestamp when the message was last modified.
example: '1573641920572'
msguid:
type: string
description: Unique identifier of the message.
example: 1573641936588%20345281288778
time:
type: string
description: Timestamp when the message was sent.
example: '1573641936588'
dname:
type: string
description: Display name of the original message sender.
example: Ryan West
created_time:
type: integer
description: Timestamp when the message was pinned (in ms).
example: 1573641961788
last_modified_time:
type: integer
description: Timestamp when the pinned message was last modified (in ms).
example: 1573641961788
chat_id:
type: string
description: Unique identifier of the chat where the message was pinned.
example: CT_2243173626687865223_P87610291-C4
securitySchemes:
Cliq_Auth:
type: oauth2
x-authorization-example: Bearer 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f
flows:
implicit:
authorizationUrl: https://accounts.zoho.com/oauth/v2/auth
scopes:
ZohoCliq.Chats.CREATE: Create Chats
ZohoCliq.Chats.READ: Read Chats
ZohoCliq.Chats.UPDATE: Modify Chats
ZohoCliq.Chats.DELETE: Delete Chats
ZohoCliq.Messages.UPDATE: Modify Messages
ZohoCliq.Messages.DELETE: Delete Messages