REST API DocumentationAccess CliqPostman-Collection
  • Userfields
  • User Status
  • Departments
  • Roles
  • Designation
  • Remote Work
  • Chats
  • Channels
  • Threads
  • Teams
  • Messages
  • Scheduled Messages
  • Bots
  • Files
  • Calls & Meetings
  • Reminders
  • Cliq Database
  • Widget Map Tickers
  • Custom Domain
  • Custom Email
  • CORE RESOURCES
  • Message Object
  • Mentions
  • Buttons
  • Message Cards
  • Icons
  • Users

    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 centerDomainBase API URI
    United States.comhttps://cliq.zoho.com/
    Europe.euhttps://cliq.zoho.eu/
    India.inhttps://cliq.zoho.in/
    Australia.auhttps://cliq.zoho.com.au/
    China.cnhttps://cliq.zoho.com.cn/
    Japan.jphttps://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:

    1. Generate Client ID and Client Secret
    2. Authorization by generating the grant token
    3. Generating Access and Refresh Token
    4. 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 IDand give the following :

    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

    ParameterDescription
    scopeThe scope required for your extension.
    • The scopes vary for each endpoint. Hence, Refer to the APIs and identify the necessary scopes based on your use case.
    • Example : ZohoCliq.Messages.READ
    client_idClient id obtained during client registration.
    stateA generated value that correlates the callback with its associated authorization request.
    response_type"code"
    redirect_uriThe redirect URL mentioned during client registration.
    access_typeAccess 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.

    ParameterDescription
    codeAuthorization code obtained during grant token generation.
    client_idClient id obtained during client registration.
    client_secretClient secret obtained during client registration.
    redirect_uriRedirect uri mentioned during client registration.
    grant_typeauthorization_code
    scopeSpecify the scope allowed for your extension.
    stateA 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.

    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

    ParameterDescription
    client_idClient id obtained during client registration.
    client_secretClient secret obtained during client registration.
    redirect_uriRedirect uri mentioned during client registration.
    grant_typerefresh_token
    refresh_tokenThe refresh token obtained during access token generation.(Step 3)
    scopeSpecify 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 NameHeader Value
    AuthorizationZoho-oauthtoken {{access token}}
    contentTypeapplication/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.

    ParameterDescription
    refresh_tokenThe refresh token that is to be revoked.
    MethodDescription
    GETUsed for retrieving resources.
    POSTUsed for creating resources and performing operations.
    PUTUsed for updating resources.
    DELETEUsed 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 CodeDescriptions
    2xxSuccess
    4xxBad request sent to server
    5xxServer side error
    Status CodeDescription
    200SuccessThe request was successfully completed.
    201CreatedThe request was a success and one or more resources have been created.
    204No ContentThe request was a success and the response returned has no content.
    400Bad requestThe request cannot be performed. Usually because of malformed parameter or missing parameter.
    401Unauthorized (Invalid AuthToken)Request was rejected because of invalid AuthToken.
    403ForbiddenThe user does not have enough permission or possibly not an user of the respective organization to access the resource.
    404URL Not FoundThe URL you’ve sent is wrong. It’s possible that the resource you’ve requested has been moved to another URL.
    405Method 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.
    406Not AcceptableThe response has been received but the requested response type is not supported by the browser.
    429Too many requestsToo many requests within a certain time frame.
    500Server 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.
    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
    String
    Default language of the user.
    Note : The value for language must be in ISO 639 format.
    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 CodeDescription
    zohoaccount.conflictThe 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.blockedThe user you're trying to invite has rejected the invitation maximum number of times. Try inviting the user with a different email ID.
    email.activeuserThe user is already a part of your Cliq organization.
    email.pendinguserThe 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 CodeDescription
    operation_not_allowedThe 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

    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 CodeDescription
    operation_not_allowedThe operation is not allowed. This might also be because you are using Zoho People to manage your departments.
    not_an_organization_adminUser who is not an organization admin tries to creat a department.
    not_zoho_organization_userUser does not belong to the Cliq organization.
    department_lead_neededDepartment lead's user ID is not provided.
    department_lead_invalidThe user ID of the department lead is not valid or the user does not belong to your Cliq organization.
    departmet_parent_department_neededParent department ID is not provided.
    department_not_existParent department ID is not valid.
    department_create_failedInternal 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 CodeDescription
    operation_not_allowedThe operation is not allowed. This might also be because you are using Zoho People to manage your departments.
    not_an_organization_adminUser who is not an organization admin tries to creat a department.
    not_zoho_organization_userUser does not belong to the Cliq organization.
    department_already_existDepartment with given name already exists.
    department_lead_invalidThe user ID of the department lead is not valid or the user does not belong to your Cliq organization.
    department_not_existParent department ID or given department ID is not valid.
    department_cyclic_loopA child department ID is being assigned as the parent department.
    department_edit_failedInternal 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 CodeDescription
    operation_not_allowedThe operation is not allowed. This might also be because you are using Zoho People to manage your departments.
    not_an_organization_adminUser who is not an organization admin tries to creat a department.
    not_zoho_organization_userUser does not belong to the Cliq organization.
    department_not_existParent department ID or the given department ID is not valid.
    department_add_member_failedInternal 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 CodeDescription
    operation_not_allowedThe operation is not allowed. This might also be because you are using Zoho People to manage your departments.
    not_an_organization_adminUser who is not an organization admin tries to creat a department.
    not_zoho_organization_userUser does not belong to the Cliq organization.
    department_not_existParent department ID or the given department ID is not valid.
    department_delete_member_failedInternal 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 CodeDescription
    operation_not_allowedThe operation is not allowed. This might also be because you are using Zoho People to manage your departments.
    not_an_organization_adminUser who is not an organization admin tries to creat a department.
    not_zoho_organization_userUser does not belong to the Cliq organization.
    department_not_existParent department ID is not valid or given department ID is not valid.
    department_base_dept_delete_not_allowedParent department cannot be deleted.
    department_delete_failedInternal 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 CodeDescription
    operation_not_allowedThe operation is not allowed. This might also be because you are using Zoho People to manage your designations.
    not_an_organization_adminUser who is not an organization admin tries to creat a designation.
    not_zoho_organization_userUser does not belong to the Cliq organization.
    designation_already_existDesignation with given name already exists.
    designation_create_failedInternal 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 CodeDescription
    designation_not_existThe 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 CodeDescription
    operation_not_allowedThe operation is not allowed. This might also be because you are using Zoho People to manage your designations..
    not_an_organization_adminUser who is not an organization admin tries to creat a designation.
    not_zoho_organization_userUser does not belong to the Cliq organization.
    designation_not_existThe provided Designation ID does not exist.
    designation_already_existDesignation with given name already exists.
    designation_edit_failedInternal 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 CodeDescription
    operation_not_allowedThe operation is not allowed. This might also be because you are using Zoho People to manage your designations..
    not_an_organization_adminUser who is not an organization admin tries to creat a designation.
    not_zoho_organization_userUser does not belong to the Cliq organization.
    designation_not_existThe 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 CodeDescription
    operation_not_allowedThe operation is not allowed. This might also be because you are using Zoho People to manage your designations..
    not_an_organization_adminUser who is not an organization admin tries to creat a designation.
    not_zoho_organization_userUser does not belong to the Cliq organization.
    designation_not_existThe 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 CodeDescription
    operation_not_allowedThe operation is not allowed. This might also be because you are using Zoho People to manage your designations..
    not_an_organization_adminUser who is not an organization admin tries to creat a designation.
    not_zoho_organization_userUser does not belong to the Cliq organization.
    designation_not_existThe 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.
    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.
    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 permissions

    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

    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. thread_title will be considered only for the first thread message
    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:

    1. OAuth Scope: The OAuth scope for messaging APIs is Webhooks. All messaging APIs can be accessed with the same scope only.

    2. Deluge tasks: zoho.cliq.postToChat, zoho.cliq.postToChannel, zoho.cliq.postToBot.
    3. Authtoken: Using an authtoken.
    Tip: Click this link to know how to create an authtoken! Learn how to create 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.

    How to find the channel unique name?

    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

    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.
    JSON Object
    Details of the message that was set as reminder.
    message
    string
    Message text that is set as the reminder content
    chat_id
    long
    Unique ID of the chat containing the message
    sender_id
    long
    Unique ID of the user who sent the message
    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 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 :
    • limited-text (string):
      Maximum characters allowed are 250. Maximum number of limited-text field type allowed in each database : 5
    • number (long):
      Maximum characters allowed upto 19. Maximum number of number field type allowed in each database : 5
    • boolean
      Maximum number of boolean field type allowed in each database : 5
    • encrypted-text (String):
      Maximum characters allowed are 250. Maximum number of encrypted-text field type allowed in each database : 3
    • large-text (String):
      Maximum characters allowed are 1000. Maximum number of large-text field type allowed in each database : 1
    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.

    Note: The start_token will expire with one request. Using the same token in multiple requests will return an error as 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.
    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.
    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.
    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.
    JSON Object
    To display message in different styles.
    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.

    Know more about 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:
    • "headers": ["Name"],
    • "rows": [{"Name": "Paula Rojas"}]
    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.
    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"}
    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
    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
    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:

    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 :

    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.
    type
    String
    Button
    JSON Object
    Defines the button label and the type of action a button should perform.
    label
    String
    Display value of the button.
    Maximum number of characters allowed : 20
    type
    String
    The type + denotes a button with green outline , type - denotes button with red outline, not specifying the type will denote the neutral button color in grey.
    JSON Object
    Specify the type of action the button should perform. In this case: invoke.function
    JSON Object
    The data JSON object contains details about the button function name.
    name
    String
    Name of the function to be associated with the button.

    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.
    JSON object
    Defines the type of action a button should perform.
    type
    string
    Allowed values : invoke.function | open.url | system.api
    The action type for a button.
    data
    JSON Object
    The key value params of data is explained under each action type.

    Action Types

    JSON Object
    Confirmation dialog box before the action is executed.
    title
    string
    Confirmation dialog box title before the action is executed.
    Maximum number of characters allowed : 100
    description
    string
    Confirmation message displayed before the action is executed.
    Maximum number of characters allowed : 100
    input
    string
    To prompt the confirmation dialog box.
    Maximum number of characters allowed : 300
    button_text
    string
    Label of the button present in the confirmation box.
    Maximum number of characters allowed : 100

    Message Card Button Actions

    A button can be triggered by three different types of actions:

    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:

    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!







































    Icons

    Enhance your developer tools with intuitive icons in Zoho Cliq

    To copy the icon, hover over it. Then, paste the icon ID into your code to display it on your Cliq tools.Learn about bot callsNEW