Zoho Cliq REST APIs v3 - A Complete Guide to What's Changed & Why

Zoho Cliq REST APIs v3 - A Complete Guide to What's Changed & Why



APIs are not just consumed by a developer with numerous automations and a series of open browser tabs. They are parsed by LLMs, fed into agent pipelines, and auto-completed by AI coding assistants that have zero tolerance for inconsistency.

A verb tucked into a URL, multiple pagination tokens across each module, inconsistent key naming, etc. These gaps create friction that compounds across every integration built on top of our APIs.

Hence, introducing our new REST API documentation with v3 REST APIs, which act as a comprehensive rule-book detailing proper response structures, error codes, query conventions, URL format and HTTP semantics.

💡
 Switching API Versions

To switch between the two API versions, navigate to the top-right corner of the documentation, where you will find a dropdown menu. We currently support v2 (legacy) and v3 (latest).

Version switcher dropdown showing V2 and V3 (Latest) options in the top-right corner of Zoho Cliq API Docs

Here's what we have upgraded, why it's essential, and what it means for anyone building with Cliq APIs today.

What's new in v3

Along with standardization, v3 APIs ship with a substantial set of new capabilities that address the inconsistencies left by v2.

Platform components management


  • Every platform component now has full CRUD API coverage (schedulers and widgets will be launched soon). Creating deluge or webhook bots, adding a script to handlers, and all of this can be automated.

No more endless search exploration

In v2, "search" meant fetching paginated lists, filtering, and manually applying conditional logic, thereby burning bandwidth. v3 includes dedicated search endpoints for both messages and chats, with rich filtering parameters.

Cliq UI via API

The gap between what the UI could do and what the API could do ends with v3. Like, when a user pins a message, stars a chat, or adjusts a notification preference, your integration hits a dead end.

  • Stars, pins, and chat folders are no longer UI-only gestures; they are proper first-class resources with full CRUD endpoints that fit naturally into the same model as everything else in v3.

New documentation template

Along with the APIs and their standardization, we have revamped the documentation theme that's as dynamic as our APIs.


AI tooling


  1. Interrogate implementation questions, debug edge cases, and more by clicking the AI tools dropdown, which populates the Open in Claude, Open in ChatGPT, Copy as Markdown, and View as Markdown options available on every documentation page.
  1. Launch a Claude or ChatGPT session with the full endpoint schema already loaded in context.

OpenAPI Specification, per resource and as a full bundle


  1. Every module overview page ships a module-specific OAS .yml file, and the complete openapi-all.zip bundle is always one click away.
  1. Feed it into OpenAPI Generator for typed client SDKs, drop it into an LLM for schema-accurate code generation, load it into SwaggerHub for an interactive explorer, or wire it into your CI pipeline for contract testing.

Updated Postman collection

  1. At the top of the documentation, access the Postman collection with the correct method, URL, headers, and body for every endpoint. An OAuth folder handles the full token lifecycle and automatically generates and populates both your access and refresh tokens without any manual setup.

  1. Multi-data center support is added into environment variables, two changes switch the entire collection across the US, EU, IN, AU, JP, and CA. Fork it, pull updates as the API evolves, and keep every customization intact.

Glossary as a single source of truth

All the unique 25+ identifiers (BOT_ID, CHAT_ID, CHANNEL_UNIQUE_NAME, etc.) are defined once, with retrieval guides (e.g., how to retrieve via API and UI, if possible), and they're linked from every endpoint that uses them, so there's no more cross-referencing tabs or guessing what a parameter expects.

Multiple language code examples

  1. cURL, Deluge, Java, JavaScript, Node.js, and Python are available copy-ready on every endpoint. Default is cURL. Use the dropdown to switch between different code examples. Pick your language, copy, and run.
  2. Fun-fact: We've also got you covered with bonus support for C#, C# HTTPClient, Go, and JavaScript XHR 🥳

