About Cliq Rest API
REST is a kind of web-service architecture used for communication between two applications. REST API is organized around HTTP protocols, making it simple to use.
API Root Endpoint
API Root End Point
https://cliq.zoho.com
Cliq API is standardized around REST, allowing you to perform read and write operations that you do with our web client.
The relative path prefix /v2/ means that we are currently using version 2 of our API.
This API follows HTTP rules, identifies Cliq users using OAuth and provides response as a JSON Object.
Every resource URL is recognised as a resource identifier. The URL of each resource can be obtained by accessing the API Root Endpoint.
Networks
API Root Endpoint for Networks
https://cliq.zoho.com/network/{NETWORK_UNIQUE_NAME} https://cliq.zoho.com/network/{NETWORK_ID}
Cliq network is a dedicated space for collaborating with external business stakeholders such as partners, vendors, agencies, consultants, volunteers, and more. It equips you with an extensive set of configurable permissions to facilitate controlled, secure, and full-fledged external collaboration.
In the case of networks, the API Root endpoint differs. All the network endpoints should have the prefix as /network/{NETWORK_UNIQUE_NAME} or /network/{NETWORK_ID}
For example , the API Root endpoints to call information from a Cliq network named 'Zylker Clients' would be :
https://cliq.zoho.com/network/zylkerclients
zylkerclients is the unique name of the network.
Multiple data centers
Zoho Cliq is hosted at multiple data centers, and therefore available on different domains.
There are 6 different domains for Zoho Cliq's APIs, so you can use the one that is applicable to you.
Data center | Domain | Base API URI |
---|---|---|
United States | .com | https://cliq.zoho.com/ |
Europe | .eu | https://cliq.zoho.eu/ |
India | .in | https://cliq.zoho.in/ |
Australia | .au | https://cliq.zoho.com.au/ |
China | .cn | https://cliq.zoho.com.cn/ |
Japan | .jp | https://cliq.zoho.jp/ |
The APIs on this page are for organizations hosted on the .com domain. If your organization is on a different domain, replace ".com" with the appropriate domain for the API endpoints on this page before using them
Note: You can find out which domain you're accessing Zoho Cliq by checking the URL while accessing Zoho Cliq
Authentication
Zoho Cliq's Rest API's follows the OAuth 2.0 protocol to authorize and authenticate requests. Each API request must include an OAuth token in order to receive a success response. All API requests must be made over HTTPS. Calls made over plain HTTP and using API without authentication will also fail.
Note: You must use domain specific Zoho Cliq URL to generate and refresh tokens.
OAuth Token Generation
The steps to generate an OAuth token are as folllows:
- Generate Client ID and Client Secret
- Authorization by generating the grant token
- Generating Access and Refresh Token
- Generate Access Token from Refresh Token
Step 1: Generate Client ID and Client Secret
Register your application as a new client by accessing this website:
https://accounts.zoho.com/developerconsole
Note: Make sure to use domain specific Zoho Accounts URL while registering
1.Click on Add Client ID
and give the following :
- Client Name
- Client Domain
- Authorized redirect URIs
2.Click Create
.
Upon providing the necessary details for registering, you will be given a set of OAuth credentials known
as the
client id
and client secret
exclusive for your application. These credentials
will be
known to both Zoho and your application.
Sample request to generate grant token
Step 2: Authorization by generating grant token
Request URL GET oauth/v2/auth Host: https://accounts.zoho.com Query String:
https://accounts.zoho.com/oauth/v2/auth?scope=ZohoCliq.Channels.CREATE,ZohoCliq.Channels.READ,ZohoCliq.Channels.UPDATE,ZohoCliq.Channels.DELETE&client_id=1000.0SRSZSY37WMZ69405H3K3TMYI2239V&state=5466400890088961855&response_type=code&redirect_uri=http://application_name.com/&access_type=offline
Redirect the user to the authorization URL, authorization will be done when the user grants access in the
"user
consent" page. The authorization URL is: https://accounts.zoho.com/oauth/v2/auth
and below
are the
mandatory case sensitive parameters to be passed with the authorization URL.
Sample response on generating grant token
http://accounts.zoho.com/oauth2callback?state=5466400890088961855&code=1000.dd7e47321d48b8a7e312e3d6eb1a9bb8.b6c07ac766ec11da98bf6a261e24dca4
Parameter | Description |
---|---|
scope | The scope required for your extension.
|
client_id | Client id obtained during client registration. |
state | A generated value that correlates the callback with its associated authorization request. |
response_type | "code" |
redirect_uri | The redirect URL mentioned during client registration. |
access_type | Access type will be either online or offline. |
Sample request to generate access token
Step 3: Generating Access and Refresh Token
Request URL POST oauth/v2/token Host: https://accounts.zoho.com Query String:
https://accounts.zoho.com/oauth/v2/token?code=1000.dd7e47321d48b8a7e312e3d6eb1a9bb8.b6c07ac766ec11da98bf6a261e24dca4&grant_type=authorization_code&scope=ZohoCliq.Channels.CREATE,ZohoCliq.Channels.READ,ZohoCliq.Channels.UPDATE,ZohoCliq.Channels.DELETE&client_id=1000.0SRSZSY37WMZ69405H3K3TMYI2239V&client_secret=39c689de68c712fa5f1f06c3b1319ab98f59fa921b&redirect_uri=http://application_name.com/
Sample response on generating the access token
{ "access_token": "1000.70d737e7cc1d8869123f796363f55345.830d0dc7ea80c404ace4a261d1b710d4", "refresh_token": "1000.8ecd474019e31d52d2f94aad659c5cb7.4638677ebc14f2f2ee410b6dfb6cebdc", "token_type": "Bearer", "expires_in": 3600000 }
Example for using the access token
Request URL GET https://cliq.zoho.com/api/v2/channels Request Header: Authorization: Zoho-oauthtoken dd7e47321d48b8a7e312e3d6eb1a9bb8.b6c07ac766ec11da98bf6a261e24dca4
The value for code
parameter obtained in the response of Step 2 should be used to generate
the
access and refresh token.
Make a POST
request to the following URL:
https://accounts.zoho.com/oauth/v2/token
along with the below given parameters.
Parameter | Description |
---|---|
code | Authorization code obtained during grant token generation. |
client_id | Client id obtained during client registration. |
client_secret | Client secret obtained during client registration. |
redirect_uri | Redirect uri mentioned during client registration. |
grant_type | authorization_code |
scope | Specify the scope allowed for your extension. |
state | A generated value that correlates the callback with its associated authorization request.Has to be maintained the same during the entire process for authenticity. |
On making a successful request along with the authorization code, Zoho will issue a response to your application with the following information.
- expires_in - Time in milliseconds that the token remains valid.
- token_type - Type of token. It is
bearer
in this case. - access_token - Access token for the user. This token can be used for the final API calls and will be valid only for an hour.
- refresh_token - Refresh token to use when the token has timed out. This token is permanent and can be used multiple times (limit - 20) to refresh the app and get a new access token.
Example for generating the access token using refresh token
Step 4: Generating the access token from refresh token
Request URL POST oauth/v2/token Host: https://accounts.zoho.com Query String :
https://accounts.zoho.com/oauth/v2/token?refresh_token=1000.dd7e47321d48b8a7e312e3d6eb1a9bb8.b6c07ac766ec11da98bf6a261e24dca4&grant_type=refresh_token&scope=ZohoCliq.Channels.CREATE,ZohoCliq.Channels.READ,ZohoCliq.Channels.UPDATE,ZohoCliq.Channels.DELETE&client_id=1000.0SRSZSY37WMZ69405H3K3TMYI2239V&client_secret=39c689de68c712fa5f1f06c3b1319ab98f59fa921b&redirect_uri=http://application_name.com/
You can request for a refresh token to be generated along with the access token. To request for a
refresh
token, add access_type=offline
in the request for generating the grant token. (Refer Step
2).
The refresh token will always be generated by giving the parameters prompt=consent
In most general cases the access tokens expire in one hour. Until then, the access token has unlimited usage. Once the access token expires the refresh token can be used to generate a new access token.
Make a POST
request to https://accounts.zoho.com/oauth/v2/token
along with the
below
given parameters
Parameter | Description |
---|---|
client_id | Client id obtained during client registration. |
client_secret | Client secret obtained during client registration. |
redirect_uri | Redirect uri mentioned during client registration. |
grant_type | refresh_token |
refresh_token | The refresh token obtained during access token generation.(Step 3) |
scope | Specify the scope allowed for your extension. |
Sample request using the OAuth token
Sample request using the OAuth token
Request Header: Authorization:Zoho-oauthtoken dd7e47321d48b8a7e312e3d6eb1a9bb8.b6c07ac766ec11da98bf Content-Type: application/json Request URL GET https://cliq.zoho.com/api/v2/channels
The access token should be passed as a header when you call any Cliq REST API. Please note that the access token can be passed only as a request header and not as a request parameter.
The list of mandatory headers are:
Header Name | Header Value |
---|---|
Authorization | Zoho-oauthtoken {{access token}} |
contentType | application/json |
Revoking the Refresh Token
Revoking the Refresh Token
Request URL POST oauth/v2/token/revoke Host: https://accounts.zoho.com Query String :
https://accounts.zoho.com/oauth/v2/token/revoke?token=1000.dd7e47321d48b8a7e312e3d6eb1a9bb8.b6c07ac766ec11da98bf6a261e24dca4
You can revoke a refresh token by making a POST
request to the following URL :
https://accounts.zoho.com/oauth/v2/token/revoke
with the below given parameter
HTTP Methods
Using GET method , you can get the list of resource or details . To get a list of channels:
GET https://cliq.zoho.com/api/v2/channels?joined=true&pinned=true
Cliq API uses HTTP protocols for every action.
Parameter | Description |
---|---|
refresh_token | The refresh token that is to be revoked. |
Method | Description |
---|---|
GET | Used for retrieving resources. |
POST | Used for creating resources and performing operations. |
PUT | Used for updating resources. |
DELETE | Used for deleting resources. |
Response Structure
Response
The response structure for the channels API follows the below format .
{ "channels": [ { .... } ] }
All responses will be in the JSON format.
Date:
All timestamps are returned in the ISO 8601 format YYYY-MM-DDThh:mm:ssTZD
Example: "2017-07-03T14:59:20+05:30"
Errors
Cliq uses HTTP status codes to indicate success or failure of an API call. In general, status codes in the 2xx range means success, 4xx range means there was an error in the provided information, and those in the 5xx range indicates server side errors. Commonly used HTTP status codes are listed below.
HTTP Status Codes
Status Code | Descriptions |
---|---|
2xx | Success |
4xx | Bad request sent to server |
5xx | Server side error |
Status Code | Description |
---|---|
200 | SuccessThe request was successfully completed. |
201 | CreatedThe request was a success and one or more resources have been created. |
204 | No ContentThe request was a success and the response returned has no content. |
400 | Bad requestThe request cannot be performed. Usually because of malformed parameter or missing parameter. |
401 | Unauthorized (Invalid AuthToken)Request was rejected because of invalid AuthToken. |
403 | ForbiddenThe user does not have enough permission or possibly not an user of the respective organization to access the resource. |
404 | URL Not FoundThe URL you’ve sent is wrong. It’s possible that the resource you’ve requested has been moved to another URL. |
405 | Method Not AllowedThe requested resource does not support the HTTP method used. For example, requesting List of all customers API with PUT as the HTTP method. |
406 | Not AcceptableThe response has been received but the requested response type is not supported by the browser. |
429 | Too many requestsToo many requests within a certain time frame. |
500 | Server errorCliq server encountered an error which prevents it from fulfilling the request. |
API Call Limit
We have system limitations just to protect from denial of service (DOS) attacks. There is no usage limit on the API.
Maintenance APIs
Create a backup of all conversations (chats, channels and bots) by exporting it.
Note:
All maintenance APIs will be accessible to give a response only to the organization
admin
in Cliq.
Export Conversations
Export Conversations
Request Header: Content-Type: text/csv GET https://cliq.zoho.com/maintenanceapi/v2/chats?fields=title,chat_id
Response Example
Whats new-feature updates,1277744317795524707 Zylcal team trip,1277744317795524704 Notely release 2.0,1277744317795524710 Regional sales managers,1252218064667202771 marketing-editors,1252218129769350577
Use this API to export specific details of all individual chats and group conversations in your organization.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.OrganizationChats.READ
Query Params
fields Mandatory string Use this parameter to get the list of necessary
details to be exported for
each chat. Allowed values: title | chat_id | creation_time | last_modified_time | participant_count | total_message_count | creator_id |
Export Channels
Export Channels
Request Header: Content-Type: text/csv GET https://cliq.zoho.com/maintenanceapi/v2/channels?fields=name,channel_id,participant_count
Response Example
#announcements,15928000000004007,600 #marketing,15928000000021001,15 #devops,15928000000032005,54 #sales,15928000000054005,250 #contentreview,15928000000075001,88
You can use this API to export details of all the channels in your organization.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.OrganizationChannels.READ
Query Params
fields Mandatory string Use this parameter to get the list of necessary
details to be exported for
all channels in your organization. Allowed values: name | channel_id | creation_time | last_modified_time | creator_id | description | participant_count | total_message_count | status | role |
Export Members in a Conversation
Export Members in a Conversation
Request Header: Content-Type: text/csv GET https://cliq.zoho.com/maintenanceapi/v2/chats/{chat_id}/members?fields=name,email_id
Response Example
Scott Fisher,scott.fisher@zylker.com Ryan West,ryan.west@zylker.com Olivia Palmer,olivia.palmer@zylker.com
Use this API to exclusively export the details of members from a specific chat or channel.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.OrganizationChats.READ
Query Params
fields Mandatory string Use this parameter to get details of members who are
participating in a
conversation. Allowed values: name | email_id | user_id |
Export Messages
Export Messages
GET https://cliq.zoho.com/maintenanceapi/v2/chats/{chat_id}/messages
Response Example
{ "data": [ { "sender": { "name": "Scott Fisher", "id": "1234567" }, "ack_key": "1528182303065", "id": "1528182303637_7763880281", "time": 1528182303637, "type": "text", "content": { "text": "Hey Olivia, are you available right now to discuss about our cross marketing with Notely?" } }, { "sender": { "name": "Scott Fisher", "id": "1234567" }, "ack_key": "", "id": "1534756983506_74468102866", "time": 1534756983506, "type": "info", "content": { "data": { "status": "completed", "callee": { "name": "Olivia", "id": "55185718" }, "duration": "00:00:09", "call_type": "audio" }, "type": "call_notification" } }, { "sender": { "name": "Olivia Palmer", "id": "9876543" }, "ack_key": "1547615832454", "id": "1547615832586_143161526662", "time": 1547615832586, "type": "text", "content": { "text": "Sure, Scott!s" } } ] }
You can use this API to export transcripts or history of all conversations in your organization.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.OrganizationMessages.READ
Sample User Object
{ "data": { "employee_id": "0976", "first_name": "Olivia", "reportingto": { "name": "Russell Thomas", "id": "54218867", "country": "ca", "email_id": "russellt@zylker.com", "zoid": "54107592", "organization_id": "null", "timezone": "Asia/Calcutta", "first_name": "Russell", "full_name": "Russell Thomas", "display_name": "Russell Thomas", "last_name": "Thomas" }, "mobile": "65465418698", "zoid": "54107592", "organization_id": "631836344", "email_id": "olivia.palmer@zylker.com", "extension": "551", "work_location": "578", "id": "631830846", "timeoffset": -43200000, "timezone": "Etc/GMT+12", "language": "English", "status": "active", "country": "United States", "department": { "name": "Creative Writers", "id": "1901318000001615007" }, "last_name": "Palmer", "full_name": "Olivia Palmer", "designation": { "name": "Content Writer", "id": "1901318000001072013" }, "display_name": "Olivia Palmer", "name": "Olivia Palmer" }, "custom_attributes": { "dateofjoining": "-" } }
Users
Users are members of an organisation signed up in Cliq. The user object gives information about users profile as mentioned below.
The User Object Attributes
id
String Denotes a user's unique ID.
email_id
String Denotes a user's email address.
display_name
String The name of the user visible to the members of an
organization.
first_name
String The first name of the user.
last_name
String
The last name of the user.
full_name
String The full name of the user.
organization_id
String Cliq organization ID.
employee_id
string Denotes the employee ID of the user.
status
String Denotes the status of the user (active|inactive).
mobile
String Denotes the mobile number of the user.
extension
String Extension or desk phone number of the user.
department
JSON Object Various business divisions within an organization.
name
String Denotes the name of the department.
id
String Denotes a unique department ID.
designation
JSON Object Position given to an employee in an organization.
name
String Denotes the designation of the user .
id
String Denotes the unique ID of the designation.
reportingto
JSON Object Information about who the user reports to.
name
String Name of the person, the user is reporting to.
id
String Unique user ID of the person, the user is reporting
to.
work_location
String Denotes the seating location of the user.
country
String Geographical location of the user. Note : The value for country must be in ISO 3166-1 alpha-2 format.
language
timezone
String Relative timezone to which the user belongs to.
custom_attributes
JSON Object These are custom fields that an admin can add to
display additional
information about the user. |
Add a user
Add a user
POST https://cliq.zoho.com/api/v2/users Payload: { "users":[ { "first_name":"Amy", "email_id":"amy@zylker.com", "channel_ids":["O1864232000000076001","02436281894678923571"], "team_ids": ["674269993","122347899"] }, { "first_name":"Riyaan", "email_id":"riyaan@zylker.com", "channel_ids":["O1864232000000076001","02436281894678923571"], "team_ids": ["674269993","876543231"] } ] }
Response Example
{ "data": { "success_users": [ "amy@zylker.com", "riyaan@zylker.com" ] "failed_users": {} } }
You can use this API to add a new user or a list of new users.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Users.CREATE
Quota limit
The quota limit for this API is 5 requests per minute per user
Request Body
email_id Mandatory String The first name of the user.
display_name Optional String The display name of the user.
first_name Optional String The first name of the user.
last_name Optional String Last name of the user.
phone Optional String Phone number of the user.
mobile Optional String Mobile number of the user.
timezone Optional Timestamp User's timezone.
language Optional String The user's default language.
country Optional String Country code of the user.
designation_id Optional String Give the ID of the designation to be associated with
the user.
department_id Optional String Give the ID of the department where the user will be
added.
reporting_to_zuid Optional String User ID of the user's reporting to.
work_location Optional String Work location of the user
extension Optional String The user's extension/desk phone number
employee_id Optional String The user's employee ID
image_data Optional Base64 The profile picture of the user.
channel_ids Optional Array IDs of the channels in which the user will be added.
team_ids Optional Array IDs of the teams where the user will be added.
Custom Field's Unique Name
String Unique name of the custom user fields. Note : This is not a static value it can change according to the name assigned by the user Example : For a custom user field "Workplace Name",the unique name ( workplace_name ) of the field must be provided an attribute. |
Error Codes
Error Code | Description |
---|---|
zohoaccount.conflict | The user you're trying to invite has an account in Cliq with the same email ID. Try providing a different email ID to invite the user. |
email.invitation.blocked | The user you're trying to invite has rejected the invitation maximum number of times. Try inviting the user with a different email ID. |
email.activeuser | The user is already a part of your Cliq organization. |
email.pendinguser | The user has already been invited to join your Cliq organization. You can reinvite the user again from the admin panel. |
Retrieve a particular user
Retrieve a particular user
GET https://cliq.zoho.com/api/v2/users/{USER_ID}?fields=all
Response Example
{ "data": { "employee_id": "213", "first_name": "Scott", "reportingto": { "name": "Tim Harrison", "id": "631831446" }, "mobile": "534 678 1234", "zoid": "54107592", "organization_id": "631836344", "email_id": "scott.fisher@zylker.com", "extension": "3129", "work_location": "C block, S-H12", "id": "631830849", "timeoffset": 19800000, "timezone": "Asia/Kolkata", "language": "English", "status": "active", "country": "United States", "department": { "name": "Zylker Corp", "id": "1901318000001424001" }, "last_name": "Fisher", "full_name": "Scott Fisher", "designation": { "name": "Leadership Staff", "id": "1901318000001072003" }, "display_name": "Scott Fisher", "name": "Scott Fisher" } }
You can use this API to get details of a particular user.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Users.READ
If you are
integrated with
Zoho People, add these
scopes: ZohoPeople.forms.READ, ZohoPeople.employee.READ, ZohoPeople.attendance.READ
Quota limit
The quota limit for this API is 20 requests per minute per user
Query Params
fields Optional String Use this parameter to fetch the list of user fields.
If
fields=all, returns all the user
fields. Allowed values: display_name|mobile| department|designation. You can enter multiple fields by seperating them with a comma. |
Retrieve all users
Retrieve all users
GET https://cliq.zoho.com/api/v2/users
Response Example
{ "next_token": "359868eb5dca56ghs721hak082ynoy85hakqovfewjbf41533", "has_more": true, "data": [ { "email_id": "yoda@zylker.com", "zuid": "163315760", "zoid": "54107592", "display_name": "Yod", "name": "Yod Agbaria", "organization_id": "631836344", "id": "163315760" }, { "email_id": "noweit@zylker.com", "zuid": "163317679", "zoid": "54107592", "display_name": "No-Wei", "name": "No-Wei Ting", "organization_id": "631836344", "id": "163317679" }, { "email_id": "stellar@zylker.com", "zuid": "163319973", "zoid": "54107592", "display_name": "Stella", "name": "Stella Ramirez", "organization_id": "631836344", "id": "163319973" }, { "email_id": "done@zylker.com", "zuid": "163322101", "zoid": "54107592", "display_name": "Don", "name": "Don Evans", "organization_id": "631836344", "id": "163322101" }, { "email_id": "start@zylker.com", "zuid": "163323619", "zoid": "54107592", "display_name": "Star", "name": "Star Truman", "organization_id": "631836344", "id": "163323619" }, { "email_id": "justinc@zylker.com", "zuid": "163324578", "zoid": "54107592", "display_name": "Justin", "name": "Justin Case", "organization_id": "631836344", "id": "163324578" } ] }
You can use this API to get details of all the users.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Users.READ
If you are
integrated with
Zoho People, add these
scopes: ZohoPeople.forms.READ, ZohoPeople.employee.READ, ZohoPeople.attendance.READ
Quota limit
The quota limit for this API is 30 requests per minute per user
Query Params
status Optional String Use this parameter to fetch the list of active and
inactive users Allowed values: active | inactive | pending | imported_active | imported_inactive
plan_type Optional String Use this parameter to fetch the list of users under
paid and free
version. Allowed values: paid | free
fields Optional String Use this parameter to fetch the list of user fields.
If
fields=all, returns all the user
fields. Allowed values: display_name|mobile| department|designation. You can enter multiple fields by seperating them with a comma.
limit Optional Integer The number of users to be fetched. Maximum limit will
be 100.
search Optional String The text string used to search for a user. Search
will be done only in
name and email address. If you have integrated Cliq with Zoho People, then
search will be carried
out across all fields in Zoho People.
sort_by Optional String Use this parameter to sort results based on usage.
Allowed
values: usage
modified_after Optional Timestamp Gets the list of users, whose user fields are
modified after the
mentioned time. Changes made only in the following fields will be synced:
Deparment, Designation,
Employee ID, Extension, Reporting To, Work Location
Note: Modified data is provided only for the last 7 days.
next_token Optional string Use this parameter to fetch the next immediate list
of user details.
|
Update user details
Update user details
PUT https://cliq.zoho.com/api/v2/users/{USER_ID} Payload: { "display_name":"Scott" }
Response Example
{ "data": { "employee_id": "0976", "first_name": "Scott", "reportingto": { "name": "Russell Thomas", "id": "54218867", "country": "ca", "email_id": "russellt@zylker.com", "zoid": "54107592", "organization_id": "null", "timezone": "Asia/Calcutta", "first_name": "Russell", "full_name": "Russell Thomas", "display_name": "Russell Thomas", "last_name": "Thomas" }, "mobile": "65465418698", "zoid": "54107592", "organization_id": "631836344", "email_id": "olivia.palmer@zylker.com", "extension": "551", "work_location": "578", "id": "631830846", "timeoffset": -43200000, "timezone": "Etc/GMT+12", "language": "English", "status": "active", "country": "United States", "department": { "name": "Creative Writers", "id": "1901318000001615007" }, "last_name": "Palmer", "full_name": "Scott Palmer", "designation": { "name": "Content Writer", "id": "1901318000001072013" }, "display_name": "Scott", "name": "Scott Palmer" }, "custom_attributes": { "dateofjoining": "-" } }
You can use this API to edit or update a user's details.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Users.UPDATE
Note: For updating profile picture through the API, the scope
Profile.orguserphoto.UPDATE
should be included
Quota limit
The quota limit for this API is 20 requests per minute per user
Request Body
display_name
String The display name of the user.
first_name
String The first name of the user.
last_name
String Last name of the user.
phone
String Phone number of the user.
mobile
String Mobile number of the user.
timezone
Timestamp User's timezone.
language
String The user's default language.
country
String Country code of the user.
designation_id
String Give the ID of the designation to be associated with
the user.
department_id
String Give the ID of the department where the user will be
added.
reporting_to_zuid
String User ID of the user's reporting to.
work_location
String Work location of the user
extension
String The user's extension/desk phone number
employee_id
String The user's employee ID
image_data
Base64 The profile picture of the user.
Custom Field's Unique Name
String Unique name of the custom user fields. Note : This is not a static value it can change according to the name assigned by the user Example : For a custom user field "Workplace Name", the unique name ( workplace_name ) of the field must be provided an attribute. |
Error Codes
Error Code | Description |
---|---|
operation_not_allowed | The operation is not allowed because you might be trying to update another user's profile or trying to update a user who does not belong to your Cliq organization. |
List layout attributes
List layouts are user profile information in Cliq (web,ios and android).
List layout object attributes
sections
JSON Object Grouped entities of user fields.
fields
String Denotes the list of user
fields.
sequence_number
Integer The order in which the sections are
displayed.
label
String The display value of the user field in the
user preferred language.
unique_name
String A unique identifier for the field.
system_defined
Boolean Denotes the user field that is defined by
Cliq. |
List layouts
List layouts
GET https://cliq.zoho.com/api/v2/users/layout
Response Example
{ "data": [ { "unique_name": "profile_details_android", "sections": [ { "fields": [ { "status": "enabled", "sequence_number": 1, "label": "Designation", "unique_name": "designation", "system_defined": true, "id": "1901318000001264017" }, { "status": "enabled", "sequence_number": 2, "label": "Department", "unique_name": "department", "system_defined": true, "id": "1901318000001264015" }, { "status": "enabled", "sequence_number": 3, "label": "Reporting To", "unique_name": "reportingto", "system_defined": true, "id": "1901318000001264023" }, { "status": "enabled", "sequence_number": 4, "label": "Seating Location", "unique_name": "work_location", "system_defined": true, "id": "1901318000001264005" }, { "status": "enabled", "sequence_number": 5, "label": "Employee ID", "unique_name": "employee_id", "system_defined": true, "id": "1901318000001264013" }, { "status": "enabled", "sequence_number": 6, "label": "Status", "unique_name": "status", "system_defined": true, "id": "1901318000001468001" } ], "sequence_number": 1, "label": "Work", "unique_name": "work_info", "system_defined": true }, { "fields": [ { "status": "enabled", "sequence_number": 1, "label": "Phone", "unique_name": "phone", "system_defined": true, "id": "1901318000001705005" }, { "status": "enabled", "sequence_number": 2, "label": "Mobile", "unique_name": "mobile", "system_defined": true, "id": "1901318000001264003" }, { "status": "enabled", "sequence_number": 3, "label": "Email", "unique_name": "email_id", "system_defined": true, "id": "1901318000001264011" }, { "status": "enabled", "sequence_number": 4, "label": "Extension", "unique_name": "extension", "system_defined": true, "id": "1901318000001264019" } ], "sequence_number": 2, "label": "Contact", "unique_name": "contact_info", "system_defined": true } ] } ] }
You can use this API to fetch the list layouts.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Users.READ
Quota limit
The quota limit for this API is 10 requests per minute per user
Query Params
unique_name Optional String A unique name identifier for the user field. Allowed
values: quick_view |
profile_details_android | profile_details_ios | profile_details_web |
Fetch list of user teams
Fetch list of user teams
GET https://cliq.zoho.com/api/v2/users/{userid}/teams
Response Example
{ "data": [ { "name": "Zylcal", "creation_time": "2017-10-19T08:36:24-07:00", "organization_id": "54107592", "is_active": true, "is_moderator": true, "description": "Team working on the Zylker Calendar", "team_id": 655249742, "joined": true, "participant_count": 9 }, { "name": "Zylker Website Revamp", "creation_time": "2019-09-05T21:31:30-07:00", "organization_id": "54107592", "is_active": true, "is_moderator": true, "description": "To revamp Zylker's Website", "team_id": 695903787, "joined": true, "participant_count": 5 }, { "name": "Zylnotes", "creation_time": "2019-09-06T04:18:56-07:00", "organization_id": "54107592", "is_active": true, "is_moderator": true, "description": "Team for Zylnotes Project", "team_id": 695920980, "joined": true, "participant_count": 6 } ] }
You can use this API to fetch the list of teams that the user belongs to. Head on over here to know more about team object attributes.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Users.READ
Quota limit
The quota limit for this API is 20 requests per minute per user
Sample Userfield Object
{ "data": { "system_defined": false, "is_searchable": false, "unique_name": "workshift", "name": "Work Shift", "id": "1901318000001602017", "creation_time": "2019-06-13T22:57:01-07:00", "last_modified_time": "2019-08-14T05:13:09-07:00", "mandatory": false, "encrypted": false, "edit_permission": false, "organization_id": "631836344", "enabled": true, "type": "text_field", "label": "Work Shift", "default_value": "-" } }
Userfields
Userfields are a list of attributes (details) that are assigned to a user in Cliq. Most of the default userfields can be customized while new custom userfields can also be created to suit specific needs.
Error codes
The following error codes are supported for the userfields REST API:
FIELD_INVALID_VALUE_FOR_NUMERIC_FIELD
String The value you have entered for the field is not a
number
FIELD_INVALID_VALUE_FOR_URL_FIELD
String The value you have entered for the field is not a URL
FIELD_EDIT_NOT_ALLOWED
String You do not have permission to edit the field
FIELD_SYSTEM_FIELD_OPTION_EDIT_NOT_ALLOWED
String You do not have permission to edit the default field
options
FIELD_SYSTEM_FIELD_NAME_EDIT_NOT_ALLOWED
String
You do not have permission to edit the default field
name
FIELD_SYSTEM_FIELD_EDIT_NOT_ALLOWED
String You do not have permission to edit the default field
FIELD_MAX_CUSTOM_FIELD_LIMIT_REACHED
String You have reached the maximum number of custom fields
supported (max = 10)
FIELD_TYPE_NOT_SUPPORTED
String The field type you have entered is not supported.
FIELDS_OPTIONS_NOT_EXIST
String The field option you have entered does not exist
|
Add a userfield
Add a userfield
POST https://cliq.zoho.com/api/v2/userfields
Sample Request
{ "name" : "Vaccinated", "type" : "drop_down", "mandatory" : true, "edit_permission" : true, "options" : ["Yes","No"] }
Response Example
{ "url": "/api/v2/userfields", "data": { "system_defined": false, "is_searchable": false, "unique_name": "vaccinated", "name": "Vaccinated", "id": "1901318000003603019", "creation_time": "2021-11-30T21:47:14-08:00", "last_modified_time": "2021-11-30T21:47:14-08:00", "mandatory": true, "encrypted": false, "edit_permission": true, "organization_id": "631836344", "enabled": true, "type": "drop_down", "label": "Vaccinated", "options": [ { "name": "No", "id": "1901318000003603023" }, { "name": "Yes", "id": "1901318000003603021" } ] } }
You can use this API to create a new custom userfield.
Note :
You can also encrypt the userfield if it contains
sensitive data.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.UserFields.CREATE
Quota limit
The quota limit for this API is 10 requests per minute per user
Request Body
name Mandatory String (max length 30) Mandatory Displays the name of the userfield.
mandatory Optional Boolean Used to specify if all users should have that field.
encrypted Optional Boolean Used to specify if the userfield should be encrypted.
edit_permission Optional Boolean Used to specify whether users can edit this field. If drop_down is selected as type the options for the drop_down should be specified using the below key
options
Array of strings should be passed in case of drop_down type field. |
Retrieve a particular userfield
Retrieve a particular userfield
GET https://cliq.zoho.com/api/v2/userfields/{field-id}
Sample Response
{ "url": "/api/v2/userfields/1901318000001602017", "data": { "system_defined": false, "is_searchable": false, "unique_name": "workshift", "name": "Work Shift", "id": "1901318000001602017", "creation_time": "2019-06-13T22:57:01-07:00", "last_modified_time": "2019-08-14T05:13:09-07:00", "mandatory": false, "encrypted": false, "edit_permission": false, "organization_id": "631836344", "enabled": true, "type": "text_field", "label": "Work Shift", "default_value": "-" } }
You can use this API to get the details of a particular userfield.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Users.READ
Quota limit
The quota limit for this API is 10 requests per minute per user
Path Params
field_id String The unique ID of the userfield you want to retrieve |
Retrieve all userfields
Retrieve all userfields
GET https://cliq.zoho.com/api/v2/userfields
Response Example
{ "url": "/api/v2/userfields", "list": [ { "system_defined": false, "is_searchable": false, "unique_name": "description", "name": "Description", "id": "1901318000003077001", "creation_time": "2021-04-15T20:34:10-07:00", "last_modified_time": "2021-08-03T21:39:06-07:00", "mandatory": true, "encrypted": false, "edit_permission": false, "organization_id": "631836344", "enabled": true, "type": "text_field", "label": "Description", "default_value": "-" }, { "system_defined": true, "is_searchable": true, "unique_name": "extension", "name": "Extension", "id": "1901318000001264019", "creation_time": "2019-02-03T23:08:33-08:00", "last_modified_time": "2019-06-13T22:57:30-07:00", "mandatory": false, "edit_permission": false, "organization_id": "631836344", "enabled": true, "type": "text_field", "label": "Extension" }, { "system_defined": false, "is_searchable": false, "unique_name": "dateofjoining", "name": "Date of Joining", "id": "1901318000001602021", "creation_time": "2019-06-13T22:58:00-07:00", "last_modified_time": "2021-08-03T21:05:20-07:00", "mandatory": false, "encrypted": false, "edit_permission": false, "organization_id": "631836344", "enabled": true, "type": "date_picker", "label": "Date of Joining", "default_value": "-" }, ] }
You can use this API to get the details of all userfields.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Users.READ
Quota limit
The quota limit for this API is 10 requests per minute per user
Update userfield details
Update userfield details
PUT https://cliq.zoho.com/api/v2/userfields/{field-id}
Sample Request
{ "name" : "Vaccinated", "options" : [ { "id" : "1901318000003603021", "name" : "Yes i have been vaccinated" }, { "id" : "1901318000003603023", "name" : "No i am yet to get vaccinated" } ] }
Sample Response
{ "url": "/api/v2/userfields/1901318000003603019", "data": { "system_defined": false, "is_searchable": false, "unique_name": "vaccinated", "name": "Vaccinated", "id": "1901318000003603019", "creation_time": "2021-11-30T21:47:14-08:00", "last_modified_time": "2021-11-30T23:32:14-08:00", "mandatory": true, "encrypted": false, "edit_permission": false, "organization_id": "631836344", "enabled": true, "type": "drop_down", "label": "Vaccinated", "default_value": "No", "options": [ { "name": "No i am yet to get vaccinated", "id": "1901318000003603023" }, { "name": "Yes i have been vaccinated", "id": "1901318000003603021" } ] } }
You can use this API to update the details of a particular userfield.
Note:
When updating the drop_down type userfields, the unique ID's of the options should be unique
i.e, they should not be repetitive. If multiple options have the same unique ID they will be replaced with one.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Userfields.UPDATE
Quota limit
The quota limit for this API is 10 requests per minute per user
Request Body
name
String (max length 30) Displays the name of the userfield.
mandatory
Boolean Used to specify if all users should have that field.
encrypted
Boolean Used to specify if the userfield should be encrypted.
edit_permission
Boolean Used to specify whether users can edit this field. If drop_down is selected as type the options for the drop_down should be specified using the below key
options
Array of strings should be passed in case of drop_down type field. |
Note that the old options must also be mentioned in the updated list or they will be deleted
Delete a userfield
Delete a userfield
DELETE https://cliq.zoho.com/api/v2/userfields/{field-id}
Sample Response
Status code : 204 will be displayed on successful deletion.
Required OAuth Scope:
This API can be accessed with the OAuth scope : ZohoCliq.Userfields.DELETE
Quota limit
The quota limit for this API is 10 requests per minute per user
Sample User Status Object
{ "data": { "code": "available", "message": "Opportunities don't happen. You create them.", "id": 1775998000034475976 } }
User Status
Use the user status API to create, get, update or delete your status on Cliq. You can also retrieve status of another user by giving their User ID. To know more about the user status in Cliq, head to our help guide.
Required OAuth Scope:
OAuth scope for all User Status APIs:
ZohoCliq.Profile.CREATE
ZohoCliq.Profile.READ
ZohoCliq.Profile.DELETE
Quota limit
The quota limit for this API is 10 requests per minute per user
The User Status Object Attributes
code
String Denotes the status (Available, Busy, and Invisible) in Cliq.
message
String Denotes the status message in Cliq.
id
Long Denotes a unique ID of your status in Cliq. |
Add a new status
Add a new status
POST https://cliq.zoho.com/api/v2/statuses
Payload
{ "code":"busy", "message":"In a Meeting" }
Response Example
{ "data": { "code": "busy", "message": "In a Meeting", "id": 1775998000034476000 } }
Use this API to add a new status in Cliq.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Profile.CREATE
Quota limit
The quota limit for this API is 20 requests per minute per user
Request Body
code Mandatory String Denotes the status in Cliq. Allowed values: busy|available|invisible message Mandatory String Denotes the status message in Cliq. |
Add a transient status
Add a transient status
PUT https://cliq.zoho.com/api/v2/statuses/ephemeral
Payload
{ "code":"busy", "message":"Busy at work", "expiry":1641883476276 }
Response Example
Response Code: 204 No response
Use this API to add a temporary status in Cliq.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Profile.UPDATE
Quota limit
The quota limit for this API is 20 requests per minute per user
Request Body
code Mandatory String Denotes the status in Cliq. Allowed values: busy|available|invisible message Mandatory String Denotes the status message in Cliq. expiry Mandatory Long Denotes the time till which the transient status is active
|
Retrieve current status
Retrieve current status
GET https://cliq.zoho.com/api/v2/statuses/current
Response Example
{ "data": { "code": "busy", "message": "All progress takes place outside the comfort zone", "id": 1775998000034476000 } }
Fetch your current status in Cliq using this API.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Profile.READ
Quota limit
The quota limit for this API is 20 requests per minute per user
Retrieve a user's status
Retrieve a user's status
GET https://cliq.zoho.com/api/v2/users/{USER_ID}?fields=chat_status
Response Example
{ "data": { "state": "busy", "activity": "web", "text": "In a meeting" } }
Fetch your current status in Cliq using this API.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Users.READ
Quota limit
The quota limit for this API is 20 requests per minute per user
Update current status
Update current status
PUT https://cliq.zoho.com/api/v2/statuses/{status_id}/set
Response Example
{ "url": "/api/v2/statuses/{status_id}/set", "type": "status_message", "data": { "code": "available", "message": "11", "id": "45874000000147003" } }
Use these APIs to update a given status ID as the current status. Retrieve the status ID using Retrieve All Statuses API.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Profile.UPDATE
Quota limit
The quota limit for this API is 20 requests per minute per user
Retrieve all statuses
Retrieve all statuses
GET https://cliq.zoho.com/api/v2/statuses
Response Example
{ "data": [ { "message": "Arise awake and stop not till the goal is reached", "id": 1775998000028408800 }, { "message": "Coffee break", "id": 1775998000030383900 }, { "message": "The successful warrior is the average man, with laser-like focus.", "id": 1775998000030537200 }, { "message": "Opportunities don't happen. You create them.", "id": 1775998000034330400 }, { "message": "All progress takes place outside the comfort zone", "id": 1775998000034476000 } ] }
Use this API to retrieve the list of all your statuses in Cliq.
Note:This API does not return default status. You'll get the list of all the custom statuses you've set on Cliq.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Profile.READ
Quota limit
The quota limit for this API is 20 requests per minute per user
Delete status
Delete status
DELETE https://cliq.zoho.com/api/v2/statuses/{status_id}
Response Example
Response Code: 204 No response
Use this API to delete a status in Cliq.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Profile.DELETE
Quota limit
The quota limit for this API is 20 requests per minute per user
Delete transient status
Delete transient status
DELETE https://cliq.zoho.com/api/v2/statuses/ephemeral
Response Example
Response Code: 204 No response
Use this API to delete a status in Cliq.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Profile.DELETE
Quota limit
The quota limit for this API is 20 requests per minute per user
Sample Department Object
{ "data": { "members_count": "7", "lead": { "id": "631830849", "organization_id": "631836344", "zoid": "54107592", "display_name": "Scott Fisher", "email_id": "scott.fisher@zylker.com", "zuid": "631830849", "name": "Scott Fisher" }, "name": "Marketing", "parent_department_id": "1901318000001424001", "lead_zuid": "631830849", "is_default": false, "id": "1901318000001071015" } }
Departments
Departments on Cliq are used to denote a group of members who are mapped to your organization department. For example, Sales, Marketing, Product Development etc.
Note: If your organization is integrated with Zoho People, these department APIs will not work -
Create, Update, Delete
Required OAuth Scope:
OAuth scope for all Department APIs: ZohoCliq.Departments.ALL
This scope will give the basic CRUD access to all Department APIs.
The Department Object Attributes
name
String The department's name.
id
String The department's ID.
parent_department_id
String ID of the parent department under which this department will
be
associated and listed.
lead
JSON Object Profile information of the department lead. Refer the user's
profile
attributes here.
lead_zuid
String User ID of the department lead. To get a user's ID refer here.
members_count
String Total number of members in the department.
is_default
Boolean If true, it denotes that the depart is the default department
in the
organization. |
Create a Department
Create a Department
POST https://cliq.zoho.com/api/v2/departments Payload: { "lead_zuid":"67839566", "name":"Zylker Support", "parent_department_id":"190135625778924001", "user_ids":[ "163319973", "673890827", "654321789" ] }
Response Example
{ "data": { "lead": { "id": "631830849", "organization_id": "631836344", "zoid": "54107592", "display_name": "Scott Fisher", "email_id": "scott.fisher@zylker.com", "zuid": "631830849", "name": "Scott Fisher" }, "name": "Zylker APAC Sales", "parent_department_id": "1901318000001424001", "lead_zuid": "631830849", "is_default": false, "id": "1901318000002280001" } }
You can use this API to create a department. This API will not return success if your Cliq Organization is integrated with Zoho People.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Departments.CREATE
Quota limit
The quota limit for this API is 30 requests per minute per user
Request Body
name Mandatory String Name of the department you're creating. lead_zuid Mandatory String ID of the user who'll be added as the Department lead. parent_department_id Mandatory String ID of the parent department. user_ids Optional Array List List of user ID's who'll be added as department members.
|
Error Codes
Error Code | Description |
---|---|
operation_not_allowed | The operation is not allowed. This might also be because you are using Zoho People to manage your departments. |
not_an_organization_admin | User who is not an organization admin tries to creat a department. |
not_zoho_organization_user | User does not belong to the Cliq organization. |
department_lead_needed | Department lead's user ID is not provided. |
department_lead_invalid | The user ID of the department lead is not valid or the user does not belong to your Cliq organization. |
departmet_parent_department_needed | Parent department ID is not provided. |
department_not_exist | Parent department ID is not valid. |
department_create_failed | Internal server error occurred. |
Get Department Details
Get Department Details
GET https://cliq.zoho.com/api/v2/departments/{department_id}
Response Example
{ "data": { "members_count": "7", "lead": { "id": "631830849", "organization_id": "631836344", "zoid": "54107592", "display_name": "Scott Fisher", "email_id": "scott.fisher@zylker.com", "zuid": "631830849", "name": "Scott Fisher" }, "name": "Marketing", "parent_department_id": "1901318000001424001", "lead_zuid": "631830849", "is_default": false, "id": "1901318000001071015" } }
You can use this API to get details of a department.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Departments.READ
If your organization is integrated with Zoho People, add this sope: ZohoPeople.forms.READ
Quota limit
The quota limit for this API is 30 requests per minute per user
Get Department Members
Get Department Members
GET https://cliq.zoho.com/api/v2/departments/{department_id}/members
Response Example
{ "data": [ { "email_id": "amelia.b@zylker.com", "zuid": "636000786", "zoid": "54107592", "display_name": "Amelia", "name": "Amelia Burrows", "organization_id": "631836344", "id": "636000786" }, { "email_id": "abraham@zylker.com", "zuid": "642339901", "zoid": "54107592", "display_name": "Abraham", "name": "Abraham ", "organization_id": "631836344", "id": "642339901" }, { "email_id": "micheller@zylker.com", "zuid": "54218474", "zoid": "54107592", "display_name": "Michelle", "name": "Michelle Rodrigues", "organization_id": "631836344", "id": "54218474" }, { "email_id": "abigail@zylker.com", "zuid": "642339464", "zoid": "54107592", "display_name": "Abigail", "name": "Abigail ", "organization_id": "631836344", "id": "642339464" } ] }
You can use this API to get the list of all the department members.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Departments.READ
If your org is integrated with Zoho People, add this sope: ZohoPeople.dashboard.READ
Quota limit
The quota limit for this API is 30 requests per minute per user
Update Department
Update Department
PUT https://cliq.zoho.com/api/v2/departments/{department_id} Payload: { "name":"Zylker APAC Support" }
Response Example
{ "data": { "lead": { "id": "631830849", "organization_id": "631836344", "zoid": "54107592", "display_name": "Scott Fisher", "email_id": "scott.fisher@zylker.com", "zuid": "631830849", "name": "Scott Fisher" }, "name": "Zylker APAC Support", "parent_department_id": "1901318000001424001", "lead_zuid": "631830849", "is_default": false, "id": "1901318000001071015" } }
You can use this API to update details of a department. This API will not return success if your Cliq Organization is integrated with Zoho People.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Departments.UPDATE
Quota limit
The quota limit for this API is 30 requests per minute per user
Request Body
name Mandatory String Name of the department you're creating. lead_zuid Mandatory String ID of the user who'll be added as the Department lead. parent_department_id Optional String ID of the parent department. user_ids Mandatory Array List List of user ID's who'll be added as department members.
|
Error Codes
Error Code | Description |
---|---|
operation_not_allowed | The operation is not allowed. This might also be because you are using Zoho People to manage your departments. |
not_an_organization_admin | User who is not an organization admin tries to creat a department. |
not_zoho_organization_user | User does not belong to the Cliq organization. |
department_already_exist | Department with given name already exists. |
department_lead_invalid | The user ID of the department lead is not valid or the user does not belong to your Cliq organization. |
department_not_exist | Parent department ID or given department ID is not valid. |
department_cyclic_loop | A child department ID is being assigned as the parent department. |
department_edit_failed | Internal server error occurred. |
Add Department Members
Add Department Members
POST https://cliq.zoho.com/api/v2/departments/{department_id}/members Payload: { "user_ids":[ "1234567", "9875466", "3456789" ] }
Response Example
204 No Content
You can use this API to add members to a department. This API will not return success if your Cliq Organization is integrated with Zoho People.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Departments.UPDATE
Quota limit
The quota limit for this API is 30 requests per minute per user
Request Body
email_ids Mandatory Array List of email IDs of all the members who'll be added to the
department.
|
Error Codes
Error Code | Description |
---|---|
operation_not_allowed | The operation is not allowed. This might also be because you are using Zoho People to manage your departments. |
not_an_organization_admin | User who is not an organization admin tries to creat a department. |
not_zoho_organization_user | User does not belong to the Cliq organization. |
department_not_exist | Parent department ID or the given department ID is not valid. |
department_add_member_failed | Internal server error occurred. |
Delete Department Members
Delete Department Members
DELETE https://cliq.zoho.com/api/v2/departments/{department_id}/members Payload: { "user_ids":[ "169917679", "123456799" ] }
Response Example
204 No Content
You can use this API to delete members from a department.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Departments.DELETE
Quota limit
The quota limit for this API is 30 requests per minute per user
Request Body
user_ids Mandatory Array The list of all department IDs to be deleted. |
Error Codes
Error Code | Description |
---|---|
operation_not_allowed | The operation is not allowed. This might also be because you are using Zoho People to manage your departments. |
not_an_organization_admin | User who is not an organization admin tries to creat a department. |
not_zoho_organization_user | User does not belong to the Cliq organization. |
department_not_exist | Parent department ID or the given department ID is not valid. |
department_delete_member_failed | Internal server error occurred. |
Delete Department
Delete Department
DELETE https://cliq.zoho.com/api/v2/departments/{department_id}
Response Example
204 No Content
You can use this API to delete members from a department.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Departments.DELETE
Quota limit
The quota limit for this API is 30 requests per minute per user
Error Codes
Error Code | Description |
---|---|
operation_not_allowed | The operation is not allowed. This might also be because you are using Zoho People to manage your departments. |
not_an_organization_admin | User who is not an organization admin tries to creat a department. |
not_zoho_organization_user | User does not belong to the Cliq organization. |
department_not_exist | Parent department ID is not valid or given department ID is not valid. |
department_base_dept_delete_not_allowed | Parent department cannot be deleted. |
department_delete_failed | Internal server error occurred. |
List all Departments
List all Departments
GET https://cliq.zoho.com/api/v2/departments
Response Example
{ "data": [ { "name": "Zylker Widgets Inc", "is_default": true, "id": "1901318000001071001" }, { "members_count": "7", "lead": { "name": "Scott Fisher", "id": "631830849", "country": "us", "email_id": "scott.fisher@zylker.com", "zoid": "54107592", "timezone": "Asia/Kolkata", "first_name": "Scott", "full_name": "Scott Fisher", "zuid": "631830849", "display_name": "Scott Fisher", "last_name": "Fisher" }, "name": "Marketing", "parent_department_id": "1901318000001424001", "lead_zuid": "631830849", "is_default": false, "id": "1901318000001071015" } ] "next_token": "2a4e39fab27032f106ced7277c5b336d" }
You can use this API to get the list of all departments in your organization.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Departments.READ
If your organization is integrated with Zoho People, add this sope: ZohoPeople.employee.READ
Quota limit
The quota limit for this API is 30 requests per minute per user
Query Params
limit Optional String The total number of departments to be fetched. If limit is
not specified,
a maximum of 25 departments will be returned for a request. search Optional String A string to search for departments by name. Note: This
param is
mandatory if your Cliq organization is integrated with Zoho People. next_token Optional String Use this parameter to fetch the next set of departments.
|
Roles
You can set up roles for a group of users and configure distinct access permissions for various features in Zoho Cliq. It should be noted that you must be an admin to access these APIs.
Required OAuth Scope:
OAuth scope for all Roles APIs: ZohoCliq.Roles.ALL
Get Roles
Get Roles
GET https://cliq.zoho.com/api/v2/profiles
https://cliq.zoho.com/api/v2/profiles/{PROFILE_ID}
Response Example
{ "data": [ { "is_custom_admin": false, "name": "Admin", "creation_time": "2020-08-10T12:27:35+05:30", "last_modified_time": "2020-08-10T12:27:35+05:30", "organization_id": "62914174", "is_default": true, "profile_type": "Admin", "id": "42405000000004047" }, { "is_custom_admin": false, "name": "Members", "creation_time": "2020-08-10T12:27:35+05:30", "last_modified_time": "2020-08-10T12:27:35+05:30", "organization_id": "62914174", "is_default": true, "profile_type": "Members", "id": "42405000000004049" }, { "name": "Test Member", "id": "42405000000189003", "profile_type": "Members", "creation_time": "2022-02-17T15:37:39+05:30", "last_modified_time": "2022-02-17T15:37:39+05:30", "organization_id": "62914174", "is_default": false, "description": "123", "is_custom_admin": false } ] }
You can use this API to fetch all available roles in your organization. If you want to fetch a specific role, you will have to pass the unique id of the role in the request URL.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Organisation.READ
Quota limit
The quota limit for this API is 30 requests per minute per user
Create a Role
Create a Role
POST https://cliq.zoho.com/api/v2/profiles
Payload
{ "name": "Marketing", "description": "Role for Marketing members", "profile_type": "Cliq Admin", "clone_id": "42405000000223003", "user_ids": ["67579763"] }
Response Example
{ "data": { "name": "Marketing", "id": "42405000000224001", "profile_type": "Cliq Admin", "creation_time": "2022-05-16T18:03:51+05:30", "last_modified_time": "2022-05-16T18:03:51+05:30", "organization_id": "62914174", "is_default": false, "description": "Role for Marketing members", "is_custom_admin": true } }
You can use this API to create a custom role in your organization
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Organisation.CREATE
Quota limit
The quota limit for this API is 30 requests per minute per user
Request Body
name String Name of the role to be created profile_type String Allowed values: Members | Cliq Admin | Admin Type of the role Members - No admin access Cliq Admin - Admin access without organization resource access Admin - Admin access user_ids Array of Strings Array of user ids to be added to the created role description String Description of the role clone_id String Role ID from which permissions should be copied |
Edit a Role
Edit a Role
PUT https://cliq.zoho.com/api/v2/profiles/{PROFILE_ID}
Payload
{ "name": "Marketing Leads", "description": "Role for marketing team leaders" }
Response Example
Status code : 204 will be displayed on a successful update.
You can use this API to update a role in your organization
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Organisation.UPDATE
Quota limit
The quota limit for this API is 30 requests per minute per user
Request Body
name String Updated name of the role description String Updated description of the role |
Delete a Role
Delete a Role
DELETE https://cliq.zoho.com/api/v2/profiles/{PROFILE_ID}
Response Example
Status code : 204 will be displayed on successful deletion.
You can use this API to delete a role in your organization
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Organisation.UPDATE
Quota limit
The quota limit for this API is 30 requests per minute per user
Get permissions of a role
Get permissions of a Role
GET https://cliq.zoho.com/api/v2/profiles/{PROFILE_ID}/permissions
Response Example
{ "group_audio_call":{ "is_admin_module":false, "status":"enabled", "actions":{ "start":"enabled" } }, }
You can use this API to get the permissions of a role in your organization
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Organisation.READ
Quota limit
The quota limit for this API is 30 requests per minute per user
Update permission in a role
Update permissions of a Role
PUT https://cliq.zoho.com/api/v2/profiles/{PROFILE_ID}/permissions
Payload
{ "list": [ { "module": "organisation_member", "action": "attachments", "status": "disabled" }, { "module": "direct_message", "configs": [ { "name": "profile_based_restricted_reply_time_frame", "value": 345600000 } ] } ] }
Response Example
Status code : 204 will be displayed on a successful update.
You can use this API to update a role in your organization
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Organisation.UPDATE
Quota limit
The quota limit for this API is 30 requests per minute per user
Request Body
status String Status of the module to be updated action String Action of the module to be updated with status module String Name of the module configs Array An array of the name and value of profile configurations to be
updated |
Get users in a role
Get users in a role
GET https://cliq.zoho.com/api/v2/profiles/{PROFILE_ID}/users
Response Example
{ "data": [ { "user_id": "62913657" }, { "user_id": "63569660" }, { "user_id": "67580202" } ] }
You can use this API to get all the users in a specific role
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Organisation.READ
Quota limit
The quota limit for this API is 30 requests per minute per user
Add users to a role
Add users to a role
POST https://cliq.zoho.com/api/v2/profiles/{PROFILE_ID}/users
Payload
{ "user_ids": [ "69597662" ] }
Response Example
Status code : 204 will be displayed on successful addition.
You can use this API to add users to a specific role
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Organisation.UPDATE
Quota limit
The quota limit for this API is 10 requests per minute per user
Request Body
user_id String The unique id of the user |
Delete users from a role
Delete users from a role
DELETE https://cliq.zoho.com/api/v2/profiles/{PROFILE_ID}/users
Payload
{ "user_ids": [ "69597662" ] }
Response Example
Status code : 204 will be displayed on successful deletion.
You can use this API to delete users from a specific role
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Organisation.UPDATE
Quota limit
The quota limit for this API is 10 requests per minute per user
Request Body
user_id String The unique id of the user |
Sample Designation Object
{ "data": { "name": "Leaders", "id": "1901318000001072003" } }
Designation
Designation on Cliq refers to the post or title that a user holds in an organization. For example, Developer, Sales Executive, Customer Support Manager etc.
If your organization is integrated with Zoho People, none of the Designation APIs will work
Required OAuth Scope:
OAuth scope for all Designation APIs: ZohoCliq.Designations.ALL
This scope will give the basic CRUD access to all Designation APIs.
The Designation Object Attributes
name
String The designation title.
id
String Unique ID associated with the designation. |
Create a Designation
Create a Designation
POST https://cliq.zoho.com/api/v2/designations Payload: { "name":"Marketing Executive", "user_ids":[ "54218474" ] }
Response Example
{ "data": { "name": "Marketing Executive", "id": "1901318000002280003" } }
You can use this API to create a designation. This API will not return success if your Cliq Organization is integrated with Zoho People.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Designations.CREATE
Quota limit
The quota limit for this API is 30 requests per minute per user
Request Body
name Mandatory String Name of the designation you're creating. Maximum allowed
characters: 30
user_ids Optional Array Id's of the users who will be associated with the designation.
|
Error Codes
Error Code | Description |
---|---|
operation_not_allowed | The operation is not allowed. This might also be because you are using Zoho People to manage your designations. |
not_an_organization_admin | User who is not an organization admin tries to creat a designation. |
not_zoho_organization_user | User does not belong to the Cliq organization. |
designation_already_exist | Designation with given name already exists. |
designation_create_failed | Internal server error occurred. |
Get Designation Details
Get Designation Details
GET https://cliq.zoho.com/api/v2/designations/{designation_id}
Response Example
{ "data": { "name": "Leadership Staff", "id": "1901318000001072003" } }
You can use this API to get details of a designation.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Designations.READ
Quota limit
The quota limit for this API is 30 requests per minute per user
Get Designation Members
Get Designation Members
GET https://cliq.zoho.com/api/v2/designations/{designation_id}/members
Response Example
{ "data": [ { "email_id": "micheller@zylker.com", "zuid": "54218474", "zoid": "54107592", "display_name": "Michelle", "name": "Michelle Rodrigues", "organization_id": "631836344", "id": "54218474" }, { "email_id": "bpearson@zylker.com", "zuid": "54107593", "zoid": "54107592", "display_name": "Bankston", "name": "Bankston Pearson", "organization_id": "631836344", "id": "54107593" } ] }
You can use this API to get members who are associated with a designation.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Designations.READ
Quota limit
The quota limit for this API is 30 requests per minute per user
Query Params
limit Optional String Define the maximum number of members to be fetched in one
request. next_token Optional String Use this parameter to fetch the next set of departments. |
Error Codes
Error Code | Description |
---|---|
designation_not_exist | The provided Designation ID does not exist. |
Update Designation
Update Designation
PUT https://cliq.zoho.com/api/v2/designations/{designation_id} Payload: {"name":"Leaders"}
Response Example
{ "data": { "name": "Leaders", "id": "1901318000001072003" } }
You can use this API to update a designation's title. This API will not return success if your Cliq Organization is integrated with Zoho People.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Designations.UPDATE
Quota limit
The quota limit for this API is 30 requests per minute per user
Request Body
name Mandatory String Denotes the designation title. |
Error Codes
Error Code | Description |
---|---|
operation_not_allowed | The operation is not allowed. This might also be because you are using Zoho People to manage your designations.. |
not_an_organization_admin | User who is not an organization admin tries to creat a designation. |
not_zoho_organization_user | User does not belong to the Cliq organization. |
designation_not_exist | The provided Designation ID does not exist. |
designation_already_exist | Designation with given name already exists. |
designation_edit_failed | Internal server error occurred. |
Add Designation Members
Add Designation Members
POST https://cliq.zoho.com/api/v2/designations/{designation_id}/members Payload: { "user_ids":[ "1234567", "9876543" ] }
Response Example
204 No Content
You can use this API to update a designation's details. This API will not return success if your Cliq Organization is integrated with Zoho People.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Designations.UPDATE
Quota limit
The quota limit for this API is 30 requests per minute per user
Request Body
user_ids Mandatory Array The list of user Ids to be associated with the designation.
|
Error Codes
Error Code | Description |
---|---|
operation_not_allowed | The operation is not allowed. This might also be because you are using Zoho People to manage your designations.. |
not_an_organization_admin | User who is not an organization admin tries to creat a designation. |
not_zoho_organization_user | User does not belong to the Cliq organization. |
designation_not_exist | The provided Designation ID does not exist. |
Delete Designation Members
Delete Designation Members
DELETE https://cliq.zoho.com/api/v2/designations/{designation_id}/members Payload: { "user_ids":[ "169917679", "123456799" ] }
Response Example
204 No Content
You can use this API to delete members associated with a designation.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Designations.DELETE
Quota limit
The quota limit for this API is 30 requests per minute per user
Request Body
user_ids Mandatory Array The list of all user IDs to be deleted. |
Error Codes
Error Code | Description |
---|---|
operation_not_allowed | The operation is not allowed. This might also be because you are using Zoho People to manage your designations.. |
not_an_organization_admin | User who is not an organization admin tries to creat a designation. |
not_zoho_organization_user | User does not belong to the Cliq organization. |
designation_not_exist | The provided Designation ID does not exist. |
Delete Designation
Delete Designation
DELETE https://cliq.zoho.com/api/v2/designations/{designation_id}
Response Example
204 No Content
You can use this API to delete a designation.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Designations.DELETE
Quota limit
The quota limit for this API is 30 requests per minute per user
Error Codes
Error Code | Description |
---|---|
operation_not_allowed | The operation is not allowed. This might also be because you are using Zoho People to manage your designations.. |
not_an_organization_admin | User who is not an organization admin tries to creat a designation. |
not_zoho_organization_user | User does not belong to the Cliq organization. |
designation_not_exist | The provided Designation ID does not exist. |
List all Designations
List all Designations
GET https://cliq.zoho.com/api/v2/designations
Response Example
{ "data": [ { "name": "Leadership Staff", "id": "1901318000001072003" }, { "name": "Web Developer", "id": "1901318000001072007" }, { "name": "Content Writer", "id": "1901318000001072013" }, { "name": "UX Designer", "id": "1901318000001072019" }, { "name": "iOS Developer", "id": "1901318000001072025" } ] }
You can use this API to get the list of all designations in your organization.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Designations.READ
Quota limit
The quota limit for this API is 30 requests per minute per user
Query Params
limit Optional String The total number of departments to be fetched. search Optional String A string to search for designations by the name. |
Remote work
Use the remote work APIs to get check in/check out and also get your remote work status. To know more about remote work head over to our help guide.
Get remote status
Get remote status
GET https://cliq.zoho.com/api/v2/me?source=remote_tools
Response Example
{ "duration": 15021, "location": false, "checkin_time": 1678080540000, "employee_id": "10690", "first_name": "John", "reportingto": { "name": "Scott Fisher", "id": "3321451", "country": "in", "email_id": "scott.fisher@zylker.com", "status": "samezohoorg", "zoid": "123456", "timezone": "Asia/Kolkata", "first_name": "Scott", "full_name": "Scott Fisher", "zuid": "33155149", "display_name": "Scott", "iamuid": 123456, "last_name": "Fisher" }, "checkin_status_text": "Remote In", "mobile": "9999999999", "type": "paid", "zoid": "456089", "live_feed_status": "disabled", "iamuid": 12345678, "organization_id": "64396901", "email_id": "ryan.west@zylker.com", "work_location": "Mumbai", "recent_departments": [ { "name": "Marketing", "time": 1678094073202, "id": "3849429204820" } ], "checkin_allowed": true, "zuid": "12345678", "id": "12345678", "timeoffset": 19800000, "timezone": "Asia/Kolkata", "language": "English", "status": { "code": "3", "message": "Busy" }, "country": "India", "department": { "name": "Marketing", "id": "3849429204820" }, "last_name": "West", "full_name": "Ryan West", "designation": { "name": "Marketing Associate", "id": "290939409389008" }, "checkin_status": true, "organisation_members_count": 500, "image_url": "https://people.zoho.com/api/viewEmployeePhoto?filename=123412345676", "display_name": "Ryan West", "name": "Ryan West"
You can use this API to get your remote status.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Profile.READ, ZohoCliq.Profile.UPDATE
If you are integrated with Zoho People, add these
scopes: ZohoPeople.forms.READ, ZohoPeople.employee.READ, ZohoPeople.attendance.READ, ZohoPeople.attendance.UPDATE
Quota limit
The quota limit for this API is 20 requests per minute per user
Check in
Check in
PUT https://cliq.zoho.com/api/v2/me/checkin
Response Example
{ "checkin_allowed": true, "checkin_time": 1678080540000, "checkin_status_text": "Remote In", "location": false, "checkin_status": true, "live_feed_status": "disabled", "user_status_preference": { "is_onboarded": "1", "check_in": { "status": { "status_id": "1775998001162118795", "message": "Busy", "code": "busy" }, "preference": "custom_status" } }, "duration": 9564 }
You can use this API to check in remotely.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Profile.READ, ZohoCliq.Profile.UPDATE
If you are integrated with Zoho People, add these
scopes: ZohoPeople.forms.READ, ZohoPeople.employee.READ, ZohoPeople.attendance.READ, ZohoPeople.attendance.UPDATE
Quota limit
The quota limit for this API is 20 requests per minute per user
Check out
Check out
PUT https://cliq.zoho.com/api/v2/me/checkout
Response Example
{ "checkin_allowed": true, "checkin_time": 1678080540000, "checkin_status_text": "Out", "location": false, "checkin_status": false, "live_feed_status": "disabled", "user_status_preference": { "check_out": { "status": { "status_id": "1775998001162118813", "message": "Away", "code": "away" }, "preference": "custom_status" }, "is_onboarded": "1" }, "duration": 9600 }
You can use this API to check out remotely.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Profile.READ, ZohoCliq.Profile.UPDATE
If you are integrated with Zoho People, add these
scopes: ZohoPeople.forms.READ, ZohoPeople.employee.READ, ZohoPeople.attendance.READ, ZohoPeople.attendance.UPDATE
Quota limit
The quota limit for this API is 20 requests per minute per user
Sample Chat Object
{ "name": "Taz", "creation_time": "2019-01-03T00:24:48-08:00", "last_modified_time": "2019-07-24T03:13:12-07:00", "removed": false, "chat_id": "CT_2230748078536646675_631836344-B1", "last_message_info": { "sender_id": "631830849", "message_type": "text", "time": "2019-07-24T03:13:12-07:00", "text": "https://cliq.zoho.com/api/v2/chats?limit=5&modified_before=1563162010000&modified_after=1563507610000&drafts=false", "sender_name": "Scott - Project Manager" } }
Chats
Chats are places where the conversation takes place from anything to everything- tasks assigned, events scheduled, brainstorming new ideas, discussions on latest technology and internal queries.
Retrieve all direct chats
Retrieve all direct chats
GET https://cliq.zoho.com/api/v2/chats
Response Example
{ "chats": [ { "name": "Taz", "creation_time": "2019-08-07T01:11:27-07:00", "creator_id": "631830849", "last_modified_time": "2019-10-21T20:30:02-07:00", "removed": false, "recipients_summary": [ { "user_id": "631830849", "name": "Scott Fisher" } ], "chat_type": "bot", "chat_id": "CT_2230748078536646675_631836344-B1", "last_message_info": { "sender_id": "b-1901318000000082001", "message_type": "text", "styles": { "highlight": true }, "time": "2019-10-21T20:30:02-07:00", "text": "The Morning Feed scheduler execution failed due to Error due to - 'UnAuthenticated Connection: 2250-631836344-zoho_db' (Line No : ) \n*Morning Feed* is requesting permission to access your *Zoho OAuth* account.\n [Allow Access](https://deluge.zoho.com/delugeauth/authenticateConnections/Public__631836344__631830849__5000000003338105)", "sender_name": "Taz" }, "pinned": false, "participant_count": 1 }, { "name": "Scrum Bot", "creation_time": "2019-10-02T02:34:45-07:00", "creator_id": "631830849", "last_modified_time": "2019-10-21T03:33:09-07:00", "removed": false, "recipients_summary": [ { "user_id": "631830849", "name": "Scott Fisher" } ], "chat_type": "chat", "chat_id": "2242135691980347663", "last_message_info": { "sender_id": "631830847", "message_type": "text", "styles": { "highlight": true }, "time": "2019-10-16T04:30:40-07:00", "text": "*Zylker Marketing Openhouse Q3* just ended. :relaxed: \nNow it's time for takeaways, just a point or two will do.\nI'll have them safe, Scout's honour! :wink:", "bot": { "name": "Zia", "image_url": "https://img.zohostatic.com/chat/default/officechat/images/default/event-bot.png" }, "sender_name": "Abigail Anderson " }, "pinned": false, "participant_count": 3 }, { "name": "Ryan West", "creation_time": "2019-10-15T03:37:28-07:00", "creator_id": "631830848", "last_modified_time": "2019-10-15T03:37:28-07:00", "removed": false, "recipients_summary": [ { "user_id": "631830848", "name": "Ryan West" }, { "user_id": "631830849", "name": "Scott Fisher" } ], "chat_type": "dm", "chat_id": "2230748224630350194", "last_message_info": { "sender_id": "631830849", "message_type": "text", "time": "2019-09-12T00:35:18-07:00", "text": "https://cliq.zoho.com/channels/marketingyw", "sender_name": "Scott Fisher" }, "pinned": false, "participant_count": 2 }, { "name": "IOS ISsue", "creation_time": "2019-09-12T00:32:36-07:00", "creator_id": "631830849", "last_modified_time": "2019-09-12T00:34:49-07:00", "removed": false, "recipients_summary": [ { "user_id": "631830849", "name": "Scott Fisher" }, { "user_id": "631830850", "name": "Lewis - QA" }, { "user_id": "630943831", "name": "Amelia Burrows" } ], "chat_type": "chat", "chat_id": "2243208694635997756", "last_message_info": { "sender_id": "631830849", "message_type": "text", "time": "2019-09-12T00:34:49-07:00", "text": "https://cliq.zoho.com/chats/2230748224630350194/messages/1566536242946_729017618142", "sender_name": "Scott Fisher" }, "pinned": false, "participant_count": 3 } ] }
You can use this API to get details of all direct chats.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Chats.READ
Quota limit
The quota limit for this API is 30 requests per minute per user
Query Params
limit Optional Integer The number of chats that has to be retrieved. Maximum limit
will be 100.
modified_before Optional Timestamp Gets the list of chats where the last message is sent before
the mentioned
time. modified_after Optional Timestamp Gets the list of chats where the last message is sent after
the mentioned
time. drafts optional Boolean If drafts=true, gets the list of chats which
have draft.
|
Retrieve members
Retrieve the members of a chat
GET https://cliq.zoho.com/api/v2/chats/{chat_id}/members
Response Example
{ "members": [ { "user_id": "431930546", "email_id": "olivia.palmer@zylcal.com", "name": "Olivia - Content Writer" }, { "user_id": "531930850", "email_id": "scott.fisher@zylcal.com", "name": "Scott - Project Manager" } ] }
You can use this API to get details of members of a chat.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Chats.READ
Quota limit
The quota limit for this API is 30 requests per minute per user
Query Params
fields Optional String Use this parameter to get details of members who are
participating in a
conversation.
Allowed values: name | email_id | user_id
|
Mute a chat
Mute a chat
POST https://cliq.zoho.com/api/v2/chats/{chat_id}/mute
Response Example
Response code: 204 No Content
You can use this API to mute a chat.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Chats.UPDATE
Quota limit
The quota limit for this API is 50 requests per minute per user
Unmute a chat
Unmute a chat
POST https://cliq.zoho.com/api/v2/chats/{chat_id}/unmute
Response Example
Response code: 204 No Content
You can use this API to unmute a chat.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Chats.UPDATE
Quota limit
The quota limit for this API is 50 requests per minute per user
Pinned message attributes
Keep track of important messages shared in a conversation by pinning them to the chat header. Clicking a pinned message will point you to the message in the chat window.
Pinned message object attributes
expiry_time
Long Denotes the time span until which the message will remain
pinned.
creator
JSON Object Details of the user who pins a message.
name
String Name of the user pinning the message.
id
String The users unique ID.
message
JSON Object Details of the message sent in a channel.
msg
String Denotes the message to be pinned.
sender
String Denotes the sender's unique ID.
lmsgtime
String Denotes the last message time before the pinned message.
msguid
String Unique ID of the message.
time
String Denotes the time at which the pinned message was sent.
dname
String Denotes the display name of the message sender.
created_time
Timestamp The time at which the message was pinned.
last_modified_time
Timestamp Denotes the time at which the changes were last made to the
pinned
message.
chat_id
Long Unique chat ID of the pinned message. |
Pin a message
Pin a message
POST https://cliq.zoho.com/api/v2/chats/{chat_id}/stickymessage
Payload
{ "id": 1573708648341_375412769224, "expiry_time": -1, "notify": false }
Response Example
{ "data": { "expiry_time": -1, "creator": { "name": "Scott Fisher", "id": "690440148" }, "message": { "msg": "meeting at 4", "sender": "690440148", "lmsgtime": "1573708493055", "msguid": "1573708648341%20375412769224", "time": "1573708648341", "dname": "Scott Fisher" }, "created_time": 1573708712431, "last_modified_time": 1573708712431, "chat_id": "CT_2243173626687865223_P64396901-C4" } }
You can use this API to pin a message in a conversation.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Chats.CREATE
Quota limit
The quota limit for this API is 20 requests per minute per user
Request Body
id Mandatory String Denotes the message ID(msguid) of the message to be pinned.
expiry_time Mandatory Long Denotes the time span in milliseconds.
notify Mandatory Boolean Denotes if the pinned message is to be notified to all the
participants
or not. |
Unpin a message
Unpin a message
DELETE https://cliq.zoho.com/api/v2/chats/{chat_id}/stickymessage
Response Example
Response Code: 204 No response
You can use this API to unpin a message in a conversation.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Chats.DELETE
Quota limit
The quota limit for this API is 20 requests per minute per user
Retrieve a pinned message
Retrieve a pinned message
GET https://cliq.zoho.com/api/v2/chats/{chat_id}/stickymessage
Response Example
{ "type": "stickymessage", "data": { "expiry_time": -1, "creator": { "name": "Scott", "id": "692133012" }, "message": { "msg": "Feature review date: 15/11/2019", "sender": "690440148", "lmsgtime": "1573641920572", "msguid": "1573641936588%20345281288778", "time": "1573641936588", "dname": "Rayan West" }, "created_time": 1573641961788, "last_modified_time": 1573641961788, "chat_id": "CT_2243173626687865223_P64396901-C4" } }
You can use this API to retrieve a pinned message in a conversation.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Chats.READ
Quota limit
The quota limit for this API is 20 requests per minute per user
Leave a group chat
Leave a group chat
POST https://cliq.zoho.com/api/v2/chats/{chat_id}/leave
Response Example
Response code: 204 No content
You can use this API to leave a group chat.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Chats.UPDATE
Quota limit
The quota limit for this API is 10 requests per minute per user
Sample Channel Object
Channels
{ "name": "#Zylker-Support", "description": "To post all the support tickets from customers", "image_url": "http://cliq.zoho.com/channel/T4000000040005_4435792_1498572169593/photo.do", "level": "team", "invite_only":false, "status": "created", "channel_id": "T4000000040005", "organization_id": "4435792", "creator_id": "4435866", "creator_name": "PatriciaJames", "creation_time": "2017-07-03T14:59:20+05:30", "last_modified_time": "2017-07-03T15:59:20+05:30", "current_user_role": "super_admin", "last_message_info": { "sender_id": "53787102", "message_type": "text", "message_time": "2017-07-03T15:59:20+05:30", "message": "Hey!", "sender_display_name": "PatriciaJames" }, "participant_count": 1, "admin_permission": { "add_participant": true, "archive_channel": true, "audio_conference": true, "clear_all_messages": true, "delete_channel": true "delete_my_msg": true, "delete_others_message": true, "edit_channel_info": true, "edit_my_msg": true, "leave_channel": true, "mention_users": true, "post_reply": true, "prime_time": true, "remove_participant": true, "send_message": true, "special_mentions": true, "sticky_message": true, "unarchive_channel": true, "video_conference": true }, "moderator_permission": { "add_participant": true, "archive_channel": false, "audio_conference": true, "clear_all_messages": false, "delete_channel": false, "delete_my_msg": true, "delete_others_message": false, "edit_channel_info": true, "edit_my_msg": true, "leave_channel": true, "mention_users": true, "post_reply": true, "prime_time": true, "remove_participant": true, "send_message": true, "special_mentions": false, "sticky_message": true, "unarchive_channel": false, "video_conference": true }, "member_permission": { "add_participant": true, "archive_channel": false, "audio_conference": true, "clear_all_messages": false, "delete_channel": false, "delete_my_msg": true, "delete_others_message": false, "edit_channel_info": false, "edit_my_msg": true, "leave_channel": true, "mention_users": true, "post_reply": true, "prime_time": false, "remove_participant": false, "send_message": true, "special_mentions": false, "sticky_message": false, "unarchive_channel": false, "video_conference": true }, "unique_name": "zylkersupport", "teams": { "4435961": "SALES", "4453461": "MARKETING" }, "joined": true, "pinned": false, "total_message_count": "100", "unread_message_count": 5, "unread_time": "2017-07-03T15:59:20+05:30" }
Channels are platforms to share information in a smooth, hassle free manner. Channels can be within the team, organization and even a collaboration with multiple external organizations thereby letting users participate in topic-specific discussions.
OAuth Scope
OAuth scope for all Channels APIs: ZohoCliq.Channels.ALL
This scope will give the basic CRUD access to all Channel APIs.
The Channel Object Attributes
name
string Name of the channel.
description
string Brief description about the channel.
image_url
URL The URL for the channel display picture.
level
Allowed values organization|team|private|external Provide an access level for the channel with the allowed
values.
invite_only
boolean
If invite_only=true, users will be able to join only when
invited. This
param is applicable only for organization and Team level channels.
channel_id
string The unique id of the channel.
organization_id
string The organization id of the creator of the channel.
creator_id
string The id of the user who created the channel.
creator_name
string Name of the user who created the channel.
creation_time
timestamp The time at which the channel was created.
last_modified_time
timestamp The time at which the last message was sent in the channel.
current_user_role
Allowed values super_admin | admin | moderator | members| allowed_users The role of the authenticated user for the channel.
last_message_info
JSON Object Details of the last message sent in the channel.
participant_count
integer The total number of participants in the channel.
admin_permission
JSON Object The permissions given to the admin of the channel.
moderator_permission
JSON Object The permissions given to the moderator of the channel.
member_permission
JSON Object The permissions given to the members of the channel.
unique_name
string The unique identifier of the channel to be used in REST URLs
and deluge
API's.
teams
JSON Object List of teams associated with the channel. The teams ids are
mapped with
team names. This param is applicable for team level channels only.
status
Allowed values created|pending|archived The status of the channel.
total_message_count
string Total number of messages in the channel.
joined
boolean If the user is a participant of the channel or not.
pinned
boolean If the channel is pinned or unpinned.
unread_message_count
integer The total number of unread messages in the channel.
unread_time
timestamp The time captured when a user receives a message,when he is
offline.
|
Create a Channel
Create a channel
POST https://cliq.zoho.com/api/v2/channels
Payload
{ "name" : "Zylker-Support", "description" :"To post all the support tickets from customers", "level" : "team", "team_ids" : ["2323334", "2328533"], "user_ids": ["100100","120001","100102"], }
Response Example
{ "name": "#Zylker-Support", "chat_id":"CT_1184653329648523663_62439860", "description": "To post all the support tickets from customers", "image_url": "http://cliq.zoho.com/channel/T4000000040005_4435792_1498572169593/photo.do", "level": "team", "invite_only" : false, "status": "created", "channel_id": "T4000000040005", "organization_id": "4435792", "creator_id": "4435866", "creator_name": "PatriciaJames", "creation_time": "2017-07-03T14:59:20+05:30", "last_modified_time": "2017-07-03T15:59:20+05:30", "current_user_role": "super_admin", "participant_count": 1, "admin_permission": { "add_participant": true, "archive_channel": true, "audio_conference": true, "clear_all_messages": true, "delete_channel": true, "delete_my_msg": true, "delete_others_message": true, "edit_channel_info": true, "edit_my_msg": true, "leave_channel": true, "mention_users": true, "post_reply": true, "prime_time": true, "remove_participant": true, "send_message": true, "special_mentions": true, "sticky_message": true, "unarchive_channel": true, "video_conference": true }, "moderator_permission": { "add_participant": true, "archive_channel": false, "audio_conference": true, "clear_all_messages": false, "delete_channel": false, "delete_my_msg": true, "delete_others_message": false, "edit_channel_info": true, "edit_my_msg": true, "leave_channel": true, "mention_users": true, "post_reply": true, "prime_time": true, "remove_participant": true, "send_message": true, "special_mentions": false, "sticky_message": true, "unarchive_channel": false, "video_conference": true }, "member_permission": { "add_participant": true, "archive_channel": false, "audio_conference": true, "clear_all_messages": false, "delete_channel": false, "delete_my_msg": true, "delete_others_message": false, "edit_channel_info": false, "edit_my_msg": true, "leave_channel": true, "mention_users": true, "post_reply": true, "prime_time": false, "remove_participant": false, "send_message": true, "special_mentions": false, "sticky_message": false, "unarchive_channel": false, "video_conference": true }, "unique_name": "zylkersupport", "teams": { "4435961": "SALES", "4453461": "MARKETING" }, "joined": true, "pinned": false, "total_message_count": "100", "unread_message_count": 5, "unread_time":"2017-07-03T15:59:20+05:30" }
You can use this API to create a new channel in Cliq.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Channels.CREATE
Quota limit
The quota limit for this API is 20 requests per minute per user
Request Body
name Required String Name of your choice for the channel. description Optional String Short description regarding the channel. level Mandatory Allowed values organization|team|private|external Assigning an access level to the channel. invite_only Optional default is false Boolean If invite_only=true, users will be able to join only when
invited. This
param is applicable only for organization and Team level channels. team_ids Mandatory if level=team JSON Array The organization id to be associated with the team channel.
user_ids Optional JSON Array The Zoho user ids of the users to be added as the channel
participants.
email_ids Optional JSON Array Email Ids of the users to be added as the channel
participants. image_data Optional base64 data The base64-encoded image content to be uploaded as display
picture for the
channel. |
Retrieve a Channel
Retrieve a channel
GET https://cliq.zoho.com/api/v2/channels/{CHANNEL_ID}
Response Example
{ "name": "#Zylker-Support", "chat_id":"CT_1184653329648523663_62439860", "description": "To post all the support tickets from customers", "image_url": "http://cliq.zoho.com/channel/T4000000040005_4435792_1498572169593/photo.do", "level": "team", "invite_only" : false, "status": "created", "channel_id": "T4000000040005", "organization_id": "4435792", "creator_id": "4435866", "creator_name": "PatriciaJames", "creation_time": "2017-07-03T14:59:20+05:30", "last_modified_time": "2017-07-03T15:59:20+05:30", "current_user_role": "super_admin", "last_message_info": { "sender_id": "53787102", "message_type": "text", "message_time": "2017-07-03T15:59:20+05:30", "message": "Hey!", "sender_display_name": "PatriciaJames" }, "participant_count": 1, "admin_permission": { "add_participant": true, "archive_channel": true, "audio_conference": true, "clear_all_messages": true, "delete_channel": true, "delete_my_msg": true, "delete_others_message": true, "edit_channel_info": true, "edit_my_msg": true, "leave_channel": true, "mention_users": true, "post_reply": true, "prime_time": true, "remove_participant": true, "send_message": true, "special_mentions": true, "sticky_message": true, "unarchive_channel": true, "video_conference": true }, "moderator_permission": { "add_participant": true, "archive_channel": false, "audio_conference": true, "clear_all_messages": false, "delete_channel": false, "delete_my_msg": true, "delete_others_message": false, "edit_channel_info": true, "edit_my_msg": true, "leave_channel": true, "mention_users": true, "post_reply": true, "prime_time": true, "remove_participant": true, "send_message": true, "special_mentions": false, "sticky_message": true, "unarchive_channel": false, "video_conference": true }, "member_permission": { "add_participant": true, "archive_channel": false, "audio_conference": true, "clear_all_messages": false, "delete_channel": false, "delete_my_msg": true, "delete_others_message": false, "edit_channel_info": false, "edit_my_msg": true, "leave_channel": true, "mention_users": true, "post_reply": true, "prime_time": false, "remove_participant": false, "send_message": true, "special_mentions": false, "sticky_message": false, "unarchive_channel": false, "video_conference": true }, "unique_name": "zylkersupport", "teams": { "4435961": "SALES", "4453461": "MARKETING" }, "joined": true, "pinned": false, "total_message_count": "100", "unread_message_count": 5, "unread_time": "2017-07-03T15:59:20+05:30" }
You can use this API to get details of a specific channel.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Channels.READ
Quota limit
The quota limit for this API is 30 requests per minute per user
Update a Channel
Update a channel
PUT https://cliq.zoho.com/api/v2/channels/{CHANNEL_ID}
Payload
{ "name" : "Zylker-Customer-Support" }
Response Example
{ "name": "#Zylker-Customer-Support", "description": "To post all the support tickets from customers", "image_url": "http://cliq.zoho.com/channel/T4000000040005_4435792_1498572169593/photo.do", "level": "team", "invite_only" : false, "status": "created", "channel_id": "T4000000040005", "organization_id": "4435792", "creator_id": "4435866", "creator_name": "PatriciaJames", "creation_time": "2017-07-03T14:59:20+05:30", "last_modified_time": "2017-07-03T15:59:20+05:30", "current_user_role": "super_admin", "last_message_info": { "sender_id": "53787102", "message_type": "text", "message_time": "2017-07-03T15:59:20+05:30", "message": "Hey!", "sender_display_name": "PatriciaJames" }, "participant_count": 1, "admin_permission": { "add_participant": true, "archive_channel": true, "audio_conference": true, "clear_all_messages": true, "delete_channel": true, "delete_my_msg": true, "delete_others_message": true, "edit_channel_info": true, "edit_my_msg": true, "leave_channel": true, "mention_users": true, "post_reply": true, "prime_time": true, "remove_participant": true, "send_message": true, "special_mentions": true, "sticky_message": true, "unarchive_channel": true, "video_conference": true }, "moderator_permission": { "add_participant": true, "archive_channel": false, "audio_conference": true, "clear_all_messages": false, "delete_channel": false, "delete_my_msg": true, "delete_others_message": false, "edit_channel_info": true, "edit_my_msg": true, "leave_channel": true, "mention_users": true, "post_reply": true, "prime_time": true, "remove_participant": true, "send_message": true, "special_mentions": false, "sticky_message": true, "unarchive_channel": false, "video_conference": true }, "member_permission": { "add_participant": true, "archive_channel": false, "audio_conference": true, "clear_all_messages": false, "delete_channel": false, "delete_my_msg": true, "delete_others_message": false, "edit_channel_info": false, "edit_my_msg": true, "leave_channel": true, "mention_users": true, "post_reply": true, "prime_time": false, "remove_participant": false, "send_message": true, "special_mentions": false, "sticky_message": false, "unarchive_channel": false, "video_conference": true }, "unique_name": "zylkersupport", "teams": { "4435961": "SALES", "4453461": "MARKETING" }, "joined": true, "pinned": false, "total_message_count": "100", "unread_message_count": 5, "unread_time": "2017-07-03T15:59:20+05:30" }
You can use this API to update details of an existing channel.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Channels.UPDATE
Quota limit
The quota limit for this API is 50 requests per minute per user
Request Body
name Optional String Renaming an existing channel. description Optional String Updating the existing description of a channel. image_data Optional base64 data The base64-encoded image content to be uploaded as display
picture for the
channel. |
Update Channel Permissions
Update Channel Permissions
PUT https://cliq.zoho.com/api/v2/channels/{CHANNEL_ID} Payload : { "admin_permission": { "add_participant": true, "archive_channel": true, "audio_conference": true, "clear_all_messages": true, "delete_channel": true, "delete_my_msg": true, "delete_others_message": true, "edit_channel_info": true, "edit_my_msg": true, "leave_channel": true, "mention_users": true, "post_reply": true, "prime_time": true, "remove_participant": true, "send_message": true, "special_mentions": true, "sticky_message": true, "unarchive_channel": true, "video_conference": true }, "moderator_permission": { "add_participant": true, "archive_channel": false, "audio_conference": true, "clear_all_messages": false, "delete_channel": false, "delete_my_msg": true, "delete_others_message": false, "edit_channel_info": true, "edit_my_msg": true, "leave_channel": true, "mention_users": true, "post_reply": true, "prime_time": true, "remove_participant": true, "send_message": true, "special_mentions": false, "sticky_message": true, "unarchive_channel": false, "video_conference": true }, "member_permission": { "add_participant": true, "archive_channel": false, "audio_conference": true, "clear_all_messages": false, "delete_channel": false, "delete_my_msg": true, "delete_others_message": false, "edit_channel_info": false, "edit_my_msg": true, "leave_channel": true, "mention_users": true, "post_reply": true, "prime_time": false, "remove_participant": false, "send_message": true, "special_mentions": false, "sticky_message": false, "unarchive_channel": false, "video_conference": true } }
Response Example
{ "name": "#Zylker-Support", "description": "To post all the support tickets from customers", "image_url": "http://cliq.zoho.com/channel/T4000000040005_4435792_1498572169593/photo.do", "level": "team", "invite_only" : false, "status": "created", "channel_id": "T4000000040005", "organization_id": "4435792", "creator_id": "4435866", "creator_name": "PatriciaJames", "creation_time": "2017-07-03T14:59:20+05:30", "last_modified_time": "2017-07-03T15:59:20+05:30", "current_user_role": "super_admin", "last_message_info": { "sender_id": "53787102", "message_type": "text", "message_time": "2017-07-03T15:59:20+05:30", "message": "Hey!", "sender_display_name": "PatriciaJames" }, "participant_count": 1, "admin_permission": { "add_participant": true, "archive_channel": true, "audio_conference": true, "clear_all_messages": true, "delete_channel": true, "delete_my_msg": true, "delete_others_message": true, "edit_channel_info": true, "edit_my_msg": true, "leave_channel": true, "mention_users": true, "post_reply": true, "prime_time": true, "remove_participant": true, "send_message": true, "special_mentions": true, "sticky_message": true, "unarchive_channel": true, "video_conference": true }, "moderator_permission": { "add_participant": true, "archive_channel": false, "audio_conference": true, "clear_all_messages": false, "delete_channel": false, "delete_my_msg": true, "delete_others_message": false, "edit_channel_info": true, "edit_my_msg": true, "leave_channel": true, "mention_users": true, "post_reply": true, "prime_time": true, "remove_participant": true, "send_message": true, "special_mentions": false, "sticky_message": true, "unarchive_channel": false, "video_conference": true }, "member_permission": { "add_participant": true, "archive_channel": false, "audio_conference": true, "clear_all_messages": false, "delete_channel": false, "delete_my_msg": true, "delete_others_message": false, "edit_channel_info": false, "edit_my_msg": true, "leave_channel": true, "mention_users": true, "post_reply": true, "prime_time": false, "remove_participant": false, "send_message": true, "special_mentions": false, "sticky_message": false, "unarchive_channel": false, "video_conference": true }, "unique_name": "zylkersupport", "teams": { "4435961": "SALES", "4453461": "MARKETING" }, "joined": true, "pinned": false, "total_message_count": "100", "unread_message_count": 5, "unread_time": "2017-07-03T15:59:20+05:30" }
You can use this API to update the channel permissions.
The members having higher level of role can edit the permissions of roles below them only if the member is having the permission to perform the particular action.
Tip: Refer our help guide on update channel permissionsRequired OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Channels.UPDATE
Quota limit
The quota limit for this API is 50 requests per minute per user
Request Body
admin_permission Optional JSON Object The permission given to the admin of the channel. moderator_permission Optional JSON Object The permission given to the moderator of the channel. member_permission Optional JSON Object The permission given to the member of the channel. |
Delete a Channel
Delete a channel
DELETE https://cliq.zoho.com/api/v2/channels/{CHANNEL_ID}
Response Example
Response Code:204 No response
You can use this API to delete an existing channel by giving the channel id.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Channels.DELETE
Quota limit
The quota limit for this API is 10 requests per minute per user
List of all Channels
List of all Channels
GET https://cliq.zoho.com/api/v2/channels?joined=true&pinned=true
Response Example
{ "channels": [ { "pinned": false, "level": "organization", "chat_id": "CT_2230642524712404875_64396981", "joined": true, "creator_name": "Scott", "unique_name": "marketing", "total_message_count": "1349", "organization_id": "64396901", "admin_permission": { "add_participant": true, "archive_channel": true, "audio_conference": true, "clear_all_messages": true, "delete_channel": true, "delete_my_msg": true, "delete_others_message": true, "edit_channel_info": true, "edit_my_msg": true, "leave_channel": true, "mention_users": true, "post_reply": true, "prime_time": true, "remove_participant": true, "send_message": true, "special_mentions": true, "sticky_message": true, "unarchive_channel": true, "video_conference": true }, "muted_interval": "292278994-08-16T23:12:55-08:00", "channel_id": "O1775998000013036075", "creator_id": "948218", "invite_only": false, "unread_time": "2019-11-29T05:15:35-08:00", "moderator_permission": { "add_participant": true, "archive_channel": false, "audio_conference": true, "clear_all_messages": false, "delete_channel": false, "delete_my_msg": true, "delete_others_message": false, "edit_channel_info": true, "edit_my_msg": true, "leave_channel": true, "mention_users": true, "post_reply": true, "prime_time": true, "remove_participant": true, "send_message": true, "special_mentions": false, "sticky_message": true, "unarchive_channel": false, "video_conference": true }, "unread_message_count": 19, "last_message_info": { "sender_id": "666730117", "message_type": "text", "time": "2020-01-07T23:10:26-08:00", "text": "Team, please check for the marketing updates for 2019 ASAP.", "sender_name": "Olivia Palmer" }, "last_modified_time": "2020-01-07T23:10:26-08:00", "status": "created", "description": "Marketing Updates", "member_permission": { "add_participant": true, "archive_channel": false, "audio_conference": true, "clear_all_messages": false, "delete_channel": false, "delete_my_msg": true, "delete_others_message": false, "edit_channel_info": false, "edit_my_msg": true, "leave_channel": true, "mention_users": true, "post_reply": true, "prime_time": false, "remove_participant": false, "send_message": true, "special_mentions": false, "sticky_message": false, "unarchive_channel": false, "video_conference": true }, "creation_time": "2017-04-11T02:10:51-07:00", "participant_count": 51, "current_user_role": "member", "teams": {}, "name": "#Marketing" } ... ... ... ], "has_more": true, "next_token": "2fd152c0c1b5ee5b2a1d5fd1d3b233421cd1b8f67b2038cac5c27264b7ee1c616221ab489ea0bc2d7c43fa7a14f9c851cb11f4693804e0b43019786cc6580824", "sync_token": "2fd152c0c1b5ee5b2a1d5fd1d3b233422031afe47d55506a59fb92d55ea3a5ca9298862a157ff52c12ce6fb8be2c59b88d86d22368d8b17a1c484589b6c50225" }
You can use this API to get the list of all channels.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Channels.READ
Quota limit
The quota limit for this API is 30 requests per minute per user
Query Params
name Optional String Name of the channel to be retrieved. status Optional Allowed values created|pending|archived Status of the channel to be retrieved. limit Optional Integer The number of channels that has to be retrieved. Maximum
limit will be
100. level Optional Allowed values organization|team|private|external Specifying the level will fetch the list of channels of that
particular
level. modified_before Optional Timestamp Gets the list of channels where the last message is sent
before the
mentioned time. modified_after Optional Timestamp Gets the list of channels where the last message is sent
after the
mentioned time. created_before Optional Timestamp The list of channels created before the specified time. created_after Optional Timestamp The list of channels created after the specified time. channel_ids Optional String The list of channel ids for which details have to be
retrieved. You can
enter multiple fields by seperating them with a comma chat_ids Optional String Unique channel's chat ID for which the details have to be
retrieved. You
can enter multiple fields by seperating them with a comma team_ids Optional String Gets the list of channels associated with the team ids
specified. You can
enter multiple fields by seperating them with a comma created_by Optional String Gets the list of channels created by the mentioned email id
or user id.
order_by Optional String To sort the list of available channels in either ascending or
descending
order. Allowed values: +last_modified_time| -last_modified_time| +creation_time| -creation_time. next_token Optional String Use this parameter to fetch the next immediate list of
channels. sync_token Optional String Gets the list of recently updated channels after which the
previous
request was made. Note: The sync_token will return an exception if the number of channels to be synced is greater than 50. pinned Optional Boolean When "pinned"= "true" only the pinned channels are retrieved
and
"pinned"="false" will retrieve all channels. joined Optional Boolean When joined = true, only the joined channels list will be
fetched, when
joined = false, only the non-joined channels will be fetched. When joined is not
specified, all
types of channels will be fetched. |
Get Channel Members
Get Channel Members
GET https://cliq.zoho.com/api/v2/channels/{CHANNEL_ID}/members
Response 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" } ] }
You can use this API to get the list of all members in a channel.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Channels.READ
Quota limit
The quota limit for this API is 100 requests per minute per user
Add Channel Members by User ID
Add Channel Members
POST https://cliq.zoho.com/api/v2/channels/{CHANNEL_ID}/members Payload : { "user_ids": [ "123456", "223456" ] }
Add Channel Members by Email ID
POST https://cliq.zoho.com/api/v2/channels/{CHANNEL_ID}/members Payload : {"email_ids":["scott.fisher@zylker.com","ryan.west@zylker.com"]}
Response Example
Response Code:204 No response
You can use this API to add members in a Channel, by giving their user id or their email ID.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Channels.UPDATE
Quota limit
1. A maximum of 100 users per request can be added.
2. A maximum of 10 requests can be made per minute.
Add Bot in a Channel
Add bot in a Channel
POST https://cliq.zoho.com/api/v2/bots/{BOT_UNIQUE_NAME}/associate Payload : { "channel_unique_name" : {CHANNEL_UNIQUE_NAME} }
Response Example
Response Code:204 No response
You can use this API to add a bot in a Channel, by giving their unique name of the bot.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Channels.UPDATE
Quota limit
The quota limit for this API is 5 requests per minute per user
Update Channel Member's Role
Update Channel Member's Role
PUT https://cliq.zoho.com/api/v2/channels/{CHANNEL_ID}/members/{USER_ID} Payload: {"role" : "admin"}
Response Example
Response Code:204 No response
You can use this API to update a channel member's role.
role String Mention the role to be assigned for the channel member.
Allowed values :
super_admin|admin|moderator|member |
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Channels.UPDATE
Quota limit
The quota limit for this API is 10 requests per minute per user
Tip: Refer our help guide on channel roles
Delete a Channel Member By User ID
Delete a Channel Member
DELETE https://cliq.zoho.com/api/v2/channels/{CHANNEL_ID}/members/{USER_ID}
Delete a Channel Member By Email ID
DELETE https://cliq.zoho.com/api/v2/channels/{CHANNEL_ID}/members/{email_id}
Response Example
Response Code:204 No response
You can use this API to delete the members from a channel. Delete members by using the user id or their Email ID.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Channels.UPDATE
Quota limit
The quota limit for this API is 10 requests per minute per user
Delete Channel Members
Delete Channel Members
DELETE https://cliq.zoho.com/api/v2/channels/{CHANNEL_ID}/members Payload: { "user_ids": [ "123456", "223456" ], "silent":true }
Delete Channel Members by Email ID
DELETE https://cliq.zoho.com/api/v2/channels/{CHANNEL_ID}/members Payload : { "email_ids": [ "scott.fisher@zylker.com", "ryan.west@zylker.com" ], "silent":true }
Response Example
Response Code: 204 No response
You can use this API to delete groups of members from the channel.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Channels.UPDATE
Quota limit
1. A maximum of 100 users per request can be added.
2. A maximum of 10 requests can be made per minute per user.
Approve a Channel
Approve a Channel
POST https://cliq.zoho.com/api/v2/channels/{CHANNEL_ID}/approve
Response Example
Response Code: 204 No response
Organization admins can use this API to approve a newly created organization level channel.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Channels.UPDATE
Reject a Channel
Reject a Channel
POST https://cliq.zoho.com/api/v2/channels/{CHANNEL_ID}/reject
Response Example
Response Code:204 No response
Organization admins can use this API to reject a newly created organization level channel.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Channels.UPDATE
Join a Channel
Join a Channel
POST https://cliq.zoho.com/api/v2/channels/{CHANNEL_ID}/join
Response Example
{ "name": "#Zylker-Support", "description": "To post all the support tickets from customers", "image_url": "http://cliq.zoho.com/channel/T4000000040005_4435792_1498572169593/photo.do", "level": "team", "invite_only" : false, "status": "created", "channel_id": "T4000000040005", "organization_id": "4435792", "creator_id": "4435866", "creator_name": "PatriciaJames", "creation_time": "2017-07-03T14:59:20+05:30", "last_modified_time": "2017-07-03T15:59:20+05:30", "current_user_role": "super_admin", "last_message_info": { "sender_id": "53787102", "message_type": "text", "message_time": "2017-07-03T15:59:20+05:30", "message": "Hey!", "sender_display_name": "PatriciaJames" }, "participant_count": 1, "admin_permission": { "add_participant": true, "archive_channel": true, "audio_conference": true, "clear_all_messages": true, "delete_channel": true, "delete_my_msg": true, "delete_others_message": true, "edit_channel_info": true, "edit_my_msg": true, "leave_channel": true, "mention_users": true, "post_reply": true, "prime_time": true, "remove_participant": true, "send_message": true, "special_mentions": true, "sticky_message": true, "unarchive_channel": true, "video_conference": true }, "moderator_permission": { "add_participant": true, "archive_channel": false, "audio_conference": true, "clear_all_messages": false, "delete_channel": false, "delete_my_msg": true, "delete_others_message": false, "edit_channel_info": true, "edit_my_msg": true, "leave_channel": true, "mention_users": true, "post_reply": true, "prime_time": true, "remove_participant": true, "send_message": true, "special_mentions": false, "sticky_message": true, "unarchive_channel": false, "video_conference": true }, "member_permission": { "add_participant": true, "archive_channel": false, "audio_conference": true, "clear_all_messages": false, "delete_channel": false, "delete_my_msg": true, "delete_others_message": false, "edit_channel_info": false, "edit_my_msg": true, "leave_channel": true, "mention_users": true, "post_reply": true, "prime_time": false, "remove_participant": false, "send_message": true, "special_mentions": false, "sticky_message": false, "unarchive_channel": false, "video_conference": true }, "unique_name": "zylkersupport", "teams": { "4435961": "SALES", "4453461": "MARKETING" }, "joined": true, "pinned": false, "total_message_count": "100", "unread_message_count": 5, "unread_time": "2017-07-03T15:59:20+05:30" }
You can use this API to join a channel.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Channels.UPDATE
Quota limit
The quota limit for this API is 10 requests per minute per user
Leave a Channel
Leave a Channel
POST https://cliq.zoho.com/api/v2/channels/{CHANNEL_ID}/leave
Response Example
Response Code:204 No response
You can use this API to leave a channel.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Channels.UPDATE
Quota limit
The quota limit for this API is 10 requests per minute per user
Archive a Channel
Archive a Channel
POST https://cliq.zoho.com/api/v2/channels/{CHANNEL_ID}/archive
Response Example
Response Code:204 No response
You can use this API to archive a channel.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Channels.UPDATE
Quota limit
The quota limit for this API is 10 requests per minute per user
Unarchive a Channel
Unarchive a Channel
POST https://cliq.zoho.com/api/v2/channels/{CHANNEL_ID}/unarchive
Response Example
Response Code:204 No response
You can use this API to unarchive a channel.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Channels.UPDATE
Quota limit
The quota limit for this API is 10 requests per minute per user
Sample Threads Object
Threads
{ "url": "/api/v2/threads/CT_2242135450951571658_64396901-T-2198176485633182549", "type": "chat_thread", "data": { "is_follower": false, "parent_chat_id": "CT_2242135450951571658_64396901", "thread_message_id": "1660736152068%203245579084292", "follower_count": 4, "thread_state": "open", "parent_message_sender": "45013241", "title": "Scott Fisher", "chat_id": "CT_2242135450951571658_64396901-T-2198176485633182549" } }
Threads are the new way to declutter discussions in a channel by organizing messages around a specific topic. With threads, replies to channel messages can now be grouped under separate spaces.
OAuth Scope
OAuth scope for all Threads APIs: ZohoCliq.Chats.ALL
This scope will give the basic CRUD access to all Threads APIs.
Create/Send thread messages
Create/Send thread messages
POST https://cliq.zoho.com/api/v2/channels/{CHANNEL_ID}/message https://cliq.zoho.com/api/v2/channelsbyname/{CHANNEL_UNIQUE_NAME}/message https://cliq.zoho.com/api/v2/chats/{CHAT_ID}/message https://cliq.zoho.com/api/v2/chats/{CHAT_ID}/message?{BOT_UNIQUE_NAME}
Payload
{ "text":"Hi", "thread_message_id" : "1599044334698_117280617320", "post_in_parent": true, "thread_title" : "Cliq REST API thread" }
You can use this API to create and send threads.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Webhooks.CREATE
Quota limit
The quota limit for this API is 50 requests per minute per user
Query Params
bot_unique_name Optional String Use this parameter to send a message in a channel as
a bot. Note that the bot should already be a participant in the channel. |
Request Body
text Mandatory String Use this parameter to send a message in a chat. reply_to Optional String Use this parameter to reply to a message in a conversation.
Retrieve the
message ID using the get
messages API. sync_message Optional Boolean Use this parameter to post a message in a synchronous thread.
If sync_message = true, the message_id will be returned as the
response. thread_message_id Mandatory String Use this parameter to enter the id of the message from which
the thread should be created.
post_in_parent Optional Boolean Use this parameter to post the thread message in the parent
chat as well. (default value is taken as false)
thread_title Optional String Use this parameter to establish a title for the thread.
|
Note: Get thread followers Response Example You can use this API to get the followers of the thread. This API can be accessed with the OAuth scope : The quota limit for this API is 20 requests per minute per user Get non followers Response Example You can use this API to get channel members who do not follow the thread. This API can be accessed with the OAuth scope : The quota limit for this API is 20 requests per minute per user Add Join Remove Leave You can use this API to update the followers of the thread. There are four thread follower update
options: 1. Add - Add another user to the thread This API can be accessed with the OAuth scope : The quota limit for this API is 20 requests per minute per user Get threads of a chat Response Example You can use this API to get all the threads in a chat. This API can be accessed with the OAuth scope : The quota limit for this API is 60 requests per minute per user Note: Get main message Response Example You can use this API to get the main message from which the thread was created. This API can be accessed with the OAuth scope : The quota limit for this API is 30 requests per minute per user Thread State You can use this API to open or close the state of a thread. This API can be accessed with the OAuth scope : The quota limit for this API is 20 requests per minute per user Auto Follow You can use this API to auto-follow all threads created in a channel. This API can be accessed with the OAuth scope : The quota limit for this API is 50 requests per minute per user Sample Teams Object Cliq Teams are members of your organization just grouped together based on any criteria. OAuth scope for all Teams APIs: This scope will give the basic CRUD access to all Teams APIs. Create a Team Response Example You can use this API to create teams. This API can be accessed with the OAuth scope : The quota limit for this API is 30 requests per minute per user Retrieve a Team Response Example You can use this to get details of a single team. This API can be accessed with the OAuth scope : The quota limit for this API is 30 requests per minute per user Update a Team Response Example You can use this to update details of a single team. This API can be accessed with the OAuth scope : The quota limit for this API is 50 requests per minute per user Delete a Team Response Example You can use this to delete a single team. This API can be accessed with the OAuth scope : The quota limit for this API is 20 requests per minute per user List all Teams Response Example You can use this to get the list of all teams. This API can be accessed with the OAuth scope : The quota limit for this API is 30 requests per minute per user Get Team Members Response Example You can use this to get the list of all members in a team. This API can be accessed with the OAuth scope : The quota limit for this API is 100 requests per minute per user Add Team Members Response Example You can use this to add members in a team. This API can be accessed with the OAuth scope : The quota limit for this API is 20 requests per minute per user Delete Team Members Response Example You can use this to delete members in a team. This API can be accessed with the OAuth scope : The quota limit for this API is 20 requests per minute per user The messaging API can be used to post message to a channel, user or a bot.The message structure can
either be
as simple as a text or customized as cards to serve different purposes. Messaging APIs can be accessed by three different methods: Get messages Response Example Use this API to get messages from a chat conversation that you have access to. This API can be accessed with the OAuth scope : The quota limit for this API is 15 requests per minute per user Retrieve a message Response Example Use this API to retrieve a message from a chat conversation that you have access to. Get the message's
unique
ID by calling the get messages API. This API can be accessed with the OAuth scope : The quota limit for this API is 30 requests per minute per user To post message in a channel using channel unique name To post message in a channel as a bot Deluge task to post a message in a channel Deluge task to post a message in a channel as a bot. You can post a message in a channel using the channel unique name. The message can be a simple text as
well as
a message card with buttons. Take a look at our message
cards. To
get
the channel unique name, select view information option in the channel preview and click "Connectors".
The API
EndPoint will have the channel unique name. Take a look at the GIF below. This API can be accessed with the OAuth scope : The quota limit for this API is 50 requests per minute per user To post message in a channel using channel ID To reply to a message in channel using channel unique name To reply to a message in channel using channel ID To post message to a bot Deluge task to post message to a bot To post message to specific subscribers of the bot Deluge task to post message to specific bot subscribers To reply to a message in a bot You can post a message to a bot, using the bot unique name. The message can be a simple text as well as a message card with buttons. Take a look at our message cards. The bot unique
name can
be
obtained from the bot's API endpoint URL. To find the API endpoint URL and bot's unique name, go to Bots & Tools → Bots → Click on the bot of your
choice → Copy API endpoint URL and the bot unique name from the URL. This API can be accessed with the OAuth scope : To post message in a chat using chat ID Deluge task to post a message in a chat To reply to a message in a chat To post message in a chat (or thread), the chat_id (thread_id in case of threads) can be used in the
request URL. The message can be a simple text as well as a message card with buttons. Take a look at our message cards. This API can be accessed with the OAuth scope : To post message to a user using email ID Deluge task to post a message to a user using email ID To post message to a user using User ID Deluge task to post a message to a user using User ID To reply to the message of a user using email ID To reply to the message of a user using ZUID Post a message to a user by giving the email ID in the request URL, followed by the message object
containing
plain text or message card. The zuid of the user can also be given instead of the email ID. This API can be accessed with the OAuth scope : Edit a message Response Example Use this API to edit a message in a conversation. Get the message's unique ID by using the get messages API. This API can be accessed with the OAuth scope : Delete a message Response Example Use this API to delete a message in a conversation. Get the message's unique ID by using the get messages API. This API can be accessed with the OAuth scope : Get Reactions Sample Response Sample Request Use this API to get details for all the reactions in a given message. This API can be accessed with the OAuth scope : The quota limit for this API is 20 requests per minute with a lock period of 5 minutes when threshold is reached. Add a reaction Response Example Use this API to add a react to a message sent in a chat. Get the message's unique ID by using the get messages API. This API can be accessed with the OAuth scope : Delete a reaction Response Example Use this API to delete the reaction to a message. Get the message's unique ID by using the get messages API. This API can be accessed with the OAuth scope : Use these APIs to create, edit, and delete scheduled messages . Schedule a Message Response Example Use this API to schedule a message to send at a later time and date. This API can be accessed with the OAuth scope : The quota limit for this API is 50 requests per minute per user with a lock period of 10 minutes when threshold is reached. Bots are conversational assistants designed to automate and handle simple tasks, making your life easier by performing any monotonous job! Retrieve Bot Subscribers Response Example Use these APIs to obtain the list of users currently subscribed to a bot. Access to bot subscribers is limited to the bot creator or administrator of the organization. This API can be accessed with the OAuth scope : The quota limit for this API is 100 requests per minute Trigger Bot Calls Request body Response Example Utilize this API to send a voice alert to specific users via the bot. This API can be accessed with the OAuth scope : The quota limit for this API is 10 calls for five minutes with a lock period of 30 minutes Use the Files API to download or share files to any chat, channel or bot that you have access to. Get a File using the file id Get files from any chat, channel or bot which you are a part of using its file id. This API can be accessed with the OAuth scope : The quota limit for this API is 50 requests per minute per user Share files in a channel using channel unique name Response Example Share files in a channel as a bot. Response Example Share files in a channel using channel ID Response Example Share files in a channel using the channel unique name or channel ID. The content of the file should be
of
type This API can be accessed with the OAuth scope : The quota limit for this API is 20 requests per minute per user Share files to a bot Response Example Share files to a bot using the bot unique name. The content of the file should be of type
This API can be accessed with the OAuth scope : The quota limit for this API is 20 requests per minute per user Share files in a chat Response Example Share files in a chat using the Chat ID. The content of the file should be of type
This API can be accessed with the OAuth scope : The quota limit for this API is 20 requests per minute per user Share files to a user using Email ID Response Example Share files to a user using User ID Response Example Share files to a user using their Email ID or User ID. The content of the file should be of type
This API can be accessed with the OAuth scope : The quota limit for this API is 20 requests per minute per user All APIs related to audio and video calls, including video meetings, audio calls, and screen sharing, fall under the Calls & Meetings API category. History Response Example You can use this API to get the details of all your direct calls, meetings, and broadcasts. This API can be accessed with the OAuth scope : The quota limit for this API is 50 requests per minute per user 1. If next_token and sync_token params are used, you cannot send any other params. Get Participants Response Example You can use this API to get all the participants in a call or a meeting This API can be accessed with the OAuth scope : The quota limit for this API is 20 requests per minute per user Get Calendars Request Response Example You can use this API to obtain the list of all calendars for a user. This API can be accessed with the OAuth scope : The quota limit for this API is 30 requests per minute per user Get Events Request Response Example You can use this API to get the list of all your events scheduled within the next 31 days. This API can be accessed with the OAuth scope : The quota limit for this API is 30 requests per minute per user 1. The maximum difference between from and to should be less than 31 days Get Event Details Request Response Example You can use this API to get the details of an events scheduled within the next 31 days. This API can be accessed with the OAuth scope : The quota limit for this API is 30 requests per minute per user Create Events Request Response Example You can use this API to create an event. This API can be accessed with the OAuth scope : The quota limit for this API is 30 requests per minute per user Edit an Event Request Response Example You can use this API to edit an event. This API can be accessed with the OAuth scope : The quota limit for this API is 30 requests per minute per user Update an event status Request Response Example You can use this API to update your status for an event. This API can be accessed with the OAuth scope : The quota limit for this API is 20 requests per minute per user Delete an Event Request Response Example You can use this API to delete an event. This API can be accessed with the OAuth scope : The quota limit for this API is 30 requests per minute per user Mark an Event as Seen Request Response Example You can use this API to mark an event as seen and avoid showing it in the Cliq home screen. This API can be accessed with the OAuth scope : The quota limit for this API is 30 requests per minute per user Upload Attachments to Event Calendar Request Response Example You can use this API to upload an attachment in your calendar to attach it to events. This API can be accessed with the OAuth scope : The quota limit for this API is 30 requests per minute per user Sample Reminder Object Reminders in Cliq are essential to micromanage your tasks effortlessly. OAuth scope for all Reminder APIs: This scope will give the basic CRUD access to the Reminder APIs. Create and assign reminders to yourself, your team mate/colleague, assign reminder to a chat or a
channel or
set a message in chat as a reminder. Each reminder type comes with it's own set of necessary parameters
to be
passed in the request body. Add a Self Reminder Sample Response Use this API to set a self reminder. This API can be accessed with the following OAuth scope : Add a Reminder to Users Sample Response Use this API to create a reminder for other users by giving their User IDs. This API can be accessed with the following OAuth scope : Add Reminder for a Chat/Channel Sample Response Create a reminder for a chat or a channel by giving the chat IDs. This API can be accessed with the following OAuth scope : Set a message in chat as Reminder Sample Response Use this API to set a message in chat as a reminder. This API can be accessed with the following OAuth scope : Retrieve a Reminder Sample Response for Retrieve a Reminder assigned to a Chat/Channel Use this API to get details of a particular reminder by giving the reminder ID in the query. You can get
the
reminder ID from the response of the list of all reminders API. This API can be accessed with the following OAuth scope : The quota limit for this API is 30 requests per minute per user Update a Reminder Sample Response for Update a Reminder assigned to a Chat/Channel Use this API to edit details of a particular reminder by giving the reminder ID. You can get the
reminder ID
from the response of the list of all reminders API. This API can be accessed with the following OAuth scope : Delete a Reminder Sample Response Use this API to delete a particular reminder by giving the reminder ID. You can get the reminder ID from
the
response of the list of all reminders API. This API can be accessed with the following OAuth scope : The quota limit for this API is 30 requests per minute per user Delete Reminders Sample Response Use this API to delete a list of reminders by providing the reminder ID. You can get the reminder ID
from the
response of the list of all reminders API. This API can be accessed with the following OAuth scope : The quota limit for this API is 30 requests per minute per user Delete Completed Reminders Sample Response Use this API to delete the list of reminders that are marked as complete. This API can be accessed with the following OAuth scope : The quota limit for this API is 10 requests per minute per user Mark a Reminder as Complete Sample Response Use this API to mark a reminder as complete by providing the reminder ID. You can get the reminder ID
from the
response of the list of all reminders API. This API can be accessed with the following OAuth scope : The quota limit for this API is 30 requests per minute per user Mark a Reminder as Incomplete Sample Response Use this API to mark a reminder as incomplete by providing the reminder ID. You can get the reminder ID
from
the response of the list of all reminders API. This API can be accessed with the following OAuth scope : The quota limit for this API is 30 requests per minute per user Snooze a Reminder Sample Response Use this API to snooze a reminder by providing the reminder ID. You can get the reminder ID from the
response
of the list of all reminders API. This API can be accessed with the following OAuth scope : The quota limit for this API is 30 requests per minute per user Dismiss a Snoozed Reminder Sample Response Use this API to dismiss a snoozed reminder by providing the reminder ID. You can get the reminder ID
from the
response of the list of all reminders API. This API can be accessed with the following OAuth scope : The quota limit for this API is 30 requests per minute per user Assign Users to a Reminder Sample Response Use this API to assign users to a reminder. Note that a maximum of 4 users can be assigned to a
reminder. This API can be accessed with the following OAuth scope : The quota limit for this API is 30 requests per minute per user Unassign a user from a Reminder Sample Response Use this API to unassign users from a reminder, by providing their User ID. This API can be accessed with the following OAuth scope : The quota limit for this API is 30 requests per minute per user Remind Assignee Sample Response Use this API to trigger a notification in Taz to a particular assignee who is yet to mark the reminder
as
complete. This API can be accessed with the following OAuth scope : The quota limit for this API is 30 requests per minute per user Remind Assignees Sample Response Use this API to trigger a notification in Taz to a reminder's assignees who are yet to mark the reminder
as
complete. This API can be accessed with the following OAuth scope : The quota limit for this API is 30 requests per minute per user Get List of All Reminders Sample Response Use this API to get details of all reminders. If any category is not specified, the API will return a
list of
reminders under the category Case 1: If no limit is specified and if there are more than 20 reminders in your reminder list. Case 2: If you've specified a limit on the number of reminders to be retrieved, then you will be provided
with
a This API can be accessed with the following OAuth scope : The quota limit for this API is 30 requests per minute per user The Records Object Cliq Database is the perfect storage interface when you're building integrations on Cliq Platform. You
can
create, modify, store and sync data items, that can be accessed easily. Cliq Record APIs can be accessed with the following OAuth scope : OAuth scope for Record APIs: These scopes will give the basic CRUD access to the Record APIs. Add a record Sample Response Use this API to add records to a database. Be sure to mention the unique name of the database in which
you'd
like the records to be added. This API can be accessed with the OAuth scope : The quota limit for this API is 30 requests per minute per user Retrieve a record Sample Response Use this API to get details of a record by mentioning the record ID. Give the unique name of the database
from
which the record needs to be fetched. This API can be accessed with the OAuth scope : The quota limit for this API is 30 requests per minute per user List records Sample Response Use this API to get the list of all records in a specific database. The name in the API refers to the
database
name given during creation. This API can be accessed with the OAuth scope : The quota limit for this API is 30 requests per minute per user Retrieve a record by specifying a criteria Sample Response Use the Get Records API with a criteria to get record details that meet this specific criteria
expression. The
name in the API refers to the database name given during creation and id is the Record ID. This API can be accessed with the OAuth scope : The quota limit for this API is 30 requests per minute per user Retrieve a record by specifying a range (from_index and limit) Sample Response Fetch a set of records from a specific database by mentioning the from_index and limit.
This API can be accessed with the OAuth scope : The quota limit for this API is 30 requests per minute per user Retrieve a record with start token Sample Response Substitute the value of This API can be accessed with the OAuth scope : The quota limit for this API is 30 requests per minute per user Update a record Sample Response Use this API to update record details from a specific database. The name in the API refers to the
database
name given during creation. ID refers to the record ID. This API can be accessed with the OAuth scope : The quota limit for this API is 30 requests per minute per user Delete a record Sample Response Use this API to delete record details from a specific database. The name in the API refers to the
database
name given during creation. ID refers to the record ID. This API can be accessed with the OAuth scope : The quota limit for this API is 30 requests per minute per user Tickers are the pointers for the map view in widgets. They can be added, updated or deleted via APIs
with the mapId. To know more about tickers head on over here. Add/Update a ticker Response Example You can use this API to add a new ticker/update a ticker in the map view in widgets. This API can be accessed with the OAuth scope : The quota limit for this API is 100 requests per minute per user Delete a ticker Response Example You can use this API to delete an existing ticker in the map view in widgets. This API can be accessed with the OAuth scope : The quota limit for this API is 100 requests per minute per user Sample Custom Domain Object Represent your brand name in place of Cliq default link by setting your own custom domain. For example,
Zoho
Cliq's domain is cliq.zoho.com. To verify a custom domain, check if the DNS value is correctly added to
the
domain registrar. Further verify it by checking the global DNS checker if the intended DNS record is
available
globally. To know more about custom domain head on over here. Retrieve a custom domain Response Example You can use this API to get details about an individual custom domain. This API can be accessed with the OAuth scope : Add a custom domain Payload Response Example You can use this API to add a new custom domain. This API can be accessed with the OAuth scope : Verify a custom domain Payload Response Example You can use this API to verify a custom domain. This API can be accessed with the OAuth scope : Delete a custom domain Response Example You can use this API to delete a custom domain. This API can be accessed with the OAuth scope : Sample Custom Email Object Configure a custom email address (customid@yourdomain.com) for notification emails sent from Cliq to your
organisation users. Your custom email id will replace the systemgenerated@mailer.zohocliq.com email
id of
Cliq. Retrieve global mail configuration Response Example You can use this API to retrieve a global mail configuration. This API can be accessed with the OAuth scope : Update mail configuration Payload Response Example You can use this API to update a mail configuration. This API can be accessed with the OAuth scope : Plain text message Messages containing plain text To send a plain text message, the message object with the key This API can be accessed with the OAuth scope : Customize message sender Customize message sender Customize the message sender name and image by using the key This API can be accessed with the OAuth scope : Attaching Content Attaching content of various types can be done by using the Attaching content -Table Attaching Content - Table Attaching content in the form of a table can be done by giving the value This API can be accessed with the OAuth scope : Attaching Content - List Attaching Content - List Attach content as a list by giving the Attaching Content - Label Attaching Content - Label Attach content as a label by giving the Attaching Content - Images Attaching Content - Images Attach content as an image by giving the Attaching Content - Charts Attaching Content - Charts Add content as chart by giving the Attaching Content - Graphs Attaching Content - Graphs Add content as a graphical representation by giving the Use the mention object syntax to mention a user, channel and team in any message. Note: Message posting will fail if the authenticated user's role does not permit using @all (mentioning all participants in a channel) or @available (mentioning participants with status set as available) mentions in the channel. Mentioning a User Mentioning a User To mention a user, use the syntax This API can be accessed with the OAuth scope : Mentioning a Channel Mentioning a Channel To mention a channel, use the syntax This API can be accessed with the OAuth scope : Mentioning all Users in a Channel Mentioning all Users in a Channel To mention all users in a channel, use the syntax This API can be accessed with the OAuth scope : Mentioning available users in a Channel Mentioning available users in a Channel To mention all available users in a channel, use the syntax This API can be accessed with the OAuth scope : Mentioning a Team Mentioning a Team To mention a team, use the syntax This API can be accessed with the OAuth scope : A button can be attached as a component in the message object. The key parts of a button in a message are explained below: A button can be triggered by three different types of actions: Buttons can be rendered in the message object as two different types. They are: The functionality behind instant buttons and message card buttons is the same and the only difference
between
them is the ease of use. The format for instant buttons is deceptively simple making it quick to use.
Instant Button Object Instant buttons can be easily specified along with the message text. Instant buttons, when clicked can
perform
an action by two ways: Invoke Function : Triggering a deluge task through invoke function. System API : Perform any of the below given system actions : This API can be accessed with the OAuth scope : Instant button syntax using Invoke Function Sample Syntax Instant button syntax using System API This API can be accessed with the OAuth scope : Message Card Button Object Message cards can be structured to be interactive by adding buttons. A message card can have a maximum
of 5
buttons. This API can be accessed with the OAuth scope : A button can be triggered by three different types of actions: Message Card Buttons triggered using Invoke Function The invoke function action in a button is used to invoke a deluge function. Create a function to perform any custom action and make it accessible in the chat interface with the help
of
the Message Card Buttons triggered using Open URL The open URL action is used to direct the user to a URL, on click of the button. Message Card Buttons triggered using System API System API button action is used to trigger the chat system actions, such as start chat, audio or video
call
etc., Various system actions supported in Cliq are given below with their format: Message cards are themed messages that can be customized. Cliq offers a variety of different message cards. Poll Customize your message structure to look like a poll message. Modern-Inline This message structure will show all the details of a message in the chat window. View the modern-inline
message card in our message builder. View Card! Prompt Customize your message structure to look like a question prompting for an answer, probably like a yes or
a no.
View the prompt message card in our message builder. View Card!
1.
2. Once the thread has been created, you can also make use of the Retrieve
Message API to get the thread chat ID and use the Post Message API
to post messages in the thread.
Get thread followers
GET
https://cliq.zoho.com/api/v2/threads/{THREAD_ID}/followers
{
"data":
[
{
"user_id": "15066855",
"email_id": "scott.fisher@zylker.com",
"name": "Scott"
},
{
"user_id": "15071629",
"email_id": "mark.twine@zylker.com",
"name": "Mark"
}
]
}
Required OAuth Scope :
ZohoCliq.Chats.READ
Quota limit
Get non followers
GET
https://cliq.zoho.com/api/v2/threads/{THREAD_ID}/nonfollowers
{
"data":
[
{
"user_id": "15012855",
"email_id": "emily.woods@zylker.com",
"name": "Emily"
},
{
"user_id": "15071629",
"email_id": "james.baken@zylker.com",
"name": "James"
}
]
}
Required OAuth Scope :
ZohoCliq.Chats.READ
Quota limit
Update followers
POST
https://cliq.zoho.com/api/v2/threads/{THREAD_ID}/followers
Request body:
{
"user_ids" : ["15067889"]
}
Response Example:
Response Code: 204 No Content
PUT
https://cliq.zoho.com/api/v2/threads/{THREAD_ID}
Request body:
{
"action" : "follow"
}
Response Example:
Response Code: 204 No Content
DELETE
https://cliq.zoho.com/api/v2/threads/{THREAD_ID}/followers
Request body:
{
"user_ids" : ["15067889"]
}
Response Example:
Response Code: 204 No Content
PUT
https://cliq.zoho.com/api/v2/threads/{THREAD_ID}
Request body:
{
"action" : "unfollow"
}
Response Example:
Response Code: 204 No Content
2. Join - Join the thread as a follower
3. Remove - Remove
another user from the thread
4. Leave - Leave the thread Required OAuth Scope :
ZohoCliq.Chats.UPDATE
Quota limit
Get threads of a chat
GET
https://cliq.zoho.com/api/v2/channels/{CHANNEL_ID}/threads?state=
{
"url": "/api/v2/threads",
"next_token": "MTV8MTYxNjEzNTI3ODYzNnwxNzc1OTk4MDAxMTcwMDczMzAx",
"type": "chat_thread",
"sync_token": "MTV8MTYyODgzNTQ3OTkyOHwxNzc1OTk4MDAxMTg2NzU5NDUx",
"data": [
{
"parent_chat_id": "CT_2230642514528646081_1187645",
"is_follower": true,
"follower_count": 4,
"chat_id": "CT_2230642514528646081_1187645-T-2244864839532296631",
"last_message_information":
{
"sender_id": "57809798",
"message_type": "text",
"time": "2021-09-17T16:15:56+05:30",
"text": "the build is live",
"sender_name": "Zylker"
},
"title": "Hotfix update",
"thread_message_id": "1628805927552%2047619315726942",
"parent_message_sender": "660078082",
"thread_state": "open"
},
{
"parent_chat_id": "CT_2230642514528646081_1187645",
"is_follower": true,
"follower_count": 3,
"chat_id": "CT_2230642514528646081_1187645-T-2243211170120239269",
"last_message_information":
{
"sender_id": "57809798",
"message_type": "text",
"time": "2021-09-17T17:15:56+05:30",
"text": "kindly review the API",
"sender_name": "Zylker"
},
"title": "API Documentation",
"thread_message_id": "1628702814110%2047610622683981",
"parent_message_sender": "720732624",
"thread_state": "closed"
}
]
}
Required OAuth Scope :
ZohoCliq.Chats.READ
Quota limit
Query Params
Optional
1.
followed
2. not_followed
3. all
Optional
1.
open
2. closed Request Body
Optional
Optional
1. If the state parameter is not given, by default the value
will be taken as "all".
2. If type parameter is not given, all the threads in the
parent chat will be returned.Get main message
GET
https://cliq.zoho.com/api/v2/threads/{THREAD_ID}/messages/main
{
"is_read": false,
"thread_state_info": {
"thread_state": "open"
},
"parent_resource_id": "Customer support",
"sender": {
"name": "Zylker",
"id": "15067889"
},
"ack_key": "1629426730133",
"thread_message": {
"msg": "Team, any update on this issue ?",
"lmsgtime": "1629465324688",
"msgid": "1629465328058",
"msguid": "1629465328414%2083277101498",
"is_read": false,
"ctype": 11,
"sender": "15066855",
"threadmsg": true,
"meta": {
"revision": 1
},
"sequence_id": 19,
"id": "1629465328414_83277101498",
"time": "1629465328414",
"dname": "Zylker"
},
"thread_information": {
"is_follower": true,
"message_count": 19,
"follower_count": 2,
"thread_message_id": "1629426730589%2040288830613",
"title": "Client slowness",
"chat_id": "CT_1256254372211218512_15067887-T-1256254377053952763"
},
"id": "1629426730589_40288830613",
"time": 1629426730589,
"type": "text",
"content": {
"text": "Customer has reported that the web client is lagging"
},
"revision": 2
}
Required OAuth Scope :
ZohoCliq.Messages.READ
Quota limit
Thread State
PUT
https://cliq.zoho.com/api/v2/threads/{THREAD_ID}
Request Body:
{
"action" : {STATE} // STATE = open/close/reopen/follow/unfollow
}
Response Example:
Response Code: 204 No response
Required OAuth Scope :
ZohoCliq.Chats.UPDATE
Quota limit
Auto Follow
PUT
https://cliq.zoho.com/api/v2/channels/{CHANNEL_ID}
Request Body:
{
"auto_follow_threads": {ACTION} //ACTION = enable/disable
}
Response Example :
{
"status": {RESULT} //RESULT = enabled/disabled
}
Required OAuth Scope :
ZohoCliq.Channels.UPDATE
Quota limit
Teams
{
"name": "Zylker Support",
"creation_time": "2016-12-13T16:50:44+05:30",
"team_id": "53797404",
"participant_count": 3,
"description": "Exclusive team with Zylker Support Professionals",
"is_active": "true",
"organization_id": "53787097",
"joined": false
}
OAuth Scope
ZohoCliq.Teams.ALL
The Team Object Attributes
Create a Team
POST
https://cliq.zoho.com/api/v2/teams
Payload :
{
"name": "Zylker Support",
"description": "Exclusive team with Zylker Support Professionals",
"user_ids": [ "100100","120001","100102"]
}
{
"name": "Zylker Support",
"creation_time": "2017-11-08T15:18:49+05:30",
"organization_id": "53787097",
"is_active": true,
"is_moderator": true,
"description": "Exclusive team with Zylker Support Professionals",
"team_id": 54342319,
"joined": true,
"participant_count": 3
}
Required OAuth Scope :
ZohoCliq.Teams.CREATE
Quota limit
Request Body
Mandatory
Optional
Optional Retrieve a Team
GET
https://cliq.zoho.com/api/v2/teams/{TEAM_ID}
{
"name": "Zylker Support",
"creation_time": "2016-12-13T16:50:44+05:30",
"team_id": "53797404",
"participant_count": 3,
"description": "Exclusive team with Zylker Support Professionals",
"is_active": "true",
"organization_id": "53787097",
"joined": false
}
Required OAuth Scope :
ZohoCliq.Teams.READ
Quota limit
Update a Team
PUT
https://cliq.zoho.com/api/v2/teams/{TEAM_ID}
Payload
{
"name": "Zylker Support",
"description": "To post all the support tickets from customers"
}
{
"name": "Zylker Support",
"creation_time": "2017-11-08T15:18:49+05:30",
"organization_id": "53787097",
"is_active": true,
"is_moderator": true,
"description": "To post all the support tickets from customers",
"team_id": "54342319",
"joined": true,
"participant_count": 2
}
Required OAuth Scope :
ZohoCliq.Teams.UPDATE
Quota limit
Request Body
Optional
Optional Delete a Team
DELETE
https://cliq.zoho.com/api/v2/teams/{TEAM_ID}
Response Code: 204 No response
Required OAuth Scope :
ZohoCliq.Teams.DELETE
Quota limit
List all Teams
GET
https://cliq.zoho.com/api/v2/teams?joined={true}
{
"teams": [
{
"name": "Zylker Support",
"creation_time": "2016-12-13T16:50:44+05:30",
"organization_id": "53787097",
"is_active": true,
"is_moderator": false,
"description": "Exclusive team with Zylker Support Professionals",
"team_id": 53797404,
"joined": true,
"participant_count": 3
},
{
"name": "Zylker Marketing",
"creation_time": "2016-11-30T13:48:17+05:30",
"organization_id": "53787097",
"is_active": true,
"is_moderator": true,
"description": "To discuss Zylker Marketing Strategies",
"team_id": 53786870,
"joined": true,
"participant_count": 4
}
]
}
Required OAuth Scope :
ZohoCliq.Teams.READ
Quota limit
QueryParams
Optional Get Team Members
GET
https://cliq.zoho.com/api/v2/teams/{TEAM_ID}/members
{
"members": [
{
"user_id": "53773501",
"display_name": "Scott Fisher",
"is_moderator": false
},
{
"user_id": "53997102",
"display_name": "Quinn Rivers",
"is_moderator": false
},
{
"user_id": "53766705",
"display_name": "Li Jung",
"is_moderator": false
}
]
}
Required OAuth Scope :
ZohoCliq.Teams.READ
Quota limit
Add Team Members
POST
https://cliq.zoho.com/api/v2/teams/{TEAM_ID}/members
Payload:
{
"user_ids": [
"44344926",
"54667722"
]
}
{
"members": [
{
"user_id": "44344926",
"display_name": "Olivia Palmer",
"is_moderator": false
},
{
"user_id": "54667722",
"display_name": "Quinn Rivers",
"is_moderator": false
}
]
}
Required OAuth Scope :
ZohoCliq.Teams.CREATE
Quota limit
Delete Team Members
DELETE
https://cliq.zoho.com/api/v2/teams/{TEAM_ID}/members/{USER_ID}
Response Code : 204 No response
Required OAuth Scope :
ZohoCliq.Teams.UPDATE
Quota limit
Messages
Tip: Click this link to know how to create an authtoken! Learn how to create an
authtoken OAuth Scope
: The OAuth scope for messaging APIs is Webhooks
. All
messaging
APIs
can be accessed with the same scope only. Deluge tasks
: zoho.cliq.postToChat, zoho.cliq.postToChannel, zoho.cliq.postToBot. Authtoken
: Using an authtoken. Get messages
Request
GET
https://cliq.zoho.com/api/v2/chats/{CHAT_ID}/messages?limit=4
{
"data": [
{
"sender": {
"name": "Scott",
"id": "12345678"
},
"id": "1542711601585_349430767610289",
"time": 1542711601585,
"type": "text",
"content": {
"text": "Hi! What time is the review meeting today?"
}
},
{
"sender": {
"name": "Olivia",
"id": "22345678"
},
"id": "1542711601631_349435062577631",
"time": 1542711601631,
"type": "text",
"content": {
"text": "Hey Scott! It's at 4:00 PM."
}
},
{
"sender": {
"name": "Scott",
"id": "12345678"
},
"id": "1542798001273_349439443944569",
"time": 1542798001273,
"type": "text",
"content": {
"text": "Thanks! My presentation will focus on- Feature updates for Q1"
}
},
{
"sender": {
"name": "Scott",
"id": "12345678"
},
"id": "1543384891842_351840917549285",
"time": 1543384891842,
"type": "file",
"content": {
"thumbnail": {
"height": "230",
"width": "400",
"blur_data": "/9j/4AAQSkZJRgABAgAAAQABAAD/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY22jK/dwMdD65q/QKACiiigApAQSR6HBpTTcBNxUcscn+X9KAHUU1TvyGAI9KUKqk7Rj6UALigADpSA01VVCxRVUsdzYGMnpk/kKAH0UmaKAP//Z"
},
"file": {
"name": "Feature-overview.jpg",
"type": "image/jpeg",
"dimensions": {
"height": 3510,
"size": 559008,
"width": 2552
},
"id": "f3791c2279a67f6e5cbc8e1beb41ded85da2bdc672e2496ba9af50c0c24c8e2e453862a8a28becb86f859ab142d44633b05a8fb2ff34955c9e9824527c15cd03"
},
"comment": ""
}
}
]
}
Required OAuth Scope :
ZohoCliq.Messages.READ
Quota limit
Query Params
Optional
Optional
Optional Retrieve a message
Request
GET
https://cliq.zoho.com/api/v2/chats/{CHAT_ID}/messages/{MESSAGE_ID}
{
"sender": {
"name": "Scott Fisher",
"id": "12345678"
},
"id": "1543320941513_23291239955324",
"time": 1543320941513,
"type": "text",
"content": {
"text": "Hello Guys!"
}
}
Required OAuth Scope :
ZohoCliq.Messages.READ
Quota limit
Post message in a channel
Request
POST
https://cliq.zoho.com/api/v2/channelsbyname/{CHANNEL_UNIQUE_NAME}/message
Payload
{"text":"Hi Guys!"}
Request
POST
https://cliq.zoho.com/api/v2/channelsbyname/{CHANNEL_UNIQUE_NAME}/message?bot_unique_name={BOT_UNIQUE_NAME}
Payload
{"text":"Hello Humans"}
Syntax
zoho.cliq.postToChannel({CHANNEL_UNIQUE_NAME}, message);
Request
zoho.cliq.postToChannel("marketing","Hey Guys!");
Syntax
zoho.cliq.postToChannelAsBot({CHANNEL_UNIQUE_NAME}, {BOT_UNIQUE_NAME}, message);
Request
zoho.cliq.postToChannelAsBot("marketing","campaignsbot","Hey Guys!");
Required OAuth Scope :
ZohoCliq.Webhooks.CREATE
Quota limit
Query Params
Optional
Boolean Request Body
Mandatory
Optional
Optional
Request
POST
https://cliq.zoho.com/api/v2/channels/{CHANNEL_ID}/message
Payload
{"text":"Hi"}
Request
POST
https://cliq.zoho.com/api/v2/channelsbyname/{CHANNEL_UNIQUE_NAME}/message
Payload
{"text":"Hi","reply_to":"{MESSAGE_ID}"}
Request
POST
https://cliq.zoho.com/api/v2/channels/{CHANNEL_ID}/message
Payload
{"text":"Hello!","reply_to":"{MESSAGE_ID}"}
Post message to a bot
Request
POST
https://cliq.zoho.com/api/v2/bots/{BOT_UNIQUE_NAME}/message
Payload
{"text":"Hi"}
Syntax
zoho.cliq.postToBot("{BOT_UNIQUE_NAME}",message);
Request
zoho.cliq.postToBot("zylkerbot","Hi");
Request
POST
https://cliq.zoho.com/api/v2/bots/{BOT_UNIQUE_NAME}/message
Payload
{
"text": "Hi",
"userids": "55743307,55622727",
"sync_message":true
}
(OR)
Request
POST
https://cliq.zoho.com/api/v2/bots/{BOT_UNIQUE_NAME}/message
Payload
{
"text": "Hi",
"userids": "scott.fisher@zylker.com,li.jung@zylker.com",
"sync_message":true
}
Response
{
"user_ids": [
"55743307",
"55622727"
],
"message_details": {
"55622727": {
"chat_id": "CT_1203304812000146098_55622663-B2",
"message_id": "1709038327622%2029706114886"
},
"55743307": {
"chat_id": "CT_1203304811888980596_55622663-B2",
"message_id": "1709038327612%20712605914940"
}
}
}
To post message to specific bot subscribers, use the usersids key in the response map and pass the email ID's or user ID's of the respective bot subscribers.
Request
data = Map();
data.put( "userids","1234567,4567890");
data.put( "text", "Hi");
zoho.cliq.postToBot("zylkerbot", data);
Request
POST
https://cliq.zoho.com/api/v2/bots/{BOT_UNIQUE_NAME}/message
Payload
{"reply_to":"{MESSAGE_ID}","text":"Hi"}
Required OAuth Scope :
ZohoCliq.Webhooks.CREATE
Request Body
Mandatory
Optional
Optional
Optional Deprecated
Optional Post message in a chat
Request
POST
https://cliq.zoho.com/api/v2/chats/{CHAT_ID}/message
Payload
{"text":"Hi"}
(OR)
Payload
{"text":"Hi","sync_message":true}
Response
{
"message_id": "1599387839188_229293271789"
}
Syntax
zoho.cliq.postToChat({CHAT_ID}, message);
Request
zoho.cliq.postToChat("1234567","Hello");
Request
POST
https://cliq.zoho.com/api/v2/chats/{CHAT_ID}/message
Payload
{"reply_to":"{MESSAGE_ID}","text":"Hello!"}
Required OAuth Scope :
ZohoCliq.Webhooks.CREATE
Request Body
Mandatory
Optional
Optional
Boolean Post message to a user
Request
POST
https://cliq.zoho.com/api/v2/buddies/{EMAIL_ID}/message
Payload
{"text":"Hi"}
Syntax
zoho.cliq.postToUser({USER_EMAIL_ID},message);
Request
zoho.cliq.postToUser("scott.fisher@zylcal.com","Hey!");
Request
POST
https://cliq.zoho.com/api/v2/buddies/{ZUID}/message
Payload
{"text":"Hi"}
Syntax
zoho.cliq.postToUser({ZUID} ,message);
Request
zoho.cliq.postToUser("2356781","Hey!");
Request
POST
https://cliq.zoho.com/api/v2/buddies/{EMAIL_ID}/message
Payload
{"reply_to":"{MESSAGE_ID}","text":"Hello!"}
Request
POST
https://cliq.zoho.com/api/v2/buddies/{ZUID}/message
Payload
{"reply_to":"{MESSAGE_ID}","text":"Hi!"}
Required OAuth Scope :
ZohoCliq.Webhooks.CREATE
Request Body
Mandatory
Optional
Optional
Boolean Edit a message
Request
PUT
https://cliq.zoho.com/api/v2/chats/{CHAT_ID}/messages/{MESSAGE_ID}
Payload
{"text":"Hey!","notify_edit":true}
Response Code: 204 No Content
Required OAuth Scope :
ZohoCliq.Messages.UPDATE
Request Body
Mandatory
Optional Delete a message
Request
DELETE
https://cliq.zoho.com/api/v2/chats/{CHAT_ID}/messages/{MESSAGE_ID}
Response Code: 204 No Content
Required OAuth Scope :
ZohoCliq.Messages.DELETE
Get Reactions
Request
GET
https://cliq.zoho.com/api/v2/chats/{CHAT_ID}/messages/{MESSAGE_ID}/reactions
data :
{
"data": {
"😍": [
"1710152648241:802515329:Diana",
"1710152690025:784333365:Celeste Liane",
"1710152842875:839672527:Berk Trinity"
],
"🔥": [
"1710152758419:788604182:Elizebet Tater",
"1710152797740:19924487:Derek",
"1710161571235:822083117:Mary E",
"1710165907573:800612880:Dipika"
],
"💪": [
"1710152692044:788608119:Velasco",
"1710152722572:756417177:Guru",
"1710152861184:785341087:Sanjna",
"1710155915492:1248183:Catherine",
"1710165906976:800612880:Elizebet Tater"
],
":thumbsup:": [
"1710153212908:745641201:Justin",
"1710153389109:808655650:Nemo",
"1710153594847:847832123:Dory",
"1710153779853:799131080:Parker"
],
"😴": [
"1710152621514:836635892:James",
"1710152649163:766171877:Emily",
"1710152664179:840230810:Esme"
],
":super:": [
"1710152732303:670285154:Aaraon",
"1710152868527:830375827:Philips",
"1710152938816:800655286:Johnson",
"1710152989664:757178231:Raj",
"1710153042124:703128196:Godwin",
"1710153078343:815554297:Thames",
"1710153344278:658728732:Jerry",
"1710153432472:847241121:Thomas",
"1710153679715:746969119:Mary Ann",
"1710154229157:832047710:Anjana S",
"1710155917599:1248183:Chavi Shetty",
"1710156229048:799131092:Mansi A",
"1710156835793:787518694:Dorrothy"
],
"💃": [
"1710152661136:783214962:Jasmine A",
"1710152678464:788608119:Chris Hemmelot",
"1710152692114:757751610:Raj Tiwari",
"1710152701359:787527142:AJ",
"1710152715648:760606568:Rhea Denis",
"1710152894447:789789003:Scott Fisher",
"1710153020200:800028001:Cynthia",
"1710153707368:672006303:John Doe",
"1710159997888:846049218:Ryan Scott"
]
}
}
GET
https://cliq.zoho.com/api/v2/chats/CT_1254880203691219668_11543281/messages/1645632094118%20223997917594/reactions
Required OAuth Scope :
ZohoCliq.messageactions.READ
Quota Limit
Add a reaction
Request
POST
https://cliq.zoho.com/api/v2/chats/{CHAT_ID}/messages/{MESSAGE_ID}/reactions
Payload
{"emoji_code":":smile:"}
Response Code: 204 No Content
Required OAuth Scope :
ZohoCliq.messageactions.CREATE
Request Body
Mandatory Delete a reaction
Request
DELETE
https://cliq.zoho.com/api/v2/chats/{CHAT_ID}/messages/{MESSAGE_ID}/reactions
Payload
{"emoji_code":":smile:"}
Response Code: 204 No Content
Required OAuth Scope :
ZohoCliq.messageactions.DELETE
Request Body
Mandatory Scheduled Messages
Schedule a Message
POST
https://cliq.zoho.com/api/v2/chats/
{
"url":"/api/v2/chats/
Required OAuth Scope :
ZohoCliq.messages.CREATE
Quota limit
Path Parameters
Mandatory
or
schedule_status
Mandatory
Allowed values: check_in|user_available|call_end|check_out
Optional
Eg: Asia/KolkataBots
Retrieve Bot Subscribers
GET
https://cliq.zoho.com/api/v2/bots/{BOT_UNIQUE_NAME}/subscribers
{
"url": "/api/v2/bots/{BOT_UNIQUE_NAME}/subscribers",
"type": "bot_subscriber",
"sync_token": "NTB8MTcyMjcwMDXwxNzIyNzA5MzQ0NDM5",
"data": [
{
"email_id": "scott.fisher@zylker.com",
"user_id": "19183988",
"name": "Scott Fisher"
}
]
}
Required OAuth Scope :
ZohoCliq.Bots.READ
Quota limit
Path Parameters
Mandatory
Optional
Optional
OptionalTrigger Bot Calls
POST
https://cliq.zoho.com/api/v2/bots/{BOT_UNIQUE_NAME}/calls
{
"text": "We've detected an issue with Zylker Servers. Our team is working to resolve it at the earliest.",
//List of ZUIDs
"user_ids": ["55743327","55642727"],
"retry": 3,
//The message will be dicated 2 times
"loop": 2,
"actions": [
{
"label": "View details",
"icon":"url",
"action": {
"type": "open.url",
"data": {
"web": "https://cliq.zoho.com"
}
}
},
{
"label": "Acknowledge",
"icon":"tick",
"hint": "",
"action": {
"type": "invoke.function",
"data": {
"name": "test"
}
},
"key": ""
},
{
"label": "Delegate",
"icon":"preview",
"hint": "",
"action": {
"type": "system.api",
"data": {
"api": "audiocall/1234"
}
}
}
]
}
{
"user_ids": [
"55622727",
"55743307"
],
//Unique id for the alert instance
"id": "dfb91610-296f-4f7a-b2b2-3b4436f2f5f0"
}
Required OAuth Scope :
ZohoCliq.Webhooks.CREATE
Quota limit
Path Parameters
Mandatory
Optional
Optional
Optional
Optional Files
Get Files
Request
GET
https://cliq.zoho.com/api/v2/files/{file_id}
Required OAuth Scope :
ZohoCliq.Attachments.READ
Quota limit
Path Parameters
Mandatory
Note :
You can
retrieve the
file id using the Get
messages
endpoint. Share files in a channel
Request
POST
https://cliq.zoho.com/api/v2/channelsbyname/{CHANNEL_UNIQUE_NAME}/files
Payload
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="file"; filename="zylker-sales.pdf"
Content-Type: application/pdf
Content of zylker-sales.pdf
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="file"; filename="revenue-chart.jpg"
Content-Type: image/jpeg
Content of revenue-chart.jpg
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="comments"
["Annual Zylker Sales Report","Revenue Chart for Q3"]
------WebKitFormBoundary7MA4YWxkTrZu0gW--
Response Code:204 No Content
Request
POST
https://cliq.zoho.com/api/v2/channelsbyname/{CHANNEL_UNIQUE_NAME}/files?bot_unique_name={BOT UNIQUE NAME}
Payload
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="file"; filename="IT-help.pdf"
Content-Type: application/pdf
Content of IT-help.pdf
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="bot_unique_name"
"itassit"
------WebKitFormBoundary7MA4YWxkTrZu0gW--
Response Code:204 No Content
Request
POST
https://cliq.zoho.com/api/v2/channels/{CHANNEL_ID}/files
Payload
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="file"; filename="zylker-sales.pdf"
Content-Type: application/pdf
Content of zylker-sales.pdf
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="file"; filename="revenue-chart.jpg"
Content-Type: image/jpeg
Content of revenue-chart.jpg
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="comments"
["Annual Zylker Sales Report","Revenue Chart for Q3"]
------WebKitFormBoundary7MA4YWxkTrZu0gW--
Response Code:204 No Content
multipart/form-data
Request Body
multipart/form-data
File size limit : 50 MB
and
Maximum number of
files that can be shared at a time is : 10
string array
string
Boolean Required OAuth Scope :
ZohoCliq.Webhooks.CREATE
Quota limit
Share files to a bot
Request
POST
https://cliq.zoho.com/api/v2/bots/{BOT_UNIQUE_NAME}/files
Payload
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="file"; filename="zylker-sales.pdf"
Content-Type: application/pdf
Content of zylker-sales.pdf
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="file"; filename="revenue-chart.jpg"
Content-Type: image/jpeg
Content of revenue-chart.jpg
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="comments"
["Annual Zylker Sales Report","Revenue Chart for Q3"]
------WebKitFormBoundary7MA4YWxkTrZu0gW--
{
"user_ids": [
"66578893"
]
}
multipart/form-data
Request Body
multipart/form-data
File size limit : 50 MB
and
Maximum number of
files that can be shared at a time is : 10
string array Required OAuth Scope :
ZohoCliq.Webhooks.CREATE
Quota limit
Share files in a chat
Request
POST
https://cliq.zoho.com/api/v2/chats/{CHAT_ID}/files
Payload
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="file"; filename="zylker-sales.pdf"
Content-Type: application/pdf Content of zylker-sales.pdf
Content of zylker-sales.pdf
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="file"; filename="revenue-chart.jpg"
Content-Type: image/jpeg
Content of revenue-chart.jpg
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="comments"
["Annual Zylker Sales Report","Revenue Chart for Q3"]
------WebKitFormBoundary7MA4YWxkTrZu0gW--
Response Code:204 No Content
multipart/form-data
Request Body
multipart/form-data
File size limit : 50 MB
and
Maximum number of
files that can be shared at a time is : 10
string array
Boolean Required OAuth Scope :
ZohoCliq.Webhooks.CREATE
Quota limit
Share files to a user
Request
POST
https://cliq.zoho.com/api/v2/buddies/{EMAIL_ID}/files
Payload
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="file"; filename="zylker-sales.pdf"
Content-Type: application/pdf
Content of zylker-sales.pdf
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="file"; filename="revenue-chart.jpg"
Content-Type: image/jpeg
Content of revenue-chart.jpg
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="comments"
["Annual Zylker Sales Report","Revenue Chart for Q3"]
------WebKitFormBoundary7MA4YWxkTrZu0gW--
Response Code:204 No Content
Request
POST
https://cliq.zoho.com/api/v2/buddies/{ZUID}/files
Payload
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="file"; filename="zylker-sales.pdf"
Content-Type: application/pdf
Content of zylker-sales.pdf
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="file"; filename="revenue-chart.jpg"
Content-Type: image/jpeg
Content of revenue-chart.jpg
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="comments"
["Annual Zylker Sales Report","Revenue Chart for Q3"]
------WebKitFormBoundary7MA4YWxkTrZu0gW--
Response Code:204 No Content
multipart/form-data
Request Body
multipart/form-data
File size limit : 50 MB
and
Maximum number of
files that can be shared at a time is : 10
string array
Boolean Required OAuth Scope :
ZohoCliq.Webhooks.CREATE
Quota limit
Calls & Meetings
History
GET
https://cliq.zoho.com/api/v2/mediasessions
{
"data":[
{
"id":"392330000000598005",
"end_time":1643361458859,
"session_id":"b13d0691-ca45-47c7-b6ad-6cbdf339b9e9",
"start_time":1643361407614,
"notes": false,
"is_partial":true,
"nrs_id":"62440502_1643361407784_1643361407650",
"type":"audio_conference",
"title":"av_recording",
"scope":"personal",
"host": {
"name":"\"Scott Fisher",
"id":"62589940502"
},
"participant_count":10
},
{
"recording":true,
"id":"392330000089297001",
"end_time":1643283428901,
"session_id":"d419f9e8-36c7-4179-b35a-d7a38df78860",
"start_time":1643283406317,
"notes":false,
"is_partial":true,
"nrs_id":"62440502_1643283406451_CT_1184653329648523663_62439860",
"type":"video_conference",
"chat_id":"CT_11846783329648523663_62439860",
"title":"Marketing Campaigns",
"scope":"chat",
"host":{
"name":"\"Scott Fisher",
"id":"62440502"
},
"chat":{
"title":"Q3 releases",
"id":"CT_1184653329648523663_62439860"
},
"participant_count":15
},
]
}
Required OAuth Scope :
ZohoCliq.MediaSession.READ
Quota limit
Query Params
video_conference|direct_call
Note:
1. When "all" or "direct_call" type is used, you cannot add
any other type seperated by commas.
2. when "type" is not mentioned, the
default values returned are "audio_conference", "video_conference",
"handshake", "assembly"
Note:
1. "missed", "received",
"dialled" can be selected only for the type "direct_call".
2. filter
cannot be used when "all" type is used. Note
2. If there is no next set then next_token key will not be present in the response.
3. sync_token will be available only during initialization and not available for the next token
calls.Get Participants
Request Header:
X-API-VERSION : 1
GET
https://cliq.zoho.com/api/v2/mediasessions/{CALL_ID}/participants
{
"url":"/api/v2/mediasessions/15093303_1654794155339_GN_1256255415498864798_15093376/participants"
"type":"participant",
"data":[
{
"email_id":"scott.fisher@zylker.com",
"name":"Scott",
"end_time":1654797815323,
"start_time":1654794247047,
"role":"host",
"id":"12543958"
},
{
"email_id":"olivia.palmer@zylker.com",
"name":"Admin Account",
"end_time":1654794872529,
"start_time":1654794859243,
"role":"speaker",
"id":"14395792"
}
]
}
Note: The header X-API-VERSION 1 must be passed to support the use of query params. Users can get
the call ID from the nrs_id key in the AV_History API.
Required OAuth Scope :
ZohoCliq.MediaSession.READ
Quota limit
Query Params
Optional
Optional
Optional
Allowed values: live| invited | joined
live - current live
users, invited - invited but yet to join, joined -users who
joined and left the call
Optional
OptionalGet Calendars
GET
https://cliq.zoho.com/api/v2/calendars
{
"calendar_id": {CALENDAR_ID},
"recurrence_id" : ""
}
{
"data": [
{
"reminders": [
{
"minutes": "-15",
"action": "email"
}
],
"color": "#8cbf40",
"timezone": "Asia/Kolkata",
"textcolor": "#FFFFFF",
"description": "",
"privilege": "owner",
"type": 0,
"uid": "4f9a83d6e2c147a8b5c4f1bd64e9ab73",
"canSendMail": true,
"modifiedtime": 1674016258818,
"alarm": [
{
"action": "email",
"trigger": "-900000"
}
],
"isdefault": true,
"calendar_modifiedtime": 1674016258818,
"id": "9065284742911341785",
"order": 0,
"lastmodifiedtime": "20240828T100335Z",
"owner": "800657111",
"visibility": true,
"include_infreebusy": false,
"createdtime": 1674016258818,
"calendar_createdtime": 1674016258818,
"name": "scott.fisher",
"ctag": 1724839415184,
"category": "own",
"status": true,
"caltype": "own"
}
]
}
Required OAuth Scope :
ZohoCliq.CalendarEvents.ALL
Quota limit
Get Events
GET
https://cliq.zoho.com/api/v2/events
{
"from" : 1654018360492,
"to" : 1654218462387,
"include_disabled_calendar" : false | true,
"include_hidden_calendar" : false | true,
"ignore_declined_events" : false | true,
"search" : "text_to_be_searched"
}
{
data :
{
events: [
{
"attendees": [
{
"id": "12345678",
"status": "accepted",
"email": "scott.fisher@zohocorp.com"
},
{
"id": "12345679",
"status": "declined",
"email": "olivia.palmer@zylker.com"
}
],
"reminders": [
{
"time": "-5", // (in minutes) relative time before or after event's start_time (- denotes before, + denotes after)
"action": "popup|email|taz"
}
],
"attachments": [
{
"id": "284148000000123456",
"size": 7787,
"content_type": "image/jpeg",
"name": "floor_plan.jpg"
}
],
"meeting_details" : $conference_object,
"configurations": $configuration_object,
"id" : $encoded_id , // Base 64 encoded id combines of (event_id|$encoded_calendar_id|entity_id)
"role": "organizer",
"edit_tag": "1615374989088",
"end_time": $end_time,
"timezone": "Asia/Kolkata",
"start_time": $start_time,
"organizer" : {
"id" :
Required OAuth Scope :
ZohoCliq.CalendarEvents.ALL
,
ZohoCalendar.calendar.ALL
, ZohoCalendar.event.ALL
,
ZohoCalendar.search.READ
Quota limit
Query Params
Note
Get Event Details
GET
https://cliq.zoho.com/api/v2/events/{EVENT_ID}
{
"calendar_id": {ENCODED_CALENDAR_ID}
}
params :
{
"calendar_id": {ENCODED_CALENDAR_ID},
"recurrence_id" :
{
data :
{
"attendees": [
{
"id": "12345678",
"status": "accepted",
"email": "scott.fisher@zohocorp.com"
},
{
"id": "12345679",
"status": "declined",
"email": "olivia.palmer@zylker.com"
}
],
"reminders": [
{
"time": "-5", // (in minutes) relative time before or after event's start_time (- denotes before, + denotes after)
"action": "popup|email|taz"
}
],
"attachments": [
{
"id": "284148000000123456",
"size": 7787,
"content_type": "image/jpeg",
"name": "floor_plan.jpg"
}
],
"meeting_details" : $conference_object,
"configurations": $configuration_object,
"id" : $encoded_id , // Base 64 encoded id combines of (event_id|$encoded_calendar_id|entity_id)
"role": "organizer",
"edit_tag": "1615374989088",
"end_time": $end_time,
"timezone": "Asia/Kolkata",
"start_time": $start_time,
"organizer" : {
"id" :
Required OAuth Scope :
ZohoCliq.CalendarEvents.ALL
Quota limit
Create an Event
POST
https://cliq.zoho.com/api/v2/events
{
**"title": "Testing Event",
**"start_time": 1615482000000,
**"end_time": 1615485600000,
**"timezone": "Asia/Kolkata",
**"calendar_id": "
{
data :
{
"attendees": [
{
"id": "12345678",
"status": "accepted",
"email": "scott.fisher@zohocorp.com"
},
{
"id": "12345679",
"status": "declined",
"email": "olivia.palmer@zylker.com"
}
],
"reminders": [
{
"time": "-5", // (in minutes) relative time before or after event's start_time (- denotes before, + denotes after)
"action": "popup|email|taz"
}
],
"attachments": [
{
"id": "284148000000123456",
"size": 7787,
"content_type": "image/jpeg",
"name": "floor_plan.jpg"
}
],
"meeting_details" : $conference_object,
"configurations": $configuration_object,
"id" : $encoded_id , // Base 64 encoded id combines of (event_id|$encoded_calendar_id|entity_id)
"role": "organizer",
"edit_tag": "1615374989088",
"end_time": $end_time,
"timezone": "Asia/Kolkata",
"start_time": $start_time,
"organizer" : {
"id" :
Required OAuth Scope :
ZohoCliq.CalendarEvents.ALL
Quota limit
Edit an Event
POST
https://cliq.zoho.com/api/v2/events/{EVENT_ID}
{
**"title": "Testing Event",
**"start_time": 1615482000000,
**"end_time": 1615485600000,
**"timezone": "Asia/Kolkata",
**"calendar_id": "
{
data :
{
"attendees": [
{
"id": "12345678",
"status": "accepted",
"email": "scott.fisher@zohocorp.com"
},
{
"id": "12345679",
"status": "declined",
"email": "olivia.palmer@zylker.com"
}
],
"reminders": [
{
"time": "-5", // (in minutes) relative time before or after event's start_time (- denotes before, + denotes after)
"action": "popup|email|taz"
}
],
"attachments": [
{
"id": "284148000000123456",
"size": 7787,
"content_type": "image/jpeg",
"name": "floor_plan.jpg"
}
],
"meeting_details" : $conference_object,
"configurations": $configuration_object,
"id" : $encoded_id , // Base 64 encoded id combines of (event_id|$encoded_calendar_id|entity_id)
"role": "organizer",
"edit_tag": "1615374989088",
"end_time": $end_time,
"timezone": "Asia/Kolkata",
"start_time": $start_time,
"organizer" : {
"id" :
Required OAuth Scope :
ZohoCliq.CalendarEvents.ALL
Quota limit
Update an Event Status
PUT
https://cliq.zoho.com/api/v2/events/{EVENT_ID}/statuses/{accepted|tentative|declined|yet_to_respond}
{
"calendar_id": {ENCODED_CALENDAR_ID},
"edit_tag": {EDIT_TAG}
}
Response Code: 204 No response
Required OAuth Scope :
ZohoCliq.CalendarEvents.ALL
Quota limit
Delete an Event
DELETE
https://cliq.zoho.com/api/v2/events/{EVENT_ID}
{
"edit_tag": {EDIT_TAG},
"calendar_id": {ENCODED_CALENDAR_ID},
// To delete particular or following recurring event from particular occurance than provide these details.
recurrence_id : {RECURRENCE_ID},
recurrence_edit_type : {only | following}
}
Response code: 204 No Response
Required OAuth Scope :
ZohoCliq.CalendarEvents.ALL
Quota limit
Mark an Event as seen
POST
https://cliq.zoho.com/api/v2/events/{EVENT_ID}/markasseen
{
"end_time" :
Response code: 204 No Response
Required OAuth Scope :
ZohoCliq.CalendarEvents.ALL
Quota limit
Upload Attachments to Event Calendar
POST
https://cliq.zoho.com/api/v2/events/attachments
{
"files" :{FILE_OBJECT} //Choose the required file
}
Response Code: 204 No response
Required OAuth Scope :
ZohoCliq.CalendarEvents.ALL
Quota limit
Reminders
{
"creator": {
"name": "Scott Fisher",
"id": 1234567
},
"creation_time": 1506398400000
"content": "Appathon Submissions Process Review",
"time": 1506571200000,
"users": [
{
"deleted": false,
"name": "Ryan West",
"completed": false,
"id": "2343536"
}
],
"id": "11360000000204003"
}
OAuth Scope
ZohoCliq.Reminders.ALL
Reminder Object Attributes
Time
format is in
milliseconds
Reminders can be
set either for self or multiple users as well.
Create a Reminder
Add a Self Reminder
Request
POST
https://cliq.zoho.com/api/v2/reminders
Payload
{
"content": "Content Review for ZylCal",
"time": "1506571200000"
}
{
"creation_time": 1506398400000,
"creator": {
"name": "Scott Fisher",
"id": 1234567
},
"completed": false,
"content": "Content Review for ZylCal",
"time": 1506571200000 ,
"users": [
{
"deleted": false,
"name": "Scott Fisher",
"completed": false,
"id": "1234567"
}
],
"id": "11360000000204007"
}
Required OAuth Scope :
ZohoCliq.Reminders.CREATE
or to
get
access to all Reminder API's, use the scope ZohoCliq.Reminders.ALL
Query Params
Required
Optional
Time
should be given
in milliseconds. Add a Reminder to Users
Request
POST
https://cliq.zoho.com/api/v2/reminders
Payload
{
"content": "ZylCal Marketplace Apps Review",
"time": "1506571200000",
"user_ids": [
"2343536",
"9876543"
]
}
{
"creation_time": 1506398400000,
"creator": {
"name": "Scott Fisher",
"id": 12345678
},
"completed": false,
"content": "Functionality design review - Reminders",
"time": 1506571200000,
"users": [
{
"deleted": false,
"name": "Ryan West",
"completed": false,
"id": "2343536"
},
{
"deleted": false,
"name": "Olivia Palmer",
"completed": false,
"id": "9876543"
}
],
"id": "11360000000204003"
}
Required OAuth Scope :
ZohoCliq.Reminders.CREATE
or to
get
access to all the API's, use the scope ZohoCliq.Reminders.ALL
Request Body
Required
Optional
Time
should be given
in milliseconds.
Required Add Reminder for a Chat/Channel
Request
POST
https://cliq.zoho.com/api/v2/reminders
Payload
{
"content": "Appathon submissions review",
"time": "1506571200000",
"chat_ids": [
"1277744356562927809"
]
}
{
"creation_time": 1506398400000,
"creator": {
"name": "Scott Fisher",
"id": 12345678
},
"completed": false,
"content": "Appathon submissions review",
"time": 1506571200000,
"chats": [
{
"completed": false,
"chat_id": "1277744356562927809",
"title": "Zylker Appathon"
}
],
"id": "11360000000204011"
}
Required OAuth Scope :
ZohoCliq.Reminders.CREATE
or to
get
access to all the API's you can use the scope ZohoCliq.Reminders.ALL
Request Body
Required
Required
Time
should be given
in milliseconds.
Required Set a message in chat as Reminder
Request
POST
https://cliq.zoho.com/api/v2/reminders
Payload
{
"message_id": "1536662288710",
"chat_id" : "1234572980899407452",
"time": "1506571200000"
}
{
"users": [
{
"deleted": false,
"name": "Ryan West",
"completed": false,
"id": "2343536"
}
],
"id": "11360000000204021",
"time": 1506571200000,
"creator": {
"name": "Scott Fisher",
"id": 12345678
},
"creation_time": 1506398400000,
"completed": false,
"content": "Annual Sales Report Q3 due tomorrow",
"message": {
"sender_id": "12345678",
"message_id": 1536662288710,
"chat_id": "1234572980899407452"
}
}
Required OAuth Scope :
ZohoCliq.Reminders.CREATE
or to
get
access to all the API's you can use the scope ZohoCliq.Reminders.ALL
Request Body
Optional
Required
Required
Required
Optional Retrieve a Reminder
Request
GET
https://cliq.zoho.com/api/v2/reminders/{reminderID}
{
"creation_time": 1506398400000,
"creator": {
"name": "Scott Fisher",
"id": 1234567
},
"completed": false,
"content": "Appathon submissions review",
"time": 1506571200000,
"chats": [
{
"completed": false,
"chat_id": "1277744356562927809",
"title": "Zylker Appathon"
}
],
"id": "11360000000204011"
}
*Note: Responses for other reminder types might vary.
Required OAuth Scope :
ZohoCliq.Reminders.READ
or to get
access
to all the API's you can use the scope ZohoCliq.Reminders.ALL
Quota limit
Update a Reminder
Request
PUT
https://cliq.zoho.com/api/v2/reminders/{reminderID}
Payload
{
"content": "Appathon submissions code and content review"
}
{
"creation_time": 1506398400000,
"creator": {
"name": "Scott Fisher",
"id": 1234567
},
"completed": false,
"content": "Appathon submissions code and content review",
"time" : 1506571200000,
"chats": [
{
"completed": false,
"chat_id": "1277744356562927809",
"title": "Zylker Appathon"
}
],
"id": "11360000000207025"
}
*Note: Responses for other reminder types might vary.
Required OAuth Scope :
ZohoCliq.Reminders.UPDATE
or to
get
access to all the API's you can use the scope ZohoCliq.Reminders.ALL
Request Body
Optional
Optional Delete a Reminder
Request
DELETE
https://cliq.zoho.com/api/v2/reminders/{reminderID}
Response Code: 204 No Content
Required OAuth Scope :
ZohoCliq.Reminders.DELETE
or to
get
access to all the API's you can use the scope ZohoCliq.Reminders.ALL
Quota limit
Delete Reminders
Request
DELETE
https://cliq.zoho.com/api/v2/reminders/batch
Payload
{
"reminder_ids":[11360000000205005,11360000000205009]
}
Response Code: 204 No Content
Note:
The maximum number of reminders that can be deleted at once is 20. Required OAuth Scope :
ZohoCliq.Reminders.DELETE
or to
get
access to all the API's you can use the scope ZohoCliq.Reminders.ALL
Quota limit
Request Body
Required Delete Completed Reminders
Request
DELETE
https://cliq.zoho.com/api/v2/reminders/clearcompleted
Payload
{
"category": "mine-completed"
}
Response Code: 204 No Content
Required OAuth Scope :
ZohoCliq.Reminders.DELETE
or to
get
access to all the API's you can use the scope ZohoCliq.Reminders.ALL
Quota limit
Request Body
Required Mark a Reminder as Complete
Request
PUT
https://cliq.zoho.com/api/v2/reminders/{reminderID}/complete
Response Code: 204 No Content
Required OAuth Scope :
ZohoCliq.Reminders.UPDATE
or to
get
access to all the API's you can use the scope ZohoCliq.Reminders.ALL
Quota limit
Note:
Reminders set for yourself (i.e falling under the mine category) can be marked as
complete
or incomplete. Mark a Reminder as Incomplete
Request
PUT
https://cliq.zoho.com/api/v2/reminders/{reminderID}/incomplete
Response Code: 204 No Content
Required OAuth Scope :
ZohoCliq.Reminders.UPDATE
or to
get
access to all the API's you can use the scope ZohoCliq.Reminders.ALL
Quota limit
Note:
Reminders set for yourself (i.e falling under the mine category) can be marked as
complete
or incomplete.
Snooze a Reminder
Request
PUT
https://cliq.zoho.com/api/v2/reminders/{reminderID}/snooze
Payload
{
"time": "900000"
}
Response Code: 204 No Content
Required OAuth Scope :
ZohoCliq.Reminders.UPDATE
or to
get
access to all the API's you can use the scope ZohoCliq.Reminders.ALL
Quota limit
Request Body
Required Dismiss a Snoozed Reminder
Request
PUT
https://cliq.zoho.com/api/v2/reminders/{reminderID}/dismisssnooze
Response Code: 204 No Content
Required OAuth Scope :
ZohoCliq.Reminders.UPDATE
or to
get
access to all the API's you can use the scope ZohoCliq.Reminders.ALL
Quota limit
Assign Users to a Reminder
Request
POST
https://cliq.zoho.com/api/v2/reminders/{reminderID}/users
Payload
{
"user_ids": [
1234567
]
}
{
"creation_time": 1506398400000,
"creator": {
"name": "Ryan West",
"id": 2343536
},
"completed": false,
"content": "Functionality Design Review Meeting",
"users": [
{
"deleted": false,
"name": "Scott Fisher",
"completed": false,
"id": "1234567"
},
{
"deleted": false,
"name": "Olivia Palmer",
"completed": false,
"id": "9876543"
}
],
"id": "11360000000205013"
}
Note:
This API will only work with reminders added in the Others category i.e
reminders
assigned by you to others Required OAuth Scope :
ZohoCliq.Reminders.UPDATE
or to
get
access to all the API's you can use the scope ZohoCliq.Reminders.ALL
Quota limit
Request Body
Required Unassign a user from a Reminder
Request
DELETE
https://cliq.zoho.com/api/v2/reminders/{reminderID}/users/{User ID}
{
"creation_time": 1536648937889,
"creator": {
"name": "Ryan West",
"id": 2343536
},
"completed": false,
"content": "Functionality Design Review Meeting",
"users": [
{
"deleted": false,
"name": "Olivia Palmer",
"completed": false,
"id": "9876543"
}
],
"id": "11360000000205013"
}
Note:
This API will work with reminders added in the Others category, i.e reminders
assigned by you to others Required OAuth Scope :
ZohoCliq.Reminders.UPDATE
or to
get
access to all the API's you can use the scope ZohoCliq.Reminders.ALL
Quota limit
Remind Assignee
Request
PUT
https://cliq.zoho.com/api/v2/reminders/{reminderID}/users/{User ID}/remind
[
{
"deleted": false,
"name": "Ryan West",
"completed": false,
"id": "2343536"
}
]
Note:
This API will work with reminders added in the Others category, i.e reminders
assigned by you to others Required OAuth Scope :
ZohoCliq.Reminders.UPDATE
or to
get
access to all the API's you can use the scope ZohoCliq.Reminders.ALL
Quota limit
Remind Assignees
Request
PUT
https://cliq.zoho.com/api/v2/reminders/{reminderID}/remind
[
{
"deleted": false,
"name": "Ryan West",
"completed": false,
"id": "2343536"
},
{
"deleted": false,
"name": "Olivia Palmer",
"completed": false,
"id": "9876543"
}
]
Note:
This API will work with reminders added in the Others category, i.e reminders
assigned by you to others Required OAuth Scope :
ZohoCliq.Reminders.UPDATE
or to
get
access to all the API's you can use the scope ZohoCliq.Reminders.ALL
Quota limit
Get List of All Reminders
Request
GET
https://cliq.zoho.com/api/v2/reminders
{
"category": "mine",
"list": [
{
"creation_time": 1506398400000,
"creator": {
"name": "Ryan West",
"id": "2343536"
},
"completed": false,
"content": "Annual sales review report due tomorrow",
"time": 1506571200000,
"users": [
{
"deleted": false,
"name": "Scott Fisher",
"completed": false,
"id": "1234567"
}
],
"id": "11360000000204033"
},
{
"creation_time": 1506398400000,
"creator": {
"name": "Scott Fisher",
"id": 1234567
},
"completed": false,
"content": "Review appathon extension submissions",
"users": [
{
"deleted": false,
"name": "Scott Fisher",
"completed": false,
"id": "1234567"
}
],
"id": "11360000000204029"
},
{
"users": [
{
"deleted": false,
"name": "Scott Fisher",
"completed": false,
"id": "1234567"
}
],
"id": "11360000000207007",
"creator": {
"name": "Scott Fisher",
"id": 1234567
},
"creation_time": 1506398400000,
"completed": false,
"content": "Dormant users campaign report",
"message": {
"sender_id": "2343536",
"message_id": 1536853438313,
"chat_id": "CT_1277744254305568677_53600857"
}
]
}
mine
. By default, this API will return a list of 20
reminders.next_set_token
: This token will be provided in two cases. next_set_token
to get the next set of reminders. Do note that the token will be provided
only
when the total number of reminders are more than the limit specified. Required OAuth Scope :
ZohoCliq.Reminders.READ
or to get
access
to all the API's you can use the scope ZohoCliq.Reminders.ALL
Quota limit
Query Params
Optional
Allowed values
are: mine | mine-completed | others | others-completed
Optional
Optional
"fields": [
{
"default_value": "1000",
"display_name": "Product ID",
"type": "number",
"field_name": "productid",
"column_index": 201
},
{
"default_value": "",
"display_name": "Product Category",
"type": "limited-text",
"field_name": "productcategory",
"column_index": 301
},
{
"default_value": "true",
"display_name": "In Stock",
"type": "boolean",
"field_name": "instock",
"column_index": 101
},
{
"default_value": "",
"display_name": "Product Secret Code",
"type": "encrypted-text",
"field_name": "productsecretcode",
"column_index": 401
},
{
"default_value": "",
"display_name": "Product Description",
"type": "large-text",
"field_name": "productdescription",
"column_index": 501
}
]
Cliq Database
ZohoCliq.StorageData.ALL
The Records object attributes
Optional
Maximum
characters
allowed: 100
Optional
Maximum characters allowed: 30
Required
Allowed Values :
Maximum characters allowed are 250.
Maximum
number of limited-text field type allowed in each database : 5
Maximum characters allowed upto 19. Maximum
number of number field type allowed in each database : 5
Maximum number of boolean field type allowed in each
database : 5
Maximum characters allowed are 250.
Maximum number of encrypted-text field type allowed in each database
: 3
Maximum characters allowed are 1000.
Maximum number of large-text field type allowed in each database : 1
Required
Allowed Values: Only lowercase a-z without any
spaces
or special
characters.
Maximum characters allowed: 30 Add a record
POST
https://cliq.zoho.com/api/v2/storages/{name}/records
Payload
{
"values": {
"productid": "1001",
"productcategory": "zylker",
"instock": true,
"productsecretcode": "secretkey123",
"productdescription": "zylker description"
}
}
{
"productcateogry": "zylker",
"id": "14756000888008001",
"productid": "1001",
"instock": true,
"productsecretcode": "secretkey123",
"productdescription": "zylker description"
}
Required OAuth Scope :
ZohoCliq.StorageData.CREATE
or
ZohoCliq.StorageData.ALL
Quota limit
Request Body
Required Retrieve a record
GET
https://cliq.zoho.com/api/v2/storages/{name}/records/{id}
{
"productcateogry": "zylker",
"id": "14756000888008001",
"productid": "1001",
"instock": true,
"productsecretcode": "secretkey123",
"productdescription": "zylker description"
}
Required OAuth Scope :
ZohoCliq.StorageData.READ
or
ZohoCliq.StorageData.ALL
Quota limit
List records
GET
https://cliq.zoho.com/api/v2/storages/{name}/records
"list": [
{
"productcateogry": "zylker",
"id": "14756000000008008",
"productid": "1004",
"instock": true,
"productsecretcode": "secretkey234",
"productdescription": "zylker description"
},
{
"productcateogry": "zylcal",
"id": "14756000000008003",
"productid": "1003",
"instock": false,
"productsecretcode": "secretkey123",
"productdescription": "zylcal description"
},
{
"productcateogry": "zylker",
"id": "14756000000008004",
"productid": "1002",
"instock": true,
"productsecretcode": "secretkey123",
"productdescription": "zylker description"
},
{
"productcateogry": "zylker",
"id": "14756000000008005",
"productid": "1001",
"instock": true,
"productsecretcode": "secretkey897",
"productdescription": "zylker description"
}
]
Required OAuth Scope :
ZohoCliq.StorageData.READ
or
ZohoCliq.StorageData.ALL
Quota limit
Query Params
Optional
Optional
Optional
Optional
Allowed values: +column_name |
-column_name
note : pass '%2B' instead of '+' as plus is a
reserved character.
Optional Retrieve a record by specifying a criteria
GET
https://cliq.zoho.com/api/v2/storages/{name}/records?criteria=(productid==1001)
{
"productcateogry": "zylker",
"id": "14756000888008001",
"productid": "1001",
"instock": true,
"productsecretcode": "secretkey123",
"productdescription": "zylker description"
}
Required OAuth Scope :
ZohoCliq.StorageData.READ
or
ZohoCliq.StorageData.ALL
Quota limit
Retrieve a record by specifying a range ( from_index and limit )
GET
https://cliq.zoho.com/api/v2/storages/{name}/records?from_index=1&limit=2
"next_token": "2666a59c-b894-40f5-82c5-3703fbde2ec9",
"list": [
{
"productcateogry": "zylker",
"id": "14756000000008007",
"productid": "1002",
"instock": false,
"productsecretcode": "secretkey234",
"productdescription": "zylker description"
},
{
"productcateogry": "zylcal",
"id": "14756000000008005",
"productid": "1003",
"instock": true,
"productsecretcode": "secretkey123",
"productdescription": "zylcal description"
}
]
from_index
is the index from which the records will be fetched and limit
specifies the
number of records to be fetched from that particular index. The response for a request sent using these
parameters will contain the next_token
This token acts as an access token to get the list
of
remaining records in the database. The next_token will be valid only for one immediate request and will
expire
once used.
Required OAuth Scope :
ZohoCliq.StorageData.READ
or
ZohoCliq.StorageData.ALL
Quota limit
Retrieve a record with start token
GET
https://cliq.zoho.com/api/v2/storages/{name}/records?start_token=2666a59c-b894-40f5-82c5-3703fbde2ec9
{
"productcateogry": "zylker",
"id": "14756000000008008",
"productid": "1004",
"instock": true,
"productsecretcode": "secretkey234",
"productdescription": "zylker description"
}
next_token
obtained from the response of the Get records by
specifying a
range API. This token should be sent as the value for the key start_token
in the next
immediate
request. Successful response will get a list of all remaining records in the database. invalid start token
Required OAuth Scope :
ZohoCliq.StorageData.READ
or
ZohoCliq.StorageData.ALL
Quota limit
Update a record
PUT
https://cliq.zoho.com/api/v2/storages/{name}/records/{id}
Payload
{
"values": {
"instock": "false"
}
}
{
"productcategory": "zylker",
"id": "14756000888008001",
"productid": "1001",
"instock": false
}
Required OAuth Scope :
ZohoCliq.StorageData.UPDATE
or
ZohoCliq.StorageData.ALL
Quota limit
Delete a record
DELETE
https://cliq.zoho.com/api/v2/storages/{name}/records/{id}
Response Code: 204 No Content
Required OAuth Scope :
ZohoCliq.StorageData.DELETE
or
ZohoCliq.StorageData.ALL
Quota limit
Widget Map Tickers
Map Ticker Object Attributes
Mandatory
Mandatory
The allowed values are:
person|bicycle|motorcycle|car|van|bus|plane
Mandatory
The allowed Values are: green | yellow | red
By default, tickers are set to green.
Mandatory
MandatoryAdd/Update a ticker
PUT
https://cliq.zoho.com/api/v2/widgets/{widget_id}/maps/{map_id} //internal tools API
https://cliq.zoho.com/api/v2/extensions/widgets/maps/{map_id}?appkey={appkey} //extension API
{
"tickers": {
"chennai": {
"title": "Chennai",
"type": "person",
"last_modified_time": 1675559450620,
"latitude": 12.8310776,
"longitude": 80.0493569,
"info": "Zoho corporation - Chennai"
}
}
}
Note: You can
get the ticker endpoint from the widget preview page (profile -> bots & tools -> widgets -> required
widget)Required OAuth Scope :
ZohoCliq.Applications.update
Quota limit
Delete a ticker
DELETE
https://cliq.zoho.com/api/v2/widgets/{widget_id}/maps/{map_id} //internal tools API
https://cliq.zoho.com/api/v2/extensions/widgets/maps/{map_id}?appkey={appkey} //extension API
{
"ids": ["chennai"]
}
Required OAuth Scope :
ZohoCliq.Applications.update
Quota limit
{
"data":
{
"status": "active",
"name": "chat.zylker.org",
"ssl_enabled": true
}
}
Custom Domain
Custom Domain Object Attributes
Retrieve a custom domain
GET
https://cliq.zoho.com/api/v2/customdomain
{
"data":
{
"status": "active",
"name": "chat.zylker.org",
"ssl_enabled": true
}
}
Required OAuth Scope :
ZohoCliq.Organisation.READ
Add a custom domain
POST
https://cliq.zoho.com/api/v2/customdomain
{
"name":"chat.zylker.org"
}
{
"data":
{
"status": "inactive",
"name": "chat.zylker.org",
"ssl_enabled": true
}
}
Required OAuth Scope :
ZohoCliq.Organisation.CREATE
Request Body
MandatoryVerify a custom domain
PUT
https://cliq.zoho.com/api/v2/customdomain
{
"status":"active/inactive"
}
{
"data":
{
"status": "inactive",
"name": "chat.zylker.org",
"ssl_enabled": true
}
}
Required OAuth Scope :
ZohoCliq.Organisation.UPDATE
Request Body
MandatoryDelete a custom domain
DELETE
https://cliq.zoho.com/api/v2/customdomain
Response Code: 204 No Content
Required OAuth Scope :
ZohoCliq.Organisation.DELETE
{
"data":
{
"email_id": "scott.fisher@zylkerorg.gq",
"name": "Scott",
"dkim_value": "k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCr6KMgdxxgg7oT3ulMwPJs9RXgXDrI9UWU118pHEMohl3UbL3Jwp4oxp/9N3thh/3WCJnYV134zbEVolZwqaT3JsFEq/mQ/RpW/JnOZ3rnxqJPurb2bcfJol4SDxiWVObzHX31xnANzFcXnq1/5dMK5QvW4Jh7n0fm4+4ywqiy2QIDAQAB",
"dkim_status": "not_verified",
"dkim_host": "1522905413783._domainkey.zylkerorg.gq",
"cname_status": "verified"
}
}
Custom Email
Custom Email Object Attributes
Retrieve global mail configuration
GET
https://cliq.zoho.com/api/v2/mailconfigurations/global
{
"data":
{
"email_id": "scott.fisher@zylkerorg.gq",
"name": "Scott",
"dkim_value": "k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCr6KMgdxxgg7oT3ulMwPJs9RXgXDrI9UWU118pHEMohl3UbL3Jwp4oxp/9N3thh/3WCJnYV134zbEVolZwqaT3JsFEq/mQ/RpW/JnOZ3rnxqJPurb2bcfJol4SDxiWVObzHX31xnANzFcXnq1/5dMK5QvW4Jh7n0fm4+4ywqiy2QIDAQAB",
"dkim_status": "not_verified",
"dkim_host": "1522905413783._domainkey.zylkerorg.gq",
"cname_status": "verified"
}
}
Required OAuth Scope :
ZohoCliq.Organisation.READ
Update mail configuration
PUT
https://cliq.zoho.com/api/v2/mailconfigurations/global
{
"name":"Scott",
"email_id":"scott.fisher@zylkerorg.gq",
"cname_status":"verified"
}
{
"data":
{
"email_id": "scott.fisher@zylkerorg.gq",
"name": "Scott",
"dkim_value": "k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCr6KMgdxxgg7oT3ulMwPJs9RXgXDrI9UWU118pHEMohl3UbL3Jwp4oxp/9N3thh/3WCJnYV134zbEVolZwqaT3JsFEq/mQ/RpW/JnOZ3rnxqJPurb2bcfJol4SDxiWVObzHX31xnANzFcXnq1/5dMK5QvW4Jh7n0fm4+4ywqiy2QIDAQAB",
"dkim_status": "not_verified",
"dkim_host": "1522905413783._domainkey.zylkerorg.gq",
"cname_status": "verified"
}
}
Required OAuth Scope :
ZohoCliq.Organisation.UPDATE
Request Body
Mandatory
Mandatory
Mandatory The Message Object
The Message Object Attributes
Allowed values : text | list | table | image | label | percentage_chart | graph
Request
POST
https://cliq.zoho.com/api/v2/chats/{chat_id}/message
Payload
{"text": "Hey!"}
text
should be used.Required OAuth Scope :
ZohoCliq.Webhooks.CREATE
Request
POST
https://cliq.zoho.com/api/v2/chats/{chat_id}/message
Payload
{
"text": "Get your team updates here.",
"bot": {
"name": "Zylker-Sales",
"image": "/cliq/help/restapi/images/bot-custom.png"
},
"card": {
"theme": "prompt",
"title": "Welcome to Zylker-Sales!"
}
}
bot
and the values
name
image
.
Required OAuth Scope :
ZohoCliq.Webhooks.CREATE
slides
key. Each type is
explained
below with the requisite attributes.
Request
POST
https://cliq.zoho.com/api/v2/chats/{chat_id}/message
Payload
{
"text": "New interns will be joining these teams from July.",
"card": {
"title":"ANNOUNCEMENT",
"theme": "modern-inline",
"thumbnail": "/cliq/help/restapi/images/announce_icon.png"
},
"slides": [
{
"type": "table",
"title": "Details",
"data": {
"headers": [
"Name",
"Team",
"Reporting To"
],
"rows": [
{
"Name": "Paula Rojas",
"Team": "Zylker-Sales",
"Reporting To": "Li Jung"
},
{
"Name": "Quinn Rivers",
"Team": "Zylker-Marketing",
"Reporting To": "Patricia James"
}
]
}
}
],
"buttons": [
{
"label": "View",
"type": "+",
"action": {
"type": "invoke.function",
"data": {
"name": "internlist"
}
}
},
{
"label": "Cancel",
"type": "-",
"action": {
"type": "invoke.function",
"data": {
"name": "internlist"
}
}
}
]
}
table
for the
type
key.
Note:
Any type of content to be attached should be enclosed under the
slides
JSON object. Try it in our message builder. Try this!Required OAuth Scope :
ZohoCliq.Webhooks.CREATE
The Table object attributes
table
Example:
Show
Attributes
Example: "styles": { "width": [10, 90] }
Note 1: This is directly
proportional
to the number
of columns in the table.
Note 2: The width of all the columns should add
upto
100.
Request
POST
https://cliq.zoho.com/api/v2/chats/{chat_id}/message
Payload
{
"text": "Welcome to Agile Bot! I'm here to give you a brief on what Agile is all about.",
"bot": {
"name": "Agile Bot",
"image": "/cliq/help/restapi/images/bot-custom.png"
},
"card": {
"theme": "modern-inline"
},
"slides": [
{
"type": "list",
"title": "Key points ",
"data": [
"Time - Tracking for Tasks",
"Prioritize requirements effectively",
"Identify and work on a fix for bugs instantly",
"Collaborate actively",
"Most important - Keep it simple"
]
}
]
}
list
value for the type
key. Note:
Any type of content to be attached should be enclosed under the
slides
JSON object. Try it in our message builder. Try this!The List object attributes
list
Show
Attributes
Request
POST
https://cliq.zoho.com/api/v2/chats/{chat_id}/message
Payload
{
"text": "Hi Team! Take a look at the monthly financial reports attached.",
"bot": {
"name": "Zylker Bot",
"image": "/cliq/help/restapi/images/bot-custom.png"
},
"card": {
"title": "Quarterly Revenue Growth",
"theme": "modern-inline"
},
"slides": [
{
"type": "label",
"title": "Report for FY2017",
"data": [
{
"Q1 - FY2017": "[Revenue Report for Q1FY2017](/cliq/)"
},
{
"Q2 - FY2017": "[Revenue Report for Q2FY2017](/cliq/)"
},
{
"Q3 - FY2017": "[Revenue Report for Q3FY2017](/cliq/)"
}
]
}
]
}
label
value for the type
key. Note:
Any type of content to be attached should be enclosed under the
slides
JSON object. Try it in our message builder. Try this!The Label object attributes
label
Request
POST
https://cliq.zoho.com/api/v2/chats/{chat_id}/message
Payload
{
"text": "Report analysing the tourist visit trend (10 - 16 Sept 2017)",
"bot": {
"name": "Zylker Tourism"
},
"card": {
"title": "Weekly Report",
"theme": "modern-inline"
},
"buttons": [
{
"label": "View Report",
"action": {
"type": "open.url",
"data": {
"web": "/cliq/"
}
},
"type": "+"
}
],
"slides": [
{
"type": "images",
"title": "Analysing the average number of days spent with the day of arrival.",
"data": [
"/cliq/help/restapi/images/WeeklyReport.png"
]
}
]
}
image
value for the type
key. Note:
Any type of content to be attached should be enclosed under the
slides
JSON object. Try it in our message builder. Try this!The Image object attributes
images
Request
POST
https://cliq.zoho.com/api/v2/chats/{chat_id}/message
Payload
{
"text":"Analysis Report of Marketing Expenditure for the Past Month",
"bot":{
"name":"Zylker Marketing"
},
"card":{
"title":"Report",
"theme":"modern-inline"
},
"slides":{
{
"type":"percentage_chart",
"styles":{
"preview":"doughnut"
},
"data":{
{
"label":"Social Media",
"value":40
},
{
"label":"SEO Vendors",
"value":15
},
{
"label":"Print Media",
"value":35
}
}
}
}
}
percentage_chart
value for the type
key.The Chart object attributes
percentage_chart
pie | doughnut | semi_doughnut
"style":{"preview":"pie"}
Show
Attributes
Request
POST
https://cliq.zoho.com/api/v2/chats/{chat_id}/message
Payload
{
"text":"Exploring how our customers have been leveraging integrations in the past week!",
"bot":{
"name":"Zylker Apptics"
},
"card":{
"title":"Usage Analysis",
"theme":"modern-inline"
},
"slides":{
{
"type":"graph",
"styles":{
"preview":"trend"
},
"data":{
{
"category":"Asana",
"values":{
{
"label":"Jan",
"value":9
},
{
"label":"Feb",
"value":6
},
{
"label":"Mar",
"value":3
}
}
},
{
"category":"BitBucket",
"values":{
{
"label":"Jan",
"value":12
},
{
"label":"Feb",
"value":18
},
{
"label":"Mar",
"value":14
}
}
},
{
"category":"Zendesk",
"values":{
{
"label":"Jan",
"value":4
},
{
"label":"Feb",
"value":3
},
{
"label":"Mar",
"value":7
}
}
}
}
}
}
}
graph
value for the type
key.The Graph object attributes
graph
Show
Attributes vertical_bar | vertical_stacked_bar | trend
Show
Attributes
Each object holds:
Mentions
Request
POST
https://cliq.zoho.com/api/v2/chats/{chat_id}/message
Payload
{"text": "Hey there {@userid}"}
{"text": "Hey there {@scott.fisher@zylker.com}"}
(OR)
{
"text": "Meetup Alert",
"card":
{
"title": "Lake View Project",
"theme": "modern-inline"
},
"slides":
[
{
"type": "text",
"title": "Venue",
"data": "Hey [Mike](zohoid:667356693), make sure we have the venue ready for meetup"
}
]
}
{@zohoid}
or {@email}
. Mentioning a user in any team or organization
level
channel will notify the user. This syntax will work only in text
and comments
keys in
the payload.Note:
Use the syntax [User Name](zohoid:userid) to mention a user silently in any
conversation.
This will not notify the user. This could also be used to mention a user anywhere other than the
text
and comments
keys.
Required OAuth Scope :
ZohoCliq.Webhooks.CREATE
Request
POST
https://cliq.zoho.com/api/v2/chats/{chat_id}/message
Payload
{"text": "Hey there {#CHANNEL_ID}"}
{#CHANNEL_ID}
. Mentioning a team or organization level
channel will notify all the participants who are a part of that channel and posts an info message in the
channel.
Required OAuth Scope :
ZohoCliq.Webhooks.CREATE
Request
POST
https://cliq.zoho.com/api/v2/chats/{chat_id}/message
Payload
{"text": "Hey there {@participants}"}
{@participants}
. This will notify all the
participants who are a part of the channel.
Required OAuth Scope :
ZohoCliq.Webhooks.CREATE
Request
POST
https://cliq.zoho.com/api/v2/chats/{chat_id}/message
Payload
{"text": "Hey there {@available}"}
{@available}
. This will notify all participants who have their status set to available.
Required OAuth Scope :
ZohoCliq.Webhooks.CREATE
Request
POST
https://cliq.zoho.com/api/v2/chats/{chat_id}/message
Payload
{"text": "Hey there {@Gteam_id}"}
{@Gteam_id}
. You can mention a team in a team or
organization
level channel only.Required OAuth Scope :
ZohoCliq.Webhooks.CREATE
Buttons
Label
: The display value of the button in the message. Button Type
: A simple color indication to differentiate if the button action is intended to
be
positive, negative or neutral.Button Action Types
: The types of action entries that can be triggered on clicking a button.
Instant Buttons
[Button Label](button_action_type|actionproperties)
Required OAuth Scope :
ZohoCliq.Webhooks.CREATE
Instant Button triggered using Invoke Function
[Button Label]($reference-key)
Request
POST
https://cliq.zoho.com/api/v2/chats/{chat_id}/message
Payload
{
"text": "Who's up for lunch after the match on Friday? [Yes]($1) [No]($2) [Maybe]($3)",
"references": {
"1": {
"type": "button",
"object": {
"label": "Yes",
"action": {
"type": "invoke.function",
"data": {
"name": "teammatch"
}
},
"type": "+"
}
},
"2": {
"type": "button",
"object": {
"label": "No",
"action": {
"type": "invoke.function",
"data": {
"name": "teammatch"
}
},
"type": "+"
}
},
"3": {
"type": "button",
"object": {
"label": "Maybe",
"action": {
"type": "invoke.function",
"data": {
"name": "teammatch"
}
}
}
}
}
}
Params
Instant Button triggered using System API
Required OAuth Scope :
ZohoCliq.Webhooks.CREATE
[Button Label](system.api|system action/user ID)
Example:
Request
POST
https://cliq.zoho.com/api/v2/chats/{chat_id}/message
Payload
{
"text":"Hey!Let's have a quick call! [Join](system.api|videocall/123456789)"
}
Params
Required
Required
Required
ID - zuid
of the user to whom the system action should be
performed.
Message Card Buttons
{
"label":"",
"type":" ",
"action":{
"type":" ",
"data":{
},
"confirm":{
}
}
}
Required OAuth Scope :
ZohoCliq.Webhooks.CREATE
The Button Object Attributes
Maximum number of characters allowed : 20
Maximum number of characters allowed : 100
Maximum number
of characters allowed : 100
Allowed values : + | - Message Card Button Actions
Message Card Buttons triggered using Invoke Function
Request
POST
https://cliq.zoho.com/api/v2/chats/{CHAT_ID}/message
Payload
{
"text": "Sales campaign results are ready!",
"card": {
"theme": "prompt",
"thumbnail": "/cliq/help/restapi/images/cliqicon.png"
},
"buttons": [
{
"label": "Update Campaigns",
"type": "+",
"action": {
"type": "invoke.function",
"data": {
"name": "update_campaigns"
}
}
}
]
}
invoke.function
button action. Params
Message Card Buttons triggered using Open URL
Request
POST
https://cliq.zoho.com/api/v2/chats/{CHAT_ID}/message
Payload
{
"text": "You are invited to the Sales Annual Meet!Click to view the invitation.",
"card": {
"theme": "modern-inline",
"thumbnail": "/cliq/help/restapi/images/cliq_icon.png"
},
"buttons": [
{
"label": "View Invite",
"type": "+",
"action": {
"type": "open.url",
"data": {
"web": "/cliq/"
}
}
}
]
}
Params
Maximum
number of
characters allowed : 256
Maximum number of characters allowed : 256
Maximum number of characters allowed : 256
Maximum number of characters allowed : 256 Message Card Buttons triggered using System API
Request
POST
https://cliq.zoho.com/api/v2/chats/{CHAT_ID}/message
Payload
{
"text": "You are invited to the Sales Annual Meet!Click to view the invitation.",
"card": {
"theme": "prompt",
"thumbnail": "/cliq/help/restapi/images/cliqicon.png"
},
"buttons": [
{
"label": "View Invite",
"type": "+",
"action": {
"type": "system.api",
"data": {
"api": "startchat/1234567890"
}
}
}
]
}
Params
Format : system action/{id} Message Cards
Poll
Request
POST
https://cliq.zoho.com/api/v2/chats/{CHAT_ID}/message
Payload
{
"text": "Would you be able to attend the Zylker-Sales meet up?",
"card": {
"title": "POLL",
"theme": "poll",
"thumbnail": "/cliq/help/restapi/images/poll_icon.png"
},
"buttons": [
{
"label": "Yes",
"type": "+",
"action": {
"type": "invoke.function",
"data": {
"name": "pollbuttons"
}
}
},
{
"label": "No",
"type": "-",
"action": {
"type": "invoke.function",
"data": {
"name": "pollbuttons"
}
}
},
{
"label": "View Results",
"type": "+",
"action": {
"type": "invoke.function",
"data": {
"name": "pollbuttons"
}
}
}
]
}
Note:
The given poll message structure here has 3 buttons, the first two
buttons
as poll options and one more button at the bottom of the message to view the poll results. View the poll
message
card in our message builder. View Card! Modern-Inline
Request
POST
https://cliq.zoho.com/api/v2/chats/{CHAT_ID}/message
Payload
{
"text": "New interns will be joining these teams from July.",
"card": {
"title":"ANNOUNCEMENT",
"theme": "modern-inline",
"thumbnail": "/cliq/help/restapi/images/announce_icon.png"
},
"slides": [
{
"type": "table",
"title": "Details",
"data": {
"headers": [
"Name",
"Team",
"Reporting To"
],
"rows": [
{
"Name": "Paula Rojas",
"Team": "Zylker-Sales",
"Reporting To": "Li Jung"
},
{
"Name": "Quinn Rivers",
"Team": "Zylker-Marketing",
"Reporting To": "Patricia James"
}
]
}
}
],
"buttons": [
{
"label": "View",
"type": "+",
"action": {
"type": "invoke.function",
"data": {
"name": "internlist"
}
}
},
{
"label": "Cancel",
"type": "-",
"action": {
"type": "invoke.function",
"data": {
"name": "internlist"
}
}
}
]
}
Prompt
Request
POST
https://cliq.zoho.com/api/v2/chats/{CHAT_ID}/message
Payload
{
"text": "Patricia James is inviting you to discuss about- Lead Marketing Strategies",
"card": {
"title": "Zylker-Marketing",
"theme": "prompt",
"thumbnail": "/cliq/help/restapi/images/prompt_icon.png"
},
"buttons": [
{
"label": "Accept",
"type": "+",
"action": {
"type": "system.api",
"data": {
"api": "startchat/1234567890"
}
}
},
{
"label": "Decline",
"type": "-",
"action": {
"type": "system.api",
"data": {
"api": "startchat/1234567890"
}
}
}
]
}
Icons