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:
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 thread followers
GET https://cliq.zoho.com/api/v2/threads/{THREAD_ID}/followers
Response Example
{ "data": [ { "user_id": "15066855", "email_id": "scott.fisher@zylker.com", "name": "Scott" }, { "user_id": "15071629", "email_id": "mark.twine@zylker.com", "name": "Mark" } ] }
You can use this API to get the followers of the thread.
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
Get non followers
Get non followers
GET https://cliq.zoho.com/api/v2/threads/{THREAD_ID}/nonfollowers
Response Example
{ "data": [ { "user_id": "15012855", "email_id": "emily.woods@zylker.com", "name": "Emily" }, { "user_id": "15071629", "email_id": "james.baken@zylker.com", "name": "James" } ] }
You can use this API to get channel members who do not follow the thread.
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
Add
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
Join
PUT https://cliq.zoho.com/api/v2/threads/{THREAD_ID} Request body: { "action" : "follow" } Response Example: Response Code: 204 No Content
Remove
DELETE https://cliq.zoho.com/api/v2/threads/{THREAD_ID}/followers Request body: { "user_ids" : ["15067889"] } Response Example: Response Code: 204 No Content
Leave
PUT https://cliq.zoho.com/api/v2/threads/{THREAD_ID} Request body: { "action" : "unfollow" } Response Example: Response Code: 204 No Content
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
2. Join - Join the thread as a follower
3. Remove - Remove
another user from the thread
4. Leave - Leave the thread
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Chats.UPDATE
Quota limit
The quota limit for this API is 20 requests per minute per user
Get threads of a chat
Get threads of a chat
GET https://cliq.zoho.com/api/v2/channels/{CHANNEL_ID}/threads?state=
&type=
Response Example
{ "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" } ] }
You can use this API to get all the threads in 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 60 requests per minute per user
Query Params
state Optional String Can have one of the following three values: 1. followed 2. not_followed 3. all type Optional String Can have one of the following two values: 1. open 2. closed |
Request Body
next_token Optional String Can be used to get the next set of the results (is
returned in the previous response) limit Optional String Determines the size of the set to be fetched |
Note:
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 main message
GET https://cliq.zoho.com/api/v2/threads/{THREAD_ID}/messages/main
Response Example
{ "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 }
You can use this API to get the main message from which the thread was created.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Messages.READ
Quota limit
The quota limit for this API is 30 requests per minute per user
Thread State
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
You can use this API to open or close the state of a thread.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Chats.UPDATE
Quota limit
The quota limit for this API is 20 requests per minute per user
Auto Follow
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 }
You can use this API to auto-follow all threads created in 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 50 requests per minute per user
Sample Teams Object
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 }
Cliq Teams are members of your organization just grouped together based on any criteria.
OAuth Scope
OAuth scope for all Teams APIs: ZohoCliq.Teams.ALL
This scope will give the basic CRUD access to all Teams APIs.
The Team Object Attributes
name string Name of the team. description string Description of the team. participant_count long The total number of participants in the team. team_id string Unique id of the team. organization_id string This unique id represents the organization under
which the
team is
present. is_active boolean Denotes if the team is active or not. joined boolean Denotes if the user is a participant of the team or
not.
creation_time timestamp The time at which the team was created. |
Create a Team
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"] }
Response Example
{ "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 }
You can use this API to create teams.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Teams.CREATE
Quota limit
The quota limit for this API is 30 requests per minute per user
Request Body
name Mandatory string Name of the team to be created. description Optional string Description of the team to be created. user_ids Optional array The user ids of the users to be included as members
of the
team. |
Retrieve a Team
Retrieve a Team
GET https://cliq.zoho.com/api/v2/teams/{TEAM_ID}
Response Example
{ "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 }
You can use this to get details of a single team.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Teams.READ
Quota limit
The quota limit for this API is 30 requests per minute per user
Update a Team
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" }
Response Example
{ "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 }
You can use this to update details of a single team.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Teams.UPDATE
Quota limit
The quota limit for this API is 50 requests per minute per user
Request Body
name Optional string Update the name of the team. description Optional string Update the description of the team. |
Delete a Team
Delete a Team
DELETE https://cliq.zoho.com/api/v2/teams/{TEAM_ID}
Response Example
Response Code: 204 No response
You can use this to delete a single team.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Teams.DELETE
Quota limit
The quota limit for this API is 20 requests per minute per user
List all Teams
List all Teams
GET https://cliq.zoho.com/api/v2/teams?joined={true}
Response Example
{ "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 } ] }
You can use this to get the list of all teams.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Teams.READ
Quota limit
The quota limit for this API is 30 requests per minute per user
QueryParams
joined Optional boolean If joined = true, then the response contains the list
of
teams containing
the user as a member. |
Get Team Members
Get Team Members
GET https://cliq.zoho.com/api/v2/teams/{TEAM_ID}/members
Response Example
{ "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 } ] }
You can use this to get the list of all members in a team.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Teams.READ
Quota limit
The quota limit for this API is 100 requests per minute per user
Add Team Members
Add Team Members
POST https://cliq.zoho.com/api/v2/teams/{TEAM_ID}/members Payload: { "user_ids": [ "44344926", "54667722" ] }
Response Example
{ "members": [ { "user_id": "44344926", "display_name": "Olivia Palmer", "is_moderator": false }, { "user_id": "54667722", "display_name": "Quinn Rivers", "is_moderator": false } ] }
You can use this to add members in a team.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Teams.CREATE
Quota limit
The quota limit for this API is 20 requests per minute per user
Delete Team Members
Delete Team Members
DELETE https://cliq.zoho.com/api/v2/teams/{TEAM_ID}/members/{USER_ID}
Response Example
Response Code : 204 No response
You can use this to delete members in a team.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Teams.UPDATE
Quota limit
The quota limit for this API is 20 requests per minute per user
Messages
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:
OAuth Scope
: The OAuth scope for messaging APIs isWebhooks
. 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
Get messages
Request GET https://cliq.zoho.com/api/v2/chats/{CHAT_ID}/messages?limit=4
Response Example
{ "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": "" } } ] }
Use this API to get messages from a chat conversation that you have access to.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Messages.READ
Quota limit
The quota limit for this API is 15 requests per minute per user
Query Params
fromtime Optional long Time from when you want to retrieve messages from the
chat.
From time
should be passed in milliseconds. totime Optional long Time till when you want to retrieve messages from the
chat.
To time
should be passed in milliseconds. limit Optional string The number of messages to be retrieved. If limit is
not
specified,
maximum of 100 messages will be retrieved. |
Retrieve a message
Retrieve a message
Request GET https://cliq.zoho.com/api/v2/chats/{CHAT_ID}/messages/{MESSAGE_ID}
Response Example
{ "sender": { "name": "Scott Fisher", "id": "12345678" }, "id": "1543320941513_23291239955324", "time": 1543320941513, "type": "text", "content": { "text": "Hello Guys!" } }
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.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Messages.READ
Quota limit
The quota limit for this API is 30 requests per minute per user
To post message in a channel using channel unique name
Post message in a channel
Request POST https://cliq.zoho.com/api/v2/channelsbyname/{CHANNEL_UNIQUE_NAME}/message Payload {"text":"Hi Guys!"}
To post message in a channel as a bot
Request POST https://cliq.zoho.com/api/v2/channelsbyname/{CHANNEL_UNIQUE_NAME}/message?bot_unique_name={BOT_UNIQUE_NAME} Payload {"text":"Hello Humans"}
Deluge task to post a message in a channel
Syntax zoho.cliq.postToChannel({CHANNEL_UNIQUE_NAME}, message); Request zoho.cliq.postToChannel("marketing","Hey Guys!");
Deluge task to post a message in a channel as a bot.
Syntax zoho.cliq.postToChannelAsBot({CHANNEL_UNIQUE_NAME}, {BOT_UNIQUE_NAME}, message); Request zoho.cliq.postToChannelAsBot("marketing","campaignsbot","Hey Guys!");
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.
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. mark_as_read Boolean Optional Use these APIs to mark the sent message as read for the user.
By default, the message will be unread for the message posted by the user. |
Request Body
text Mandatory String Use this parameter to send a message in a channel.
reply_to Optional String Use this parameter to reply to a message shared in a
channel.
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. Note that the
message_id
will not be returned if the message is posted as a bot. |
To post message in a channel using channel ID
Request POST https://cliq.zoho.com/api/v2/channels/{CHANNEL_ID}/message Payload {"text":"Hi"}
To reply to a message in channel using channel unique name
Request POST https://cliq.zoho.com/api/v2/channelsbyname/{CHANNEL_UNIQUE_NAME}/message Payload {"text":"Hi","reply_to":"{MESSAGE_ID}"}
To reply to a message in channel using channel ID
Request POST https://cliq.zoho.com/api/v2/channels/{CHANNEL_ID}/message Payload {"text":"Hello!","reply_to":"{MESSAGE_ID}"}
To post message to a bot
Post message to a bot
Request POST https://cliq.zoho.com/api/v2/bots/{BOT_UNIQUE_NAME}/message Payload {"text":"Hi"}
Deluge task to post message to a bot
Syntax zoho.cliq.postToBot("{BOT_UNIQUE_NAME}",message); Request zoho.cliq.postToBot("zylkerbot","Hi");
To post message to specific subscribers of the bot
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" } } }
Deluge task to post message to specific bot subscribers
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);
To reply to a message in a bot
Request POST https://cliq.zoho.com/api/v2/bots/{BOT_UNIQUE_NAME}/message Payload {"reply_to":"{MESSAGE_ID}","text":"Hi"}
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.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Webhooks.CREATE
Request Body
text Mandatory String Use this parameter to send a message to a bot. userids Optional String Use this parameter to broadcast message to dedicated
bot
subscribers. You
can enter multiple values, each separated with a comma. reply_to Optional String Use this parameter to reply to a message in the bot
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
and chat_id of the users will be returned as the response.
|
Deprecated
broadcast Optional Boolean Use this parameter to broadcast message to all the
bot subscribers.
Note : As an alternate, use the userids key to broadcast messages to specific subscribers of the bot.
|
To post message in a chat using chat ID
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" }
Deluge task to post a message in a chat
Syntax zoho.cliq.postToChat({CHAT_ID}, message); Request zoho.cliq.postToChat("1234567","Hello");
To reply to a message in a chat
Request POST https://cliq.zoho.com/api/v2/chats/{CHAT_ID}/message Payload {"reply_to":"{MESSAGE_ID}","text":"Hello!"}
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.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Webhooks.CREATE
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. mark_as_read Boolean Optional Use these APIs to mark the sent message as read for the user.
By default, the message will be unread for the message posted by the user. |
To post message to a user using email ID
Post message to a user
Request POST https://cliq.zoho.com/api/v2/buddies/{EMAIL_ID}/message Payload {"text":"Hi"}
Deluge task to post a message to a user using email ID
Syntax zoho.cliq.postToUser({USER_EMAIL_ID},message); Request zoho.cliq.postToUser("scott.fisher@zylcal.com","Hey!");
To post message to a user using User ID
Request POST https://cliq.zoho.com/api/v2/buddies/{ZUID}/message Payload {"text":"Hi"}
Deluge task to post a message to a user using User ID
Syntax zoho.cliq.postToUser({ZUID} ,message); Request zoho.cliq.postToUser("2356781","Hey!");
To reply to the message of a user using email ID
Request POST https://cliq.zoho.com/api/v2/buddies/{EMAIL_ID}/message Payload {"reply_to":"{MESSAGE_ID}","text":"Hello!"}
To reply to the message of a user using ZUID
Request POST https://cliq.zoho.com/api/v2/buddies/{ZUID}/message Payload {"reply_to":"{MESSAGE_ID}","text":"Hi!"}
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.
Note: This API will be not applicable if the intended user is neither a mutual contact nor your organization member.Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Webhooks.CREATE
Request Body
text Mandatory String Use this parameter to send a message to a user in
Cliq.
reply_to Optional String Use this parameter to reply to a user's message.
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. mark_as_read Boolean Optional Use these APIs to mark the sent message as read for the user.
By default, the message will be unread for the message posted by the user. |
Edit a message
Edit a message
Request PUT https://cliq.zoho.com/api/v2/chats/{CHAT_ID}/messages/{MESSAGE_ID} Payload {"text":"Hey!","notify_edit":true}
Response Example
Response Code: 204 No Content
Use this API to edit a message in a conversation. Get the message's unique ID by using the get messages API.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Messages.UPDATE
Request Body
text Mandatory String Use this parameter to edit a message in a channel or
a chat.
notify_edit Optional Boolean Use this parameter to notify the participants in a
channel or
a chat
about an edited message. |
Delete a message
Delete a message
Request DELETE https://cliq.zoho.com/api/v2/chats/{CHAT_ID}/messages/{MESSAGE_ID}
Response Example
Response Code: 204 No Content
Use this API to delete a message in a conversation. Get the message's unique ID by using the get messages API.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Messages.DELETE
Get Reactions
Get Reactions
Request GET https://cliq.zoho.com/api/v2/chats/{CHAT_ID}/messages/{MESSAGE_ID}/reactions
Sample Response
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" ] } }
Sample Request
GET https://cliq.zoho.com/api/v2/chats/CT_1254880203691219668_11543281/messages/1645632094118%20223997917594/reactions
Use this API to get details for all the reactions in a given message.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.messageactions.READ
Quota Limit
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
Add a reaction
Request POST https://cliq.zoho.com/api/v2/chats/{CHAT_ID}/messages/{MESSAGE_ID}/reactions Payload {"emoji_code":":smile:"}
Response Example
Response Code: 204 No Content
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.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.messageactions.CREATE
Request Body
emoji_code Mandatory String Use this parameter to add a reaction to a message
sent in a
chat. Allowed
values: Zomojis| Unicode smiley. |
Delete a reaction
Delete a reaction
Request DELETE https://cliq.zoho.com/api/v2/chats/{CHAT_ID}/messages/{MESSAGE_ID}/reactions Payload {"emoji_code":":smile:"}
Response Example
Response Code: 204 No Content
Use this API to delete the reaction to a message. Get the message's unique ID by using the get messages API.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.messageactions.DELETE
Request Body
emoji_code Mandatory String Use this parameter to undo the reaction of a message.
Allowed
values:
Zomojis| Unicode smiley. |
Scheduled Messages
Use these APIs to create, edit, and delete scheduled messages .
Schedule a Message
Schedule a Message
POST https://cliq.zoho.com/api/v2/chats/
/scheduledmessages
Response Example
{ "url":"/api/v2/chats/
/scheduledmessages", "type":"scheduledmessages", "data":{ "chat_id":"LE_1256254585681794472_15162263", "creator":"15255030", "created_time":1635156316369, "schedule_time":1635156970477, "message": { "sender": { "name": "Scott Fisher", "id": "12345678" }, "id": "1543320941513_23291239955324", "time": 1543320941513, "type": "text", "content": { "text": "Hello Guys!" } }, "id":4000000131001} }
Use this API to schedule a message to send at a later time and date.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.messages.CREATE
Quota limit
The quota limit for this API is 50 requests per minute per user with a lock period of 10 minutes when threshold is reached.
Path Parameters
schedule_time Mandatory or schedule_status Mandatory iso8601basic time string The scheduled execution time of the message. or String The scheduled execution time of the message. Allowed values: check_in|user_available|call_end|check_out schedule_timezone Optional IANA time zone name Timezone of the scheduled time Eg: Asia/Kolkata |
Bots
Bots are conversational assistants designed to automate and handle simple tasks, making your life easier by performing any monotonous job!
Retrieve Bot Subscribers
Retrieve Bot Subscribers
GET https://cliq.zoho.com/api/v2/bots/{BOT_UNIQUE_NAME}/subscribers
Response Example
{ "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" } ] }
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.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Bots.READ
Quota limit
The quota limit for this API is 100 requests per minute
Path Parameters
appkey Mandatory Mandatory if given bot is from an extension next_token Optional To fetch the next immediate list of user details. sync_token Optional To fetch the users who recently subscribed to the bot after the previous request was made. limit Optional Size of the set to be fetched. |
Trigger Bot Calls
Trigger Bot Calls
POST https://cliq.zoho.com/api/v2/bots/{BOT_UNIQUE_NAME}/calls
Request body
To set up a voice call alert, the API requires the following key inputs: the text to be converted into audio, the number of repetitions or loops for the message, and any actions that should be available during the call.
{ "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" } } } ] }
Response Example
You will receive a unique ID for the voice call alert instance in the response to track the alert.
{ "user_ids": [ "55622727", "55743307" ], //Unique id for the alert instance "id": "dfb91610-296f-4f7a-b2b2-3b4436f2f5f0" }
Utilize this API to send a voice alert to specific users via the bot.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Webhooks.CREATE
Quota limit
The quota limit for this API is 10 calls for five minutes with a lock period of 30 minutes
Path Parameters
text Mandatory String The message to be dictated during the call. Limit : 500 user_ids Optional JSON List List of user ZUIDs or emails. Limit : 10 retry Optional Integer Number of retries if the user misses the call (Re-calling in 2 mins). Maximum Attempts : 3 loop Optional Integer Number of times the message will be dictated Maximum Attempts : 3 actions Optional JSON List List of actions to be displayed as buttons during the call. Each action includes a label and a specific action. Limit : 5 List of actions to be defined during a bot call. Example : A button to mute a call |
Files
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
Request GET https://cliq.zoho.com/api/v2/files/{file_id}
Get files from any chat, channel or bot which you are a part of using its file id.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Attachments.READ
Quota limit
The quota limit for this API is 50 requests per minute per user
Path Parameters
file_id Mandatory String The unique identifier of the file. Note : You can retrieve the file id using the Get messages endpoint. |
Share files in a channel using channel unique name
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 Example
Response Code:204 No Content
Share files in a channel as a bot.
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 Example
Response Code:204 No Content
Share files in a channel using channel ID
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 Example
Response Code:204 No Content
Share files in a channel using the channel unique name or channel ID. The content of the file should be
of
type multipart/form-data
Request Body
files multipart/form-data Required The file to be shared. File size limit : 50 MB and Maximum number of files that can be shared at a time is : 10 comments string array Optional The comments to be added for each file. bot_unique_name string Optional Use this parameter to share a file in a channel as a
bot .
Note that the
bot should already be a participant in the channel. mark_as_read Boolean Optional Use these APIs to mark the shared file as read for the user.
By default, the message will be unread for the message posted by the user. |
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Webhooks.CREATE
Quota limit
The quota limit for this API is 20 requests per minute per user
Share files to a bot
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--
Response Example
{ "user_ids": [ "66578893" ] }
Share files to a bot using the bot unique name. The content of the file should be of type
multipart/form-data
Request Body
files multipart/form-data Required The file to be shared. File size limit : 50 MB and Maximum number of files that can be shared at a time is : 10 comments string array Optional The comments to be added for each file. |
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Webhooks.CREATE
Quota limit
The quota limit for this API is 20 requests per minute per user
Share files in a chat
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 Example
Response Code:204 No Content
Share files in a chat using the Chat ID. The content of the file should be of type
multipart/form-data
Request Body
files multipart/form-data Required The file to be shared. File size limit : 50 MB and Maximum number of files that can be shared at a time is : 10 comments string array Optional The comments to be added for each file. mark_as_read Boolean Optional Use these APIs to mark the shared file as read for the user.
By default, the message will be unread for the message posted by the user. |
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Webhooks.CREATE
Quota limit
The quota limit for this API is 20 requests per minute per user
Share files to a user using Email ID
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 Example
Response Code:204 No Content
Share files to a user using User ID
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 Example
Response Code:204 No Content
Share files to a user using their Email ID or User ID. The content of the file should be of type
multipart/form-data
Request Body
files multipart/form-data Required The file to be shared. File size limit : 50 MB and Maximum number of files that can be shared at a time is : 10 comments string array Optional The comments to be added for each file. mark_as_read Boolean Optional Use these APIs to mark the shared file as read for the user.
By default, the message will be unread for the message posted by the user. |
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Webhooks.CREATE
Quota limit
The quota limit for this API is 20 requests per minute per user
Calls & Meetings
All APIs related to audio and video calls, including video meetings, audio calls, and screen sharing, fall under the Calls & Meetings API category.
History
History
GET https://cliq.zoho.com/api/v2/mediasessions
Response Example
{ "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 }, ] }
You can use this API to get the details of all your direct calls, meetings, and broadcasts.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.MediaSession.READ
Quota limit
The quota limit for this API is 50 requests per minute per user
Query Params
type Allowed values:
all|handshake|assembly|audio_conference| video_conference|direct_call Call history of a particular call type can be
retrieved. Use all to retrieve all the media sessions. 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" search String Search a call using the call title. sync_token String A token that can be used to retrieve recent sync
calls. next_token String A token that can be used to retrieve the next set of
calls. limit Integer The number of calls history that can be retrieved.
from Timestamp Gets the details of the media sessions that happened
from. to Timestamp Gets the details of the media sessions that happened
till. last_modified Timestamp Get the details of the media sessions that have been
modified lately. filter Allowed values: live|viewed|scheduled|missed|received|dialled The media sessions can be filtered based on the
following categories. Note: 1. "missed", "received", "dialled" can be selected only for the type "direct_call". 2. filter cannot be used when "all" type is used. host_id Integer The host id used to filter media session details.
recipient_id Integer The recipient id used to filter media session
details. recipient_ids String The recipient ids used to filter media session
details separated by commas. |
Note
1. If next_token and sync_token params are used, you cannot send any other params.
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
Get Participants
Request Header: X-API-VERSION : 1 GET https://cliq.zoho.com/api/v2/mediasessions/{CALL_ID}/participants
Response Example
{ "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" } ] }
You can use this API to get all the participants in a call or a meeting
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 :
This API can be accessed with the OAuth scope : ZohoCliq.MediaSession.READ
Quota limit
The quota limit for this API is 20 requests per minute per user
Query Params
next_token Optional String Token to get the next set of participants
limit Optional number Use this parameter to specifiy the number of
participants retrieved per API call
filter Optional String Use this parameter to fetch the list of active and
inactive users in the call Allowed values: live| invited | joined live - current live users, invited - invited but yet to join, joined -users who joined and left the call
from Optional Timestamp Use this parameter to fetch participants from the
specified time
to Optional Timestamp Use this parameter to fetch participants till the
specified time |
Get Calendars
Get Calendars
GET https://cliq.zoho.com/api/v2/calendars
Request
{ "calendar_id": {CALENDAR_ID}, "recurrence_id" : "" }
Response Example
{ "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" } ] }
You can use this API to obtain the list of all calendars for a user.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.CalendarEvents.ALL
Quota limit
The quota limit for this API is 30 requests per minute per user
Get Events
Get Events
GET https://cliq.zoho.com/api/v2/events
Request
{ "from" : 1654018360492, "to" : 1654218462387, "include_disabled_calendar" : false | true, "include_hidden_calendar" : false | true, "ignore_declined_events" : false | true, "search" : "text_to_be_searched" }
Response Example
{ 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" :
, "email" : "olivia.palmer@zylker.com", "name":"Test" }, "title": "Testing Event", "location": "kaitharinagar, madurai", "custom_reminders": [ "start", "end" ], "entity_id": "1615374988883", "type": "event_management | normal_event | audio_conference | video_conference", "description": "test", } ], "seen_events": [ , ] } }
You can use this API to get the list of all your events scheduled within the next 31 days.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.CalendarEvents.ALL
,
ZohoCalendar.calendar.ALL
, ZohoCalendar.event.ALL
,
ZohoCalendar.search.READ
Quota limit
The quota limit for this API is 30 requests per minute per user
Query Params
from long The start of the time interval from when you want to
retrieve the events. From time should be passed in milliseconds. to long The end of the time interval from when you want to
retrieve the events. To time should be passed in milliseconds. include_disabled_calendar Boolean Option to include events from the disabled calendar
include_hidden_calendar Boolean Option to include events from the hidden calendar
ignore_declined_events Boolean Option to ignore declined events search String Text to be searched |
Note
1. The maximum difference between from and to should be less than 31 days
Get Event Details
Get Event Details
GET https://cliq.zoho.com/api/v2/events/{EVENT_ID}
Request
{ "calendar_id": {ENCODED_CALENDAR_ID} } params : { "calendar_id": {ENCODED_CALENDAR_ID}, "recurrence_id" :
}
Response Example
{ 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" :
, "email" : "olivia.palmer@zylker.com", "name":"Test" }, "title": "Testing Event", "location": "kaitharinagar, madurai", "custom_reminders": [ "start", "end" ], "entity_id": "1615374988883", "type": "event_management", "description": "test", } }
You can use this API to get the details of an events scheduled within the next 31 days.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.CalendarEvents.ALL
Quota limit
The quota limit for this API is 30 requests per minute per user
Create Events
Create an Event
POST https://cliq.zoho.com/api/v2/events
Request
{ **"title": "Testing Event", **"start_time": 1615482000000, **"end_time": 1615485600000, **"timezone": "Asia/Kolkata", **"calendar_id": "
", //Optional params "location": "kaitharinagar, madurai", "attendees": [ "scott.fisher@zylker.com" ], "description": "test", "type": "event_management | normal_event | audio_conference | video_conference", chat_id : $chat_id, "reminders": [{"minutes" : $reminder_in_mins, "type" : $reminder_type}, {"minutes" : $reminder_in_mins, "type" : $reminder_type}], "attachment_ids": ["284148000000107002"], "configurations": $configuration_object, //for recurring event **recurrence_rule : $rrule_format, } params : { "calendar_id": {ENCODED_CALENDAR_ID}, "recurrence_id" : }
Response Example
{ 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" :
, "email" : "olivia.palmer@zylker.com", "name":"Test" }, "title": "Testing Event", "location": "kaitharinagar, madurai", "custom_reminders": [ "start", "end" ], "entity_id": "1615374988883", "type": "event_management", "description": "test", } }
You can use this API to create an event.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.CalendarEvents.ALL
Quota limit
The quota limit for this API is 30 requests per minute per user
Edit an Event
Edit an Event
POST https://cliq.zoho.com/api/v2/events/{EVENT_ID}
Request
{ **"title": "Testing Event", **"start_time": 1615482000000, **"end_time": 1615485600000, **"timezone": "Asia/Kolkata", **"calendar_id": "
", //Optional params "location": "kaitharinagar, madurai", "attendees": [ "scott.fisher@zylker.com" ], "description": "test", "type": "event_management | normal_event | audio_conference | video_conference", chat_id : $chat_id, "reminders": [{"minutes" : $reminder_in_mins, "type" : $reminder_type}, {"minutes" : $reminder_in_mins, "type" : $reminder_type}], "attachment_ids": ["284148000000107002"], "configurations": $configuration_object, //for recurring event **recurrence_rule : $rrule_format, } params : { "calendar_id": {ENCODED_CALENDAR_ID}, "recurrence_id" : }
Response Example
{ 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" :
, "email" : "olivia.palmer@zylker.com", "name":"Test" }, "title": "Testing Event", "location": "kaitharinagar, madurai", "custom_reminders": [ "start", "end" ], "entity_id": "1615374988883", "type": "event_management", "description": "test", } }
You can use this API to edit an event.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.CalendarEvents.ALL
Quota limit
The quota limit for this API is 30 requests per minute per user
Update an event status
Update an Event Status
PUT https://cliq.zoho.com/api/v2/events/{EVENT_ID}/statuses/{accepted|tentative|declined|yet_to_respond}
Request
{ "calendar_id": {ENCODED_CALENDAR_ID}, "edit_tag": {EDIT_TAG} }
Response Example
Response Code: 204 No response
You can use this API to update your status for an event.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.CalendarEvents.ALL
Quota limit
The quota limit for this API is 20 requests per minute per user
Delete an Event
Delete an Event
DELETE https://cliq.zoho.com/api/v2/events/{EVENT_ID}
Request
{ "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 Example
Response code: 204 No Response
You can use this API to delete an event.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.CalendarEvents.ALL
Quota limit
The quota limit for this API is 30 requests per minute per user
Mark an Event as Seen
Mark an Event as seen
POST https://cliq.zoho.com/api/v2/events/{EVENT_ID}/markasseen
Request
{ "end_time" :
, "calendar_id": "recurrence_id": }
Response Example
Response code: 204 No Response
You can use this API to mark an event as seen and avoid showing it in the Cliq home screen.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.CalendarEvents.ALL
Quota limit
The quota limit for this API is 30 requests per minute per user
Upload Attachments to Event Calendar
Upload Attachments to Event Calendar
POST https://cliq.zoho.com/api/v2/events/attachments
Request
{ "files" :{FILE_OBJECT} //Choose the required file }
Response Example
Response Code: 204 No response
You can use this API to upload an attachment in your calendar to attach it to events.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.CalendarEvents.ALL
Quota limit
The quota limit for this API is 30 requests per minute per user
Sample Reminder Object
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" }
Reminders in Cliq are essential to micromanage your tasks effortlessly.
OAuth Scope
OAuth scope for all Reminder APIs: ZohoCliq.Reminders.ALL
This scope will give the basic CRUD access to the Reminder APIs.
Reminder Object Attributes
creator
JSON Object Reminder creator's details
name
string Reminder creator's name.
id
string Reminder creator's user ID. content string The reminder content. creation_time long Reminder creation time. time long Time when the reminder should trigger. Time format is in milliseconds id string The reminder ID. chat_id long Unique ID of a chat for which a reminder is set. This
param
is returned
only for reminders that are created on a message/assigned to a channel or
chat.
message
JSON Object Details of the message that was set as reminder.
users
Array of JSON Objects Details of the user(s) to whom the reminder is set.
Reminders can be set either for self or multiple users as well.
name
string Name of the reminder assignee id string User ID of the reminder assignee deleted boolean Boolean indicating if the user has deleted the
reminder or
not. Default
value is set as false. completed string Boolean indicating if the user has completed the
reminder or
not. Default
value is set as false. snoozed_time long Snooze time added to the reminder |
Create a Reminder
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
- Add reminder to a User
- Add reminder to a Chat/Channel
- Set a message in a Chat/Channel as reminder
Add a Self Reminder
Add a Self Reminder
Request POST https://cliq.zoho.com/api/v2/reminders Payload { "content": "Content Review for ZylCal", "time": "1506571200000" }
Sample Response
{ "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" }
Use this API to set a self reminder.
Required OAuth Scope :
This API can be accessed with the following OAuth scope :ZohoCliq.Reminders.CREATE
or to
get
access to all Reminder API's, use the scope ZohoCliq.Reminders.ALL
Query Params
content Required string The content of the reminder. time Optional long The time at which the reminder should trigger. Time should be given in milliseconds. |
Add a Reminder to Users
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" ] }
Sample Response
{ "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" }
Use this API to create a reminder for other users by giving their User IDs.
Required OAuth Scope :
This API can be accessed with the following OAuth scope :ZohoCliq.Reminders.CREATE
or to
get
access to all the API's, use the scope ZohoCliq.Reminders.ALL
Request Body
content Required string The content of the reminder. time Optional long The time at which the reminder should trigger. Time should be given in milliseconds. user_ids Required string array User ID's of the users to whom the reminder is set.
Maximum
number of
assignees that can be added to a reminder: 4 |
Add Reminder for a Chat/Channel
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" ] }
Sample Response
{ "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" }
Create a reminder for a chat or a channel by giving the chat IDs.
Required OAuth Scope :
This API can be accessed with the following OAuth scope :ZohoCliq.Reminders.CREATE
or to
get
access to all the API's you can use the scope ZohoCliq.Reminders.ALL
Request Body
content Required string The content of the reminder. time Required long The time at which the reminder should trigger. Time should be given in milliseconds. chat_ids Required string array Unique ID of the chat for which a reminder is added.
Maximum
number of
chats that can be added to a reminder: 1 |
Set a message in chat as Reminder
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" }
Sample Response
{ "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" } }
Use this API to set a message in chat as a reminder.
Required OAuth Scope :
This API can be accessed with the following OAuth scope :ZohoCliq.Reminders.CREATE
or to
get
access to all the API's you can use the scope ZohoCliq.Reminders.ALL
Request Body
content Optional string The content of the reminder. time Required long The time at which the reminder should trigger. Time
should be
given in
milliseconds. message_id Required long Unique ID of the message, to be set as reminder.
chat_id Required long Unique ID of the chat for which a reminder is added.
user_ids Optional string array User ID's of the users to whom the reminder is set.
Maximum
number of
assignees that can be added to a reminder: 4 |
Retrieve a Reminder
Retrieve a Reminder
Request GET https://cliq.zoho.com/api/v2/reminders/{reminderID}
Sample Response for Retrieve a Reminder assigned to a Chat/Channel
{ "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.
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.
Required OAuth Scope :
This API can be accessed with the following OAuth scope :ZohoCliq.Reminders.READ
or to get
access
to all the API's you can use the scope ZohoCliq.Reminders.ALL
Quota limit
The quota limit for this API is 30 requests per minute per user
Update a Reminder
Update a Reminder
Request PUT https://cliq.zoho.com/api/v2/reminders/{reminderID} Payload { "content": "Appathon submissions code and content review" }
Sample Response for Update a Reminder assigned to a Chat/Channel
{ "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.
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.
Required OAuth Scope :
This API can be accessed with the following OAuth scope :ZohoCliq.Reminders.UPDATE
or to
get
access to all the API's you can use the scope ZohoCliq.Reminders.ALL
Request Body
content Optional string The content of the reminder to be updated. Note that,
any one
of the
optional parameter has to be passed. time Optional long The new updated time to trigger the reminder. Note
that, any
one of the
optional parameter has to be passed. |
Delete a Reminder
Delete a Reminder
Request DELETE https://cliq.zoho.com/api/v2/reminders/{reminderID}
Sample Response
Response Code: 204 No Content
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.
Required OAuth Scope :
This API can be accessed with the following OAuth scope :ZohoCliq.Reminders.DELETE
or to
get
access to all the API's you can use the scope ZohoCliq.Reminders.ALL
Quota limit
The quota limit for this API is 30 requests per minute per user
Delete Reminders
Delete Reminders
Request DELETE https://cliq.zoho.com/api/v2/reminders/batch Payload { "reminder_ids":[11360000000205005,11360000000205009] }
Sample Response
Response Code: 204 No Content
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.
Note:
The maximum number of reminders that can be deleted at once is 20.
Required OAuth Scope :
This API can be accessed with the following OAuth scope :ZohoCliq.Reminders.DELETE
or to
get
access to all the API's you can use the scope ZohoCliq.Reminders.ALL
Quota limit
The quota limit for this API is 30 requests per minute per user
Request Body
reminder_ids Required string array Unique IDs of the reminders to be deleted. Maximum
limit: 20
|
Delete Completed Reminders
Delete Completed Reminders
Request DELETE https://cliq.zoho.com/api/v2/reminders/clearcompleted Payload { "category": "mine-completed" }
Sample Response
Response Code: 204 No Content
Use this API to delete the list of reminders that are marked as complete.
Required OAuth Scope :
This API can be accessed with the following OAuth scope :ZohoCliq.Reminders.DELETE
or to
get
access to all the API's you can use the scope ZohoCliq.Reminders.ALL
Quota limit
The quota limit for this API is 10 requests per minute per user
Request Body
category Required string Provide the category under which you would like to
clear all
the
completed reminders. Category can be either: mine-completed |
others-completed
|
Mark a Reminder as Complete
Mark a Reminder as Complete
Request PUT https://cliq.zoho.com/api/v2/reminders/{reminderID}/complete
Sample Response
Response Code: 204 No Content
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.
Required OAuth Scope :
This API can be accessed with the following OAuth scope :ZohoCliq.Reminders.UPDATE
or to
get
access to all the API's you can use the scope ZohoCliq.Reminders.ALL
Quota limit
The quota limit for this API is 30 requests per minute per user
Note:
Reminders set for yourself (i.e falling under the mine category) can be marked as
complete
or incomplete.
Mark a Reminder as Incomplete
Mark a Reminder as Incomplete
Request PUT https://cliq.zoho.com/api/v2/reminders/{reminderID}/incomplete
Sample Response
Response Code: 204 No Content
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.
Required OAuth Scope :
This API can be accessed with the following OAuth scope :ZohoCliq.Reminders.UPDATE
or to
get
access to all the API's you can use the scope ZohoCliq.Reminders.ALL
Quota limit
The quota limit for this API is 30 requests per minute per user
Note:
Reminders set for yourself (i.e falling under the mine category) can be marked as
complete
or incomplete.
Snooze a Reminder
Snooze a Reminder
Request PUT https://cliq.zoho.com/api/v2/reminders/{reminderID}/snooze Payload { "time": "900000" }
Sample Response
Response Code: 204 No Content
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.
Required OAuth Scope :
This API can be accessed with the following OAuth scope :ZohoCliq.Reminders.UPDATE
or to
get
access to all the API's you can use the scope ZohoCliq.Reminders.ALL
Quota limit
The quota limit for this API is 30 requests per minute per user
Request Body
time Required long Indicates the amount of time (in milliseconds) to
delay the
reminder. The
snooze time will be applied to the current time and not the reminder due
time. |
Dismiss a Snoozed Reminder
Dismiss a Snoozed Reminder
Request PUT https://cliq.zoho.com/api/v2/reminders/{reminderID}/dismisssnooze
Sample Response
Response Code: 204 No Content
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.
Required OAuth Scope :
This API can be accessed with the following OAuth scope :ZohoCliq.Reminders.UPDATE
or to
get
access to all the API's you can use the scope ZohoCliq.Reminders.ALL
Quota limit
The quota limit for this API is 30 requests per minute per user
Assign Users to a Reminder
Assign Users to a Reminder
Request POST https://cliq.zoho.com/api/v2/reminders/{reminderID}/users Payload { "user_ids": [ 1234567 ] }
Sample Response
{ "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" }
Use this API to assign users to a reminder. Note that a maximum of 4 users can be assigned to a reminder.
Note:
This API will only work with reminders added in the Others category i.e
reminders
assigned by you to others
Required OAuth Scope :
This API can be accessed with the following OAuth scope :ZohoCliq.Reminders.UPDATE
or to
get
access to all the API's you can use the scope ZohoCliq.Reminders.ALL
Quota limit
The quota limit for this API is 30 requests per minute per user
Request Body
user_ids Required array string IDs of users who would be assigned this reminder.
|
Unassign a user from a Reminder
Unassign a user from a Reminder
Request DELETE https://cliq.zoho.com/api/v2/reminders/{reminderID}/users/{User ID}
Sample Response
{ "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" }
Use this API to unassign users from a reminder, by providing their User ID.
Note:
This API will work with reminders added in the Others category, i.e reminders
assigned by you to others
Required OAuth Scope :
This API can be accessed with the following OAuth scope :ZohoCliq.Reminders.UPDATE
or to
get
access to all the API's you can use the scope ZohoCliq.Reminders.ALL
Quota limit
The quota limit for this API is 30 requests per minute per user
Remind Assignee
Remind Assignee
Request PUT https://cliq.zoho.com/api/v2/reminders/{reminderID}/users/{User ID}/remind
Sample Response
[ { "deleted": false, "name": "Ryan West", "completed": false, "id": "2343536" } ]
Use this API to trigger a notification in Taz to a particular assignee who is yet to mark the reminder as complete.
Note:
This API will work with reminders added in the Others category, i.e reminders
assigned by you to others
Required OAuth Scope :
This API can be accessed with the following OAuth scope :ZohoCliq.Reminders.UPDATE
or to
get
access to all the API's you can use the scope ZohoCliq.Reminders.ALL
Quota limit
The quota limit for this API is 30 requests per minute per user
Remind Assignees
Remind Assignees
Request PUT https://cliq.zoho.com/api/v2/reminders/{reminderID}/remind
Sample Response
[ { "deleted": false, "name": "Ryan West", "completed": false, "id": "2343536" }, { "deleted": false, "name": "Olivia Palmer", "completed": false, "id": "9876543" } ]
Use this API to trigger a notification in Taz to a reminder's assignees who are yet to mark the reminder as complete.
Note:
This API will work with reminders added in the Others category, i.e reminders
assigned by you to others
Required OAuth Scope :
This API can be accessed with the following OAuth scope :ZohoCliq.Reminders.UPDATE
or to
get
access to all the API's you can use the scope ZohoCliq.Reminders.ALL
Quota limit
The quota limit for this API is 30 requests per minute per user
Get List of All Reminders
Get List of All Reminders
Request GET https://cliq.zoho.com/api/v2/reminders
Sample Response
{ "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" } ] }
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 mine
. By default, this API will return a list of 20
reminders.
next_set_token
: This token will be provided in two cases.
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 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 :
This API can be accessed with the following OAuth scope :ZohoCliq.Reminders.READ
or to get
access
to all the API's you can use the scope ZohoCliq.Reminders.ALL
Quota limit
The quota limit for this API is 30 requests per minute per user
Query Params
category Optional string Gets the list of reminders in the specified category.
Allowed values are: mine | mine-completed | others | others-completed limit Optional long Specify this parameter to limit the number of
reminders that
should be
fetched. next_set_token Optional long Specify this token to fetch the next set of
reminders. |
The Records Object
"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
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: ZohoCliq.StorageData.ALL
These scopes will give the basic CRUD access to the Record APIs.
The Records object attributes
default_value Optional The data type depends on the type of field. It can be : string/long/boolean
A default value for the field being created. Maximum characters allowed: 100
display_name Optional string The name of the field which will be displayed to the
user. If
display
name is not provided, then the name of the record will be considered as the
display
name. Maximum characters allowed: 30
type Required string Type of the field. Allowed Values :
field_name Required string Name of the field to be added in the database. This
attribute
is a unique
identifier for a field. Allowed Values: Only lowercase a-z without any spaces or special characters. Maximum characters allowed: 30 |
Add a record
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" } }
Sample Response
{ "productcateogry": "zylker", "id": "14756000888008001", "productid": "1001", "instock": true, "productsecretcode": "secretkey123", "productdescription": "zylker description" }
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.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.StorageData.CREATE
or
ZohoCliq.StorageData.ALL
Quota limit
The quota limit for this API is 30 requests per minute per user
Request Body
values Required Array of JSON Objects The field values to be added as a record in the
database.
|
Retrieve a record
Retrieve a record
GET https://cliq.zoho.com/api/v2/storages/{name}/records/{id}
Sample Response
{ "productcateogry": "zylker", "id": "14756000888008001", "productid": "1001", "instock": true, "productsecretcode": "secretkey123", "productdescription": "zylker description" }
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.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.StorageData.READ
or
ZohoCliq.StorageData.ALL
Quota limit
The quota limit for this API is 30 requests per minute per user
List records
List records
GET https://cliq.zoho.com/api/v2/storages/{name}/records
Sample Response
"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" } ]
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.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.StorageData.READ
or
ZohoCliq.StorageData.ALL
Quota limit
The quota limit for this API is 30 requests per minute per user
Query Params
criteria Optional String This parameter will fetch records that meet the
specified
criteria
expression. from_index Optional Integer This parameter will fetch records from a particular
index
value.
limit Optional Integer Use this parameter to limit the number of records
fetched
from a
particular index value. order_by Optional String Use this parameter to retrieve the list of records in
an ascending or descending order. Allowed values: +column_name | -column_name note : pass '%2B' instead of '+' as plus is a reserved character.
start_token Optional String This token will be obtained in the response JSON when
a
from_index and
limit are specified. Using this parameter in the next corresponding request
will get
the list of
remaining records in the database. |
Retrieve a record by specifying a criteria
Retrieve a record by specifying a criteria
GET https://cliq.zoho.com/api/v2/storages/{name}/records?criteria=(productid==1001)
Sample Response
{ "productcateogry": "zylker", "id": "14756000888008001", "productid": "1001", "instock": true, "productsecretcode": "secretkey123", "productdescription": "zylker description" }
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.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.StorageData.READ
or
ZohoCliq.StorageData.ALL
Quota limit
The quota limit for this API is 30 requests per minute per user
Retrieve a record by specifying a range (from_index and 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
Sample Response
"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" } ]
Fetch a set of records from a specific database by mentioning the from_index and limit.
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 :
This API can be accessed with the OAuth scope : ZohoCliq.StorageData.READ
or
ZohoCliq.StorageData.ALL
Quota limit
The quota limit for this API is 30 requests per minute per user
Retrieve a record with start token
Retrieve a record with start token
GET https://cliq.zoho.com/api/v2/storages/{name}/records?start_token=2666a59c-b894-40f5-82c5-3703fbde2ec9
Sample Response
{ "productcateogry": "zylker", "id": "14756000000008008", "productid": "1004", "instock": true, "productsecretcode": "secretkey234", "productdescription": "zylker description" }
Substitute the value of 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 :
This API can be accessed with the OAuth scope : ZohoCliq.StorageData.READ
or
ZohoCliq.StorageData.ALL
Quota limit
The quota limit for this API is 30 requests per minute per user
Update a record
Update a record
PUT https://cliq.zoho.com/api/v2/storages/{name}/records/{id} Payload { "values": { "instock": "false" } }
Sample Response
{ "productcategory": "zylker", "id": "14756000888008001", "productid": "1001", "instock": false }
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.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.StorageData.UPDATE
or
ZohoCliq.StorageData.ALL
Quota limit
The quota limit for this API is 30 requests per minute per user
Delete a record
Delete a record
DELETE https://cliq.zoho.com/api/v2/storages/{name}/records/{id}
Sample Response
Response Code: 204 No Content
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.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.StorageData.DELETE
or
ZohoCliq.StorageData.ALL
Quota limit
The quota limit for this API is 30 requests per minute per user
Widget Map Tickers
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.
Map Ticker Object Attributes
title Mandatory String (max char - 20) The ticker's title
type Mandatory String Denotes what kind of object the ticker is
tracking. The allowed values are: person|bicycle|motorcycle|car|van|bus|plane
last_modified_time Mandatory long Denotes the last instance when the ticker was updated
info String (max char - 30) Used to add specific information about the ticker
color String Used to specify the color of tickers.
The allowed Values are: green | yellow | red By default, tickers are set to green.
latitude Mandatory double Ticker's latitude
longitude Mandatory double Ticker's longitude |
Add/Update a ticker
Add/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
Response Example
{ "tickers": { "chennai": { "title": "Chennai", "type": "person", "last_modified_time": 1675559450620, "latitude": 12.8310776, "longitude": 80.0493569, "info": "Zoho corporation - Chennai" } } }
You can use this API to add a new ticker/update a ticker in the map view in widgets.
Note: You can
get the ticker endpoint from the widget preview page (profile -> bots & tools -> widgets -> required
widget)
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Applications.update
Quota limit
The quota limit for this API is 100 requests per minute per user
Delete a ticker
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
Response Example
{ "ids": ["chennai"] }
You can use this API to delete an existing ticker in the map view in widgets.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Applications.update
Quota limit
The quota limit for this API is 100 requests per minute per user
Sample Custom Domain Object
{ "data": { "status": "active", "name": "chat.zylker.org", "ssl_enabled": true } }
Custom Domain
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.
Custom Domain Object Attributes
status
String Denotes if the status of the custom domain is active
or
inactive.
name
String Denotes a custom domain URL.
ssl_enabled
Boolean Value=true, if a secure connection is enabled between
the web
clients and
web servers. |
Retrieve a custom domain
Retrieve a custom domain
GET https://cliq.zoho.com/api/v2/customdomain
Response Example
{ "data": { "status": "active", "name": "chat.zylker.org", "ssl_enabled": true } }
You can use this API to get details about an individual custom domain.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Organisation.READ
Add a custom domain
Add a custom domain
POST https://cliq.zoho.com/api/v2/customdomain
Payload
{ "name":"chat.zylker.org" }
Response Example
{ "data": { "status": "inactive", "name": "chat.zylker.org", "ssl_enabled": true } }
You can use this API to add a new custom domain.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Organisation.CREATE
Request Body
name Mandatory String Name of your choice for the custom domain. |
Verify a custom domain
Verify a custom domain
PUT https://cliq.zoho.com/api/v2/customdomain
Payload
{ "status":"active/inactive" }
Response Example
{ "data": { "status": "inactive", "name": "chat.zylker.org", "ssl_enabled": true } }
You can use this API to verify a custom domain.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Organisation.UPDATE
Request Body
status Mandatory String Verify the status of the custom domain as active or
inactive.
|
Delete a custom domain
Delete a custom domain
DELETE https://cliq.zoho.com/api/v2/customdomain
Response Example
Response Code: 204 No Content
You can use this API to delete a custom domain.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Organisation.DELETE
Sample Custom Email Object
{ "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
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.
Custom Email Object Attributes
email_id
String Denotes the email address.
name
String Denotes the name of the custom emailer.
dkim_value
String String of characters representing the public key
along with
its
corresponding private key during the DKIM setup process.
dkim_status
String Denotes if the status of the dkim is verified or not.
dkim_host
String Denotes the dkim host name, which will be added in
the DNS
records.
cname_status
String Denotes the status of the canonical name record used
to alias
a domain
name with another domain name. |
Retrieve global mail configuration
Retrieve global mail configuration
GET https://cliq.zoho.com/api/v2/mailconfigurations/global
Response Example
{ "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" } }
You can use this API to retrieve a global mail configuration.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Organisation.READ
Update mail configuration
Update mail configuration
PUT https://cliq.zoho.com/api/v2/mailconfigurations/global
Payload
{ "name":"Scott", "email_id":"scott.fisher@zylkerorg.gq", "cname_status":"verified" }
Response Example
{ "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" } }
You can use this API to update a mail configuration.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Organisation.UPDATE
Request Body
name Mandatory String Name of the emailer to be updated .
email_id Mandatory String The email address to be updated.
cname_status Mandatory String The cname status to be updated. |
The Message Object
The Message Object Attributes
text
string The only mandatory attribute in the message object
structure.
The text
indicates the primary message that is shared.
bot
JSON Object Bot is a JSON Object with a key value pair to
customize the
sender's name
and image.
name
string Customize the message sender's name.
image
string Customize the message sender's image.
card
JSON Object A JSON object with the following attributes, to
customize
each message
with the help of themes.
title
string Title of the message.
theme
Allowed values: poll | prompt | modern-inline The theme of the message.
thumbnail
URL The URL of the thumbnail image.
icon
URL Image to be displayed near the message title.
preview
URL Preview for the thumbnail image.
styles
JSON Object
JSON object with the key highlight, gives a special
border to
the
message.
highlight
Allowed values: true | false
Key value pair for giving a border to the message.
slides
JSON Object To display message in different styles.
type
JSON Object Allowed values : text | list | table | image | label | percentage_chart | graph The slide of your choice to display a message.
text
String The message text to be displayed in the slide.
list
JSON Object List structure can be used to display the message in
a list
format.
table
The table object can be used to display content in a
table
format.
label
JSON Object Define the object's key value pairs to display
message in a
label format.
image
JSON Array The images array can be used to display a list of
images in
the slide.
percentage_chart
JSON Array Define the object's key value pairs to display
message in a charts format.
graph
JSON Array Define the object's key value pairs to display a message as a graphical representation.
title
String Title of the slide displaying the message.
data
JSON Object Data is the actual message content to be displayed in
the
slide. Data
depends on the type of slide selected to display a message.
buttons
JSON Object Button object is used along with the message format
to
structure various
types of custom messages. A message can have a button or an array of
buttons. |
Plain text message
Messages containing plain text
Request POST https://cliq.zoho.com/api/v2/chats/{chat_id}/message Payload {"text": "Hey!"}
To send a plain text message, the message object with the key text
should be used.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Webhooks.CREATE
Customize message sender
Customize message sender
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!" } }
Customize the message sender name and image by using the key bot
and the values
name
image
.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Webhooks.CREATE
Attaching Content
Attaching content of various types can be done by using the slides
key. Each type is
explained
below with the requisite attributes.
Attaching content -Table
Attaching Content - Table
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" } } } ] }
Attaching content in the form of a table can be done by giving the value 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 :
This API can be accessed with the OAuth scope : ZohoCliq.Webhooks.CREATE
The Table object attributes
type
string The type of content to be attached in the message
card. In
this case
table
title
string Title of the table.
headers
JSON Array The table headers to be displayed.
rows
JSON Array The rows to be added in the table. The row values
should be
given as an
array of Key-Value pairs, where the key should be in relation to the
'Header' value.
Example:
styles Show Attributes JSON Object Used to specify the style of the table.
width
JSON Object Use this attribute to specify the width of each
column in the
table. 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. |
Attaching Content - List
Attaching Content - List
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" ] } ] }
Attach content as a list by giving the 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
type
string The type of content to be attached in the message
card. In
this case
list
title
string Title of the list.
data
JSON Array The details to be displayed as a list. Each list item
should
be passed as
a string.
styles Show Attributes JSON Object Used to customise the bullet styles.
type
string Allowed values: circle | decimal |disc | lower-alpha
|
upper-alpha |
square | lower-roman | upper-roman |
Attaching Content - Label
Attaching Content - Label
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/)" } ] } ] }
Attach content as a label by giving the 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
type
string The type of content to be attached in the message
card. In
this case
label
title
string Title of the label.
data JSON Array The details to be displayed in the label. The details
should
be passed as
Key-Value pairs. Example: "data": [ {"key ": "value"} ] |
Attaching Content - Images
Attaching Content - Images
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" ] } ] }
Attach content as an image by giving the 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
type
string The type of content to be attached in the message
card. In
this case
images
title
string Title of the image slider.
data JSON Array The URL's of the images to be displayed. |
Attaching Content - Charts
Attaching Content - Charts
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 } } } } }
Add content as chart by giving the percentage_chart
value for the type
key.
The Chart object attributes
type
String Specifies the type of chart that needs to be rendered
Allowed Values :
percentage_chart
styles
Map
Allowed Values :
pie | doughnut | semi_doughnut Defines the visual style or appearance of the chart. The value for the style must be provided in the attribute named preview.
Example :
"style":{"preview":"pie"}
data Show Attributes JSON Array Array that contains the data to be displayed in the chart, where each item corresponds to a segment in the chart.
Maximum size : 5
label
String Specifies the name of the data category (what each segment represents). Maximum Length : 20
value
Float Float value representing the size of the segment. |
Attaching Content - Graphs
Attaching Content - Graphs
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 } } } } } } }
Add content as a graphical representation by giving the graph
value for the type
key.
The Graph object attributes
type
String Specifies the type of visualization to be generated
Allowed Values :
graph
styles Show Attributes JSON Object Used to specify the style of the graphical representation.
preview
String Defines the visual style or format for how the graph is displayed.
Allowed Values :
vertical_bar | vertical_stacked_bar | trend
x_axis
title String Represents the title of horizontal axis of the graph Maximum Length : 20
y_axis
title String Represents the title of vertical axis of the graph Maximum Length : 20
data Show Attributes JSON Array Array that contains the data points to be plotted on the graph.
Maximum size : 5
category
String Defines the name of the category for which data is being represented (e.g., "Products", "Months"). Maximum length for category name : 20
value
JSON Object An array that contains objects representing specific items within the category. Maximum number of key pairs of value : 20 Each object holds: label String The name or identifier for the data point . Maximum length : 20 value Float The numeric value associated with that label, which will be plotted on the graph. |
Mentions
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
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" } ] }
To mention a user, use the syntax {@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 :
This API can be accessed with the OAuth scope : ZohoCliq.Webhooks.CREATE
Mentioning a Channel
Mentioning a Channel
Request POST https://cliq.zoho.com/api/v2/chats/{chat_id}/message Payload {"text": "Hey there {#CHANNEL_ID}"}
To mention a channel, use the syntax {#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 :
This API can be accessed with the OAuth scope : ZohoCliq.Webhooks.CREATE
Mentioning all Users in a Channel
Mentioning all Users in a Channel
Request POST https://cliq.zoho.com/api/v2/chats/{chat_id}/message Payload {"text": "Hey there {@participants}"}
To mention all users in a channel, use the syntax {@participants}
. This will notify all the
participants who are a part of the channel.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Webhooks.CREATE
Mentioning available users in a Channel
Mentioning available users in a Channel
Request POST https://cliq.zoho.com/api/v2/chats/{chat_id}/message Payload {"text": "Hey there {@available}"}
To mention all available users in a channel, use the syntax {@available}
. This will notify all participants who have their status set to available.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Webhooks.CREATE
Mentioning a Team
Mentioning a Team
Request POST https://cliq.zoho.com/api/v2/chats/{chat_id}/message Payload {"text": "Hey there {@Gteam_id}"}
To mention a team, use the syntax {@Gteam_id}
. You can mention a team in a team or
organization
level channel only.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Webhooks.CREATE
Buttons
A button can be attached as a component in the message object.
The key parts of a button in a message are explained below:
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.
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:
- Instant Buttons
- Message Card Buttons
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
[Button Label](button_action_type|actionproperties)
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 :
- Audio Call
- Video Call
- Start Chat
- Contact Invite.
- Location Access
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Webhooks.CREATE
Instant button syntax using Invoke Function
Instant Button triggered using Invoke Function
[Button Label]($reference-key)
Sample Syntax
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
references
JSON object The references JSON contains all details of the
button such
as button
action type, function name, function owner and reference key. |
Instant button syntax using System API
Instant Button triggered using System API
Required OAuth Scope :
This API can be accessed with the 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
Button Label Required Display value of the button. Maximum number of characters allowed : 20
Button Action Required Type of action the button should perform. In this case : system.api
system action/ID Required System action allowed values: audiocall | videocall | startchat | invite |
locationpermission ID - zuid of the user to whom the system action should be
performed.
Specify the type of system action. ID is the user ID
where
you would like
to perform the action. |
Message Card Button Object
Message Card Buttons
{ "label":"", "type":" ", "action":{ "type":" ", "data":{ }, "confirm":{ } } }
Message cards can be structured to be interactive by adding buttons. A message card can have a maximum of 5 buttons.
Required OAuth Scope :
This API can be accessed with the OAuth scope : ZohoCliq.Webhooks.CREATE
The Button Object Attributes
label
string The display value of the button. Maximum number of characters allowed : 20
hint
string A tool tip indicating the button's function while
hovering
over.
Maximum number of characters allowed : 100
key
string Unique key set for each button. This key can be
defined to
easily
identify and differentiate the buttons clicked and execute the
functionality. Maximum number of characters allowed : 100
type
string Allowed values : + | - The type + denotes a button with green outline , type
-
denotes button
with red outline.
action
JSON object Defines the type of action a button should perform.
|
Message Card Button Actions
A button can be triggered by three different types of actions:
- Invoke Function
- Open URL
- System API
Message Card Buttons triggered using Invoke Function
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" } } } ] }
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 invoke.function
button action.
Params
name
string The deluge function name to be invoked. |
Message Card Buttons triggered using Open URL
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/" } } } ] }
The open URL action is used to direct the user to a URL, on click of the button.
Params
web
URL The URL to be opened on clicking the button.
Maximum number of characters allowed : 256
windows
URL The URL to be opened on clicking the button.
Exclusive for
windows
mobile. Maximum number of characters allowed : 256
iOS
URL The URL to be opened on clicking the button.
Exclusive for
iOS mobile.
Maximum number of characters allowed : 256
Android
URL The URL to be opened on clicking the button.
Exclusive for
android
mobile. Maximum number of characters allowed : 256 |
Message Card Buttons triggered using System API
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" } } } ] }
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:
- audio call - audiocall/zuid
- video call - videocall/zuid
- start chat - startchat/zuid
- contact invite - invite/zuid
- location access - locationpermission
Params
api
System actions Allowed Values: audiocall | videocall | startchat |
invite |
locationpermission Format : system action/{id} |
Message Cards
Message cards are themed messages that can be customized.
Cliq offers a variety of different message cards.
Poll
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" } } } ] }
Customize your message structure to look like a poll message.
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
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" } } } ] }
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
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" } } } ] }
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!