Endpoint-specific errors


  1. Every endpoint includes a section called "Possible Error Codes." By clicking this section, you can view error codes along with their HTTP status codes and plain-language descriptions. 
  2. The codes in the table match exactly the strings the API uses. The information is presented in an expandable and collapsible format to enhance the user interface and user experience.
  3. The relevant error handling can be done with your custom scripts without parsing or guessing any more

Multiple request body examples, per endpoint


  1. Some endpoints support multiple ways to use them. For those, the documentation ships multiple request body examples, each mapped to a distinct business use case, with its own response example.
  2. Switch between them from the dropdown, understand the intent, and take it straight into your script. No reverse-engineering the schema, no guessing what a field is actually for, every example is a real, working scenario you can adapt and use

Technical Upgrades

Removal of verbs in URL


  1. v2 APIs used verb patterns as placeholders in endpoint URLs (e.g., /resource/create or /resource/delete), and these endpoints are spread across every module.
  2. v3 APIs remove these verb placeholders, so every state transition that previously had a unique endpoint now uses a PUT or PATCH on the resource itself, with the new state included in the request body.

Unified response envelope

v2 responses had no consistent shape: some were bare, some wrapped, some ad hoc per endpoint, and all were different. v3 uses one envelope everywhere.
  1. {  
  2.   "type": "bot",  
  3.   "data": { ... }
  4. }

  5. For list responses, the same envelope extends naturally:
  6. {  
  7.   "type": "bot",
  8.   "next_token": "NTB8MTc1Nj...",
  9.   "sync_token": "NTB8MTc3Nz...",
  10.   "deleted": ["53719000001620003"],
  11.   "data": [ ... ]
  12. }
Type uses dot notation for sub-resources: channel. member, chat.read_status, so the resource type is unambiguous regardless of nesting depth. deleted lists IDs removed since the last sync, enabling cache-consistent incremental sync without polling. You write response-parsing logic once. It works across the entire API.

Uniform pagination

Paginating through v2 APIs was genuinely frustrating. Each module used its own token, and you had to account for every variation, and there was no single pattern you could rely on across the board.

The API surface was fragmented across six different tokens: next_token, sync_token, next_set_token, start_token, next_search_token, and page_number, which meant writing and maintaining module-specific pagination code was simply the norm.



v3 fixes this by replacing all of them with exactly two tokens, used identically across every resource:
  1. next_token: A cursor for forward pagination that works the same way regardless of which resource you are querying.
  2. sync_token: Designed for incremental sync, it returns only the records that have changed since your last request, making it significantly more efficient for keeping local state up to date.
Write your pagination logic once, and it works everywhere.

PATCH as a First-class method

In the v2 API, POST and PUT methods were used for almost everything, including partial updates. However, v3 enforces a more proper usage of HTTP methods. PATCH, in particular, is now utilized correctly and consistently.

This means that when updating two fields on a bot, you no longer need to resend the entire configuration. Instead, you only send what has changed, and the rest remains untouched. 

Example:
  1. PATCH /api/v3/bots/{BOT_ID} 
  2. {  
  3.   "name": "CRM Bot",  
  4.   "scope": "organization"
  5. }

Further additions

  1. URL Nesting: URL nesting is only used when it adds real value. If a parent ID can be understood from the authentication token, it is removed from the URL path. This keeps the URLs clean and avoids redundancy.

  2. Plural resource names: Every resource name in every URL, at every nesting level is plural. Hence predictability at URL level means tooling don't need to special case anything, one common rule is applied everywhere.

  3. Hyphens for multi-word segments: All multi-word segments use hyphens not camelCase, not underscores and no concatenation.
    Example: /api/v3/chats/{CHAT_ID}/pin-messages

  4. Consistent Key Formatting: All request and response keys follow a consistent snake_case format. The mix of camelCase and snake_case from v2 modules has been eliminated. This ensures that generated clients and serialization logic function correctly from the outset.

  5. Field Selection and Sorting: Field selection and sorting are standardized across all list endpoints. You can limit the data returned using "?fields=id, name" and control the order with "?order_by=+created_time", maintaining the same syntax throughout.

  6. Granular OAuth Scopes: OAuth scopes are now more detailed and documented for each endpoint. This allows integrations to request only the permissions they need (READ, CREATE, UPDATE, DELETE), with each endpoint clearly stating the required scope.

And that's a Wrap 🚀 !

v3 is live, but it's not done yet. More modules, endpoints, relevant MCP tools and features are on the way, and they will all meet the same high standards you see here
Thank you for building on Cliq, for pushing us to improve, and for trusting us with your integrations.

Try it out now, and if you have any feedback, suggestions or need help integrating our APIs into your internal workflows, please reach out to support@zohocliq.com, and we'd be happy to help :)

💌 With love,
Team Zoho Cliq
    • Sticky Posts

    • Zoho Cliq REST APIs v3 : A complete guide to what's changed and why 

      APIs are not just consumed by a developer with numerous automations and a series of open browser tabs. They are parsed by LLMs, fed into agent pipelines, and auto-completed by AI coding assistants that have zero tolerance for inconsistency. A verb tucked
    • Cliq Bots - Post message to a bot using the command line!

      If you had read our post on how to post a message to a channel in a simple one-line command, then this sure is a piece of cake for you guys! For those of you, who are reading this for the first time, don't worry! Just read on. This post is all about how
    • Automating Real-Time Zoho Bookings Alerts in Zoho Cliq

      Enable your teams to respond in seconds by bridging the gap between booking confirmation and team notification. No sticky notes, no calendar nudges and no follow-up frenzies. For businesses that rely on scheduled appointments, real-time visibility is
    • Add Claude in Zoho Cliq

      Let’s add a real AI assistant powered by Claude to your workspace this week, that your team can chat with, ask questions, and act on conversations to run AI actions on. This guide walks you through exactly how to do it, step by step, with all the code
    • Automate attendance tracking with Zoho Cliq Developer Platform

      I wish remote work were permanently mandated so we could join work calls from a movie theatre or even while skydiving! But wait, it's time to wake up! The alarm has snoozed twice, and your team has already logged on for the day. Keeping tabs on attendance
    • Recent Topics

    • Zoho Mail iOS app update: Spam Controls & Sender Verification

      Hello everyone! We are excited to introduce spam control enhancements in the Zoho Mail iOS app update. Let's dive into what's new. Spam Alerts in Mail Preview : Mail preview now shows warning alerts for emails identified as potentially harmful, helping
    • Mise à jour de Zoho Books – France

      Chers clients, Merci pour votre patience et votre soutien continu. Avec les évolutions réglementaires à venir en France nous introduisons de nouvelles fonctionnalités dans Zoho Books pour les clients français. Ces mises à jour ont été conçues pour répondre
    • Admin Logging in as another User

      How can a Super Admin login as another user. For example, I have a sales rep that is having issues with their Accounts and I want to view their Zoho Account with out having to do a GTM and sharing screens. Latest Update (27th April 2026): With the early
    • Zoho Books API: Bulk update thousands of records using Node.js with OAuth refresh, retries and resume support

      Hello everyone, During Zoho Books implementations, one common challenge is updating a large number of existing records. The current options are usually: Update records manually from the UI using Mass Update (with limited batch size). Update records one
    • SalesIQ's Summer '26 Release: For The Moments That Matter

      Every customer journey is made up of moments. The moment someone discovers your business. The moment they need help. The moment you decide to reach out. The moment a simple chat turns into something more. And the moments that continue long after the conversation
    • CNIL - Suivi de Pixel

      Bonjour à tous, À la suite de la nouvelle recommandation de la CNIL sur les pixels de suivi dans les e-mails, savez-vous si Zoho Campaigns permet : de conditionner le suivi des ouvertures au consentement de chaque contact ; de proposer un lien permettant
    • Customer/Vendor Portal session duration - can it be extended?

      Hi all, We'd like to know how long the login session lasts for the Customer/Vendor Portal in Zoho Books, and whether there's any way to extend it (either through settings or via support/API). Right now this is causing a pretty poor experience for our
    • Accessible & Customizable User Governance in Zoho Projects!

      As teams expand and collaborate with multiple external collaborators across projects, keeping control of user access to project data becomes a challenge. Mismanaged access can cause accidental or unauthorized edits, data leaks and lack of accountability.
    • Bulk deleting Zoho CRM records using Deluge, COQL and CRM API

      Hello everyone, During CRM implementations, data cleanup is a common task, especially after testing, migrations, imports, or integration development. The Zoho CRM UI allows deleting records in batches of 100, which is not practical when dealing with thousands
    • CNIL - Suivi de Pixel

      Bonjour à tous, À la suite de la nouvelle recommandation de la CNIL sur les pixels de suivi dans les e-mails, savez-vous si Zoho Campaigns permet : de conditionner le suivi des ouvertures au consentement de chaque contact ; de proposer un lien permettant
    • Zoho CRM Layout Rules: Nine New Actions, Profile-Based Execution, and Interactive Preview

      Hello everyone, Availability: This feature is now available for customers in the JP and SA DCs. It is planned to be released for other customers in soon. We’re excited to announce powerful new enhancements to Layout Rules in Zoho CRM - a feature built
    • Automatically set the default VAT percentage on a quote

      Every time I create a quote, I have to manually adjust the VAT and activate the checkbox for 21%. But all of our quotes include 21% VAT. So now occasionally, it happens that the checkbox is forgotten, and the customer receives an incorrect quote (without
    • How to View Part Inventory and Warehouse Location When Creating a Work Order in Zoho FSM

      Hi everyone, We’re currently setting up Zoho FSM and would like to improve how our team selects parts when creating a Work Order. Right now, when we add a part or item to a Work Order, we can select it from our Zoho Inventory list but we don’t see any
    • Zoho Sprints - Q2 Updates for 2026

      Improve your agile project management experience with the newly released capabilities in Zoho Sprints. This quarter we've shipped a few new features and enhancements that are built around smarter planning and execution tools, tighter integrations, and
    • Building extensions #5: Creating custom user interfaces using widgets

      In our last post, we looked at connections and how they help build a seamless integration with an example. In this post, we'll explore creating widgets in Zoho Sprints and their benefits with a real-time example. Widgets What and where? Widgets are custom
    • Images not saved in notes

      Created noteboards and create a note, copy pasted the image, close the note and open again, image is not coming this same problem occurs in note on notebook I have attached the replication steps as video url to analyse it, and also attached the videos
    • How to Change Notecard Color After It Is Created

      I would like to change the color of a Notecard that already exists in my notebook. I can't for the life of me figure out how to do it. I don't see an option or color picker anywhere.
    • Cannot export Zoho Notebook data nor search via MCP (GDPR)

      Hi, I'm using Zoho Notebook for a few years now. Not as my main notetaking app, but for specific usecases I did find it handy. Now I want to export all my data. Preferably all notes in html format with metadata like note title, included images and parent
    • Bring more clarity to your blueprints with color-coded transitions

      As your hiring processes evolve, blueprints naturally become more detailed. When multiple transitions connect different stages, it can take extra effort to identify approvals, rejections, reviews, and other actions at a glance. With this enhancement,
    • Add a MATRIX field to the forms creation

      Same as Zoho forms, we need a Matrix field in Zoho Creator forms, is very usefull
    • incoming mails not received

      incoming mails not received
    • Integrate QuickBooks with Bigin and streamline your sales and accounting!

      If your business relies on Bigin for customer management and QuickBooks for accounting and invoicing, this new integration is here to make your operations more efficient. By connecting these two platforms, you can now manage your CRM and financial processes
    • Automatically calculate and include tax on quotes

      I've recently been VAT registered and now need to include VAT on my quotes. I have been able to set the tax label and amount but still need to click the tax link and select the tax I wish to include before it appears on the quote. Does anyone know of
    • Relative Dates

      Is there a way to apply a Relative Date filter in DataPrep (ie. Today or Yesterday)? I need to filter a dataset to only include rows with a created date of yesterday, but I’m not finding a way to do it?
    • Change email addresses - Advise how

      Good day, I need assistance to change all our users email addresses Please advise
    • email signature

      How do you add an email signature
    • Email Forwarding | How to Enable and Disable Email Forwarding on a Non-Admin User Account

      Email Forwarding Issue: Enable and Disable Email Forwarding
    • Ask the Experts 31: Improving support performance with reports and dashboards

      Hello everyone, Join us for the next Ask the Experts (ATE) session! Ask the Experts is an opportunity to connect with people who have deep knowledge of Zoho Desk. Let's look at the topic we're focusing on this month. Just as we rely on the right tools
    • Zia AI capabilities now available in all paid editions

      Hello everyone, We are expanding the availability of AI-powered features in Desk to the other paid subscriptions from 7th July 2026. Right now, the following AI-based features are available for Enterprise edition users: Intelligence: Sentiment analysis,
    • Product updates in Zoho Workplace applications | June 2026

      Hello Workplace Community, Let’s take a look at the new features and enhancements that went live across all Workplace applications for the month of June. Zoho Mail Alphanumeric support for attachment extensions in rule conditions Attachment extension
    • Biggest supported size of a note

      I'm still testing this ZOho Notebook before purchasing a premium licence and can't work with large notes. I store personal vocabulary in two 13,000-word / 83200-character notes. Same poor experience with PC, Web, and mobile apps: Is there an application
    • I need help lease Email

      I' not getting an email replay when someone open a ticket
    • Sigma function call hangs forever from Desk widget — app_install_id/encapiKey are null

      Calling ZOHODESK.request() from the widget to invoke a Sigma DRE function URL hangs forever (never resolves, never rejects, no error) until client timeout. Tried with merge fields app_install_id={{sigmaInstallId}}/{{installationId}} and encapiKey={{enCapApiKey}}
    • Draft quotes, sales orders, and raise invoices for services in CRM

      Create Quotes, Sales Orders, and Invoices for Services in Zoho CRM You can now draft Quotes, and Sales Orders as well as raise Invoices for services in Zoho CRM. And how is that possible? By filling out the Service subform in your Quotes, Sales Orders
    • Tiktok

      When will Tiktok be added to the Zoho Social Platform?
    • Canva Integration

      Hello! As many marketing departments are streamlining their teams, many have begun utilizing Canva for all design mockups and approvals prior to its integration into Marketing automation software. While Zoho Social has this integration already accomplished,
    • Action Required: Allowlist New IP Ranges for the EU Data Center

      Dear Users, We are adding new IP ranges for the Zoho Analytics EU data center (https://analytics.zoho.eu) If you connect Zoho Analytics to cloud databases (both Live Connect and import), such as Amazon RDS, Amazon Redshift, or Microsoft Azure, you must
    • Tips & Tricks #3: Zoho CRM - Agentes en la página de inicio

      Hola a todos, Vuestros Agentes realizan un trabajo muy útil. Encuentran información como clientes potenciales importantes, oportunidades de venta y actualizaciones relevantes. Sin embargo, hasta ahora no era posible ver esa información directamente en
    • Pricelists

      So we have them in books but I cannot find them in commerce?
    • Automating CRM backup storage?

      Hi there, We've recently set up automatic backups for our Zoho CRM account. We were hoping that the backup functionality would not require any manual work on our end, but it seems that we are always required to download the backups ourselves, store them,
    • Next Page