# Catalyst Documentation Last Updated: 2026-11-13 # GETTING STARTED -------------------------------------------------------------------------------- title: "Introduction to Catalyst" description: "Learn about Zoho's flagship, pro-code, serverless platform, Catalyst, built on tried-and-tested infrastructure to create highly-scalable solutions." last_updated: "2026-11-04T10:10:44.000Z" source: "https://docs.catalyst.zoho.com/en/getting-started/introduction-to-catalyst/" service: "All Services" -------------------------------------------------------------------------------- # Introduction to Catalyst by Zoho ### Overview Catalyst by Zoho is a full stack, cloud-based, scalable platform that provides developer functionalities to build software services and applications of any scale in various programming environments. You can build solutions ranging from simple microservices and independent software modules to interactive and dynamic cloud apps, enterprise software, robust business suites, and more for an array of industry verticals, use cases, and requirements. Catalyst is backed by Zoho's powerful, resilient, tried-and-tested infrastructure that ensures the solutions you build are consistent, reliable, and efficient in their performance, and are highly secure. Catalyst powers you by providing a host of features through various services, all aimed at providing comprehensive end-to-end support throughout the application building process. You benefit from a platform that offers you the precise tools required to optimize your development, deployment, and post-production phases, enabling you to produce effective business solutions. These server-side programmable services are all available in a unified, accessible, user-friendly interface in a cloud console. With Catalyst, you get to build solutions in a cost-effective manner by selecting between two different pricing models (a Subscription model or a Pay-as-you-go model) based on your business requirements and usage. You can also utilize free-tiers and benefits that enable you to work with Catalyst for free of cost until you exceed the hard limits imposed on these benefits. This, along with a serverless infrastructure, facilitates optimal cost efficiency with zero downtime. Ultimately, Catalyst is designed to allow programmers to focus more on designing the user experience and business logic of their serverless applications and solutions, instead of investing time and effort into setting up and maintaining the server-side components. Developers don't need to build and manage servers or storage solutions manually, or worry about the infrastructure their applications are built on. You can avail various development tools such as ready-to-use SDKs for a supported programming environment of your choice or RESTful APIs to access various Catalyst components and functionalities. You can also choose to build with Catalyst from your local environment with Catalyst CLI, and deploy them to cloud when needed. These developer tools help you customize the already functional server-side behavior to your needs, build on the ready-made components, and seamlessly integrate these backend features into your solutions. Catalyst therefore presents a significantly faster, hassle-free, and cost-effective software development experience. ### Catalyst Services Catalyst by Zoho offers the following services: 1. [**Catalyst Serverless:**](https://docs.catalyst.zoho.com/en/serverless/) Catalyst Serverless is a fully-managed, cloud-computing platform that provides a powerful infrastructure for your application building needs. Catalyst Serverless provides FaaS and PaaS solutions, and supports multiple programming environments. 2. [**Catalyst CloudScale:**](https://docs.catalyst.zoho.com/en/cloud-scale/) Catalyst CloudScale includes components that enable you to securely build and host robust serverless applications and microservices. You can access end-to-end solutions for your application storage, security, integration, and deployment needs. 3. [**Catalyst Zia Services:**](https://docs.catalyst.zoho.com/en/zia-services/) Catalyst Zia Services offer a host of ML and AI-powered microservices that you can readily incorporate in the programming environment of your choice. Catalyst Zia services includes features like OCR, AutoML, Text Analytics, Image Moderation, and more. 4. [**Catalyst DevOps:**](https://docs.catalyst.zoho.com/en/devops/) Catalyst DevOps enables you to implement a DevOps model in your software building process. This provides components that allow you to operate your code at scale, and perform application monitoring, iterative testing, and quality checks with ease. 5. [**Catalyst SmartBrowz:**](https://docs.catalyst.zoho.com/en/smartbrowz/) Catalyst SmartBrowz allows you to configure and access a headless browser programmatically using popular browser automation libraries. You can crawl and scrape permitted websites, and design templates with dynamic content to generate visual documents of them. 6. [**Catalyst QuickML:**](https://docs.catalyst.zoho.com/en/quickml/) Catalyst QuickML allows you to create machine-learning pipelines with end-to-end solutions in a fully no-code ML pipeline builder service. You can access a host of pre-built ML algorithms, operations, and data preprocessing techniques, and connect with datasets to build ML models. 7. [**Catalyst ConvoKraft:**](https://docs.catalyst.zoho.com/en/convokraft/) Catalyst ConvoKraft enables you to build text-based conversational bots that can be embedded into your Catalyst solutions. You can configure tasks for your bot and define the underlying business logic to govern its actions. ### Supported Environments You can develop web and mobile applications using Catalyst and utilize the following SDKs for your needs: 1. [Web](https://docs.catalyst.zoho.com/en/sdk/web/v4/overview/) 2. [Android](https://docs.catalyst.zoho.com/en/sdk/android/v2/overview/) 3. [iOS](https://docs.catalyst.zoho.com/en/sdk/ios/v2/overview/) 4. [Flutter](https://docs.catalyst.zoho.com/en/sdk/flutter/v2/overview/) ### Supported Programming Languages and Frameworks You can develop serverless functions in the following programming languages and frameworks: 1. [Java](https://docs.catalyst.zoho.com/en/sdk/java/v1/overview/) 2. [Node.js](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/overview/) 3. [Python](https://docs.catalyst.zoho.com/en/sdk/python/v1/overview/) -------------------------------------------------------------------------------- title: "Quick Start Guide" description: "The Quick Start Guide teaches you the basics of developing an application or a microservice in Catalyst and setting up your work environment." last_updated: "2026-11-04T10:10:44.000Z" source: "https://docs.catalyst.zoho.com/en/getting-started/quick-start-guide/" service: "All Services" -------------------------------------------------------------------------------- # Quick Start Guide This quick start guide will familiarize you with setting up the Catalyst work environment in under ten minutes. With this guide, you can quickly learn the basic steps involved in developing a Catalyst application in a generic way, with the most popular services. **You can access detailed step-by-step tutorials on building applications and microservices involving different Catalyst services and components from [the Tutorials section](https://docs.catalyst.zoho.com/en/tutorials/).** **[Access all Catalyst resources](https://docs.catalyst.zoho.com/en/)** and check out the various help resources available. > **Note:** Refer to the links provided in this guide for detailed help on various topics.
### Prerequisites 1. [Node.js and NPM](https://nodejs.org/en/download/) for your platform to install Catalyst CLI and to develop Node.js functions 2. [Java SE Development Kit](https://www.oracle.com/technetwork/java/javase/downloads/index.html) to develop Java functions 3. [Python](https://www.python.org/) for your platform to develop Python functions 4. Any IDE tool for coding the [client](https://docs.catalyst.zoho.com/en/cli/v1/project-directory-structure/client-directory/), [functions](https://docs.catalyst.zoho.com/en/cli/v1/project-directory-structure/functions-directory/), or [AppSail](https://docs.catalyst.zoho.com/en/serverless/help/appsail/introduction/). ### Step 1: Create a Catalyst project The first step in developing a Catalyst application is to [create a Catalyst project](https://docs.catalyst.zoho.com/en/getting-started/catalyst-projects/) for it. 1. Log in to the Catalyst console and click **Create a new Project**. 2. Enter the project's name in the pop-up window. 3. Click **Access Project** to open it. You can now set up and work with the Catalyst services and components from the console. Refer to each service's index page from the [help resources](https://docs.catalyst.zoho.com/en/) to learn about it and the components in detail. ### Step 2: Install Catalyst CLI [Install Catalyst CLI](https://docs.catalyst.zoho.com/en/getting-started/installing-catalyst-cli/) to develop, test, and deploy Catalyst applications from your local system. Execute this command in your terminal: ```sh npm install -g zcatalyst-cli ``` Execute this command to verify if the CLI is properly installed: ```sh catalyst --version ``` > **Note:** If you are unable to install Catalyst CLI, execute the install command using `sudo`. You will now be able to access the `catalyst` command from your terminal. Refer to the [**CLI help resources**](https://docs.catalyst.zoho.com/en/cli/v1/cli-command-reference/) for detailed help with the CLI commands and actions. ### Step 3: Log in from your CLI 1. Execute this command to [log in to your Zoho account](https://docs.catalyst.zoho.com/en/cli/v1/login/login-from-cli/) from the CLI: ```sh catalyst login ``` 2. Press **Y** to allow Catalyst to collect CLI error reports and press **Enter**. 3. Sign in using your credentials in the Zoho accounts login page. 4. Click **Accept** to provide data access permissions to the CLI. 5. Close the browser window and continue using the CLI in your terminal. ### Step 4: Initialize the project from the CLI 1. Create a folder for the project on your local machine and navigate to it from the terminal. 2. Execute this command from that directory to [initialize a Catalyst project](https://docs.catalyst.zoho.com/en/cli/v1/initialize-resources/introduction/) in it: ```sh catalyst init ``` > **Note:** The first Catalyst project can only be created from the web console, and not from the CLI. However, you can create subsequent projects directly from the CLI. 3. Select the components that you need to set up for your Catalyst application and press **Enter**. You can initialize Serverless [functions](https://docs.catalyst.zoho.com/en/serverless/help/functions/introduction/) and CloudScale client. > **Note:** You can also initialize Serverless [AppSail](https://docs.catalyst.zoho.com/en/serverless/help/appsail/introduction/) and deploy your app's build files onto the PaaS. 4. Associate the directory with a Catalyst project by selecting a project from the list and press **Enter**. 5. If you initialize a function, select a function type and the stack, and press **Enter**. * If you initialize a Java function, provide the reference name and the main class name, then install the Catalyst Java SDK package. * If you initialize a Node.js function, provide the values for the package name, the entry point file name, and the author's email address. Install the dependencies when prompted. * If you initialize a Python function, provide the values for the package name and the entry point file name. 6. If you initialize the client, provide a name for the client package. The components will be installed and the project directory will be set up with the necessary dependencies and configuration. Refer to the [standard project directory structure help page](https://docs.catalyst.zoho.com/en/cli/v1/project-directory-structure/introduction/) for details. ### Step 5: Develop the application You can now work with the components you initialized in your Catalyst project and use any IDE tool of your choice to code the functions or the client. Refer to the following help documentations for detailed help on working with the Catalyst SDK and API resources, and incorporating Catalyst components in your business logic: * [Java SDK help documentation](https://docs.catalyst.zoho.com/en/sdk/java/v1/overview/) * [Node.js SDK help documentation](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/overview/) * [Python SDK help documentation](https://docs.catalyst.zoho.com/en/sdk/python/v1/overview/) * [Web SDK help documentation](https://docs.catalyst.zoho.com/en/sdk/web/v4/overview/) * [Android SDK help documentation](https://docs.catalyst.zoho.com/en/sdk/android/v2/overview/) * [iOS SDK help documentation](https://docs.catalyst.zoho.com/en/sdk/ios/v2/overview/) * [Flutter SDK help documentation](https://docs.catalyst.zoho.com/en/sdk/flutter/v2/overview/) * [API help documentation](https://docs.catalyst.zoho.com/en/api/introduction/overview-and-prerequisites/#OverviewandPrerequisites) ### Step 6: Test the application locally After you develop the Catalyst application or microservice, you can [test it locally](https://docs.catalyst.zoho.com/en/cli/v1/serve-resources/introduction/) from the CLI before deploying it to the Catalyst web console. Execute this command from your project directory: ```sh catalyst serve ``` > **Note:** You can also [launch an exclusive Node shell from the CLI](https://docs.catalyst.zoho.com/en/cli/v1/working-with-functions/functions-shell/) to test the functions. You can access the functions, client, and AppSail from its local URL displayed in the CLI, and test them. ### Step 7: Deploy the project After you test the application, you can [deploy it to the remote console](https://docs.catalyst.zoho.com/en/cli/v1/deploy-resources/introduction/) by executing this command from your project directory: ```sh catalyst deploy ``` Your application can now be accessed from its web app URL in the [Development environment](https://docs.catalyst.zoho.com/en/deployment-and-billing/environments/introduction/). To access the application in the Production environment, you must set up [Catalyst payments](https://docs.catalyst.zoho.com/en/deployment-and-billing/billing/introduction/) and [deploy the project to production](https://docs.catalyst.zoho.com/en/deployment-and-billing/environments/initial-deployment/). > **Note:** You can also host web applications directly from the console through [web client hosting](https://docs.catalyst.zoho.com/en/cloud-scale/help/web-client-hosting/introduction/) or [upload function bundles](https://docs.catalyst.zoho.com/en/serverless/help/functions/implementation/) in the console. You can host and distribute a mobile application using [Mobile Device Management](https://docs.catalyst.zoho.com/en/cloud-scale/help/mobile-device-management/introduction/). [**Access Tutorials**](https://docs.catalyst.zoho.com/en/tutorials/) to try out some sample applications. -------------------------------------------------------------------------------- title: "Install Catalyst CLI" description: "Catalyst CLI contains a set of tools that enable you to initialize projects, and develop, test, and deploy your applications from your local machine." last_updated: "2026-11-04T10:10:44.000Z" source: "https://docs.catalyst.zoho.com/en/getting-started/installing-catalyst-cli/" service: "All Services" -------------------------------------------------------------------------------- # Install Catalyst CLI ### Introduction Catalyst CLI contains a set of tools that enable you to initialize projects, and develop, test, and deploy the components of your applications and microservices from your local machine. The CLI includes commands and operations applicable to most Catalyst services, such as CloudScale, Serverless, or SmartBrowz. You can learn about the CLI commands available and access detailed help with the CLI from the [**CLI Documentation**](https://docs.catalyst.zoho.com/en/cli/v1/cli-command-reference/). > **Note:** The CLI works with the development environment of your Catalyst project. Therefore, the activities that you perform using the CLI, such as creating a function or deploying a client to the [remote console](https://docs.catalyst.zoho.com/en/getting-started/navigating-in-the-console/), are not reflected in the live production environment of the project. To enable them in the production environment of your application, you must [deploy your project](https://docs.catalyst.zoho.com/en/deployment-and-billing/environments/initial-deployment/) to the production environment. #### Supported OS: * **Windows** * **macOS** * **Linux** You can install Catalyst CLI in any of the supported operating systems in the same way as discussed in this help page. Catalyst CLI offers the same CLI functionalities across all platforms. After you have installed Catalyst CLI, you can work with your Catalyst projects and build applications directly from your system's terminal. ### Pre-requisites Before you install Catalyst CLI, you must have the following prerequisites installed in your system. #### Node.js and Node Package Manager (NPM): Catalyst CLI can be installed through NPM or the Yarn package manager. You can therefore install NPM on your system to install the CLI directly, or install the Yarn package manager using NPM and then install the CLI with it. To check if you already have Node.js and NPM installed, execute the following commands in your terminal which display their installed versions, if present: ```sh node -v ``` ```sh npm -v ``` If you don't have them installed, you can [download Node.js](https://nodejs.org/en/download/) for your platform from their official website, or use a Node version manager like NVM to install Node.js and NPM. NPM comes bundled with Node.js when you install it. Refer to the [Node.js help documentation](https://nodejs.org/en/docs/) or [NPM documentation](https://docs.npmjs.com/getting-started/installing-node) for further help. > **Note:** Catalyst CLI will only run on **Node.js v14 or later**. Ensure that you install an appropriate version. For security, we recommend Node.js 22.23.4, 24.22.1 or later. #### Programming Language Support: You can develop [server-side functions](https://docs.catalyst.zoho.com/en/serverless/help/functions/introduction/) in the following language environments in Catalyst: 1. Node.js 2. Java 3. Python Before you do so, you must ensure that you have installed all the required components of these language environments in your local system. > **Note:** You can install these programming language prerequisites only if you plan on initializing Catalyst functions from the CLI, and for the stacks you require. Because you have installed Node.js in the previous step, the components required to develop Node.js functions will already be available in your system. You can also manually install a supported runtime of Node.js and the corresponding supported SDK package to develop functions in that runtime. **Java:** To develop Java functions, install the relevant Java Development Kit (JDK) in your system for your platform. You must install: * [Version 8 of the Java Standard Edition (SE)](https://www.oracle.com/technetwork/java/javase/downloads/index.html) platform's JDK * [Version 11 of the Java Standard Edition (SE)](https://www.oracle.com/in/java/technologies/javase/jdk11-archive-downloads.html) platform's JDK * [Version 17 of the Java Standard Edition (SE)](https://www.oracle.com/java/technologies/downloads/#java17) platform's JDK Refer to the [JDK documentation](https://docs.oracle.com/en/java/) for further help. > **Note:** Catalyst currently only offers support for version **8**, **11**, and **17** of the Java SE Development Kit. If you do not have the exact version installed in your machine, we recommend that you install the exact JDK for optimum performance. **Python:** To develop Python functions, install **Python version 3.10** from their [official website](https://www.python.org/) for your platform and the Python Package Manager, Pip. The [Pip package manager](https://pip.pypa.io/en/stable/installation/#) will be auto-installed in your local system if you install Python from their official source. ### Install the CLI You must install Catalyst CLI in your system using the terminal in the administrator mode, as this command execution requires admin privileges. You can run the terminal as administrator in your Windows environment, or execute the installation command using `sudo` in a UNIX command like, such as in macOS or Linux systems. You must execute the following command in your terminal to install Catalyst CLI: ```sh npm install -g zcatalyst-cli ``` If you are installing it through the [Yarn package manager](https://yarnpkg.com/), execute the following command in your terminal: ```sh yarn add zcatalyst-cli ``` This will initiate the installation process and your terminal will display the progress.  After the installation is complete, the CLI will display these details.  You can verify if the CLI was properly installed by executing the following command: ```sh catalyst --version ``` If there were no issues with the installation, the command will return the version of the CLI installed in your system. You will now be able to access the `catalyst` command from your terminal. You can refer to the [**CLI documentation**](https://docs.catalyst.zoho.com/en/cli/v1/cli-command-reference/) from the Catalyst resources page for help with the CLI commands. ### Update Catalyst CLI to the Latest Version When a newer version of the Catalyst CLI is available, your terminal will display a message alerting you of it, after you execute a CLI command successfully.  To update your CLI, execute the following command in your terminal: ```sh npm install -g zcatalyst-cli ``` This will initiate the installation process for the latest version. > **Note:** * In some cases, your system's registry values might not reflect the latest version of Catalyst CLI. This might cause your system to retain the older version of the CLI. To avoid this, mention the version number while executing the command. For example, to update to the version 1.9.0, run **$ `npm install -g zcatalyst-cli@1.9.0`** * If you are unable to update Catalyst CLI, execute the command using `sudo`. -------------------------------------------------------------------------------- title: "Catalyst Projects" description: "The solutions you build on Catalyst are built as individual projects that you can create and work with from a remote console or using Catalyst CLI" last_updated: "2026-09-28T11:04:26.000Z" source: "https://docs.catalyst.zoho.com/en/getting-started/catalyst-projects/" service: "All Services" -------------------------------------------------------------------------------- # Catalyst Projects ### The Index Page You can begin your Catalyst application development from the Catalyst console. Sign in with your Zoho account or with your Catalyst account, if prompted to do so. You will then be redirected to this index page in the console. Access the Catalyst console based on your Zoho account's data center (DC): [EU](https://console.catalyst.zoho.eu/baas/index), [IN](https://console.catalyst.zoho.in/baas/index), [US and others](https://console.catalyst.zoho.com/baas/index).  The index page lists all Catalyst projects that you create in your Catalyst account, and enables you to create new projects. The [notifications and settings](https://docs.catalyst.zoho.com/en/getting-started/navigating-in-the-console/#header) icons in the top-right corner display the notifications and [general settings](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/introduction/) that are common to all your Catalyst projects. You can access the project-specific settings from inside a project. The index page also lists all the help resources for various services, development tools, and more. ### Introduction to Catalyst Projects Before you begin working with Catalyst by creating a project, keep in mind the following points about Catalyst projects: * Catalyst projects are not service-specific. You can access all Catalyst services and components within a project and build any solution of any scale or vertical such as web apps, microservices, enterprise solutions, and more. * You can create one application of each platform in a single Catalyst project. That is, you can create one web app, one Android app, and one iOS app in a single Catalyst project. You can create multiple functions and AppSail solutions in a project. * When you create a project, it is not platform-specific. You can download the [SDK](https://docs.catalyst.zoho.com/en/getting-started/catalyst-sdk/) for a platform and include it in your business logic and application building process later. Catalyst also supports cross-platform development within a single project. * All solutions in the same project can access the same backend data from the Catalyst services and components, such as CloudScale's Data Store and Serverless Functions. The features configured in Catalyst apply to all solutions in the same project, and you can view common analytics data. This enables users to access the same data while switching between different platform versions of the app. * If you intend to build different solutions that do not share the same data or functionalities between them, you can create individual projects for them. * When you create a new project, a unique `Project ID` will be generated for it. You can view it from the [_General Settings_](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) section. * You can build and test solutions in your project in the development environment sandbox, then deploy them to production by [deploying your project](https://docs.catalyst.zoho.com/en/deployment-and-billing/environments/deployment-types/). * You can also create a project from the Catalyst CLI by executing `catalyst init`. However, you cannot create your first ever Catalyst project from the CLI. You can only do that from the console. Refer to the [CLI documentation](https://docs.catalyst.zoho.com/en/cli/v1/cli-command-reference/) for more information. > **Note:** You can create upto 50 projects in your account. You can reach out to Catalyst to request an increase to this limit support@zohocatalyst.com. We will address each request on a case-by-case basis. ### Create a Catalyst Project Next, let's create a Catalyst project from the index page in the console: 1. Click **Create New Project**.  2. Enter the project's name in the pop-up window.  > **Note:** The project name can only contain alphanumeric characters, underscores and hyphens. Do not include white spaces or other special characters in it. 3. Click **Create**. After your project is created, click **Access Project** to open it.  This will redirect you to your project's page where you can now access Catalyst services, components, settings, and other developer tools for your project. -------------------------------------------------------------------------------- title: "Navigating in the Console" description: "The Catalyst remote console enables you to configure components and project settings, add data and code, perform testing, and deploy your projects." last_updated: "2026-11-04T10:10:44.000Z" source: "https://docs.catalyst.zoho.com/en/getting-started/navigating-in-the-console/" service: "All Services" -------------------------------------------------------------------------------- # Navigating in the Console ### Services and Components After you [create your project](https://docs.catalyst.zoho.com/en/getting-started/catalyst-projects/) and open it, you will be redirected to the project's index. You can access all the [services](https://docs.catalyst.zoho.com/en/) inside the project by navigating to them from the left menu. You can access [CodeLib](https://docs.catalyst.zoho.com/en/codelib/introduction/) at the bottom of the left pane.  You can click **Start Exploring** to access the components in each service. > **Note:** You will not be able to [deploy a service to production](https://docs.catalyst.zoho.com/en/deployment-and-billing/environments/initial-deployment/) in the project until you explore it in the console with this button. The components in each service will be grouped into various categories based on their functionalities, features, and purpose.  You can access a dashboard from the [Serverless](https://docs.catalyst.zoho.com/en/serverless/) and [CloudScale](https://docs.catalyst.zoho.com/en/cloud-scale/) services by clicking on the service name at the top.  You can also navigate to other projects from the drop-down at the top and clicking on a project.  You can return to your account's index page by clicking on the Catalyst logo at the top. ### Dashboard The Serverless and CloudScale dashboards contain certain metrics for the day of your project, and directions to [install the Catalyst CLI](https://docs.catalyst.zoho.com/en/getting-started/installing-catalyst-cli/), as well as links to various Catalyst help resources.  The _Today's Metrics_ section displays this usage information about your project: * **Sync Functions Executions:** Number of synchronous [functions](https://docs.catalyst.zoho.com/en/serverless/help/functions/introduction/) that have been executed on the current day. * **Async Functions Executions:** Number of asynchronous functions that have been executed on the current day. * **Total Component Calls:** Total number of component calls made from functions on the current day. * **Cron Executions:** Number of [cron jobs](https://docs.catalyst.zoho.com/en/cloud-scale/help/cron/introduction/) executed on the current day. ### Header Catalyst provides a [development sandbox and a production environment](https://docs.catalyst.zoho.com/en/deployment-and-billing/environments/introduction/) for your project. You can deploy your project to the production environment by clicking **Deploy to Production** from the header after you [set up your payment method](https://docs.catalyst.zoho.com/en/deployment-and-billing/billing/setting-up-payment/).  Once deployed, you can use the environment drop-down on the top to switch between the development and production environments in Catalyst and work in them.  You can also find notifications common to all your projects by clicking the **notifications** icon. You will receive notifications about various events or processes occurring in each service, after their completion or during their execution. Some examples include: [Deploying a GitHub repository](https://docs.catalyst.zoho.com/en/devops/help/github-integration/implementation/#deploying-a-github-repository-from-catalyst), [enabling the search index](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/columns/#column-characteristics) for a column in a table in the Data Store, deploying your project resources from one environment to the other, or training an AutoML model.  You can customize your Catalyst project features, account preferences, or certain component specifications from the settings. We will discuss the **settings** in the [Setting up a Catalyst Project section](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/introduction/). You can access your Zoho user information by clicking on the display picture in your account. You can also find your unique Catalyst [user ID](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/user-management/users/introduction/) here.  When you click **My Account** you will be redirected to your [Zoho accounts page](https://accounts.zoho.com/home) from where you can customize your Zoho account information. Catalyst enables you to create and be a part of [multiple organizations](https://docs.catalyst.zoho.com/en/getting-started/catalyst-organizations/) from the same account, and maintain different sets of projects in each. You can access your multi-org portal from the **Organizations** drop-down in this section. This menu also contains links to download various SDKs that you can use in your application. You can also download these SDKs for your project from the [Developer Tools settings](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/developer-tools/). -------------------------------------------------------------------------------- title: "Catalyst Organizations" description: "Create and manage multiple organizations with a single Catalyst account and maintain different sets of projects in each." last_updated: "2026-08-28T06:26:16.000Z" source: "https://docs.catalyst.zoho.com/en/getting-started/catalyst-organizations/" service: "All Services" -------------------------------------------------------------------------------- # Catalyst Organizations ### Introduction Catalyst enables you to create and be a part of multiple organizations in your account using the same email address. When you create a new organization in your account, you will be the owner of that org by default. You can create and maintain different sets of [projects](https://docs.catalyst.zoho.com/en/getting-started/catalyst-projects/#introduction-to-catalyst-projects) in each organization that you create. For example consider a freelance developer who works for multiple clients belonging to different organizations with a different set of customer base, revenue sources, and organizational hierarchy in each of them. In such cases, to manage multiple organizations would be a tedious task, requiring you to log in each time into two different accounts. Catalyst enables you to switch between your organizations with the same Catalyst account and also add [collaborators](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/collaborators) from different organizations contributing to a single project within a particular organization. #### Points to remember: * If you create an organization of your own, you will be its owner. You can add collaborators for the projects you create in it, either as admins or project members, and grant permissions for the entire org or for specific projects in it. You can perform these actions for each organization that you create individually. * If you are added to an organization by another org owner or admin, you will be a collaborator in that org, based on the collaborator type (admin or project member) you are added as. The permissions for you to create projects or perform other actions will be based on your collaborator type. * An organization will be referred to by a unique ID automatically generated for it called the **Org ID**. The org ID will be a part of the console URL used to access that org. ### Access the Multi-Org Portal You can access the multi-org work portal in your Catalyst console and manage your organizations by clicking the profile icon on the top left corner.  The organizations drop-down will display the list of organizations you are a part of. Catalyst allows you to easily switch between organizations directly from this drop-down menu. Click Manage Organizations to access the multi-org portal.  This will open a portal that displays the details of all the organizations you have access to, which include the ones you create and the ones you were added to. You can search for an organization by its name using the search bar. The portal displays details of an organization, such as its unique org ID and its console URL for easy access. The URL is in the format of: `https://console.catalyst.zoho.com/baas/{{OrgID}}/index`  ### Create a New Organization 1. You can create a new organization by clicking Create Organization.  2. Provide a name for your organization. You can also enable this organization to be the [default](https://docs.catalyst.zoho.com/en/getting-started/catalyst-organizations/#the-default-organization), if required.  3. Click Create Organization. The organization will be created and displayed in the portal with its corresponding details. You can now create projects, add collaborators, and perform other actions in this org. ### The Default Organization One of the organizations that you are a part of will be the default organization. When you sign up for a Catalyst account for the first time, Catalyst will create an organization and assign you to it, which will be the default. If you create more organizations in your account, you can enable a different org to be the default. When you make an organization the default, the following actions are observed : * Every time you log in to your Catalyst account through the console, [CLI](https://docs.catalyst.zoho.com/en/cli/v1/login/login-from-cli/), or through other sources, you will be logged in to the default organization. * Every time you execute a Catalyst API, it will be executed for a project or a resource in the default organization, unless you explicitly pass the Org ID of another organization to execute it for. You can refer [here](https://docs.catalyst.zoho.com/en/api/introduction/multi-org-support/#Multi-OrgSupport) for details. * You will not be able to delete an organization that you set as the default. ### Set an Organization as the Default You can set an organization as the default in the following way: 1. Click the ellipsis icon for the org to be set as the default from the multi-org portal, then click **Set as Default**.  2. Click **Yes, Proceed** in the confirmation pop-up.  ### Delete an Organization You can only delete the organization from Catalyst if you are its owner. You will not be able to delete an org that you were added to by another org owner. > **Note:** * If you delete an org, the organization and all the projects created in it will be deleted permanently. The deleted resources cannot be retrieved again. You must therefore ensure that you only delete an org if it is not required permanently. * If you need to delete an org that is currently the default, you will need to set another organization as the default before deleting this. 1. Click the ellipsis icon for the org to be set as the default from the multi-org portal, then click **Remove Org**.  2. Click **Yes, Proceed** in the confirmation pop-up.  -------------------------------------------------------------------------------- title: "Introduction to Catalyst SDK" description: "Catalyst SDK packages provide a host of tools and functionalities that enable you to build reliable and secure applications with Catalyst components." last_updated: "2026-11-04T10:10:44.000Z" source: "https://docs.catalyst.zoho.com/en/getting-started/catalyst-sdk/" service: "All Services" -------------------------------------------------------------------------------- # Introduction to Catalyst SDK Software Development Kit (SDK) is a set of tools and libraries that allow developers to create software applications on a specific platform that the SDK targets. The contents of an SDK package include everything that is necessary for developers to successfully build software applications for that platform. Catalyst SDK packages provide a host of tools and functionalities that enable you to build functionally-rich, reliable, robust, and secure applications, by incorporating various Catalyst services such as CloudScale, Serverless, Zia Services and their components such as Data Store, Functions, Authentication, and more in them. You can easily handle backend jobs in your application by implementing the ready-made functionalities for each service provided by the SDK package, and building on them as per your requirements. This saves you from investing time and effort into coding the backend from scratch, and helps you focus more on designing the user experience of the app. Catalyst provides SDK packages for the following languages and development environments: * [**Java SDK**](https://docs.catalyst.zoho.com/en/sdk/java/v1/overview/) * [**Node.js SDK**](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/overview/) * [**Python SDK**](https://docs.catalyst.zoho.com/en/sdk/python/v1/overview/) * [**Web SDK**](https://docs.catalyst.zoho.com/en/sdk/web/v4/overview/) * [**Android SDK**](https://docs.catalyst.zoho.com/en/sdk/android/v2/overview/) * [**iOS SDK**](https://docs.catalyst.zoho.com/en/sdk/ios/v2/overview/) * [**Flutter SDK**](https://docs.catalyst.zoho.com/en/sdk/flutter/v2/overview/) You can access the resources provided to easily understand the process of developing interactive web and mobile applications using Catalyst. The SDK documentation guides provide detailed help on setting up the environments for the specific platform, prerequisites, setup procedures, code syntaxes, and well-explained code samples for integrating each Catalyst service and component in your application’s code. You can also access the [**Catalyst API Documentation**](https://docs.catalyst.zoho.com/en/api/introduction/overview-and-prerequisites/#OverviewandPrerequisites) for detailed help on the API available for various services, components and functionalities. ## Setting up a Catalyst Project -------------------------------------------------------------------------------- title: "Introduction" description: "Catalyst settings allow you to configure features relevant to your Catalyst project and console, from adding collaborators to managing billing." last_updated: "2026-11-04T10:10:44.000Z" source: "https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/introduction/" service: "All Services" -------------------------------------------------------------------------------- # Catalyst Settings ### Introduction Catalyst settings allow you to configure, personalize, and set up features that are relevant to your Catalyst project and your console. After you [create your Catalyst project](https://docs.catalyst.zoho.com/en/getting-started/catalyst-projects/), you can configure the settings for it and access project-specific details any time. You can also easily access the required SDK packages for your application from the settings, manage billing, or perform migrations. To access settings, click on the **settings icon** on the top-right corner of your Catalyst console.  ### Settings Sections Catalyst settings are displayed under three sections.  1. **General Settings:** General settings enable you to set up features that are common to all projects of your Catalyst account. You can access General settings from the [index page](https://docs.catalyst.zoho.com/en/getting-started/catalyst-projects/) as well. 2. **Project Settings:** Project settings enable you to set up features that are specific to the current project. These can be accessed only within the project. 3. **Billing:** Billing settings enable you to manage your billing and payments for your Catalyst account. You can access Billing settings from the index page as well. We will discuss each group of Catalyst settings in this help section. -------------------------------------------------------------------------------- title: "Collaborators" description: "Catalyst settings allow you to configure features relevant to your Catalyst project and console, from adding collaborators to managing billing." last_updated: "2026-11-04T10:10:44.000Z" source: "https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/collaborators/" service: "All Services" -------------------------------------------------------------------------------- # Collaborators ### Introduction A collaborator is a co-developer who works with you on building a Catalyst application. You can add collaborators in your organization for the projects in it, and they will be able to access a specific project or all projects in the organization from the Catalyst console or the Catalyst CLI, based on the nature of their collaboration. Catalyst enables you to be a part of multiple [organizations](https://docs.catalyst.zoho.com/en/getting-started/catalyst-organizations) and create different sets of projects in each of them. You can therefore add different collaborators for each organization you create. You can also add collaborators in the orgs you did not create, with [necessary permissions](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/profiles-and-permissions). There are two types of collaborators: * **Project Member** A project member has access to the specific project that they have been added to. The access permissions to the project are based on the [profiles](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/profiles-and-permissions) that they have been assigned to. > **Note:** A project member can be added by another project member with the [necessary permission](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/profiles-and-permissions#permissions), or an admin of the Catalyst account. * **Admin of an account** An admin of a Catalyst account has access to all the projects created in the specific organizations they belong to in an account. The admin will have all the permissions of a [Project Owner profile](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/profiles-and-permissions#default-profiles) enabled for all the projects in the account, and some additional exclusive privileges. The exclusive privileges and permissions of a Catalyst account admin are specified in the following table:| Category | Permissions |
|---|---|
| Projects | Create Projects Update Projects Delete Projects |
| Profiles | Create Profiles Update Profiles Delete Profiles and Permissions |
| Collaborators | Delete Collaborators Permanently |
| Git | Manage Git Integration |
| Billing | Manage Billing |
| Permissions Group | Permissions | Description | |
|---|---|---|---|
| Manage Collaborators | Add/Update/Remove Collaborators | This provides permission to invite a project member or an admin, assign other projects to a project member, change the collaboration type for a lower level of hierarchy, or remove a project member from a project. | |
| Development Environment | Data Store Logs Signals Other Components | If Editor access to the Data Store, Signals, Logs, or Other Components is granted, the project member can configure the respective components and add data in them in the development environment of that project.
Note: Catalyst enables you to provide access to the Data Store, Signals, and Logs independently, and groups other components such as Circuits, Functions, Cron etc under "Other Components" because, the independent components can contain sensitive user data that you might require exclusive control on. This is done to adhere to all applicable data protection laws and privacy guidelines, such as GDPR and HIPAA. You will not be able to unselect the permission for "Other Components" in the development environment, because that is the minimum level of permission that can be granted to a project member. |
|
| Production Environment | Data Store Logs Signals Other Components | If Editor access to the Data Store, Logs, Signals, or Other Components is granted, the project member can configure the respective components and add data in them in the production environment of that project. Note: Similar to the development environment, Catalyst lists out the first three components independently as they can contain sensitive user data. If you select Data Store, Signals, or Logs in the production environment, "Other Components" will be selected by default. To unselect it, you will need to unselect any/all of the three independent components. |
|
| Manage Add-On Services | Enable/Disable Add-On Services | This provides the permission to enable or disable any of the Catalyst Add-On Services for that project. | |
| Manage Settings and Configurations | Perform Migrations | This provides the permission to migrate the project from development to production or production to development, and perform all migration actions. | |
| Enable/Disable Production Environment | This provides the permission to enable or disable the production environment any time after the project has been deployed to production. | ||
| Access Billing Components | If Editor access to this permission is granted, the project member can access the Billing settings (except the Overview and Manage Billing sections), create budgets, and view reports and breakdowns of that project. Viewer: If Viewer access to this permission is granted, the project member can only view reports and breakdowns of that project, but cannot create or manage budgets. Note: Only the admins of a Catalyst account can access the Overview section under the Billing settings because that section displays information from all projects of that Catalyst account. Only the admins of a Catalyst account can access the Manage Billing or Payments Portal section. This means that only admins can set up the payment method, add credit cards, and manage all payment and transaction related activities for the Catalyst account. A project member cannot perform these activities. |
||
| Add/Delete Mobile Packages | This provides the permission to add or delete Android or iOS SDK packages for the project from the Developer Tools settings in the console. | ||
| Access Audit Logs | This provides the permission to view the audit logs of all the projects in your Catalyst account. Note: If you choose to provide permission to access Audit Logs, you must provide permission to access Data Store, Signals, Logs, and Other Components prior to that. This is because, Catalyst shows the configurations and data of these components in the Audit Logs settings in the console, and therefore project members must already have permissions to those components. |
| Catalyst Serverless Functions | AppSail Services |
|---|---|
| Use Catalyst serverless functions to build backend logic for basic or elaborate HTTP operations, event-driven flows, scheduled job executions, or integrations. | Use AppSail services to build and deploy independent web services for any requirements. |
| Functions generally pack a tightly-coupled application logic that incorporate Catalyst components through language-specific SDKs. | You can implement component SDKs in your AppSail applications as well. However, you will be required to manage the implementation on your own. |
| Catalyst functions cannot work independently outside the Catalyst platform, as they implement predefined coding structures specific to Catalyst. | AppSail services are independent entities that can be engineered in any way you require, without any Catalyst-specific restrictions on the format. |
| Catalyst handles the implementation and maintenance of the dependencies that serverless functions are pre-engineered with. For example, the node modules that are included by default when you initialize a Node.js function are implemented by Catalyst. | With AppSail, you must entirely handle all the implementation and maintenance of all frameworks, libraries, plugins, dependencies, and overheads that you might use in your code for all the supported platforms. |
| With Serverless functions, you incur costs when API calls are made to invoke function endpoints. The billing model works based on the number of API calls made to access a function endpoint. | AppSail services incur costs based on the number of server instances that are actively running. In other words, you will be billed for instance uptime, and not for the number of requests made directly to access an app endpoint. |
| You will not be required to perform any infrastructure, backend, or platform management for serverless functions. | You will not be able to perform any infrastructure management. However, you can manage the platform of your app instances after you deploy it. |
| You can deploy multiple functions of any supported stack or type in a single project through Serverless functions. | You can deploy multiple apps of any supported stack or custom stack in a single project through AppSail. |
| Catalyst-Managed Runtimes | Custom Runtimes |
|---|---|
| Deploy the build files of your application directly on AppSail. In this method, you only ship your code to Catalyst, and we handle its execution on a platform built for Catalyst-managed runtimes. | Deploy a container image of your application to host it on Catalyst. You can deploy an image from your local registry, or one that is hosted on a supported container registry service. |
| The runtime is completely managed by Catalyst. This means that you need not handle the runtime executable files or the stack dependencies for your app's execution. You will still need to manage the dependencies your app's codebase includes. | You must manage all dependencies, including the runtime dependencies. You will need to install the binaries your application needs, and manage your runtime and OS dependencies by yourself. |
| You can only deploy web services that are of the natively supported runtimes of Java, Node, and Python by Catalyst. | You can deploy web services of any programming environments and runtimes, such as Go or PHP, and even the runtimes of Java, Node.js, Python that are not natively supported by Catalyst. |
| Operators | Description |
|---|---|
| == | Left is equal to right (note that 1 is not equal to ‘1’) |
| != | Left is not equal to right |
| < | Left is less than right |
| <= | Left is less than or equal to right |
| > | Left is greater than right |
| >= | Left is greater than or equal to right |
| =~ | Left matches the regular expression [?(@.name =~ /foo.*?/i)] |
| in | Left exists in right [?(@.size in [‘S’, ‘M’]) |
| nin | Left does not exist in right |
| size | Size of left (array or string) should match right |
| empty | Left (array or string) should be empty |
| Function | Description | Output |
|---|---|---|
| min() | Provides the min value of an array of numbers | Double |
| max() | Provides the max value of an array of numbers | Double |
| avg() | Provides the average value of an array of numbers | Double |
| stddev() | Provides the standard deviation value of an array of numbers | Double |
| length() | Provides the length of an array | Integer |
| sum() | Provides the sum value of an array of numbers | Double |
https://project_domain_name.environment_type.zohocatalyst.com/baas/v1/project/_project_ID_/circuit/circuit_ID/execute
This URL must be invoked with the HTTP `POST` method. The `project\_domain\_name` is the [domain name](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/environment-settings/) of your project. The `environment\_type` is `development`, if you are working in the [development environment](https://docs.catalyst.zoho.com/en/deployment-and-billing/environments/introduction/). Otherwise, the `environment\_type` is not present in the URL. -------------------------------------------------------------------------------- title: "Benefits" description: "Catalyst Circuits help you orchestrate and automate workflows and logic, and design their schematics through easy drag-and-drop." last_updated: "2023-06-07T13:01:04.000Z" source: "https://docs.catalyst.zoho.com/en/serverless/help/circuits/benefits/" service: "Serverless" -------------------------------------------------------------------------------- ### Benefits 1. **Orchestrate and Automate Tasks** Catalyst circuits are highly beneficial in automating major portions of your application logic in elaborately designed workflows. The circuit triggers each configured state automatically, passes customized data to the states based on its configuration, handles the flow of application logic at every step, performs error handling and more. Your Catalyst application therefore executes in order as you orchestrate it. You can coordinate various individual components of your microservice to work together as you need, and enable collaboration between them. 2. **Configure Complex Workflows Easily** The business requirements and workflows of a Catalyst application are translated into flow diagrams that are easy to comprehend and work on. The flow diagram of a circuit provides a quick glance over the application logic and helps you visualize it as a series of steps. It enables you to understand the circuit's flow without efforts, detect problem areas, modify its elements, arrange states or easily remove them without even writing code. Catalyst Circuits enhances your application design and evolves it as well-structured and organized. 3. **Diagnose Errors and View Detailed Logs** The error handling functionality in a circuit, combined with compilation errors feature and detailed logs, enable you to easily diagnose and debug problems in the workflow. You can define custom actions to be taken during errors in the function, batch, and circuit states. This enables Catalyst to manage errors like execution timeouts and failure, and authorization failure automatically. Catalyst also displays compilation errors in a circuit's configuration before you even execute it. The detailed logs of each execution also provide the status of each state's task execution, the payload and parameters passed, and the responses and exceptions generated. You can also refer to [Catalyst Logs](https://docs.catalyst.zoho.com/en/devops/help/logs/introduction/) for individual function logs. 4. **Write Less Code** Catalyst offloads responsibilities from Catalyst Basic I/O functions by implementing functionalities like conditional branching, delays, passing custom input, parallel execution, batch processing separately in circuits. This ensures that you build multi-step, feature-rich applications easily, by preventing you from writing extra or repeated code. You can assign repeatable actions and patterns in a circuit, orchestrate it according to your needs, and automate the execution of the circuit and all its task processes with less code. 5. **Execute Circuits from the Console** You can execute circuits from the console to test its flow and verify the generated output. This feature allows you to provide different input JSON data for different test cases, view the circuit's processing in the flow diagram, and check reports of each state's execution and response, and more. Based on the results generated, you can easily reorganize or swap states, rearrange the steps, provide different inputs, and perform tests for different conditions to achieve desired outcomes. You can then implement the circuit in your application after you finalize its workflow design. -------------------------------------------------------------------------------- title: "Use Cases" description: "Catalyst Circuits help you orchestrate and automate workflows and logic, and design their schematics through easy drag-and-drop." last_updated: "2023-06-07T13:01:04.000Z" source: "https://docs.catalyst.zoho.com/en/serverless/help/circuits/use-cases/" service: "Serverless" -------------------------------------------------------------------------------- ### Use Cases Catalyst Circuits can be used for a variety of purposes in your Catalyst application. The following are some use cases of Catalyst circuits: * A data processing application implements Catalyst circuits to execute jobs involving a large volume of input data and heavy computations, and generates a large volume of output data. It uses the batch processing feature in the circuits to perform a robust and effective execution of the Basic I/O functions. The complex workflow is also broken down into multiple circuits that are nested within each other for a better organization of the application's logic. * An application that performs routine backups, installations, and upgrades periodically uses Catalyst circuits to automate the tasks to be executed in the background. The scheduling is handled by [Catalyst Cron](https://docs.catalyst.zoho.com/en/cloud-scale/help/cron/introduction/) and cron functions, and they are coded to trigger the circuit's API. The circuit handles all the recurring tasks like data synchronization and patch management automatically. It also responds to timeouts and errors, and retries failed tasks. * An event-driven application that sends custom emails to clients, and performs tasks based on the occurrence of specific events or conditions implements Catalyst circuits. It uses the branch functionality to execute different actions based on the conditions, and processes functions in parallel to achieve multiple outcomes simultaneously. Catalyst Circuits can also be implemented in the following scenarios: * Applications that contain distributed microservices for performing independent operations requiring occasional collaboration * Tools that consolidate and refine datasets from multiple data sources and perform detailed analytics * Applications that train and generate machine learning models * DevOps and IT automation tools that perform continuous integration and continuous deployment * Automating tasks such as report generation, inventory tracking, order fulfilment and tracking, receipt generation in e-commerce applications * Automating tasks such as user management, sending custom push notifications based on specific conditions, and user-generated file management in applications -------------------------------------------------------------------------------- title: "Implementation" description: "Catalyst Circuits help you orchestrate and automate workflows and logic, and design their schematics through easy drag-and-drop." last_updated: "2026-10-29T09:21:03.000Z" source: "https://docs.catalyst.zoho.com/en/serverless/help/circuits/implementation/" service: "Serverless" -------------------------------------------------------------------------------- # Implementation The implementation section covers configuring and testing a Catalyst circuit from the console. To implement circuits in your Catalyst application, refer to the [Java SDK](https://docs.catalyst.zoho.com/en/sdk/java/v1/serverless/circuits/execute-circuit/), [Node.js SDK](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/serverless/circuits/execute-circuit/), [Python SDK](https://docs.catalyst.zoho.com/en/sdk/python/v1/serverless/circuits/execute-circuit/) and [API documentation](https://docs.catalyst.zoho.com/en/api/code-reference/serverless/circuits/execute-circuit/#ExecuteCircuit). ### Create a Circuit > **Note:** Catalyst allows you to create up to 50 circuits in a project. To create your first circuit in your project from the Catalyst console: 1. Navigate to **Circuits** under *Orchestration* in the Catalyst Serverless console and click **Create your first circuit**.  2. Enter a name for the circuit and click **Create**.  The circuit will be created and the _Builder View_ will open.  You can click the arrow mark near the circuit's name to navigate to the _Circuits_ page. A unique **Circuit ID** and a unique **Circuit Reference Name** will be created for the circuit. This is the reference name that is used when you nest a circuit using the [circuit state](https://docs.catalyst.zoho.com/en/serverless/help/circuits/key-concepts/#circuit), or when you associate a [batch state](https://docs.catalyst.zoho.com/en/serverless/help/circuits/key-concepts/#batch) to a circuit. The circuit ID is used to refer to the circuit when working with the SDKs and API.  ### Configure a Circuit Let us now configure the circuit that we created. Click the circuit's name from the Circuits page to open the _Builder View_. You can now drag and drop states from the left panel to the circuit.  When you drag and drop a state, a pop-up window will open. You can enter the details of the state, such as the state name, previous state, and next state in it. Click **Create** to create the state.  The state will be displayed in the flow diagram. You can now configure the state, provide input and output paths, remove parameters, delete states, and more.  Refer to this [Key Concepts section on states](https://docs.catalyst.zoho.com/en/serverless/help/circuits/key-concepts/#circuit-states-1) for details about the configuration and properties available for each state. You can also change the view to horizontal, auto arrange the states in the flow diagram, zoom in, or zoom out using the icons on the right side.  You can also click **Code View** to view the auto-generated JSON code of the circuit. Any changes that you make in the code or in the diagram, will be reflected in the other automatically. You can click the **refresh icon** if the live reflection is delayed.  You can access the Circuit URL by clicking **Get Invocation URL** from the bottom left corner.  Once you have configured the circuit, click **Save**. ### Circuit Compilation Errors Before you execute a circuit, Catalyst performs a compilation error check in the circuit's configuration or structure. When you click **Save** or **Save and Execute** after configuring a circuit, Catalyst will immediately run a compilation check on the circuit, and list out the errors in its state configurations, design, and logic flow. These are non-dependant and possible errors that Catalyst identifies before running the circuit with the input you provide. This will enable you to verify and perform fixes in your circuit's design and configuration even before you execute it. For example, in the circuit shown below, the parameters of two branch states have not been defined. Additionally, the states are configured in a cyclical loop without defining any conditions to end the loop. When you click **Save** or **Save and Execute** here, Catalyst will immediately display these errors as shown below.  After you initiate a circuit's execution, Catalyst will be able to detect dynamic errors related to the test condition, data flow, and other run time issues, and provide you detailed logs of each event. This will be explained in the next section. ### Execute a Circuit You can execute a circuit with different test conditions and inputs, and view the generated results. To execute a circuit: 1. Click **Save and Execute** from the bottom-right corner of the circuit's page. 2. Provide the [input for the circuit](https://docs.catalyst.zoho.com/en/serverless/help/circuits/key-concepts/#input-output-and-result) in the JSON format as key-value pairs and click **Next**.  3. Provide a name for the test case and click **Run**.  You can view the live execution of the circuit from the **View Graph** section.  Once the circuit has been executed, you can view the execution details, such as the input, output, and the duration of the execution, from the right panel. You can click **Stop Execution** to stop it at any time.  You can view the paths that were traversed in the circuit, the status of each state represented by a color code mentioned at the top, and the overall status of the circuit execution as well. The _View Graph_ is a part of the execution history of the circuit. The next section covers details about it. ### Execution History of a Circuit You can access the execution history of a circuit any time by clicking **View Execution History** on the top right corner from the circuit's page. This opens a list of all the executions of the circuit, along with their unique Execution ID and other details.  You can open a particular execution to check its execution graph, the circuit's code, and the execution's logs. Click **View Logs** to view the logs of the execution.  The logs provide details of the task execution in each state. They display the following details: * **Timeline:** Displays the date and time of a particular event in a state, along with icons to indicate the event type * **State:** Refers to the [state](https://docs.catalyst.zoho.com/en/serverless/help/circuits/key-concepts/#circuit-states-1) in which a particular event is executed * **Event:** Refers to the specific event that occurred in the state. The common events of all states include: _State Entered_, _Input Processing_, _Result Processing_, _State Exited_. Some states have additional custom events. For example, the wait state has a _State Time Waiting_ event that lasts until the wait time ends. The function state has _Function Triggered_ and _Function Executed_ events after the _Input Processing_ event. The success and failure states only have _Success State Reached_ and _Failure State Reached_ events, since they are end states. The beginning and the end of the circuit executions are marked by _State Machine Triggered_ and _State Machine Executed_ events. * **Payload:** Refers to the input JSON that is transmitted from one state to the next in the circuit. The payload of a state is its input which will be processed by it. * **Parameter:** Refers to the additional parameters that are provided by the user. Parameters can be provided in the function and batch states. * **Response:** Refers to the output generated by the state after its processing. If any values are given in the output path or the result path of the state, the output is modified accordingly. * **Exception:** Refers to any exceptions that might be generated by the state. If the state's processing fails, you can view the exception details from here. The detailed log enables you to effectively assess failures and detect bugs in each state's execution in a circuit. As mentioned earlier, the logs of the function, circuit, and batch states contain links to the function's page, [Catalyst Logs](https://docs.catalyst.zoho.com/en/devops/help/logs/introduction/), or to the nested circuit's logs for easy access. The **View Code** section displays the circuit's code, along with the execution details.  ### Rename a Circuit To rename a circuit from the Catalyst console: 1. Click the **ellipsis icon** for the circuit in the _Circuits_ page, and click **Rename**.  2. Enter a new name for the circuit and press **Enter**.  > **Note:** You will not be able to modify the [reference name](https://docs.catalyst.zoho.com/en/serverless/help/circuits/implementation/#create-a-circuit) of the circuit. You can only modify the circuit's name. ### Delete a Circuit To delete a circuit from the Catalyst console: 1. Click the **ellipsis icon** for the circuit in the _Circuits_ page, and click **Delete**.  2. Click **Yes, Proceed** in the confirmation window.  ### Functions -------------------------------------------------------------------------------- title: "Introduction" description: "Catalyst Functions are cloud-based, custom-built, serverless coding structures that contain the intense business logic of your application" last_updated: "2026-08-17T12:16:04.000Z" source: "https://docs.catalyst.zoho.com/en/serverless/help/functions/introduction/" service: "Serverless" -------------------------------------------------------------------------------- # Functions ### Introduction Functions is a Catalyst Serverless component that are custom-built coding structures which contain the intense business logic of your application. Functions allow you to store the functionality of the application in a centralized and secure place, rather than storing it within the application's main code. The application uses APIs to invoke functions from the Catalyst servers when needed. Catalyst offers support to develop server-side functions in three programming environments: 1. **Java** 2. **Node.js** 3. **Python** You can refer to [Java SDK documentation](https://docs.catalyst.zoho.com/en/sdk/java/v1/overview/), [Node.js SDK documentation](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/overview/) and [Python SDK documentation](https://docs.catalyst.zoho.com/en/sdk/python/v1/overview) to learn about these SDK packages. Catalyst Functions is one of the [ basic project components of a Catalyst application](https://docs.catalyst.zoho.com/en/cli/v1/project-directory-structure/introduction/), along with the client. You can seamlessly access Catalyst components with functions and provide the powerful backend that the application or microservice requires. You can use them to automate tasks, perform memory-intensive computations, integrate with third-party services, and more. You can create five types of server-side functions in Catalyst for different purposes. All five types of functions can be created in Java, Node.js and Python programming environments. * **Basic I/O Functions:** Simple functions used for basic input and output operations, passing a String as the I/O parameter * **Advanced I/O Functions:** Advanced HTTP functions that support Headers, and Native Request and Response objects * **Event Functions:** Event-driven functions that are invoked by specific events configured using [Catalyst Signals](https://docs.catalyst.zoho.com/en/signals/) * **Cron Functions: ** [Cron](https://docs.catalyst.zoho.com/en/cloud-scale/help/cron/introduction/) based functions that are invoked one time or periodically, based on the cron job's configured schedule * **Integration Functions:** Functions that enable you to integrate with other Zoho services and write backends for them easily > **Note:** * The main function file in Java, Node.js and Python are initialized with different default code for each function type, such as including different modules, when the function is created. Therefore, you must avoid copying code from a different function type. You must ensure that you initialize the appropriate modules for each function type. * Integration functions is currently not available to Catalyst users accessing from the EU, AU, IN, or CA data centers. Catalyst provides various components and tools to manage functions and view their performance statistics: * [**Security Rules](https://docs.catalyst.zoho.com/en/serverless/help/security-rules/introduction/):** Default security configuration of your Basic I/O and Advanced I/O functions that enables you to define their invocation and access rules * [**API Gateway](https://docs.catalyst.zoho.com/en/cloud-scale/help/api-gateway/introduction/):** Enables you to create APIs for your Basic I/O and Advanced I/O functions, and handle the routing, throttling, authentication of client requests * [**Logs](https://docs.catalyst.zoho.com/en/devops/help/logs/introduction/):** Provides logs of all function executions along with details of log levels, responses, statuses, and other information * [**Application Performance Monitoring](https://docs.catalyst.zoho.com/en/devops/help/apm/introduction/):** Provides in-depth stats and performance reports of all function executions that enable you to identify and resolve bugs * [**Circuits](https://docs.catalyst.zoho.com/en/serverless/help/circuits/introduction/):** Workflow automation tool that enables you to design and orchestrate Basic I/O function executions, and handle data flow between multiple functions You can either work with functions using the Catalyst CLI and an external IDE, or work with them directly from the Catalyst web console. This document explains the concepts related to functions and working with them from the Catalyst web console. To learn about working with them in a local environment, refer to [the next section](https://docs.catalyst.zoho.com/en/serverless/help/functions/introduction/#steps-to-work-with-functions-from-a-local-environment) for links to relevant CLI help pages. > **Note:** Catalyst Java and Python functions can only be created and coded using the Catalyst CLI and an external editor, and deployed or uploaded to the web console. You cannot code them directly in the web console as of now. ### Steps to work with Functions from a Local Environment You can create, build, and deploy a function from the local environment as described below. Refer to the links given in each step for detailed help on the CLI actions. 1. **Initialize the function from the CLI:** When you [initialize a function from the CLI](https://docs.catalyst.zoho.com/en/cli/v1/initialize-resources/initialize-functions/), the [function directory](https://docs.catalyst.zoho.com/en/cli/v1/project-directory-structure/functions-directory/) and the boilerplate code structure for each file are created based on its stack, type, and whether you chose to install the Catalyst SDK. 2. **Set up the function in your project directory any time:** You can choose to [set up the function](https://docs.catalyst.zoho.com/en/cli/v1/working-with-functions/set-up-functions/) any time after you initialize the project from the CLI. 3. **Code the function using an external editor:**If you initialize the function from the CLI, you can code it using an external editor. You can also [upload a function's bundle to the Catalyst console](https://docs.catalyst.zoho.com/en/serverless/help/functions/implementation/#create-a-function) any time and code it using Catalyst's editor. 4. **Test the function in the CLI:** You can test and debug functions of all types, except Advanced I/O functions, by [launching a Node shell](https://docs.catalyst.zoho.com/en/cli/v1/working-with-functions/functions-shell/) for it from the CLI. 5. **Serve the function from a local host:** Besides launching a Node shell, you can also [serve a Basic I/O or an Advanced I/O function](https://docs.catalyst.zoho.com/en/cli/v1/serve-resources/introduction/) from a local host, and test its execution. > **Note:** You will not be able to serve functions of the other types, as they are invoked internally. 6. **Deploy the function to the Catalyst console:** You can then [deploy the function](https://docs.catalyst.zoho.com/en/cli/v1/deploy-resources/introduction/) from your local machine to the Catalyst remote console from the CLI. 7. **Delete the function from the CLI:** You can also [delete the function remotely from the CLI](https://docs.catalyst.zoho.com/en/cli/v1/working-with-functions/delete-functions/). This will delete it from the console as well. > **Note:** * You can also work on a Catalyst function independently without initializing it in the Catalyst CLI, and upload it to the Catalyst remote console directly. In this case, you must ensure that you create the required configuration files in the function's directory manually, and include the necessary code in them in the standard structure. You can refer to the [Project Directory Structure help page](https://docs.catalyst.zoho.com/en/cli/v1/project-directory-structure/introduction/) for details. * You can also deploy functions to the Catalyst remote console from your GitHub repository directly. To learn more, refer to the [GitHub Integration help page](https://docs.catalyst.zoho.com/en/devops/help/github-integration/introduction/). Check out [Catalyst tutorials](https://docs.catalyst.zoho.com/en/tutorials/) to practice working with Functions. -------------------------------------------------------------------------------- title: "Functions Stack" description: "Catalyst Functions are cloud-based, custom-built, serverless coding structures that contain the intense business logic of your application" last_updated: "2026-10-23T10:20:21.000Z" source: "https://docs.catalyst.zoho.com/en/serverless/help/functions/stack/" service: "Serverless" -------------------------------------------------------------------------------- # Functions Stack As mentioned earlier, Catalyst supports three programming environments to develop the server-side functions in: Java,Node.js and Python. ### Java Functions Catalyst provides a rich Java SDK containing classes and methods that includes the definitions of each Catalyst component. Catalyst supports the following versions of [Java](https://docs.catalyst.zoho.com/en/sdk/java/v1/overview/): * **Java 25** * **Java 21** * **Java 17** * **Java 11** * **Java 8** When you initialize a Java function in the CLI, the Java SDK will be downloaded and installed in your local system. You can learn more about Java classes and writing a Java function in detail from the [Java SDK documentation](https://docs.catalyst.zoho.com/en/sdk/java/v1/overview/). You can also manually [download the Java SDK bundle](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/developer-tools/) from the Catalyst console and add it in your function's directory. A Java function's directory is set up with three basic components by default, when you initialize the function: 1. The main `.java` function file 2. The `catalyst-config.json` configuration file 3. The JAR library files in a folder named `lib` You can learn about these in detail from the [**Project Directory Structure help page**](https://docs.catalyst.zoho.com/en/cli/v1/project-directory-structure/functions-directory/). ### Node.js Functions Catalyst provides an efficient Node.js SDK package containing methods and other necessary elements that define the behavior of the Catalyst components in the Node.js environment. Catalyst supports the following versions of [Node.js](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/overview/): * **Node.js 24** * **Node.js 22** * **Node.js 20** (Deprecated) * **Node.js 18** (Retirement period; support ends December 11, 2026) The SDK package is installed as a part of the node modules folder, which also contains several Node packages with individual library files, license files, and configuration files, that are essential for the execution of your Node.js functions. You can learn more about the Node.js SDK package and writing a Node.js function from the [Node.js SDK documentation](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/overview/). When you initialize a Node.js function from the CLI, or create it from the console, you can choose to include the Node module dependencies. If you create the function without the dependencies, the function's directory will contain: 1. The main `.js` function file 2. The `catalyst-config.json` configuration file 3. `[package.json](https://docs.npmjs.com/files/package.json)` If you create the function with dependencies, the function's directory will contain: 1. The main `.js` function file 2. The `catalyst-config.json` configuration file 3. `[package.json](https://docs.npmjs.com/files/package.json)` 4. Node modules 5. `[package-lock.json](https://docs.npmjs.com/configuring-npm/package-lock-json.html)` You can learn about these in detail from the [Project Directory Structure help page](https://docs.catalyst.zoho.com/en/cli/v1/project-directory-structure/functions-directory/). You can also manually install the latest Node.js SDK package any time by executing this CLI command: ```sh npm install zcatalyst-sdk-node ``` You can also install a specific supported version in this way: ```sh npm install zcatalyst-sdk-node@2.1.1 ``` ### Python Functions Catalyst provides an efficient [Python SDK package](https://docs.catalyst.zoho.com/en/sdk/python/v1/overview) containing modules and classes that define the behaviour of the Catalyst components in the Python environment. Catalyst supports the following versions of [Python](https://docs.catalyst.zoho.com/en/sdk/python/v1/overview): * **Python 3.13** * **Python 3.12** * **Python 3.11** * **Python 3.10** On initialization of a Python function, the Python SDK package is automatically installed in the functions directory of your Catalyst project. When the package is installed, an entry is made in the [`requirements.txt`](https://docs.catalyst.zoho.com/en/cli/v1/project-directory-structure/functions-directory/#requirementstxt-file) file present within the functions directory. This file also contains the list of other installed dependencies that are mandatory for the execution of certain Python modules and classes. You can learn more about the Python SDK package and writing a Python function in detail from the [Python SDK documentation](https://docs.catalyst.zoho.com/en/sdk/python/v1/overview). The function's directory will contain the following files : 1. The `main.js` function file 2. The `catalyst-config.json` configuration file 3. `[requirements.txt](https://docs.catalyst.zoho.com/en/cli/v1/project-directory-structure/functions-directory/#requirementstxt-file)` You can learn about these in detail from the [Project Directory Structure](https://docs.catalyst.zoho.com/en/cli/v1/project-directory-structure/functions-directory/#python-modules-and-function-dependencies) help page. You can also manually install the Python SDK package any time by executing this CLI command : ```python pip install zcatalyst-sdk ``` -------------------------------------------------------------------------------- title: "Basic I/O Functions" description: "Catalyst Functions are cloud-based, custom-built, serverless coding structures that contain the intense business logic of your application" last_updated: "2026-08-17T12:16:04.000Z" source: "https://docs.catalyst.zoho.com/en/serverless/help/functions/basic-io/" service: "Serverless" -------------------------------------------------------------------------------- # Basic I/O Functions ### Introduction Basic I/O functions are used to perform basic input and output operations, computations, and simple HTTP operations between the various Catalyst components. Basic I/O functions process inputs and outputs in the JSON format. The endpoint of a Basic I/O function is directly accessible through its [Function URL](https://docs.catalyst.zoho.com/en/serverless/help/functions/basic-io/#function-url). The function URL is generated when the function is created, and it enables you to directly access the function and test it in different conditions. You can [create a Basic I/O function from the Catalyst console](https://docs.catalyst.zoho.com/en/serverless/help/functions/implementation/#create-a-function), code and test it there, or [use the CLI to initialize the function](https://docs.catalyst.zoho.com/en/serverless/help/functions/introduction/#steps-to-work-with-functions-from-a-local-environment) and deploy it to the console after testing it. The CLI also enables you to test Basic I/O functions through a Node shell or by serving the function through a localhost. You can use various tools to manage your Basic I/O functions and view their performance statistics such as Logs, Application Performance Monitoring, or API Gateway, as mentioned in the [Functions introduction page](https://docs.catalyst.zoho.com/en/serverless/help/functions/introduction/). You can refer to [this tutorial to practice working with Basic I/O functions.](https://docs.catalyst.zoho.com/en/tutorials/microservice/java/introduction/) ### Function Structure The main function file of Java, Node.js and Python are initialized with different default code and modules for each function type, when the function is created. As mentioned in the [Function Stack section](https://docs.catalyst.zoho.com/en/serverless/help/functions/stack/), the function structure of a Java, Node.js or Python function generally contains a main function file along with dependencies and configuration files. While creating the Basic I/O function in the Node.js environment, you can choose to create it with or without the Catalyst Node.js SDK. If you include it without the SDK, the Node modules and other Node dependency files will not be added. Refer to the [Project Directory Structure help page](https://docs.catalyst.zoho.com/en/cli/v1/project-directory-structure/functions-directory/) for details about the generic function directory structure and the configuration files of Catalyst functions. Before we discuss the modules that a Java, Node.js or Python main function contains, let's take a look at the default code the function is initialized with. Catalyst initializes a **Basic I/O Java function** with the following default code of a simple input and output operation.  A **Basic I/O Node.js function** also includes a default code containing a simple input and output operation.  A **Basic I/O Python function** includes the following default code containing a simple input and output operation. ```javascript def handler(context, basicio): basicio.write('Hello from {{_MAIN_}}') basicio.get_argument('name') context.log('Successfully executed basicio function') context.close() ``` ### Java, Node.js and Python Modules A Catalyst Basic I/O function contains two modules in the **Node.js** and **Python** platforms: `context` and `basicIO`. The `context` module in Node.js and Python includes the following built-in methods: 1. `context.close()`: To indicate the end of the function. You must use this at the end of the function. 2. `**log(*args)**`: This method is used to print the set of arguments passed in the function. To fetch the remaining execution time and maximum execution time of the event function, the `context` module includes the following methods : **Node.js:** 1. `context.getRemainingExecutionTimeMs()`: This can be used to fetch the remaining execution time of a function. 2. `context.getMaxExecutionTimeMs()`: This method can be used to get the maximum execution time of a function, which is a constant value of **30 seconds**. > **Note:** In Python, we have the methods `context.get_remaining_execution_time_ms()` and `context.get_max_execution_time_ms()` for the above mentioned functionalities respectively. The `basicIO` module in Node.js and Python includes the following built-in methods: 1. `basicIO.write()`: To print the output. You can only obtain a String output. You can use this method in only one place in the function. The maximum memory supported for the output is 1MB. 2. `basicIO.setStatus()`: Optional method to set an error status code. The default status codes are: status 200 for successful executions which returns the key output, status 500 for unsuccessful executions which is pushed to the error object and returns a JSON response. You can also set a custom status code. 3. `basicIO.getArgument()`: To get the individual parameters of the function. You can pass them as a query string in the URL or in a JSON body. If you pass them in both ways, the query string is considered as the priority. A Basic I/O function in Java contains the same modules and built-in methods as Node.js and Python. Some additional methods supported in **Java** are: 1. `context.getOrigin()`: To get the function type 2. `basicIO.getAllArguments()`: To get all the parameters of the function ### Function URL As mentioned earlier, a Basic I/O function endpoint is directly accessible through a unique invocation URL. You can manually invoke it through its URL, pass input if required, and obtain the response. You can implement this URL in your application's code, or use it as you require. This function URL is generated automatically when the function is created. A Basic I/O function's production URL is in the following format: **https://project_domain_name.catalystserverless.com/server/function_name/execute** In the [Development environment](https://docs.catalyst.zoho.com/en/deployment-and-billing/environments/introduction/), the URL mentions the key `development` as: **https://_project\_domain\_name_.development.catalystserverless.com/server/_function\_name_/execute** * _https://project\_domain\_name.catalystserverless.com_ is the [App Domain](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/environment-settings/) of your Catalyst application. * _/server_ indicates that it is a function. * The URL identifies the function by its name. * _/execute_ indicates that it is a Basic I/O function. You can obtain the URL of a function [from the console](https://docs.catalyst.zoho.com/en/serverless/help/functions/implementation/#code-editor), or [in your terminal](https://docs.catalyst.zoho.com/en/cli/v1/deploy-resources/introduction/) after you deploy the function from the Catalyst CLI. As Catalyst allows you to test Basic I/O functions from the console, you can directly add the keys and values for the parameters in the function and test it there. Refer to the [Working with Functions from the Console section](https://docs.catalyst.zoho.com/en/serverless/help/functions/implementation/#code-editor) for details. You can also invoke the Function URL through a browser and pass the parameters as a query string in the URL. For example, in a simple function that obtains a name and displays it, we pass the value for the parameter called _name_ as a query string and invoke the URL.  The output of the function is then displayed in the browser window. ### Push to Logs [Catalyst Logs](https://docs.catalyst.zoho.com/en/devops/help/logs/introduction/) display the logs of all your function executions along with necessary details. The function executions are automatically recorded in logs. However, you can also push the response data of a Basic I/O function's execution to the logs manually. Catalyst enables you to write upto 1500 characters to the logs. You can also push the responses to different log levels individually, such as to _Info_ or _Warning_. The response data of a Basic I/O function can be pushed to the logs using the following method: `context.log()`. You can see this statement in the default code that a Basic I/O function is initialized with, where the input received from the user is pushed to the logs and the logger level is also set manually. -------------------------------------------------------------------------------- title: "Advanced I/O Functions" description: "Catalyst Functions are cloud-based, custom-built, serverless coding structures that contain the intense business logic of your application" last_updated: "2026-08-17T12:16:04.000Z" source: "https://docs.catalyst.zoho.com/en/serverless/help/functions/advanced-io/" service: "Serverless" -------------------------------------------------------------------------------- # Advanced I/O Functions ### Introduction Advanced I/O functions handle native HTTP requests and responses for all your Catalyst components. You can use any number of APIs in a single Advanced I/O function, and pass large data streams in the function. These functions enable you to build complex routing mechanisms for your application between the server and the client. You can construct and maintain server-side tools quickly and efficiently using these functions. Advanced I/O functions also offer flexibility to perform a variety of actions and solve different use cases. For instance, you can stream or parse large volumes of data like image files or other attachments, render a view, embed files, or download a file using Advanced I/O functions. The Basic I/O function type is not suitable for routing or channelling data, since it executes only basic input and output operations and passes data through parameters. Therefore, you can use Advanced I/O functions for such purposes. You can also obtain any form of response, such as a JSON or a HTML response for an Advanced I/O function. Catalyst also offers support for the [Express Node.js framework](https://expressjs.com/) in Advanced I/O functions. Express is a popular Node.js framework that enables you to manage routing, rendering, and setting up middleware to handle HTTP functionalities robustly and easily. You can choose to import this framework in your functions, and access its packages. The endpoint of an Advanced I/O function is directly accessible through its [Function URL](https://docs.catalyst.zoho.com/en/serverless/help/functions/advanced-io/#function-url). The function URL is generated when the function is created, and it enables you to directly access the function and test it in different conditions. You can [create an Advanced I/O function from the Catalyst console](https://docs.catalyst.zoho.com/en/serverless/help/functions/implementation/#create-a-function), code it there, or [use the CLI](https://docs.catalyst.zoho.com/en/serverless/help/functions/introduction/#steps-to-work-with-functions-from-a-local-environment) to initialize the function and deploy it to the console after testing it. The CLI also enables you to test Advanced I/O functions by serving the function through a localhost. You can use various tools to manage your Advanced I/O functions and view their performance statistics such as Logs, Application Performance Monitoring, or API Gateway, as mentioned in the [Functions Introduction page](https://docs.catalyst.zoho.com/en/serverless/help/functions/introduction/). You can find several Catalyst tutorials that include Advanced I/O functions in their code. Refer to the [Tutorials section](https://docs.catalyst.zoho.com/en/tutorials/) to practice working with Advanced I/O functions. > **Note:** The maximum timeout of an Advanced I/O function is 30 seconds. ### Use Cases Some use cases for Advanced I/O functions are given below: * A local search application service that provides information about services and businesses in a particular region uses an Advanced I/O function to handle routing in its web and mobile application. When the end user executes a search query for information about services in their locality, such as restaurants or spas, the application fetches information about the available services along with their website links from the Data Store or Cache. When the user clicks on a link, they are redirected to the business's website. These data retrieving and redirection functionalities are entirely handled by Advanced I/O functions using the HTTP request and response methods. * An application hosts video files like movies, TV shows, and documentaries and allows the end users to download them to their devices. The application is written using the Express Node.js framework and it uses an Advanced I/O function to implement these functionalities. The function handles tasks such as executing search operations in the application, obtaining results from the Data Store, and prompting file downloads within seconds. Some other examples where Advanced I/O functions can be implemented include the following types of applications: * Real-time collaborative document editing, project management, or co-browsing applications * Live media streaming applications * Data-driven applications * Single-page applications * Independent microservices * Audio or video conferencing applications * Dynamic event-driven applications * Online chat applications ### Benefits * Enables you to build real-time applications and microservices that are functionally rich and dynamic in nature * Provides you an integrated space to handle routing for the entire application by including any number of APIs in a single function * Can build the request and response logic between the server and the client for all Catalyst components and perform complex routing * Enables you to implement any functionality of the Express framework when you include the package in your function ### Function Structure The main function file of Java, Node.js and Python are initialized with different default code and modules for each function type, when the function is created. As mentioned in the [Function Stack section](https://docs.catalyst.zoho.com/en/serverless/help/functions/stack/), the function structure of a Java,Node.js or Python function generally contains a main function file along with dependencies and configuration files. Refer to the [Project Directory Structure help page](https://docs.catalyst.zoho.com/en/cli/v1/project-directory-structure/functions-directory/) for details about the generic function directory structure and the configuration files of Catalyst functions. Let's take a look at the default code an Advanced I/O function is initialized with, in both Java, Node.js or Python environments. > **Note:** You can [refer to this tutorial](https://docs.catalyst.zoho.com/en/tutorials/alien-city/java/configure-advio-function/) for a sample Advanced I/O function in Java, Node.js and Python environments. #### Java Catalyst initializes an Advanced I/O function in the Java environment with the following default code of a simple input and output operation.  An Advanced I/O Java function imports the `javax.servlet` package to handle the requests and responses. It implements `CatalystAdvancedIOHandler` for the main class. The route definitions must be defined in the `public void runner()` function. #### Node.js An Advanced I/O function in Node.js can be created in two different templates from the console: The Express.js template which includes all the Express modules or a blank template which includes neither Express modules or Node modules. However, when you initialize the function from the CLI, you can only include the Node modules in its structure. You must install the Express modules separately. 1. **The Express.js template** The Express modules are added automatically when you create an Advanced I/O function in Node.js with the dependencies from the Catalyst console. This installs the Express framework in your function's directory. When you initialize an Advanced I/O function from the CLI, you can install Express independently by executing `[npm install express --save](https://expressjs.com/en/starter/installing.html)` in your function's directory. Catalyst Advanced I/O functions support the default request and response objects of Node.js HTTP functions, `req` and `res`. These objects handle the request and responses for the routes mapped to Catalyst components such as the Cache or the Data Store.  The route here is defined in the format: `app.METHOD(PATH, HANDLER)` and the actions are coded in the route definitions. 2. **The blank template** The blank template allows you to build native Node.js code from scratch to suit your requirements. This template does not include the Express.js modules. When you initialize the function without the SDK in the console, it is created in the blank template without the Node modules or the Express modules. The sample code for the blank template also includes the req and res objects, and defines different responses for each URL path.  Since this is a blank template, you will have to create a HTTP server using the `createServer()` method and pass it to a `requestListener()` function that is executed each time the server receives a request. You can learn about writing a native HTTP function in Node.js from their [official documentation](https://nodejs.org/api/http.html). #### Python When you initialize an [Advanced I/O](https://docs.catalyst.zoho.com/en/serverless/help/functions/advanced-io) function from the CLI, the boilerplate code given below will automatically be included in the main.py file present within the Python function's directory. To handle the input and output operations of the Catalyst Advanced I/O functions efficiently, we have used the [flask](https://pypi.org/project/Flask) framework. This framework provides the tools and libraries that can be used to build robust Python applications with maximum flexibility for the developer. It also boosts the functional efficiency of the application by enabling it to be executed using a single Python file. Catalyst Advanced I/O functions support the request and response objects of the Python HTTP function. These objects handle the request and responses for the routes mapped to Catalyst components such as the Cache or the Data Store. ```javascript import json import zcatalyst-sdk import logging from flask import Request, make_response, jsonify def handler(request: Request): app = zcatalyst-sdk.initialize() logger = logging.getLogger() if request.path == "/": response = make_response(jsonify({ 'status': 'success', 'message': 'Hello from {{_MAIN_}}' }), 200) return response elif request.path == "/cache": default_segment = app.cache().segment() insert_resp = default_segment.put('Name', 'DefaultName') logger.info('Inserted cache : ' + str(insert_resp)) get_resp = default_segment.get('Name') return jsonify(get_resp), 200 else: response = make_response('Unknown path') response.status_code = 400 return response ``` ### Function URL As mentioned earlier, an Advanced I/O function's endpoint is directly accessible through a unique invocation URL. You can manually invoke it through its URL and obtain the response. You can implement this URL in your application's code, or use it as you require. This function URL is generated automatically when the function is created. An Advanced I/O function's production URL is in the following format: **https://_project\_domain\_name_.catalystserverless.com/server/_function\_name_/** In the [Development environment](https://docs.catalyst.zoho.com/en/deployment-and-billing/environments/introduction/), the URL mentions the key `development` as: https://*project_domain_name*.development.catalystserverless.com/server/*function_name*/ * _https://project\_domain\_name.catalystserverless.com_ is the [App Domain](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/environment-settings/) of your Catalyst application. * _/server_ indicates that it is a function. * The URL identifies the function by its name. * The absence of the _/execute_ keyword indicates that it is an Advanced I/O function. You can obtain the URL of a function [from the console](https://docs.catalyst.zoho.com/en/serverless/help/functions/implementation/#code-editor), or [in your terminal](https://docs.catalyst.zoho.com/en/cli/v1/deploy-resources/introduction/) after you deploy the function from the Catalyst CLI. You can append routes that you have defined in the Advanced I/O function's code after this base URL to execute the behavior that you have defined for them. For example, the following route definition fetches all data from the Data Store when the route `/item/all` is accessed through the GET method:  When you append the route to the base URL as: _https://catly-687259092.development.catalystserverless.com/server/catly/item/all_ and invoke it, the Advanced I/O function will fetch all items from the Data Store.  ### Push to Logs [Catalyst Logs](https://docs.catalyst.zoho.com/en/devops/help/logs/introduction/) display the logs of all your function executions along with necessary details. The function executions are automatically recorded in logs. However, you can also push the response data of an Advanced I/O function's execution to the logs manually. Catalyst enables you to write upto 1500 characters to the logs. You can also push the responses to different log levels individually, such as to _Info_ or _Warning_. The response data of an Advanced I/O function can be pushed to the logs using the following method: `console.log()`. You can see this statement in the default code that an Advanced I/O function is initialized with, where data is pushed to the logs and the logger level is also set manually. -------------------------------------------------------------------------------- title: "Event Functions" description: "Catalyst Functions are cloud-based, custom-built, serverless coding structures that contain the intense business logic of your application" last_updated: "2026-08-17T12:16:04.000Z" source: "https://docs.catalyst.zoho.com/en/serverless/help/functions/event-functions/" service: "Serverless" -------------------------------------------------------------------------------- # Event Functions ### Introduction An Event function is an asynchronous task function that is triggered by [Catalyst Signals](https://docs.catalyst.zoho.com/en/signals/). An Event function is created to execute a task or a set of tasks on the occurrence of a specified event. Catalyst Publishers in Signals listen for events occurring in Catalyst components or Custom Publisher URLs. When these events occur, the event function associated with the Signals rule is automatically invoked and executed. You cannot invoke a Event function manually, or test it in the console. However, you can use the `[functions:shell](https://docs.catalyst.zoho.com/en/cli/v1/working-with-functions/functions-shell/#functions-shell-command-execution)` command to test it in the CLI. You can also generate sample input payload for an event function using the `[event:generate](https://docs.catalyst.zoho.com/en/cli/v1/event-generate/introduction/)` command in the CLI to test it. The endpoint of an Event function is not accessible through a Function URL like Basic I/O or Advanced I/O functions are. An Event function does not return any response other than determining if the function execution was a success or failure. You can [create an Event function from the Catalyst console](https://docs.catalyst.zoho.com/en/serverless/help/functions/implementation/#create-a-function), and code it there, or [use the CLI](https://docs.catalyst.zoho.com/en/serverless/help/functions/introduction/#steps-to-work-with-functions-from-a-local-environment) to initialize the function and deploy it to the console. You can use various tools to manage your Event functions and view their performance statistics such as Logs or Application Performance Monitoring, as mentioned in the [Functions Introduction page](https://docs.catalyst.zoho.com/en/serverless/help/functions/introduction/). You can practice working with Event functions with the [Event Function tutorial](https://docs.catalyst.zoho.com/en/tutorials/event-app/nodejs/introduction/) or the [WorkDrive Sync App tutorial](https://docs.catalyst.zoho.com/en/tutorials/workdrivesync/java/introduction/). ### Event Function Modules #### Java A Catalyst Event Function supports two modules in **Java**: `context` and `event`. The `context` module contains the following built-in methods: 1. `**context.getRemainingExecutionTimeMs()`**: This can be used to fetch the remaining execution time of a function. 2. `**context.getMaxExecutionTimeMs()`**: This method can be used to get the maximum execution time of a function, which is a constant value of **15 minutes**. The `event` module contains the following built-in methods: 1. `**event.getAction()`**: To get the action executed in the Catalyst components that triggered the event via Catalyst Signals, such as data insertion in a table or a user sign-up. 2. `**event.getSourceEntityId()`**: This can be used to get the ID of the source entity where the event occurred, such as the Table ID or a cache’s Segment ID. 3. `**event.getProjectDetails()`**: To get the project details, such as the project ID and project name. 4. `**event.getData()`**: To get the data about the event associated with the event function. 5. `**event.getTime()`**: To get the time of the event occurrence that invoked the event function. 6. `**event.getSource()`**: To get the name of the source that triggered the event, such as the Data Store, Cache, Authentication, Stratus, Github and web client. 7. `**event.getEventBusDetails()`**: To get the details of the event bus such as the configured event actions and rules. When you execute a java function, it returns the status of the execution as either `SUCCESS` or `FAILURE` at the end of its execution. The returned status is of type `com.catalyst.event.EVENT_STATUS`. #### Node.js A Catalyst Event Function supports two modules in **Node.js**: `context` and `event`. The `context` module contains the following built-in methods: 1. `**context.closeWithSuccess()`**: To indicate that the function executed successfully. You must use this at the end of the function. 2. `**context.closeWithFailure()`**: To indicate that the function’s execution was a failure. You must use this at the end of the function. 3. `**context.getRemainingExecutionTimeMs()`**: This can be used to fetch the remaining execution time of a function. 4. `**context.getMaxExecutionTimeMs()`**: This method can be used to get the maximum execution time of a function, which is a constant value of 15 minutes. The `event` module contains the following built-in methods: 1. `**event.getProjectDetails() `**: To get the project details, such as the project ID and project name 2. `**event.getData()`**: To get the data about the event associated with the function 3. `**event.getTime()`**: To get the time of the event occurrence that invoked the function 4. `**event.getSource()`**: This method is used to get the name of the source that triggered the event, such as the DataStore, Cache, Authentication, Stratus, Github and webclient. 5. `**event.getEventBusDetails()`**: To get the details of the event bus such as the configured event actions and rules. 6. `**event.getAction()`**: To get the action executed in the Catalyst components that triggered the event via Catalyst Signals, such as data insertion in a table or a user sign-up 7. `**event.getSourceEntityId()`**: To get the ID of the source entity where the event occurred, such as the Table ID or a cache’s Segment ID #### Python A Catalyst Event Function supports two modules in **Python** as well: `context` and `event`. The `context` module contains the following built-in methods: 1. `**context.close_with_success()`**: To indicate that the function executed successfully. You must use this at the end of the function. 2. `**context.close_with_failure()`**: To indicate that the function’s execution was a failure and you must use this at the end of the function. 3. `**context.get_remaining_execution_time_ms()`**: This can be used to fetch the remaining execution time of a function. 4. `**context.get_max_execution_time_ms()`**: This method can be used to get the maximum execution time of a function, which is a constant value of 15 minutes. The `event` module contains the following built-in methods: 1. `**event.get_event_bus_details()`**: To get the details of the event bus such as the configured event actions and rules. 2. `**event.get_project_details()`**: To get the project details, such as the project ID and project name. 3. `**event.get_data()`**: To get the data about the event associated with the event function. 4. `**event.get_time()`**: To get the time of the event occurrence that invoked the function. 5. `**event.get_source()`**: To get the name of the source that triggered the event, such as the DataStore, Cache, Authentication, Stratus, Github and webclient. 6. `**event.get_action()`**: To get the action executed in the Catalyst components that triggered the event via Catalyst Signals, such as data insertion in a table or a user sign-up. 7. `**event.get_source_entity_id()`**: To get the ID of the source entity where the event occurred, such as the Table ID or a cache’s Segment ID. -------------------------------------------------------------------------------- title: "Cron Functions" description: "Catalyst Functions are cloud-based, custom-built, serverless coding structures that contain the intense business logic of your application" last_updated: "2023-10-12T13:53:27.000Z" source: "https://docs.catalyst.zoho.com/en/serverless/help/functions/cron-functions/" service: "Serverless" -------------------------------------------------------------------------------- # Cron Functions ### Introduction A Cron function is a periodic function that is associated with a [Cron](https://docs.catalyst.zoho.com/en/cloud-scale/help/cron/introduction/). You can create a Cron function to execute a job that needs to be invoked one time or periodically. When you configure a cron in Catalyst, you can associate it with executing a function or invoking a third-party URL. When the cron is associated with a function, the cron job invokes the function automatically based on its schedule. If it is a one-time job, the cron invokes the function on the specified date and time. If it is periodic, the cron invokes the function at the configured intervals, such as every month on a specific date and time, or everyday on a specific time. You cannot invoke a Cron function manually, or test it in the console. However, you can use the `[functions:shell command](https://docs.catalyst.zoho.com/en/cli/v1/working-with-functions/functions-shell/#functions-shell-command-execution)` to test it in the CLI. A Cron function does not return any response other than determining if the function execution was a success or failure. ### Cron Function Modules #### Java A Catalyst Cron Function supports two modules in **Java**: `CronRequest` and `Context`. The `CronRequest` module contains the following built-in methods: 1. `**CronRequest.getCronParam()`**: This method is used to get the value of the particular parameter passed to the function. 2. `**CronRequest.getAllCronParams()`**: This method is used to get all the parameters passed to the function. 3. `**CronRequest.getRemainingExecutionCount()`**: This method is used to get the details about the remaining execution instances of a cron job. 4. `**CronRequest.getCronDetails()`**: This method is used to get the cron’s details such as the Cron ID and the cron name. 5. `**CronRequest.getProjectDetails()`**: Used to get the project details, such as the project ID and project name. The `Context` module contains the following built-in methods: 1. `**Context.getMaxExecutionTimeMs()`**: This method can be used to get the maximum execution time of a cron function, which is a constant value of **15 minutes**. 2. `**Context.getRemainingExecutionTimeMs()`**: This can be used to fetch the remaining execution time of a cron function. When you execute a Java function, it returns the status of the execution as either `SUCCESS` or `FAILURE` at the end of its execution. The returned status is of type `com.catalyst.cron.CRON_STATUS`. #### Node.js The Catalyst Cron Function supports two modules in **Node.js**: `cronDetails` and `context`. The `cronDetails` module contains the following built-in methods: 1. `**cronDetails.getCronParam()`**: This method is used to get the value of the particular parameter passed to the function. 2. `**cronDetails.getAllCronParam()`**: This method is used to get all the parameters passed to the function. 3. `**cronDetails.getRemainingExecutionCount()`**: To get the details about the remaining execution instances of the cron job. 4. `**cronDetails.getCronDetails()`**: To get the cron’s details such as the Cron ID and the cron name. 5. `**cronDetails.getProjectDetails()`**: To get the project details, such as the project ID and project name. The `context` module contains the following built-in methods: 1. `**context.getMaxExecutionTimeMs()`**: This method can be used to get the maximum execution time of a function, which is a constant value of 15 minutes. 2. `**context.getRemainingExecutionTimeMs()`**: This can be used to fetch the remaining execution time of a function. 3. `**context.closeWithSuccess()`**: This method is used to indicate that the function executed successfully. You must use this at the end of the function. 4. `**context.closeWithFailure()`**: This method is used to indicate that the function’s execution was a failure. You must use this at the end of the function. #### Python A Catalyst Cron Function supports two modules in **Python** as well: `cron_details` and `context`. The `cron_details` module contains the following built-in methods: 1. `**cron_details.get_cron_param()`** - This method is used to get the value of the particular parameter passed to the function. 2. `**cron_details.get_all_cron_params()`** - This method is used to get all the parameters passed to the function. 3. `**cron_details.get_remaining_execution_count()`** - To get the details about the remaining execution instances of the cron job. 4. `**cron_details.get_cron_details()`** - To get the cron’s details such as the Cron ID and the cron name. 5. `**cron_details.get_project_details()`** - To get the project details, such as the project ID and project name. The `context` module contains the following built-in methods: 1. `**context.get_max_execution_time_ms()`** - This method can be used to get the maximum execution time of a function. And the maximum execution time of a function is configured to be 15 mins. 2. `**context.get_remaining_execution_time_ms()`** - This can be used to fetch the remaining execution time of a function. 3. `**context.close_with_success()`** - This can be used to indicate that the function executed successfully. You must use this at the end of the function. 4. `**context.close_with_failure()`** - To indicate that the function’s execution was a failure. You must use this at the end of the function. -------------------------------------------------------------------------------- title: "Browser Logic Functions" description: "Catalyst Functions are cloud-based, custom-built, serverless coding structures that contain the intense business logic of your application" last_updated: "2026-08-17T12:16:04.000Z" source: "https://docs.catalyst.zoho.com/en/serverless/help/functions/browser-logic/" service: "Serverless" -------------------------------------------------------------------------------- # Browser Logic Functions ### Introduction [Browser Logic](https://docs.catalyst.zoho.com/en/smartbrowz/help/browser-logic/introduction/) is a [Catalyst Serverless](https://docs.catalyst.zoho.com/en/serverless/getting-started/introduction/) function type and a component of [Catalyst SmartBrowz](https://docs.catalyst.zoho.com/en/smartbrowz/getting-started/introduction/) service. Browser Logic contains the ideal coding structure you can use to code browser automation tasks and other browser operations. Using Browser Logic, you can code any browser interaction or operation without engineering your embedded browser. You can perform a wide range of browser tasks such as web scraping, [generating visual documents](https://docs.catalyst.zoho.com/en/smartbrowz/help/pdfnscreenshot/introduction/), and running performance and functionality tests on your application on [Headless Browsers](https://docs.catalyst.zoho.com/en/smartbrowz/help/headless/introduction/). When you set up your Browser Logic function, the embedded browser will be initialized. You can code Browser Logic functions in the following runtimes: * [Java](https://docs.catalyst.zoho.com/en/sdk/java/v1/smartbrowz/generate-pdfnscreenshot/) * [Node.js](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/smartbrowz/create-smartbrowz-instance/) Like the other *Serverless* Functions, you can create, initialize, serve, and deploy Browser Logic functions from the CLI. You can also upload your Browser Logic function as a zip file to the console. You can also view and monitor the performance of the Browser Logic functions using the following [Catalyst DevOps](https://docs.catalyst.zoho.com/en/devops/) components: * [Logs](https://docs.catalyst.zoho.com/en/devops/help/logs/introduction/): You can view, manage and monitor all executions pertaining to Browser Logic functions. * [Application Performance Monitoring](https://docs.catalyst.zoho.com/en/devops/help/apm/introduction/): You can use this component to gather in-depth insights on Browser Logic function's performance. > **Note:** Any Browser action or operation that you code using the Browser Logic function, or any browser automation or web scraping task that you perform using any component of Catalyst SmartBrowz is at your own risk. We strongly recommend you use the SmartBrowz components to perform operations on domains that permit the actions, or with proper approval. Additionally, while Catalyst does provide a secure infrastructure to code your functions, any consequence of the logic you code using Catalyst functions is yours alone. ### Benefits * Browser Logic offers you the ideal coding structure to code browser tasks of any scale. * You will just have to code the logic of any browser task using Browser Logic functions, and all the backend infrastructure management will be automatically handled by Catalyst. * You can create, initialize, serve, and deploy Browser Logic functions using Catalyt's robust [CLI](https://docs.catalyst.zoho.com/en/cli/v1/cli-command-reference/). This ensures that all dependencies that are required to deploy the function will be automatically installed when you [initialize the function through CLI](https://docs.catalyst.zoho.com/en/cli/v1/initialize-resources/initialize-functions/). ### Use Cases Browser Logic functions can be used to code any browser task; examples of some of them are: * You can code Browser Logic functions to perform customer satisfaction analysis of your products on retail platforms. Reviews are a preferred manner for consumers to share their feedback on the product and for prospective customers to decide if they require your product. If you are selling your product across several retail platforms, checking for positive or importantly negative reviews can be a tedious manual task. Instead, you can code a Browser Logic function that can hit your product URL on SmartBrowz's Headless browser and curate reviews that have the least amount of rating and store it in a `.csv` file for you to examine later. This allows you to get better understanding of your product and plan improvements and future updates to your product in a more efficient manner. * You can code functions using the [PDF & Screenshot SDK](https://docs.catalyst.zoho.com/en/smartbrowz/help/pdfnscreenshot/implementation/) and generate visual documents of websites that permit such activity to gather meaningful data. * You can code logic to perform fundamental UI testing. You can use the PDF & Screenshot SDK to and launch your application on [SmartBrowz's Headless browser](https://docs.catalyst.zoho.com/en/smartbrowz/help/headless/introduction/) and generate screenshots to capture the view of your application across a wide range of PDA devices. ### Function Structure Browser Logic functions can be coded using the following programming languages: **Node.js** **Node.js** The snippet below is an example of the Browser Logic coding structure if you initialize it using the **Playwright** browser automation library with `page` as the object. **Node.js - Playwright** ```javascript module.exports.playwright = async (request, response, page) => { await page.goto('https://example.com/',{waitUntil: "domcontentloaded"}); // You can code your logic here const pageTitle = await page.title(); response.setHeader('Content-Type', 'application/json'); response.write(JSON.stringify({ output: pageTitle })); response.end(); }; ``` **Java** **Java** The snippet below is an example of Browser Logic coding structure if you initialize using **Selenium** browser automation library. **Java - Selenium** ```java import java.util.logging.Level; import java.util.logging.Logger; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.openqa.selenium.chrome.ChromeDriver; import com.catalyst.browserlogic.SeleniumHandler; import org.json.simple.JSONObject; public class BrowserAutomation implements SeleniumHandler { private static final Logger LOGGER = Logger.getLogger(BrowserAutomation.class.getName()); JSONObject responseData = new JSONObject(); @Override @SuppressWarnings("unchecked") public void runner(HttpServletRequest request, HttpServletResponse response,ChromeDriver driver) throws Exception { try { //Fetches the endpoint and method to which the call was made driver.get("https://catalyst.zoho.com"); responseData.put("message", "Title of the page "+driver.getTitle()); //Sends the response back to the Client response.setContentType("application/json"); response.getWriter().write(responseData.toString()); response.setStatus(200); } catch (Exception e) { //The actions are logged. You can check the logs from Catalyst Logs. LOGGER.log(Level.SEVERE, "Exception in BrowserAutomation", e); responseData.put("error", "Internal server error occurred. Please try again in some time."); response.getWriter().write(responseData.toString()); response.setStatus(500); } } } ``` You can add your business logic to the above code structure and directly implement it in your project. You do not have to provide any additional code to handle infrastructure. Any additional operations you would typically code to perform browser automations, such as opening or closing the browser, are not required as Catalyst handles it for you in the backend. ### Function URL A Browser Logic function endpoint is directly accessible through a unique invocation URL. You can manually invoke it through its URL, pass input if required, and obtain the response. You can implement this URL in your application’s code, or use it as you require. This function URL is generated automatically when the function is created. A Browser Logic function's URL is in the following format: **https://{project_domain}.development.catalystserverless.com/server/{function_name}/execute** In the [Development environment](https://docs.catalyst.zoho.com/en/deployment-and-billing/environments/introduction/), the URL mentions the key development as: * `https://project_domain_name.catalystserverless.com` is the [App Domain](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/environment-settings/) of your Catalyst application. * `/server` indicates that it is a function. * The URL identifies the function by its name. You can obtain the function URL [from the console](https://docs.catalyst.zoho.com/en/serverless/help/functions/implementation/#code-editor), or [in your terminal](https://docs.catalyst.zoho.com/en/cli/v1/deploy-resources/introduction/) after you deploy the function from the Catalyst CLI. You can also invoke the Function URL through a browser, as illustrated in the image below:  You can learn more about Browser Logic and how to implement it for your applications from this [help section](https://docs.catalyst.zoho.com/en/smartbrowz/help/browser-logic/introduction/). -------------------------------------------------------------------------------- title: "Integration Functions" description: "Catalyst Functions are cloud-based, custom-built, serverless coding structures that contain the intense business logic of your application" last_updated: "2026-08-17T12:16:04.000Z" source: "https://docs.catalyst.zoho.com/en/serverless/help/functions/integration-functions/" service: "Serverless" -------------------------------------------------------------------------------- # Integration Functions ### Introduction Integration functions enable you to code and use a Catalyst function as the backend of other Zoho services, and establish an integration with them. You can code the business logic of any backend feature of the service that is supported, through Catalyst, in Java, Node.js or Python platforms. When that particular feature is accessed in the external service, it will automatically invoke the execution of the Integration function coded in the Catalyst through a HTTP call. > **Note:** Since an Integration function is invoked internally by another service, its endpoint is not directly accessible through any invocation URLs like Basic I/O or Advanced I/O functions. It can only be called by the service that you are integrating with. Although an Integration function is a type of an HTTP function, you will still not be able to invoke it even if you build an end-point for it. Creating Integration functions for external services enables you to store and manage the function in Catalyst, thereby allowing you to access various Catalyst features and tools for it, such as viewing the logs or reports of the function executions through [Catalyst Logs](https://docs.catalyst.zoho.com/en/devops/help/logs/introduction/) or [Application Performance Monitoring](https://docs.catalyst.zoho.com/en/devops/help/apm/introduction/). Catalyst provides exclusive individual SDK packages for the services that you can integrate with. The SDK contains code templates of classes, objects, and methods that you can incorporate in your application easily, and build powerful backends for the service. You can also generate sample payloads to test Integration functions in the CLI. Refer to the [Event Generate help page](https://docs.catalyst.zoho.com/en/cli/v1/event-generate/introduction/) to learn more. > **Note:** Integration Functions are not available to Catalyst users accessing from the EU, AU, IN, JP, SA or CA data centers. ### Cliq Integration Catalyst currently supports integration with [**Zoho Cliq**](https://www.zoho.com/in/cliq/) through Integration functions. Cliq facilitates team communication, and enables you to collaborate, organize conversations, schedule tasks, and more. It also provides a platform for developers to build internal tools that automate work activities and bring data from other applications inside the chat windows. You can distribute these tools you create, and the end-users in Cliq can install them to access the feature. Catalyst Integration Functions enable you to code the backend of **Cliq extensions** that can bundle the following Cliq internal tools: * **Bots:** Conversational interface that handles tasks or responds to queries * **Commands:** Slash commands that perform built-in or custom actions * **Message Actions:** Actions that are performed as the response to individual messages * **Widgets:** Enables you to customize your Cliq home screen * **Functions:** Custom functions that can execute tasks based on event occurrences You can learn more about these internal tools and extensions from the [Cliq developer documentation](https://www.zoho.com/cliq/help/platform/getting-started-with-cliq-platform.html). ### Benefits * Enables you to code bundled extensions in Java, Node.js or Python platforms, instead of in Deluge which is the default programming environment supported by Cliq * Access function execution logs and detailed performance reports of Cliq backend functions through Logs or APM, that enable you to identify problem areas and rectify them immediately * Functionally-rich SDK support exclusively for Cliq integration with pre-coded class files and code templates, making it easy for you to understand actions that can be performed * Ability to create custom handler classes for any Cliq component and write your logic based on your needs ### Create Integration Functions in Catalyst Similar to other function types, you can create an Integration function from the console or initialize it from the CLI. If you initialize it from the CLI, you can code it using an external IDE and deploy it to the Catalyst console. > **Note:** Refer to the [Functions Introduction page](https://docs.catalyst.zoho.com/en/serverless/help/functions/introduction/#steps-to-work-with-functions-from-a-local-environment) for the steps to work with functions from a local environment, and [Working with Functions from the Console](https://docs.catalyst.zoho.com/en/serverless/help/functions/implementation/#create-a-function) page for steps on creating a function from the console. While creating an Integration function either from the console or from the CLI, you can simply select the service that you want to create the function for. Unlike other function types, you will not have the option to create an Integration function without an SDK, as the SDK structure can help you understand the Cliq components better. Let's look at the Integration function structure in detail. ### Cliq Integration Function Structure An Integration function package contains different components when compared to the other function types. A [function's directory](https://docs.catalyst.zoho.com/en/cli/v1/project-directory-structure/functions-directory/) in Catalyst generally contains the main function file, along with the SDK components of Java, Node.js or Python and configuration files. As with the other function types, the boilerplate structure of an Integration function also contains all the necessary SDK components and configuration files. However, in addition to the JAR files or Node modules added to the directory, an Integration function's package also includes the **Catalyst Cliq SDK**. The SDK provides you the interfaces and objects required to create handler classes and develop service-specific business logic. The code template contains individual handler classes for each component of the Cliq extension. That is, individual handler class files for bots, commands, widgets, functions, and message actions. Let us first take a look at a sample Java, Node.js and Python function structure, before discussing handler classes. #### Java The Java file structure contains the main Java file, along with the handler classes, JAR files of the Catalyst Java SDK, and configuration files.  The Cliq Java SDK is automatically included when you initialize the function from the CLI or create it in the console. You can also **obtain the Cliq Java SDK from [here](https://www.zoho.com/catalyst/downloads/sdk/java/cliq/catalyst%5Fjava%5Fcliq%5Fsdk%5Flatest.zip)**. #### Node.js The Node.js file structure also contains a main function along with the handler classes, the Node modules files of the Catalyst Node.js SDK, and configuration files.  Similar to the Cliq Java SDK, the Cliq Node.js SDK is also automatically included when you initialize the function from the CLI or create it in the console. To install it manually, you must execute this command from the Node.js function's directory using your terminal: ```javascript npm install zcatalyst-integ-cliq ``` > **Note:** Refer to the [Project Directory Structure help page](https://docs.catalyst.zoho.com/en/cli/v1/project-directory-structure/functions-directory/) for details about the generic function directory structure and the configuration files of Catalyst functions. #### Python When you create a Python Integration function, in addition to the Python modules added to the functions directory, an Integration function's package called the Cliq Python SDK will also be included. The SDK provides you the interfaces and objects required to create handler classes and develop service-specific business logic. The code template contains individual handler classes for each component of the Cliq extension. That is, individual handler class files for bots, commands, widgets, functions, and message actions. > **Note:** You can also install the Cliq Python SDK manually, by executing this CLI command from the Python function's directory : ```javascript pip install zcatalyst-cliq ``` The Catalyst Cliq SDK package contains the sub-packages mentioned below that are specific to the internal tools in Cliq application. You can refer to [this](https://docs.catalyst.zoho.com/en/serverless/help/functions/integration-functions/#cliq-integration) section to know more about these tools.  #### Cliq Handler Classes Cliq handlers contain the definitions of the business logic of a specific action in a Cliq component. Each component contains multiple handlers that define actions to handle specific actions or events. For example, some of the handlers of a Cliq bot are: * **Welcome handler:** Defines a custom message when a user subscribes to a bot * **Message handler:** Triggers when a bot receives a message * **Mention handler:** Renders a response when a bot is mentioned in a chat Similarly, each of the Cliq components supported by Catalyst- Commands, Message Actions, Widgets, Functions, have individual handlers. Refer to the [Cliq help pages](https://www.zoho.com/cliq/help/platform/getting-started-with-cliq-platform.html) for details on all handlers supported by each component. Catalyst provides templates for necessary objects and methods that would be useful in building an extension in each handler class. They help you understand handling various actions such as parsing Cliq calls, routing it to the appropriate implementation, or constructing the required response. For example, `BotClass.java`, `bot-handler.js` or `main.py` contains a sample code template for each individual handler of a bot handler class.  You can refer to these definitions and use these methods to customize your own logic for the extension. You can modify the handler classes based on your requirements, and include only the necessary ones. The user can use this SDK for parsing the Cliq call, routing the call to corresponding implementation and to form output responses. ### Handler Class Files mapping #### Mapping in catalyst-config.json for Java and Node.js Functions All handler class files are mapped in the [`catalyst-config.json`](https://docs.catalyst.zoho.com/en/cli/v1/project-directory-structure/functions-directory/) configuration file of a function. The configuration file typically only includes basic execution and deployment details of a Catalyst function. However, for an Integration function, this file also maps the handler classes that are used in it.  This mapping helps Catalyst execute the right set of actions, when the function is invoked. You can also create a new handler class file for a Cliq component and define your own logic in them. However, you must manually map the handler class file in the `catalyst-config.json` file. Ensure that you follow the same format in writing the key for the mapping. The default handler files created as a part of Catalyst Cliq SDK are already mapped, when you create the function from the console or the CLI. #### Mapping in main.py for Python Functions When you create an Integration function, the Cliq Python SDK will be automatically installed within your current project's function directory. For Python, all the handler class files are mapped in the `main.py` file of a function. This mapping helps Catalyst execute the right set of actions, when the function is invoked. You can also create a new handler class file for a Cliq component and define your own logic in them. However, you must manually map the handler class file in the `main.py` file. Ensure that you follow the same format in writing the key for the mapping. The default handler files created as a part of Cliq Python SDK are already mapped, when you create the function from the CLI. ```javascript import zcatalyst-cliq # your cliq handler files's mapping should be given here config = { "ZohoCliq": { "handlers": { "bot_handler": "handlers/bot_handler.py", "function_handler": "handlers/function_handler.py", "installation_validator": "handlers/installation_validator.py", "command_handler": "handlers/command_handler.py", "widget_handler": "handlers/widget_handler.py", "messageaction_handler": "handlers/message_action_handler.py", "installation_handler": "handlers/installation_handler.py" } }, } def handler(request, response): handler_resp = zcatalyst_cliq.execute(request, config) response.set_content_type('application/json') response.send(handler_resp) ``` The `request` object of type `IntegrationRequest` is sent as an argument to the `execute()` method and is parsed with information such as name of the Cliq's internal tool and the operation being performed with it. The `config` property contains the mappings of the handler class files with the respective handlers and is passed as another argument to the method. Based on the parameters, the `execute()` method proceeds with its operation of processing the request with the respective handler classes, and returns the response. After you create an Integration function in Catalyst, you can create an extension in Cliq to invoke the function. For creating extensions in Cliq, you can refer to [this](https://docs.catalyst.zoho.com/en/serverless/help/functions/integration-functions/#cliq-integration) section. ### Configure Extensions in Cliq After you develop the backend for a Cliq extension, you must add the function while you configure the extension in Cliq. This will be a unique Cliq Extension - Catalyst Integration function mapping. Whenever the components of that extension are invoked through Cliq, it will in turn trigger the Catalyst function mapped to it. The appropriate action defined for that request will be triggered through the handler classes. For example, if the end-user in Cliq sends a message to a bot whose backend is defined in Catalyst, the request will be passed to Catalyst after it is authenticated. The details of the component, user, and chat are attached in the request body of the HTTP request. Catalyst will then invoke the message handler defined in `BotClass.java`, `bot-handler.js` or `main.py` file, and will execute the appropriate action. Catalyst will send the response back to Cliq and it is rendered in the front-end of the Cliq component. #### Creating an Extension in Cliq You can create an extension in Cliq and configure components such as bots, widgets, or commands to be bundled in it from the [developer console in Cliq](https://prechat.zoho.com/developer). To configure a Catalyst Integration function in a Cliq extension, you must select the **Execution Type** as "**Catalyst Function**" when you create the extension in Cliq.  You must then choose the Catalyst project from the drop-down list. All projects from your Catalyst account will be listed here. You can also click **Create Project** which will redirect you to Catalyst to create a new project. You must then select the Integration function from the drop-down list that will be associated with this extension. After you configure other details and components of your extension, click **Create Extension**. This will create the integration with Catalyst and enable the Integration function to be executed each time the components are accessed. > **Note:** You can also build the backend for a Cliq extension using a Catalyst Basic or Advanced I/O function, and add its URL by selecting URL Invoke. However, since this will not include the Catalyst Cliq SDK package, you must define all actions manually. To learn about developing extensions for Catalyst in Cliq in detail, refer to the [**Catalyst Type Extension help documentation**](https://www.zoho.com/cliq/help/platform/catalyst.html). -------------------------------------------------------------------------------- title: "Job Functions" description: "Catalyst Functions are cloud-based, custom-built, serverless coding structures that contain the intense business logic of your application" last_updated: "2026-08-17T12:16:04.000Z" source: "https://docs.catalyst.zoho.com/en/serverless/help/functions/job-functions/" service: "Serverless" related: - Job Pool Documentation (/en/job-scheduling/help/jobpool/introduction/) - Create Job Pool (/en/job-scheduling/help/implementation/create-jobpool/) - Submit Job to Function Job Pool (/en/job-scheduling/help/implementation/submit-instant-job/) - Avoid Dispatch Delays When Executing Jobs (/en/job-scheduling/help/jobpool/key-concepts/#ideal-memory-allocation-to-avoid-dispatch-delay) - Java SDK (/en/sdk/java/v1/job-scheduling/overview/) - Node.js SDK (/en/sdk/nodejs/v2/job-scheduling/overview/) - Python SDK (/en/sdk/python/v1/job-scheduling/overview/) - Job Scheduling REST APIs (/en/api/code-reference/job-scheduling/jobpool/get-all-jobpool/#GetAllJobPools) -------------------------------------------------------------------------------- # Job Functions ### Introduction Job Functions are a function type that you can invoke when a [job](https://docs.catalyst.zoho.com/en/job-scheduling/help/job/introduction/) is executed in a [Function Job Pool](https://docs.catalyst.zoho.com/en/job-scheduling/help/implementation/submit-instant-job/). You will code your custom business logic in this function, and it will be invoked at a scheduled time when a job to trigger the function is executed in the [job pool](https://docs.catalyst.zoho.com/en/job-scheduling/help/jobpool/introduction/). A Job Function is a non-HTTPS function, like [Event Functions](https://docs.catalyst.zoho.com/en/serverless/help/functions/event-functions/). This function will not have an endpoint, and the function will only be invoked when a job is executed in the function job pool with this particular job function as its target type. You can code your Job Function in the following runtimes: * [Java](https://docs.catalyst.zoho.com/en/sdk/java/v1/job-scheduling/overview/) - `v7`, `v11`, and `v17` * [Node.js](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/job-scheduling/overview/) - `v18` * [Python](https://docs.catalyst.zoho.com/en/sdk/python/v1/job-scheduling/overview/) - `v3.10`, `v3.11`, `v3.12`, `v3.13` Like the other *Serverless Functions*, you can create, initialize, and deploy Job Functions functions from the CLI. You can also upload your Job Function as a zip file to the console. However, since Job Functions are non-HTTPS functions, its URL is not accessible like [Basic I/O](https://docs.catalyst.zoho.com/en/serverless/help/functions/basic-io/) or [Advanced I/O functions](https://docs.catalyst.zoho.com/en/serverless/help/functions/advanced-io/). To test a Job Function, you can use the following CLI command and use the [function shell](https://docs.catalyst.zoho.com/en/cli/v1/working-with-functions/functions-shell/). ```sh catalyst functions:shell ``` A Job Function does not return any response other than determining if the function execution was a **success** or **failure**. You can also view and monitor the performance of the Job Function using the following [Catalyst DevOps](https://docs.catalyst.zoho.com/en/devops/) components: * [Logs](https://docs.catalyst.zoho.com/en/devops/help/logs/introduction/): You can view, manage, and monitor all executions pertaining to Job Functions. * [Application Performance Monitoring](https://docs.catalyst.zoho.com/en/devops/help/apm/introduction/): You can use this component to gather in-depth insights on Job Function’s performance. > **Note:** To execute a *Job Function* successfully, without any dispatch delays, always ensure that the **allocated memory of the job function** is **less than** that of the **allocated memory of the job pool**. You can find out more about preventing dispatch delays from this [help section](https://docs.catalyst.zoho.com/en/job-scheduling/help/jobpool/key-concepts/#ideal-memory-allocation-to-avoid-dispatch-delay). ### Benefits * A Job Function can be created, initialized, and deployed using Catalyst's robust CLI. This ensures that all dependencies that are required to deploy the function will be automatically installed when you [initialize the function through CLI](https://docs.catalyst.zoho.com/en/cli/v1/initialize-resources/initialize-functions/). * Job functions can also be created in Catalyst's Serverless Console via the [Editor](https://docs.catalyst.zoho.com/en/serverless/help/functions/implementation/#create-a-function). * Job functions will contain the ideal boilerplate code using which you can code any custom business logic, and the rest of the backend requirements will be handled by Catalyst. ### Function Boilerplate Code The boilerplate code present in the Job Function when you create it in the console or initialize it using the CLI is shown below: **Java** **Java Job Function Boilerplate** ```java import java.util.logging.Level; import java.util.logging.Logger; import com.catalyst.Context; import com.catalyst.job.JOB_STATUS; import com.catalyst.job.JobRequest; import com.catalyst.job.CatalystJobHandler; import com.zc.common.ZCProject; import com.zc.component.cache.ZCCache; public class Sample implements CatalystJobHandler { private static final Logger LOGGER = Logger.getLogger(Sample.class.getName()); @Override public JOB_STATUS handleJobExecute(JobRequest request, Context arg1) throws Exception { try { ZCProject.initProject(); Object eventData = request.getAllJobParams(); if (eventData != null) { LOGGER.log(Level.SEVERE, "Data is" + eventData.toString()); } LOGGER.log(Level.SEVERE, "Project Details " + request.getProjectDetails().toString()); ZCCache.getInstance().putCacheValue("JobSample", "Working", 1 l); LOGGER.log(Level.SEVERE, "Inserted SucessFully:)"); } catch (Exception e) { LOGGER.log(Level.SEVERE, "Exception in Job Function", e); return JOB_STATUS.FAILURE; } return JOB_STATUS.SUCCESS; } } ``` **Node.js** **Node.js Job Function Boilerplate** ```javascript /** * * @param {import("./types/job").JobRequest} jobRequest * @param {import("./types/job").Context} context */ module.exports = (jobRequest, context) => { console.log('Hello from index.js'); // function input: { job_details: { job_meta_details: { params: { key: 'value' } } } } /** * JOB REQUEST FUNCTIONALITIES */ const projectDetails = jobRequest.getProjectDetails(); // to get the current project details const jobDetails = jobRequest.getJobDetails(); // to get the current job details const jobMetaDetails = jobRequest.getJobMetaDetails(); // to get the current job's meta details const jobpoolDetails = jobRequest.getJobpoolDetails(); // to get the current function job pool's details const getJobCapacityAttributes = jobRequest.getJobCapacityAttributes(); // to get the current jobs capacity const allJobParams = jobRequest.getAllJobParams(); // to get all the parameters supplied to the job function const jobParam = jobRequest.getJobParam('key'); // to get the value of a particular parameter supplied to the job function /** * CONTEXT FUNCTIONALITIES */ context.closeWithSuccess(); //end of application with success // context.closeWithFailure(); //end of application with failure }; ``` **Python** **Python Job Function Boilerplate** ```python import logging def handler(job_request, context): logger = logging.getLogger() logger.info('Hello from main.py') # function input: { job_details: { job_meta_details: { params: { key: 'value' } } } } '''JobRequest Functionalities''' job_details = job_request.get_job_details() # get the details of the current job project_details = job_request.get_project_details() # get the details of the current project job_meta_details = job_request.get_job_meta_details() # get the job meta of the current job job_pool_details = job_request.get_job_pool_details() # get the current functions job pool details job_capacity_attributes = job_request.get_job_capacity_attributes() # get the current jobs capacity all_job_params = job_request.get_all_job_params() # get all the parameters supplied to the job function job_param = job_request.get_job_param('key') # get the value of a particular parameter supplied to the job function '''Context Functionalities''' remaining_execution_time_ms = context.get_remaining_execution_time_ms() # get the maximum allowed execution time for the job functions max_execution_time_ms = context.get_max_execution_time_ms() # get the remaining execution time for this job function # context.close_with_failure() # conclude the function execution with a failure response context.close_with_success() # conclude the function execution with a success response ``` ### Testing Job Functions Using Catalyst CLI Job Functions are non-HTTPS functions like [Event](https://docs.catalyst.zoho.com/en/serverless/help/functions/event-functions/) and [Integrations](https://docs.catalyst.zoho.com/en/serverless/help/functions/integration-functions/) Functions. You cannot invoke a Job function manually, or test it in the console. However, you can generate sample payloads and test the function using the [Function Shell](https://docs.catalyst.zoho.com/en/cli/v1/working-with-functions/functions-shell/#functions-shell-command-execution) present in the [Catalyst CLI](https://docs.catalyst.zoho.com/en/cli/v1/cli-command-reference/). The following CLI command will generate a sample payload, and you can use it to test the function in the local environment. ```sh catalyst event:generate:job 10108000007982015 // Replace with the required Job Pool ID ```  You can feed this payload while you execute the required Job Function and validate the output. ### Job Function Arguments **Java** A Catalyst Job Function supports two arguments in **Java**: `JobRequest` and `Context`. The `JobRequest` argument contains the following built-in methods: * `JobRequest.getProjectDetails()`: Used to get the project details, such as the project ID and project name. * `JobRequest.getJobDetails()`: Used to get all the details of the Job including [Job ID](https://docs.catalyst.zoho.com/en/job-scheduling/help/job/key-concepts/#job-id), the Job Pool it is associated with, and Job Name. * `JobRequest.getJobMetaDetails()`: Used to get all the meta details of the Job including details on Execution Time, Dispatch Delay, and details on retry attempts. * `JobRequest.getJobpoolDetails()`: Used to get all the details of the Job Pool. The details include [Job Pool ID](https://docs.catalyst.zoho.com/en/job-scheduling/help/jobpool/key-concepts/#job-pool-id), Job Pool Name, and Job Pool Type. * `JobRequest.getJobCapacityAttributes()`: Used to get all the details about the memory allocated for the Function Job Pool. * `JobRequest.getAllJobParams()`: Used to get all the parameters (key-value pair) passed to the function. * `JobRequest.getJobParam(String key)`: Used to get all value of the params by passing the key as string to the function. The `Context` argument contains the following built-in methods: * `Context.getRemainingExecutionTimeMs()`: This can be used to fetch the remaining execution time of a job function. * `Context.getMaxExecutionTimeMs()`: This method can be used to get the maximum execution time of a job function, which is a constant value of **15 minutes**. **Node.js** A Catalyst Job Function supports two arguments in **Node.js**: `jobDetails` and `context`. The `jobDetails` argument contains the following built-in methods: * `jobDetails.getJobDetails()`: Used to get all the details of the Job including Job ID, the Job Pool it is associated with, and Job Name. * `jobDetails.getJobMetaDetails()`: Used to get all the meta details of the Job including details on Execution Time, Dispatch Delay, and details on retry attempts. * `jobDetails.getJobPoolDetails()`: Used to get all the details of the Job Pool. The details include Job Pool ID, Job Pool Name, and Job Pool Type. * `jobDetails.getProjectDetails()`: Used to get the project details, such as the project ID and project name. * `jobDetails.getJobCapacityAttributes()`: Used to get all the details about the memory allocated for the Function Job Pool. * `jobDetails.getAllJobParams()`: Used to get all the parameters (key-value pair) passed to the function. * `jobDetails.getJobParam(key)`: Used to get all value of the params by passing the key as string to the function. The `context` argument contains the following built-in methods: * `context.getRemainingExecutionTimeMs()`: This can be used to fetch the remaining execution time of a job function. * `context.getMaxExecutionTimeMs()`: This method can be used to get the maximum execution time of a job function, which is a constant value of 15 minutes. * `context.closeWithSuccess()`: This method can be used to mark a job's execution as successful. * `context.closeWithFailure()`: This method can be used to mark a job's execution as failure. **Python** A Catalyst Job Function supports two arguments in **Python**: `job_details` and `context`. The `job_details` argument contains the following built-in methods: * `job_details.get_job_details()`: Used to get all the details of the Job including Job ID, the Job Pool it is associated with, and Job Name. * `job_details.get_job_meta_details()`: Used to get all the meta details of the Job including details on Execution Time, Dispatch Delay, and details on retry attempts. * `job_details.get_job_pool_details()`: Used to get all the details of the Job Pool. The details include Job Pool ID, Job Pool Name, and Job Pool Type. * `job_details.get_project_details()`: Used to get the project details, such as the project ID and project name. * `job_details.get_job_capacity_attributes()`: Used to get all the details about the memory allocated for the Function Job Pool. * `job_details.get_all_job_params()`: Used to get all the parameters (key-value pair) passed to the function. * `job_details.get_job_param(key)`: Used to get all value of the params by passing the key as string to the function. The `context` argument contains the following built-in methods: * `context.get_remaining_execution_time_ms()`: This can be used to fetch the remaining execution time of a job function. * `context.get_max_execution_time_ms()`: This method can be used to get the maximum execution time of a job function, which is a constant value of 15 minutes. * `context.close_with_success()`: This method can be used to mark a job's execution as successful. * `context.close_with_failure()`: This method can be used to mark a job's execution as failure. -------------------------------------------------------------------------------- title: "Implementation" description: "Catalyst Functions are cloud-based, custom-built, serverless coding structures that contain the intense business logic of your application" last_updated: "2026-10-30T17:47:18.000Z" source: "https://docs.catalyst.zoho.com/en/serverless/help/functions/implementation/" service: "Serverless" -------------------------------------------------------------------------------- # Implementation ### Introduction The implementation help page acts as a procedure guide on working with Catalyst Functions from the Catalyst console. You can create Java, Node.js, or Python functions from the web console, and view their daily usage statistics and details. You can use the code editor to work on the files for Node.js functions. You can also perform easy configurations on the functions such as adding triggers for them, creating and managing environmental variables, or optimizing their memory configuration from the console. > **Note:** You will not be able to code Java and Python functions from the console editor. You will only be able to work on Node.js functions. You can work on Java and Python functions [from a local environment](https://docs.catalyst.zoho.com/en/serverless/help/functions/introduction/#steps-to-work-with-functions-from-a-local-environment), and upload the respective bundles to the console. ### Create a Function To create a function for your Catalyst project from the console: 1. Navigate to **Functions** component present under *FAAS* in the Catalyst *Serverless* console. 2. Click **Create Function**.  The **Editor** tab will open in the pop-up box.  > **Note:** If you click the **CLI** tab, you can find commands for installing the CLI and initializing functions from it. 3. **Function Type:** Select a function type from the drop-down list. You can select a Basic I/O, Advanced I/O, Cron, Event, or an Integration function. > **Note:** Integration Functions is currently not available to Catalyst users accessing from the EU, AU, IN, or CA data centers.  The default Function URL is displayed below the function name, if you select a Basic I/O or an Advanced I/O function. 4. **Function Name and URL:** Enter a name for the function. This will be the folder name (Java) or the package name (Node.js or Python) of the function.  The function name will be appended in the Function URL automatically as you type, for the Basic I/O and Advanced I/O functions. 5. **Function Stack:** Select a function stack from the drop-down list. The drop-down displays the latest supported runtimes of Java, Node.js and Python languages, along with other older runtimes that are still supported by Catalyst. Catalyst currently supports: Java 25, Java 21, Java 17, Java 11, Java 8, Node.js 24, Node.js 22, Node.js 20, Node.js 18, Python 3.13, Python 3.12, Python 3.11, and Python 3.10.  > **Note:** It is recommended that you build and maintain functions in the latest runtimes of these programming environments to avoid security or stability issues. Catalyst will phase out the end of support for runtimes that are approaching their end of life. You can learn more about this from our [Language Runtime Support Policy.](https://docs.catalyst.zoho.com/en/serverless/help/functions/runtime-support/) 6. **Function Bundle:** If you select a Node.js version as your stack, select the bundle from the options.  * Select **Default Template** to create the function [without the Node dependencies](https://docs.catalyst.zoho.com/en/serverless/help/functions/stack/). * Select **Default Template with Catalyst SDK** to create the function with the Catalyst Node.js SDK package and the Node modules. * You can also upload the function by selecting **File Upload** and uploading the function's folder as a compressed zip file from your local system. If you select a Java or Python version as your stack, you can only upload the function bundle. You must upload the Java or Python function's folder as a zip file as well.  > **Note:** While uploading a Java, Node.js or a Python function bundle in the console, you must ensure that: * Instead of compressing the function folder as a whole, you must navigate inside the function folder, select all the files in it, and then compress them together. This is because, when Catalyst extracts a Java, Node.js or Python function's zip file, the `[catalyst-config.json](https://docs.catalyst.zoho.com/en/cli/v1/project-directory-structure/functions-directory/)` file must be present in the root. * The function's directory contains all the required configuration files in the [standard structures](https://docs.catalyst.zoho.com/en/cli/v1/project-directory-structure/functions-directory/). * The function name you enter in the console matches the names configured in `package.json` for Node.js, and `catalyst-config.json` for Java, Node.js and Python. The zip file's name can be anything. * The stack version you select in the console matches the stack version configured in `catalyst-config.json` for all Java, Node.js and Python functions. * You select the right function type. Since each function type contains a different code structure, a type mismatch will occur if you select the wrong type. 7. **Function Memory Configuration:** Catalyst enables you to configure the memory for each of your functions. This memory will be allocated when the function is executed. The default memory allocated for a function is 256 MB. That is, if you don't configure the memory, or if you had created a function before this feature was made available, the memory would be set to 256 MB automatically. You can edit any of your existing functions and change this value as per your requirements. > **Note:** You can optimize the cost and performance of your application by selecting the optimal memory for a function based on the complexity of its code. Refer to the [Cost and Performance Optimization in Functions](https://docs.catalyst.zoho.com/en/serverless/help/functions/optimization/) page for details. Choose a memory between 128 MB to 512 MB, from the drop-down list.  > **Note:** The CPU is allocated automatically based on the memory you configure for your function. You won't be able to view or configure this value. 8. After configuring the function's details, click **Create**. The function will be created and listed in the _Functions_ page. A unique **Function ID** will be created for it and displayed in the page, along with the function's details.  ### Function Overview and Statistics When you open a function from the _Funtions_ page, you will be redirected to the Overview section for that function. This section provides valuable daily statistics of that particular function's execution and its general details.  The following daily statistics of the function are displayed: * **Total Invocations:** Total number of the function's invocations for the day * **Invocation Errors:** Total number of invocations with the HTTP status code in the 500 series * **Average Invocation Time:** Average response time of the successful invocations * **Time-Outs:** Number of invocations which exceeded the time-out limits You can also view the function's details such as its ID, stack, invocation URL, and more from this section. ### Code Editor After a function has been created, you can access the code editor to work on its files. You can open the code editor by clicking the **Code** tab for a function.  The files in the function's directory will be created based on the stack and bundle, and displayed on the left. If you uploaded a zip file, you will find all the files in the directory. > **Note:** The code editor will not be available for Java and Python functions. But you can view all the daily statistics in the *Overview* section and perform configurations in the *Configuration* section.  You can open a file from the files on the left and code it. Click **Save** to save the changes you make.  The editor window enables auto-completion of your code, and also provides several tools that enrich your coding experience. **Right-click** on the editor window to access the tools.  The Code Navigation tools include: * **Go To Definition:** Navigates to the definition of the item * **Peek Definition:** Opens a peek editor inline and displays the definition of an item * **Peek References:** Opens a peek editor inline and displays the references of an item * **Go To Symbol:** Displays symbols in a function grouped into categories You can also modify all the occurrences of an item in a single step by selecting the item and using **Change All Occurrences**. The **Format Document** formats the code's structure to make it more readable. The **Command Palette** lists out all the commands that are frequently used. You can enable full screen mode or switch to a dark mode by clicking the respective icons in the bottom-right corner of the code window. You can search for a file in the function's directory using the search bar. You can obtain the [Function URL for Basic I/O](https://docs.catalyst.zoho.com/en/serverless/help/functions/basic-io/#function-url) and [Advanced I/O](https://docs.catalyst.zoho.com/en/serverless/help/functions/advanced-io/#function-url) functions by clicking **Get Function URL** in the bottom right corner. The URL of an Advanced I/O function is displayed below.  The URL of a Basic I/O function is displayed below.  You can copy the function URL and implement it in your code or use it as required. You can create new files and folders by right-clicking on any file or folder's name in the editor. Click **New File** to create a new file, or **New Folder** to create a new folder, in the current directory.  Enter a name for the file or folder and press **Enter** to create it.  You can delete a file or a folder by clicking **Delete** for it in the right-click menu.  You can also upload a file to a folder in the function's directory. To do so, right-click on the folder and click **Upload**.  Select the file from your local machine and upload it. The console also allows you to test Basic I/O functions by passing input parameters. You will not be able to test functions of the other types because they do not return String responses like Basic I/O functions. To test a Basic I/O function, click **Test** from the bottom of the editor window.  Select the HTTP method for your request. Enter the function's parameter name under _Key_ and the value under _Value_. You can add more parameters by clicking the **[+]** icon and delete a parameter by clicking the **[-]** icon.  Click **Test** after providing the input values. The output is displayed below the editor.  You can also switch the output window to the right side by clicking on the right icon.  This value is also pushed to the logs by using the `context.log method`. You can view this by opening [Catalyst Logs](https://docs.catalyst.zoho.com/en/devops/help/logs/introduction/) and selecting the function.  #### Function Configurations The _Configuration_ section of a function enables you to perform configurations for the following features: Environmental Variables, Allocated Memory, Function Triggers.  Let's explore these in detail. ### Environmental Variables Environmental variables are variables of a function whose values are declared outside of the function's code. After an environmental variable is created, it can be called in any of the sub-functions in that function directory. Catalyst enables you to create, store, and manage variables for both the environments it offers: the [Development and Production environments](https://docs.catalyst.zoho.com/en/deployment-and-billing/environments/introduction/). You can declare a single variable name and configure values for both these environments. For example, if you need to declare an auth token variable that will hold different values in different environments, you can do so, and save the values in this section. > **Note:** If you want to declare a production variable, you must have [deployed your project to the Production environment](https://docs.catalyst.zoho.com/en/deployment-and-billing/environments/deployment-types/). You will only be able to create or access production variables if your project is available in the Production environment. You can then call the variable in your function's code as mentioned in [this section](https://docs.catalyst.zoho.com/en/serverless/help/functions/implementation/#use-an-environmental-variable). ### Create an Environmental Variable To create a new environmental variable for a function: 1. Click the **Configuration** tab after you open the function from the _Functions_ page. 2. Click **Create Variable** in the _Environment Variables_ section.  3. Configure the key and the value(s) for the variable. If your project is not available in the Production environment, you will be able to add the variable key and its development value alone.  > **Note:** To use [ZCQL V2](https://docs.catalyst.zoho.com/en/cloud-scale/help/zcql/syntax-exceptions/) queries in your code, you need to create an environment variable with the following values: * **Key**: `ZOHO_CATALYST_ZCQL_PARSER` * **Development Value**: `V2` You can find out more on using ZCQL queries in code from this [help document](https://docs.catalyst.zoho.com/en/cloud-scale/help/zcql/zcql-console/#using-zcql-v2-in-function-code). If your project is available in the Production environment, you will be able to add both development and production values for the variable.  4. Click **Save**. The variable will be saved and listed in the section. You can use the drop-down on the top to switch between the development and production variables list. That is, if you need to access development variables, select **Development** from the drop-down.  > **Info:** Environmental variables are encrypted and stored in Catalyst. These values appear in plain text in the console and in API responses only to you and your project’s collaborators. ### Use an Environmental Variable After you create an environmental variable, you can call it in your function's code by its keyname in different ways for different function stacks. Each time you need to refer to the variable in the code, you must follow the syntax specified below based on the programming environment: **Java:** ```javascript System.getenv(keyname) ``` **Node.js** ```javascript process.env.keyname ``` `**keyname**:` The `keyname` declared for the variable. This syntax method is best used when `keyname` *contains no spaces*. ```javascript process.env[keyname] ``` `**keyname**:` The `keyname` declared for the variable. This syntax method is best used when `keyname` *contains spaces*. **Python:** ```javascript os.getenv("keyname") ``` **Web:** ```javascript catalyst.getCatalystEnv(key) ``` > **Note:** The variable's value is fetched based on the environment the function is executed in. That is, if the function is executed in the Development environment, the development value of the variable is fetched. If it is executed in the Production environment, the production value of the variable is fetched. #### Edit an Environmental Variable To edit an environmental variable's key or values: 1. Click the ellipsis icon for the variable, then click **Edit**.  2. You can edit the key, the development or production value. Then click **Save**.  #### Delete an Environmental Variable You can delete the development or the production value of an environmental variable. When you delete it one environment, the value of the variable in the other environment is still available. To delete the development or the production value of an environmental variable: 1. Click the ellipsis icon for the variable, then click **Remove**.  2. You can edit the key, the development or production value. Then click **Save**.  The variable will be deleted from the selected environment alone. ### Allocated Memory You can allocate memory for your function's execution based on its performance requirements, in this section. If you did not specifically configure the memory while creating the function, the default memory of 256 MB will be allocated for its execution. You can edit the default or previously configured memory after analysing its requirements, and optimize its performance and cost by selecting an optimal value. Refer to the [Functions Cost and Performance Optimization page](https://docs.catalyst.zoho.com/en/serverless/help/functions/optimization/) to learn more. > **Note:** The CPU is allocated automatically based on the memory you configure for your function. You won't be able to view or configure this value. To configure the memory allocated for a function: 1. Navigate to the **Allocated Memory** tab in the _Configuration_ tab, then click the edit icon.  2. Select the required memory for the function, then click the check icon.  You can also edit the allocated memory by [editing the function](https://docs.catalyst.zoho.com/en/serverless/help/functions/implementation/#update-or-download-a-function). ### Function Triggers The _Function Triggers_ section provides you with an easy way to create and manage all triggers associated with a function. It allows you to view all the triggers that have been associated with a particular function in a single space, and enables you to easily disable, update, or delete a trigger. This saves you time from navigating to each component and searching for triggers associated with a function. Based on the function type, different component triggers can be associated with a function. > **Note:** Integration functions cannot be associated with any function triggers. #### Basic I/O and Advanced I/O Functions The Basic I/O and Advanced I/O functions of your project can be associated with [API Gateway triggers](https://docs.catalyst.zoho.com/en/cloud-scale/help/api-gateway/introduction/). You can create APIs to access the endpoints of these functions, and additionally configure authentication and throttling for them from this section. > **Note:** Basic I/O functions can also be orchestrated in [Circuits](https://docs.catalyst.zoho.com/en/serverless/help/circuits/introduction/) and used in defining workflows. You can perform this action by accessing Circuits in the console. To create an API Gateway function trigger for a Basic I/O or an Advanced I/O function: 1. Navigate to the _Functions Triggers_ section in the _Configuration_ tab. If you have not enabled API Gateway, you can click on **Access API Gateway** to enable it first.  If your API Gateway is enabled, all the APIs that have been configured for that specific function, if any, will be listed there. You can then click on **Create API Gateway Trigger** to configure a new API for the function. This API defines the access to that function.  2. This will open an API creation pop-up. Configure the details of the API. You can learn more about this step from the [API Gateway help page](https://docs.catalyst.zoho.com/en/cloud-scale/help/api-gateway/introduction/). Then click **Create**.  The API for the function will be created and listed in this section along with its details. You will also find it listed on the API Gateway component page in your console.  We will discuss editing and deleting a function trigger after we discuss the triggers available for the function types. #### Event Functions The Event functions of your project can be triggered by [Catalyst Signals](https://docs.catalyst.zoho.com/en/signals/). You can configure a [Signals rule](https://docs.catalyst.zoho.com/en/signals/help/rules/key-aspects/) as a trigger for an Event function, in this section. Whenever the rule is invoked, the Event function will be executed. To create a function trigger for an Event function: 1. Navigate to the _Functions Triggers_ section in the _Configuration_ tab of the Event function, then click **Create Signals Rule**.  2. This will open a Signals rule creation pop-up. You can create a rule for a Catalyst Publisher or a Custom Publisher. When you click on the text box for Publisher, you can choose a Catalyst Publisher (for Catalyst component events) or a Custom Publisher (for custom URL-based events).  3. In the case of a Catalyst Publisher, you can associate the rule with specific actions of a Catalyst component instance. You can learn more from [here](https://docs.catalyst.zoho.com/en/signals/help/publishers/create-publisher/catalyst-publishers/).  In the case of a Custom Publisher, you can configure the relevant rule details. A unique URL will be generated for the Custom Publisher that can be invoked to trigger the rule. You can learn more from [here](https://docs.catalyst.zoho.com/en/signals/help/publishers/create-publisher/custom-publishers/).  The target function will be the function that you are creating the rule for, in both cases. 4. Click **Create** after configuring the details. The Signals rule trigger will be created and shown in the _Function Triggers_ section. The trigger will be enabled by default. All Signals rule triggers associated with this function will be listed here.  You can disable or re-enable this trigger, as well as edit and delete it from this section. We will discuss this after the Cron function trigger section. #### Cron Functions You can create a new [Cron job](https://docs.catalyst.zoho.com/en/cloud-scale/help/cron/introduction/) and associate it with a Cron function. Whenever the cron scheduler is invoked, the Cron function will be executed. > **Note:** Cron jobs can also be configured to invoke third-party URLs, instead of a Cron function. You can configure these crons by accessing the Cron component. To create a function trigger for a Cron function: 1. Navigate to the _Functions Triggers_ section in the _Configuration_ tab of the Cron function, then click **Create Cron**.  2. Configure the details of the cron. You can pass parameter values during the cron function's execution. You can schedule it as a one-time or a recursive cron, and configure the time and date or the frequency of the execution respectively. You can learn more from [here](https://docs.catalyst.zoho.com/en/cloud-scale/help/cron/key-concepts/).  3. After you configure the details, click **Save**. The cron trigger will be created and shown in the _Function Triggers_ section. The trigger will be enabled by default. All cron triggers associated with this function will be listed.  #### Disable/Enable a Signals Rule or Cron Trigger Catalyst enables you to enable or disable a Signals rule or a cron associated with an Event or a Cron function from the Function Triggers section directly. You need not navigate to the respective components to perform this action. To disable a Signals rule or a cron from the Function Triggers section: 1. Click the ellipsis icon of a Signals rule or a cron trigger, then click **Disable**.  2. Click **Yes, Proceed** in the confirmation pop-up.  The Signals rule or the cron will be disabled.  You can re-enable a Signals rule or cron trigger by clicking the ellipsis icon again, then clicking **Enable**.  #### Edit an API Gateway, Signals Rule, or Cron Trigger You can easily update the details of a function trigger created for any of the function types from the _Function Triggers_ section. To edit an API Gateway, Signals rule, or a cron trigger: 1. Click the ellipsis icon of an API Gateway, Signals rule, or a cron trigger, then click **Edit**.  2. Make the necessary changes to the API, Signals rule, or cron configuration, then click **Update**.  These changes will be reflected in the respective components. That is, the updates will be available if you access the API Gateway, Signals, or Cron component. #### Delete an API Gateway, Signals Rule, or Cron Trigger You can delete an API, Signals rule, or a cron associated with a function from the _Function Triggers_ section in the following way: 1. Click the ellipsis icon of an API Gateway, Signals rule, or a cron trigger, then click **Delete**.  2. Click **Yes, Proceed** in the confirmation pop-up.  The API, Signals rule, or cron will be permanently deleted. > **Note:** Please note that when configuring write permissions for a Function or AppSail profile, the configured Function or AppSail will have privileges to perform all SDK operations within its project. ### Update or Download a Function You can upload an updated bundle of your function any time from your local system to the Catalyst console. You can also modify the memory configuration allocated to a function and update its runtime version. However, you will not be able to edit any other values of a function, such as its name or type, or change it to a different stack. When a runtime is nearing its end-of-life and is soon to be deprecated by Catalyst, you will find a warning displayed when you open the function. You must ensure that you upgrade the function to the latest supported version before Catalyst's end of support for the runtime. You can learn more about this from the [Language Runtime Support Policy](https://docs.catalyst.zoho.com/en/serverless/help/functions/runtime-support/) help section. You can experiment with a function's memory configuration to figure out the optimal memory it requires, based on the complexities of the code involved, and the observations you make from its execution history. You can then update the function's memory accordingly to optimize the cost and performance of your application. Learn more about this from the [Cost and Performance Optimization](https://docs.catalyst.zoho.com/en/serverless/help/functions/optimization/) help section. You can update a function in the following way: 1. Click the **ellipsis icon** from the _Overview_ or _Code_ section of the function and click **Update**.  2. Upload the updated function bundle or edit its memory configuration in the pop-up window.  > **Note:** Ensure that you follow all the guidelines mentioned in the [Creating a Function](https://docs.catalyst.zoho.com/en/serverless/help/functions/implementation/#create-a-function) section while uploading the bundle. 3. Click **Save**. > **Note:** If you wish to modify the name of a function, you must do it in the [`catalyst-config.json`](https://docs.catalyst.zoho.com/en/cli/v1/project-directory-structure/functions-directory/) and `package.json` files. To download the function's bundle from the Catalyst console, click the **ellipsis icon** and click **Download**.  The download will be initiated. You can also access this menu from the _Functions_ page.  ### Delete a Function To delete the function from the Catalyst console permanently: 1. Click the **ellipsis icon** and click **Delete**.  2. Click **Yes, Proceed** to confirm.  -------------------------------------------------------------------------------- title: "Language Runtime Support Policy" description: "Catalyst Functions are cloud-based, custom-built, serverless coding structures that contain the intense business logic of your application" last_updated: "2026-10-23T10:20:21.000Z" source: "https://docs.catalyst.zoho.com/en/serverless/help/functions/runtime-support/" service: "Serverless" -------------------------------------------------------------------------------- # Language Runtime Support Policy Catalyst serverless entities are built on Java, Node.js, or Python and their runtimes rely on the runtime of the specific versions of the programming environments. Catalyst implements a phased reduction in its support of a language's runtime, and therefore provides you with plenty of time to plan, implement, and test upgrades in your serverless entities. Catalyst will begin implementing an end of support for a language version as soon as an end-of-life announcement is made for it by the community. It is always advisable to build and maintain your Catalyst serverless entities in the latest stable release of a programming environment. This ensures that high security and stability are retained in your Catalyst application performance. You must make appropriate changes in your function libraries and code to make them compatible with the version you upgrade them to. > **Note:** Catalyst's language runtime support policy currently applies to the Java, Node.js, and Python programming environments. This policy is applicable to Catalyst serverless entities, including [Functions](https://docs.catalyst.zoho.com/en/serverless/help/functions/introduction/), [AppSail](https://docs.catalyst.zoho.com/en/serverless/help/appsail/introduction/), and [Slate](https://docs.catalyst.zoho.com/en/slate/). Catalyst will end support for a runtime in four phases as explained in this document. ### Phase 1: Deprecation Announcement The deprecation announcement marks the start of the end of support of a language version. Catalyst will announce the deprecation of a runtime **six months before the official end-of-life** of the runtime. For example, if the official end-of-life of the runtime as announced by the community is on April 1, 2022, then we will make the deprecation announcement on October 1, 2021. The deprecation announcement will contain the details of the official retirement of the version and Catalyst's end of support for it. This provides you enough time to plan and prepare to upgrade your serverless entities to the latest stable version. ### Phase 2: Deprecation Period The deprecation period of Catalyst's support for a language version begins right after the deprecation announcement is made. The deprecation period of a runtime in Catalyst will last for **one year**. For example, if the deprecation announcement was made on October 1, 2021, the deprecation period will last until October 1, 2022. You will be **able to create and update serverless entities** in the deprecation period, and work with your existing Catalyst serverless entities of that version unhindered. However, you must use this period to upgrade all your serverless entities in your Catalyst applications to the latest stable version of the programming environment. ### Phase 3: Retirement Period The retirement period of a deprecated runtime begins right after the one year of the deprecated period. The retirement period will last for **three months**. For example, if the deprecation period ends on October 1, 2022, the retirement period lasts until January 1, 2023. You will **not be able to create new serverless entities** targeting the deprecated runtime of a language in the retirement period. You can still continue to run and make updates to the existing serverless entities of the deprecated version in your Catalyst applications. We strongly recommend you to make sure all your serverless entities are fully updated and functional in the latest runtime during this period. ### Phase 4: End of support The end of support for a deprecated runtime begins right after the three months of the retirement period. For example, if the retirement period ends on January 1, 2023, Catalyst will end its support for the runtime from then on. You will **no longer be able to create or update serverless entities** of the deprecated version after it reaches the end of support phase. We also **do not guarantee serverless entity invocations or application stability**, if you continue to maintain deprecated runtimes in your application. Catalyst will not apply the latest security patches and updates of a language runtime to a deprecated runtime. The serverless entities of a deprecated build may or may not continue to execute. However, we provide you the convenience of upgrading the version of the serverless entities alone at any time, after the end of support is reached. > **Note:** Catalyst retains the ability to make changes to the deprecation or retirement policies of a language runtime at any time, based on exceptions in rare cases. In case we decide to implement any changes to a prior announcement, we will communicate all the necessary details pertaining to these changes. These changes might include, but are not limited to, changes in the end-of-life as announced by a language community, or runtimes that reach their end of life but will continue to be supported on the platform until further notice. You can refer to the [Functions Implementation help page](https://docs.catalyst.zoho.com/en/serverless/help/functions/implementation/#update-or-download-a-function) to learn about updating an existing serverless entity from the remote console. ### Language Version Support Policies and Timeline You can always keep a track of a language release status, and their current or active versions from their official websites: **Java:** [Oracle Java SE Support Roadmap](https://www.oracle.com/java/technologies/java-se-support-roadmap.html) **Node.js:** [Node.js Releases document](https://nodejs.org/en/about/previous-releases) **Python:** [Python Developer's Guide — Version Status](https://devguide.python.org/versions/) ### Java Runtime Deprecations Catalyst currently supports Java versions 8, 11, 17, 21, and 25. You can [upgrade your existing functions](https://docs.catalyst.zoho.com/en/serverless/help/functions/implementation/#update-or-download-a-function) to the latest supported version from the remote console. You can also select the latest runtime when you [create Java functions](https://docs.catalyst.zoho.com/en/serverless/help/functions/implementation/#create-a-function), or [initialize them from the CLI](https://docs.catalyst.zoho.com/en/cli/v1/initialize-resources/introduction/). There are no active Java runtime deprecations at this time. Catalyst will follow the same phased deprecation policy outlined in this document when a Java runtime version approaches its end of life. Please refer to the [Oracle Java SE Support Roadmap](https://www.oracle.com/java/technologies/java-se-support-roadmap.html) to stay updated on the support status of each Java version. ### Node.js Runtime Deprecations Catalyst has implemented a phased end of support for older versions of Node.js. The versions below are listed in descending order. * **Node.js v18:** The deprecation phase of Node.js v18 began on September 11, 2025, coinciding with the community's official end-of-life announcement. Following the deprecation period of one year until September 11, 2026, Node.js v18 entered the retirement period on September 11, 2026, and Catalyst will end its support for the runtime on December 11, 2026. * **Node.js v16:** End of support completed. The deprecation phase of Node.js v16 began on April 30, 2025. Following the deprecation period of one year until April 30, 2026, Node.js v16 entered the retirement period on April 30, 2026, and Catalyst ended its support for the runtime on July 30, 2026. * **Node.js v14:** End of support completed. The deprecation phase of Node.js v14 began on April 30, 2025. Following the deprecation period of one year until April 30, 2026, Node.js v14 entered the retirement period on April 30, 2026, and Catalyst ended its support for the runtime on July 30, 2026. * **Node.js v12:** End of support completed. The deprecation phase of Node.js v12 began in April 2022. Following the deprecation period of one year until April 30, 2023, Node.js v12 was retired on July 31, 2023. Catalyst ended its support for the runtime on July 31, 2023. * **Node.js v10:** End of support completed. The deprecation phase of Node.js v10 began in April 2021. Following an extended deprecation period until October 31, 2022, Node.js v10 was retired on January 31, 2023. Catalyst ended its support for the runtime on January 31, 2023. Please ensure you upgrade the serverless entities in your Catalyst projects to the latest stable version of Node.js. > **Note:** Catalyst actively supports and patches **Node.js v22 and v24**. **Node.js v20 is deprecated** and will not receive further security patches. Catalyst recommends upgrading to Node.js v22 or v24. You can [upgrade your existing functions](https://docs.catalyst.zoho.com/en/serverless/help/functions/implementation/#update-or-download-a-function) to the latest supported version from the remote console. You can also select the latest runtime when you [create Node.js functions](https://docs.catalyst.zoho.com/en/serverless/help/functions/implementation/#create-a-function), or [initialize them from the CLI](https://docs.catalyst.zoho.com/en/cli/v1/initialize-resources/introduction/). ### Python Runtime Deprecations Catalyst currently supports Python versions 3.10, 3.11, 3.12, and 3.13. You can [upgrade your existing functions](https://docs.catalyst.zoho.com/en/serverless/help/functions/implementation/#update-or-download-a-function) to the latest supported version from the remote console. You can also select the latest runtime when you [create Python functions](https://docs.catalyst.zoho.com/en/serverless/help/functions/implementation/#create-a-function), or [initialize them from the CLI](https://docs.catalyst.zoho.com/en/cli/v1/initialize-resources/introduction/). * **Python 3.9:** The deprecation phase of Python 3.9 began on June 1, 2026. Following the deprecation period of one year until June 1, 2027, Python 3.9 will enter the retirement period on June 1, 2027, and Catalyst will end its support for the runtime on September 1, 2027. Please ensure you upgrade the serverless entities in your Catalyst projects to a supported version of Python (3.10 or later). > **Note:** Catalyst currently supports **Python 3.10, Python 3.11, Python 3.12, and Python 3.13**. You can [upgrade your existing functions](https://docs.catalyst.zoho.com/en/serverless/help/functions/implementation/#update-or-download-a-function) to the latest supported version from the remote console. You can also select the latest runtime when you [create Python functions](https://docs.catalyst.zoho.com/en/serverless/help/functions/implementation/#create-a-function), or [initialize them from the CLI](https://docs.catalyst.zoho.com/en/cli/v1/initialize-resources/introduction/). -------------------------------------------------------------------------------- title: "Cost and Performance Optimization" description: "Catalyst Functions are cloud-based, custom-built, serverless coding structures that contain the intense business logic of your application" last_updated: "2026-08-17T12:16:04.000Z" source: "https://docs.catalyst.zoho.com/en/serverless/help/functions/optimization/" service: "Serverless" -------------------------------------------------------------------------------- # Cost and Performance Optimization in Functions ### Introduction Catalyst enables memory provisioning for each function you create, based on your requirements. You can select a memory for your function when you are [creating it](https://docs.catalyst.zoho.com/en/serverless/help/functions/implementation/#create-a-function), or [edit its configurations](https://docs.catalyst.zoho.com/en/serverless/help/functions/implementation/#update-or-download-a-function) any time you need. The flexibility to customize a function's memory configuration over the default allocated memory allows you to optimize your Catalyst usage and manage resources better. You can monitor your application's performance, prioritize your needs, make informed decisions for each use case, and draw substantial benefits from it. This help page will explain the correlation between memory provisioning in functions and cost optimization, by explaining the pricing calculation methods of Catalyst functions with a few experiements. An increase in the memory provisioning of compute-intensive functions ideally results in a lower execution time, which in turn reduces your expenses in Catalyst. However, the optimal configuration varies from one use case to another, depending on the complexity of the operations performed in the function. ### Pricing Calculations This section explains the pricing model of Catalyst Functions. The table shown below displays the credits used for different function execution time range:| Execution Time (in Seconds) | Credits |
|---|---|
| <1 | 0.5 |
| 1-5 | 1 |
| 5-10 | 5 |
| 10-15 | 10 |
| 15-30 | 15 |
| Memory (MB) | Credits Proportionate to Execution Time |
|---|---|
| 128 | 1 |
| 256 | 2 |
| 512 | 4 |
| Available Parameters | Allowed Values |
|---|---|
| methods | GET, POST, DELETE, PUT, PATCH |
| authentication | optional, required |
| Category | SDK Method | Required Scope |
|---|---|---|
| General Operations | [Get Function Instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/serverless/functions/get-function-instance/) | **No requirement** |
| Function Operations | [Execute Function](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/serverless/functions/execute-function/) | **Admin** |
| Category | SDK Method | Required Scope |
|---|---|---|
| General Operations | [Get Circuit Instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/serverless/circuits/get-circuit-instance/) | **No requirement** |
| Circuit Operations | [Execute Circuits](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/serverless/circuits/execute-circuit/) | **Admin** |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `circuit ID` | Numeric | A **Mandatory** parameter. Will store the unique ID the circuit to be executed. |
| `circuit input` | Object | A **Mandatory** parameter. Will store the dictionary that contains the input to the cricut. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `function_ID` | Numeric | A **Mandatory** parameter. Will store the unique ID the function to be executed. |
| `function_config` | Object | A **Mandatory** parameter. Will store the configuration of the function to be executed. |
| Security Rules | API Gateway |
|---|---|
| Can configure access for GET, PUT, POST, DELETE, and PATCH HTTP methods | Can configure access for GET, GET, PUT, POST, DELETE, and PATCH HTTP methods. Can also aggregate all HTTP methods under ANY, and create a single API for it. |
| Request URL and Target URL are the same | Can configure custom Request URL and Target URL separately. Can create individual APIs for each request method for every URL |
| Can enable or disable authentication and configure two types of authentication: Catalyst Users Authentication, and OAuth-based Authentication | Can enable or disable authentication and configure three types of authentication: API Key, Catalyst Users Authentication, and OAuth-based Authentication |
| No throttling feature | Can configure two types of throttling: General Throttling and IP-based Throttling |
| Cannot configure rules for web clients | Can create APIs for web clients |
| CSS IDs & Classes | Description |
|---|---|
| #headtitle | The ID that handles the styling elements present in the title of the iFrame |
| CSS IDs & Classes | Description |
|---|---|
| #login_id | The ID that handles the styling of the input field |
| .fielderror | The class that handles the size of the error text |
| .errorlabel | The class that handles the color scheme of the error message |
| .errorborder | The class that handles the border color that appears in the event of an error, around the input field |
| CSS IDs & Classes | Description |
|---|---|
| #nextbtn | The ID that handles the styling of the "**NEXT**" button |
| CSS IDs & Classes | Description |
|---|---|
| #forgotpassword | The ID that handles the styling of the "**Forgot Password**" literal |
| CSS IDs & Classes | Description |
|---|---|
| .fed_div | The class that handles the size, height, cursor and overflow of the social login option as a whole |
| .zoho_fed_box | The class that handles the color scheme of the Zoho social login |
| .fed_icon | The class that handles the size of the logos of all social logins |
| ..zoho_icon | The class that handles the logo icon of the Zoho social login |
| CSS IDs & Classes | Description |
|---|---|
| .username | The class that handles the email address field |
| CSS IDs & Classes | Description |
|---|---|
| .Notyou | The class that handles the font size of the "**Change** literal |
| .bluetext | The class that handles the color and other properties of the "**Change**" literal |
| CSS IDs & Classes | Description |
|---|---|
| #password | The ID that handles the various properties of the input field |
| .fielderror | The class that handles the size of the error text |
| .errorborder | The class that handles the border color that appears in the event of an error around the input field |
| .errorlabel | The class that handles the color scheme of the error text |
| .show_hide_password | The class that handles the properties of the visibility-icon |
| .icon_hide | The class that handles the properties of the hidden-icon |
| .icon_show | The class that handles the properties of the visibility-icon when clicked |
| CSS IDs & Classes | Description |
|---|---|
| .blue_text_action | The class that handles the color scheme, font size and other properties of both the literals |
| CSS IDs & Classes | Description |
|---|---|
| .blue | The class that handles the color scheme of the Sign In button and box |
| .btn | The class that handles the size of the button |
| CSS IDs & Classes | Description |
|---|---|
| .confirmtitle | The class that handles the styling elements present in the title. |
| .confirmdesc | This is the notification/description element which is notify to create a strong and unique password at the bottom of the title element. |
| .confirm_head | The class that handles the styling of the Background of the confirmation form. |
| CSS IDs & Classes | Description |
|---|---|
| .username | The class that handles the email address field. |
| .icon-profile | The class that handles the profile in that email address field. |
| CSS IDs & Classes | Description |
|---|---|
| #password | The ID that handles the styling elements present in the password input field. |
| .icon-hide | The class that handles the properties of the hidden-icon |
| .show_hide_password | The class that handles the properties of the visibility of the icon |
| .fielderror | The class that handles the size of the error text. |
| .passwordpolicy | The class that handles the popup which contains the password policy. |
| CSS IDs & Classes | Description |
|---|---|
| #cpassword | The ID that handles the input field for confirm password. |
| CSS IDs & Classes | Description |
|---|---|
| #nextbtn | The ID that handles the confirm button. |
| CSS IDs & Classes | Description |
|---|---|
| #headtitle | The ID that handles the styling elements present in the title of the iFrame |
| CSS IDs & Classes | Description |
|---|---|
| .user_info | The class that handles styling elements of the box's border |
| .menutext | The class that handles the styling of the user's email ID |
| CSS IDs & Classes | Description |
|---|---|
| .changeuser | The class that handles the styling elements present in the "**Change**" literal |
| CSS IDs & Classes | Description |
|---|---|
| #captcha_container | The ID that handles the styling of the box surrounding the Captcha control box |
| .reload_captcha ::before | The class that handles the styling of the reload button, before it is clicked |
| .text_box | The class that handles the properties of the input field |
| CSS IDs & Classes | Description |
|---|---|
| .blue | The class that handles the color scheme of the button and box |
| .btn | The class that handles the size of the button |
| Zoho Services | Third-Party Services |
|---|---|
| [Zoho CRM](https://www.zoho.com/crm/) | [Google](https://www.google.com/) |
| [Zoho Bigin](https://www.bigin.com/) | [MailChimp](https://mailchimp.com/) |
| [Zoho Voice](https://www.zoho.com/voice/) | [Dropbox](https://www.dropbox.com/) |
| [Zoho Payroll](https://www.zoho.com/in/payroll/) | [DocuSign](https://account.docusign.com/) |
| [Zoho Shifts](https://www.zoho.com/shifts/) | [Adobe Sign](https://www.adobe.com/acrobat/business/sign.html) |
| [Zoho Catalyst](https://catalyst.zoho.com/) | [GoToMeeting](https://www.goto.com/meeting) |
| [Zoho FSM](https://www.zoho.com/fsm/) | |
| [Zoho Booking](https://www.zoho.com/bookings/) | |
| [Zoho IOT](https://www.zoho.com/iot/) | |
| [Zoho Sprints](https://www.zoho.com/sprints/) | |
| [Zoho Books](https://www.zoho.com/books/) | |
| [Zoho Directory](https://www.zoho.com/directory/) | |
| [Zoho One](https://www.zoho.com/one/) | |
| [Zoho Desk](https://www.zoho.com/en-in/desk/) | |
| [Zoho Recruit](https://www.zoho.com/recruit/) | |
| [Zoho Commerce](https://www.zoho.com/commerce/) | |
| [Zoho Projects](https://www.zoho.com/projects/) | |
| [Zoho Meeting](https://www.zoho.com/meeting/) | |
| [Zoho Writer](https://www.zoho.com/writer/) | |
| [ManageEngine ServiceDesk Plus Cloud](https://www.manageengine.com/products/service-desk/cloud/) | |
| [Zakya](https://www..com/en-in/) | |
| [Arattai](https://www.arattai.in/) | |
| [AlarmsOne](https://www.manageengine.com/alarmsone/) |
| Column Name | Data Type | Search Indexed | IsUnique | IsMandatory | PII/ePHI |
|---|---|---|---|---|---|
| ROWID | BigInt | False | False | False | False |
| CREATORID | BigInt | True | False | False | False |
| CREATEDTIME | DateTime | True | False | False | False |
| MODIFIEDTIME | DateTime | True | False | False | False |
| Primary Data Store | OLAP Database |
|---|---|
| The primary Data Store implements OLTP (Online Transaction Processing) that is suited to handle queries to process transactions, rather than for the purpose of business intelligence. | The OLAP system is built for a multidimensional data model, that allows for complex analytical and ad hoc query executions with a quick execution time, more suited for advanced data analysis. |
| The primary Data Store can process all CRUD operations in an equally optimized manner, as it is fundamentally transaction-oriented. | The OLAP database is highly read-optimized, as it is designed to handle analytical queries, which are typically executed in read operations. |
| You can perform all CRUD operations on the primary Data Store. | You will not be able to execute direct write operations on the OLAP database. |
| Use this to execute transactional SELECT, INSERT, UPDATE and DELETE operations. | Use this to execute analytical SELECT operations that include built-in ZCQL functions. |
| sale_id | region | product | year | quarter | amount |
|---|---|---|---|---|---|
| 101 | East | Laptop | 2024 | Q1 | 900 |
| 102 | East | Laptop | 2024 | Q2 | 1100 |
| 103 | East | Phone | 2024 | Q1 | 500 |
| 104 | West | Laptop | 2024 | Q1 | 800 |
| 105 | West | Phone | 2024 | Q2 | 600 |
| 106 | West | Laptop | 2024 | Q2 | 700 |
| 107 | North | Phone | 2024 | Q1 | 300 |
| 108 | North | Phone | 2024 | Q2 | 400 |
| region | year | Sum(amount) |
|---|---|---|
| East | 2024 | 2500 |
| North | 2024 | 700 |
| West | 2024 | 2100 |
| region | year | quarter | Sum(amount) |
|---|---|---|---|
| East | 2024 | Q1 | 1400 |
| East | 2024 | Q2 | 1100 |
| North | 2024 | Q1 | 300 |
| North | 2024 | Q2 | 400 |
| West | 2024 | Q1 | 800 |
| West | 2024 | Q2 | 1300 |
| region | Avg(amount) |
|---|---|
| East | 700 |
| North | 300 |
| West | 600 |
| region | Count(sale_id) |
|---|---|
| East | 2 |
| West | 2 |
| Subscriber Type | Description |
|---|---|
| `'0'` | **Live events only** - Receive only new messages published after subscribing. |
| `'-1'` | **Earliest available** - Receive all available messages starting from the earliest stored event within the channel's retention period. > **Note:** This type delivers events from the earliest available point within the channel's **48-hour** retention period. Events older than **48 hours** are no longer available. |
| `'-2'` | **Resume** - Resume from where the subscribers' last session left off. For new subscribers, this behaves the same as '0' (live events only). |
| `'<streaming-id>'` | **From a specific Streaming ID** - Resume from a specific Streaming ID. Messages published after this ID will be delivered. |
| Field | Type | Description |
|---|---|---|
| `streamingId` | string | A unique identifier for this message in the stream. |
| `data` | string | The published data, always delivered as a string. Present for inline events. |
| `url` | string | URL to fetch bulk data. Present for bulk events. |
| `method` | string | HTTP method to fetch bulk data. Present for bulk events. |
| Time Period | Range |
|---|---|
| **Today** | Displays the inbound data streamed through the channel from **12:00:00 AM of the current day until the present time**. The graph shows the data volume received during each time interval within the day. |
| **Yesterday** | Displays the inbound data streamed through the channel **during the entire previous day**, from **12:00:00 AM to 11:59:59 PM**. |
| **Last 7 days** | Displays the overall data transfer for **each day of the last 7 days**, including the current day until the present time. The previous 6 days are calculated starting from **12:00:00 AM of the first day**. |
| **Last 30 days** | Displays the overall data transfer for **each day of the last 30 days**, including the current day until the present time. The previous 29 days are calculated starting from **12:00:00 AM of the first day**. |
| **Custom Range** | Enables you to select a **specific start and end date** using the calendar picker, within a maximum interval of **2 months**. The chart then displays the inbound data published through the channel within the selected date range. |
| Parameter | Type | Description |
|---|---|---|
| `channelId` | string | The unique Channel ID from the console |
| `data` | string (JavaScript/Java) string or dict (Python) | The data to publish |
| Error | Cause | Solution |
|---|---|---|
| `Invalid Channel ID` | Wrong or non-existent channel | Verify Channel ID in console |
| `Data must be a string` | Passed object instead of string | Use `JSON.stringify()` (JavaScript/Java) |
| `Unauthorized` | Called from client-side | Move to server-side function |
| `Channel not found` | Channel deleted | Recreate channel or update Channel ID |
| Field | Description |
|---|---|
| **Connection Name** | Unique identifier for the subscriber connection (generated during token pair creation) |
| **User Type** | Type of user (App User or Custom User) based on access control configuration |
| **Status** | Current connection state: Active, Inactive, or Blocked |
| Parameter | Type | Description |
|---|---|---|
| `channelId` | string | The unique identifier of the channel to subscribe to |
| `userId` | string / Long (Java) | The Catalyst project user ID. Use for channels with User Roles access control. |
| `connectionName` | string | Custom connection identifier. Use for channels with Custom Logic access control, from the configured function. |
| Type | Value | When to Use |
|---|---|---|
| **Live events only** | `'0'` | Start receiving only NEW messages published after subscribing |
| **Earliest available** | `'-1'` | Receive ALL available messages from the earliest stored event (within 48-hour retention) |
| **Resume** | `'-2'` | Resume from where you last left off (or live events for new subscribers) |
| **Specific Streaming ID** | `' |
Resume from a specific message (use the streamingId from a previous message) |
| Field | Type | Description |
|---|---|---|
| **streamingId** | string | Unique identifier for this message in the stream |
| **data** | string | The published data (for inline events) |
| **url** | string | URL to fetch bulk data (for bulk events) |
| **method** | string | HTTP method for fetching bulk data (for bulk events) |
| Metric | Description |
|---|---|
| **Messages Streamed** | Total number of messages streamed through the channel **for the day** |
| **Live Subscribers** | Number of subscribers **currently connected** and actively receiving data (real-time count) |
| Time Period | Range | Use Case |
|---|---|---|
| **Today** | 12:00:00 AM → Current time | Monitor today's activity |
| **Yesterday** | Previous day (12:00:00 AM → 11:59:59 PM) | Compare with today |
| **Last 7 days** | Rolling 7-day window | Identify weekly trends |
| **Last 30 days** | Rolling 30-day window | Monitor monthly patterns |
| **Custom Range** | Up to 2 months | Specific date analysis |
| Field | Description |
|---|---|
| **Channel ID** | Unique identifier (required for SDK/API operations) |
| **Created By** | User who created the channel |
| **Created On** | Timestamp when the channel was created |
| **Last Modified On** | Timestamp of most recent configuration change |
| **Control Type** | Access control method (User Roles or Custom Logic) |
| **Retention Time** | Data retention period (**48 hours**) |
| Component Name | Description |
|---|---|
| **Table** | A table is the fundamental structure that NoSQL stores data in. Similar to relational databases, tables are composed of records or items. The sample table Travel shown below holds data about travel destinations that one could visit, with key information about each place. |
| **Attributes** | An attribute represents a characteristic of a data value in a table. Attributes in NoSQL are like fields or columns in a relational database wherein each attribute holds data of a specific data type. The sample table *Travel* below contains the attributes `DestinationName`, `Distance`, `BestTimeToVist`, `Location`, and `EstimatedCost`. |
| **Items** | An item is a collection of attributes that hold the data of a single data point. Items in NoSQL are similar to rows or records in a relational database wherein they can contain values for different attributes. In the sample table *Travel*, each collection of data uniquely identified by the `DestinationName` is an item. For example, the record "Honolulu" that also contains a set of values for the `Distance`, `BestTimeToVisit`, and `EstimatedCost` is an item. Similarly, the record identified by "Prague" with different attribute values is an item. > **Note:** The maximum total size of an item provisioned in Catalyst NoSQL is **400 KB**. |
| **Data** | In Catalyst NoSQL's terms, the data of a table is composed of all the attributes and items in it, present in the [Catalyst Custom JSON format](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/working-with-data/introduction/#the-catalyst-custom-json-format). The JSON code given below for the *Travel* table represents the data of the table. The [Working with Data](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/working-with-data/introduction/) help section elaborates on the custom JSON data format and the supported data types. |
| Component Name | Description |
|---|---|
| **Partition Key** | The partition key identifies a logical partition in a distributed storage that a data item is stored in. These logical partitions are mapped to physical storage nodes in the backend through hash functions. In the sample table *Menu* discussed below, the attribute Category is a partition key. |
| **Sort Key** | The primary sort key sorts through a specific partition to locate a data item and returns it in a sorted order if more than 1 item matches with the partition key in the data. This is done by identifying it from a range of key hashes. Catalyst enables you to add a sort key optionally while creating a NoSQL table. In the sample table *Menu* discussed below, the attribute `DishName` is regarded as a sort key. |
| **Simple Primary Key** | A simple primary key in Catalyst NoSQL denotes the partition key alone. When you choose to only configure a partition key for a NoSQL table without a sort key, the partition key will act as the primary key of the table by uniquely identifying an item in it. This is similar to the concept of a primary key in a relational database. In the sample table *Travel* discussed in the previous section, the attribute `DestinationName` is regarded as the primary key, as this attribute must be present in all items and no two items with the same values for this attribute can exist. However, in the sample table *Menu* discussed below, the partition key `Category` does not uniquely identify an item, because multiple items can exist with the same value for it. This is because the *Menu* table uses a composite primary key. |
| **Composite Primary Key** | The composite primary key includes both a partition key and a sort key to uniquely identify an item, i.e., the combination of both keys act as a primary key. Querying a table with the composite primary key is global, as the data spans across multiple partitions. Unlike the simple primary key which requires the partition key to be unique, you can store non-unique values for the partition key here, as long as you define a sort key as well. > **Note:** For all the items that have the same partition key in a table, the sort keys must be unique. The sample table *Menu* discussed below contains a composite primary key wherein the partition key `Category` and the sort key `DishName` together uniquely identify a data item (a dish). |
| **Additional Sort Keys** | Catalyst NoSQL allows you to configure additional sort keys, besides the main sort key, which is a part of the composite primary key. Additional sort keys are used if you require the sorting to be performed based on a different key besides the main sort key, or if the main sort key is unknown for a specific item. In this case, a combination of the partition key and an additional sort key will be used as a composite primary key. Querying a table with additional sort keys are similar to local indexing, as they are all used with the same partition key to sort in that specific partition alone. > **Note:** Catalyst allows you to configure a **maximum of 5 additional sort keys** for a table. In the sample table *Menu* discussed below, the attributes `PreparationTime` and `Calories` are configured as additional sort keys. |
| Data Type of the Sort Key | Supported Operators |
|---|---|
| String | Equals, Not Equals, Between, Not Between, Greater Than, Lesser Than, Greater Than or Equal To, Lesser Than or Equal To |
| Numeric | Equals, Not Equals, Between, Not Between, Begins With, Ends With, Greater Than, Lesser Than, Greater Than or Equal To, Lesser Than or Equal To, Contains, Not Contains, In, Not In |
| Data Type | Notation | Description |
|---|---|---|
| String | `S` | Stores a sequence of characters |
| Number | `N` | Stores a numerical value |
| Binary | `B` | Stores a binary number that represents a sequence of bytes |
| Boolean | `BOOL` | Stores one of these boolean values: `true` or `false` |
| Set of String | `SS` | A set that stores one or more unique strings |
| Set of Numbers | `SN` | A set that stores a collection of numbers |
| Set of Binary | `SB` | A set that stores a collection of binary numbers as a byte set |
| List | `L` | Stores ordered elements of the same data type |
| Map | `M` | Stores an unordered collection of key-value pair elements |
| Null | `NULL` | Stores only one value: `NULL` |
| JSON Key Name | Purpose |
|---|---|
| `rules` |
|
| `rule_id` |
|
| `effect` |
|
| `allowed_actions` |
|
| `paths` |
|
| `condition` | This JSON key will define the conditions under which the actions need to occur. |
| `user` |
This JSON key will be used in the condition key to specify which user, or set of users, does the condition that is being defined apply to.
|
| `Operators` | These are JSON keys that will help you in defining cases for the conditions to apply or not apply. |
| `string_equals` | Dictate actions that need to occur if the string values are equal. |
| `string_not_equals` | Define actions that need to occur if the string value does not match. |
| `string_equals_ignore_case` | Define actions where the string value can match regardless of the case (upper/lower) that is used. |
| `string_not_equals_ignore_case` | Define actions that need to occur if the string values do not match regardless of the case that is used. |
| `string_like` | If part of the string value matches with the key you provide, then actions can be performed on the object. |
| `string_not_like` | If part of the string value does not match with the key you provide, then actions can be performed on the object. |
| `ip_address` | Define an action if the source of the request comes from a particular IP or IPs that you are allowing. |
| `not_ip_address` | Define actions that should occur if the source of the request comes from IP or IPs that you are particularly halting. |
| `Condition Keys` | |
| `referrer` | This JSON key will contain the value of the complete URL where the action was requested. The value needs to be provided as an array. For example, let's say you have created a microservice and you have hosted it on [Catalyst AppSail](https://docs.catalyst.zoho.com/en/serverless/help/appsail/introduction/). The value of referrer will be the complete URL of this microservice, and the permission will be defined for actions pertaining to this microservice alone. This key will be used for the following operators:
|
| `user_agent` | This JSON key will contain the value of the source from which the request has been made. The value needs to be provided as an array. Whether the source of the request is an API, from a browser, or so on. This key will be used for the following operators:
|
| `source_ip` | This JSON key will contain the value of only publicly listed IP addresses. The value needs to be provided as an array. It will help you in defining a permission that allows, or denies actions from a particular IP. This key will be used for the following operators:
|
| `version` |
|
| Supported DCs | Bucket URL Structure in Development Environment | Bucket URL Structure in Production Environment |
|---|---|---|
| US | https://<bucket_name>-development.zohostratus.com | https://<bucket_name>.zohostratus.com |
| EU | https://<bucket_name>-development.zohostratus.eu | https://<bucket_name>.zohostratus.eu |
| IN | https://<bucket_name>-development.zohostratus.in | https://<bucket_name>.zohostratus.in |
| AU | https://<bucket_name>-development.zohostratus.com.au | https://<bucket_name>.zohostratus.com.au |
| CA | https://<bucket_name>-development.zohostratus.ca | https://<bucket_name>.zohostratus.ca |
| MovieID | MovieName | ShowDate | ShowTime | TheaterID |
|---|---|---|---|---|
| 2056 | The First Purge | 2018-07-13 | 13:00:00 | 047 |
| 2057 | Ant-Man and the Wasp | 2018-07-13 | 14:20:00 | 052 |
| 2058 | Hotel Transylvania 3: Summer Vacation | 2018-07-14 | 17:00:00 | 052 |
| 2059 | Skyscraper | 2018-07-14 | 21:30:00 | 053 |
| MovieID | MovieName |
|---|---|
| 2056 | The First Purge |
| 2057 | Ant-Man and the Wasp |
| 2058 | Hotel Transylvania 3: Summer Vacation |
| 2059 | Skyscraper |
| MovieID | MovieName | ShowDate | ShowTime | TheaterID |
|---|---|---|---|---|
| 2056 | The First Purge | 2018-07-13 | 13:00:00 | 047 |
| 2057 | Ant-Man and the Wasp | 2018-07-13 | 14:20:00 | 052 |
| 2058 | Hotel Transylvania 3: Summer Vacation | 2018-07-14 | 17:00:00 | 052 |
| 2059 | Skyscraper | 2018-07-14 | 21:30:00 | 053 |
| Operators | Description |
|---|---|
| = | Equal to |
| IS | TRUE if the operand is the same as the value |
| IS NULL | TRUE if the operand is a null value |
| IS NOT NULL | TRUE if the operand is not a null value |
| != | Not equal to |
| LIKE | TRUE if the operand matches a pattern |
| NOT LIKE | TRUE if the operand does not match a pattern |
| BETWEEN | TRUE if the operand value is between the start and end values |
| IN | TRUE if the operand is equal to a list of expressions |
| NOT IN | TRUE if the operand is not equal to a list of expressions |
| > | Greater than |
| >= | Greater than or equal to |
| < | Lesser than |
| <= | Lesser than or equal to |
| MovieName | ShowDate |
|---|---|
| Hotel Transylvania 3: Summer Vacation | 2018-07-14 |
| Skyscraper | 2018-07-14 |
| MovieName | ShowDate | ShowTime |
|---|---|---|
| Skyscraper | 2018-07-14 | 21:30:00 |
| MovieID | MovieName | ShowDate | ShowTime | TheaterID |
|---|---|---|---|---|
| 2059 | Skyscraper | 2018-07-17 | 21:30:00 | 053 |
| Wildcard Syntax | Definition |
|---|---|
| `\*` | Matches zero or more characters |
| `?` | Matches exactly one character |
| MovieID | MovieName | ShowDate | ShowTime | TheaterID |
|---|---|---|---|---|
| 2057 | Ant-Man and the Wasp | 2018-07-13 | 14:20:00 | 052 |
| 2058 | Hotel Transylvania 3: Summer Vacation | 2018-07-14 | 17:00:00 | 052 |
| MovieName |
|---|
| The White River Kid |
| Duplex |
| Oppenheimer |
| Name | City |
|---|---|
| Dark Knight Rises | Los Angeles |
| Titanic | New York |
| ID | Name | Department | Salary |
|---|---|---|---|
| ZT-001 | Amelia Burrows | Product Management | 15000 |
| ZT-2001 | Bruce Wayne | Sr. Management | 85000 |
| ZT-239 | Clark Kane | Media Relations | 85000 |
| ZT-4289 | Michelle Mascarenhas | Finance | 89000 |
| Zylker_Employee_DB.Salary | Zylker_Employee_DB.Name |
|---|---|
| 15000 | Amelia Burrows |
| 85000 | Bruce Wayne |
| 89000 | Michelle Mascarenhas |
| Operators | Description |
|---|---|
| = | Equal to |
| IS | TRUE if the operand is the same as the value |
| IS NULL | TRUE if the operand is a null value |
| IS NOT NULL | TRUE if the operand is not a null value |
| =! | Not equal to |
| LIKE | TRUE if the operand matches a pattern |
| NOT LIKE | TRUE if the operand does not match a pattern |
| BETWEEN | TRUE if the operand value is between the start and end values |
| IN | TRUE if the operand is equal to a list of expressions |
| NOT IN | TRUE if the operand is not equal to a list of expressions |
| > | Greater than |
| >= | Greater than or equal to |
| < | Lesser than |
| <= | Lesser than or equal to |
| ID | Name | Department | Salary |
|---|---|---|---|
| ZT-001 | Amelia Burrows | Product Management | 15000 |
| ZT-2001 | Bruce Wayne | Sr. Management | 85000 |
| ZT-239 | Clark Kane | Media Relations | 85000 |
| ZT-4289 | Michelle Mascarenhas | Finance | 89000 |
| Zylker_Employee_DB.Salary | Zylker_Employee_DB.Department | Zylker_Employee_DB.Name |
|---|---|---|
| 85000 | Sr. Management | Bruce Wayne |
| 89000 | Finance | Michelle Mascarenhas |
| TheaterID | TheaterName | Location |
|---|---|---|
| 047 | The Express Cinemas | New York City |
| 048 | ANC Cinemas | Rochester |
| 052 | Cosmos Theater | Albany |
| 053 | FunTime Cinemas | Buffalo |
| MovieName | TheaterName | ShowDate | ShowTime |
|---|---|---|---|
| Ant-Man and the Wasp | The Express Cinemas | 2018-07-13 | 13:30:00 |
| Hotel Transylvania 3: Summer Vacation | Cosmos Theater | 2018-07-13 | 14:20:00 |
| The First Purge | Cosmos Theater | 2018-07-14 | 17:00:00 |
| The First Purge | FunTime Cinemas | 2018-07-14 | 21:30:00 |
| TheaterName | Location | MovieName |
|---|---|---|
| The Express Cinemas | New York City | The First Purge |
| ANC Cinemas | Rochester | NULL |
| Cosmos Theater | Albany | Hotel Transylvania 3: Summer Vacation |
| FunTime Cinemas | Buffalo | Skyscraper |
| TheaterID | MovieID | Price |
|---|---|---|
| 047 | 2056 | 9.20 |
| 048 | NULL | NULL |
| 052 | 2057 | 8.64 |
| 052 | 2058 | 11.50 |
| 053 | 2059 | 7.44 |
| TheaterName | MovieName | ShowDate | ShowTime | Price |
|---|---|---|---|---|
| The Express Cinemas | The First Purge | 2018-07-13 | 13:00:00 | 9.20 |
| ANC Cinemas | NULL | NULL | NULL | NULL |
| Cosmos Theater | Ant-Man and the Wasp | 2018-07-13 | 14:20:00 | 8.64 |
| Cosmos Theater | Hotel Transylvania 3: Summer Vacation | 2018-07-14 | 17:00:00 | 11.50 |
| FunTime Cinemas | Skyscraper | 2018-07-14 | 21:30:00 | 7.44 |
| TheaterName | Location |
|---|---|
| Cosmos Theater | Albany |
| FunTime Cinemas | Buffalo |
| The Express Cinemas | New York City |
| ANC Cinemas | Rochester |
| Names |
|---|
| AMELIA BURROWS |
| amelia burrows |
| amelia Burrows |
| Amelia Burrows |
| Zylker_EMP.Names |
|---|
| AMELIA BURROWS |
| amelia burrows |
| amelia Burrows |
| Amelia Burrows |
| MovieName | Price |
|---|---|
| Hotel Transylvania 3: Summer Vacation | 11.50 |
| The First Purge | 9.20 |
| Ant-Man and the Wasp | 8.64 |
| Skyscraper | 7.44 |
| MovieID | MovieName | ShowDate | ShowTime | TheaterID |
|---|---|---|---|---|
| 2057 | Ant-Man and the Wasp | 2018-07-13 | 14:20:00 | 052 |
| 2058 | Hotel Transylvania 3: Summer Vacation | 2018-07-14 | 17:00:00 | 052 |
| 2059 | Skyscraper | 2018-07-14 | 21:30:00 | 053 |
| MIN(Price) |
|---|
| 7.44 |
| MAX(Price) |
|---|
| 11.50 |
| COUNT(TheaterName) |
|---|
| 2 |
| SUM(Price) |
|---|
| 20.7 |
| AVG(Price) |
|---|
| 9.19 |
| TheaterName |
|---|
| The Express Cinemas |
| Cosmos Theater |
| FunTime Cinemas |
| ID | Name | Department | Salary |
|---|---|---|---|
| ZT-001 | Amelia Burrows | Product Management | 15000 |
| ZT-2001 | Bruce Wayne | Sr. Management | 85000 |
| ZT-239 | Clark Kane | Media Relations | 4500 |
| ZT-4289 | Michelle Mascarenhas | Finance | 89000 |
| MAX(Salary) | SUM(Salary) | MIN(Salary) | AVG(Salary) | COUNT(Salary) |
|---|---|---|---|---|
| 89000 | 193500 | 4500 | 48975 | 4 |
| Name | Salary | Reimbursement |
|---|---|---|
| Michelle Mascarenhas | 90000 | 10000 |
| Bruce Kyle | 3000000 | 45000 |
| Clark Kane | 3300 | 1500 |
| Judith Bridges | 4700 | 300 |
| Devon Dreymond | 80000 | 2300 |
| Ashley Kim | 6000 | 200 |
| ZylkerEmployeeCompensation.Salary | ZylkerEmployeeCompensation.Reimbursement |
|---|---|
| 3300 | 45000 |
| 4700 | 10000 |
| 6000 | 2300 |
| 80000 | 1500 |
| 90000 | 300 |
| 3000000 | 200 |
| Name | Salary | Reimbursement |
|---|---|---|
| Michelle Mascarenhas | 90000 | 10000 |
| Bruce Kyle | 3000000 | 45000 |
| Clark Kane | 3300 | 1500 |
| Judith Bridges | 4700 | 300 |
| Devon Dreymond | 80000 | 2300 |
| Ashley Kim | 6000 | 200 |
| Manager | Member |
|---|---|
| Michelle Mascarenhas | Bruce Kyle |
| Michelle Mascarenhas | Clark Kane |
| Judith Bridges | Michelle Mascarenhas |
| Manager.Name | Member.Name |
|---|---|
| Michelle Mascarenhas | Bruce Kyle |
| Michelle Mascarenhas | Clark Kane |
| Judith Bridges | Michelle Mascarenhas |
| Datatype | Case | Sample ZCQL Query | Triggered Exception |
|---|---|---|---|
| Encrypted Text | Certain operators are not supported | SELECT * FROM temp WHERE enc > 'temsp' | `Operator > is not supported for ENCRYPTED TEXT` The same exception applies, but the exception message will be altered accordingly if you use these operators **<**, **<=**, **>=** in the ZCQL statement |
| `LIKE` is not supported | SELECT * FROM temp WHERE enc LIKE '*temsp' | `Operator LIKE is not supported for ENCRYPTED TEXT` The same exception applies, but the exception message will be altered accordingly if you use **NOT LIKE** in the ZCQL statement | |
| `BETWEEN` is not supported | SELECT * FROM temp WHERE enc BETWEEN 'one' AND 'ten' | `Operator BETWEEN is not supported for ENCRYPTED TEXT` The same exception applies, but the exception message will be altered accordingly if you use **NOT BETWEEN** in the ZCQL statement | |
| `IN` is not supported | SELECT * FROM temp WHERE enc IN ('one','three') | `Operator IN is not supported for ENCRYPTED TEXT` The same exception applies if you use **NOT IN** in your query, but the exception message will be altered accordingly | |
| ZCQL functions is not supported | SELECT AVG(enc) FROM temp | `AVG() function is not supported for ENCRYPTED_TEXT` [ZCQL Functions](https://docs.catalyst.zoho.com/en/cloud-scale/help/zcql/zcql-functions/) are not supported in **Encrypted Text**. | |
| Boolean | Certain operators are not supported | SELECT * FROM temp WHERE bools > FALSE | `Operator > is not supported for BOOLEAN` The same exception applies, but the exception message will be altered accordingly if you use these operators **<**, **<=**, **>=** in the ZCQL statement |
| `LIKE` is not supported | SELECT * FROM temp WHERE bools LIKE FALSE | `Operator LIKE is not supported for BOOLEAN` The same exception applies if you use **NOT LIKE** in your query, but the exception message will be altered accordingly | |
| `BETWEEN` is not supported | SELECT * FROM temp WHERE bools BETWEEN TRUE and FALSE | `Operator BETWEEN is not supported for BOOLEAN` The same exception applies if you use **NOT BETWEEN** in your query, but the exception message will be altered accordingly | |
| `IN` is not supported | SELECT * FROM temp WHERE bools IN (TRUE, FALSE) | `Operator IN is not supported for BOOLEAN` The same exception applies if you use **NOT IN** in your query, but the exception message will be altered accordingly | |
| VarChar | Maximum length exceeded | INSERT INTO temp (Fishes) value ('salmon') | `'salmon' data too long for column 'Fishes'` The column `Fishes` was created as a **VarChar** and the **MaxLength** was set as `5`. In this statement, `'Salmon'` exceeds the **MaxLength** |
| Integer | Maximum value exceeded | INSERT INTO temp (numbers) VALUE (546895326908) | `For column 'ints' INT value should be between -9999999999 and 9999999999` The column numbers was created as **INT**. The value of **INT** datatype should be between `-9999999999` and `9999999999` |
| Big Integer | Maximum value exceeded | INSERT INTO temp (numbers) VALUE (92343432412351 435123453245) | `Given numeric value 92343432412351 435123453 is too large` The column numbers was created as **BIGINT**. The value of **BIGINT** datatype should be between `-9223372036854775808` and `9223372036854775807` |
| Text | Value not enclosed in single quotes | SELECT * FROM temp WHERE name = one | `Unknown Table temp or Unknown Column one in WHERE` The value `one` will be considered as column if it is not enclosed in quotes-'`one`' |
The start index to fetch the user records from
- **end** (Numerical):Number of user records to return in a single page through pagination
#### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.projects.users.READ ### Response Details The response will contain the details of all application users including their identification values such as `zuid`, `user_id`, `email_id`, and their role details. **Sample Request** ```bash curl -X GET \ https://api.catalyst.zoho.com/baas/v1/project/3000000005007/project-user?start=100&end=3 \ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" ``` **Sample Response** ```json { "status": "success", "data": [ { "zuid": 3171930121, "zaaid": 1019540153, "status": "ACTIVE", "user_id": 671930409, "user_type": "App User", "is_confirmed": true, "email_id": "ron.grisham@zylker.com", "first_name": "Ronald", "last_name": "Grisham", "created_time": "Jul 09, 2019 04:11 PM", "modified_time": "Jul 09, 2019 04:11 PM", "invited_time": "Jul 09, 2019 04:11 PM", "role_details": { "role_id": 3000000005015, "role_name": "App User" } "org_id":1019540153 "locale": "us|en_us|America/Los_Angeles" "time_zone": "America/Los_Angeles" }, { "zuid": 3171930089, "zaaid": 1019543293, "status": "ACTIVE", "user_id": 671930121, "user_type": "App User", "is_confirmed": true, "email_id": "Lucy.p@zylker.com", "first_name": "Lucy", "last_name": "Pettigrew", "created_time": "Jul 09, 2019 04:26 PM", "modified_time": "Jul 09, 2019 04:26 PM", "invited_time": "Jul 09, 2019 04:26 PM", "role_details": { "role_id": 3000000005015, "role_name": "App User" } "org_id":1019540153 "locale": "us|en_us|America/Los_Angeles" "time_zone": "America/Los_Angeles" }, { "zuid": 3171937685, "zaaid": 1019540091, "status": "ACTIVE", "user_id": 671930888, "user_type": "App User", "is_confirmed": true, "email_id": "zayn.ahmed@zylker.com", "first_name": "Zayn", "last_name": "Ahmed", "created_time": "Jul 09, 2019 04:26 PM", "modified_time": "Jul 09, 2019 04:26 PM", "invited_time": "Jul 09, 2019 04:26 PM", "role_details": { "role_id": 3000000005015, "role_name": "App User" } "org_id":1019540153 "locale": "us|en_us|America/Los_Angeles" "time_zone": "America/Los_Angeles" } ] } ``` ### SDK Documentation [Get User Details- Java SDK](https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/authentication/get-user-details/#get-all-user-details) [Get User Details- Node.js SDK](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/authentication/get-user-details/#get-details-of-all-users) [Get User Details- Python SDK](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/authentication/get-user-details/#get-details-of-all-users) [Get User Details- Web SDK](https://docs.catalyst.zoho.com/en/sdk/web/v4/cloud-scale/authentication/get-user-details/) -------------------------------------------------------------------------------- title: "Delete User" description: "This API enables you to delete an end-user from your Catalyst application and displays the details of the deleted user through Catalyst Authentication." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/authentication/delete-user/" service: "CloudScale" -------------------------------------------------------------------------------- # Delete User ### Description This API enables you to delete a [user](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/user-management/users/introduction/) and completely remove their access to your Catalyst application. ### Request Details #### Request URL `DELETE` {api-domain}/baas/v1/project/{project_id}/project-user/{user_id} - **api-domain** (URL): The DC-specific domain to access Catalyst API - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the project - **user_id** (Numerical): The unique User ID of the user generated by Catalyst #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.projects.users.DELETE > **Note:** This operation can also be executed with Catalyst user authentication permissions using Catalyst SDKs. However, the user can only obtain their own user details. Refer to the [Catalyst API Prerequisites section](https://docs.catalyst.zoho.com/en/api/introduction/overview-and-prerequisites/#prerequisites) for details. ### Response Details The response will contain the details of the deleted user including their identification values such as `zaid`, `user_id`, `email_id`, and their role details. **Sample Request** ```bash curl -X DELETE \ https://api.catalyst.zoho.com/baas/v1/project/3000000005007/project-user/671930409 \ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*6.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" ``` **Sample Response** ```json { "status": "success", "data": { "zuid": 3000000006111, "zaaid": 1019540153, "status": "ACTIVE", "user_id": 671930409, "user_type": "App Administrator", "is_confirmed": true, "email_id": "p.boyle@zylker.com", "first_name": "Patricia", "last_name": "Boyle", "created_time": "Jul 09, 2019 04:11 PM", "modified_time": "Jul 09, 2019 04:11 PM", "invited_time": "Jul 09, 2019 04:11 PM", "role_details": { "role_id": 3000000005090, "role_name": "App Administrator" } "org_id":1019540153 "locale": "us|en_us|America/Los_Angeles" "time_zone": "America/Los_Angeles" } } ``` ### SDK Documentation [Delete User - Java SDK](https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/authentication/delete-user/) [Delete User - Node.js SDK](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/authentication/delete-user/) [Delete User - Python SDK](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/authentication/delete-user/) -------------------------------------------------------------------------------- title: "Reset User Password" description: "This API enables you to reset the password of a user of your Catalyst application through Catalyst Authentication." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/authentication/reset-user-password/" service: "CloudScale" -------------------------------------------------------------------------------- # Reset User Password ### Description This API enables you to [reset the password](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/user-management/users/implementation/#reset-a-users-password) of a user of your Catalyst application. When this API is called, an email will be sent to the user's email address with a password reset link. The user can configure a new password for your application and save it, upon clicking the link. ### Request Details #### Request URL `POST` {api-domain}/baas/v1/project/{project_id}/project-user/forgotpassword - **api-domain** (URL): The DC-specific domain to access Catalyst API - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the project #### Request Headers **Content-Type:** application/json **PROJECT_ID:** {[ZAID](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/social-logins/introduction/#configure-authorized-uris)} **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development > **Note:** Catalyst does not authenticate this API request. Therefore, you need not pass an OAuth token or specify any scopes. #### Request JSON Properties - **platform_type** (string, mandatory): Accepted values: `web`, `android`, `ios` Max Size: N/A - **redirect_url** (string, optional): The URL to be redirected to, after the user resets the password Max Size: 200 - **user_details** (json, mandatory): The JSON that contains the details of the user - **first_name** (String): First name of the user Mandatory: No Max Size: 100 - **last_name** (String): Last name of the user Mandatory: No Max Size: 100 - **email_id** (String): Email address of the user Mandatory: Yes Max Size: N/A ### Response Details The response will contain the status of the reset password action. **Sample Request** ```bash curl -X POST \ https://api.catalyst.zoho.com/baas/v1/project/3000000002001/project-user/forgotpassword \ -H "Content-Type: application/json" \ -d '{ "user_details":{ "email_id":"p.boyle@zylker.com" }, "platform_type":"web" }' ``` **Sample Response** ```json { "status": "success", "data": "Reset link sent to your p.boyle@zylker.com email address. Please check your email :)" } ``` ### SDK Documentation [Reset User Password- Java SDK](https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/authentication/reset-password) [Reset User Password- Node.js SDK](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/authentication/reset-password) [Reset User Password- Python SDK](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/authentication/reset-password) [Reset User Password- Web SDK](https://docs.catalyst.zoho.com/en/sdk/web/v4/cloud-scale/authentication/reset-password) -------------------------------------------------------------------------------- title: "Sign Out User" description: "This API will log a user out of an active Catalyst session through Catalyst Authentication." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/authentication/sign-out-user/" service: "CloudScale" -------------------------------------------------------------------------------- # Sign Out User ### Description A [Catalyst application user](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/user-management/introduction/) can log out from their current active session in the application using this API request. Catalyst will not send any response back for this API request. ### Request Details #### Request URL `GET` {application_domain}/baas/logout?logout=true&PROJECT_ID={project_id} - **api-domain** (URL): The DC-specific domain to access Catalyst API - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the project - **application_domain** (String):The domain address of the Catalyst application
**Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development > **Note:** Catalyst does not authenticate this API request. Therefore, you need not pass an OAuth token or specify any scopes. **Sample Request** ```bash curl -X GET \ https://portal.zylker.com/baas/logout?logout=true&PROJECT_ID=3000000002001 ``` ### SDK Documentation [Sign Out User- Web SDK](https://docs.catalyst.zoho.com/en/sdk/web/v4/cloud-scale/authentication/sign-out-user/) ### Cache -------------------------------------------------------------------------------- title: "Insert Key Value in Cache Segment" description: "This API enables you to insert a key-value pair as the cache item in a cache segment." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/cache/insert-key-value-in-segment/" service: "CloudScale" -------------------------------------------------------------------------------- # Cache [Catalyst Cache](https://docs.catalyst.zoho.com/en/cloud-scale/help/cache/introduction/) is a small in-memory storage component that enables you to store data that is frequently accessed by your Catalyst application. Catalyst cache is divided into partitions or cache units called segments. Each segment stores cache items in the form of key-value pairs. # Insert a Key-Value Pair In a Cache Segment ### Description This API enables you to insert a key-value pair as the cache item in a cache segment. The segment is referred by its unique ID. The key represents the attribute and the value is the data of the cache item. You can also optionally specify the expiry time of the cache item. The default and maximum validity of a cache item is two days. > **Note:**The cache segment must already be created. You can [create a segment](https://docs.catalyst.zoho.com/en/cloud-scale/help/cache/implementation/#create-a-segment) from the Catalyst console or use the default segment. ### Request Details #### Request URL `POST` {api-domain}/baas/v1/project/{project_id}/segment/{segment_id}/cache - **api-domain** (URL): The DC-specific domain to access Catalyst API - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the project - **segment_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/cloud-scale/help/cache/implementation/#create-a-segment) of the cache segment #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Content-Type:** application/json **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.cache.CREATE #### Request JSON Properties - **cache_name** (string, mandatory): Key name of the cache segment Max Size: 50 characters - **cache_value** (string, mandatory): Data value the key represents Max Size: 16000 characters - **expiry_in_hours** (long, optional): Duration of expiry in hours Max Size: 48 ### Response Details The response will return the details of the cache item such as the `cache_name`, `cache_value` and `expires_in`, along with the details of the segment it was inserted into. **Sample Request** ```bash curl -X POST \ https://api.catalyst.zoho.com/baas/v1/project/4000000006007/segment/3376000000425030/cache \ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" \ -H "Content-Type:application/json" \ -d ‘{ "cache_name":"counter", "cache_value":"125", "expiry_in_hours":24 }’ ``` **Sample Response** ```json { "status": "success", "data": { "cache_name": "counter", "cache_value": "125", "project_details": { "id": 4000000006007, "project_name": "ShipmentTracking", "project_type": "Live" }, "segment_details": { "id": 3376000000425030, "segment_name": "CustomerLocation" }, "expires_in": "Mar 28, 2019 02:03 AM", "expiry_in_hours": 24, "ttl_in_milliseconds": 86400000 } } ``` ### SDK Documentation [Insert Key-Value Pair- Java SDK](https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/cache/insert-data-into-cache) [Insert Key-Value Pair- Node.js SDK](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/cache/insert-data-into-cache) [Insert Key-Value Pair- Python SDK](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/cache/insert-data-into-cache) -------------------------------------------------------------------------------- title: "Get Cache Value" description: "This API enables you to retrieve the value of a cache item from a segment in the cache." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/cache/get-cache-value/" service: "CloudScale" -------------------------------------------------------------------------------- # Get the Value of a Cache Key ### Description This API enables you to retrieve the value of a cache item from a [segment in the cache](https://docs.catalyst.zoho.com/en/cloud-scale/help/cache/introduction/). The segment is referred by its unique segment ID, and you must pass the key of the cache item in the request. This API enables you to insert a key-value pair as the cache item in a cache segment. The segment is referred by its unique ID. The key represents the attribute and the value is the data of the cache item. You can also optionally specify the expiry time of the cache item. The default and maximum validity of a cache item is two days. ### Request Details #### Request URL `GET` {api-domain}/baas/v1/project/{project_id}/segment/{segment_id}/cache?cacheKey={cache_key} - **api-domain** (URL): The DC-specific domain to access Catalyst API - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the project - **segment_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/cloud-scale/help/cache/implementation/#create-a-segment) of the cache segment #### Query Parameters - **cache_key** (String): The [unique key](https://docs.catalyst.zoho.com/en/cloud-scale/help/cache/key-concepts/#cache-items) in a segment whose value needs to be retrieved #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.cache.READ ### Response Details The response will return the details of the cache item such as the `cache_name`, `cache_value` and `expires_in`, along with the details of its segment. **Sample Request** ```bash curl -X GET \ https://api.catalyst.zoho.com/baas/v1/project/4000000006007/segment/31000000006023/cache?cacheKey=counter \ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" ``` **Sample Response** ```json { "status": "success", "data": { "cache_name": "counter", "cache_value": "1344", "project_details": { "id": 4000000006007, "project_name": "ShipmentTracking", "project_type": "Live" }, "segment_details": { "id": 31000000006023, "segment_name": "MailCounters" }, "expires_in": "2019-03-13T18:36:02+05:30", "expiry_in_hours": 3, "ttl_in_milliseconds": 81187000 } } ``` ### SDK Documentation [Retrieve Data from Cache- Java SDK](https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/cache/retrieve-data-from-cache) [Retrieve Data from Cache- Node.js SDK](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/cache/retrieve-data-from-cache) [Retrieve Data from Cache- Python SDK](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/cache/retrieve-data-from-cache) -------------------------------------------------------------------------------- title: "Update Key Value Pair" description: "This API enables you to update a key-value pair in a cache segment." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/cache/update-key-value/" service: "CloudScale" -------------------------------------------------------------------------------- # Update a Key-Value Pair ### Description This API enables you to update a key-value pair in a [cache segment](https://docs.catalyst.zoho.com/en/cloud-scale/help/cache/introduction/). The segment is referred by its unique ID. The key represents the attribute and the value is the data of the cache item. You can update the key, value, or the time of expiry of the cache item. The default and maximum validity of a cache item is two days. ### Request Details #### Request URL `PUT` {api-domain}/baas/v1/project/{project_id}/segment/{segment_id}/cache - **api-domain** (URL): The DC-specific domain to access Catalyst API - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the project - **segment_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/cloud-scale/help/cache/implementation/#create-a-segment) of the cache segment #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.cache.CREATE #### Request JSON Properties - **cache_name** (string, mandatory): Key name of the cache segment Max Size: 50 characters - **cache_value** (string, mandatory): Data value the key represents Max Size: 16000 characters - **expiry_in_hours** (long, optional): Duration of expiry in hours Max Size: 48 ### Response Details The response will return the details of the updated cache item such as the `cache_name`, `cache_value` and `expires_in`, along with the details of its segment. **Sample Request** ```bash curl -X PUT \ https://api.catalyst.zoho.com/baas/v1/project/4000000006007/segment/3376000000425030/cache \ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" \ -H "Content-Type:application/json" \ -d ‘{ "cache_name":"counter", "cache_value":"1472" }’ ``` **Sample Response** ```json { "status": "success", "data": { "cache_name": "counter", "cache_value": "1472", "project_details": { "id": 4000000006007, "project_name": "ShipmentTracking", "project_type": "Live" }, "segment_details": { "id": 3376000000425030, "segment_name": "CounterValues" }, "expires_in": "Mar 28, 2019 02:03 AM", "expiry_in_hours": 7, "ttl_in_milliseconds": 172800000 } } ``` ### SDK Documentation [Update Key-Value Pair- Java SDK](https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/cache/update-data-in-cache) [Update Key-Value Pair- Node.js SDK](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/cache/update-data-in-cache) [Update Key-Value Pair- Python SDK](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/cache/update-data-in-cache) -------------------------------------------------------------------------------- title: "Delete Key Value Pair" description: "This API enables you to delete the key value of a cache item from a segment in the cache." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/cache/delete-key-value/" service: "CloudScale" -------------------------------------------------------------------------------- # Delete a Key-Value Pair ### Description This API enables you to delete an existing key-value pair from a specified [cache segment](https://docs.catalyst.zoho.com/en/cloud-scale/help/cache/introduction/). The segment is referred by its unique ID. The key represents the attribute and the value is the data of the cache item. ### Request Details #### Request URL `DELETE` {api-domain}/baas/v1/project/{project_id}/segment/{segment_id}/cache?cacheKey={cache_key} - **api-domain** (URL): The DC-specific domain to access Catalyst API - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the project - **segment_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/cloud-scale/help/cache/implementation/#create-a-segment) of the cache segment #### Query Parameters - **cache_key** (String): The [unique key](https://docs.catalyst.zoho.com/en/cloud-scale/help/cache/key-concepts/#cache-items) in a segment whose value needs to be deleted. #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.cache.DELETE ### Response Details The response will return the details of the deleted cache item, including the `cache_name`, `cache_value` and `expires_in`. Since the cache entry has been removed, both `cache_value` and expiry fields will return as null. **Sample Request** ```bash curl -X DELETE \ https://api.catalyst.zoho.com/baas/v1/project/4000000006007/segment/31000000006023/cache?cacheKey=counter \ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" ``` **Sample Response** ```json { "status": "success", "data": { "cache_name": "NEW", "cache_value": null, "project_details": { "project_name": "ShipmentTracking", "id": 4000000006007, "project_type": "Live" }, "segment_details": { "segment_name": "MailCounters", "id": 31000000006023 }, "expires_in": null, "expiry_in_hours": null, "ttl_in_milliseconds": null } } ``` ### SDK Documentation [Delete Data from Cache - Java SDK](https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/cache/delete-key-value-pair) [Delete Data from Cache - Node.js SDK](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/cache/delete-key-value-pair) [Delete Data from Cache - Python SDK](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/cache/delete-key-value-pair) ### Data Store -------------------------------------------------------------------------------- title: "Insert New Row" description: "This API enables you to insert a new row of data or a record in a table in the Data Store." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/data-store/insert-new-row/" service: "CloudScale" -------------------------------------------------------------------------------- # Data Store [Catalyst Data Store](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/introduction) is a cloud-based relational database management system which stores the persistent data of your application in the form of tables. Data Store APIs enable you to insert and manage records in the tables of your project's Data Store, obtain table and column details, and even perform bulk read and bulk write actions. However, you can create a table and its schema only from the Catalyst console. # Insert a New Row In a Table ### Description This API enables you to insert a new row of data or a record in a table in the Data Store, by referring to the table's unique ID or name. You must pass the column names and their corresponding values for the record in a JSON array in the request as described below. > **Note:** The table and the columns in it must already be created. You can [create a table](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/tables/#create-a-new-table) and the [columns](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/columns/#create-a-new-column) for it from the console. ### Request Details #### Request URL `POST` {api-domain}/baas/v1/project/{project_id}/table/{tableIdentifier}/row - **api-domain** (URL): The DC-specific domain to access Catalyst API - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the project - **tableIdentifier** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/tables/#create-a-new-table) of the table or table name #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Content-Type:** application/json **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.tables.rows.CREATE > **Note:** This operation can also be executed with Catalyst user authentication permissions using Catalyst SDKs. Refer to the [Catalyst API Prerequisites section](https://docs.catalyst.zoho.com/en/api/introduction/overview-and-prerequisites/#prerequisites) for details. #### Request JSON Array You must send the column names and their corresponding values in a **JSON array** like this: ```json { "column1_name": "column1_value", "column2_name": "column2_value", "column3_name": "column3_value", . . } ``` where `column_name` is the name of a unique column in the table, and `column_value` is its corresponding value in the record. > **Note:** You must send at least one column name and value pair to insert in the record. ### Response Details The response will contain the metadata of the row that was created such as its `ROWID` and `CREATEDTIME`, and the column key names and values that were inserted. **Sample Request** ```bash curl -X POST \ https://api.catalyst.zoho.com/baas/v1/project/4000000006007/table/EmpDetails/row \ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" \ -H "Content-Type:application/json" \ -d '[ { "Department_ID":"IT678", "Department_Name":"Marketing", "Employee_Name":"Robert Page" } ]' ``` **Sample Response** ```json { "status": "success", "data": [ { "CREATORID": "12096000000003003", "MODIFIEDTIME": "2023-06-05 11:35:14:332", "Department_ID": null, "Employee_Name": "Robert Page", "Department_Name": "Marketing", "CREATEDTIME": "2023-06-05 11:35:14:332", "ROWID": 12096000000642928 } ] } ``` ### SDK Documentation [Insert Rows- Java SDK](https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/data-store/insert-rows) [Insert Rows- Node.js SDK](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/data-store/insert-rows) [Insert Rows- Python SDK](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/data-store/insert-rows) [Insert Rows- Web SDK](https://docs.catalyst.zoho.com/en/sdk/web/v4/cloud-scale/data-store/insert-rows) -------------------------------------------------------------------------------- title: "Get All Rows" description: "This API enables you to fetch all the rows from a particular table in the Catalyst Data Store." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/data-store/get-all-rows/" service: "CloudScale" -------------------------------------------------------------------------------- # Get All Rows In a Table ### Description This API enables you to fetch all the rows from a particular table in the [Data Store](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/introduction). You can refer to the table by its ID or name. The API incorporates pagination for fetching all rows. **Pagination** allows you to retrieve the records in pages through an iteration of API calls. For example, if you require the rows to be fetched in batches of 100 as individual pages, you must include a `max_rows` parameter in your request, that specifies the maximum rows to be fetched in each page as 100. Additionally, every API response will contain a token that you can pass in the next API call, to fetch the next page of rows. This token authorizes the subsequent fetching of data. You must pass the token string obtained in the response of the previous API call through the `next_token` parameter in the request. You need not pass the `next_token` parameter for the first API call. You can execute an API call for each iteration in this manner and fetch all rows in pages. ### Request Details #### Request URL `GET` {api-domain}/baas/v1/project/{project_id}/table/{tableIdentifier}/row?next_token={token_string}&max_rows={number_of_rows} - **api-domain** (URL): The DC-specific domain to access Catalyst API - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the project - **tableIdentifier** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/tables/#create-a-new-table) of the table or table name - **next_token** (Numerical):(not required for the first API call) The token value obtained from the previous API call to be passed for fetching the next set of rows through pagination
- **max_rows** (Numerical):(optional) The maximum number of rows that must be returned in a single page through pagination. The API will return 200 rows in a single page by default if this value is not specified.
#### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.tables.rows.READ > **Note:** This operation can also be executed with Catalyst user authentication permissions using Catalyst SDKs. Refer to the [Catalyst API Prerequisites section](https://docs.catalyst.zoho.com/en/api/introduction/overview-and-prerequisites/#prerequisites) for details. ### Response Details The response will return the rows that are fetched through the API call in pages based on the `max_rows` value you specify. If there are rows available more than the requested count or the `max_rows` count, the response will also contain the token that you must pass to fetch the next set of rows as `next_token`. If there are no more records to be fetched, the response will not contain a token. **Sample Request** ```bash curl -X GET \ https://api.catalyst.zoho.com/baas/v1/project/4000000006007/table/CustomerDetails/row?max_rows=4&next_token=************* \ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" ``` **Sample Response (If more records available)** ```json { "status": "success", "data": [ { "CREATORID": 56000000002003, "MODIFIEDTIME": "2019-03-06 10:16:41", "Department_ID": "IT148", "Department_Name": "Admin", "Employee_Name": "Eric Hyde", "CREATEDTIME": "2019-03-06 10:16:41", "ROWID": 56000000342025, "doubleDataType": null }, { "CREATORID": 56000000002003, "MODIFIEDTIME": "2019-03-06 10:18:56", "Department_ID": "IT170", "Department_Name": "Sales", "Employee_Name": "Steven Kelso", "CREATEDTIME": "2019-03-06 10:18:56", "ROWID": 56000000342026, "doubleDataType": null }, { "CREATORID": 56000000002003, "MODIFIEDTIME": "2019-03-06 10:19:00", "Department_ID": "IT190", "Department_Name": "Marketing", "Employee_Name": "Micheal Forman", "CREATEDTIME": "2019-03-06 10:18:58", "ROWID": 56000000342027, "doubleDataType": null }, { "CREATORID": 56000000002003, "MODIFIEDTIME": "2019-03-06 10:45:11", "Department_ID": "IT111", "Department_Name": "Support", "Employee_Name": "Madeline Burkhart", "CREATEDTIME": "2019-03-06 10:18:34", "ROWID": 56000000342028, "doubleDataType": null }, ], "more_records" : true, "next_token" : "{{token}}" } ``` **Sample Response (If no more records available)** ```json { "status": "success", "data": [ { "CREATORID": 56000000002003, "MODIFIEDTIME": "2019-03-06 10:16:41", "Department_ID": "IT148", "Department_Name": "Admin", "Employee_Name": "Eric Hyde", "CREATEDTIME": "2019-03-06 10:16:41", "ROWID": 56000000342025, "doubleDataType": null }, { "CREATORID": 56000000002003, "MODIFIEDTIME": "2019-03-06 10:18:56", "Department_ID": "IT170", "Department_Name": "Sales", "Employee_Name": "Steven Kelso", "CREATEDTIME": "2019-03-06 10:18:56", "ROWID": 56000000342026, "doubleDataType": null }, { "CREATORID": 56000000002003, "MODIFIEDTIME": "2019-03-06 10:19:00", "Department_ID": "IT190", "Department_Name": "Marketing", "Employee_Name": "Micheal Forman", "CREATEDTIME": "2019-03-06 10:18:58", "ROWID": 56000000342027, "doubleDataType": null }, { "CREATORID": 56000000002003, "MODIFIEDTIME": "2019-03-06 10:45:11", "Department_ID": "IT111", "Department_Name": "Support", "Employee_Name": "Madeline Burkhart", "CREATEDTIME": "2019-03-06 10:18:34", "ROWID": 56000000342028, "doubleDataType": null }, ], "more_records" : false } ``` ### SDK Documentation [Get Rows- Java SDK](https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/data-store/get-rows) [Get Rows- Node.js SDK](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/data-store/get-rows) [Get Rows- Python SDK](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/data-store/get-rows) [Get Rows- Web SDK](https://docs.catalyst.zoho.com/en/sdk/web/v4/cloud-scale/data-store/get-rows) -------------------------------------------------------------------------------- title: "Update Row" description: "This API enables you to update a particular row in a table in the Data Store." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/data-store/update-row/" service: "CloudScale" -------------------------------------------------------------------------------- # Update a Row in a Table ### Description This API enables you to update a particular row in a table in the [Catalyst Data Store](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/introduction), by referring to its table ID or the table name. You must send the data to be updated in the record in the request JSON as described below. ### Request Details #### Request URL `PUT` {api-domain}/baas/v1/project/{project_id}/table/{tableIdentifier}/row - **api-domain** (URL): The DC-specific domain to access Catalyst API - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the project - **tableIdentifier** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/tables/#create-a-new-table) of the table or table name #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Content-Type:** application/json **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.tables.rows.UPDATE > **Note:** This operation can also be executed with Catalyst user authentication permissions using Catalyst SDKs. Refer to the [Catalyst API Prerequisites section](https://docs.catalyst.zoho.com/en/api/introduction/overview-and-prerequisites/#prerequisites) for details. #### Request JSON Format You must send the names of the columns and their corresponding values to be updated in the request, along with the ROWID of the record, as a **JSON Array** like this: ```json { "column1_name": "column1_value", "column2_name": "column2_value", "column3_name": "column3_value", . . "*ROWID*":{row_id of the record} } ``` #### Request JSON Properties - **column_name** (string, mandatory): Specifies the column name of the specified table - **column_value** (string, mandatory): Specifies the value for the column - **ROWID** (bigint, mandatory): The ROWID of the record to be updated ### Response Details The response will contain the metadata of the row that was updated such as its `ROWID` and `CREATEDTIME`, and the updated column key names and values. **Sample Request** ```bash curl -X PUT \ https://api.catalyst.zoho.com/baas/v1/project/4000000006007/table/EmpDetails/row \ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" \ -H "Content-Type:application/json" \ -d '[ { "Department_Name":"Finance", "Employee_Name":"Morgan Jones", "ROWID":3376000000170191 } ]' ``` **Sample Response** ```json { "status": "success", "data": [ { "CREATORID": 3376000000002099, "MODIFIEDTIME": "2019-02-26 11:18:49", "Department_ID":"IT245", "Department_Name":"Finance", "Employee_Name": "Morgan Jones", "CREATEDTIME": "2019-02-26 11:18:49", "ROWID": 3376000000170191 } ] } ``` ### SDK Documentation [Update Rows- Java SDK](https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/data-store/update-rows) [Update Rows- Node.js SDK](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/data-store/update-rows) [Update Rows- Python SDK](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/data-store/update-rows) [Update Rows- Web SDK](https://docs.catalyst.zoho.com/en/sdk/web/v4/cloud-scale/data-store/update-rows) -------------------------------------------------------------------------------- title: "Delete Row" description: "This API enables you to delete a particular record or a row of a table in the Data Store." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/data-store/delete-row/" service: "CloudScale" -------------------------------------------------------------------------------- # Delete a Row in a Table ### Description This API enables you to delete a particular record or a row of a table in the [Data Store](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/introduction), by referring to the table's unique ID or name. The row is referred by its ROWID. ### Request Details #### Request URL `DELETE` {api-domain}/baas/v1/project/{project_id}/table/{tableIdentifier}/row/{row_id} - **api-domain** (URL): The DC-specific domain to access Catalyst API - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the project - **tableIdentifier** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/tables/#create-a-new-table) of the table or table name - **row_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/records/) of the row #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.tables.rows.DELETE > **Note:** This operation can also be executed with Catalyst user authentication permissions using Catalyst SDKs. Refer to the [Catalyst API Prerequisites section](https://docs.catalyst.zoho.com/en/api/introduction/overview-and-prerequisites/#prerequisites) for details. ### Response Details The response will contain the metadata of the row that was deleted such as its `ROWID` and `CREATEDTIME`, and the column key names and values in the row. **Sample Request** ```bash curl -X DELETE \ https://api.catalyst.zoho.com/baas/v1/project/4000000006007/table/EmpDetails/row/3376000000171021 \ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" ``` **Sample Response** ```json { "status": "success", "data": { "CREATORID": 56000000002003, "MODIFIEDTIME": "2019-02-26 11:18:49", "Department_ID": "IT809" "Department_Name": "Accounting", "Customer_Name": "Jason Pierre", "CREATEDTIME": "2019-02-26 11:18:49", "ROWID": 3376000000171021, "doubleDataType": null } } ``` ### SDK Documentation [Delete a Row- Java SDK](https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/data-store/delete-row) [Delete a Row- Node.js SDK](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/data-store/delete-row) [Delete a Row- Python SDK](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/data-store/delete-row) [Delete a Row- Web SDK](https://docs.catalyst.zoho.com/en/sdk/web/v4/cloud-scale/data-store/delete-row/) -------------------------------------------------------------------------------- title: "Get Table Metadata" description: "This API enables you to retrieve the metadata of a specific table from the Data Store." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/data-store/get-table-metadata/" service: "CloudScale" -------------------------------------------------------------------------------- # Get the Metadata of a Specific Table ### Description This API enables you to retrieve the metadata of a specific table from the [Data Store](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/introduction), by referring to the table's unique ID or name. ### Request Details #### Request URL `GET` {api-domain}/baas/v1/project/{project_id}/table/{tableIdentifier} - **api-domain** (URL): The DC-specific domain to access Catalyst API - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the project - **tableIdentifier** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/tables/#create-a-new-table) of the table or table name #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.tables.READ ### Response Details The response will return the metadata of the table which will include the table details such as the `table_id` and `table_name`, and the metadata of all the columns in it such as the `column_id`, `column_name`, and `data_type` of each column. **Sample Request** ```bash curl -X GET \ https://api.catalyst.zoho.com/baas/v1/project/4000000006007/table/EmpDetails \ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" ``` **Sample Response** ```json { "status": "success", "data": { "table_id": 56000000111778, "project_id": { "id": 4000000006007, "project_name": "HRApp" }, "table_name": "EmpDetails", "modified_by": { "is_confirmed":true, "zuid": 1019540152, "user_id": 671930455, "email_id": "emma@zylker.com", "first_name": "Amelia", "last_name": "Burrows" }, "modified_time": "2019-02-19T02:45:16+05:30", "column_details": [ { "table_id": 56000000111778, "column_sequence": 1, "column_id": 23400091030, "column_name": "ROWID", "category": 1, "data_type": "bigint", "is_read_only": false, "max_length": 50, "is_mandatory": false, "default_value": "250", "decimal_digits": 2, "is_unique": false, "search_index_enabled": false }, { "table_id": 56000000111778, "column_sequence": 1, "column_id": 23400091031, "column_name": "CREATORID", "category": 1, "data_type": "bigint", "is_read_only": false, "max_length": 50, "is_mandatory": false, "default_value": "250", "decimal_digits": 2, "is_unique": false, "search_index_enabled": true }, { "table_id": 56000000111778, "column_sequence": 1, "column_id": 23400091032, "column_name": "CREATEDTIME", "category": 1, "data_type": "datetime", "is_read_only": false, "max_length": 50, "is_mandatory": false, "default_value": "250", "decimal_digits": 2, "is_unique": false, "search_index_enabled": true }, { "table_id": 56000000111778, "column_sequence": 1, "column_id": 23400091033, "column_name": "MODIFIEDTIME", "category": 1, "data_type": "datetime", "is_read_only": false, "max_length": 50, "is_mandatory": false, "default_value": "250", "decimal_digits": 2, "is_unique": false, "search_index_enabled": true } { "table_id": 56000000111778, "column_sequence": 1, "column_id": 23400091034, "column_name": "EmpID", "category": 1, "data_type": "varchar", "is_read_only": false, "max_length": 6, "is_mandatory": true, "default_value": "", "decimal_digits": , "is_unique": true, "search_index_enabled": true } { "table_id": 56000000111778, "column_sequence": 1, "column_id": 23400091035, "column_name": "EmpName", "category": 1, "data_type": "varchar", "is_read_only": false, "max_length": 30, "is_mandatory": true, "default_value": "", "decimal_digits": , "is_unique": false, "search_index_enabled": false } { "table_id": 56000000111778, "column_sequence": 1, "column_id": 23400091036, "column_name": "DeptName", "category": 1, "data_type": "varchar", "is_read_only": false, "max_length": 30, "is_mandatory": true, "default_value": "", "decimal_digits": , "is_unique": false, "search_index_enabled": false } ], "table_scope": "ORG" } } ``` ### SDK Documentation [Get Table Metadata- Java SDK](https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/data-store/get-table-meta) [Get Table Metadata- Node.js SDK](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/data-store/get-table-meta) [Get Table Metadata- Python SDK](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/data-store/get-table-meta) [Get Table Metadata- Web SDK](https://docs.catalyst.zoho.com/en/sdk/web/v4/cloud-scale/data-store/get-table-meta) -------------------------------------------------------------------------------- title: "Get All Tables Metadata" description: "This API enables you to retrieve the metadata of all the tables in your project from the Data Store." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/data-store/get-all-tables-metadata/" service: "CloudScale" -------------------------------------------------------------------------------- # Get the Metadata of All Tables ### Description This API enables you to retrieve the metadata of all the tables in your project from the [Data Store](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/introduction). ### Request Details #### Request URL `GET` {api-domain}/baas/v1/project/{project_id}/table - **api-domain** (URL): The DC-specific domain to access Catalyst API - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the project #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.tables.READ ### Response Details The response will return the metadata of all the tables which will include the table details such as the `table_id` and `table_name` of each table, and the details of the user that last modified the tables. **Sample Request** ```bash curl -X GET \ https://api.catalyst.zoho.com/baas/v1/project/4000000006007/table \ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" ``` **Sample Response** ```json { "status":"success", "data":[ { "project_id":{ "project_name":"ShipmentTracking", "id":4000000006007 }, "table_name":"CustomerInfo", "modified_by":{ "zuid":1019540152, "is_confirmed":true, "email_id":"emma@zylker.com", "first_name":"Amelia", "last_name":"Burrows", "user_id":671930111 }, "modified_time":"Apr 11, 2020 10:33 PM", "table_id":3376000000081234 }, { "project_id":{ "project_name":"ShipmentTracking", "id":3376000000061190 }, "table_name":"EmpInfo", "modified_by":{ "zuid":1019540232, "is_confirmed":true, "email_id":"p.boyle@zylker.com", "first_name":"Patricia", "last_name":"Boyle", "user_id":671930455 }, "modified_time":"Mar 09, 2020 03:16 AM", "table_id":3376000000017896 } ] } ``` ### SDK Documentation [Get Table Metadata- Java SDK](https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/data-store/get-table-meta) [Get Table Metadata- Node.js SDK](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/data-store/get-table-meta) [Get Table Metadata- Python SDK](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/data-store/get-table-meta) [Get Table Metadata- Web SDK](https://docs.catalyst.zoho.com/en/sdk/web/v4/cloud-scale/data-store/get-table-meta) -------------------------------------------------------------------------------- title: "Get Column Metadata" description: "This API enables you to retrieve the metadata of a specific column in a table in the Data Store." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/data-store/get-column-metadata/" service: "CloudScale" -------------------------------------------------------------------------------- # Get the Metadata of a Specific Column ### Description This API enables you to retrieve the metadata of a specific column in a table in the [Data Store](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/introduction). The table is referred by its unique ID or name, and the column is referred by the column ID. ### Request Details #### Request URL `GET` {api-domain}/baas/v1/project/{project_id}/table/{tableIdentifier}/column/{column_id} - **api-domain** (URL): The DC-specific domain to access Catalyst API - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the project - **tableIdentifier** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/tables/#create-a-new-table) of the table or table name - **column_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/columns/#create-a-new-column) of the column #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.tables.columns.READ ### Response Details The response will return the metadata of the specific column such as its `column_id`, `column_name`, and `data_type`. **Sample Request** ```bash curl -X GET \ https://api.catalyst.zoho.com/baas/v1/project/4000000006007/table/EmpDetails/column/4000000042018 \ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" ``` **Sample Response** ```json { "status": "success", "data": { "table_id": 56000000118, "column_sequence": 3, "column_id": 4000000042018, "column_name": "Department", "category": 2, "data_type": "text", "is_read_only": false, "max_length": 100, "is_mandatory": true, "default_value": "Admin", "is_unique": false, "search_index_enabled": false } } ``` ### SDK Documentation [Get Column Metadata- Java SDK](https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/data-store/get-column-meta) [Get Column Metadata- Node.js SDK](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/data-store/get-column-meta) [Get Column Metadata- Python SDK](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/data-store/get-column-meta) [Get Column Metadata- Web SDK](https://docs.catalyst.zoho.com/en/sdk/web/v4/cloud-scale/data-store/get-column-meta) -------------------------------------------------------------------------------- title: "Get All Columns Metadata" description: "This API enables you to retrieve the metadata of all the columns in a table in the Data Store." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/data-store/get-all-columns-metadata/" service: "CloudScale" -------------------------------------------------------------------------------- # Get the Metadata of All Columns ### Description This API enables you to retrieve the metadata of all the columns in a table in the [Data Store](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/introduction), by referring to the table's unique ID or name. ### Request Details #### Request URL `GET` {api-domain}/baas/v1/project/{project_id}/table/{tableIdentifier}/column - **api-domain** (URL): The DC-specific domain to access Catalyst API - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the project - **tableIdentifier** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/tables/#create-a-new-table) of the table or table name #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.tables.columns.READ ### Response Details The response will return the metadata of all columns such as the `column_id`, `column_name`, and `data_type` of each column. **Sample Request** ```bash curl -X GET \ https://api.catalyst.zoho.com/baas/v1/project/4000000006007/table/EmpDetails/column \ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" ``` **Sample Response** ```json { "status":"success", "data":[ { "table_id":829000000037723, "column_sequence":1, "column_name":"ROWID", "category":1, "data_type":"bigint", "is_read_only":false, "max_length":50, "is_mandatory":false, "decimal_digits":2, "is_unique":false, "search_index_enabled":false, "column_id":829000000037726 }, { "table_id":829000000037723, "column_sequence":2, "column_name":"CREATORID", "category":1, "data_type":"bigint", "is_read_only":false, "max_length":50, "is_mandatory":false, "decimal_digits":2, "is_unique":false, "search_index_enabled":true, "column_id":829000000037728 }, { "table_id":829000000037723, "column_sequence":3, "column_name":"CREATEDTIME", "category":1, "data_type":"datetime", "is_read_only":false, "max_length":50, "is_mandatory":false, "decimal_digits":2, "is_unique":false, "search_index_enabled":true, "column_id":829000000037730 }, { "table_id":829000000037723, "column_sequence":4, "column_name":"MODIFIEDTIME", "category":1, "data_type":"datetime", "is_read_only":false, "max_length":50, "is_mandatory":false, "decimal_digits":2, "is_unique":false, "search_index_enabled":true, "column_id":829000000037732 }, { "table_id":829000000037723, "column_sequence":5, "column_name":"EmpID", "category":2, "data_type":"bigint", "is_read_only":false, "max_length":15, "is_mandatory":true, "decimal_digits":2, "is_unique":true, "search_index_enabled":false, "column_id":829000000038445 }, { "table_id":829000000037723, "column_sequence":6, "column_name":"EmpName", "category":2, "data_type":"text", "is_read_only":false, "max_length":50, "is_mandatory":true, "decimal_digits":2, "is_unique":false, "search_index_enabled":false, "column_id":829000000038450 } ] } ``` ### SDK Documentation [Get Column Metadata- Java SDK](https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/data-store/get-column-meta) [Get Column Metadata- Node.js SDK](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/data-store/get-column-meta) [Get Column Metadata- Python SDK](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/data-store/get-column-meta) [Get Column Metadata- Web SDK](https://docs.catalyst.zoho.com/en/sdk/web/v4/cloud-scale/data-store/get-column-meta) -------------------------------------------------------------------------------- title: "Truncate Table" description: "This API enables you to truncate a specific table in the Data Store." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/data-store/truncate-table/" service: "CloudScale" -------------------------------------------------------------------------------- # Truncate a Table ### Description This API enables you to truncate a specific table in the [Data Store](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/introduction), by referring to the table's unique ID or name. The truncate operation deletes all the records in the table, while retaining its schema. The columns of the table and the table's metadata will still be available, after the operation has ended. You will receive notifications in your Catalyst console about the updates of the operation. ### Request Details #### Request URL `DELETE` {api-domain}/baas/v1/project/{project_id}/table/{tableIdentifier}/truncate - **api-domain** (URL): The DC-specific domain to access Catalyst API - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the project - **tableIdentifier** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/tables/#create-a-new-table) of the table or table name #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.tables.rows.DELETE ### Response Details The response will return the status of the truncate operation. **Sample Request** ```bash curl -X DELETE \ https://api.catalyst.zoho.com/baas/v1/project/4000000006007/table/NewsHeadlines/truncate \ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" ``` **Sample Response** ```json { "status": "success", "data": "The table will be truncated Shortly. Kindly Check Notification bar for updates" } ``` -------------------------------------------------------------------------------- title: "Bulk Delete Rows" description: "This API enables you to delete records or rows of data in bulk from a specific table in the Data Store." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/data-store/bulk-delete-rows/" service: "CloudScale" -------------------------------------------------------------------------------- # Bulk Delete Rows in a Table ### Description This API enables you to delete records or rows of data in bulk from a specific table in the [Data Store](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/introduction). The table is referred by its unique ID or name. The bulk delete operation can delete a maximum of 200 rows in a single API call. You can choose the rows to be deleted by passing the unique ROWIDs of those rows as params in the request URL, as shown in the sample request. You must include at least one ROWID, and can include upto 200 ROWIDs, in the request. ### Request Details #### Request URL `DELETE` {api-domain}/baas/v1/project/{project_id}/table/{tableIdentifier}/row?ids={rowID_1},{rowID_2},{rowID_3} - **api-domain** (URL): The DC-specific domain to access Catalyst API - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the project - **tableIdentifier** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/tables/#create-a-new-table) of the table or table name - **ids** (Numerical): The Row IDs of the records to be deleted as params. Multiple Row IDs must be separated by commas. The parameter key name must be `ids` #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.tables.rows.DELETE ### Response Details The response contains the data of all the rows that were deleted through the operation, including their metadata like the`ROWID` and `CREATEDTIME`, and the column key names and values in each row. **Sample Request** ```bash curl -X DELETE \ https://api.catalyst.zoho.com/baas/v1/project/4000000006007/table/EmpDetails/row?ids=1028000000171815,1028000000171810,1028000000171805,1028000000171617 \ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" ``` **Sample Response** ```json { "status": "success", "data": [ { "CREATORID": "1444000000003001", "MODIFIEDTIME": "2020-11-19 15:20:21:830", "Department_ID":"IT245", "Department_Name":"Finance", "Employee_Name": "Morgan Jones", "CREATEDTIME": "2020-11-19 15:20:21:830", "ROWID": "1028000000171815" }, { "CREATORID": "1444000000003001", "MODIFIEDTIME": "2020-11-19 15:20:34:503", "Department_ID":"IT121", "Department_Name":"HR", "Employee_Name": "Leena Medley", "CREATEDTIME": "2020-11-19 15:20:34:503", "ROWID": "1028000000171810" }, { "CREATORID": "1444000000003001", "MODIFIEDTIME": "2020-11-19 15:20:42:314", "Department_ID":"IT783", "Department_Name":"Marketing", "Employee_Name": "Tamira Shah", "CREATEDTIME": "2020-11-19 15:20:42:314", "ROWID": "1028000000171805" }, { "CREATORID": "1444000000003001", "MODIFIEDTIME": "2020-11-19 15:20:42:314", "Department_ID":"IT098", "Department_Name":"Sales", "Employee_Name": "Julia McGregor", "CREATEDTIME": "2020-11-19 15:20:42:314", "ROWID": "1028000000171617" } ] } ``` ### SDK Documentation [Bulk Delete Rows- Java SDK](https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/data-store/bulk-delete-rows) [Bulk Delete Rows- Node.js SDK](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/data-store/bulk-delete-rows) [Bulk Delete Rows- Python SDK](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/data-store/bulk-delete-rows) [Bulk Delete Rows- Web SDK](https://docs.catalyst.zoho.com/en/sdk/web/v4/cloud-scale/data-store/bulk-delete-rows) #### Bulk Read Rows -------------------------------------------------------------------------------- title: "Create Bulk Read Job" description: "This API triggers the bulk read operation to obtain records from a table in the Data Store in bulk" last_updated: "2026-11-03T15:19:21.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/data-store/bulk-read-rows/create-bulk-read-job/" service: "CloudScale" -------------------------------------------------------------------------------- # Bulk Read Records The Bulk Read operation can read thousands of records from a specific table in the [Data Store](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/introduction) and generate a CSV file containing the results of the read operation, if the job is successful. This data-intense operation can be performed in a single API execution. Catalyst supports three APIs for the bulk read operation: a Create Bulk Read API, a [Check Bulk Read Status API](https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/data-store/bulk-read-rows/check-bulk-read-status/#CheckBulkReadStatus) to check the status of the job execution manually, and a [Download Bulk Read Result API](https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/data-store/bulk-read-rows/download-bulk-read-result/#DownloadBulkReadResult) to download the results. You can also configure a callback URL to enable the automatic posting of the job status responses in it. > **Note:** You can also perform Bulk Read operation using the Catalyst CLI. Refer to [Data Store Import and Export CLI documentation](https://docs.catalyst.zoho.com/en/cli/v1/data-store-import-and-export/introduction/). # Create a Bulk Read Job ### Description This API triggers the bulk read operation to obtain the records from the table in the Data Store, that match the criteria you specify in the input JSON. The table is referred to using its unique table ID or the table name. ### Request Details #### Request URL `POST` {api-domain}/baas/v1/project/{projectId}/bulk/read - **api-domain** (URL): The DC-specific domain to access Catalyst API - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the project #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.tables.bulk.READ #### Request JSON Properties The input for the Bulk Read API request must be sent in a JSON format. The request parameters are explained below. - **table_identifier** (string, mandatory): The [unique ID](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/tables/#create-a-new-table) of the table or the table name. You can obtain the table ID from Data Store or from the URL when the table is opened in the console. - **query** (json, optional): The section where you can define the conditions and criteria for the bulk read job - - **page** (numerical, optional): The CSV file generated as the result of the bulk read process contains two hundred thousand/two lakh records in one page. Page value '1' indicates that the first two hundred thousand records matching your query will get exported. You can fetch subsequent records by increasing the page value. For example, if you want to fetch records from the range 2,00,001 to 4,00,000, then you must specify the page value as '2'. Default value: 1 - - **select_columns** (array, optional): Specific columns in the records that need to be fetched from the table. If you do not specify the columns, all columns will be selected and fetched. You can include multiple columns in an array. Refer to the sample request code window. - **criteria** (json, optional): A set of conditions based on which the records will be fetched - - **group_operator** (string, mandatory (if specifying criteria)): The operator that will bind the criteria groups together. Supported Operators: `AND`, `OR` If you define two or more criteria groups, you can use the `AND` or the `OR` operator in your request. For example, you can specify a criteria like "column1 equal value 1 AND column2 contains value 2" in the format specified in the previous section. > **Note:** You will not be able to use combinations of both the operators in a single API request. You can either use `AND` or `OR` in one request. - **group** (json, mandatory (if specifying criteria)): You can include up to 25 criteria sets in this section. The example shows 3 criteria sets. > **Note:** You can include only one overall group with one group operator in a single API request. - - **column_name** (string, mandatory (if specifying criteria)): Name of the specific column from the table that the criteria should be defined for - - **comparator** (string, mandatory (if specifying criteria)): The comparison operator that matches the column name with the criteria value Supported Comparators: `equal`, `not_equal`, `greater_than`, `greater_equal`, `less_than`, `less_equal`, `starts_with`, `ends_with`, `contains`, `not_contains`, `in`, `not_in`, `between`, `not_between` > **Note:** * You can specify multiple values for in and not_in comparators, separated by commas. * Catalyst supports only the equal comparator for an encrypted column. You will not be able to use other comparators as the criteria for an encrypted column. - - **value** (string, mandatory (if specifying criteria)): The value for the specific column in the record that you require to be defined as a criteria - **callback** (json, optional): The section where you can define the properties of the callback URL, where automatic JSON responses of the job statuses will be sent to - - **url** (string, mandatory (if specifying callback)): The URL where the automatic responses will be sent to using the HTTP POST method, each time the job status changes. Information about the job details will be contained in the body of the JSON response. If you don't configure a callback URL, you must manually check the status of the job processing when you need, using the [Check Bulk Read Status API](https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/data-store/bulk-read-rows/check-bulk-read-status/#CheckBulkReadStatus). - - **headers** (string, optional): Headers that you require to be passed in the JSON response to the callback URL. You must specify the headers as: *{* *"{header_name_1}" : "{header_value_1}",* *"{header_name_2}" : "{header_value_2}"* *}* and so on. Refer to the sample request code. - - **params** (string, optional): Parameters that you require to be appended to the callback URL You must specify the parameters as: *{* *"{param_name_1}" : "{param_value_1}",* *"{param_name_2}" : "{param_value_2}"* *}* and so on. Refer to the sample request code. ### Response Details There are three job processing states which will generate three different responses: * **In-Progress:** When you execute the API, Catalyst will immediately and automatically send you a response indicating that the job execution is in progress. If you have configured a callback URL in the request, the response will also be posted to the URL in the format you defined. The response will contain a `job_id parameter` which you can use to [check the status of the job execution](https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/data-store/bulk-read-rows/check-bulk-read-status/#CheckBulkReadStatus) for subsequent responses, if you have not configured a callback URL. * **Success:** The success state response will contain a download URL, where you can [download a CSV file](https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/data-store/bulk-read-rows/download-bulk-read-result/#DownloadBulkReadResult) that contains the records matching your query. If you have not configured a callback URL, this response will not be sent by Catalyst automatically. * **Failed:** The failed state response will contain a description of the error that occurred and the details. If you have not configured a callback URL, this response will not be sent by Catalyst automatically. **Sample Request** ```bash curl -X POST \ https://api.catalyst.zoho.com/baas/v1/project/4000000006007/bulk/read \ -H "Authorization: Zoho-oauthtoken 1000.910***************************16.2f****************************57" \ -d '{ "table_identifier": "EmpDetails", "query" : { "page" : "1", "select_columns" : [ "EmpID", "EmpName", "Department" ], "criteria": { "group_operator": "or", "group": [ { "column_name": "Department", "comparator": "equal", "value": "Marketing" } , { "column_name": "EmpID", "comparator": "greater_than", "value": "1000" } , { "column_name": "EmpName", "comparator": "starts_with", "value": "S" } ] } }, "callback" : { "url" : "https://hr.zylker.com/en/EmpRecords/_callback.php", "headers" : { "src" : "ZCatalyst", "operation" : "bulkreadAPI" }, "params" : { "project_name" : "EmployeeDatabase" } } }' ``` **Sample Response: Job in Progress** ```json { "status": "success", "data": { "job_id": 2000000118004, "status": "In-Progress", "operation": "read", "project_details": { "project_name": "ShipmentTracking", "id": 4000000006007 }, "query": [ { "table_id": 3376000000165541, "details": { "page": "1" } } ], "callback": { "url": "https://hr.zylker.com/en/EmpRecords/_callback.php", "headers": { "src" : "ZCatalyst", "operation" : "bulkreadAPI" }, "params": { "project_name" : "EmployeeDatabase" } }, "created_by": { "zuid": 1019540152, "is_confirmed": true, "email_id": "emma@zylker.com", "first_name": "Amelia", "last_name": "Burrows", "user_id": 671930409 }, "created_time": "Oct 06, 2020 07:06 PM" } } ``` **Sample Response: Job Successful** ```json { "status": "success", "data": { "job_id": 2000000118004, "status": "In-Progress", "operation": "read", "project_details": { "project_name": "ShipmentTracking", "id": 4000000006007 }, "query": [ { "table_id": 3376000000165541, "details": { "page": "1" } } ], "callback": { "url": "https://hr.zylker.com/en/EmpRecords/_callback.php", "headers": { "src" : "ZCatalyst", "operation" : "bulkreadAPI" }, "params": { "project_name" : "EmployeeDatabase" } }, "created_by": { "zuid": 1019540152, "is_confirmed": true, "email_id": "emma@zylker.com", "first_name": "Amelia", "last_name": "Burrows", "user_id": 671930409 }, "created_time": "Oct 06, 2020 07:06 PM" } } ``` **Sample Response: Job Failed** ```json { "status": "success", "data": { "job_id": 2000000117007, "status": "Failed", "operation": "read", "project_details": { "project_name": "ShipmentTracking", "id": 4000000006007 }, "query": [ { "table_id": 3376000000165541, "details": { "page": "1" } } ], "callback": { "url": "https://hr.zylker.com/en/EmpRecords/_callback.php", "headers": { "src" : "ZCatalyst", "operation" : "bulkreadAPI" }, "params": { "project_name" : "EmployeeDatabase" } }, "created_by": { "zuid": 1019540152, "is_confirmed": true, "email_id": "emma@zylker.com", "first_name": "Amelia", "last_name": "Burrows", "user_id": 671930409 }, "created_time": "Oct 06, 2020 07:00 PM", "results": { "description": "The column ID in select_columns is invalid", } } } ``` -------------------------------------------------------------------------------- title: "Check Bulk Read Status" description: "This API enables you to manually check the status of a bulk read job that you initiated previously." last_updated: "2026-11-03T15:19:21.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/data-store/bulk-read-rows/check-bulk-read-status/" service: "CloudScale" -------------------------------------------------------------------------------- # Check Bulk Read Status ### Description You can execute this API to manually check the status of the [bulk read job](https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/data-store/bulk-read-rows/create-bulk-read-job/#CreateBulkReadJob) that you initiated previously. If you had not configured a callback URL in your JSON request, you must check the job status yourself by executing this API. You must use the `job_id` that is sent to you in the automatic in-progress response when you initiate the bulk read operation, to check the job status subsequently. ### Request Details #### Request URL `GET` {api-domain}/baas/v1/project/{project_id}/bulk/read/{job_id} - **api-domain** (URL): The DC-specific domain to access Catalyst API - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the project - **job_id** (Numerical):The unique ID of the job that was sent in the initial [in-progress status response](https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/data-store/bulk-read-rows/create-bulk-read-job/#CreateBulkReadJob) after the Bulk Read API was executed
#### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.tables.bulk.READ ### Response Details The JSON response for the success state will contain the details of the executed job, along with a download URL where you can [download a CSV file](https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/data-store/bulk-read-rows/download-bulk-read-result/#DownloadBulkReadResult) that will contain a list of records matching your bulk read job query. The JSON response for the failed state will contain the details of the executed job, along with a description of the error that occurred in the job processing, and its details, such as the rows that were skipped from being read and the reasons. **Sample Request** ```bash curl -X GET \ https://api.catalyst.zoho.com/baas/v1/project/4000000006007/bulk/read/2000000118004 \ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" ``` **Sample Response: Job in Progress** ```json { "status": "success", "data": { "job_id": 2000000118004, "status": "In-Progress", "operation": "read", "project_details": { "project_name": "EmployeeDatabase", "id": 4000000006007 }, "query": [ { "table_id": 3376000000165541, "details": { "page": "1" } } ], "callback": { "url": "https://hr.zylker.com/en/EmpRecords/_callback.php", "headers": { "src" : "ZCatalyst", "operation" : "bulkreadAPI" }, "params": { "project_name" : "EmployeeDatabase" } }, "created_by": { "zuid": 1019540152, "is_confirmed": true, "email_id": "emma@zylker.com", "first_name": "Amelia", "last_name": "Burrows", "user_id": 671930409 }, "created_time": "Oct 06, 2020 07:06 PM" } } ``` **Sample Response: Job Successful** ```json { "status": "success", "data": { "job_id": 2000000118004, "status": "Completed", "operation": "read", "project_details": { "project_name": "EmployeeDatabase", "id": 4000000006007 }, "query": [ { "table_id": 3376000000165541, "details": { "page": "1" } } ], "callback": { "url": "https://hr.zylker.com/en/EmpRecords/_callback.php", "headers": { "src" : "ZCatalyst", "operation" : "bulkreadAPI" }, "params": { "project_name" : "EmployeeDatabase" } }, "created_by": { "zuid": 1019540152, "is_confirmed": true, "email_id": "emma@zylker.com", "first_name": "Amelia", "last_name": "Burrows", "user_id": 671930409 }, "created_time": "Oct 06, 2020 07:06 PM", "results": { "download_url": "https://api.catalyst.zoho.com/baas/v1/bulk/read/2000000117007/download", "description": "Bulk READ job 2000000117007 completed.", "details": [ { "table_id": 3376000000165541, "records_processed": 21, "more_records": false } ] } } } ``` **Sample Response: Job Failed** ```json { "status": "success", "data": { "job_id": 2000000117007, "status": "Failed", "operation": "read", "project_details": { "project_name": "EmployeeDatabase", "id": 4000000006007 }, "query": [ { "table_id": 3376000000165541, "details": { "page": "1" } } ], "callback": { "url": "https://hr.zylker.com/en/EmpRecords/_callback.php", "headers": { "src" : "ZCatalyst", "operation" : "bulkreadAPI" }, "params": { "project_name" : "EmployeeDatabase" } }, "created_by": { "zuid": 1019540152, "is_confirmed": true, "email_id": "emma@zylker.com", "first_name": "Amelia", "last_name": "Burrows", "user_id": 671930409 }, "created_time": "Oct 06, 2020 07:00 PM", "results": { "description": "The column ID in select_columns is invalid", } } } ``` -------------------------------------------------------------------------------- title: "Download Bulk Read Result" description: "This API enables you to download the result of a successful bulk read job that you initiated previously." last_updated: "2026-11-03T15:19:21.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/data-store/bulk-read-rows/download-bulk-read-result/" service: "CloudScale" -------------------------------------------------------------------------------- # Download Bulk Read Result ### Description You can execute this API to download the result of a successful [bulk read job](https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/data-store/bulk-read-rows/create-bulk-read-job/#CreateBulkReadJob) that you initiated. This URL will also be sent in JSON response for the success state. The downloaded CSV result file will contain a list of all the records matching your bulk read job query. > **Note:** The download URL will be valid for **1 day** after its generation. The link will expire after that time period, and you will not be able to obtain the CSV result file containing the job details. ### Request Details #### Request URL `GET` {api-domain}/baas/v1/project/{project_id}/bulk/read/{job_id}/download - **api-domain** (URL): The DC-specific domain to access Catalyst API - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the project - **job_id** (Numerical): The unique ID of the job that was sent in the initial [in-progress status response](https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/data-store/bulk-read-rows/create-bulk-read-job/#CreateBulkReadJob) after the Bulk Read API was executed #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.tables.bulk.READ ### Response Details The bulk read result file will be automatically downloaded to the configured directory in your system after you execute this API. **File format:** ZIP file containing the CSV result file Sample result file showing the details of a bulk read job:  **Sample Request** ```bash curl -X GET \ https://api.catalyst.zoho.com/baas/v1/project/4000000006007/bulk/read/2000000118004/download \ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" ``` #### Bulk Write Rows -------------------------------------------------------------------------------- title: "Create Bulk Write Job" description: "This API triggers the bulk write operation to write records from a CSV file in Stratus to a table in the Data Store." last_updated: "2026-11-03T15:19:21.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/data-store/bulk-write-rows/create-bulk-write-job/" service: "CloudScale" -------------------------------------------------------------------------------- # Bulk Write Records The Bulk Write operation can fetch thousands of records from a CSV file uploaded to a bucket in [Stratus](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/introduction) and insert them in a specific table in the [Data Store](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/introduction). This data-intense operation can be performed in a single API execution. After the bulk write operation has executed successfully, a CSV report file containing the details of the job execution will be generated at a download URL. Catalyst supports three APIs for the bulk write operation: a Create Bulk Write API, a [Check Bulk Write Status API](https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/data-store/bulk-write-rows/check-bulk-write-status/#CheckBulkWriteStatus) to check the status of the job execution manually, and a [Download Bulk Write Result API](https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/data-store/bulk-write-rows/download-bulk-write-result/#DownloadBulkWriteResult) to download the results. You can also configure a callback URL to enable automatic posting of the job status responses in it. > **Note:** You can also perform Bulk Write operation using the Catalyst CLI. Refer to [Data Store Import and Export CLI documentation](https://docs.catalyst.zoho.com/en/cli/v1/data-store-import-and-export/introduction/). # Create a Bulk Write Job ### Description This API triggers the bulk write operation to obtain the records from a CSV file stored in Stratus and exports them to a table in the Data Store, based on the criteria you specify in the input JSON. The CSV file is referred to using its [Object URL](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/objects/introduction/#object-url) in Stratus, and the table is referred to using its unique table ID or the table name. > **Note:** * Ensure you have uploaded the required CSV file in Stratus, before you begin executing this operation. * The CSV file's first row must be the header row i.e., the column names must be present as the header row. * The CSV file must contain data in the format that adheres to CSV file standards. If the file is not in the standard format, the data written to the table might be corrupted. * The Bulk Write API can insert up to 100,000 records in a single API call, irrespective of the environment. If you require more records to be written, you can do so in batches of 100,000 records by sending multiple Bulk Write API requests accordingly. There are three operations that can be performed using this API: * **Insert:** Inserts new rows of data into the table from the CSV file * **Update:** Updates existing rows of data in the table. The records are identified either using a unique column in the table, or using their [ROWIDs](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/records/) generated in the Data Store. * **Upsert:** Enables both insert and update operations at the same time. If the record already exists, the row is updated. If the record does not exist, a new row with the data is inserted. ### Request Details #### Request URL `POST` {api-domain}/baas/v1/project/{projectId}/bulk/write - **api-domain** (URL): The DC-specific domain to access Catalyst API - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the project #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.tables.bulk.CREATE #### Request JSON Properties The input for the Bulk Write API request must be sent in a JSON format. The request parameters are explained below. - **table_identifier** (string, mandatory): The [unique ID](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/tables/#create-a-new-table) of the table or the table name. You can obtain the table ID from Data Store or from the URL when the table is opened in the console. - **operation** (string, optional): Specifies the operation to be executed using the API. Allowed values: `insert`, `update`, `upsert` Default operation: `insert` - **object_details** (JSON, mandatory): Will contain the [bucket_name](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/buckets/name-bucket/#ideal-practices-to-name-a-bucket), object_key (Object [path](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/objects/introduction/#path) or [Object URL](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/objects/introduction/#object-url)), and [version_id](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/stratus-config/general-settings/#versioning)(If versioning has been enabled). - **find_by** (string, mandatory (update, upsert), optional (insert)): The unique column using which the records are identified. For example, if you specify a unique column called 'EmployeeID' as the `find_by` value, Catalyst will search the records in the Data Store table using the EmployeeID value. For the update operation, Catalyst will update the rows that match the EmployeeID from the CSV file. For the upsert operation, Catalyst will update existing rows, and insert new rows if there are no records with matching EmployeeID values. Update: This can be a column with unique values as configured in the Data Store, or the [ROWID](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/records/) generated by Catalyst for the records. Upsert: You can only specify a column with unique values as configured in the Data Store. You will not be able to specify the ROWID as the `find_by` value. This is because, upsert will insert new rows if matching ones are not found, and the ROWID values will not be available for rows not existing in the Data Store. Insert: If you specify a `find_by` column for an insert operation, any records matching the column values from the CSV file will be skipped and not inserted into the Data Store table. This is because, insert cannot update if a given record already exists. - **fk_mapping** (json, optional): Foreign key mapping for the columns that are primary keys in other tables. This is specified if any columns imported from the CSV file should be configured as foreign keys. You must map foreign keys in the following format: *{* *"local_column" : "local_column_name_1",* *"reference_column" : "reference_column_name_1"* *}* where `local_column` is the name of the column in the table where the bulk write operation is processed, and `reference_column` is the name of the column in the table in which it is a primary key. Refer to the sample request code. - **callback** (json, optional): The section where you can define the properties of the callback URL, where automatic JSON responses of the job statuses will be sent to. - - **url** (string, mandatory (if specifying callback)): The URL where the automatic responses will be sent to using the HTTP POST method, each time the job status changes. Information about the job details will be contained in the body of the JSON response. If you don't configure a callback URL, you must manually check the status of the job processing when you need, using the [Check Bulk Write Status API](https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/data-store/bulk-write-rows/check-bulk-write-status/#CheckBulkWriteStatus). - - **headers** (string, optional): Headers that you require to be passed in the JSON response to the callback URL You must specify the headers as: *{* *"{header_name_1}" : "{header_value_1}",* *"{header_name_2}" : "{header_value_2}"* *}* and so on. Refer to the sample request code. - - **params** (string, optional): Parameters that you require to be appended to the callback URL You must specify the parameters as: *{* *"{param_name_1}" : "{param_value_1}",* *"{param_name_2}" : "{param_value_2}"* *}* and so on. Refer to the sample request code. ### Response Details There are three job processing states which will generate three different responses: * **In-Progress:** When you execute the API, Catalyst will immediately and automatically send you a response indicating that the job execution is in progress. If you have configured a callback URL in the request, the response will also be posted to the URL in the format you defined. The response will contain a `job_id parameter` which you can use to [check the status of the job execution](https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/data-store/bulk-write-rows/check-bulk-write-status/#CheckBulkWriteStatus) for subsequent responses, if you have not configured a callback URL. * **Success:** The success state response will contain a download URL, where you can [download a CSV report file](https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/data-store/bulk-read-rows/download-bulk-read-result/#DownloadBulkReadResult) that contains the details of the job execution. It will list all the records that were skipped from being written along with the reasons. If you have not configured a callback URL, this response will not be sent by Catalyst automatically. * **Failed:** The failed state response will contain a description of the error that occurred and the details. If you have not configured a callback URL, this response will not be sent by Catalyst automatically. **Sample Request** ```bash curl -X POST https://api.catalyst.zoho.com/baas/v1/project/4000000006007/bulk/write \ -H "Authorization: Zoho-oauthtoken 1000.910***************************16.2f****************************57" \ -d '{ "table_identifier": "3376000000165511", "operation": "insert", "object_details": { "bucket_name": "zylker-emp", "object_key": "employees/emp_rec.csv", "version_id": "3546576879809" }, "callback": { "url": "https://hr.zylker.com/en/EmpRecords/_callback.php", "headers": { "src": "ZCatalyst", "operation": "bulkwriteAPI" }, "params": { "project_name": "EmployeeDatabase" } }, "find_by": "EmpID", "fk_mapping": [ { "local_column": "EmployeeID", "reference_column": "EmpID" }, { "local_column": "DepartmentID", "reference_column": "DeptID" } ] }' ``` **Sample Response: Job in Progress** ```json { "status": "success", "data": { "job_id": 2000000110044, "status": "In-Progress", "operation": "insert", "project_details": { "project_name": "ShipmentTracking", "id": 4000000006007 }, "query": [ { "table_id": 3376000000165511, "object_details": { "bucket_name": "zylker-emp", "object_key" : "employees/emp_rec.csv", "version_id":"3546576879809" } } ], "callback": { "url": "https://hr.zylker.com/en/EmpRecords/_callback.php", "headers": { "src": "ZCatalyst", "operation": "bulkwriteAPI" }, "params": { "project_name": "EmployeeDatabase" } }, "created_by": { "zuid": 3000000006111, "is_confirmed": true, "email_id": "emma@zylker.com", "first_name": "Amelia", "last_name": "Burrows", "user_id": 671930409 }, "created_time": "Oct 05, 2020 07:33 PM" } } ``` **Sample Response: Job Successful** ```json { "status": "success", "data": { "job_id": 2000000110044, "status": "Completed", "operation": "insert", "project_details": { "project_name": "ShipmentTracking", "id": 4000000006007 }, "query": [ { "table_id": 3376000000165511, "details": { "object_url" : "https://zylker-emp-development.zohostratus.com/employees/emp_rec.csv" } } ], "callback": { "url": "https://hr.zylker.com/en/EmpRecords/_callback.php", "headers": { "src": "ZCatalyst", "operation": "bulkwriteAPI" }, "params": { "project_name": "EmployeeDatabase" } }, "created_by": { "zuid": 3000000006111, "is_confirmed": true, "email_id": "emma@zylker.com", "first_name": "Amelia", "last_name": "Burrows", "user_id": 671930409 }, "created_time": "Oct 05, 2020 07:25 PM", "results": { "download_url": "https://api.catalyst.zoho.com/baas/v1/bulk/write/2000000110013/download", "description": "Bulk WRITE job completed. ", "details": [ { "table_id": 3376000000165511, "records_processed": 176 } ] } } } ``` **Sample Response: Job Failed** ```json { "status": "success", "data": { "job_id": 2000000110044, "status": "Failed", "operation": "insert", "project_details": { "project_name": "ShipmentTracking", "id": 4000000006007 }, "query": [ { "table_id": 3376000000165511, "details": { "object_url" : "https://zylker-emp-development.zohostratus.com/employees/emp_rec.csv" } } ], "callback": { "url": "https://hr.zylker.com/en/EmpRecords/_callback.php", "headers": { "src": "ZCatalyst", "operation": "bulkwriteAPI" }, "params": { "project_name": "EmployeeDatabase" } } "created_by": { "zuid": 3000000006111, "is_confirmed": true, "email_id": "emma@zylker.com", "first_name": "Amelia", "last_name": "Burrows", "user_id": 671930409 }, "created_time": "Oct 05, 2020 07:25 PM", "results": { "description": "The reference_column 'DeptID' in fk_mapping of table 3376000000165511 is not a unique column", "details": [ ] } } } ``` -------------------------------------------------------------------------------- title: "Check Bulk Write Status" description: "This API enables you to manually check the status of a bulk write job that you initiated previously." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/data-store/bulk-write-rows/check-bulk-write-status/" service: "CloudScale" -------------------------------------------------------------------------------- # Check Bulk Write Status ### Description You can execute this API to manually check the status of the [bulk write job](https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/data-store/bulk-write-rows/create-bulk-write-job/#CreateBulkWriteJob) that you initiated previously. If you had not configured a callback URL in your JSON request, you must check the job status yourself by executing this API. You must use the `job_id` that is sent to you in the automatic in-progress response when you initiated the bulk write operation, to check the job status subsequently. ### Request Details #### Request URL `GET` {api-domain}/baas/v1/project/{project_id}/bulk/write/{job_id} - **api-domain** (URL): The DC-specific domain to access Catalyst API - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the project - **job_id** (Numerical):The unique ID of the job that was sent in the initial [in-progress status response](https://docs.catalyst.zoho.com/en/api/introduction/overview-and-prerequisites/#response-details) after the Bulk Write API was executed
#### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.tables.bulk.CREATE ### Response Details The JSON response for the success state will contain the details of the executed job, along with a download URL, where you can [download a CSV report file](https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/data-store/bulk-write-rows/download-bulk-write-result/#DownloadBulkWriteResult) that will contain the details of the job execution. It will list all the records that were skipped from being written along with the reasons. The JSON response for the failed state will contain the details of the executed job, along with a description of the error that occurred in the job processing, and its details. **Sample Request** ```bash curl -X GET \ https://api.catalyst.zoho.com/baas/v1/project/4000000006007/bulk/write/2000000110044 \ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" ``` **Sample Response: Job in Progress** ```json { "status": "success", "data": { "job_id": 2000000110044, "status": "In-Progress", "operation": "insert", "project_details": { "project_name": "EmployeeDatabase", "id": 4000000006007 } "query": [ { "table_id": 3376000000165511, "details": { "object_url" : "https://zylker-emp-development.zohostratus.com/employees/emp_rec.csv", } } ], "callback": { "url": "https://hr.zylker.com/en/EmpRecords/_callback.php", "headers": { "src": "ZCatalyst", "operation": "bulkwriteAPI" }, "params": { "project_name": "EmployeeDatabase" } }, "created_by": { "zuid": 3000000006111, "is_confirmed": true, "email_id": "emma@zylker.com", "first_name": "Amelia", "last_name": "Burrows", "user_id": 671930409 }, "created_time": "Oct 05, 2020 07:33 PM" } } ``` **Sample Response: Job Successful** ```json { "status": "success", "data": { "job_id": 2000000110044, "status": "Completed", "operation": "insert", "project_details": { "project_name": "EmployeeDatabase", "id": 4000000006007 } "query": [ { "table_id": 3376000000165511, "details": { "object_url" : "https://zylker-emp-development.zohostratus.com/employees/emp_rec.csv" } } ], "callback": { "url": "https://hr.zylker.com/en/EmpRecords/_callback.php", "headers": { "src": "ZCatalyst", "operation": "bulkwriteAPI" }, "params": { "project_name": "EmployeeDatabase" } }, "created_by": { "zuid": 3000000006111, "is_confirmed": true, "email_id": "emma@zylker.com", "first_name": "Amelia", "last_name": "Burrows", "user_id": 671930409 }, "created_time": "Oct 05, 2020 07:25 PM", "results": { "download_url": "https://api.catalyst.zoho.com/baas/v1/bulk/write/2000000110013/download", "description": "Bulk WRITE job completed. ", "details": [ { "table_id": 3376000000165511, "records_processed": 176 } ] } } } ``` **Sample Response: Job Failed** ```json { "status": "success", "data": { "job_id": 2000000110044, "status": "Failed", "operation": "insert", "project_details": { "project_name": "EmployeeDatabase", "id": 4000000006007 } "query": [ { "table_id": 3376000000165511, "details": { "object_url" : "https://zylker-emp-development.zohostratus.com/employees/emp_rec.csv" } } ], "callback": { "url": "https://hr.zylker.com/en/EmpRecords/_callback.php", "headers": { "src": "ZCatalyst", "operation": "bulkwriteAPI" }, "params": { "project_name": "EmployeeDatabase" } }, "created_by": { "zuid": 3000000006111, "is_confirmed": true, "email_id": "emma@zylker.com", "first_name": "Amelia", "last_name": "Burrows", "user_id": 671930409 }, "created_time": "Oct 05, 2020 07:25 PM", "results": { "description": "The reference_column 'DeptID' in fk_mapping of table 3376000000165511 is not a unique column", "details": [ ] } } } ``` -------------------------------------------------------------------------------- title: "Download Bulk Write Result" description: "This API enables you to download the result of a successful bulk write job that you initiated previously." last_updated: "2026-11-03T15:19:21.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/data-store/bulk-write-rows/download-bulk-write-result/" service: "CloudScale" -------------------------------------------------------------------------------- # Download Bulk Write Result ### Description You can execute this API to download the result of a successful [bulk write job](https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/data-store/bulk-write-rows/create-bulk-write-job/#CreateBulkWriteJob) that you initiated. This URL will also be sent in JSON response for the success state. The downloaded CSV file will contain the details of the job execution. It will list all the records that were skipped from being written along with the reasons. > **Note:** The download URL will be valid for **1 day** after its generation. The link will expire after that time period, and you will not be able to obtain the CSV result file containing the job details. ### Request Details #### Request URL `GET` {api-domain}/baas/v1/project/{project_id}/bulk/write/{job_id}/download - **api-domain** (URL): The DC-specific domain to access Catalyst API - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the project - **job_id** (Numerical):The unique ID of the job that was sent in the initial [in-progress status response](https://docs.catalyst.zoho.com/en/api/introduction/overview-and-prerequisites/#response-details) after the Bulk Write API was executed
#### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.tables.bulk.CREATE ### Response Details The bulk write result file will be automatically downloaded to the configured directory in your system after you execute this API. **File format:** ZIP file containing the CSV result file Sample result file showing the details of a bulk write job:  **Sample Request** ```bash curl -X GET \ https://api.catalyst.zoho.com/baas/v1/project/4000000006007/bulk/write/2000000110044/download \ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" ``` ### Data Streams -------------------------------------------------------------------------------- title: "Get All Channels" description: "This API retrieves the list of all Datastream channels created in the specified Catalyst project." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/data-streams/get-all-channels/" service: "CloudScale" -------------------------------------------------------------------------------- # Get All Channels ### Description This API retrieves the list of all [Datastream channels](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-streams/introduction/) created in the specified Catalyst project. ### Request Details #### Request URL `GET` {api-domain}/baas/v1/project/{project_id}/datastreams/channel - **api-domain** (URL): The DC-specific domain used to access Catalyst APIs - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the Catalyst project #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.datastreams.channel.READ ### Response Details On successful execution, the response contains a list of all Datastream channels available in the specified project along with their corresponding metadata. **Sample Request** ```bash curl -X GET \ https://api.catalyst.zoho.com/baas/v1/project/20084000000589014/datastreams/channel \ -H "Authorization: Zoho-oauthtoken 1000.f53426c0cee59aaa57f1f158f5f271ca.ba782e5510151a126a08232e7958b24d" \ -H "CATALYST-ORG: 89773766" \ -H "Environment: Development" ``` **Sample Response** ```json { "status": "success", "data": [ { "parentId": 20084000000662015, "id": 20084000000662015, "name": "testing", "service": "1", "created_by": { "zuid": 89773766, "is_confirmed": true, "email_id": "emma@zylker.com", "first_name": "Emma", "last_name": "Thompson", "user_type": "Admin", "user_id": 20084000000012006 }, "modified_by": { "zuid": 89773766, "is_confirmed": true, "email_id": "emma@zylker.com", "first_name": "Emma", "last_name": "Thompson", "user_type": "Admin", "user_id": 20084000000012006 }, "created_time": "Oct 24, 2026, 10:43 AM", "modified_time": "Oct 24, 2026, 10:43 AM", "project_id": 20084000000589014, "control_type": 0, "control_ids": "20084000000589020,20084000000589021", "source": "1", "retention": 48 } ] } ``` ### SDK Documentation [Get Channels- Java SDK](https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/data-streams/get-channels/) [Get Channels- Node.js SDK](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/data-streams/get-channels/) [Get Channels- Python SDK](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/data-streams/get-channels/) -------------------------------------------------------------------------------- title: "Publish Data" description: "This API allows an authorized admin to publish streaming data to a Datastream channel. Active subscribers receive the data in real time." last_updated: "2026-11-04T10:10:44.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/data-streams/publish-data/" service: "CloudScale" -------------------------------------------------------------------------------- # Publish Data - Admin ### Description This API allows an authorized admin to publish streaming data to a [Datastream channel](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-streams/introduction/). Any active subscribers connected to the channel receive the published data in real time through the WebSocket connection. ### Request Details #### Request URL `POST` {api-domain}/baas/v1/project/{project_id}/datastreams/channel/{channel_id}/stream - **api-domain** (URL): The DC-specific domain used to access Catalyst APIs - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the Catalyst project - **channel_id** (Numerical): The unique ID of the Datastream channel #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Content-Type:** application/json **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Request Body - **data** (Object, mandatory): The payload that is published to the Datastream channel #### Scope ZohoCatalyst.datastreams.channel.stream.CREATE ### Response Details On successful execution, the data payload is published to the specified Datastream channel and delivered in real time to all connected subscribers if there are any. **Sample Request** ```bash curl -X POST \ https://api.catalyst.zoho.com/baas/v1/project/20084000000589014/datastreams/channel/20084000000662015/stream \ -H "Authorization: Zoho-oauthtoken 1000.f53426c0cee59aaa57f1f158f5f271ca.ba782e5510151a126a08232e7958b24d" \ -H "CATALYST-ORG: 89773766" \ -H "Environment: Development" \ -H "Content-Type: application/json" \ -d '{ "data": { "name": "data streams" } }' ``` **Sample Response** ```json { "status": "success", "data": true } ``` ### SDK Documentation [Publish Data- Java SDK](https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/data-streams/publish-data/) [Publish Data- Node.js SDK](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/data-streams/publish-data/) [Publish Data- Python SDK](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/data-streams/publish-data/) -------------------------------------------------------------------------------- title: "Get Channel Details" description: "This API lets you retrieve the details of a specific Datastream channel that was created from the Catalyst console." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/data-streams/get-channel-details/" service: "CloudScale" -------------------------------------------------------------------------------- # Get Channel Details ### Description This API lets you retrieve the details of a specific [Datastream channel](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-streams/introduction/) that was created from the Catalyst console. ### Request Details #### Request URL `GET` {api-domain}/baas/v1/project/{project_id}/datastreams/channel/{channel_id} - **api-domain** (URL): The DC-specific domain used to access Catalyst APIs - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the Catalyst project - **channel_id** (Numerical): The unique ID of the Datastream channel #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.datastreams.channel.READ ### Response Details On successful execution, this API returns the configuration and metadata associated with the specified Datastream channel. **Sample Request** ```bash curl -X GET \ https://api.catalyst.zoho.com/baas/v1/project/20084000000589014/datastreams/channel/20084000000589013 \ -H "Authorization: Zoho-oauthtoken 1000.f53426c0cee59aaa57f1f158f5f271ca.ba782e5510151a126a08232e7958b24d" \ -H "CATALYST-ORG: 89773766" \ -H "Environment: Development" ``` **Sample Response** ```json { "status": "success", "data": { "parentId": 20084000000589013, "id": 20084000000589013, "name": "testing", "service": "1", "created_by": { "zuid": 89773766, "is_confirmed": true, "email_id": "emma@zylker.com", "first_name": "Emma", "last_name": "Thompson", "user_type": "Admin", "user_id": 20084000000012006 }, "modified_by": { "zuid": 89773766, "is_confirmed": true, "email_id": "emma@zylker.com", "first_name": "Emma", "last_name": "Thompson", "user_type": "Admin", "user_id": 20084000000012006 }, "created_time": "Oct 24, 2026, 10:43 AM", "modified_time": "Oct 24, 2026, 10:43 AM", "project_id": 20084000000589014, "control_type": 0, "control_ids": "20084000000589020,20084000000589021", "source": "1", "retention": 48 } } ``` ### SDK Documentation [Get Channels- Java SDK](https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/data-streams/get-channels/) [Get Channels- Node.js SDK](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/data-streams/get-channels/) [Get Channels- Python SDK](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/data-streams/get-channels/) -------------------------------------------------------------------------------- title: "Get Live Count" description: "This API retrieves the number of active live clients currently connected to a specific Datastream channel." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/data-streams/get-live-count/" service: "CloudScale" -------------------------------------------------------------------------------- # Get Live Count ### Description This API retrieves the number of active live clients currently connected to a specific [Datastream channel](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-streams/introduction/). ### Request Details #### Request URL `GET` {api-domain}/baas/v1/project/{project_id}/datastreams/channel/{channel_name}/liveclient - **api-domain** (URL): The DC-specific domain used to access Catalyst APIs - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the Catalyst project - **channel_name** (String): The name of the Datastream channel #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.datastreams.connections.READ ### Response Details On successful execution, the response contains the count of live clients or list of subscribers currently connected to the specified Datastream channel. **Sample Request** ```bash curl -X GET \ https://api.catalyst.zoho.com/baas/v1/project/20084000000589014/datastreams/channel/testing/liveclient \ -H "Authorization: Zoho-oauthtoken 1000.f53426c0cee59aaa57f1f158f5f271ca.ba782e5510151a126a08232e7958b24d" \ -H "CATALYST-ORG: 89773766" \ -H "Environment: Development" ``` **Sample Response** ```json { "status": "success", "data": { "connections": 1 } } ``` ### SDK Documentation [Get Live Count- Java SDK](https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/data-streams/get-live-count/) [Get Live Count- Node.js SDK](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/data-streams/get-live-count/) [Get Live Count- Python SDK](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/data-streams/get-live-count/) -------------------------------------------------------------------------------- title: "Get Token Pair" description: "This API generates a token pair for a Datastream channel, required to establish a WebSocket connection to subscribe to the channel." last_updated: "2026-11-04T10:10:44.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/data-streams/get-token-pair/" service: "CloudScale" -------------------------------------------------------------------------------- # Get Token Pair ### Description This API generates a token pair for a [Datastream channel](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-streams/introduction/). The token pair is required to establish a WebSocket connection for any specific client or application to subscribe to the channel. > **Note:** `app_user_id` is the unique identifier of an application user in your Catalyst project. You can obtain the value of `app_user_id` from Catalyst Authentication, which represents who is subscribing to the Data Streams channel. Check out [this page](https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/authentication/get-specific-user/) for more details. ### Request Details #### Request URL `POST` {api-domain}/baas/v1/project/{project_id}/datastreams/channel/{channel_id}/tokenpair - **api-domain** (URL): The DC-specific domain used to access Catalyst APIs - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the Catalyst project - **channel_id** (Numerical): The unique ID of the Datastream channel #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Content-Type:** application/json **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Request Body - **app_user_id** (Numerical, mandatory): The unique ID of the application user for whom the token pair is generated #### Scope ZohoCatalyst.datastreams.connections.token.CREATE ### Response Details On successful execution, the response returns a token pair that can be used by the specified application user to establish a WebSocket connection and subscribe to the Datastream channel. **Sample Request** ```bash curl -X POST \ https://api.catalyst.zoho.com/baas/v1/project/20084000000589014/datastreams/channel/20084000000662015/tokenpair \ -H "Authorization: Zoho-oauthtoken 1000.06adcc79fa822856dc0668e88d297d45.252b0f4d750669be5965252623d40004" \ -H "CATALYST-ORG: 89773766" \ -H "Environment: Development" \ -H "Content-Type: application/json" \ -d '{ "app_user_id": 20084000000888047 }' ``` **Sample Response** ```json { "status": "success", "data": { "wss-id": "sub_20084000000888047_89773766_20084000000589014_20084000000662015", "channel-id": "20084000000662015", "key": "5f2a9c\u2026e81d", "url": "wss://datastreams.zoho.com", "deployment": "us1" } } ``` ### SDK Documentation [Generate Token Pair- Java SDK](https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/data-streams/generate-token-pair/) [Generate Token Pair- Node.js SDK](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/data-streams/generate-token-pair/) [Generate Token Pair- Python SDK](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/data-streams/generate-token-pair/) ### Mail -------------------------------------------------------------------------------- title: "Send Email" description: "This API enables you to send emails from a verified email address from your Catalyst application through Catalyst Mail." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/mail/send-email/" service: "CloudScale" -------------------------------------------------------------------------------- # Mail [Catalyst Mail](https://docs.catalyst.zoho.com/en/cloud-scale/help/mail/introduction/) enables you to add the email addresses of your business that will be used to send emails to the end-users from your Catalyst application. You can configure email addresses of public domains or of your organization's own domains. You can also use an external email client of your choice and configure its SMTP settings with Catalyst, instead of using the built-in Catalyst email client. You can perform these configurations from the console. # Send Email ### Description This API enables you to send emails from a verified email address to the recipients you specify, from your Catalyst application. Catalyst enables you to set multiple email addresses as the receivers, and to CC, BCC, and reply to through a single send mail operation. You can also attach files in your email. The **maximum supported limits** for email recipients and file attachments in a single send mail operation are specified below: * To address: 10 * CC: 10 * BCC: 5 * Reply to: 5 * Number of file attachments: 5 * Size of file attachments: 15 MB (through a single file or multiple files up to 5 files) You must pass the sender and receiver email addresses, the subject, content, and the attachments of the email as form-data in your API request. The keys to be passed as **form-data**, along with sample values are specified in the *Form-Data Properties* section below. > **Note:** You must have [configured and verified the sender's email address](https://docs.catalyst.zoho.com/en/cloud-scale/help/mail/email-configuration/) in the Catalyst console to be able to send emails. If the sender's email is hosted on a private domain or if you choose to use a third-party email client, you must configure them before sending emails as well. ### Request Details #### Request URL `POST` {api-domain}/baas/v1/project/{project_id}/email/send - **api-domain** (URL): The DC-specific domain to access Catalyst API - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the project #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Content-Type:** multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.email.CREATE #### Form-Data Properties - **from_email** ( , mandatory): The sender's email address that is configured in Catalyst Mail - **to_email** ( , atleast one recipient mandatory): Email addresses of the recipients - **cc** ( , optional): Email addresses to carbon copy (cc) - **bcc** ( , optional): Email addresses to blind carbon copy (bcc) - **reply_to** ( , optional): Email addresses to reply to - **attachments** ( , optional): The files to be attached in the email - **subject** ( , mandatory): The subject of the email - **content** ( , optional): The body of the email. You can pass the content in a HTML format by setting the `html_mode` as "True". - **html_mode** ( , optional): Specifies if the email content is in a HTML format. You must pass `true` or `false` as the value. If the value is `false`, the email content is in a regular text format. - **display_name** ( , optional): The display name of the sender ### Response Details The response returns the details of the email that was sent such as the status of the sent email, the project details, `from_email`, `to_email`, and `content`. **Sample Request** ```bash curl -X POST \ https://api.catalyst.zoho.com/baas/v1/project/4000000006007/email/send \ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" \ -H "Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW" \ -F from_email=emma@zylker.com \ -F to_email=vanessa.hyde@zoho.com,r.owens@zoho.com,chang.lee@zoho.com \ -F cc=p.boyle@zylker.com,robert.plant@zylker.com \ -F bcc=ham.gunn@zylker.com,rover.jenkins@zylker.com \ -F reply_to=peter.d@zoho.com,arnold.h@zoho.com \ -F attachments=kycform.pdf \ -F subject="Greetings from Zylker Corp!" \ -F content="Hello,
We're glad to welcome you at Zylker Corp. To begin your journey with us, please download the attached KYC form and fill in your details. You can send us the completed form to this same email address. We cannot wait to get started!
Cheers!
Team Zylker
" \ -F html_mode=true \ -F display_name="Amelia Burrows" \ ``` **Sample Response** ```json { "status": "success", "data": { "isAsync": false, "project_details": { "project_name": "Onboarding", "id": 2648000000235047, "project_type": "Live" }, "display_name": "Amelia Burrows", "from_email": "emma@zylker.com", "to_email": [ "vanessa.hyde@zoho.com", "r.owens@zoho.com", "chang.lee@zoho.com" ], "cc": [ "p.boyle@zylker.com", "robert.plant@zylker.com" ], "bcc": [ "ham.gunn@zylker.com", "rover.jenkins@zylker.com" ], "html_mode": true, "subject": "Greetings from Zylker Corp!", "content": "Hello,
We're glad to welcome you at Zylker Corp. To begin your journey with us, please download thattached KYC form and fill in your details. You can send us the completed form to this same email address. We cannowait to get started!
Cheers!
Team Zylker
", "reply_to": [ "peter.d@zoho.com", "arnold.h@zoho.com" ] } } ``` ### SDK Documentation [Send Email- Java SDK](https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/mail/send-email) [Send Email- Node.js SDK](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/mail/send-email) [Send Email- Python SDK](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/mail/send-email) ### NoSQL -------------------------------------------------------------------------------- title: "Insert New Item" description: "This API enables you to insert a new item in a NoSQL table." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/nosql/insert-item/" service: "CloudScale" -------------------------------------------------------------------------------- # NoSQL [Catalyst NoSQL](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/introduction/) is a fully managed non-relational, NoSQL data storage feature that enables you to store the semi-structured, unstructured, and disparate data of your applications. Catalyst supports document-type data storage in the key-value pair based JSON format. The Catalyst NoSQL APIs enable you to perform CRUD operations on your NoSQL tables. You can insert, update, delete, or fetch items, as well as execute queries on a table or a table's index. # Insert Item ### Description This API enables you to insert a new item in a [NoSQL](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/introduction/) table in your project. The table is referred to by its unique ID or name. You can insert an item with or without specifying any conditions by passing the data in the [Custom JSON format](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/working-with-data/introduction/#the-catalyst-custom-json-format). > **Note:** The table must already be created. You can [create a NoSQL table](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/create-manage-tables/) from the console. ### Request Details #### Request URL `POST` {api-domain}/baas/v1/project/{{project_id}}/nosqltable/{{table_identifier}}/item - **api-domain** (URL): The DC-specific domain to access Catalyst API - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the project - **table_identifier** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/create-manage-tables/) of the table or table name #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Content-Type:** application/json **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.nosql.item.INSERT > **Note:** This operation can also be executed with Catalyst user authentication permissions using Catalyst SDKs. Refer to the [Catalyst API Prerequisites section](https://docs.catalyst.zoho.com/en/api/introduction/overview-and-prerequisites/#prerequisites) for details. ### Request JSON Properties - **item** (json, mandatory): Contains the main data to be inserted in the table. The item must be inserted in the [Custom JSON format](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/working-with-data/introduction/#the-catalyst-custom-json-format). Specify the [partition key](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/components/#table-keys), if the table was configured with a simple primary key. Specify both the partition key and sort key, if the table was configured with a composite primary key. - **condition** (json, optional): The existing data of the table is retrieved and evaluated against this condition. The items are inserted only if the evaluation is true. If there is no existing data, the conditions are ignored and the items are inserted. There are three ways to initialize a condition: - - **functions** (json, mandatory (if specifying condition)): The two built-in functions are: `attribute_exist`, which can be used to check for the presence of an attribute, and `attribute_type`, which can be used to check if the given attribute name belongs to the given type. - - **operator, attribute, value** (json, optional): To perform direct comparison operations. Supported operators: `contains`, `not_contains`, `begins_with`, `ends_with`, `in`, `not_in`, `between`, `not_between`, `equals`, `not_equals`, `greater_than`, `less_than`, `greater_equal`, `less_equal`. - - **group, group operator** (json, optional): To combine two or more conditions. Supported group operators: `and`, `or`. - - **negate** (json, optional): To negate the result of the conditions. ### Response Details The response will return the status of the insert operation, as well as the details of the item inserted such as the `table_name`, `partition_key` and `sort_key`, if configured. **Sample Request** ```bash curl -X POST \ https://api.catalyst.zoho.com/baas/v1/project/4000000006007/nosqltable/3376000003171728/item \ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" \ -H "Content-Type:application/json" \ -d ‘{ "item": { "EmpID": { "N": "10999" }, "FirstName":{ "S": "Paul" }, "LastName":{ "S": "Smith" }, "PriorExperience":{ "BOOL": false }, "Location": { "M": { "Country": { "S": "USA" }, "City": { "S": "New York" } } } } }’ ``` **Sample Response** ```json { "status": "success", "data": { "table_name": "employeeDetails", "project_details": { "id": 4000000006007, "project_name": "EmpDatabase", "project_type": "Live" } } } ``` ### SDK Documentation [Insert Items- Java SDK](https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/nosql/insert-items/) [Insert Items- Node.js SDK](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/nosql/insert-items/) [Insert Items- Python SDK](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/nosql/insert-items/) -------------------------------------------------------------------------------- title: "Update Item" description: "This API enables you to update an item in a NoSQL table." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/nosql/update-item/" service: "CloudScale" -------------------------------------------------------------------------------- # Update Item ### Description This API enables you to update an item from the existing data in a [NoSQL](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/introduction/) table in your project. The table is referred to by its unique ID or name. You can pass the attributes to be updated with or without specifying any conditions in the [Custom JSON format](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/working-with-data/introduction/#the-catalyst-custom-json-format). ### Request Details #### Request URL `PUT` {api-domain}/baas/v1/project/{{project_id}}/nosqltable/{{table_identifier}}/item - **api-domain** (URL): The DC-specific domain to access Catalyst API - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the project - **table_identifier** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/create-manage-tables/) of the table or table name #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Content-Type:** application/json **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.nosql.item.UPDATE > **Note:** This operation can also be executed with Catalyst user authentication permissions using Catalyst SDKs. Refer to the [Catalyst API Prerequisites section](https://docs.catalyst.zoho.com/en/api/introduction/overview-and-prerequisites/#prerequisites) for details. ### Request JSON Properties - **keys** (json, mandatory): Denotes the [partition key](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/components/#table-keys) and sort key of the table. - **update_attributes** (json, mandatory): Denotes the attribute to be updated along with its value. The update can be of two types: PUT (to add a new attribute within the item) and DELETE (to remove an attribute from the item). The `attribute_path` indicates the path within the item where the actual operation is to be done. The value to be updated can be of two types: - - **update_value** (json, mandatory): The actual value to be updated. - - **update_function** (json, optional): There are four functions that can be used: `if_not_exists` - Checks the existence of the attribute and declares a value if it is not present. `append_list` - Appends data to a list `add` - Adds a value along with existing value or adds an element in a set `reduction` - Subtracts a value from existing value or removes an element in a set. - **condition** (json, optional): The existing data of the table is retrieved and evaluated against this condition. The items are inserted only if the evaluation is true. If there is no existing data, the conditions are ignored and the items are inserted. There are three ways to initialize a condition: - - **functions** (json, mandatory (if specifying condition)): The two built-in functions are: `attribute_exist`, which can be used to check for the presence of an attribute, and `attribute_type`, which can be used to check if the given attribute name belongs to the given type. - - **operator, attribute, value** (json, optional): To perform direct comparison operations. Supported operators: `contains`, `not_contains`, `begins_with`, `ends_with`, `in`, `not_in`, `between`, `not_between`, `equals`, `not_equals`, `greater_than`, `less_than`, `greater_equal`, `less_equal`. - - **group, group operator** (json, optional): To combine two or more conditions. Supported group operators: `and`, `or`. - - **negate** (json, optional): To negate the result of the conditions. ### Response Details The response will return the status of the insert operation, as well as the details of the item updated such as the `table_name`, `partition_key` and `sort_key`, if configured. **Sample Request** ```bash curl -X PUT \ https://api.catalyst.zoho.com/baas/v1/project/4000000006007/nosqltable/3376000003171728/item \ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" \ -H "Content-Type:application/json" \ -d ‘{ keys:{ partition_key:{ "S":"Country" }, sort_key:{ "N":"EmpID" }, } update_attributes:{ "item": { "EmpID": { "N": "10999" }, "FirstName":{ "S": "Paul" }, "LastName":{ "S": "Smith" }, "PriorExperience":{ "BOOL": false }, "Location": { "M": { "Country": { "S": "USA" }, "City": { "S": "New York" } } } } } }’ ``` **Sample Response** ```json { "status": "success", "data": { "table_name": "employeeDetails", "project_details": { "id": 4000000006007, "project_name": "EmpDatabase", "project_type": "Live" } } } ``` ### SDK Documentation [Update Items- Java SDK](https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/nosql/update-items/) [Update Items- Node.js SDK](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/nosql/update-items/) [Update Items- Python SDK](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/nosql/update-items/) -------------------------------------------------------------------------------- title: "Fetch Item" description: "This API enables you to fetch an existing item from a NoSQL table." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/nosql/fetch-item/" service: "CloudScale" -------------------------------------------------------------------------------- # Fetch Item ### Description This API enables you to fetch an item from a [NoSQL](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/introduction/) table in your project. The table is referred to by its unique ID or name. You can specify the attributes of the items to be fetched, and even denote if they need to be fetched from the master or a slave cluster. ### Request Details #### Request URL `GET` {api-domain}/baas/v1/project/{{project_id}}/nosqltable/{{table_identifier}}/item/fetch - **api-domain** (URL): The DC-specific domain to access Catalyst API - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the project - **tableIdentifier** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/create-manage-tables/) of the table or table name #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Content-Type:** application/json **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.nosql.item.READ > **Note:** This operation can also be executed with Catalyst user authentication permissions using Catalyst SDKs. Refer to the [Catalyst API Prerequisites section](https://docs.catalyst.zoho.com/en/api/introduction/overview-and-prerequisites/#prerequisites) for details. ### Request JSON Properties - **keys** (json, mandatory): Denotes the [partition key](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/components/#table-keys) and sort key of the table. - **required_attributes** (json, optional): List of attributes to be returned. - **consistent_read** (json, optional): Declares if the read has to be done from master or slave. If set to false, it is queried from the slave. Accepted values: `true`, `false`. ### Response Details The response will return the status of the fetch operation, as well as the items that are fetched. Either all the attributes or specified attributes of the items will be fetched. **Sample Request** ```bash curl -X GET \ https://api.catalyst.zoho.com/baas/v1/project/4000000006007/nosqltable/3376000003171728/item/fetch \ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" \ -H "Content-Type:application/json" \ -d ‘{ keys:{ partition_key:{ "S":"Country" }, sort_key:{ "N":"EmpID" }, } required_attributes: { "EmpID", "FirstName", "LastName", "PriorExperience" }, consistent_read: "true" }’ ``` **Sample Response** ```json { "status": "success", "data": { fetched_attributes:{ "item": { "EmpID": { "N": "10999" }, "FirstName":{ "S": "Paul" }, "LastName":{ "S": "Smith" }, "PriorExperience":{ "BOOL": false } } } } } ``` ### SDK Documentation [Fetch Items- Java SDK](https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/nosql/fetch-items/) [Fetch Items- Node.js SDK](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/nosql/fetch-items/) [Fetch Items- Python SDK](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/nosql/fetch-items/) -------------------------------------------------------------------------------- title: "Delete Item" description: "This API enables you to delete an item from a NoSQL table." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/nosql/delete-item/" service: "CloudScale" -------------------------------------------------------------------------------- # Delete Item ### Description This API enables you to insert a new item in a [NoSQL](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/introduction/) table in your project. The table is referred to by its unique ID or name. You can insert an item with or without specifying any conditions by passing the data in the [Custom JSON format](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/working-with-data/introduction/#the-catalyst-custom-json-format). > **Note:** The table must already be created. You can [create a NoSQL table](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/create-manage-tables/) from the console. ### Request Details #### Request URL `DELETE` {api-domain}/baas/v1/project/{{project_id}}/nosqltable/{{table_identifier}}/item - **api-domain** (URL): The DC-specific domain to access Catalyst API - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the project - **table_identifier** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/create-manage-tables/) of the table or table name #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Content-Type:** application/json **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.nosql.item.INSERT > **Note:** This operation can also be executed with Catalyst user authentication permissions using Catalyst SDKs. Refer to the [Catalyst API Prerequisites section](https://docs.catalyst.zoho.com/en/api/introduction/overview-and-prerequisites/#prerequisites) for details. ### Request JSON Properties - **item** (json, mandatory): Contains the main data to be inserted in the table. The item must be inserted in the [Custom JSON format](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/working-with-data/introduction/#the-catalyst-custom-json-format). Specify the [partition key](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/components/#table-keys), if the table was configured with a simple primary key. Specify both the partition key and sort key, if the table was configured with a composite primary key. - **condition** (json, optional): The existing data of the table is retrieved and evaluated against this condition. The items are inserted only if the evaluation is true. If there is no existing data, the conditions are ignored and the items are inserted. There are three ways to initialize a condition: - - **functions** (json, mandatory (if specifying condition)): The two built-in functions are: `attribute_exist`, which can be used to check for the presence of an attribute, and `attribute_type`, which can be used to check if the given attribute name belongs to the given type. - - **operator, attribute, value** (json, optional): To perform direct comparison operations. Supported operators: `contains`, `not_contains`, `begins_with`, `ends_with`, `in`, `not_in`, `between`, `not_between`, `equals`, `not_equals`, `greater_than`, `less_than`, `greater_equal`, `less_equal`. - - **group, group operator** (json, optional): To combine two or more conditions. Supported group operators: `and`, `or`. - - **negate** (json, optional): To negate the result of the conditions. ### Response Details The response will return the status of the insert operation, as well as the details of the item inserted such as the `table_name`, `partition_key` and `sort_key`, if configured. **Sample Request** ```bash curl -X DELETE \ https://api.catalyst.zoho.com/baas/v1/project/4000000006007/nosqltable/3376000003171728/item \ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" \ -H "Content-Type:application/json" \ -d ‘{ "item": { "EmpID": { "N": "10999" }, "FirstName":{ "S": "Paul" }, "LastName":{ "S": "Smith" }, "PriorExperience":{ "BOOL": false }, "Location": { "M": { "Country": { "S": "USA" }, "City": { "S": "New York" } } } } }’ ``` **Sample Response** ```json { "status": "success", "data": { "table_name": "employeeDetails", "project_details": { "id": 4000000006007, "project_name": "EmpDatabase", "project_type": "Live" } } } ``` ### SDK Documentation [Insert Items- Java SDK](https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/nosql/insert-items/) [Insert Items- Node.js SDK](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/nosql/insert-items/) [Insert Items- Python SDK](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/nosql/insert-items/) -------------------------------------------------------------------------------- title: "Query Table" description: "This API enables you to query a NoSQL table and fetch data." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/nosql/query-table/" service: "CloudScale" -------------------------------------------------------------------------------- # Query Table ### Description This API enables you to query a [NoSQL](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/introduction/) table in your project and fetch data. The table is referred to by its unique ID. ### Request Details #### Request URL `POST` {api-domain}/baas/v1/project/{{project_id}}/nosqltable/{{table_identifier}}/item/query - **api-domain** (URL): The DC-specific domain to access Catalyst API - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the project - **table_identifier** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/create-manage-tables/) of the table or table name #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Content-Type:** application/json **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.nosql.POST > **Note:** This operation can also be executed with Catalyst user authentication permissions using Catalyst SDKs. Refer to the [Catalyst API Prerequisites section](https://docs.catalyst.zoho.com/en/api/introduction/overview-and-prerequisites/#prerequisites) for details. ### Request JSON Properties - **key_condition** (json, mandatory): Contains the condition in the format similar to the CRUD operations of items. Only the partition key and sort key conditions can be given. Partition key can only have the "equals" operator. The condition can be partition key = value, or a group with partition key equals condition and the sort key condition. Refer to the [full list of supported operators](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/query-search/#supported-operators). - **required_attributes** (json, optional): List of attributes to be returned. - **consistent_read** (json, optional): Declares if the read has to be done from master or slave. If set to false, it is queried from the slave. Accepted values: `true`, `false`. - **other_condition** (json, optional): These are conditions that are applied over the retrieved data. The response is sent after these conditions are applied. - **forwardScan** (json, optional): This is used to indicate if the query has to be done in ascending or descending order. - **startKey** (json, optional): This is used for pagination purposes to fetch the next set of data items. - **additional_sort_key** (json, optional): This is used to indicate if the query is made against the table with additional sort keys. This contains the additional sort key attribute names. - **limit** (json, optional): This indicates the maximum count of items that should be returned. ### Response Details The response will return the status of the query operation, as well as the items that are fetched according to the conditions set in the query. **Sample Request** ```bash curl -X POST \ https://api.catalyst.zoho.com/baas/v1/project/4000000006007/nosqltable/3376000003171728/item/query \ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" \ -H "Content-Type:application/json" \ -d -d ‘{ key_condition:{ partition_key:{ "S":"Country" }, sort_key:{ "N":"EmpID" }, } required_attributes: { "EmpID", "FirstName", "LastName", "PriorExperience" }, consistent_read: "true" }’ ``` **Sample Response** ```json { "status": "success", "data": { fetched_data:{ "item": { "EmpID": { "N": "10999" }, "FirstName":{ "S": "Paul" }, "LastName":{ "S": "Smith" }, "PriorExperience":{ "BOOL": false } } } } } ``` ### SDK Documentation [Query Table- Java SDK](https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/nosql/query-table/) [Query Table- Node.js SDK](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/nosql/query-table/) [Query Table- Python SDK](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/nosql/query-table/) -------------------------------------------------------------------------------- title: "Query Index" description: "This API enables you to query a NoSQL index and fetch data." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/nosql/query-index/" service: "CloudScale" -------------------------------------------------------------------------------- # Query Index ### Description This API enables you to query a [NoSQL](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/introduction/) index in your project and fetch data. The index is referred to by its unique ID. ### Request Details #### Request URL `POST` {api-domain}/baas/v1/project/{{project_id}}/nosqltable/{{table_identifier}}//index/{{index_identifier/}}/item/query - **api-domain** (URL): The DC-specific domain to access Catalyst API - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the project - **tableIdentifier** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/create-manage-tables/) of the table or table name - **index_identifier** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/create-manage-tables/) of the index #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Content-Type:** application/json **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.nosql.POST > **Note:** This operation can also be executed with Catalyst user authentication permissions using Catalyst SDKs. Refer to the [Catalyst API Prerequisites section](https://docs.catalyst.zoho.com/en/api/introduction/overview-and-prerequisites/#prerequisites) for details. ### Request JSON Properties - **key_condition** (json, mandatory): Contains the condition in the format similar to the CRUD operations of items. Only the partition key and sort key conditions can be given. Partition key can only have the "equals" operator. The condition can be partition key = value, or a group with partition key equals condition and the sort key condition. Refer to the [full list of supported operators](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/query-search/#supported-operators). - **required_attributes** (json, optional): List of attributes to be returned. - **consistent_read** (json, optional): Declares if the read has to be done from master or slave. If set to false, it is queried from the slave. Accepted values: `true`, `false`. - **other_condition** (json, optional): These are conditions that are applied over the retrieved data. The response is sent after these conditions are applied. - **forwardScan** (json, optional): This is used to indicate if the query has to be done in ascending or descending order. - **startKey** (json, optional): This is used for pagination purposes to fetch the next set of data items. - **additional_sort_key** (json, optional): This is used to indicate if the query is made against the table with additional sort keys. This contains the additional sort key attribute names. - **limit** (json, optional): This indicates the maximum count of items that should be returned. ### Response Details The response will return the status of the query operation, as well as the items that are fetched according to the conditions set in the query. **Sample Request** ```bash curl -X POST \ https://api.catalyst.zoho.com/baas/v1/project/4000000006007/nosqltable/3376000003171728/index/786387162881/item/query \ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" \ -H "Content-Type:application/json" \ -d -d ‘{ key_condition:{ partition_key:{ "S":"Country" }, sort_key:{ "N":"EmpID" }, } required_attributes: { "EmpID", "FirstName", "LastName", "PriorExperience" }, consistent_read: "true" }’ ``` **Sample Response** ```json { "status": "success", "data": { fetched_data:{ "item": { "EmpID": { "N": "10999" }, "FirstName":{ "S": "Paul" }, "LastName":{ "S": "Smith" }, "PriorExperience":{ "BOOL": false } } } } } ``` ### SDK Documentation [Query Index- Java SDK](https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/nosql/query-index/) [Query Index- Node.js SDK](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/nosql/query-index/) [Query Index- Python SDK](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/nosql/query-index/) ### Push Notifications #### Android -------------------------------------------------------------------------------- title: "Send Android Push Notifications" description: "This API is used to send push notifications to the users of your Android app after you register your app with FCM and register your device." last_updated: "2026-11-04T10:10:44.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/push-notifications/android/send-android-push-notifications/" service: "CloudScale" -------------------------------------------------------------------------------- ## Send Android Push Notifications ### Description This API is used to send text [push notifications](https://docs.catalyst.zoho.com/en/cloud-scale/help/push-notifications/introduction/) to the user devices from your Android app for testing, after you register your app with Firebase Cloud Messaging, enroll for Catalyst push notifications, and register your device. You must implement the **four steps** explained in the [Push Notifications- Android help section](https://docs.catalyst.zoho.com/en/cloud-scale/help/push-notifications/android) before you can send push notifications. Catalyst enables you to send push notifications either to registered test devices or to production devices by passing the appID value from the configuration file of the respective environment. The request URL for sending push notifications to test devices and to production devices varies. These are presented in the Request Details section. You can pass the push notification message and the recipient to send the push notifications to, along with other details in your API request as shown in the sample request. ### Request Details #### Request URL to send Test Notifications `POST` {api-domain}/baas/v1/project/{project_id}/push-notification/{app_id}/test #### Request URL to send Production Notifications `POST` {api-domain}/baas/v1/project/{project_id}/push-notification/{app_id}/project-user/notify - **api-domain** (URL): The DC-specific domain to access Catalyst API - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the project - **app_id** (Numerical): The `appID` generated by Catalyst for your app in Push Notifications. You can find this in the _Android_ section of Push Notifications in your Catalyst console. #### Query Parameters **isAndroid:** true #### Request Headers **Content-Type:** application/json **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.notifications.mobile.CUSTOM #### Request JSON Properties - **recipient** (string, mandatory): The email address of the user that the push notification must be sent to. You can only send it to one user per API call. - **push_details** (json, mandatory): The JSON that contains the details of the push notification content and metadata - - **message** (string, mandatory): The text content of the push notification Max Size: 100 characters - - **additional_info** (json, optional): Any additional information that you need to send in the form of *"sample_key" : "sample_value"* Max Size: 100 characters - - **badge_count** (integer, optional): The count to be displayed over the app's icon - - **reference_id** (string, optional): The ID for reference - - **expiry_time** (integer, optional): The time of expiry of the notification in hours ### Response Details The response returns the status of the sent notification as `success` or `failed`, and the data that was passed including `message` and `expiry_time`. **Sample Request: Production Device** ```bash curl -X POST \ https://api.catalyst.zoho.com/baas/v1/project/204000000024010/push-notification/204000000036005/project-user/notify?isAndroid=true \ -H "Content-Type: application/json" \ -d '{ "recipients":"amanda.boyle@zylker.com", "push_details":{ "message":"Welcome to Zylker App!", "badge_count":10, "expiry_time":12, "additional_info":{ "sample_key" : "sample_value" } } }' ``` **Sample Response** ```json { "status": "success", "data": { "recipients": "amanda.boyle@zylker.com", "push_details": { "message": "Welcome to Zylker App!", "additional_info": { "sample_key": "sample_value" }, "badge_count": 10, "reference_id": null, "expiry_time": 12 } } } ``` ### SDK Documentation [Send Push Notifications- Java SDK](https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/push-notifications/send-notifications/) [Send Push Notifications- Node.js SDK](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/push-notifications/get-component-instance/) [Send Push Notifications- Python SDK](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/push-notifications/get-component-instance/) [Register Device for Push Notifications- iOS SDK](https://docs.catalyst.zoho.com/en/sdk/ios/v2/cloud-scale/push-notifications/register-device/) [Register Device for Push Notifications- Android SDK](https://docs.catalyst.zoho.com/en/sdk/android/v2/cloud-scale/push-notifications/register-device/) [Register Device for Push Notifications- Flutter SDK](https://docs.catalyst.zoho.com/en/sdk/flutter/v2/cloud-scale/push-notifications/register-device/) [Register Device for Push Notifications- Web SDK](https://docs.catalyst.zoho.com/en/sdk/web/v4/cloud-scale/push-notifications/register-client/) #### iOS -------------------------------------------------------------------------------- title: "Send iOS Push Notifications" description: "This API is used to send push notifications to the users of your iOS app after you register your app with Apple and register your device." last_updated: "2026-11-04T10:10:44.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/push-notifications/ios/send-ios-push-notifications/" service: "CloudScale" -------------------------------------------------------------------------------- ## Send iOS Push Notifications ### Description This API is used to send text [push notifications](https://docs.catalyst.zoho.com/en/cloud-scale/help/push-notifications/introduction/) to the user devices from your iOS app for testing, after you register your app with Apple, enroll for Catalyst push notifications, and register your device. You must implement the **six steps** explained in the [Push Notifications- iOS help section](https://docs.catalyst.zoho.com/en/cloud-scale/help/push-notifications/ios) before you can send push notifications to devices. Catalyst enables you to send push notifications either to registered test devices or to production devices by passing the appID value from the configuration file of the respective environment. The request URL for sending push notifications to test devices and to production devices varies. These are presented in the Request Details section. You can pass the push notification message and the recipient to send the push notifications to, along with other details in your API request as shown in the sample request. ### Request Details #### Request URL to send Test Notifications `POST` {api-domain}/baas/v1/project/{project_id}/push-notification/{app_id}/test #### Request URL to send Production Notifications `POST` {api-domain}/baas/v1/project/{project_id}/push-notification/{app_id}/project-user/notify - **api-domain** (URL): The DC-specific domain to access Catalyst API - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the project - **app_id** (Numerical): The `notificationAppID` obtained from the [`AppConfigurationDevelopment.plist`/ `AppConfigurationProduction.plist` file](https://docs.catalyst.zoho.com/en/sdk/ios/v2/setup/#properties-of-the-appconfigurationdevelopmentplist-appconfigurationproductionplist-file) for the appropriate environment #### Request Headers **Content-Type:** application/json **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.notifications.mobile.CUSTOM #### Request JSON Properties - **recipient** (string, mandatory): The email address of the user that the push notification must be sent to. You can only send it to one user per API call. - **push_details** (json, mandatory): The JSON that contains the details of the push notification content and metadata - - **message** (string, mandatory): The text content of the push notification Max Size: 100 characters - - **additional_info** (json, optional): Any additional information that you need to send in the form of *"sample_key" : "sample_value"* Max Size: 100 characters - - **badge_count** (integer, optional): The count to be displayed over the app's icon - - **reference_id** (string, optional): The ID for reference - - **expiry_time** (integer, optional): The time of expiry of the notification in hours ### Response Details The response returns the status of the sent notification as `success` or `failed`, and the data that was passed including `message` and `expiry_time`. **Sample Request: Production Device** ```bash curl -X POST \ https://api.catalyst.zoho.com/baas/v1/project/204000000024010/push-notification/204000000036005/project-user/notify \ -H "Content-Type: application/json" \ -d '{ "recipients":"amanda.boyle@zylker.com", "push_details":{ "message":"Welcome to Zylker App!", "badge_count":10, "expiry_time":12, "additional_info":{ "sample_key" : "sample_value" } } }' ``` **Sample Response** ```json { "status": "success", "data": { "recipients": "amanda.boyle@zylker.com", "push_details": { "message": "Welcome to Zylker App!", "additional_info": { "sample_key": "sample_value" }, "badge_count": 10, "reference_id": null, "expiry_time": 12 } } } ``` ### SDK Documentation [Send Push Notifications- Java SDK](https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/push-notifications/send-notifications/) [Send Push Notifications- Node.js SDK](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/push-notifications/get-component-instance/) [Send Push Notifications- Python SDK](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/push-notifications/get-component-instance/) [Register Device for Push Notifications- iOS SDK](https://docs.catalyst.zoho.com/en/sdk/ios/v2/cloud-scale/push-notifications/register-device/) [Register Device for Push Notifications- Android SDK](https://docs.catalyst.zoho.com/en/sdk/android/v2/cloud-scale/push-notifications/register-device/) [Register Device for Push Notifications- Flutter SDK](https://docs.catalyst.zoho.com/en/sdk/flutter/v2/cloud-scale/push-notifications/register-device/) [Register Device for Push Notifications- Web SDK](https://docs.catalyst.zoho.com/en/sdk/web/v4/cloud-scale/push-notifications/register-client/) #### Web -------------------------------------------------------------------------------- title: "Send Web Push Notifications" description: "This API is used to send push notifications to the users of your web application after you enable Catalyst push notifications." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/push-notifications/web/send-web-push-notifications/" service: "CloudScale" -------------------------------------------------------------------------------- # Push Notifications [Push notifications](https://docs.catalyst.zoho.com/en/cloud-scale/help/push-notifications/introduction/) are remote notifications that an application provider can send to the users of their application, even when the application is not actively running on the user device. Catalyst provides you with an easy way to integrate push notifications into your Catalyst web and iOS applications. ## Send Web Push Notifications ### Description This API is used to send text [push notifications](https://docs.catalyst.zoho.com/en/cloud-scale/help/push-notifications/introduction/) to the users of your web application for testing, after you enable push notifications for it. You can enable push notifications and also register client devices for receiving push notifications by implementing the web script mentioned in [this Web SDK help page](https://docs.catalyst.zoho.com/en/sdk/web/v4/cloud-scale/push-notifications/register-client/). You can then use this API to send push notifications. You can pass the push notification message and a list of the recipients in your API request as shown in the sample request. ### Request Details #### Request URL `POST` {api-domain}/baas/v1/project/{project_id}/project-user/notify - **api-domain** (URL): The DC-specific domain to access Catalyst API - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the project #### Request Headers **Content-Type:** application/json **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development > **Note:** Catalyst does not authenticate this API request. Therefore, you need not pass an OAuth token. #### Scope ZohoCatalyst.notifications.web.CUSTOM #### Request JSON Properties - **recipients** (string, mandatory): The email address or the user ID of the users that the push notification must be sent to - **message** (string, mandatory): The message content of the push notification in the text format ### Response Details The response returns the status of the sent notification as `success` or `failed`. **Sample Request** ```bash curl -X POST \ https://api.catalyst.zoho.com/baas/v1/project/3000000002001/project-user/notify \ -H "Content-Type: application/json" \ -d '{ "recipients":["rhonda.wilkins@zylker.com","isabella.j@zylker.com","harry.sandman@zylker.com"], "message":"Attention, new employees! Update your profile information in Zylker team app" }' ``` **Sample Response** ```json { "status": "success", "data": true } ``` ### SDK Documentation [Send Push Notifications- Java SDK](https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/push-notifications/send-notifications) [Send Push Notifications- Node.js SDK](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/push-notifications/send-notifications) [Send Push Notifications- Python SDK](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/push-notifications/send-notifications) [Register a Client for Push Notifications- Web SDK](https://docs.catalyst.zoho.com/en/sdk/web/v4/cloud-scale/push-notifications/get-component-instance/) ### Search -------------------------------------------------------------------------------- title: "Execute Search Query" description: "This API enables you to execute a search operation in the indexed columns of all the tables in the Data Store through Catalyst Search." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/search/execute-search-query/" service: "CloudScale" -------------------------------------------------------------------------------- # Search [Catalyst Search](https://docs.catalyst.zoho.com/en/cloud-scale/help/search-integration/introduction/) enables data searching in the indexed columns of the tables in your [Catalyst Data Store](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/introduction/). When you integrate Search in your application, the end users will be able to perform powerful searches through volumes of data in your Data Store with a single search query. # Execute Search Query ### Description This API enables you to execute a search operation in the indexed columns of all the tables in the Data Store. You can pass the search parameters in the request JSON. The records that match the search query are fetched as the response. ### Request Details #### Request URL `POST` {api-domain}/baas/v1/project/{project_id}/search - **api-domain** (URL): The DC-specific domain to access Catalyst API - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the project #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Content-Type:** application/json **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.search.READ > **Note:** This operation can also be executed with Catalyst user authentication permissions using Catalyst SDKs. Refer to the [Catalyst API Prerequisites section](https://docs.catalyst.zoho.com/en/api/introduction/overview-and-prerequisites/#prerequisites) for details. #### Request JSON Properties - **search** (string, mandatory): Search pattern that contains the keywords to search for You can provide multiple keywords separated by commas. - **search_table_columns** (json, mandatory): The indexed columns to be searched in a table You must provide this in the following format: *{"table_name_1": ["column_name_1", "column_name_2", "column_name_3"..],* *"table_name_2": ["column_name_1", "column_name_2", "column_name_3"..]..}* - **select_table_columns** (json, optional): The columns to be selected and displayed based on the search You must provide this in the following format: *{"table_name_1": ["column_name_1", "column_name_2", "column_name_3"..],* *"table_name_2": ["column_name_1", "column_name_2", "column_name_3"..]..}* - **order_by** (json, optional): Sorts the records fetched in the search results either in an ascending or descending manner Allowed Values: `ASC`, `DESC` - **start** (integer, optional): Starting index of a row where the search must begin Default value: 0 - **end** (integer, optional): The offset value of a row where search must end Default value: 500 ### Response Details The response returns the records that match the search query. The details of the rows including their metadata such as `CREATORID` and `CREATEDTIME`, and the column key names and values are returned. **Sample Request** ```bash curl -X POST \ https://api.catalyst.zoho.com/baas/v1/project/4000000006007/search \ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" \ -H "Content-Type: application/json" \ -d '{ "search" : "Mary", "search_table_columns" : { "CustomerInfo": [ "CustomerName", "TrainerName" ] }, "start":1000, "end":200 }' ``` **Sample Response** ```json { "status": "success", "data": { "CustomerInfo": [ { "CREATORID": "56000000002003", "MODIFIEDTIME": "2019-02-08 13:13:44", "CustomerName": "Mary Johnson", "TrainerName": "Helena Stewart", "CustomerID":"PL1213234", "CREATEDTIME": "2019-02-08 13:13:44" }, { "CREATORID": "56000000002003", "MODIFIEDTIME": "2019-02-08 20:11:10", "CustomerName": "Mary Palmer", "TrainerName": "Ronald Wazlib", "CustomerID":"SY091834", "CREATEDTIME": "2019-02-08 20:11:10" }, { "CREATORID": "56000000002003", "MODIFIEDTIME": "2019-11-09 10:00:12", "CustomerName": "Herbert Spielberg", "TrainerName": "Mary Amber Rogers", "CustomerID":"AL987627", "CREATEDTIME": "2019-11-08 00:12:40" } ] } } ``` ### SDK Documentation [Search Data- Java SDK](https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/search/search-data) [Search Data- Node.js SDK](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/search/search-data) [Search Data- Python SDK](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/search/search-data) [Search Data- Web SDK](https://docs.catalyst.zoho.com/en/sdk/web/v4/cloud-scale/search/search-data) ### Stratus -------------------------------------------------------------------------------- title: "Get All Buckets" description: "This API enables you to retrieve the details of all the buckets in Stratus along with the details of all the objects in it" last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/stratus/get-all-buckets/" service: "CloudScale" -------------------------------------------------------------------------------- # Stratus [Stratus](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/introduction/) is Catalyst's robust cloud storage solution. With a simple upload action, you can store your data of any type as [Objects](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/objects/introduction/) in containers called [Buckets](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/buckets/name-bucket/). # Get All Buckets ### Description This API allows you to get all available details of all [buckets](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/buckets/name-bucket/) present in Stratus. ### Request Details #### Request URL `GET` {api-domain}/baas/v1/project/{project_id}/bucket - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the project #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.buckets.READ ### Response Details The response will return the metadata and details of all the buckets including its `bucket_name`, and the details of the user who created and last modified the bucket. **Sample Request** ```bash curl -X GET https://api.catalyst.zoho.com/baas/v1/project/10108000003823392/bucket -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" ``` **Sample Response** ```json { "status": "success", "data": [ { "bucket_name": "fsbucket17", "project_details": { "project_name": "Project-Rainfall-4", "id": 2000000000075, "project_type": "Live" }, "created_by": { "zuid": 18599686, "is_confirmed": false, "email_id": "emmy@zylker.com", "first_name": "Amelia B", "last_name": "Fstest", "user_type": "Admin", "user_id": 2000000000055 }, "created_time": "Sep 27, 2023 05:01 PM", "modified_by": { "zuid": 18599686, "is_confirmed": false, "email_id": "emmy@zylker.com", "first_name": "Amelia B", "last_name": "Fstest", "user_type": "Admin", "user_id": 2000000000055 }, "modified_time": "Sep 27, 2023 05:01 PM", "bucket_meta": { "versioning": false, "caching": { "status": "Disabled" }, "encryption": false, "audit_consent": false }, "bucket_url": "https://fsbucket17-development.zohostratus.com" }, { "bucket_name": "fsbucket16", "project_details": { "project_name": "Project-Rainfall-4", "id": 2000000000075, "project_type": "Live" }, "created_by": { "zuid": 18599686, "is_confirmed": false, "email_id": "emmy@zylker.com", "first_name": "Amelia B", "last_name": "Fstest", "user_type": "Admin", "user_id": 2000000000055 }, "created_time": "Sep 27, 2023 04:58 PM", "modified_by": { "zuid": 18599686, "is_confirmed": false, "email_id": "emmy@zylker.com", "first_name": "Amelia B", "last_name": "Fstest", "user_type": "Admin", "user_id": 2000000000055 }, "modified_time": "Sep 27, 2023 04:58 PM", "bucket_meta": { "versioning": false, "caching": { "status": "Disabled" }, "encryption": true, "audit_consent": true }, "bucket_url": "https://fsbucket16-development.zohostratus.com" }, { "bucket_name": "fsbucket15", "project_details": { "project_name": "Project-Rainfall-4", "id": 2000000000075, "project_type": "Live" }, "created_by": { "zuid": 18599686, "is_confirmed": false, "email_id": "emmy@zylker.com", "first_name": "Amelia B", "last_name": "Fstest", "user_type": "Admin", "user_id": 2000000000055 }, "created_time": "Sep 27, 2023 04:57 PM", "modified_by": { "zuid": 18599686, "is_confirmed": false, "email_id": "emmy@zylker.com", "first_name": "Amelia B", "last_name": "Fstest", "user_type": "Admin", "user_id": 2000000000055 }, "modified_time": "Sep 27, 2023 04:57 PM", "bucket_meta": { "versioning": true, "caching": { "status": "In-Progress" }, "encryption": false, "audit_consent": false }, "bucket_url": "https://fsbucket15-development.zohostratus.com" } ] } ``` ### SDK Documentation * [Get Bucket - Java SDK](https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/stratus/list-buckets/) * [Get Bucket - Node.js SDK](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/stratus/list-buckets/) * [Get Bucket - Python SDK](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/stratus/list-buckets/) * [Stratus - Web SDK](https://docs.catalyst.zoho.com/en/sdk/web/v4/cloud-scale/stratus/overview/) * [Stratus - iOS SDK](https://docs.catalyst.zoho.com/en/sdk/ios/v2/cloud-scale/stratus/overview/) * [Stratus - Android SDK](https://docs.catalyst.zoho.com/en/sdk/android/v2/cloud-scale/stratus/overview/) * [Stratus - Flutter SDK](https://docs.catalyst.zoho.com/en/sdk/flutter/v2/cloud-scale/stratus/overview/) -------------------------------------------------------------------------------- title: "Get Specific Bucket" description: "This API enables you to retrieve the details of a specific bucket in Stratus along with the details of all the objects in it" last_updated: "2026-11-03T15:41:32.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/stratus/get-bucket/" service: "CloudScale" -------------------------------------------------------------------------------- # Get Bucket ### Description This API allows you to get all available details of a bucket present in Stratus. The Bucket is referred by its [unique bucket name](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/buckets/name-bucket/#ideal-practices-to-name-a-bucket). ### Request Details #### Request URL `GET` {api-domain}/baas/v1/project/{project_id}/bucket/{bucket_name} - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the project - **bucket_name** (Alphanumerical): The [name of the bucket](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/buckets/name-bucket/#ideal-practices-to-name-a-bucket) #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.buckets.READ ### Response Details The response will return the metadata and details of the particular bucket including its `bucket_name`, and the details of the user who created and last modified the bucket. **Sample Request** ```bash curl -X GET https://api.catalyst.zoho.com/baas/v1/project/10108000003823392/bucket?bucket_name=mybucketname/ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" ``` **Sample Response** ```json { "status": "success", "data": [ { "bucket_name": "fsbucket17", "bucket_url": "https://fsbucket17-development.stratus.com", "objects_count": 21, "size_in_bytes": 145578, "project_details": { "project_name": "Project-Rainfall-4", "id": 2000000000075, "project_type": "Live" }, "created_by": { "zuid": 18599686, "is_confirmed": false, "email_id": "emmy@zylker.com", "first_name": "Amelia B", "last_name": "Fstest", "user_type": "Admin", "user_id": 2000000000055 }, "created_time": "Sep 27, 2023 05:01 PM", "modified_by": { "zuid": 18599686, "is_confirmed": false, "email_id": "emmy@zylker.com", "first_name": "Amelia B", "last_name": "Fstest", "user_type": "Admin", "user_id": 2000000000055 }, "modified_time": "Sep 27, 2023 05:01 PM", "bucket_meta": { "versioning": true, "caching": { "status": "Enabled" }, "encryption": true, "audit_consent": false } } ] } ``` ### SDK Documentation * [Get a Particular Bucket - Java SDK](https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/stratus/list-buckets/) * [Get a Particular Bucket - Node.js SDK](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/stratus/list-buckets/) * [Get a Particular Bucket - Python SDK](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/stratus/list-buckets/) * [Stratus - Web SDK](https://docs.catalyst.zoho.com/en/sdk/web/v4/cloud-scale/stratus/overview/) * [Stratus - iOS SDK](https://docs.catalyst.zoho.com/en/sdk/ios/v2/cloud-scale/stratus/overview/) * [Stratus - Android SDK](https://docs.catalyst.zoho.com/en/sdk/android/v2/cloud-scale/stratus/overview/) * [Stratus - Flutter SDK](https://docs.catalyst.zoho.com/en/sdk/flutter/v2/cloud-scale/stratus/overview/) -------------------------------------------------------------------------------- title: "Get All Objects" description: "This API enables you to get all the objects present in a bucket." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/stratus/get-all-objects/" service: "CloudScale" -------------------------------------------------------------------------------- # Get All Objects ### Description This API allows you to get all the [objects](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/objects/introduction/) stored in a bucket. The Bucket is referred by its [unique bucket name](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/buckets/name-bucket/#ideal-practices-to-name-a-bucket). ### Request Details #### Request URL `GET` {api-domain}/baas/v1/project/{project_id}/bucket/objects - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the project #### Query Parameters - **bucket_name** (Alphanumeric, mandatory): The [name of the bucket](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/buckets/name-bucket/#ideal-practices-to-name-a-bucket) - **max_keys** (Number, Optional): Will contain the maximum limit of objects that can be listed by pagination. - **continuation_token** (String, optional): If you sent a `continuation_token` in the request, it will be shown in the response - **prefix** (String, Optional): This optional value will get the objects that match the prefix value. #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.buckets.objects.READ ### Response Details On successful execution, the response will contain a list of all the objects stored in the required bucket. **Sample Request** ```bash curl -X GET https://api.catalyst.zoho.com/baas/v1/project/10108000003823392/buckets/objects?bucket_name=mybucketname&max_keys=10&continuation_token=Sg43ou34rd2bih223oc8csc&prefix=myfolder/ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" ``` **Sample Response** ```json { "status": "success", "data": { "key_count": 5, "max_keys": 5, "truncated": true, "next_continuation_token": "n2BjzZo5FvrSQmx7z5LaJk7cvP2Yf2K6AJHw4Sg692TnfwHasUp8DJp8qL24A3TLAGPu8zyEysfjfQpjohEMaej", "contents": [ { "key_type": "file", "key": "server 96.zip", "version_id": "01hh9hnwxw8r88kzzfnkn67grr", "size": 3012536, "content_type": "application/zip", "etag": "e460808d4190b37c472985a1f1d85720", "last_modified": "Dec 10, 2023 03:12 PM" }, { "key_type": "file", "key": "oauthscopes.csv", "version_id": "01hh9hnhypzt63fwf5wyk2ef6f", "size": 19804, "content_type": "text/csv", "etag": "354266606189c30c80f336720102ead6", "last_modified": "Dec 10, 2023 03:11 PM" }, { "key_type": "folder", "key": "lib 3", "size": 0, "last_modified": "Dec 10, 2023 03:11 PM" }, { "key_type": "file", "key": "funcauthtest-Development (1).zip", "version_id": "01hh9hkv8xvetbxnrhx6c7444y", "size": 8485, "content_type": "application/zip", "etag": "5f868df044e91a4c7e26be26b6e93a64", "last_modified": "Dec 10, 2023 03:10 PM" }, { "key_type": "file", "key": "Automl_LZ (1).csv", "version_id": "01hh9hkfdf07y8pnpbwtkt8cf7", "size": 257, "content_type": "text/csv", "etag": "223a363af39a49d4b32f6cdf0c569755", "last_modified": "Dec 10, 2023 03:10 PM" } ] } } ``` ### SDK Documentation * Purge Cache - Java SDK * Purge Cache - Node.js SDK * Purge Cache - Python SDK * [Stratus - Web SDK](https://docs.catalyst.zoho.com/en/sdk/web/v4/cloud-scale/stratus/overview/) * [Stratus - iOS SDK](https://docs.catalyst.zoho.com/en/sdk/ios/v2/cloud-scale/stratus/overview/) * [Stratus - Android SDK](https://docs.catalyst.zoho.com/en/sdk/android/v2/cloud-scale/stratus/overview/) * [Stratus - Flutter SDK](https://docs.catalyst.zoho.com/en/sdk/flutter/v2/cloud-scale/stratus/overview/) -------------------------------------------------------------------------------- title: "Get a Specific Object" description: "This API enables you to get all the objects present in a bucket." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/stratus/get-object/" service: "CloudScale" -------------------------------------------------------------------------------- # Get a Specific Object ### Description This API allows you to get a specific [object](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/objects/introduction/) stored in a bucket. The Bucket is referred by its [unique bucket name](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/buckets/name-bucket/#ideal-practices-to-name-a-bucket), and the required object is referred using its name. If [Versioning](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/stratus-config/general-settings/#versioning) is enabled, then the required object can also be referred to using its unique `version ID`. ### Request Details #### Request URL `GET` {api-domain}/baas/v1/project/{project_id}/bucket/object - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the project #### Query Parameters - **bucket_name** (Alphanumeric, mandatory): The [name of the bucket](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/buckets/name-bucket/#ideal-practices-to-name-a-bucket) - **object_key** (String, mandatory): Will contain the complete name of the object. - **version_id** (String, optional): This is an ID generated by Stratus when Versioning is enabled. You can use `version_id` to refer to the required object. #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.buckets.objects.READ ### Response Details On successful execution, the response will contain the details of the requested object. **Sample Request** ```bash curl -X GET https://api.catalyst.zoho.com/baas/v1/project/{projectID}/bucket/object?bucket_name={bucketName}&version_id={versionID}&object_key={objectPath} -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" ``` **Sample Response** ```json { "status": "success", "data": { "key": "Automl_LZ (1).csv", "size": 257, "content_type": "text/csv", "last_modified": "Dec 10, 2023 03:10 PM", "meta_data": { "automl_metakey": "metavalue" }, "object_url": "https://gcpimport2-development.csezstratus.com/Automl_LZ%20(1).csv" } } ``` ### SDK Documentation * [Get Object Details - Java SDK](https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/stratus/object-details/#get-details-of-a-particular-version-of-the-object) * [Get Object Details - Node.js SDK](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/stratus/object-details/#get-details-of-a-particular-version-of-the-object) * [Get Object Details - Python SDK](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/stratus/object-details/#get-details-of-a-particular-version-of-the-object) * [Get Object - Web SDK](https://docs.catalyst.zoho.com/en/sdk/web/v4/cloud-scale/stratus/download-object/) * [Get Object - iOS SDK](https://docs.catalyst.zoho.com/en/sdk/ios/v2/cloud-scale/stratus/get-object/) * [Get Object - Android SDK](https://docs.catalyst.zoho.com/en/sdk/android/v2/cloud-scale/stratus/get-object/) * [Get Object - Flutter SDK](https://docs.catalyst.zoho.com/en/sdk/flutter/v2/cloud-scale/stratus/get-object/) -------------------------------------------------------------------------------- title: "Get All Versions of an Object" description: "This API enables you to get all the versions of an object." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/stratus/get-all-versions/" service: "CloudScale" -------------------------------------------------------------------------------- # Get All Versions of an Object ### Description This API allows you to get all the versions of the [object](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/objects/introduction/) stored in a bucket. The Bucket is referred by its [unique bucket name](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/buckets/name-bucket/#ideal-practices-to-name-a-bucket), and the required object is referred using its name. ### Request Details #### Request URL `GET` {api-domain}/baas/v1/project/{project_id}/bucket/objects/versions - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the project #### Query Parameters - **bucket_name** (Alphanumeric, mandatory): The [name of the bucket](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/buckets/name-bucket/#ideal-practices-to-name-a-bucket) - **object_key** (String, mandatory): Will contain the complete name of the object. - **max_versions** (Number, optional): Will contain the maximum number of versions that can be listed in one paginated iteration. - **continuation_token** (String, optional): Will contain the token to check if next paginated iteration is required or not. #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.buckets.objects.READ ### Response Details On successful execution, the response will contain the list of details of all the versions of the required object. **Sample Request** ```bash curl -X GET https://api.catalyst.zoho.com/baas/v1/project/10108000003823392/bucket/objects/versions?bucket_name=zylker-bucket&object_key=sampleimage&max_versions=10&continuation_token=Sg43ou34rd2bih223oc8csc/ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" ``` **Sample Response** ```json { "status": "success", "data": { "truncated": true, "key": "Automl_LZ (1).csv", "versions_count": 2, "max_versions": 2, "is_truncated": true, "next_continuation_token": "97tn3xP3te66VpfVwVJwtDAgouBKVNhGAV6jzGY6DMdX6hcJmwJKbFX3unakGdfKfJ", "version": [ { "latest": true, "version_id": "01hh9hkfdf07y8pnpbwtkt8cf7", "is_latest": true, "last_modified": "Dec 10, 2023 03:10 PM", "size": 257, "etag": "223a363af39a49d4b32f6cdf0c569755" }, { "latest": false, "version_id": "01hh9hjtge85k1fx2yp1kg8r2q", "is_latest": false, "last_modified": "Dec 10, 2023 03:10 PM", "size": 257, "etag": "223a363af39a49d4b32f6cdf0c569755" } ] } } ``` ### SDK Documentation * [Get All Versions of an Object - Java SDK](https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/stratus/list-object-versions/) * [Get All Versions of an Object - Node.js SDK](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/stratus/list-object-versions/) * [Get All Versions of an Object - Python SDK](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/stratus/list-object-versions/) * [Stratus - Web SDK](https://docs.catalyst.zoho.com/en/sdk/web/v4/cloud-scale/stratus/overview/) * [Stratus - iOS SDK](https://docs.catalyst.zoho.com/en/sdk/ios/v2/cloud-scale/stratus/overview/) * [Stratus - Android SDK](https://docs.catalyst.zoho.com/en/sdk/android/v2/cloud-scale/stratus/overview/) * [Stratus - Flutter SDK](https://docs.catalyst.zoho.com/en/sdk/flutter/v2/cloud-scale/stratus/overview/) -------------------------------------------------------------------------------- title: "Check Bucket Availability" description: "This API enables you to check if a particular bucket is present or not." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/stratus/head-bucket/" service: "CloudScale" -------------------------------------------------------------------------------- # Check Bucket Availability ### Description This API allows you to check the availability of a particular [bucket](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/buckets/name-bucket/) present in Stratus. The bucket will be referred using its unique [bucket name](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/buckets/name-bucket/#ideal-practices-to-name-a-bucket) ### Request Details #### Request URL `HEAD` {api-domain}/baas/v1/project/{project_id}/bucket/{bucket_name} - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the project - **bucket_name** (Alphanumerical): The [name of the bucket](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/buckets/name-bucket/#ideal-practices-to-name-a-bucket) #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.buckets.READ ### Response Details The response can be any of the following status codes: * `200`: If the bucket is available and if the user has the relevant permissions to access it. * `403`: If the bucket exists, but the user does not have the relevant permissions to access the bucket. * `404`: If the bucket does not exist. **Sample Request** ```bash curl -X HEAD https://api.catalyst.zoho.com/baas/v1/project/10108000003823392/bucket?bucket_name=myBucketName/ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" ``` ### SDK Documentation * [Check Bucket Availability - Java SDK](https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/stratus/check-bucket/) * [Check Bucket Availability - Node.js SDK](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/stratus/check-bucket/) * [Check Bucket Availability - Python SDK](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/stratus/check-bucket/) * Check Bucket Availability - Web SDK * [Stratus - iOS SDK](https://docs.catalyst.zoho.com/en/sdk/ios/v2/cloud-scale/stratus/overview/) * [Stratus - Android SDK](https://docs.catalyst.zoho.com/en/sdk/android/v2/cloud-scale/stratus/overview/) * [Stratus - Flutter SDK](https://docs.catalyst.zoho.com/en/sdk/flutter/v2/cloud-scale/stratus/overview/) -------------------------------------------------------------------------------- title: "Check Object Availability" description: "This API enables you to check if a particular object is present in a bucket." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/stratus/head-object/" service: "CloudScale" -------------------------------------------------------------------------------- # Check Object Availability ### Description This API allows you to check if a particular [object](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/objects/introduction/) is stored in a bucket. The Bucket is referred by its [unique bucket name](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/buckets/name-bucket/#ideal-practices-to-name-a-bucket), and the required object is referred using its name. If [Versioning](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/stratus-config/general-settings/#versioning) is enabled, then the required object can also be referred to using its unique `version ID`. ### Request Details #### Request URL `HEAD` {api-domain}/baas/v1/project/{project_id}/bucket/objects - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the project #### Query Parameters - **bucket_name** (Alphanumeric, mandatory): The [name of the bucket](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/buckets/name-bucket/#ideal-practices-to-name-a-bucket) - **object_key** (String, mandatory): Will contain the complete name of the object. - **version_id** (String, optional): This is an ID generated by Stratus when Versioning is enabled. You can use `version_id` to refer to the required object. #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.buckets.objects.READ ### Response Details On successful execution, the response will contain the **200** status code, to indicate the object is present in the bucket. If the object is incorrect or not present in the bucket, you will get a **404** status code as your response. **Sample Request** ```bash curl -X HEAD https://api.catalyst.zoho.com/baas/v1/project/10108000003823392/bucket/object?bucket_name=myBucketName&object_key=image.jpeg&version_id=dfd233fcds2wd223/ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" ``` ### SDK Documentation * [Check Object Availability - Java SDK](https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/stratus/check-object-availability/) * [Check Object Availability - Node.js SDK](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/stratus/check-object-availability/) * [Check Object Availability - Python SDK](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/stratus/check-object-availability/) * [Stratus - Web SDK](https://docs.catalyst.zoho.com/en/sdk/web/v4/cloud-scale/stratus/overview/) * [Stratus - iOS SDK](https://docs.catalyst.zoho.com/en/sdk/ios/v2/cloud-scale/stratus/overview/) * [Stratus - Android SDK](https://docs.catalyst.zoho.com/en/sdk/android/v2/cloud-scale/stratus/overview/) * [Stratus - Flutter SDK](https://docs.catalyst.zoho.com/en/sdk/flutter/v2/cloud-scale/stratus/overview/) -------------------------------------------------------------------------------- title: "Download Object" description: "This API enables you to perform download operations on an object stored in Stratus." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/stratus/download-object/" service: "CloudScale" -------------------------------------------------------------------------------- # Download Object ### Description This API allows you to download the required [object](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/objects/introduction/) stored in a bucket. The Bucket is referred by its [unique bucket name](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/buckets/name-bucket/#ideal-practices-to-name-a-bucket), and the required object is referred using its name. ### Request Details #### Request URL `GET` {bucket_name}.zohostratus.com/{key} The above domain name will change with respect to the data center:| DC | Domain Name |
|---|---|
| `US` | **zohostratus.com** |
| `EU` | **zohostratus.eu** |
| `IN` | **zohostratus.in** |
| `AU` | **zohostratus.com.au** |
| `CA` | **zohostratus.ca** |
| `SA` | **zohostratus.sa** |
| `JP` | **zohostratus.jp** |
| DC | Domain Name |
|---|---|
| `US` | **zohostratus.com** |
| `EU` | **zohostratus.eu** |
| `IN` | **zohostratus.in** |
| `AU` | **zohostratus.com.au** |
| `CA` | **zohostratus.ca** |
| `SA` | **zohostratus.sa** |
| `JP` | **zohostratus.jp** |
| Category | SDK Method |
|---|---|
| General Stratus Operations | [Create Bucket Instance](https://docs.catalyst.zoho.com/en/sdk/android/v2/cloud-scale/stratus/create-bucket-instance/) |
| Bucket Operations |
|
| Parameter Name | Definition |
|---|---|
| `name` | A **mandatory** parameter. Will contain the object name. |
| `versionId` | An **optional** parameter. Will hold the unique version ID of the required object's version. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `prefix` | **String** | An **Optional** parameter. This will get the objects that match the prefix value. |
| `max_keys` | **Number** | An **Optional** parameter. Will contain the maximum limit of objects that can be listed by pagination. |
| `continuation_token` | **String** | An **Optional** parameter. If the response was truncated, the value of this key must be passed as `continuation_token` to the same method for retrieving the next set of objects. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `versionId` | **String** | An **optional** parameter. Will hold the unique version ID of the required object's version. |
| `fromCache` | **Boolean** |
|
| Parameter Name | Data type | Definition |
|---|---|---|
| `filePath` | **String** | A **mandatory** parameter. Will contain the complete path of the location from where the file needs to be uploaded from. |
| `fileName` | **String** |
|
| `shouldCompress` | **Boolean** |
|
| `progress` | **Function** |
|
| Parameter Name | Data type | Definition |
|---|---|---|
| `filePath` | **String** | A **mandatory** parameter. Will contain the complete path of the location from where the file needs to be uploaded from. |
| `shouldCompress` | **Boolean** |
|
| `progress` | **Function** |
|
| Parameter Name | Data type | Definition |
|---|---|---|
| `stream` | **InputStream** | A **mandatory** parameter. Will contain the input stream of the object that needs to be uploaded. |
| `fileName` | **String** |
|
| `shouldCompress` | **Boolean** |
|
| `progress` | **Function** |
|
| Parameter Name | Data Type | Definition |
|---|---|---|
| `objects` | **ArrayList<ZCatalystObject>** | An array containing the list of objects (and version IDs, if [Versioning](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/stratus-config/general-settings/#versioning) is enabled for the bucket) that needs to be deleted. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `path` | **String** | A **mandatory** parameter. Will contain the complete path of where the file should be uploaded. |
| Category | SDK Method |
|---|---|
| General Stratus Operations |
|
| Bucket Operations |
|
| Parameter Name | Data Type | Definition |
|---|---|---|
| `name` | **String** | A **mandatory** parameter. Will hold the name of the object. |
| `versionId` | **String** | An **optional** parameter. Will hold the unique version ID of the required object's version. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `prefix` | **String** | An **Optional** parameter. This will get the objects that match the prefix value. |
| `maxKeys` | **Number** | An **Optional** parameter. Will contain the maximum limit of objects that can be listed by pagination. |
| `continuationToken` | **String** | An **Optional** parameter. If the response was truncated, the value of this key must be passed as `continuationToken` to the same method for retrieving the next set of objects. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `pathToDownload` | **String** | A **mandatory** parameter. Will hold the [path](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/objects/introduction/#path) where the object needs to be downloaded. |
| `newObjectName` | **String** | An **optional** parameter. Will hold the name of the object that you provide while being downloaded. If you do not provide this value, then the object will be downloaded by its original name. |
| `versionId` | **String** | An **optional** parameter. If [Versioning](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/stratus-config/general-settings/#versioning) is enabled for the bucket, it will hold the unique version ID of the required object's version. |
| `fromCache` | **Boolean** |
|
| `progress` | **Function(int, int, Double)?** | A callback function that can provide progess information about the object download |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `filePath` | **String** | A **mandatory** parameter. Will contain the complete path of the location from where the file needs to be uploaded from. |
| `shouldCompress` | **Boolean** |
|
| Parameter Name | Data Type | Definition |
|---|---|---|
| `objects` | **ArrayList<ZCatalystObject>** | An array containing the list of objects (and version IDs, if [Versioning](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/stratus-config/general-settings/#versioning) is enabled for the bucket) that needs to be deleted. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `path` | **String** | A **mandatory** parameter. Will contain the complete path of where the file should be uploaded. |
| Category | SDK Method |
|---|---|
| General Stratus Operations |
|
| Bucket Operations |
|
| Parameter Name | Definition |
|---|---|
| `objectKey` | A **mandatory** parameter. Will contain the object name. |
| `versionId` | An **optional** parameter. Will hold the unique version ID of the required object's version. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `prefix` | **String** | An **Optional** parameter. This will get the objects that match the prefix value. |
| `maxKeys` | **Number** | An **Optional** parameter. Will contain the maximum limit of objects that can be listed by pagination. |
| `continuation_token` | **String** | An **Optional** parameter. If the response was truncated, the value of this key must be passed as `continuation_token` to the same method for retrieving the next set of objects. |
| Parameter Name | Definition |
|---|---|
| `fromCache` |
|
| Parameter Name | Definition |
|---|---|
| `fromCache` |
|
| `fileRefId` | A unique ID to refer to the file that is being uploaded. |
| `fileUploadDelegate` | This is a protocol that needs to be confirmed. the Upload delegate object is essential to track the status of the object upload. |
| Parameter Name | Definition |
|---|---|
| `filePath` | A **mandatory** parameter. Will contain the complete path of the location from where the file needs to be uploaded from. |
| `fileName` |
|
| `shouldCompress` |
|
| Parameter Name | Definition |
|---|---|
| `fileName` | A **mandatory** parameter. Will contain the complete name of the object that needs to be uploaded. |
| `data` | A **mandatory** parameter. The object that needs to be uploaded in data format. |
| `shouldCompress` |
|
| Parameter Name | Definition |
|---|---|
| `fileRefId` | A unique ID to refer to the file that is being uploaded. |
| `filePath` | A **mandatory** parameter. Will contain the complete path of where the file should be uploaded. |
| `fileName` |
|
| `shouldCompress` |
|
| `fileUploadDelegate` | This is a protocol that needs to be confirmed. the Upload delegate object is essential to track the status of the object upload. |
| Parameter Name | Definition |
|---|---|
| `fileRefId` | A unique ID to refer to the file that is being uploaded. |
| `data` | A **mandatory** parameter. The object that needs to be uploaded in data format. |
| `fileName` |
|
| `shouldCompress` |
|
| `fileUploadDelegate` | This is a protocol that needs to be confirmed. the Upload delegate object is essential to track the status of the object upload. |
| Method Used | Description |
|---|---|
| `createBulkReadJob()` | Create a new bulk read job. | `getBulkReadJobStatus()` | to find out the status and the result of the bulk read job. |
| Method Used | Description |
|---|---|
| `createBulkWriteJob(bulkWriteDetails)` | Create a new bulk write job on a specific table. | `createInsertBulkWriteJob(table ID, objectDetails)` | Create a new bulk write insert job. |
| `createUpsertBulkWriteJob(tableId, objectDetails, column ID)` | Create a new bulk write upsert job. |
| `getBulkWriteJobDetails(jobID)` | Get the status and results of a bulk write job. |
| Method | Description |
|---|---|
| `subscribe(String subscribeType)` | Subscribes to the channel with the specified [subscribe type](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-streams/implementation/subscribe-websocket/#choose-your-subscriber-type). Throws `ZCDataStreamException`. |
| `subscribe()` | Subscribes to the channel with the default subscribe type. Throws `ZCDataStreamException`. |
| `unsubscribe()` | Unsubscribes from the channel. Throws `ZCDataStreamException`. |
| `sendAck()` | Sends an acknowledgement to receive the next streaming data. |
| `close()` | Closes the WebSocket connection manually. |
| `isConnected()` | Returns whether the connection is currently open, as a boolean. |
| `getConnectionState()` | Returns the current connection state as a String. |
| `getSessionInfo()` | Returns the `ZCSessionInfo` of the active session. |
| Supported Data Type | Notation with ZCNoSQLAttribute |
|---|---|
| String | `ZCNoSQLValue.DataType.S` |
| Numeric | `ZCNoSQLValue.DataType.N` |
| Binary | `ZCNoSQLValue.DataType.B` |
| Boolean | `ZCNoSQLValue.DataType.BOOL` |
| Set of String | `ZCNoSQLValue.DataType.SS` |
| Set of Numbers | `ZCNoSQLValue.DataType.SN` |
| Set of Binary | `ZCNoSQLValue.DataType.SB` |
| List | `ZCNoSQLValue.DataType.L` |
| Map | `ZCNoSQLValue.DataType.M` |
| Null | `ZCNoSQLValue.DataType.NuLL` |
| Category | SDK Method |
|---|---|
| General Stratus Operations |
|
| Bucket Operations |
|
| Object Operations |
|
| Parameter Name | Data Type | Definition |
|---|---|---|
| `bucket_name` | **String** | A **Mandatory** parameter. Will hold the [unique name of the bucket](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/buckets/name-bucket/#ideal-practices-to-name-a-bucket). |
| `throwErr` | **Boolean** | An **Optional** parameter. If you set this parameter as "**true**", then it will throw an error when the bucket is not found in the project. The default value is "**false**" |
| Error Code | Meaning |
|---|---|
| `404` | Not Found. Bucket Not found in Stratus. |
| `401` | Unauthorized/Access Denied - User doesn't have permission to perform the particular operation. |
| `403` | Permission Denied - User does not have permission to access the particular bucket. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `maxKey` | **String** | A **Mandatory** parameter. Will contain the maximum limit of objects that can be listed by pagination. |
| `nextToken` | **String** | An **Mandatory** parameter. Will contain the token to get the next set of objects. |
| `prefix` | **String** | An **Optional** parameter. To list objects that match the prefix value. |
| `orderBy` | **String** | An **Optional** parameter. To list objects either in ascending or descending order. **Default Value**: `asc` |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `key` | **String** | A **Mandatory** parameter. Will hold the complete name of the object. |
| `versionId` | **String** | An **Optional** parameter. Will hold the unique version ID of the object, if [Versioning](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/stratus-config/general-settings/#versioning) is enabled. |
| `throwErr` | **Boolean** | An **Optional** parameter. If you set this parameter as "**true**", then it will throw an error when the object is not found in the project. The default value is "**false**" |
| Error Code | Meaning |
|---|---|
| `404` | Not Found. Object Not found. |
| `401` | Unauthorized/Access Denied - User doesn't have permission to perform the particular operation. |
| `403` | Permission Denied - User does not have permission to access the particular object. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `key` | **String** | A **Mandatory** parameter. Will hold the complete name of the object along with it's [path](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/objects/introduction/#path). |
| `URL_ACTION` | **Enum** | A **Mandatory** parameter. This is the parameter that will allow you to generate a presigned URL for download action.
|
| `expiry` | **String** | This is an **Optional** parameter. The URL validity time in seconds.
|
| `activeFrom` | **String** | This is an **Optional** parameter. This param will contain the time after which the URL is valid. Maximum value is **7 days**. URLs are made active as soon as they are generated by default. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `key` | **String** | A **Mandatory** parameter. Will hold the name of the object. |
| `uploadId` | **String** | A **Mandatory** parameter. This value is returned in the Initiate Multipart Upload method. |
| `part` | **InputStream** | A **Mandatory** parameter. Will hold the data of the object part. |
| `partNumber` | **Int** | A **Mandatory** parameter. Will have the ordering of the parts that are being uploaded. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `key` | **String** | A **Mandatory** parameter. Will hold the complete name of the object along with it's [path](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/objects/introduction/#path). |
| `URL_ACTION` | **Enum** | A **Mandatory** parameter. This is the parameter that will allow you to generate a presigned URL for an upload action.
|
| `expiry` | **String** | This is an **Optional** parameter. The URL validity time in seconds.
|
| `activeFrom` | **String** | This is an **Optional** parameter. This param will contain the time after which the URL is valid. Maximum value is **7 days**. URLs are made active as soon as they are generated by default. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `key` | **String** | A **Mandatory** parameter. Will be the name of the zip file, you need to extract |
| `destination` | **String** | A **Mandatory** parameter. Will contain the complete [path information](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/objects/introduction/#path) of the destination, where the extracted objects will be stored in the bucket. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `key` | **String** | The original name of the object that you need to rename |
| `destination` | **String** | The new name that you rename the object with |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `key` | **String** | The complete name and [path](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/objects/introduction/#path) of the object that you are required to move. |
| `destination` | **String** | The complete name and new path of the object. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `key` | **String** | A **Mandatory** parameter. Will hold the complete name of the object along with it's [path](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/objects/introduction/#path). |
| `versionId` | **String** | An **Optional** parameter. If [Versioning](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/stratus-config/general-settings/#versioning) is enabled for your bucket then, this param will help you refer to a particular version using its unique Version ID. |
| `ttl` | **int** | An **Optional** parameter. It allows you to schedule your delete operations. For example, if you provide the value of `ttl` as **60**, the delete operation will only occur after 60 seconds. The value of `ttl` has to be >= 60 seconds. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `nextToken` | **String** | Will hold the value to determine the next set of versions. |
| `maxVersion` | **int** | An **Optional** parameter. Will hold the value of the maximum number of versions of the object that can be listed per iteration. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `versionId` | **String** | An **Optional** parameter. If [Versioning](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/stratus-config/general-settings/#versioning) is enabled for your bucket then, this param will help you refer to a particular version using its unique Version ID. |
| Category | SDK Method | Required Scope |
|---|---|---|
| General Operations | [Get Component Instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/get-component-instance/) | **No requirement** |
| Authentication (**User Management**) Operations |
|
**Admin** |
| Category | SDK Method | Required Scope |
|---|---|---|
| General Operations | [Get DataStore Instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-component-instance/) | **No requirement** |
| Table Operations |
|
**No requirement** |
| Column Operations | [Get Column Metadata](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-column-metadata/)
| **No requirement** |
| Row Operations |
| **No requirement** |
Bulk Operations
|
**Admin** | |
|
**No requirement** |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `hasNext` | **Added** | Will determine if the next iteration is required to fetch more rows. |
| `maxRows` | **Int** | An **optional** parameter. Will return the required number of rows per page based on the value you set. For example, if you set the value of `maxRows` as **100**, then **100 rows** of data will be per page. > **Info:** By default, without using the `maxRows` parameter, the SDK method will return **200 rows** per page. |
| `nextToken` | **String** | Will be used to decide if more rows need to be fetched from the table. |
| `more_records` | **Needed** | Will be fetched from the response data to fetch the next set of records. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `ROWID` | **Int** | A **mandatory** parameter. Will hold the value of the row that you need to update. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `ROWID` | **Int** | A **mandatory** parameter. Will hold the value of the row that you need to update. |
| Methods Used | Description |
|---|---|
| `bulkRead.createJob({criteria, page,select_columns})` | Create new bulk read job. |
| `bulkRead.getStatus(jobID)` | Get a bulk read job status. |
| `bulkRead.getResult(jobID)` | Get a bulk read job's result. |
| Methods Used | Description |
|---|---|
| `bulkWrite.createJob(objectDetails,{find_by, fk_mapping, operation})` | Create a new bulk write job on a specific table. |
| `bulkWrite.status(job ID)` | Get the status of a bulk write operation. |
| `bulkWrite.result(job ID)` | Get the result of a bulk write operation. |
| Category | SDK Method | Required Scope |
|---|---|---|
| General Operations | [Create a NoSQL Instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/get-instance/) | Not required |
| NoSQL Operations |
|
**Admin** |
| Attribute Name | Attribute Data Type | Attribute Value |
|---|---|---|
| `fruitName`(**Partition Key**) | String | Banana |
| `fruitColor`(map:**fruitProperties**) | String | Yellow |
| `fruitType`(map:**fruitProperties**) | String | Berries |
| Operators | Notation |
|---|---|
| CONTAINS | `contains` |
| NOT_CONTAINS | `not_contains` |
| BEGINS_WITH | `begins_with` |
| ENDS_WITH | `ends_with` |
| IN | `in` |
| NOT_IN | `not_in` |
| BETWEEN | `between` |
| NOT_BETWEEN | `not_between` |
| EQUALS | `equals` |
| NOT_EQUALS | `not_equals` |
| GREATER_THAN | `greater_than` |
| LESS_THAN | `less_than` |
| GREATER_THAN_OR_EQUALS | `greater_equal` |
| LESSER_THAN_OR_EQUALS | `less_equal` |
| AND | `AND` |
| OR | `OR` |
| Attribute Name | Value |
|---|---|
| fruitName(Partition Key) | Apple |
| Operators | Notation |
|---|---|
| CONTAINS | contains |
| NOT_CONTAINS | not_contains |
| BEGINS_WITH | begins_with |
| ENDS_WITH | ends_with |
| IN | in |
| NOT_IN | not_in |
| BETWEEN | between |
| NOT_BETWEEN | not_between |
| EQUALS | equals |
| NOT_EQUALS | not_equals |
| GREATER_THAN | greater_than |
| LESS_THAN | less_than |
| GREATER_THAN_OR_EQUALS | greater_equal |
| LESSER_THAN_OR_EQUALS | less_equal |
| AND | AND |
| OR | OR |
| Operators | Notation |
|---|---|
| CONTAINS | contains |
| NOT_CONTAINS | not_contains |
| BEGINS_WITH | begins_with |
| ENDS_WITH | ends_with |
| IN | in |
| Category | SDK Method | Required Scope |
|---|---|---|
| General Operations | [Check Stratus Instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/create-instance/) | Not required |
| [Check Bucket Availability](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/check-bucket-availability/) | Not required | |
| [List Buckets](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/list-buckets/) | **Admin** | |
| Bucket Operations | [Create Bucket Instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/create-bucket-instance/) | Not required |
| [Get Bucket Details](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/get-bucket-details/) | Not required | |
| [Get Bucket CORS](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/get-bucket-cors/) | **Admin** | |
[List Objects in a Bucket](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/list-objects/)
|
**Admin** | |
| [Check Object Availability](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/check-object/) | **Admin** | |
[Download Object](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/download-object/)
|
Not required | |
| [Generate Presigned URL to Download an Object](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/download-object/#generate-presigned-url-to-download-an-object) | **Admin** | [Upload Object](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/upload-object/)
|
Not required |
| [Generate Presigned URL to Upload an Object](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/upload-object/#generate-presigned-url-to-upload-an-object) | **Admin** | |
[Extract a Zipped Object In Stratus](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/extract-zipped-object/)
|
**Admin** | |
| [Copy Object](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/copy-object/) | **Admin** | |
| [Rename an Object](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/rename-move/) | **Admin** | |
| [Move an Object](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/rename-move/#move-an-object) | **Admin** | |
[Delete Object](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/delete-object/)
|
**Admin** | |
| Object Operations | [Create Object Instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/create-object-instance/) | Not required |
[List Object Versions](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/list-object-versions/)
|
**Admin** | |
[Get Object Details](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/get-object-details/)
|
**Admin** | |
| [Put Object Meta Data](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/put-object-metadata/) | **Admin** |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `bucketName` | **String** | A **Mandatory** parameter. Will hold the [unique name of the bucket](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/buckets/name-bucket/#ideal-practices-to-name-a-bucket). |
| `throwErr` | **Boolean** | An **Optional** parameter. If you set this parameter as "**true**", then it will throw an error when the bucket is not found in the project. The default value is "**false**". |
| Error Code | Meaning |
|---|---|
| `404` | **Not Found**. Bucket Not found in Stratus. |
| `401` | **Unauthorized/Access Denied** - User doesn't have permission to perform the particular operation. |
| `403` | **Permission Denied** - User does not have permission to access the particular bucket. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `maxKey` | **String** | A **Mandatory** parameter. Will contain the maximum limit of objects. |
| `nextToken` | **String** | A **mandatory** parameter. Will contain the token to get the next set of objects. |
| `prefix` | **String** | An **optional** parameter. To list objects that match the prefix value. |
| `orderBy` | **String** | An **optional** parameter. To list objects either in ascending or descending order. **Default Value**: `asc` |
| `folderListing` | **String** | An **optional** parameter. To choose to list either just the root-level objects in the bucket or list all the objects present in all the paths of the bucket. **Default Value**: `false` For example, If you set the value as `true`, the root-level objects alone will be listed. If you set the value as `false`, all the objects present in all the paths of the bucket will be listed. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `objectName` | **String** | A **Mandatory** parameter. Will hold the complete name of the object. |
| `versionId` | **String** | An **optional** parameter. Will hold the unique version ID of the object, if [Versioning](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/stratus-config/general-settings/#versioning) is enabled. |
| `throwErr` | **Boolean** | An **optional** parameter. If you set this parameter as "**true**", then it will throw an error when the bucket is not found in the project. The default value is "**false**". |
| Error Code | Meaning |
|---|---|
| `404` | **Not Found**. Object Not found in Stratus. |
| `401` | **Unauthorized/Access Denied** - User doesn't have permission to perform the particular operation. |
| `403` | **Permission Denied** - User does not have permission to access the particular object. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `key` | **String** | A **mandatory** parameter. Will hold the complete name of the object. |
| `urlAction` | **Request Method** | A **mandatory** parameter. This is the parameter that will allow you to generate a presigned URL for either a download (`GET`) action.
|
| `expiry` | **String** | This is an **optional** parameter. The URL validity time in seconds.
|
| `activeForm` | **String** | This is an **optional** parameter. This param will contain the time after which the URL is valid.
|
| Parameter Name | Data Type | Definition |
|---|---|---|
| `bucket` | **SDK Instance** | The `bucket` reference used in the following code snippet is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/create-bucket-instance/). |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `key` | **String** | A **mandatory** parameter. Will hold the complete name of the object along with its [path](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/objects/introduction/#path). |
| `urlAction` | **Request Method** | A **mandatory** parameter. This is the parameter that will allow you to generate a presigned URL for an upload (`PUT`) action.
|
| `expiry` | **String** | This is an **optional** parameter. The URL validity time in seconds.
|
| `activeFrom` | **String** | This is an **optional** parameter. This parameter will contain the time after which the URL is valid.
|
| Parameter Name | Data Type | Definition |
|---|---|---|
| `key` | **String** | A **mandatory** parameter. Will be the name of the zip file, you need to extract. |
| `destPath` | **String** | A **mandatory** parameter. Will contain the complete [path information](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/objects/introduction/#path) of the destination, where the extracted objects will be stored in the bucket. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `taskId` | **String** | This parameter will be returned in the response of the `unzipObject()` SDK method. It will contain the status of the extraction process. |
| Name | Definition |
|---|---|
| `key` | The object that is being copied. |
| `destination` | Will contain the new [path](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/objects/introduction/#path) name of the object. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `key` | **String** | The original name of the object that you need to rename or move. |
| `destination` | **String** | The new name of the object, containing the complete path information. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `key` | **String** | A **mandatory** parameter. Will hold the complete name of the object along with its [path](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/objects/introduction/#path). |
| `versionId` | **String** | An **optional** parameter. If [Versioning](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/stratus-config/general-settings/#versioning) is enabled for your bucket then this parameter will help you refer to a particular version using its unique *Version ID*. |
| `ttl` | **Int** | An **optional** parameter. It allows you to schedule your delete operations. For example, if you provide the value of `ttl` as **60**, the delete operation will only occur after 60 seconds. The value of `ttl` has to be ** \>= 60 seconds**. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `nextToken` | **String** | Will hold the value that determines the next set of versions. |
| `maxVersions` | **Int** | An **optional** parameter. Will hold the value of the maximum number of versions of the object that can be listed per iteration. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `versionId` | **String** | An **optional** parameter. Needs to be used to refer to the required version of the object. |
| Category | SDK Method | Required Scope |
|---|---|---|
| General Operations |
|
**No requirement** |
| Cache Operations |
|
**Admin** |
| Category | SDK Method | Required Scope |
|---|---|---|
| General Operations | [Get Connections Instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/connections/get-component-instance/) | Not required |
| Connections Operations | [Get Authentication Credentials](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/connections/get-auth-credentials/) | **Admin** |
| Category | SDK Method | Required Scope |
|---|---|---|
| General Operations | [Get Mail Instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/mail/get-mail-instance/) | Not required |
| Mail Operations | [Send Email](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/mail/send-email/) | **Admin** |
| Email Header Fields | Maximum Supported Limits |
|---|---|
| To address | 10 |
| CC | 10 |
| BCC | 5 |
| Reply to | 5 |
| Number of file attachments | 5 |
| Size of file attachments | 15MB (through a **single file** or **multiple files up to 5** files) |
| Category | SDK Method | Required Scope |
|---|---|---|
| General Operations | [Get Push Notification Instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/push-notifications/get-instance/) | Not required |
| Push Notifications Operations |
|
**Admin** |
| Parameters Used | Definition |
|---|---|
| `notifyObj` | An object with the details of the push notification message. |
| `recipient` | The Catalyst [User ID](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/user-management/users/introduction/) of the recipient or the email address of the recipient to whom the message has to be delivered. |
| `badge_count` | Sets the app icon’s notification **badge count to 1**. You can change this value to any number you require. |
| Parameters Used | Definition |
|---|---|
| `notifyObj` | An object with the details of the push notification message. |
| `recipient` | The Catalyst [User ID](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/user-management/users/introduction/) of the recipient or the email address of the recipient to whom the message has to be delivered. |
| `badge_count` | Sets the app icon’s notification **badge count to 1**. You can change this value to any number you require. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `channelId` | **String** | A **Mandatory** parameter. Holds the unique ID of the channel. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `channelId` | **String** | A **Mandatory** parameter. Holds the unique ID of the channel. |
| `connectionName` | **String** | A **Mandatory** parameter. Holds the custom identifier for the subscriber connection. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `channelId` | **String** | A **Mandatory** parameter. Holds the unique ID of the channel. |
| `userId` | **String** | A **Mandatory** parameter. Holds the unique ID of the user subscribing to the channel. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `channelId` | **String** | A **Mandatory** parameter. Holds the unique ID of the channel. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `channelId` | **String** | A **Mandatory** parameter. Holds the unique ID of the channel. |
| `data` | **Object** | A **Mandatory** parameter. Holds the data payload to be published to the channel. |
| Method | Description |
|---|---|
| `subscribe()` | Subscribes to the channel with the specified [subscribe type](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-streams/implementation/subscribe-websocket/#choose-your-subscriber-type): live, earliest, resume, or a specific streaming ID. |
| `unsubscribe()` | Unsubscribes from the channel. |
| `sendAck()` | Sends an acknowledgement to receive the next streaming data. |
| `close()` | Closes the WebSocket connection. |
| `isConnected()` | Checks whether the connection is currently open. |
| `getConnectionState()` | Returns the current connection state: connected, connecting, closing, or closed. |
| `getSessionInfo()` | Returns the session ID and user ID of the current session. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `signup_config` | `Object` | A **Mandatory** parameter. Will store the user registration details, including the application platform, ZAID, and the email information to be sent after registration. |
| `user_details` | `Object` | A **Mandatory** parameter. Will hold the user registration details such as first name, last name, email ID and the ID of the organization to which the user has to be added. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `signup_config` | Object | A **Mandatory** parameter. Will store the user registration details, including the application platform, ZAID, and the email information to be sent after registration. |
| `user_details` | Object | A **Mandatory** parameter. Will hold the user registration details such as first name, last name, email ID and ID of the organization to which the user has to be registered. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `email_id` | String | A **Mandatory** parameter. Will hold the value of the the user's email address. |
| `reset_config` | Object | A **Mandatory** parameter. Will store the details of the user account for which the password needs to be reset. These details include the application platform type, the ZAID, and the email information to be sent after the password reset. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `basicio` | Function | A **Mandatory** parameter. The Basic IO Catalyst function that allows to authorize and validate your end-users. |
| Parameter Name | String | Definition |
|---|---|---|
| `type` | String | A **Mandatory** parameter. Will hold the value of the application type. |
| `user_details` | Object | A **Mandatory** parameter. Will hold values of first_name and email_id of the end user. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `user_id` | String | A **Mandatory** parameter. Will store the unique ID of the user whose details need to be retrieved. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `org_id` | String | An **Optional** parameter. Will store the ID of the organization whose user details need to be retrieved. If `org_id` is not specified, details of all users across all organizations will be retrieved. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `UserID` | String | A **Mandatory** parameter. Will hold the UserID of the user whose details are to be updated. |
| `update_config` | Object | A **Mandatory** parameter. Will hold the values of email_id, last_name, first_name, org_id and role_id. You can update the first_name or last_name parameter here. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `UserID` | `String` | A **Mandatory** parameter. Will store the ID of the user to be deleted. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `userId` | String | A **Mandatory** parameter. Will hold the UserID of the user to be enabled for the application. |
| `user_status` | String | A **Mandatory** parameter. Will hold the default value "enable". |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `userId` | `String` | A **Mandatory** parameter. Will hold the UserID of the user to be disabled for the application. |
| `user_status` | `String` | A **Mandatory** parameter. Will hold the default value "disable" |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `Key` | String | A **Mandatory** parameter. Will hold the key for retrieving the cache value. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `cache_name` | String | A **Mandatory** parameter. Will hold the key for retrieving the cache object. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `cache_name` | String | A **Mandatory** parameter. Will hold the key to be inserted in the cache. |
| `cache_value` | String | A **Mandatory** parameter. Will hold the value to be inserted in the cache. |
| `expiry_in_hours` | Numeric | A **Optional** parameter. Will hold the value of the expiry time of the data. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `cache_name` | String | A **Mandatory** parameter. Will hold the key to be updated in the cache. |
| `cache_value` | String | A **Mandatory** parameter. Will hold the value of the key that has to be updated in the cache. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| key | String | A **Mandatory** parameter. Will hold the key name of the cache segment. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `tableID` | String | A **Mandatory** parameter. Will hold the ID of the table whose meta data has to be retrieved. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `table_name` | String | A **Mandatory** parameter. Will hold the name of the table whose meta data has to be retrieved. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `tableID` | String | A **Mandatory** parameter. Will hold the ID of the table. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `table_name` | `String` | A **Mandatory** parameter. Will hold the name of the table. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `columnID` | String | A **Mandatory** parameter. Will hold the ID of the column for which metadata has to be retrieved. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `column_name` | String | A **Mandatory** parameter. Will hold the name of the column for which metadata has to be retrieved. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `rowID` | String | A **Mandatory** parameter. Will store the ID of the row whose details has to be retrieved. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `next_token` | String | A **Mandatory** parameter. Will store the token from the response data, authorizing subsequent data retrieval. |
| `max_rows` | Numeric | A **Optional** parameter. Will hold the the number of batches in which the rows has to be fetched. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `row_data` | Array | A **Mandatory** parameter. Will hold the details of the row to be inserted in key-value pairs. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `row_data` | Array | A **Mandatory** parameter. Will hold the details of the rows to be inserted in key-value pairs. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `row_data` | Array | A **Mandatory** parameter. Will hold the details of the row to be updated in key-value pairs. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `row_data` | Array | A **Mandatory** parameter. Will hold the details of the rows to be updated in key-value pairs. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `ROWID` | String | A **Mandatory** parameter. Will hold the ID of the row to be deleted. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `criteria` | Array | A **Mandatory** parameter. Will hold the conditions based on which the rows has to be read. |
| `page` | Numeric | A **Mandatory** parameter. Will hold the number of page rows that has to be read. |
| `select_columns` | Array | A **Mandatory** parameter. Will hold specific columns that has to be read. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `tableID` | String | A **Mandatory** parameter. Will hold the ID of the table to which data has to be written. |
| `find_by` | String | A **Mandatory** parameter. Will hold the name of the column to which data has to be written. |
| `fk_mapping` | Array | A **Mandatory** parameter. Will hold the local_column and reference_column details. |
| `operation` | String | A **Mandatory** parameter. The value of this parameter should be insert. |
| o`bject_details` | JSON Object |
|
| Parameter Name | Data Type | Definition |
|---|---|---|
| `ROWID` | String | A **Mandatory** parameter. Will hold the rowIDs to be deleted. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `channel_id` | String | A **Mandatory** parameter. Holds the unique ID of the channel. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `channel_id` | String | A **Mandatory** parameter. Holds the unique ID of the channel. |
| `user_id` | String | A **Mandatory** parameter. Holds the unique ID of the user subscribing to the channel. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `channel_id` | String | A **Mandatory** parameter. Holds the unique ID of the channel. |
| `connection_name` | String | A **Mandatory** parameter. Holds the custom identifier for the subscriber connection. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `channel_id` | String | A **Mandatory** parameter. Holds the unique ID of the channel. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `channel_id` | String | A **Mandatory** parameter. Holds the unique ID of the channel. |
| `data` | Object | A **Mandatory** parameter. Holds the data payload to be published to the channel. |
| Method | Description |
|---|---|
| `connect()` | Establishes the WebSocket connection. The connection runs in a background thread. |
| `subscribe(subscribe_type="0")` | Subscribes to the channel with the specified [subscribe type](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-streams/implementation/subscribe-websocket/#choose-your-subscriber-type). Defaults to `"0"` (live data). |
| `unsubscribe()` | Unsubscribes from the channel. |
| `send_ack()` | Sends an acknowledgement to receive the next streaming data. |
| `close()` | Closes the WebSocket connection. |
| `is_connected()` | Returns whether the connection is currently open, as a bool. |
| `get_connection_state()` | Returns the current `ConnectionState`. |
| `get_session_info()` | Returns the session information as a `Dict[str, str]`. |
Hello,
We're glad to welcome you at Zylker Corp. To begin your journey with us, please download the attached KYC form and fill in your details. You can send us the completed form to this same email address.We cannot wait to get started!Cheers!
Team Zylker
" } ``` ### Send Email You must now pass the configured dictionary to the `send_mail()` method as an argument as shown in the code below. This will initiate the email sending process. To know more about the component instance `mail_service` used below, please refer to [this help section](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/mail/get-component-instance/). **Parameters Used**| Parameter Name | Data Type | Definition |
|---|---|---|
| `mail_obj` | Object | A **Mandatory** parameter. Will store details of the sender's email address, recipient's email address, CC, BCC, reply-to address, subject, attachments, and email content. |
Hello,
We're glad to welcome you at Zylker Corp. To begin your journey with us, please download the attached KYC form and fill in your details. You can send us the completed form to this same email address.We cannot wait to get started!Cheers!
Team Zylker
" } ``` > **Info :** Refer to the [SDK Scopes table](https://docs.catalyst.zoho.com/en/sdk/python/v1/sdk-scopes) to determine the required permission level for performing the above operation. ### NoSQL -------------------------------------------------------------------------------- title: "Get Component Instance" description: "Catalyst NoSQL is a fully-managed, non-relational database. This page describes the SDK method to create a new NoSQL component instance." last_updated: "2026-11-04T10:10:44.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/nosql/get-component-instance/" service: "CloudScale" related: - NoSQL (/en/cloud-scale/help/nosql/introduction) - NoSQL API (/en/api/code-reference/cloud-scale/nosql/insert-item/#InsertNewItem) - NoSQL Java SDK (/en/sdk/java/v1/cloud-scale/nosql/get-table-metadata/) - JavaScript SDK (/en/sdk/javascript/v1/zia-services/overview/) -------------------------------------------------------------------------------- # Get Component Instance [Catalyst NoSQL](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/introduction/) is a fully managed non-relational, NoSQL data storage feature that enables you to store the semi-structured, unstructured, and disparate data of your applications. Catalyst supports document-type data storage in the key-value pair based JSON format. The Catalyst NoSQL Python SDK package enables you to perform CRUD data operations on your NoSQL tables in your project. You can fetch the metadata of your NoSQL tables, create NoSQL items of various supported data types, and insert, update, fetch, or delete items in a specific table. You can also query tables or indexes of tables by specifying query conditions. ### Create a NoSQL Instance A component instance is an object that can be used to access the pre-defined configurations specific to a particular component. You can create a NoSQL object to perform SDK operations in Python as shown below. This will not fire a server-side call. We will refer to this nosql instance in various code snippets of working with NoSQL. The `app` reference used to create the NoSQL instance is the Python object returned as the response during the [SDK initialization](https://docs.catalyst.zoho.com/en/sdk/python/v1/setup/#initializing-the-sdk). ```python #Create a NoSQL instance nosql = app.nosql() ``` -------------------------------------------------------------------------------- title: "Get Table Metadata" description: "Catalyst NoSQL is a fully-managed, non-relational database. This page describes the SDK method to fetch NoSQL table metadata." last_updated: "2026-11-04T10:10:44.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/nosql/get-table-metadata/" service: "CloudScale" related: - NoSQL (/en/cloud-scale/help/nosql/introduction) - Create and Manage Tables (/en/cloud-scale/help/nosql/create-manage-tables/) -------------------------------------------------------------------------------- # Get NoSQL Table Metadata You can get the metadata of a single [Catalyst NoSQL](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/introduction/) table or of all tables in your project as described below. ### Get Metadata of Single Table The metadata of a single table in Catalyst NoSQL can be obtained by referring the table name using the method `getTable()` as given below. The response will contain details of the table configuration, such as the partition key and sort key, TTL attribute, and more. The `nosql` reference used in the code snippets below is the component instance created to perform these operations. ```python # Create a NoSQL instance nosql = app.nosql() #Get table metadata using the table name table_details = nosql.get_table_resources("EmpTable") print(table_details) ``` > **Note:** If you rename the table, you will need to update the changes in your code. ### Get Metadata of All Tables Catalyst enables you to fetch the metadata of all the tables in your project using the `get_all_tables()` method as shown below. ```python table_res = nosql.get_all_tables() print(table_res) ``` -------------------------------------------------------------------------------- title: "Get Table Instance" description: "Catalyst NoSQL is a fully-managed, non-relational database. This page describes the SDK method to create a NoSQL table instance." last_updated: "2026-11-04T10:10:44.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/nosql/get-table-instance/" service: "CloudScale" related: - NoSQL (/en/cloud-scale/help/nosql/introduction) - Create and Manage Tables (/en/cloud-scale/help/nosql/create-manage-tables/) -------------------------------------------------------------------------------- # Get NoSQL Table Instance [Catalyst NoSQL](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/introduction/) enables you to fetch an empty table instance of a NoSQL table. You can then use this instance to refer to that table and perform all supported table operations. This process will not fire a server-side call. You can get an instance of your NoSQL table by referring to the table's name as shown in this section. The `nosql` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/nosql/get-component-instance/) created earlier. ```python table = nosql.get_table('employees') # Create a table instance with the table name ``` -------------------------------------------------------------------------------- title: "Construct Item" description: "Catalyst NoSQL is a fully-managed, non-relational database. This page describes the methods to construct NoSQL items of various data types." last_updated: "2026-11-04T10:10:44.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/nosql/construct-item/" service: "CloudScale" related: - NoSQL (/en/cloud-scale/help/nosql/introduction) - Basic Components (/en/cloud-scale/help/nosql/components/#basic-components) - Supported Data Types in NoSQL (/en/cloud-scale/help/nosql/working-with-data/introduction/) -------------------------------------------------------------------------------- # Construct NoSQL Item [Catalyst NoSQL](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/introduction/) items represent a collection of attributes that hold the data of a single data point, like records. You can insert or update items into an existing NoSQL table in your project in a [Custom JSON format](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/working-with-data/introduction/#the-catalyst-custom-json-format). However, before you insert or update an item in Catalyst, you will need to construct the item. You can construct a NoSQL item of attributes containing different data types supported by Catalyst as described in the section below. Catalyst supports several data types such as String, Number, Set of Strings, Set of Numbers, List, and Map. Refer to the full list of [supported data types](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/working-with-data/introduction/#supported-data-types) to learn more. You must mandatorily provide the values for the partition key attribute that you configured for a table in every data item. Refer to the [Table Keys help section](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/components/#table-keys) to learn about the table keys, TTL attribute, and other details. The code snippet below shows the formats for constructing an item with attributes of different data types: ```python # Construct a NoSQL item of different data types attributes = { # string "custom_attrib_string": { "S": "John Doe" }, # Number "custom_attrib_num": { "N": "234521" }, # Binary encoded value "custom_attrib_bin": { "B": "SGVsbG9Xb3JsZA==" }, # Set of string "custom_attrib_set_string": { "SS": ["John Doe", "New York", "USA"] }, # set of numbers "custom_attrib_set_num": { "SN": ["23423", "821n", "11"] }, # set of binary values "custom_attrib_set_bin": { "SB": ["SGVsbG8=", "V29ybGQ="] }, # boolean attribute "custom_attrib_bool": { "BOOL": True }, # list attribute "custom_attrib_list": { "L": [{"name": "banana"}, {"quantity": 4}] }, # map attribute "custom_attrib_map": { "M": { "name": { "S": "John Doe" }, "age": { "N": "23" } } } } ``` -------------------------------------------------------------------------------- title: "Insert Items" description: "Catalyst NoSQL is a fully-managed, non-relational database. This page describes the SDK methods to insert items in a NoSQL table in various ways." last_updated: "2026-11-04T10:10:44.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/nosql/insert-items/" service: "CloudScale" related: - NoSQL (/en/cloud-scale/help/nosql/introduction) - Working with Data (/en/cloud-scale/help/nosql/working-with-data/introduction/) - NoSQL API (/en/api/code-reference/cloud-scale/nosql/insert-item/#InsertNewItem) -------------------------------------------------------------------------------- # Insert Items in NoSQL Tables Catalyst enables you to insert items in a specific [NoSQL](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/introduction/) table after you construct them. The items can be inserted in different ways as described in this section. You can refer to the help sections on adding and working with data, the [Catalyst custom JSON format](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/working-with-data/introduction/#the-catalyst-custom-json-format), and the [supported data types](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/working-with-data/introduction/#supported-data-types) to learn these topics in detail. > **Note:** Catalyst enables you to insert a maximum of 25 items in bulk in a NoSQL table with a single SDK operation. ### Insert Items without Conditions You can insert new items into a NoSQL table without any conditions by constructing the items in the Catalyst custom JSON format. This will require you to mandatorily pass the values for the [partition key and sort key](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/components/#table-keys) attributes configured for the table. For example, in the code snippet below, the values for the partition key and sort key attributes of the item, fruitName and Location respectively, are provided. Other attributes of the string data type such as `fruitType` and `availability` are provided as a list `fruitProperties`. The item is then inserted using the `insert_items()` method. ```python # Insert a NoSQL item without conditions item = { "fruitName": { "S": "Banana" }, "Location": { "S": "Indonesia" }, "fruitProperties": { "L": [ { "fruitType": "Berries" }, { "availability": "abundant" } } ] } } # Insert the item based on the defined condition and set the item to be returned in the response. Other supported values are "OLD" and "NULL" res = table.insert_items({ 'item': item, 'return': 'NEW' }) ``` ### Insert Items with Conditional Functions You can insert attributes in existing items in a NoSQL table using specific conditions that you define in the Catalyst custom JSON format. In this type, the existing data of the table is retrieved and evaluated against the specified condition. The items are inserted only if the evaluation is true. If there is no existing data, the conditions are ignored and the items are inserted. Catalyst supports multiple operators to evaluate conditions. The supported operators are represented as shown below.| Operators | Notation |
|---|---|
| CONTAINS | `contains` |
| NOT_CONTAINS | `not_contains` |
| BEGINS_WITH | `begins_with` |
| ENDS_WITH | `ends_with` |
| IN | `in` |
| NOT_IN | `not_in` |
| BETWEEN | `between` |
| NOT_BETWEEN | `not_between` |
| EQUALS | `equals` |
| NOT_EQUALS | `not_equals` |
| GREATER_THAN | `greater_than` |
| LESS_THAN | `less_than` |
| GREATER_THAN_OR_EQUALS | `greater_equal` |
| LESSER_THAN_OR_EQUALS | `less_equal` |
| AND | `AND` |
| OR | `OR` |
| Operators | Notation |
|---|---|
| CONTAINS | `contains` |
| NOT_CONTAINS | `not_contains` |
| BEGINS_WITH | `begins_with` |
| ENDS_WITH | `ends_with` |
| IN | `in` |
| NOT_IN | `not_in` |
| BETWEEN | `between` |
| NOT_BETWEEN | `not_between` |
| EQUALS | `equals` |
| NOT_EQUALS | `not_equals` |
| GREATER_THAN | `greater_than` |
| LESS_THAN | `less_than` |
| GREATER_THAN_OR_EQUALS | `greater_equal` |
| LESSER_THAN_OR_EQUALS | `less_equal` |
| AND | `AND` |
| OR | `OR` |
| Operators | Notation |
|---|---|
| CONTAINS | `contains` |
| NOT_CONTAINS | `not_contains` |
| BEGINS_WITH | `begins_with` |
| ENDS_WITH | `ends_with` |
| IN | `in` |
| NOT_IN | `not_in` |
| BETWEEN | `between` |
| NOT_BETWEEN | `not_between` |
| EQUALS | `equals` |
| NOT_EQUALS | `not_equals` |
| GREATER_THAN | `greater_than` |
| LESS_THAN | `less_than` |
| GREATER_THAN_OR_EQUALS | `greater_equal` |
| LESSER_THAN_OR_EQUALS | `less_equal` |
| AND | `AND` |
| OR | `OR` |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `notification_message` | String | A **Mandatory** parameter. Will store the notification message. |
| `user_list` | Array | A **Mandatory** parameter. Will store the IDs or email addresses of the users to whom notification has to be sent. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `config` | Object | A **Mandatory** parameter. Will hold the details of the search patterns. |
| Category | SDK Method |
|---|---|
| General Stratus Operations |
|
| Bucket Operations |
|
| Object Operations |
|
| Parameter Name | Data Type | Definition |
|---|---|---|
| `bucket_name` | **String** | A **Mandatory** parameter. Will hold the [unique name of the bucket](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/buckets/name-bucket/#ideal-practices-to-name-a-bucket). |
| `throw_err` | **Boolean** | An **Optional** parameter. If you set this parameter as "**true**", then it will throw an error when the bucket is not found in the project. The default value is "**false**" |
| Error Code | Meaning |
|---|---|
| `404` | Not Found. Bucket Not found in Stratus. |
| `401` | Unauthorized/Access Denied - User doesn't have permission to perform the particular operation. |
| `403` | Permission Denied - User does not have permission to access the particular bucket. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `max_keys` | **String** | A **Mandatory** parameter. Will contain the maximum limit of objects that can be listed by pagination. |
| `continuation_token` | **String** | An **Mandatory** parameter. Will contain the token to get the next set of objects. |
| `prefix` | **String** | An **Optional** parameter. To list objects that match the prefix value. |
| `order_by` | **String** | An **Optional** parameter. To list objects either in ascending or descending order. **Default Value**: `asc` |
| `folder_listing` | **String** | An **Optional** parameter. To choose to list either just the root-level objects in the bucket or list all the objects present in all the paths of the bucket. **Default Value**: `false` For instance, if you set value as `true`; the root-level objects alone will be listed. If you set the value as `false`; all the objects present in all the paths of the bucket will be listed |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `key` | **String** | A **Mandatory** parameter. Will hold the complete name of the object. |
| `version_id` | **String** | An **Optional** parameter. Will hold the unique version ID of the object, if [Versioning](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/stratus-config/general-settings/#versioning) is enabled. |
| `throw_err` | **Boolean** | An **Optional** parameter. If you set this parameter as "**true**", then it will throw an error when the bucket is not found in the project. The default value is "**false**" |
| Error Code | Meaning |
|---|---|
| `404` | Not Found. Object Not found in Stratus. |
| `401` | Unauthorized/Access Denied - User doesn't have permission to perform the particular operation. |
| `403` | Permission Denied - User does not have permission to access the particular object. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `key` | **String** | A **Mandatory** parameter. Will hold the complete name of the object along with it's [path](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/objects/introduction/#path). |
| `url_action` | **Request Method** | A **Mandatory** parameter. This is the parameter that will allow you to generate a presigned URL for a download(GET) action.
|
| `expiry` | **String** | This is an **Optional** parameter. The URL validity time in seconds.
|
| `active_from` | **String** | This is an **Optional** parameter. This param will contain the time after which the URL is valid. Maximum value is **7 days**. URLs are made active as soon as they are generated by default. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `key` | **String** | A **Mandatory** parameter. Will hold the complete name of the object along with it's [path](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/objects/introduction/#path). |
| `url_action` | **Request Method** | A **Mandatory** parameter. This is the parameter that will allow you to generate a presigned URL for an upload(PUT) action.
|
| `expiry` | **String** | This is an **Optional** parameter. The URL validity time in seconds.
|
| `active_from` | **String** | This is an **Optional** parameter. This param will contain the time after which the URL is valid. Maximum value is **7 days**. URLs are made active as soon as they are generated by default. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `key` | **String** | A **Mandatory** parameter. Will be the name of the zip file, you need to extract |
| `destination` | **String** | A **Mandatory** parameter. Will contain the complete [path information](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/objects/introduction/#path) of the destination, where the extracted objects will be stored in the bucket. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `key` | **String** | The original name of the object that you need to rename |
| `destination` | **String** | The new name that you rename the object with |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `key` | **String** | A **Mandatory** parameter. Will hold the complete name of the object along with it's [path](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/objects/introduction/#path). |
| `version_id` | **String** | An **Optional** parameter. If [Versioning](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/stratus-config/general-settings/#versioning) is enabled for your bucket then, this param will help you refer to a particular version using its unique Version ID. |
| `ttl` | **int** | An **Optional** parameter. It allows you to schedule your delete operations. For example, if you provide the value of `ttl` as **60**, the delete operation will only occur after 60 seconds. The value of `ttl` has to be >= 60 seconds. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `next_token` | **String** | Will hold the value to determine the next set of versions. |
| `max_versions` | **int** | An **Optional** parameter. Will hold the value of the maximum number of versions of the object that can be listed per iteration. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `version_id` | **String** | An **Optional** parameter. If [Versioning](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/stratus-config/general-settings/#versioning) is enabled for your bucket then, this param will help you refer to a particular version using its unique Version ID. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `query` | String | A **Mandatory** parameter. Will store the query to be executed. |
| Confidence Level in percentage | Confidence Score of values between 0 and 1 |
|---|---|
| 0-9 | 0.0 |
| 3-9 | 0.0 |
| 10-19 | 0.0 |
| 20-29 | 0.0 |
| 30-39 | 0.0 |
| 40-49 | 0.01 |
| 50-59 | 0.12 |
| 60-69 | 0.23 |
| <70 | 0.63 |
| Identity Scanner Type | Supported File Formats | File Size Limit |
|---|---|---|
| E-KYC | Both the source image and the query image must only be of the following formats: .webp/.jpeg .png | 10 MB for each image |
| Model Type | Supported File Formats | File Size Limit |
|---|---|---|
| AADHAAR | Both the front and the back images must only be of the following formats: .webp/.jpeg .png .tiff .bmp | 15 MB for each image |
| PASSBOOK | .webp/.jpeg .png .tiff .bmp .pdf | 15 MB |
| CHEQUE | .webp/.jpeg .png | 15 MB |
| PAN | .webp/.jpeg .png | 15 MB |
| Confidence Level in percentage | Confidence Score of values between 0 and 1 |
|---|---|
| 0-9 | 0.0 |
| 3-9 | 0.0 |
| 10-19 | 0.0 |
| 20-29 | 0.0 |
| 30-39 | 0.0 |
| 40-49 | 0.01 |
| 50-59 | 0.12 |
| 60-69 | 0.23 |
| <70 | 0.63 |
| Confidence Level in percentage | Confidence Score of values between 0 and 1 |
|---|---|
| 0-9 | 0.0 |
| 3-9 | 0.0 |
| 10-19 | 0.0 |
| 20-29 | 0.0 |
| 30-39 | 0.0 |
| 40-49 | 0.01 |
| 50-59 | 0.12 |
| 60-69 | 0.23 |
| >70 | 0.63 |
| Language | Language Codes |
|---|---|
| Arabic | `ara` |
| Chinese | `chi_sim` |
| French | `fra` |
| Italian | `ita` |
| Japanese | `jpn` |
| Portuguese | `por` |
| Romanian | `ron` |
| Spanish | `spa` |
| Language | Language Codes |
|---|---|
| English | `eng` |
| Hindi | `hin` |
| Bengali | `ben` |
| Marathi | `mar` |
| Telugu | `tel` |
| Tamil | `tam` |
| Gujarati | `guj` |
| Urdu | `urd` |
| Kannada | `kan` |
| Malayalam | `mal` |
| Sanskrit | `san` |
| Barcode Format | Format Code |
|---|---|
| Code 39 | `code39` |
| Code 128 | `code128` |
| Code 93 | `code93` |
| Ean 8 | `ean8` |
| Ean 13 | `ean13` |
| Codabar | `codabar` |
| ITF | `itf` |
| UPC-A | `upca` |
| UPC-E | `upce` |
| RSS | `rss` |
| QR code | `qrcode` |
| Aztec | `aztec` |
| PDF417 | `pdf417` |
| Data Matrix | `datamatrix` |
| If you don't know the format or if you don't specify it | `all` |
| Language | Language Codes |
|---|---|
| English | `eng` |
| Hindi | `hin` |
| Bengali | `ben` |
| Marathi | `mar` |
| Telugu | `tel` |
| Tamil | `tam` |
| Gujarati | `guj` |
| Urdu | `urd` |
| Kannada | `kan` |
| Malayalam | `mal` |
| Sanskrit | `san` |
| Language | Language Codes |
|---|---|
| English | `eng` |
| Arabic | `ara` |
| Chinese | `chi_sim` |
| French | `fra` |
| Italian | `ita` |
| Japanese | `jpn` |
| Portuguese | `por` |
| Romanian | `ron` |
| Spanish | `spa` |
| Language | Language Codes |
|---|---|
| Hindi | `hin` |
| Bengali | `ben` |
| Marathi | `mar` |
| Telugu | `tel` |
| Tamil | `tam` |
| Gujarati | `guj` |
| Urdu | `urd` |
| Kannada | `kan` |
| Malayalam | `mal` |
| Sanskrit | `san` |
| Category | SDK Method | Required Scope |
|---|---|---|
| General Operations | [Get Zia Instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/get-zia-instance/) | **No requirement** |
| Zia Operations |
|
**Admin** |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `img` | Image | A **Mandatory** parameter. Will store the image that has to be analyzed. |
| `language` | String | A **Mandatory** parameter. Will store the language to be identified. |
| `modelType` | String | A **Mandatory** parameter. Will store the default value as "OCR". |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `img` | Image | A **Mandatory** parameter. Will store the image of the face to be analyzed. |
| `mode` | String | A **Optional** parameter. Will store the analysis mode values - "basic", "moderate" or "advanced". |
| `age` | Boolean | A **Optional** parameter. Will decide whether to determine age or not. Values accepted are "Yes" or "No" |
| `emotion` | Boolean | A **Optional** parameter. Will decide whether to determine emotion or not. Values accepted are "Yes" or "No" |
| `gender` | Boolean | A **Optional** parameter. Will decide whether to determine gender or not. Values accepted are "True" or "False" |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `img` | Image | A **Mandatory** parameter. Will store the image to be analyzed. |
| `options` | Array | A **Optional** parameter. Will store the analysis mode values - "basic", "moderate" or "advanced" |
| Parameter Name | Data Tyoe | Definition |
|---|---|---|
| `img` | Image | A **Mandatory** parameter. Will store the image that has to be analyzed for objects. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `img` | Image | A **Mandatory** parameter. Will store the ID of the model to be trained. |
| `options` | Array | A **Mandatory** parameter. Will store the format of the barcode. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `img` | Image | A **Mandatory** parameter. Will store the first image file of the face. |
| `img2` | Image | A **Mandatory** parameter. Will store the second image file of the face. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `aadhar_front` | Image | A **Mandatory** parameter. Will store the front side Aadhaar image in less than 15 MB. |
| `aadhar_back` | Image | A **Mandatory** parameter. Will store the back side Aadhaar image in less than 15 MB. |
| `language` | String | A **Mandatory** parameter. Will store the language to be identified. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `img` | Image | A **Mandatory** parameter. Will store the image file of the front side of the PAN card. |
| `modelType` | String | A **Mandatory** parameter. Will store the default value as "PAN". |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `img` | Image | A **Mandatory** parameter. Will store the language to be detected. |
| `modelType` | String | A **Mandatory** parameter. Will store the default value as "PASSBOOK". |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `img` | Image | A **Mandatory** parameter. Will store the image file of the front page of the chequebook. |
| `modelType` | String | A **Mandatory** parameter. Will store the default value as "CHEQUE". |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `text` | String | A **Mandatory** parameter. Will store the text to be analyzed. |
| `keyword` | String | A **Optional** parameter. Will store the keywords to filter sentences containing them and analyze their sentiments. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `text` | String | A **Mandatory** parameter. Will store the text in which entities has to be recognized. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `text` | String | A **Mandatory** parameter. Will store the text from which keywords has to be extracted. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `text` | String | A **Mandatory** parameter. Will store the text to be analyzed. |
| Time Period Value | Range |
|---|---|
| Last 24 hours | Fetches and displays data of each hour, from an exact 24 hour window. For example, if you click on Last 24 Hours at 16:03:24, the data fetched will be from 16:03:24 of the previous day. However, the graphs will appear to display the data from the beginning of the hour, i.e., from 16:00:00 hours of the previous day, for a simpler visual presentation. |
| Last 7 days | Fetches and displays an overall report of each day, of the last 7 days This includes the present day until the current second, and the previous 6 days starting at 12:00:00 AM on the first day. |
| Last 15 days | Fetches and displays an overall report of each day, of the last 15 days This includes the present day until the current second, and the previous 14 days starting at 12:00:00 AM on the first day. |
| Last 30 days | Fetches and displays an overall report of each day, of the last 30 days This includes the present day until the current second, and the previous 29 days starting at 12:00:00 AM on the first day. |
| Category | Basic Configuration | Advanced Configuration | ||
|---|---|---|---|---|
| Light | Moderate | Heavy | ||
| Node Type | **Light - `1GiB Memory, 1vCPU`** | `1GiB Memory, 1vCPU` | `2GiB Memory, 2vCPU` | `4GiB Memory, 4vCPU` |
| Concurrent browsers allowed | Maximum of **10 browsers** can be run concurrently | Maximum of **10 browsers** can be run concurrently | Maximum of **10 browsers** can be run concurrently | Maximum of **8 browsers** can be run concurrently |
| Maximum number of Nodes that can be allotted | 10 | 10 | 5 | 2 |
| Maximum number of browsers allotted per node | 1 | 1 | 2 | 4 |
| Maximum configuration possible | 10 nodes with 1 browser running in each node | 10 nodes with 1 browser running in each node | 5 nodes can be created with 2 browsers running in each node | 2 nodes can be created with 4 browsers running in each node |
| Criteria | Light Node Types' Offerings |
|---|---|
| Configuration | Light -1 GiB memory, 1vCPU |
| Cores per node | 1 |
| Maximum number of cores possible | 10 |
| Memory allotted per node | 1 GiB |
| Maximum memory that can be allotted to the browser grid | 10 GiB |
| Maximum number of browsers that can be allotted to a single node | 1 |
| Maximum number of concurrent browser processes possible | 10 |
| Criteria | Moderate Node Types' Offerings |
|---|---|
| Configuration | Moderate - 2GiB memory, 2vCPU |
| Cores per node | 2 |
| Maximum number of cores possible | 10 |
| Memory allotted per node | 2 GiB |
| Maximum memory that can be allotted to the browser grid | 10 GiB |
| Maximum number of browsers that can be allotted to a single node | 2 |
| Maximum number of concurrent browser processes possible | 10 |
| Criteria | Heavy Node Types' Offerings |
|---|---|
| Configuration | Heavy - 4GiB memory, 4vCPU |
| Cores per node | 4 |
| Maximum number of cores possible | 8 |
| Memory allotted per node | 4 GiB |
| Maximum memory that can be allotted to the browser grid | 8 GiB |
| Maximum number of browsers that can be allotted to a single node | 4 |
| Maximum number of concurrent browser processes possible | 8 |
| Node type | Memory per node (GiB) | Rate per running node-minute (USD) | Rate per running node-hour (USD) |
|---|---|---|---|
| Basic / Light | 1 | 0.00187 | 0.1122 |
| Moderate | 2 | 0.00374 | 0.2244 |
| Heavy | 4 | 0.00748 | 0.4488 |
| Nodes | Run time (minutes) | Node-minutes | GiB-minutes (× 2 GiB) | Cost (USD) |
|---|---|---|---|---|
| 2 nodes, full suite | 180 | 360 | 720 | 1.3464 |
| 3 nodes, 1-hour peak | 60 | 180 | 360 | 0.6732 |
| **Total** | **540** | **1,080** | **2.02** |
| Tag Type | LiquidJS Syntax |
|---|---|
| **Output** | ```javascript {{ user.name }} ``` |
| **Logic (Control Flow)** | ```javascript {% if user.role == "admin" %} Welcome, Admin! {% else %} Welcome, User! {% endif %} ``` |
| **Loops (For Statement)** Iterating over an array | ```javascript {% for item in items %} {{ item.name }} {% endfor %} ``` |
| **Loops (For Statement)** Using Iterable Object | ```javascript {% for item in items %} {{ forloop.index }}: {{ item.name }} {% endfor %} ``` |
| **Filters** | ```javascript {{ "hello" | append: " world" }} {{ 1000 | divided_by: 2 }} {{ "LiquidJS" | upcase }} ``` |
| **Date Formatting** | ```javascript {{ "now" | date: "%Y-%m-%d %H:%M:%S" }} {{ "2025-02-07" | date: "%B %d, %Y" }} ``` |
| **Assign and Capture** Assign variables inside templates | ```javascript {% assign greeting = "Hello" %} {{ greeting }} World ``` |
| **Assign and Capture** Capture multi-line values | ```javascript {% capture message %} This is a multi-line text. {% endcapture %} {{ message }} ``` |
| **Comments** | ```javascript {% comment %} This is a comment and will not be rendered. {% endcomment %} ``` |
| **Default Filters** Will display the value you set as default, if no value is provided. | ```javascript <p>Name: {{ user.name | default: "Guest" }}</p> ``` |
| **Conditionals with `unless`** The functions as the opposite of an `if` statement. The logic under an `unless` block will only be executed if the condition is false. | ```javascript {% unless user.role == "admin" %} <p>You are not an Admin</p> {% endunless %} ``` |
| **Case/When Conditions** | ```javascript {% case user.role %} {% when "admin" %} <p>Admin Page</p> {% when "user" %} <p>User Page</p> {% else %} <p>Unknown Role</p> {% endcase %} ``` |
| **Raw Output** To be used to print Liquid code without rendering it. Generally, used for documentation purposes | ```javascript {% raw %} This is raw Liquid syntax: {{ user.name }} {% endraw %} ``` |
| **Array and Object Filters** | ```javascript <p>First Item: {{ items | first }}</p> <p>Item Count: {{ items | size }}</p> ``` |
| **Math Filters** To use math operators within the template | ```javascript <p>Discounted Price: {{ price | minus: 10 }}</p> <p>Total Price: {{ price | times: 1.1 }}</p> ``` |
| **Rendering Partial Templates** | ```javascript {% render 'header' %} ``` |
| Category | SDK Methods | Scope Requirements |
|---|---|---|
| General Operations | [Get Browser Grid Instance](https://docs.catalyst.zoho.com/en/sdk/java/v1/smartbrowz/browser-grid/get-instance/) | **Admin** |
| Browser Grid Operations |
|
**Admin** |
| Category | SDK Method | Required Scope |
|---|---|---|
| General Operations | [Get SmartBrowz Instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/smartbrowz/create-smartbrowz-instance/) | **No requirement** |
| SmartBrowz Operations | PDF & Screenshot
|
**Admin** |
Dataverse
|
**Admin** |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `lead_details` | Array | A **Mandatory** parameter. Will store the details of the lead to be collected from the web. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `org_url` | String | A **Mandatory** parameter. Will store the URL of the organization for which tech stack details are needed. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `company_url` | String | A **Mandatory** parameter. Will store the URL of the organization for which similar organizations need to be retrieved. |
| Category | SDK Methods | Scope Requirements |
|---|---|---|
| General Operations | [Get Browser Grid Instance](https://docs.catalyst.zoho.com/en/sdk/python/v1/smartbrowz/browser-grid/get-instance/) | **Admin** |
| Browser Grid Operations |
|
**Admin** |
| Technical Spec | iPhone 14 |
|---|---|
| Processor | Apple A15 Bionic |
| Storage | 128GB, 256GB, 512GB |
| Pixel density | 460 ppi |
| Display size resolution | 6.1-inch OLED; 2,532x1,170 pixels |
| Data Type | Description |
|---|---|
| `String` | A single input of type String |
| `Integer Number` | A single input of type Integer |
| `Integer Number Range` | Two inputs representing the start and end range of integers |
| `Decimal Number` | The number of digits to be rounded off for a decimal number. The maximum precision allowed is five. |
| `Decimal Number Range` | Two inputs representing the start and end range of decimals. |
| `Date` | A single input of type Date |
| `Date Range` | Two inputs representing the start and end range of date |
| `Date/Time` | A single input of type Date/Time |
| `Date/Time Range` | Two inputs representing the start and end range of Date/Time |
| `Boolean` | a YES or NO input |
| `Email` | A single input of type Email |
| `Amount` | Amount input with currency code / currency symbol |
| `File` | A file to be uploaded as user input. For this param, you can specify what file types the user can upload. The supported file types are mentioned below. |
| `Single selection list` | A list of available options from which the user can select one. The details are given below. |
| `Multiple selection list` | A list of available options from which the user can select more than one. The details are given below. |
| Formats | Supported File Types |
|---|---|
| `IMAGE` | image/png, image/jpeg,image/bmp, image/tiff, image/vnd.microsoft.icon |
| `DOCUMENTS` | text/plain, text/csv, application/rtf, application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document, application/vnd.oasis.opendocument.text |
| `PDF` | application/pdf |
| `PRESENTATION` | application/mspowerpoint, application/vnd.ms-powerpoint, application/vnd.ms-powerpoint, application/vnd openxmlformatsofficedocument.presentationml .presentation, application/vnd.oasis.opendocument.presentation |
| `SPREADSHEET` | application/vnd.ms-excel, application/vnd.msexcel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.oasis.opendocument.spreadsheet |
| `AUDIO` | audio/mpeg , audio/wav, audio/midi, audio/x-midi, audio/aac |
| `VIDEO` | video/mpeg, video/x-msvideo ,video/x-flv, video/mp4, video/quicktime |
| `COMPRESSION` | application/zip, application/x-tar, application/gzip |
| Argument | Deluge Data Type | Description |
|---|---|---|
| `sessionData` | Map | Contains the details of the client that is hosting the current chat session. To learn more about this argument, [refer here](https://docs.catalyst.zoho.com/en/convokraft/help/actions/bot-logic/deluge-functions/deluge-object-reference/#sessiondata). |
| `cache` | Map | A temporary storage variable which is used to pass data across functions along the action execution cycle. To learn more about this argument, [refer here](https://docs.catalyst.zoho.com/en/convokraft/help/actions/bot-logic/deluge-functions/deluge-object-reference/#cache). |
| `broadcast` | Map | A storage variable which is used to pass data across different actions, while the user is interacting with the bot. To learn more about this argument, [refer here](https://docs.catalyst.zoho.com/en/convokraft/help/actions/bot-logic/deluge-functions/deluge-object-reference/#broadcast). |
| Deluge Data type | Availability |
|---|---|
| `Map` | In all functions |
| Key name | Deluge data type | Description | Sample value |
|---|---|---|---|
| `medium` | Text | The mode of communication through which the user interacts with the bot. The possible values are `call` or `chat`. | chat |
| `client_host` | Text | The nature of the client application that hosts the bot. The possible values are `mobile` or `web`. | web |
| `client_identifier` | Text | The unique identifier of the client. The URL of the web application, if `client_identifier` is `web`. The package name bundle identifier of the mobile application, if `client_identifier` is `mobile`. | https://zylker.com |
| `client_data` | Map | The data passed from the client to ConvoKraft at the start of the session. | { "user_email": "todd@hmail.com" } |
| Deluge Data type | Availability |
|---|---|
| `Map` | In all functions |
| Deluge Data type | Availability |
|---|---|
| `Map` | In all functions |
| Deluge Data type | Availability |
|---|---|
| `Map` | In all functions |
| Deluge Data type | Availability |
|---|---|
| corresponding param's data type | In Context handler function and Action execution function |
| Deluge Data type | Availability |
|---|---|
| corresponding param's data type | Only in Context Handler function |
| Element | Format |
|---|---|
| `Note` | **** ``` { "type" : "note", "content" : "<Text content that needs to be displayed as a note.>" } ``` |
| `Title` | **** ``` { "type" : "title", "content" : "<Text content that needs to be displayed as the title>" } ``` |
| `List - Bullet & Numbered` | **** ``` { "type" : "list", "format" : "bullet" or "numbered" "elements" : [ { "label" : "<element_label>" "preview" : { "header" : { "title" : "<title_content>" "description" : "<description_content>", "subheading" : "<subheading_content>", "image" : { "url" :"<image_url>" } }, "fields" :[ { "label" : "<field labels>" "value" : "<field values>" } //add other fields as necessary ] } } //add other elements as necessary ] } ``` > **Note : ** In the `list` card, a maximum of seven fields can be configured for a `preview` object. |
| `Table` | **** ``` { "type": "table", "heading" : "<Table Heading>", "columns": [ "<column1 header>". "<column2 header>" "<column3 header>" ], "rows": [ [ "<value al>" "<value a2>" "<value a3>" ], [ "<value b1>" "<value b2>" "<value b3>" ] ] } ``` | `Image` | **** ``` { "type" : "image", "content" : "<image url>" } ``` |
| `File` | **** ``` { "type" : "file", "name" : "<file_name>", "format" : "pdf", //file extension "content": "<file url>" } ``` |
| `Contact card` |
****
```
{
"type" : "vcard",
"info" :
{
"image" : " |
| `Link` | **** ``` { "type" : "label", "content" : "<URL link>" } ``` |
| `Button` | **** ``` { "type" : "button", "label" : "<button label>". "theme" : "<button theme>" "id" : "<button id>", "onclick" : { "execute" : "function (or)clienthook", "function":"<button click function name>", "data" : {} } } ``` 1. For `theme` key, the value can be either `positive`, `negative`, or `neutral`. 2. For `execute` key, the value can be any one of the following: * `function` - to execute the defined Button Click function. * `clienthook` - to execute the [hook](https://docs.catalyst.zoho.com/en/convokraft/sdk/js/hooks/) implemented by the client application. If `clienthook` is set as the value to the `execute` key, then the `function` key is not required. 4. For the `data` key, set any value that needs to be passed to the button click function. > **Note : ** A maximum of three buttons can be configured for an action using the `button` card. |
| Formatting option | Syntax |
|---|---|
| `Bold` | *text* |
| `Italic` | _text_ |
| `Underline` | __text__ |
| `Strikethrough` | ~text~ |
| `Link` | [label](URL_link) |
| `Highlight` | `text` |
| `Heading` | h1 - #Heading h2 - ##Heading h3 - ###Heading h4 - ####Heading h5 - #####Heading |
| `Bullet list` | * first_item \n * second_item \n * third_item |
| `Numbered list` | 1. first_item \n 2. second_item \n 3. third_item |
| `Image` |  |
| `Blockquote` | !text |
| `Table` | | header1 | header2 | header3 | \n |------------|------------|------------| \n | value1 | value2 | value3 | \n | value1 | value2 | value3 | |
| Argument | Deluge data type | Description |
|---|---|---|
| `userInput` | String | Latest reply from the user |
| `previousParam` | Map | The param that is last prompted to the user. The latest reply of the user is a value to this param. |
| Argument | Deluge data type | Description |
|---|---|---|
| `data` | Map | The value set to the `data` key for the `button` card in the [Execution function](https://docs.catalyst.zoho.com/en/convokraft/help/actions/bot-logic/deluge-functions/execution-function) |
| Browser | Version |
|---|---|
| Microsoft Edge | 12+ |
| Mozilla Firefox | 21+ |
| Google Chrome | 23+ |
| iOS Safari | 6+ |
| Attribute Name | Usage | Value | Example |
|---|---|---|---|
| `headerBg` | To set the background colour of the chat window header. | The value for this style can be any color value. | #5acc42 |
| `headerText` | To set the text color of the chat window header. | The value for this style can be any color value. | black |
| `headerFont` | To set the font family of the chat window header text. | The value for this style can be any font family name. | sans-serif |
| `userBg` | To set the background colour of the user message container in the chat window. | The value for this style can be any color value. | #5acc42 |
| `userText` | To set the text color of the texts in the user message container. | The value for this style can be any color value. | black |
| `userFont` | To set the font family of the texts in the user message container. | The value for this style can be any font family name. | Comic Sans MS |
| `botBg` | To set the background color of ConvoKraft message container in the chat window. | The value for this style can be any color value. | #ddd |
| `botText` | To set the text color of the texts in the convokraft message container. | The value for this style can be any color value. | #222 |
| `botFont` | To set the font family of the texts in convokraft message container. | The value for this style can be any font family name. | Arial |
| `bodyBg` | To set the background colour of the chat window body. | The value for this style can be any color value. | #ddd |
| Element | Description |
|---|---|
| `actionName` | The namespace of the action invoked. |
| `data` | It holds the custom data that is being sent from Deluge to the hook. |
| `element` | It holds ConvoKraft's custom reply element that will be displayed in the chat window. |
| `responseHandled` | This is a mandatory callback function, which helps the bot to know that DOM operations are complete and it can scroll the chat div to top. |
| `fromHistory` | This key contains a Boolean value that represents whether the current message being constructed is from the current session or any past sessions. |
| `fromPagination` | This key contains a Boolean value that represents whether the current message being constructed is a message after a pagination call. If true, it is not advisable to call `responseHandled()`, so that messages don't scroll all the way down. |
| Element | Description |
|---|---|
| `element` | It holds ConvoKraft's custom reply element that will be displayed in the chat window. |
| `responseHandled` | This is a mandatory callback function, which helps the bot to know that DOM operations are complete and it can scroll the chat div to top. |
| `fromHistory` | This key contains a boolean value that represents whether the current message being constructed is from the current session or any past sessions. |
| `fromPagination` | This key contains a boolean value that represents whether the current message being constructed is a message after a pagination call. If `true`, it is not advisable to call `responseHandled()`, so that messages don't scroll all the way down. |
| Element | Description |
|---|---|
| `element` | It holds ConvoKraft's custom reply element that will be displayed in the chat window. |
| `responseHandled` | This is a mandatory callback function, which helps the bot to know that DOM operations are complete and it can scroll the chat div to top. |
| `fromHistory` | This key contains a boolean value that represents whether the current message being constructed is from the current session or any past sessions. |
| `fromPagination` | This key contains a boolean value that represents whether the current message being constructed is a message after a pagination call. If `true `, it is not advisable to call `responseHandled()`, so that messages don't scroll all the way down. |
| Element | Description |
|---|---|
| `element` | It holds the HTML element that needs to be customized. |
| `sentences` | It holds the sample sentences of that particular action. |
| `placeholders` | It is an array of strings that can be used to hold different parameters for sentences displayed in the onboarding screen |
| Attribute Name | Usage |
|---|---|
| `sessionId` | The ID of current transcript session. |
| `param` | The param information of current prompt like param name, type and prompt message. |
| `file` | The file object provided by user. |
| `action` | The current conversation's action namespace. |
| `bot` | The current conversation's bot namespace. |
| `onSuccess` | The mandatory call back that accepts file ID as input. |
| `onProgressChange` | The mandatory call back that accepts calculated upload percentage as parameter. This should be called as and when the upload percentage changes. If the upload is complete, please set percentage to 100 and a message to show success state such as `onProgressChange(100,"File upload completed");` |
| `onFailure` | The mandatory call back that accepts string input with a message stating the reason for upload failure. |
| Criteria | Pre-Defined Cron | Dynamic Cron |
|---|---|---|
| Definition | These crons are created and configured using the *Builder* feature present in the console. | These crons can also be configured using the *Builder* feature. However, since these crons are meant to be created dynamically during production runtime, the ideal practice is to create and configure these crons through code with the support of Catalyst SDKs in [Java](https://docs.catalyst.zoho.com/en/sdk/java/v1/job-scheduling/overview/), [Node.js](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/job-scheduling/overview/) and [Python](https://docs.catalyst.zoho.com/en/sdk/python/v1/job-scheduling/overview/). |
| Primary advantage | You can create and configure these crons with no additional coding. These crons can be migrated to the [Production environment](https://docs.catalyst.zoho.com/en/deployment-and-billing/environments/production-environment/), when you deploy your project. | Since these crons are created dynamically during runtime, you can create and configure them using code. Greater flexibility to configure cron precisely to satisfy your requirement. |
| Primary restriction | Despite having multiple customization options, there could arise a possibility where you encounter minor restrictions in terms of precisely satisfying your requirement. For example, it is not possible for you to allow end-users to create your cron. The functionality of this type of cron is best suited for static purposes. | Crons created in the [Development environment](https://docs.catalyst.zoho.com/en/deployment-and-billing/environments/development-environment/) will not be migrated to the Production environment when you deploy your project. |
| Cron Expression compatibility | The *Builder* provides you with format options that allow you to configure the schedule of these crons using Cron Expressions | Catalyst SDK supports the usage of Cron Expressions to define the schedule of the cron. |
| Ideal example use cases | Suitable for any type of use case, where you require a cron to schedule and periodically execute tasks on the assumption of preset conditions. Also suitable for use cases where you require the cron you created in development to be present during production. | You can use this type of cron to satisfy any type of use case, where you require a particular action to occur at a particular time. Since these crons are created through code, it allows you to create crons with greater flexibility to employ versatile solutions. |
| Input Fields | Meaning | Possible Values (Range) |
|---|---|---|
| Mins | Minutes of the clock | `0-59` |
| Hrs | Hours or the clock or the time in **24-Hr** format | `0-23` |
| Day(Month) | Days of the calendar month | `1-31` |
| Month | Months present in a calendar year | `1-12` |
| Day(Week) | Days of the week | `0-6 (0/6 can be Sunday)` |
| Special Characters | Meaning | Example Usage |
|---|---|---|
| `Asterisk (*)` | All values | An asterisk under the *Mins* input field would mean "**Every Minute**" |
| `Comma (,)` | Used to denote specific values in a list of values | There is a list of seven days in a week. So, if `1,3,5` is inputted in the *Days(Week)* input field. The numbers and the comma would mean **Monday**, **Wednesday**, and **Friday** |
| `Hyphen (-)` | Used to denote the entire range of values in a list of values | If you input the value `1-3` in the *Days(Week)* input field. The expression would mean **Monday through Wednesday**. |
| `Slash (/)` | Used to denote repetitive increments of a value | If you input the expression `0/15` in the *Mins* input field. The expression would mean "**Every 15 Minutes**". |
| `Hash (#)` | Used to denote '**the nth day**' of the week in the current month | If you input the expression `6#3` in the *Days (Week)* input field would mean "**The 3rd Friday of the current month**" |
| Job Scheduling Component | Operations Possible Using SDK |
|---|---|
| Job Pool | [Get All Job Pool](https://docs.catalyst.zoho.com/en/sdk/java/v1/job-scheduling/jobpool/get-all-job-pool/) [Get a Specific Job Pool](https://docs.catalyst.zoho.com/en/sdk/java/v1/job-scheduling/jobpool/get-job-pool/) |
| Job | [Create Job](https://docs.catalyst.zoho.com/en/sdk/java/v1/job-scheduling/jobs/create-job/) [Get Job Details](https://docs.catalyst.zoho.com/en/sdk/java/v1/job-scheduling/jobs/get-job/) [Delete a Job](https://docs.catalyst.zoho.com/en/sdk/java/v1/job-scheduling/jobs/delete-job/) |
| Cron | [Create a One-Time Cron](https://docs.catalyst.zoho.com/en/sdk/java/v1/job-scheduling/cron/create-one-time-cron/) [Create a Recurring Cron](https://docs.catalyst.zoho.com/en/sdk/java/v1/job-scheduling/cron/create-recurring-cron/) [Create Cron Using Cron Expressions](https://docs.catalyst.zoho.com/en/sdk/java/v1/job-scheduling/cron/create-cron-cron-expressions/) [Get Details of a Particular Cron](https://docs.catalyst.zoho.com/en/sdk/java/v1/job-scheduling/cron/get-cron-details/) [Get Details of All Crons](https://docs.catalyst.zoho.com/en/sdk/java/v1/job-scheduling/cron/get-all-cron-details/) [Update Cron](https://docs.catalyst.zoho.com/en/sdk/java/v1/job-scheduling/cron/update-cron/) [Pause Cron](https://docs.catalyst.zoho.com/en/sdk/java/v1/job-scheduling/cron/pause-cron/) [Resume Cron](https://docs.catalyst.zoho.com/en/sdk/java/v1/job-scheduling/cron/resume-cron/) [Run Cron](https://docs.catalyst.zoho.com/en/sdk/java/v1/job-scheduling/cron/run-cron/) [Delete Cron](https://docs.catalyst.zoho.com/en/sdk/java/v1/job-scheduling/cron/delete-cron/) |
| Category | SDK Method | Required Scope |
|---|---|---|
| General Operations | [Get Job Scheduling Instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/create-instance/) | **No requirement** |
| Job Pool Operations |
|
**Admin** |
| Job Operations |
|
**Admin** |
| Cron Operations |
|
**Admin** |
| JSON Attributes | Definition |
|---|---|
| `job_name` | **Mandatory** parameter. The name to refer to your job. |
| `jobpool_name` | **Mandatory** parameter. The name of the job pool you are submitting your job to. |
| `target_type` | **Mandatory** parameter. Set the value as **Function** to submit a job to the Function Job Pool to trigger a Job Function. |
| `target_name` or `target_id` | You need to provide either the Name or the ID of the job function that needs to triggered. However, providing both is **optional**. |
| `params` | **Optional** parameter. These are params that you pass to the target function. The required parameters need to be provided as key-value pairs in a JSON. |
| `job_config` |
|
| JSON Attributes | Definition |
|---|---|
| `job_name` | **Mandatory** parameter. The name to refer to your job. |
| `jobpool_name` | **Mandatory** parameter. The name of the job pool you are submitting your job to. |
| `target_type` | **Mandatory** parameter. Set the value as **Circuit** to submit a job to the Circuit Job Pool to trigger a Circuit. |
| `target_name` or `target_id` | You need to provide either the Name or the ID of the Circuit that needs to triggered. However, providing both is **optional**. |
| `test_cases` | **Mandatory** parameter. You need to provide the test cases as a JSON key-value pair. |
| `job_config` |
|
| JSON Attributes | Definition |
|---|---|
| `job_name` | **Mandatory** parameter. The name to refer to your job. |
| `jobpool_name` | **Mandatory** parameter. The name of the job pool you are submitting your job to. |
| `target_type` | **Mandatory** parameter. Set the value as **AppSail** to submit a job to the AppSail Job Pool to trigger an AppSail service. |
| `target_name` or `target_id` | You need to provide either the Name or the ID of the AppSail that needs to triggered. However, providing both is **optional**. |
| `request_method` | **Mandatory** parameter. Provide the AppSail request method. |
| `url` | **Mandatory** parameter. Provide the AppSail endpoint. |
| `params` | **Optional** parameter. You can provide query params as JSON key-value pairs. |
| `headers` | **Optional** parameter. You can provide headers as JSON key-value pairs. |
| `request_body` | **Optional** parameter. Provide the request body. |
| `job_config` |
|
| JSON Attributes | Definition |
|---|---|
| `job_name` | **Mandatory** parameter. The name to refer to your job. |
| `jobpool_name` | **Mandatory** parameter. The name of the job pool you are submitting your job to. |
| `target_type` | **Mandatory** parameter. Set the value as **Webhook** to submit a job to the Webhook Job Pool to trigger the required URL. |
| `request_method` | **Mandatory** parameter. Provide the required request method. |
| `url` | **Mandatory** parameter. Provide the webhook's request URL. |
| `params` | **Optional** parameter. You can provide query params as JSON key-value pairs. |
| `headers` | **Optional** parameter. You can provide headers as JSON key-value pairs. |
| `request_body` | **Optional** parameter. Provide the webhook's request body. |
| `job_config` |
|
| JSON Object | JSON Attributes | Definition |
|---|---|---|
| `job_meta` | `job_name` | **Mandatory** parameter. Contains the name of the job that needs to be submitted to the job pool. |
| `target_type` | **Mandatory** parameter. Contains the type of the job. (**Function** | **Circuit** | **Webhook** | **AppSail**). | |
| `target_name` or `target_id` | **Mandatory** parameter. Contains the name or ID of the target type. While it is mandatory to provide value for either of them, it is optional to provide values for both fields. | |
| `jobpool_name` or `jobpool_id` | **Mandatory** parameter. Contains the name or ID of the Job Pool. While it is mandatory to provide value for either of them, it is optional to provide values for both fields. | |
| `job_config` |
|
|
| `oneTimeCron` | `cron_name` | **Mandatory** parameter. To refer to your cron. Ensure you provide a unique name. |
| `description` | **Optional** parameter. You can provide a description for your cron. | |
| `cron_status` | **Mandatory** parameter. Determines if the cron is enabled or not. Ensure it is set as '**true**'. | |
| `cron_type` | **Mandatory** parameter. Determines the type of Cron. | |
| `cron_detail` | **Mandatory** parameter. Provide the schedule time in a **UNIX timestamp format**. | |
| `job_meta` | **Mandatory** parameter. Pass the `jobMeta` JSON object as value. |
| JSON Object | JSON Attributes | Definition |
|---|---|---|
| `job_meta` | `job_name` | **Mandatory** parameter. Contains the name of the job that needs to be submitted to the job pool. |
| `target_type` | **Mandatory** parameter. Contains the type of the job. (**Function** | **Circuit** | **Webhook** | **AppSail**). | |
| `target_name` or `target_id` | **Mandatory** parameter. Contains the name or ID of the target type. While it is mandatory to provide value for either of them, it is optional to provide values for both fields. | |
| `jobpool_name` or `jobpool_id` | **Mandatory** parameter. Contains the name or ID of the Job Pool. While it is mandatory to provide value for either of them, it is optional to provide values for both fields. | |
| `job_config` |
|
|
| `everyCron` | `cron_name` | **Mandatory** parameter. To refer to your cron. Ensure you provide a unique name. |
| `description` | **Optional** parameter. You can provide a description for your cron. | |
| `cron_status` | **Mandatory** parameter. Determines if the cron is enabled or not. Ensure it is set as '**true**'. | |
| `cron_type` | **Mandatory** parameter. Determines the type of Cron. The value will need to provided as **Periodic** to create recurring crons. | |
| `cron_detail` | **Mandatory** parameter. Provide the following details:
|
|
| `job_meta` | **Mandatory** parameter. Pass the `jobMeta` JSON object as value. |
| JSON Object | JSON Attributes | Definition |
|---|---|---|
| `job_meta` | `job_name` | **Mandatory** parameter. Contains the name of the job that needs to be submitted to the job pool. |
| `target_type` | **Mandatory** parameter. Contains the type of the job. (**Function** | **Circuit** | **Webhook** | **AppSail**). | |
| `target_name` or `target_id` | **Mandatory** parameter. Contains the name or ID of the target type. While it is mandatory to provide value for either of them, it is optional to provide values for both fields. | |
| `jobpool_name` or `jobpool_id` | **Mandatory** parameter. Contains the name or ID of the Job Pool. While it is mandatory to provide value for either of them, it is optional to provide values for both fields. | |
| `job_config` |
|
|
| `dailyCron` | `cron_name` | **Mandatory** parameter. To refer to your cron. Ensure you provide a unique name. |
| `description` | **Optional** parameter. You can provide a description for your cron. | |
| `cron_status` | **Mandatory** parameter. Determines if the cron is enabled or not. Ensure it is set as '**true**'. | |
| `cron_type` | **Mandatory** parameter. Determines the type of Cron. The value will need to provided as **Calendar** to create recurring crons. | |
| `cron_detail` | **Mandatory** parameter. Provide the following details:
|
|
| `job_meta` | **Mandatory** parameter. Pass the `jobMeta` JSON object as value. |
| JSON Object | JSON Attributes | Definition |
|---|---|---|
| `job_meta` | `job_name` | **Mandatory** parameter. Contains the name of the job that needs to be submitted to the job pool. |
| `target_type` | **Mandatory** parameter. Contains the type of the job. (**Function** | **Circuit** | **Webhook** | **AppSail**). | |
| `target_name` or `target_id` | **Mandatory** parameter. Contains the name or ID of the target type. While it is mandatory to provide value for either of them, it is optional to provide values for both fields. | |
| `jobpool_name` or `jobpool_id` | **Mandatory** parameter. Contains the name or ID of the Job Pool. While it is mandatory to provide value for either of them, it is optional to provide values for both fields. | |
| `job_config` |
|
|
| `monthlyCron` | `cron_name` | **Mandatory** parameter. To refer to your cron. Ensure you provide a unique name. |
| `description` | **Optional** parameter. You can provide a description for your cron. | |
| `cron_status` | **Mandatory** parameter. Determines if the cron is enabled or not. Ensure it is set as '**true**'. | |
| `cron_type` | **Mandatory** parameter. Determines the type of Cron. The value will need to provided as **Calendar** to create recurring crons. | |
| `cron_detail` | **Mandatory** parameter. Provide the following details:
|
|
| `job_meta` | **Mandatory** parameter. Pass the `jobMeta` JSON object as value. |
| JSON Object | JSON Attributes | Definition |
|---|---|---|
| `job_meta` | `job_name` | **Mandatory** parameter. Contains the name of the job that needs to be submitted to the job pool. |
| `target_type` | **Mandatory** parameter. Contains the type of the job. (**Function** | **Circuit** | **Webhook** | **AppSail**). | |
| `target_name` or `target_id` | **Mandatory** parameter. Contains the name or ID of the target type. While it is mandatory to provide value for either of them, it is optional to provide values for both fields. | |
| `jobpool_name` or `jobpool_id` | **Mandatory** parameter. Contains the name or ID of the Job Pool. While it is mandatory to provide value for either of them, it is optional to provide values for both fields. | |
| `job_config` |
|
|
| `yearlyCron` | `cron_name` | **Mandatory** parameter. To refer to your cron. Ensure you provide a unique name. |
| `description` | **Optional** parameter. You can provide a description for your cron. | |
| `cron_status` | **Mandatory** parameter. Determines if the cron is enabled or not. Ensure it is set as '**true**'. | |
| `cron_type` | **Mandatory** parameter. Determines the type of Cron. The value will need to provided as **Calendar** to create recurring crons. | |
| `cron_detail` | **Mandatory** parameter. Provide the following details:
|
|
| `job_meta` | **Mandatory** parameter. Pass the `jobMeta` JSON object as value. |
| JSON Object | JSON Attributes | Definition |
|---|---|---|
| `job_meta` | `job_name` | **Mandatory** parameter. Contains the name of the job that needs to be submitted to the job pool. |
| `target_type` | **Mandatory** parameter. Contains the type of the job. (**Function** | **Circuit** | **Webhook** | **AppSail**). | |
| `target_name` or `target_id` | **Mandatory** parameter. Contains the name or ID of the target type. While it is mandatory to provide value for either of them, it is optional to provide values for both fields. | |
| `jobpool_name` or `jobpool_id` | **Mandatory** parameter. Contains the name or ID of the Job Pool. While it is mandatory to provide value for either of them, it is optional to provide values for both fields. | |
| `job_config` |
|
|
| `expressionCron` | `cron_name` | **Mandatory** parameter. To refer to your cron. Ensure you provide a unique name. |
| `description` | **Optional** parameter. You can provide a description for your cron. | |
| `cron_status` | **Mandatory** parameter. Determines if the cron is enabled or not. Ensure it is set as '**true**'. | |
| `cron_type` | **Mandatory** parameter. Determines the type of Cron. The value will need to provided as **CronExpression** to create crons using Cron Expressions. | |
| `cron_detail` | **Mandatory** parameter. The required details will be provided using cron expressions. | |
| `job_meta` | **Mandatory** parameter. Pass the `jobMeta` JSON object as value. |
| Job Scheduling Component | Operations Possible Using SDK |
|---|---|
| Job Pool | [Get All Job Pool](https://docs.catalyst.zoho.com/en/sdk/python/v1/job-scheduling/jobpool/get-all-jobpool/) [Get a Specific Job Pool](https://docs.catalyst.zoho.com/en/sdk/python/v1/job-scheduling/jobpool/get-job-pool/) |
| Job | [Create Job](https://docs.catalyst.zoho.com/en/sdk/python/v1/job-scheduling/jobs/create-job/) [Get Job Details](https://docs.catalyst.zoho.com/en/sdk/python/v1/job-scheduling/jobs/get-job/) [Delete a Job](https://docs.catalyst.zoho.com/en/sdk/python/v1/job-scheduling/jobs/delete-job/) |
| Cron | [Create a One-Time Cron](https://docs.catalyst.zoho.com/en/sdk/python/v1/job-scheduling/cron/create-one-time-cron/) [Create a Recurring Cron](https://docs.catalyst.zoho.com/en/sdk/python/v1/job-scheduling/cron/create-recurring-cron/) [Create Cron Using Cron Expressions](https://docs.catalyst.zoho.com/en/sdk/python/v1/job-scheduling/cron/create-cron-cron-expressions/) [Get Details of a Particular Cron](https://docs.catalyst.zoho.com/en/sdk/python/v1/job-scheduling/cron/get-cron-details/) [Get Details of All Crons](https://docs.catalyst.zoho.com/en/sdk/python/v1/job-scheduling/cron/get-all-cron-details/) [Update Cron](https://docs.catalyst.zoho.com/en/sdk/python/v1/job-scheduling/cron/update-cron/) [Pause Cron](https://docs.catalyst.zoho.com/en/sdk/python/v1/job-scheduling/cron/pause-cron/) [Resume Cron](https://docs.catalyst.zoho.com/en/sdk/python/v1/job-scheduling/cron/resume-cron/) [Run Cron](https://docs.catalyst.zoho.com/en/sdk/python/v1/job-scheduling/cron/run-cron/) [Delete Cron](https://docs.catalyst.zoho.com/en/sdk/python/v1/job-scheduling/cron/delete-cron/) |
| Framework | Default Start Command |
|---|---|
| Slyte | `npm start -\- -\-port $ZC_SLATE_PORT` |
| Create React App | `PORT=$ZC_SLATE_PORT npm start` |
| Solid JS(Vite) | `npm run dev -\- -\-port $ZC_SLATE_PORT` |
| React + Vite | `npm run dev -\- -\-port $ZC_SLATE_PORT` |
| Next.js | `npm run dev -\- -\-port $ZC_SLATE_PORT` |
| Astro | `npm run dev -\- -\-port $ZC_SLATE_PORT` |
| Angular | `npm start -\- -\-port $ZC_SLATE_PORT` |
| Vue (Vite) | `npm run dev -\- -\-port $ZC_SLATE_PORT` |
| Preact | `npm run dev -\- -\-port $ZC_SLATE_PORT` |
| Svelte | `npm run dev -\- -\-port $ZC_SLATE_PORT` |
| Supported DC | Slate Access URL |
|---|---|
| `US` | yourdomain.onslate.com |
| `EU` | yourdomain.onslate.eu |
| `IN` | yourdomain.onslate.in |
| `AU` | yourdomain.onslate.au |
| `CA` | yourdomain.onslate.ca |
| Keyword | Description |
|---|---|
| `version` | The pipeline version can be defined as any integer value, serving the purpose of preserving pipeline configurations as distinct and reusable versions. |
| `runners` | A runner is a virtual machine configuration that can be defined at the **stage** level or **job** level. You can define the runner specification as a value of the `config-id` key in `runners`. Learn more about this detail from [this help page](https://docs.catalyst.zoho.com/en/pipelines/help/catalyst-pipelines.yaml/build-the-pipeline/runners). |
| `images` | An image is a package or set of dependencies required for the execution of jobs in the pipeline. Images can be defined at the **stage** level or **job** level. You can define the name of the image in the `image` key and the URL of the external package registry (like Dockerhub) in the `registry` key. You must also define the `auth` key to authenticate the specified registry. Learn more about this detail from [this help page](https://docs.catalyst.zoho.com/en/pipelines/help/catalyst-pipelines.yaml/build-the-pipeline/images). |
| `auth` | To authenticate any external registry accounts and pull the required packages for job execution, you will need to specify the `username` and `password` keys in the `auth` key. You can refer to [this help section](https://docs.catalyst.zoho.com/en/pipelines/help/catalyst-pipelines.yaml/build-the-pipeline/images) to know more about this. |
| `variables` | This keyword is used to store placeholder values at the **pipeline** level or **job** level. Check out [this help page](https://docs.catalyst.zoho.com/en/pipelines/help/catalyst-pipelines.yaml/build-the-pipeline/variables) for more details. |
| `steps` | They are a set of commands that can be defined to carry out the build, test, and deploy processes in the pipeline. You can define the steps based on the applications you build, the testing procedures for it, and the environments in which the application has to be deployed. Refer to [this help page](https://docs.catalyst.zoho.com/en/pipelines/help/catalyst-pipelines.yaml/build-the-pipeline/steps) to learn more about steps. |
| `jobs` | A job is a sequence of steps defined in a stage. You can define up to five jobs within a stage, and under each job, you can define `steps`, `variables`, `runners`, and `images` using the `jobs` key. If you have configured the pipeline to build your application before testing or deploying it, you can temporarily store the generated build files of your code in the Catalyst Stratus service. These configurations can be defined using the `artifacts` key. This key includes two other sub-keys named `notify` and `approve`. You can learn more about this in detail from [this help page](https://docs.catalyst.zoho.com/en/pipelines/help/catalyst-pipelines.yaml/build-the-pipeline/jobs/introduction). |
| `notify` | This key allows you to send notifications either at the start of job execution or upon successful completion of the job. You can use the `on-start` or `on-end` keys for this purpose. Check out [this help section](https://docs.catalyst.zoho.com/en/pipelines/help/catalyst-pipelines.yaml/build-the-pipeline/jobs/introduction) for more details. |
| `approve` | This key is used for [approval jobs](https://docs.catalyst.zoho.com/en/pipelines/help/catalyst-pipelines.yaml/build-the-pipeline/jobs/introduction) to define the details of the job reviewer and the custom approval message. You can set the approval type using the `type-name` sub-key and add the email address of the reviewer and a custom review message in the `type-variables` key that includes the `reviewers` and `message` sub-keys, respectively. |
| `artifacts` | This key is used to represent the upload and download process of the application build files generated during pipeline execution. For this, you can set the values in the `upload` and `download` keys respectively. You can learn more about artifacts from [ its help page](https://docs.catalyst.zoho.com/en/pipelines/help/catalyst-pipelines.yaml/build-the-pipeline/artifacts). |
| `upload` | This key is used to store the generated build zip files in the Catalyst Stratus service. You must define the name of the build file, the location in which the file has to be stored, and other file conditions using the `name`, `location`, and `files` sub-keys respectively. |
| `download` | This key can be used to retrieve the stored build zip files from the Catalyst Stratus service. You can also define the `name`, `location`, and `files` sub-keys similar to the upload keyword. |
| `[stages](https://docs.catalyst.zoho.com/en/pipelines/help/catalyst-pipelines.yaml/build-the-pipeline/stages)` | A stage is a distinct phase that contains multiple jobs in it. You can define up to five stages in a pipeline, each containing a set of jobs. You can also define `runners` and `images` at the stage level. |
| `[when-equal](https://docs.catalyst.zoho.com/en/pipelines/help/catalyst-pipelines.yaml/build-the-pipeline/when-condition/#when-equal)` | This key can be used to evaluate whether two values exactly match with one another and proceed with the specified execution flow of the pipeline, only if the validation holds true. |
| `[when-not](https://docs.catalyst.zoho.com/en/pipelines/help/catalyst-pipelines.yaml/build-the-pipeline/when-condition/#when-not)` | This key can be used to evaluate whether a particular condition is either `true` or `false`. Based on the result of the evaluation, the defined pipeline flow will be executed. |
| `[when-not-equal](https://docs.catalyst.zoho.com/en/pipelines/help/catalyst-pipelines.yaml/build-the-pipeline/when-condition/#when-not-equal)` | This key can be used to evaluate whether two values do not match with one another, then proceed with executing the defined pipeline flow. |
| `[when-and](https://docs.catalyst.zoho.com/en/pipelines/help/catalyst-pipelines.yaml/build-the-pipeline/when-condition/#when-andwhen-or)` | This key can be used to evaluate whether the two conditions defined in the `and` key hold true. If yes, then the flow defined in the `when` condition gets executed. |
| `[when-or](https://docs.catalyst.zoho.com/en/pipelines/help/catalyst-pipelines.yaml/build-the-pipeline/when-condition/#when-andwhen-or)` | This key can be used to evaluate whether either one of the conditions defined in the `or` key holds true. If yes, then the pipeline flow defined in the `when` key gets executed. |
| `[pipeline-when](https://docs.catalyst.zoho.com/en/pipelines/help/catalyst-pipelines.yaml/build-the-pipeline/when-condition/#global-configuration)` | The conditional logic that can be defined at the pipeline level, which dictates the execution flow of the whole pipeline. You can use the `and`, `equal`, `or`, `not`, `not-equal` key along with the `pipeline-when` condition. |
| `[pipeline-runner](https://docs.catalyst.zoho.com/en/pipelines/help/catalyst-pipelines.yaml/build-the-pipeline/runners/#global-configuration)` | This key can be used to define a runner at the pipeline level, which is accessible across all stages and jobs. |
| `[pipeline-image](https://docs.catalyst.zoho.com/en/pipelines/help/catalyst-pipelines.yaml/build-the-pipeline/images/#global-configuration)` | This key can be used to define an image at the pipeline level, which is accessible across all stages and jobs. |
| Runner config | RAM Storage | CPU Capacity | Disk Space |
|---|---|---|---|
| `Low` | 1 GB | 0.8 vCPU | 2 GB |
| `Medium` | 2 GB | 1.2 vCPU | 4 GB |
| `High` | 4 GB | 2.0 vCPU | 8 GB |
| Key | Value | is Mandatory |
|---|---|---|
| Runner name (The runner variable name used to access the runner) | Yes | |
| `config-id` | The ID of the required runner configuration. `Low` = `config-id` : 1 `Medium` = `config-id` :2 `High` = `config-id` : 3 | Yes |
| Key | Value | is Mandatory |
|---|---|---|
| Image Variable Name | The image variable name used to access the image | Yes |
| `image` | The name of the image | Yes |
| `registry` | The URL from which the image has to be fetched. | No |
| `auth` | Contains the username and password keys. | Yes |
| `auth` | Contains the username and password keys. | Yes |
| `username` | The account username credential of the specified registry. | Yes |
| `password` | The account password credential of the specified registry. | Yes |
| Key | Value | is Mandatory |
|---|---|---|
| Variable Name | Specify a string value for the variable | Yes |
| Key | Value | is Mandatory |
|---|---|---|
| `upload` | This key contains the configurations required for the artifact upload process. | Yes |
| `type` | Provide the value as either `file` or `zip`. | Yes |
| `name` | The name of the artifact. (file name or zip name) For example : SNAPSHOT.jar (for file type) Build.zip (for zip type) | Yes |
| `file` | The source path of the artifact file. For example : target/demo-0.0.1-SNAPSHOT.jar | Yes (if the artifact type is file) |
| `regex` | The regular expression pattern that identifies files and compresses all the matching ones. For example : - /catalyst/node_modules/**/ | Yes (if the artifact type is zip) |
| `location` | The location path in Stratus where the file or zip has to be uploaded.
For example :
stratus://< |
Yes |
| Key | Value | is Mandatory |
|---|---|---|
| `download` | This key contains the configurations required for the artifact download process. | Yes |
| `type` | file or zip. Provide this value based on your preference. | Yes |
| `name` | The name of the artifact in Stratus. For example : SNAPSHOT.jar (for file type) Build.zip (for zip type) | Yes |
| `file` | The destination path where the file has to be downloaded. For example : /SNAPSHOT.jar. | Yes (if the artifact type is file) |
| `location` | The Stratus location from which the file has to be downloaded.
For example :
stratus://< |
Yes |
| Key | Value | is Mandatory |
|---|---|---|
| name | Provide the stage name as a string value. | Yes |
| `[jobs](https://docs.catalyst.zoho.com/en/pipelines/help/catalyst-pipelines.yaml/build-the-pipeline/jobs/introduction)` | An array of jobs | Yes |
| `[runner](https://docs.catalyst.zoho.com/en/pipelines/help/catalyst-pipelines.yaml/build-the-pipeline/runners)` | The name of the runner upon which the jobs have to be executed | No |
| `[image](https://docs.catalyst.zoho.com/en/pipelines/help/catalyst-pipelines.yaml/build-the-pipeline/images)` | The name of the image which is used for job execution in the particular stage. | No |
| `[when](https://docs.catalyst.zoho.com/en/pipelines/help/catalyst-pipelines.yaml/build-the-pipeline/when-condition)` | The conditional logic based on which the stage must be executed. You can use `"and"`, `"or"`, `"not"`, `"not-equal"`, or `"equal"` operators along with the base condition. | No |
| Key | Value | is Mandatory |
|---|---|---|
| `[variables](https://docs.catalyst.zoho.com/en/pipelines/help/catalyst-pipelines.yaml/build-the-pipeline/variables)` | An array of variables | No |
| `[artifacts](https://docs.catalyst.zoho.com/en/pipelines/help/catalyst-pipelines.yaml/build-the-pipeline/artifacts)` | This includes the `upload` and `download` keys. Refer to [this help page](https://docs.catalyst.zoho.com/en/pipelines/help/catalyst-pipelines.yaml/build-the-pipeline/artifacts) for more details. | No |
| `notify` | This key can be configured to send notification emails about the job before it starts execution and after the job execution completes. Contains the sub-keys `on-start` and `on - end` | No |
| `on-start / on -end` | Contains the sub-keys `notify-type` and `notify-variables`. | Yes (if `notify` is used) |
| `notify-type` | Provide the value as `email` . | Yes (if `notify` is used) |
| `notify-variables` | Provide the email address to be notified when the job execution starts (for `on-start`) and the email address to be notified when the job successfully completes execution (for `on-end` ) | Yes (if `notify` is used) |
| `[runner](https://docs.catalyst.zoho.com/en/pipelines/help/catalyst-pipelines.yaml/build-the-pipeline/runners)` | Specify the runner name in which the jobs need to be executed. | No |
| `[image](https://docs.catalyst.zoho.com/en/pipelines/help/catalyst-pipelines.yaml/build-the-pipeline/images)` | Specify the name of the image needed for the specific job execution. | No |
| `cwd` | Specify the current working directory in which the job has to be executed. | No |
| `[steps](https://docs.catalyst.zoho.com/en/pipelines/help/catalyst-pipelines.yaml/build-the-pipeline/steps)` | An array containing the scripts that need to be executed in the pipeline. | Yes |
| `[when](https://docs.catalyst.zoho.com/en/pipelines/help/catalyst-pipelines.yaml/build-the-pipeline/when-condition)` | Specify the conditions that determine whether the job has to be executed or not. | No |
| Key | Value | is Mandatory |
|---|---|---|
| `type` | This key contains the sub-key type-name. | Yes |
| `type-name` | Specify this value as "approval". | Yes |
| `type-variables` | This key contains the sub-keys reviewers and message. | Yes |
| `reviewers` | Specify the email addresses of the reviewers who can approve this job. | Yes |
| `message` | Provide the message that has to be sent to the approver. | Yes |
| Category | SDK Method | Required Scope |
|---|---|---|
| General Operations | [Get Pipelines Instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/pipelines/create-instance/) | **No requirement** |
| Pipelines Operations |
|
**Admin** |
| Numeric columns | Sum, Min, Max, Mean, Median, Standard Deviation, Variance & low, medium, high percentiles | Catagorical columns | Unique, Duplicates |
|---|
| Class | Number of Samples |
|---|---|
| Legitimate | 10,000 |
| Fraud | 200 |
| Class | Number of Samples |
|---|---|
| Healthy | 5000 |
| Disease | 300 |
| Total response count | 5,196 | True Positive (TP) | 2,930 | False Negative (FN) | 182 | False Positive (FP) | 35 | True Negative (TN) | 2,049 |
|---|
| Pipeline Type | Stage Reconfiguration Applicable | Reason |
|---|---|---|
| Data Transformation | Yes | Stages are user-configurable; reconfiguration is supported |
| Prediction | Yes | Stages are user-configurable; reconfiguration is supported |
| Text Analytics | Only in Classic Mode | In Smart mode, no stage-level edits required |
| Recommendation | Yes | Stages are user-configurable; reconfiguration is supported |
| Forecasting | No | Uses Smart mode by default; no stage-level edits required |
| Clustering | Yes | Stages are user-configurable; reconfiguration is supported |
| Anomaly Detection | No | Uses Smart mode by default; no stage-level edits required |
| Maximum no.of datasets that can be created | 25 |
|---|---|
| Maximum no.of pipelines that can be created | 25 |
| Maximum no.of endpoints that can be created | 10 |
| No. of columns that can be configured in a single stage operation in builder | 25 |
| Number of columns can be viewed | 150 |
|---|---|
| No of records can be viewed | 250 |
| Number of columns can be viewed | 150 |
|---|---|
| No of records can be viewed | 250 |
| Maximum number of visualizations can be created | 5 |
|---|---|
| Max data points in Chart Preview | 2000 records |
| Max data points in Chart | 25000 records |
| Maximum number of categories displayed in a chart. Ex.Composition chart: Category vs Count | The top 20 categories will be displayed, * The rest will be grouped into a category called "Others" (e.g., Pie, Funnel, etc.). |
| Maximum number of series or trend lines displayed in line charts | 100 |
| Correlation heatmap for maximum number of columns | 25 |
| Stage visualization in pipeline builder utilises maximum number of records | 250 |
| Chart events not available | If any single series has more than 8000 points |
| Source | Restrictions |
|---|---|
| Zoho apps | 200K rows |
| Cloud Data Storages (Object Storages) | 1GB size |
| Databases | 100K rows |
| File Upload | 1 GB size |
| Source | Restrictions |
|---|---|
| Local Files | Maximum 10 files per import session; 100 MB per file |
| Zoho WorkDrive | Maximum 10 files per import session; 100 MB per file; sync configuration applies to all documents in the import session and cannot be configured separately; sync settings cannot be modified after upload |
| Zoho Learn | One file per import session; sync can be configured |
| Local File System | Dataset features will be named col_0, col_1, col_2, etc., if uploaded without column names. |
|---|---|
| Rules in feature engineering | Feature names must not contain [, ], or <, > |
| Recommendation type | Algorithms | Evaluation Metrics |
|---|---|---|
| `Sequential Recommendation` | SubSeq |
|
| `Personalized Recommendation` | Light FM |
|
| Pixie |
|
|
| `Recurring Purchase Recommendations` | Recurrence Finder |
|
| ADF Test | KPSS Test |
|---|---|
|
|
|
|
| Words | Stem word | Lemmatized word |
|---|---|---|
| Studying, Studies, Studied | Studi | Study |
| Running, Runner, Runs | Run or Runn | Run |
| Changing | Chang | Change |
| Raw | Normalized |
|---|---|
| 2moro 2mrrw 2morrow 2mrw tomrw | tomorrow |
| b4 | before |
| otw | on the way |
| :) :-) ;) | smile |
| Feature | Time-Series Anomaly Detection | Non-Time-Series Anomaly Detection |
|---|---|---|
| Data Structure | Data points are indexed by time and follow a sequential order. | Data points are not indexed by time and are treated as independent observations. |
| Temporal Dependency | Requires algorithms that account for temporal dependencies, trends, and seasonality. | Assumes data points are independent with no temporal relationship. |
| Detection Method | Anomalies are detected by comparing actual values against historical patterns or forecasts. | Anomalies are detected by evaluating similarity or distance between data points in feature space. |
| Influencing Factors | Influenced by seasonality, trends, and long-term dependencies in time. | Influenced by feature relationships and data distribution across multiple variables. |
| Common Algorithms | ARIMA, LSTM Autoencoders, Prophet, Isolation Forest (time-based). | Isolation Forest, One-Class SVM, DBSCAN, LOF. |
| Example Use Cases | Monitoring stock prices, machine sensor readings, network performance over time. | Detecting fraudulent transactions, defective products, or abnormal customer behavior. |
| Key Focus | Focuses on pattern deviations over time. | Focuses on feature-based outliers without considering time. |
| Feature | Univariate Data | Multivariate Data |
|---|---|---|
| Definition | Tracks a single variable over time. | Tracks multiple interrelated variables over time and forecasts a single target variable while accounting for its dependencies on other related variables (multivariate forecasting), similar to how traditional predictive models operate. |
| Focus | Monitors trends, seasonality, and fluctuations of one metric. | Monitors patterns and interactions among multiple metrics simultaneously. |
| Anomaly Detection | Flags deviations in the single variable from expected behavior. | Flags anomalies based on irregularities in relationships between variables, capturing patterns that may not appear in isolation. |
| Complexity | Simpler and computationally efficient. | More complex, requires modeling dependencies and interactions between variables. |
| Use Cases | Website traffic, daily sales, electricity consumption, revenue monitoring. | Retail analytics (sales vs marketing spend), stock market analysis (price, volume, volatility), healthcare monitoring (heart rate, blood pressure, oxygen levels). |
| Strengths | Easy to implement and interpret; good for single-metric monitoring. | Detects subtle anomalies that arise from variable interactions; captures complex patterns. |
| Parameter | Description | Values / Notes |
|---|---|---|
| Model | The LLM used for serving | GLM 4.7 Flash |
| Conversation Mode | When enabled, prior messages are retained as context; when disabled, each query is treated independently (single-shot). | True / False |
| Instructions | System-level instruction that guides the model's behaviour, tone, and response style across the session | Free text (Optional) |
| Enable Thinking | When enabled, the model performs explicit step-by-step reasoning before generating its final answer; improves accuracy on complex tasks at the cost of added latency and tokens. | True / False |
| Tools | The model can call the function tools during response generation. Defined as a JSON function with name, description, parameters, the model returns a structured tool call for your application to execute. | Supported on GLM 4.7 Flash only |
| Temperature | Controls randomness in the output. Lower values produce focused, deterministic responses; higher values produce more varied, creative responses. | 0.0 (Focused) – 1.0 (Creative); default 0.7 |
| Max Tokens | Sets the maximum length of the model's generated response. | Numeric; limit varies by model (up to 4096 for GLM 4.7 Flash); default 500 |
| Parameter | Description | Values / Notes |
|---|---|---|
| Model | The VLM used for serving | Qwen 3.6 35B A3B VLM |
| Instructions | System-level instruction that guides the model's behavior, tone, and response style across the session. This enhances output relevance and consistency for specific application needs. For example, a legal firm can enter instructions like "Provide responses in a formal legal tone with citations where applicable.", ensuring AI-generated content aligns with compliance and professional standards. | Free text (Optional) |
| Temperature | Controls randomness in the output. Lower values produce focused, deterministic responses; higher values produce more varied, creative responses. For example, a financial institution setting Temperature to 0.2 would get precise responses like "The Federal Reserve increased interest rates by 0.25%." while setting it to 0.8 might generate "The Federal Reserve's recent rate hike of 0.25% aims to curb inflation, affecting mortgage and loan rates." | 0.0 (Focused) – 1.0 (Creative); default 0.7 |
| Top-K | Limits next-token selection to the K most probable words, controlling how much vocabulary the model considers at each step. For example, a corporate HR chatbot with Top-K set to 10 may generate standard responses like "We value diversity in our hiring process.", whereas 50 allows for richer, more engaging responses like "At [Company Name], diversity is at the core of our hiring process, fostering innovation and inclusivity." | 1 – 100; default 50 |
| Top-P | Cumulative probability threshold for selecting the next token (nucleus sampling); the model considers the smallest set of tokens whose combined probability meets this value. For example, a customer support AI using a Top-P setting of 0.3 might generate straightforward responses like "Your order will arrive in 3 days.", while 0.9 could lead to "Your order is expected to arrive within 3 days. You'll receive a tracking update soon! Let us know if you need further assistance." | 0.0 – 1.0; default 0.9 |
| Max Tokens | Defines the maximum number of tokens (between 1 and 4096) that the model can generate in a response. QuickML allows precise control over response length, optimizing cost and latency. | Numeric; limit varies by model (up to 4096 for GLM 4.7 Flash); default 500 |
| dt |
|---|
| 2021-11-29 11:52:59 |
| dt_day_of_week | 1 |
|---|---|
| dt_date_no | 29 |
| dt_year_no | 2021 |
| dt_month_no | 11 |
| dt_business_day | 1 |
| dt_week_no_year | 48 |
| dt_day_of_year | 333 |
| dt_AM_PM | AM |
| dt_quarter_year | 4 |
| abc@zylker.com |
| mail_first | mail_middle | mail_last |
|---|---|---|
| abc | zylker | com |
| link |
|---|
| https://www.google.in/library?fetch=query#fragment_part |
| link_url_protocol | https | link_url_domain | www.google.in | link_url_path | /library | link_url_query | fetch=query | link_url_fragment | fragment_part | link_domain_tld | in | link_domain_country | IN | subdomain | www |
|---|
| Visualization types | Brief use case |
|---|---|
| Composition charts | Composition charts show how the parts of the data make up the whole |
| Distribution charts | Distribution charts visually display the distribution or spread of categories in a group. |
| Comparison charts | Comparison charts allow to compare two or more sets of data or variables. |
| Relationship charts | Relationship charts visually illustrate the relationship between two or more variables and how they are correlated with each other. |
| Parameter | Description | Values |
|---|---|---|
| Configuration | Associated LLM saved configuration | Configuration name |
| Endpoint type | Type of endpoint created | LLM |
| Generative AI Model | Model associated | GLM-4.7 Flash |
| Publish Status | Status of the endpoint | Published / Unpublished |
| Parameter | Description | Values |
|---|---|---|
| Endpoint URL | The REST API URL used to send prediction requests. |
https://api.catalyst.zoho.com/quickml/v1/project/.../endpoints/predict
|
| HTTP Method | The HTTP method used for prediction requests. | POST |
| OAuth Scope | Required OAuth scope for authentication. | QuickML.deployment.READ |
| Headers | Required request headers for authorization and organization identification. |
CATALYST-ORG
Authorization: Zoho-oauthtoken <access_token>
|
| Parameter | Description | Values |
|---|---|---|
| Model | The LLM used to generate the response | GLM 4.7 Flash |
| Response type | Format of the generated output — "chat" for conversational response, "mail" for email format | Chat, Email |
| Standard Email template | When Response type is "mail": include salutations and subject (true) or omit them (false) | Salutations and Subject |
| Tolerance | Mitigates the hallucination during the response generation. Range: 0.0 (low similarity required, allows more hallucination) to 1.0 (high similarity required, strictest grounding) | Default value: 0.2 |
| Strict | When true, model is constrained strictly to context provided; when false, allows more flexible responses. | True / False |
| Parameter | Description | Values |
|---|---|---|
| Agent Name | Display name/role for the agent | String (e.g. Personal assistant) |
| Instruction | System-level instructions that guide the agent's behaviour and tone | String (Free text prompt) |
| Query Enrichment | When enabled, the LLM enriches and refines the user's query before retrieval to improve relevance. | True / False |
| Do Chit Chat | When enabled, the agent detects and responds to greetings and chitchat without triggering retrieval. | True / False |
| Perform Reasoning | When enabled, the agent decomposes complex queries into sub-queries and performs multi-hop reasoning before generating a final response. | True / False |
| Save Chat History | Passes prior conversation turns as context to the agent for multi-turn interactions. | True / False |
| Parameter | Description | Values |
|---|---|---|
| Model | The LLM used to perform the retrieval mechanism. | GLM 4.7 Flash |
| Top_k | Number of top matching chunks to return. | Numeric value |
| Parameter | Description | Values |
|---|---|---|
| Configuration | Associated RAG saved configuration | Configuration name |
| Endpoint type | Type of endpoint created | RAG |
| Generative AI Model | Model associated | GLM-4.7 Flash |
| RAG mode | RAG mode selected (Response Generation, Agentic RAG, Document Search) | Response Generation |
| Publish Status | Status of the endpoint | Published / Unpublished |
| Parameter | Description | Values / Notes |
|---|---|---|
| Endpoint URL | The REST API URL to send prediction requests to | https://api.catalyst.zoho.com/quickml/v1/project/.../endpoints/predict |
| HTTP Method | All requests must use POST | POST |
| OAuth Scope | Required scope for authentication | QuickML.deployment.READ |
| Headers | Required headers including the authorization token | CATALYST-ORG
Authorization: Zoho-oauthtoken <access_token> |
| Parameter | Configuration | Reason |
|---|---|---|
| Model | Qwen 2.5 -14B Instruct | Selected for its balance of accuracy and efficiency. |
| Instructions | Provide responses in a formal and professional tone. Ensure compliance with banking regulations. Keep answers concise but informative. | Ensures consistency in customer interactions. |
| Temperature | 0.2 | Keeps responses factual and avoids unnecessary creativity. |
| Top-K | 20 | Limits word selection to the most relevant choices, reducing variability. |
| Top-P | 0.3 | Keeps responses focused and predictable, ensuring regulatory compliance. |
| Max Tokens | 200 | Prevents overly long responses while maintaining enough detail for clarity. |
| Parameter | Description | Data Type | Possible Values | Default Values |
|---|---|---|---|---|
| `base_estimator` | The base estimator from which the boosted ensemble is built. If none, then the base estimator is `DecisionTreeClassifier` initialized with **max_depth=1**. | object | Any classification model except KNN Classification model | None |
| `n_estimators` (number of estimators) | The maximum number of estimators at which boosting is terminated. In case of perfect fit, the learning procedure is stopped early. | int | [1, 500] | 50 |
| `learning_rate` | Weight applied to each classifier at each boosting iteration. A higher learning rate increases the contribution of each classifier. | float | (0.0, +Inf) | 1.0 |
| `algorithm` | If ‘SAMME.R’ then use the SAMME.R real boosting algorithm. base_estimator must support calculation of class probabilities. If ‘SAMME’ then use the SAMME discrete boosting algorithm. The SAMME.R algorithm typically converges faster than SAMME, achieving a lower test error with fewer boosting iterations. | string | {‘SAMME’, ‘SAMME.R’} | ’SAMME.R’ |
| Parameter | Description | Data Type | Possible Values | Default Values |
|---|---|---|---|---|
| `learning_rate` | Used for reducing the gradient step. | float | (0,1] | 0.03 |
| `l2_leaf_reg` (l2_leaf_regularization) | Coefficient at the L2 regularization term of the cost function. | float | [0,+inf) | 3.0 |
| `rsm` (random subspace method) | The percentage of features to use at each split selection, when features are selected over again at random | float | (0,1] | None |
| `loss_function` | The metric to use in training. The specified value also determines the machine learning problem to solve. Some metrics support optional parameters. | string | {'Logloss', 'CrossEntropy', 'MultiClass', 'MultiClassOneVsAll'} | 'MultiClass' |
| `nan_mode` | The method for processing missing values in the input dataset. | string | {'Forbidden', 'Min', 'Max'} | Min |
| `leaf_estimation_method` | The method used to calculate the values in leaves. | string | {"Newton", "Gradient"} | None |
| `score_function` | The score type used to select the next split during the tree construction. | string | {L2, Cosine} | Cosine |
| `max_depth` | Maximum depth of the tree. | int | [1,+Inf) | None |
| `n_estimators` (number of estimators) | The maximum number of trees that can be built when solving machine learning problems. When using other parameters that limit the number of iterations, the final number of trees may be less than the number specified in this parameter | int | [1, 500] | None |
| Parameter | Description | Data Type | Possible Values | Default Values |
|---|---|---|---|---|
| `criterion` | The function to measure the quality of a split. | string | {“gini”, “entropy”} | ”gini” |
| `splitter` | The strategy used to choose the split at each node. | string | {“best”, “random”} | ”best” |
| `max_depth` | The maximum depth of the tree. If None, then nodes are expanded until all leaves are pure or until all leaves contain less than min_samples_split samples. | int | (0, +Inf) | None |
| `min_samples_split` | The minimum number of samples required to split an internal node. | int or float | [2, +Inf) or (0, 1.0] | 2 |
| `min_samples_leaf` | The minimum number of samples required to be at a leaf node. A split point at any depth will only be considered if it leaves at least min_samples_leaf training samples in each of the left and right branches. | int or float | [1, +Inf) or (0, 0.5] | 1 |
| `min_weight_fraction_leaf` | The minimum weighted fraction of the sum total of weights (of all the input samples) required to be at a leaf node. | float | [0, 0.5] | 0 |
| `max_features` | The number of features to consider when looking for the best split | int, float or string | (0, n_features] or { “sqrt”, “log2”} | None |
| `max_leaf_nodes` | Grow a tree with max_leaf_nodes in best-first fashion. Best nodes are defined as relative reduction in impurity. If None then unlimited number of leaf nodes. | int | (1, +Inf) | None |
| `min_impurity_decrease` | A node will be split if this split induces a decrease of the impurity greater than or equal to this value. | float | [0, +Inf) | 0.0 |
| Parameter | Description | Data Type | Possible Values | Default Values |
|---|---|---|---|---|
| `loss` | The loss function to be optimized. ‘deviance’ refers to deviance (= logistic regression) for classification with probabilistic outputs. | string | {'deviance', 'exponential'} | 'deviance' |
| `learning_rate` | Learning rate shrinks the contribution of each tree by learning_rate. There is a trade-off between learning_rate and n_estimators. | float | (0.0, +Inf) | 0.1 |
| `n_estimators` (number of estimators) | The number of boosting stages to perform. | int | [1, 500] | 100 |
| `criterion` | The function to measure the quality of a split. | string | {'friedman_mse', 'mse', 'mae'} | ’friedman_mse’ |
| `subsample` | The fraction of samples to be used for fitting the individual base learners. | float | (0.0, 1.0] | 1.0 |
| `max_depth` | The maximum depth of the individual regression estimators. | int | (0, +Inf) | None |
| `min_samples_split` | The minimum number of samples required to split an internal node | int or float | [2, +Inf) or (0, 1.0] | 2 |
| `min_samples_leaf` | The minimum number of samples required to be at a leaf node. | int or float | [1, +Inf) or (0, 0.5] | 1 |
| `min_weight_fraction_leaf` | The minimum weighted fraction of the sum total of weights (of all the input samples) required to be at a leaf node. | float | [0, 0.5] | 0 |
| `max_features` | The number of features to consider when looking for the best split | int, float or string | (0, n_features] or { “sqrt”, “log2”} | None |
| `max_leaf_nodes` | Grow trees with max_leaf_nodes in best-first fashion. Best nodes are defined as relative reduction in impurity. | int | (1, +Inf) | None |
| `min_impurity_decrease` | A node will be split if this split induces a decrease of the impurity greater than or equal to this value. | float | [0, +Inf) | 0.0 |
| `init` | An estimator object that is used to compute the initial predictions. | object or string | estimator (Any classification model except SVM classification and catboost) or ‘zero’ | None |
| `warm_start` | When set to True, reuse the solution of the previous call to fit and add more estimators to the ensemble, otherwise, just erase the previous solution. | bool | True or False | False |
| `tol` (tolerance) | Tolerance for the early stopping. When the loss is not improving by at least tol for n_iter_no_change iterations (if set to a number), the training stops. | float | [0.0, +Inf) | 1e-4 |
| Parameter | Description | Data Type | Possible Values | Default Values |
|---|---|---|---|---|
| `n_neighbors` (number of neighbours) | Number of neighbors to use by default for kneighbors queries. | int | [1, n] n = Total number of records in dataset | 5 |
| `weights` | Weight function used in prediction. Possible values | string | {‘uniform’, ‘distance’} | ’uniform’ |
| `algorithm` | Algorithm used to compute the nearest neighbors. | string | {‘auto’, ‘ball_tree’, ‘kd_tree’, ‘brute’} | ’auto’ |
| `leaf_size` | Leaf size passed to BallTree or KDTree. This can affect the speed of the construction and query, as well as the memory required to store the tree. | int | (1, +Inf) | 30 |
| `p` | Power parameter for the Minkowski metric. | int | [1,3] | 2 |
| `metric` | Metric to use for distance computation. Default is “minkowski”, which results in the standard Euclidean distance when p = 2. | string | {‘cityblock’, ‘cosine’, 'euclidean', 'l1', 'l2', 'manhattan', 'nan_euclidean', ’minkowski’} | ’minkowski’ |
| Parameter | Description | Data Type | Possible Values | Default Values |
|---|---|---|---|---|
| `boosting_type` | Method of boosting. | string | {‘gbdt’, ‘dart’, ‘goss’ } | 'gbdt' |
| `num_leaves` | Maximum tree leaves for base learners. | int | (1, +Inf) | 31 |
| `max_depth` | Maximum tree depth for base learners, <= 0 means no limit. | int | (-Inf, +Inf) | -1 |
| `learning_rate` | Boosting learning rate. You can use callbacks parameter of fit method to shrink/adapt learning rate in training using reset_parameter callback. | float | (0.0, +Inf) | 0.1 |
| `n_estimators` (number of estimators) | Number of boosted trees to fit. | int | [1, 500] | 100 |
| `subsample_for_bin` | Number of samples for constructing bins. | int | (0, +Inf) | 200000 |
| `min_split_gain` | Minimum loss reduction required to make a further partition on a leaf node of the tree. | float | [0.0, +Inf) | 0.0 |
| `min_child_weight` | Minimum sum of instance weight (Hessian) needed in a child (leaf). | float | [0.0, +Inf) | 1e-3 |
| `min_child_samples` | Minimum number of data needed in a child (leaf). | int | [0, +Inf) | 20 |
| `subsample` | Subsample ratio of the training instance. | float | (0.0, 1.0] | 1.0 |
| `subsample_freq` (subsample_frequency) | Frequency of subsample, <= 0 means no enable. | int | (-Inf, +Inf) | 0 |
| `colsample_bytree` (column sample by tree) | Subsample ratio of columns when constructing each tree. | float | (0.0, 1.0] | 1.0 |
| `reg_alpha` (alpha) | L1 regularization term on weights. | float | (0.0, +Inf) | 0.0 |
| `reg_lambda` (lambda) | L2 regularization term on weights. | float | (0.0, +Inf) | 0.0 |
| `importance_type` | The type of feature importance to be filled into featureimportances. If ‘split’, result contains numbers of times the feature is used in a model. If ‘gain’, result contains total gains of splits which use the feature. | string | { ‘gain’, 'split'} | 'split' |
| Parameter | Description | Data Type | Possible Values | Default Values |
|---|---|---|---|---|
| `penalty` | Specify the norm of the penalty:
|
string | { ‘l1’, ‘l2’, ‘elasticnet’, ‘none’} | ’l2’ |
| `dual` | Dual or primal formulation. Dual formulation is only implemented for l2 penalty with liblinear solver. | bool | True or False | False |
| `tol` (tolerance) | Tolerance for stopping criteria. | float | [0.0, +Inf) | 1e-4 |
| `C` | Inverse of regularization strength; must be a positive float. | float | [0.0, +Inf) | 1.0 |
| `solver` | Algorithm to use in the optimization problem. | string | { ‘newton-cg’, ‘lbfgs’, ‘liblinear’, ‘sag’, ‘saga’ } | ’lbfgs’ |
| `fit_intercept` | Specifies if a constant (a.k.a. bias or intercept) should be added to the decision function. | bool | True or False | True |
| `l1_ratio` | The Elastic-Net mixing parameter, with 0 <= l1_ratio <= 1. Only used if penalty='elasticnet'. | float | [0, 1] | None |
| `multi_class` | If the option chosen is ‘ovr’, then a binary problem is fit for each label. For ‘multinomial’ the loss minimised is the multinomial loss fit across the entire probability distribution, even when the data is binary. | string | {'auto', 'ovr', 'multinomial'} | 'auto' |
| `intercept_scaling` | Useful only when the solver ‘liblinear’ is used and self.fit_intercept is set to True. The intercept becomes intercept_scaling * synthetic_feature_weight. | float | (0, +Inf) | 1.0 |
| Parameter | Description | Data Type | Possible Values | Default Values |
|---|---|---|---|---|
| `n_estimators` (number of estimators) | The number of trees in the forest. | int | [1, 500] | 100 |
| `criterion` | The function to measure the quality of a split. | string | {“gini”, “entropy”} | ”gini” |
| `max_depth` | The maximum depth of the tree. If None, then nodes are expanded until all leaves are pure or until all leaves contain less than min_samples_split samples. | int | (0, +Inf) | None |
| `min_samples_split` | The minimum number of samples required to split an internal node | int or float | [2, +Inf) or (0, 1.0] | 2 |
| `min_samples_leaf` | The minimum number of samples required to be at a leaf node. A split point at any depth will only be considered if it leaves at least min_samples_leaf training samples in each of the left and right branches. | int or float | [1, +Inf) or (0, 0.5] | 1 |
| `min_weight_fraction_leaf` | The minimum weighted fraction of the sum total of weights (of all the input samples) required to be at a leaf node. | float | [0, 0.5] | 0.0 |
| `max_features` | The number of features to consider when looking for the best split | int, float or string | (0, n_features] or { “sqrt”} | None |
| `max_leaf_nodes` | Grow trees with max_leaf_nodes in best-first fashion. Best nodes are defined as relative reduction in impurity. | int | (1, +Inf) | None |
| `min_impurity_decrease` | A node will be split if this split induces a decrease of the impurity greater than or equal to this value. | float | [0, +Inf) | 0.0 |
| `bootstrap` | Whether bootstrap samples are used when building trees. If False, the whole dataset is used to build each tree. | bool | True or False | True |
| `oob_score`(out of bag score) | Whether to use out-of-bag samples to estimate the generalization score. Only available if bootstrap=True. | bool | True or False | False |
| `warm_start` | When set to True, reuse the solution of the previous call to fit and add more estimators to the ensemble, otherwise, just fit a whole new forest. | bool | True or False | False |
| Parameter | Description | Data Type | Possible Values | Default Values |
|---|---|---|---|---|
| `C` | Regularization parameter. The strength of the regularization is inversely proportional to C. | float | [0.0, +Inf) | 1.0 |
| `kernel` | Specifies the kernel type to be used in the algorithm. If none is given, ‘rbf’ will be used. | string | {‘linear’, ‘poly’, ‘rbf’, ‘sigmoid’} | ’rbf’ |
| `degree` | Degree of the polynomial kernel function (‘poly’). Ignored by all other kernels. | int | [0, +Inf) | 3 |
| `gamma` | Kernel coefficient for ‘rbf’, ‘poly’ and ‘sigmoid’. | string or float | {‘scale’, ‘auto’} or (0.0, +Inf) | ’scale’ |
| `coef0` | Independent term in kernel function. It is only significant in ‘poly’ and ‘sigmoid’. | float | (-Inf, +Inf) | 0.0 |
| `shrinking` | Whether to use the shrinking heuristic. | bool | True or False | True |
| `probability` | Whether to enable probability estimates. | bool | True or False | False |
| `tol` (tolerance) | Tolerance for stopping criterion. | float | [0.0, +Inf) | 1e-3 |
| `decision_function_shape` | Whether to return a one-vs-rest (‘ovr’) decision function of shape (n_samples, n_classes) as all other classifiers, or the original one-vs-one (‘ovo’) decision function of libsvm which has shape (n_samples, n_classes * (n_classes - 1) / 2). | string | {‘ovo’, ‘ovr’} | ’ovr’ |
| `break_ties` | If true, decision_function_shape='ovr', and number of classes > 2, predict will break ties according to the confidence values of decision_function; otherwise the first class among the tied classes is returned. | bool | True or False | False |
| Parameter | Description | Data Type | Possible Values | Default Values |
|---|---|---|---|---|
| `booster` | Decides which booster to use. | string | {‘gbtree', 'gblinear', 'dart' } | ’gbtree’ |
| `learning_rate` | Step size shrinkage used in update to prevents over fitting. After each boosting step, we can directly get the weights of new features, and eta shrinks the feature weights to make the boosting process more conservative. | float | [0,1] | 0.1 |
| `n_estimators` (number of estimators) | Number of trees to fit. | int | [1, 500] | 100 |
| `objective` | Logistic regression for binary classification. | string | Mentioned below the table . | "binary:logistic" |
| `subsample` | Control the sample's proportion. | int | (0,1] | 1 |
| `max_depth` | Maximum depth of a tree. | int | (0, +Inf) | 3 |
| `max_delta_step` | If the value is set to 0, it means there is no constraint. If it is set to a positive value, it can help making the update step more conservative. Usually this parameter is not needed, but it might help in logistic regression when class is extremely imbalanced. | int or float | [0, +Inf) | 0 |
| `colsample_bytree` (column sample by tree) | Column's fraction of random samples. | float | (0.0, 1.0] | 1.0 |
| `colsample_bylevel` (column sample by level) | It is the subsample ratio of columns for each level. Subsampling occurs once for every new depth level reached in a tree. Columns are subsampled from the set of columns chosen for the current tree. | float | (0.0, 1.0] | 1.0 |
| `min_child_weight` | Minimum sum of weights. | int | [0, +Inf) | 1 |
| `reg_alpha` (alpha) | L1 regularization term on weights. | float | [0.0, +Inf) | 0.0 |
| `reg_lambda` (lambda) | L2 regularization term on weights. | float | [0.0, +Inf) | 0.0 |
| `scale_pos_weight` (scale positive weight) | Control the balance of positive and negative weights, useful for unbalanced classes. | int | [0, +Inf) | 1 |
| Parameter | Description | Data Type | Possible Values | Default Values |
|---|---|---|---|---|
| `base_estimator` | The base estimator from which the boosted ensemble is built. If None, then the base estimator is DecisionTreeRegressor initialized with max_depth=3. | object | Any regression model | None |
| `n_estimators` (number of estimators) | The maximum number of estimators at which boosting is terminated. In case of perfect fit, the learning procedure is stopped early. | int | [1, 500] | 50 |
| `learning_rate` | Weight applied to each regressor at each boosting iteration. A higher learning rate increases the contribution of each regressor. | float | (0.0, +Inf) | 1.0 |
| `loss` | The loss function to use when updating the weights after each boosting iteration. | string | {‘linear’, ‘square’, ‘exponential’} | "linear" |
| Parameter | Description | Data Type | Possible Values | Default Values |
|---|---|---|---|---|
| learning_rate | The learning rate used for training. | float | (0,1] | 0.03 |
| `l2_leaf_reg` (l2_leaf_regularization) | Coefficient at the L2 regularization term of the cost function. | float | [0,+Inf) | 3.0 |
| `rsm` (random subspace method) | The percentage of features to use at each split selection, when features are selected over again at random. | float | (0,1] | None |
| `loss_function` | The metric to use in training. The specified value also determines the machine learning problem to solve. Some metrics support optional parameters. | string | {'RMSE', 'MAE', 'Quantile:alpha=value, 'LogLinQuantile: alpha=value', 'Poisson', 'MAPE', 'Lq:q=value', 'SurvivalAft:dist=value; scale=value'} Note : range of value = [0, 1] | 'RMSE' |
| `nan_mode` | The method for processing missing values in the input dataset. | string | {'Forbidden', 'Min', 'Max'} | Min |
| `leaf_estimation_method` | The method used to calculate the values in leaves. | string | {"Newton", "Gradient"} | None |
| `score_function` | The score type used to select the next split during the tree construction. | string | {L2, Cosine} | Cosine |
| `max_depth` | Maximum depth of the tree. | int | [1,+Inf) | None |
| `n_estimators` (number of estimators) | The maximum number of trees that can be built when solving machine learning problems. When using other parameters that limit the number of iterations, the final number of trees may be less than the number specified in this parameter. | int | [1, 500] | None |
| Parameter | Description | Data Type | Possible Values | Default Values |
|---|---|---|---|---|
| `criterion` | The function to measure the quality of a split. | string | {"mse", "friedman_mse", "mae"} | "mse” |
| `splitter` | The strategy used to choose the split at each node. | string | {“best”, “random”} | ”best” |
| `max_depth` | The maximum depth of the tree. If None, then nodes are expanded until all leaves are pure or until all leaves contain less than min_samples_split samples. | int | (0, +Inf) | None |
| `min_samples_split` | The minimum number of samples required to split an internal node | int or float | [2, +Inf) or (0, 1.0] | 2 |
| `min_samples_leaf` | The minimum number of samples required to be at a leaf node. A split point at any depth will only be considered if it leaves at least min_samples_leaf training samples in each of the left and right branches. | int or float | [1, +Inf) or (0, 0.5] | 1 |
| `min_weight_fraction_leaf` | The minimum weighted fraction of the sum total of weights (of all the input samples) required to be at a leaf node. | float | [0, 0.5] | 0 |
| `max_features` | The number of features to consider when looking for the best split | int, float or string | (0, n_features] or { “sqrt”, “log2”}, | None |
| `max_leaf_nodes` | Grow a tree with max_leaf_nodes in best-first fashion. Best nodes are defined as relative reduction in impurity. | int | (1, +Inf) | None |
| `min_impurity_decrease` | A node will be split if this split induces a decrease of the impurity greater than or equal to this value. | float | [0, +Inf) | 0.0 |
| Parameter | Description | Data Type | Possible Values | Default Values |
|---|---|---|---|---|
| `alpha` | Constant that multiplies the penalty terms. | float | (0, +Inf) | 1.0 |
| `l1_ratio` | The ElasticNet mixing parameter, with 0 <= l1_ratio <= 1. For l1_ratio = 0 the penalty is an L2 penalty. For l1_ratio = 1 it is an L1 penalty. For 0 < l1_ratio < 1, the penalty is a combination of L1 and L2. | float | [0, 1] | 0.5 |
| `fit_intercept` | Whether the intercept should be estimated or not. | bool | True or False | True |
| `normalize` | This parameter is ignored when fit_intercept is set to False. If True, the regressors X will be normalized before regression by subtracting the mean and dividing by the l2-norm. | bool | True or False | False |
| `tol` (tolerance) | The tolerance for the optimization: if the updates are smaller than tol, the optimization code checks the dual gap for optimality and continues until it is smaller than tol. | float | [0.0, +Inf) | 1e-4 |
| `warm_start` | When set to True, reuse the solution of the previous call to fit as initialization, otherwise, just erase the previous solution. | bool | True or False | False |
| `positive` | When set to True, it forces the coefficients to be positive. | bool | True or False | False |
| `selection` | If set to ‘random’, a random coefficient is updated every iteration rather than looping over features sequentially by default. | string | {"cyclic", "random"} | "cyclic" |
| Parameter | Description | Data Type | Possible Values | Default Values |
|---|---|---|---|---|
| `loss` | Loss function to be optimized. ‘ls’ refers to least squares regression. ‘lad’ (least absolute deviation) is a highly robust loss function solely based on order information of the input variables. ‘huber’ is a combination of the two. ‘quantile’ allows quantile regression (use alpha to specify the quantile). | string | {'ls', 'lad', 'huber', 'quantile'} | ’ls’ |
| `learning_rate` | Learning rate shrinks the contribution of each tree by learning_rate. | float | (0.0, +inf) | 0.1 |
| `n_estimators` (number of estimators) | The number of boosting stages to perform. Gradient boosting is fairly robust to over-fitting so a large number usually results in better performance. | int | [1, 500) | 100 |
| `criterion` | The function to measure the quality of a split. | string | {'friedman_mse', 'mse', 'mae'} | ’friedman_mse’ |
| `subsample` | The fraction of samples to be used for fitting the individual base learners. | float | (0.0, 1.0] | 1.0 |
| `max_depth` | Maximum depth of the individual regression estimators. The maximum depth limits the number of nodes in the tree. | int | (0, +Inf) | None |
| `min_samples_split` | The minimum number of samples required to split an internal node | int or float | [2, +Inf) or (0, 1.0] | 2 |
| `min_samples_leaf` | The minimum number of samples required to be at a leaf node. A split point at any depth will only be considered if it leaves at least min_samples_leaf training samples in each of the left and right branches. | int or float | [1, +Inf) or (0, 0.5] | 1 |
| `min_weight_fraction_leaf` | The minimum weighted fraction of the sum total of weights (of all the input samples) required to be at a leaf node. | float | [0, 0.5] | 0 |
| `max_features` | The number of features to consider when looking for the best split | int, float or string | (0, n_features] or { “sqrt”, “log2”} | None |
| `max_leaf_nodes` | Grow trees with max_leaf_nodes in best-first fashion. Best nodes are defined as relative reduction in impurity. | int | (1, +Inf) | None |
| `min_impurity_decrease` | A node will be split if this split induces a decrease of the impurity greater than or equal to this value. | float | [0, +Inf) | 0.0 |
| `init` | An estimator object that is used to compute the initial predictions. init has to provide fit and predict. If ‘zero’, the initial raw predictions are set to zero. | object | estimator (Regression model except cat boost ) or ‘zero’ | None |
| `warm_start` | When set to True, reuse the solution of the previous call to fit and add more estimators to the ensemble, otherwise, just erase the previous solution. | bool | True or False | False |
| `tol` (tolerance) | Tolerance for the early stopping. When the loss is not improving by at least tol for n_iter_no_change iterations (if set to a number), the training stops. | float | [0.0, +Inf) | 1e-4 |
| Parameter | Description | Data Type | Possible Values | Default Values |
|---|---|---|---|---|
| `n_neighbors` (number of neighbours) | Number of neighbors to use by default for kneighbors queries. | int | [1, n] n = Total number of records in dataset | 5 |
| `weights` | Weight function used in prediction.
|
string | {‘uniform’, ‘distance’} | ’uniform’ |
| `algorithm` | Algorithm used to compute the nearest neighbors | string | {‘auto’, ‘ball_tree’, ‘kd_tree’, ‘brute’} | ’auto’ |
| `leaf_size` | Leaf size passed to BallTree or KDTree. This can affect the speed of the construction and query, as well as the memory required to store the tree. The optimal value depends on the nature of the problem. | int | (1, +Inf) | 30 |
| `p` | Power parameter for the Minkowski metric. When p = 1, this is equivalent to using manhattan_distance (l1), and euclidean_distance (l2) for p = 2. For arbitrary p, minkowski_distance (l_p) is used. | int | [1,3] | 2 |
| `metric` | Metric to use for distance computation. Default is “minkowski”, which results in the standard Euclidean distance when p = 2. | str | {‘cityblock’, ‘cosine’, 'euclidean', 'l1', 'l2', 'manhattan', 'nan_euclidean', ’minkowski’} | ’minkowski’ |
| Parameter | Description | Data Type | Possible Values | Default Values |
|---|---|---|---|---|
| `alpha` | Regularization strength; must be a positive float. Regularization improves the conditioning of the problem and reduces the variance of the estimates. Larger values specify stronger regularization. | float | [0, +Inf) | 1.0 |
| `kernel` | Kernel mapping used internally. This parameter is directly passed to pairwise_kernel. If kernel is a string, it must be one of the metrics in pairwise. PAIRWISE_KERNEL_FUNCTIONS or “precomputed”. If kernel is “precomputed”, X is assumed to be a kernel matrix. | string | {‘additive_chi2’,'chi2' ‘linear’, ‘poly’, ‘polynomial’, ‘rbf’, ‘laplacian’, ‘sigmoid’, 'cosine’} | ”linear” |
| `gamma` | Gamma parameter for the RBF, laplacian, polynomial, exponential chi2 and sigmoid kernels. Interpretation of the default value is left to the kernel; see the documentation for sklearn.metrics.pairwise. | float | [0, +Inf) | None |
| `degree` | Degree of the polynomial kernel. | float | [0, +Inf) | 3 |
| `coef0` | Zero coefficient for polynomial and sigmoid kernels. | float | (-Inf, +Inf) | 1 |
| Parameter | Description | Data Type | Possible Values | Default Values |
|---|---|---|---|---|
| `boosting_type` | Method of Boosting. | string | {‘gbdt’, ‘dart’, ‘goss’} | 'gbdt' |
| `num_leaves` | Maximum tree leaves for base learners. | int | (1, +Inf) | 31 |
| `max_depth` | Maximum tree depth for base learners, <= 0 means no limit. | int | (-Inf, +Inf) | -1 |
| `learning_rate` | Boosting learning rate. | float | (0.0, +Inf) | 0.1 |
| `n_estimators` (number of estimators) | Number of boosted trees to fit. | int | [1, 500] | 100 |
| `subsample_for_bin` | Number of samples for constructing bins. | int | (0, +Inf) | 200000 |
| `min_split_gain` | Minimum loss reduction required to make a further partition on a leaf node of the tree. | float | [0.0, +Inf) | 0.0 |
| `min_child_weight` | Minimum sum of instance weight (Hessian) needed in a child (leaf). | float | [0.0, +Inf) | 1e-3 |
| `min_child_samples` | Minimum number of data needed in a child (leaf). | int | [0, +Inf) | 20 |
| `subsample` | Subsample ratio of the training instance. | float | (0.0, 1.0] | 1.0 |
| `subsample_freq` (subsample_frequency) | Frequency of subsample, <= 0 means no enable. | int | (-Inf, +Inf) | 0 |
| `colsample_bytree` (column sample by tree) | Subsample ratio of columns when constructing each tree. | float | (0.0, 1.0] | 1.0 |
| `reg_alpha` (alpha) | L1 regularization term on weights. | float | (0.0, +Inf) | 0.0 |
| `reg_lambda` (lambda) | L2 regularization term on weights. | float | (0.0, +Inf) | 0.0 |
| `importance_type` | The type of feature importance to be filled into featureimportances. If ‘split’, result contains numbers of times the feature is used in a model. If ‘gain’, result contains total gains of splits which use the feature. | string | { ‘gain’, 'split'} | 'split' |
| Parameter | Description | Data Type | Possible Values | Default Values |
|---|---|---|---|---|
| `alpha` | Constant that multiplies the L1 term, controlling regularization strength. alpha must be a non-negative float | float | (0, +Inf) | 1.0 |
| `fit_intercept` | Whether to calculate the intercept for this model. If set to False, no intercept will be used in calculations | bool | True or False | True |
| `normalize` | This parameter is ignored when fit_intercept is set to False. If True, the regressors X will be normalized before regression by subtracting the mean and dividing by the l2-norm. | bool | True or False | False |
| `tol` (tolerance) | The tolerance for the optimization: if the updates are smaller than tol, the optimization code checks the dual gap for optimality and continues until it is smaller than tol. | float | [0.0, +Inf) | 1e-4 |
| `warm_start` | When set to True, reuse the solution of the previous call to fit as initialization, otherwise, just erase the previous solution. | bool | True or False | False |
| `positive` | When set to True, forces the coefficients to be positive. | bool | True or False | False |
| `selection` | If set to ‘random’, a random coefficient is updated every iteration rather than looping over features sequentially by default. | string | {"cyclic", "random"} | "cyclic" |
| Parameter | Description | Data Type | Possible Values | Default Values |
|---|---|---|---|---|
| `fit_intercept` | Whether to calculate the intercept for this model. If set to False, no intercept will be used in calculations. | bool | True or False | True |
| `normalize` | This parameter is ignored when fit_intercept is set to False. If True, the regressors X will be normalized before regression by subtracting the mean and dividing by the l2-norm. | bool | True or False | False |
| Parameter | Description | Data Type | Possible Values | Default Values |
|---|---|---|---|---|
| `n_estimators` | The number of trees in the forest. | int | [1, 500] | 100 |
| `criterion` | The function to measure the quality of a split. Supported criteria are “squared_error” for the mean squared error, which is equal to variance reduction as feature selection criterion, “absolute_error” for the mean absolute error. | string | {"mse", "mae"} | ”mse” |
| `max_depth` | The maximum depth of the tree. If None, then nodes are expanded until all leaves are pure or until all leaves contain less than min_samples_split samples. | int | (0, +Inf) | None |
| `min_samples_split` | The minimum number of samples required to split an internal node | int or float | [2, +Inf) or (0, 1.0] | 2 |
| `min_samples_leaf` | The minimum number of samples required to be at a leaf node. A split point at any depth will only be considered if it leaves at least min_samples_leaf training samples in each of the left and right branches. | int or float | [1, +Inf) or (0, 0.5] | 1 |
| `min_weight_fraction_leaf` | The minimum weighted fraction of the sum total of weights (of all the input samples) required to be at a leaf node. Samples have equal weight when sample_weight is not provided. | float | [0, 0.5] | 0.0 |
| `max_features` | The number of features to consider when looking for the best split | int, float or string | (0, n_features] or { “sqrt”, “log2”}, None | None |
| `max_leaf_nodes` | Grow trees with max_leaf_nodes in best-first fashion. Best nodes are defined as relative reduction in impurity. | int | (1, +Inf) | None |
| `min_impurity_decrease` | A node will be split if this split induces a decrease of the impurity greater than or equal to this value. | float | [0, +Inf) | 0.0 |
| `bootstrap` | Whether bootstrap samples are used when building trees. If False, the whole dataset is used to build each tree. | bool | True or False | True |
| `oob_score` (out of bag score) | Whether to use out-of-bag samples to estimate the generalization score. Only available if bootstrap=True. | bool | True or False | False |
| `warm_start` | When set to True, reuse the solution of the previous call to fit and add more estimators to the ensemble, otherwise, just fit a whole new forest. | bool | True or False | False |
| Parameter | Description | Data Type | Possible Values | Default Values |
|---|---|---|---|---|
| `alpha` | Constant that multiplies the L2 term, controlling regularization strength. | float | (0, +Inf) | 1.0 |
| `fit_intercept` | Whether to fit the intercept for this model. If set to false, no intercept will be used in calculations. | bool | True or False | True |
| `normalize` | This parameter is ignored when fit_intercept is set to False. If True, the regressors X will be normalized before regression by subtracting the mean and dividing by the l2-norm. | bool | True or False | False |
| `tol` (tolerance) | Precision of the solution. | float | [0.0, +Inf) | 1e-4 |
| `solver` | Solver to use in the computational routines: | string | {‘auto’, ‘svd’, ‘cholesky’, ‘lsqr’, ‘sparse_cg’, ‘sag’, ‘saga’} | ’auto’ |
| Parameter | Description | Data Type | Possible Values | Default Values |
|---|---|---|---|---|
| `C` | Regularization parameter. The strength of the regularization is inversely proportional to C. Must be strictly positive. | float | (0.0, +Inf) | 1.0 |
| `kernel` | Specifies the kernel type to be used in the algorithm. If none is given, `rbf` will be used. If a callable is given it is used to precompute the kernel matrix. | string | {‘linear’, ‘poly’, ‘rbf’, ‘sigmoid’} | ’rbf’ |
| `degree` | Degree of the polynomial kernel function (‘poly’). | int | [0, +Inf) | 3 |
| `gamma` | Kernel coefficient for ‘rbf’, ‘poly’ and ‘sigmoid’. | string or float | {‘scale’, ‘auto’} or (0.0, +Inf) | ’scale’ |
| `coef0` | Independent term in kernel function. It is only significant in ‘poly’ and ‘sigmoid’. | float | (-Inf, +Inf) | 0.0 |
| `shrinking` | Whether to use the shrinking heuristic. | bool | True or False | True |
| `tol` (tolerance) | Tolerance for stopping criterion. | float | [0.0, +Inf) | 1e-3 |
| `epsilon` | Epsilon in the epsilon-SVM model. It specifies the epsilon-tube within which no penalty is associated in the training loss function with points predicted within a distance epsilon from the actual value. | float | [0, +Inf) | 0.1 |
| Parameter | Description | Data Type | Possible Values | Default Values |
|---|---|---|---|---|
| `booster` | Decides which booster to use. | string | {‘gbtree', 'gblinear', 'dart' } | ’gbtree’ |
| `learning_rate` | Step size shrinkage used in update to prevents overfitting. After each boosting step, we can directly get the weights of new features, and eta shrinks the feature weights to make the boosting process more conservative. | float | [0,1] | 0.1 |
| `n_estimators` (number of estimators) | Number of trees to fit. | int | [1, 500] | 100 |
| `objective` | Logistic regression for binary classification. | string | Mentioned below the table . | "reg:linear" |
| `subsample` | Control the sample's proportion. | int | (0,1] | 1 |
| `max_depth` | Maximum depth of a tree. | int | (0, +Inf) | 3 |
| `max_delta_step` | If the value is set to 0, it means there is no constraint. If it is set to a positive value, it can help making the update step more conservative. Usually this parameter is not needed, but it might help in logistic regression when class is extremely imbalanced. | int or float | [0, +Inf) | 0 |
| `colsample_bytree` (column sample by tree) | Column's fraction of random samples. | float | (0, 1] | 1.0 |
| `colsample_bylevel` (column sample by level) | It is the subsample ratio of columns for each level. Subsampling occurs once for every new depth level reached in a tree. Columns are subsampled from the set of columns chosen for the current tree. | float | (0, 1] | 1.0 |
| `min_child_weight` | Minimum sum of weights. | int | [0, +Inf) | 1 |
| `reg_alpha` (alpha) | L1 regularization term on weights. | float | [0.0, +Inf) | 0.0 |
| `reg_lambda` (lambda) | L2 regularization term on weights. | float | [0.0, +Inf) | 0.0 |
| `scale_pos_weight` (scale positive weight) | Control the balance of positive and negative weights, useful for unbalanced classes. | int | [0, +Inf) | 1 |
| Parameter | Description | Data Type | Possible Values | Default Values |
|---|---|---|---|---|
| `transactions_column` | Column name for itemsets in the input data | str | column name in the dataset | specified |
| `min_similar_sequence` | Minimum number of similar sequences required | int | any positive integer | 2 |
| Parameter | Description | Data Type | Possible Values | Default Values |
|---|---|---|---|---|
| `no_components` | The dimensionality of the latent feature embeddings. Higher values capture more complex relationships but may overfit if too large for the dataset. | int | Any positive integer | 10 |
| `n` | For k-OS training, this specifies the maximum number of positive samples considered for each user during each update step. | int | Any positive integer | 10 |
| `learning_schedule` | Determines the learning rate schedule to be used. Options include adaptive schedules like adagrad or adadelta, which adjust learning rates based on gradient information during training. | str | 'adagrad', 'adadelta'r | 'adagrad' |
| `loss` | Specifies the loss function to optimize:
|
int | Any positive integer | 10 |
| `learning_rate` | The initial learning rate for the gradient descent optimizer. Smaller values result in slower but potentially more stable convergence. | float | Any positive float | 0.05 |
| `item_alpha` | L2 regularization strength on item feature embeddings. Helps prevent overfitting by penalizing large weights. Higher values enforce stronger regularization. | float | Any non-negative float | 0.0 |
| `user_alpha` | L2 regularization strength on user feature embeddings. Helps prevent overfitting by penalizing large weights. Similar behavior to item_alpha. | float | Any non-negative float | 0.0 |
| `train_split_ratio` | used for training. The remaining data is reserved for evaluation. A higher ratio means more data for training but less for testing. | float | between 0 and 1 | 0.8 |
| `td_uid_column` | The name of the column in the transactions dataset representing unique user IDs. | str | Any valid column name in the dataset | User-specified |
| `ud_uid_column` | The name of the column in the user features dataset representing unique user IDs. | str | Any valid column name in the dataset | User-specified |
| `pd_pid_column` | The name of the column in the product features dataset representing unique product IDs. | str | Any valid column name in the dataset | User-specified |
| Parameter | Description | Data Type | Possible Values | Default Values |
|---|---|---|---|---|
| `user_id_colum` | unique column name of the user_dataset | str | column name in the dataset | specified |
| `product_id_column` | unique column name of the product_dataset | str | column name in the dataset | specified |
| `depth` | Number of steps in each random walk. | int | Any Positive Integers | 10 |
| `n_epochs` | Maximum number of steps for the random walk process. | int | Any Positive Integers | 50 |
| `higher_weight` | Weight for biasing the graph edge towards more likely connections. | float | A float between 0 and 1 | 1.0 |
| `lower_weight` | Weight for biasing the graph edge towards less likely connections. | float | A float between 0 and 1 | 0.0001 |
| `recommendation_type` | Type of prediction to be made. | str | 'fbt', 'cwbab' | 'cwbab' |
| `with_feature_encoding` | Whether to use encoding of user features. | bool | True, False | False |
| Parameter | Description | Data Type | Possible Values | Default Values |
|---|---|---|---|---|
| `user` | The name of the column in the dataset that contains unique user IDs. This column is essential for identifying the recurrence of transactions based on users. | str | Any valid column name in the dataset | User-specified |
| `product` | The name of the column in the dataset that contains unique product IDs. This column is used to track the recurrence of specific products in transactions. | str | Any valid column name in the dataset | User-specified |
| `timestamp_column` | The name of the column in the dataset that contains timestamps for the transactions. This column is critical for calculating the time intervals between recurring transactions. | str | Any valid column name in the dataset | User-specified |
| `quantity` | A boolean flag indicating whether the recurrence analysis should consider transaction quantities. If True, the quantity_column will be used to incorporate quantity-based recurrence patterns. | bool | True, False | User-specified |
| `quantity_column` | The name of the column in the dataset that contains the quantity of products purchased in each transaction. This is required if the quantity parameter is set to True. | str | Any valid column name in the dataset | User-specified |
| Parameter | Description | Data Type | Possible Values | Default Value |
|---|---|---|---|---|
| n_clusters | Defines how many clusters the algorithm should create and, accordingly, how many centroids will be generated. Choosing the right value is critical, as too few clusters may oversimplify the data while too many may lead to overfitting. | int | [1, n_rows] | 8 |
| init | Specifies the method used to initialize the centroids before the clustering iterations begin. | string | {'k-means++', 'random'} | 'k-means++' |
| max_iter | Determines the maximum number of iterations the K-Means algorithm will perform in a single run. | int | [1, ∞) | 300 |
| algorithm | Indicates the specific variant of the K-Means algorithm to use. | string | {'lloyd', 'elkan'} | 'lloyd' |
| Parameter | Description | Data Type | Possible Values | Default Value |
|---|---|---|---|---|
| n_clusters | Defines the number of clusters to be formed as well as the number of centroids to be generated. | int | [1, n_rows] | 8 |
| init | Specifies the method used to initialize the centroids. | string | {'k-means++', 'random'} | 'k-means++' |
| max_iter | Determines the maximum number of iterations the K-Means algorithm will perform in a single run. | int | [1, ∞) | 300 |
| batch_size | Size of the mini batches. | int | [1, ∞) | 1024 |
| Parameter | Description | Data Type | Possible Values | Default Value |
|---|---|---|---|---|
| n_clusters | Defines the number of centers that should be initialized. | int | [1, n_rows] | 8 |
| Parameter | Description | Data Type | Possible Values | Default Value |
|---|---|---|---|---|
| n_clusters | Defines the number of clusters to be allocated. | int | [1, n_rows] | 8 |
| Parameter | Description | Data Type | Possible Values | Default Value |
|---|---|---|---|---|
| n_clusters | Defines the number of clusters to be formed as well as the number of centroids to be generated. | int | [1, n_rows] | 8 |
| max_iter | Determines the maximum number of iterations of the k-modes algorithm for a single run. | int | [1, ∞) | 100 |
| init | Specifies the method used for initialization. | string | {'Huang', 'Cao', 'random'} | 'Cao' |
| Parameter | Description | Data Type | Possible Values | Default Value |
|---|---|---|---|---|
| damping | Specifies the damping factor. | float | [0.5, 1.0) | 0.5 |
| max_iter | Determines the maximum number of iterations. | int | [1, ∞) | 200 |
| convergence_iter | Specifies the number of consecutive iterations during which the estimated number of clusters remains unchanged before the algorithm declares convergence. | int | [1, ∞) | 15 |
| affinity | Determines the similarity measure used between data points. | string | {'precomputed', 'euclidean'} | 'euclidean' |
| Parameter | Description | Data Type | Possible Values | Default Value |
|---|---|---|---|---|
| threshold | Defines the maximum radius of a subcluster when merging with the closest existing subcluster. | float | (0, 1.0) | 0.5 |
| branching_factor | Determines the maximum number of CF subclusters in each node. | int | [1, ∞) | 50 |
| n_clusters | Determines the final number of clusters to form after the CF tree is built. | int, None | [1, ∞) | 3 |
| Parameter | Description | Data Type | Possible Values | Default Value |
|---|---|---|---|---|
| n_clusters | Specifies the number of clusters to form and the number of centroids to generate. | int | [1, n_rows] | 8 |
| max_iter | Determines the maximum number of iterations of the k-modes algorithm for a single run. | int | [1, ∞) | 100 |
| init | Specifies the method for initialization. | string | {'Huang', 'Cao', 'random'} | 'Cao' |
| categorical | Indicates the list of categorical columns. | list, None | List of columns | None |
| Parameter | Description | Data Type | Possible Values | Default Value |
|---|---|---|---|---|
| bin_seeding | When set to True, the algorithm uses a binned version of the input data to initialize kernel locations instead of using every data point. This reduces the number of initial seeds, making the algorithm faster, especially on large datasets. | bool | {False, True} | False |
| cluster_all | Controls how unassigned points (orphans) are handled. If True, all points are forced into the nearest cluster. If False, orphan points that do not fall within any cluster are labeled as -1 (noise). | bool | {False, True} | True |
| max_iter | Specifies the maximum number of iterations allowed for each seed point. If a seed point has not converged by this limit, the process stops for that seed. | int | [1, ∞) | 300 |
| Parameter | Description | Data Type | Possible Values | Default Value |
|---|---|---|---|---|
| eps | Defines the maximum distance between two points for them to be considered neighbors. This parameter strongly influences the size and density of clusters, making it one of the most critical settings in DBSCAN. | float | (0, ∞) | 0.5 |
| min_samples | Specifies the minimum number of neighboring samples required (including the point itself) for a data point to be classified as a core point. It controls how dense a region must be to form a cluster. | int | [1, ∞) | 5 |
| metric | Determines the distance measure used to calculate similarity between data points. | string | {'cityblock', 'cosine', 'euclidean', 'l1', 'l2', 'manhattan', 'minkowski'} | 'euclidean' |
| algorithm | Indicates the nearest neighbor search method used to find pointwise distances efficiently. | string | {'auto', 'ball_tree', 'kd_tree', 'brute'} | 'auto' |
| Parameter | Description | Data Type | Possible Values | Default Value |
|---|---|---|---|---|
| n_clusters | Determines the number of clusters to form as well as the number of medoids to generate. | int | [1, n_rows] | 8 |
| max_iter | Specifies the maximum number of iterations when fitting. | int | [1, ∞) | 300 |
| Parameter | Description | Data Type | Possible Values | Default Value |
|---|---|---|---|---|
| n_clusters | Determines the number of clusters to form as well as the number of medoids to generate. | int | [1, n_rows] | 8 |
| maxneighbor | Specifies the maximum number of neighbors examined. | int | [1, ∞) | 5 |
| Parameter | Description | Data Type | Possible Values | Default Value |
|---|---|---|---|---|
| n_clusters | Determines the number of clusters to form as well as the number of medoids to generate. | int | [1, n_rows] | 8 |
| init | Specifies the medoid initialization method. | string | {'random', 'heuristic', 'k-medoids++', 'build'} | 'heuristic' |
| metric | Specifies the distance function used to measure similarity or dissimilarity between data points. | string | {'cityblock', 'cosine', 'euclidean', 'haversine', 'l2', 'l1', 'manhattan', 'nan_euclidean'} | 'euclidean' |
| method | Determines which algorithm to use. 'alternate' is faster while 'pam' is more accurate. | string | {'pam', 'alternate'} | 'alternate' |
| max_iter | Defines the maximum number of iterations the algorithm will run over the entire dataset. If the clustering process does not converge before reaching this limit, it stops and returns the current cluster assignments. | int | [1, ∞) | 300 |
| Parameter | Description | Data Type | Possible Values | Default Value |
|---|---|---|---|---|
| n_components | Specifies the number of mixture components. | int | (0, ∞) | 2 |
| covariance_type | Defines the shape of the clusters by specifying the structure of the covariance matrix. | string | {'full', 'tied', 'diag', 'spherical'} | 'full' |
| max_iter | Sets the maximum number of iterations for the Expectation-Maximization (EM) algorithm. | int | [1, ∞) | 100 |
| init_params | Determines how the initial parameters (weights, means, and covariances) are set before the EM algorithm starts. | string | {'kmeans', 'k-means++', 'random', 'random_from_data'} | 'kmeans' |
| Parameter | Description | Data Type | Possible Values | Default Value |
|---|---|---|---|---|
| select_model_to_fit | Chooses the regression model for fitting time series. | string | {‘Linear Regressor’, ‘Random-Forest Regressor’, ‘AdaBoost Regressor’, ‘Gradient Boosting Regressor’} | ‘Linear Regressor’ |
| max_lag | Defines how many past time steps are used to predict the current value. | int | [1, ∞) | 1 |
| Parameter | Description | Data Type | Possible Values | Default Value |
|---|---|---|---|---|
| ma_lag (q) | Specifies the number of past forecast errors used to predict future values. | int | [0, 5] | 1 |
| Parameter | Description | Data Type | Possible Values | Default Value |
|---|---|---|---|---|
| ar_lag (p) | Number of lag observations included in the model. | int | [0, 5] | 1 |
| ma_lag (q) | Number of lagged forecast errors in the prediction equation. | int | [0, 5] | 1 |
| integration (d) | Number of times the data is differenced to achieve stationarity. | int | [0, 5] | 0 |
| Parameter | Description | Data Type | Possible Values | Default Value |
|---|---|---|---|---|
| ar_lag (p) | Number of lag observations used in the model. | int | [0, 5] | 1 |
| ma_lag (q) | Number of lagged forecast errors in the model. | int | [0, 5] | 1 |
| Parameter | Description | Data Type | Possible Values | Default Value |
|---|---|---|---|---|
| seasonal | Indicates whether the model should account for seasonality. | bool | {True, False} | True |
| ar_lag (p) | Non-seasonal AR lag parameter. | int | [0, 5] | 1 |
| ma_lag (q) | Non-seasonal MA lag parameter. | int | [0, 5] | 1 |
| integration (d) | Non-seasonal differencing order. | int | [0, 5] | 0 |
| periodicity (s) | Seasonal period length (e.g., 12 for monthly data). | int | [0, ∞) | 12 |
| integration (D) | Seasonal differencing order. | int | [0, 5] | 0 |
| max_order | Maximum total order of the model (optional). | int | [0, 5] | 5 |
| Parameter | Description | Data Type | Possible Values | Default Value |
|---|---|---|---|---|
| ar_lag (p) | Non-seasonal AR term. | int | [0, 5] | 1 |
| ma_lag (q) | Non-seasonal MA term. | int | [0, 5] | 1 |
| integration (d) | Non-seasonal differencing. | int | [0, 5] | 0 |
| seasonal_ar (P) | Seasonal AR term. | int | [0, 5] | 1 |
| seasonal_ma (Q) | Seasonal MA term. | int | [0, 5] | 1 |
| seasonal_integration (D) | Seasonal differencing. | int | [0, 5] | 0 |
| periodicity (s) | Seasonal period (e.g., 12 for monthly seasonality). | int | [0, ∞) | 12 |
| enforce_stationarity | Whether to enforce stationarity in the model. | bool | {True, False} | False |
| enforce_invertibility | Whether to enforce invertibility of the model. | bool | {True, False} | False |
| Parameter | Description | Data Type | Possible Values | Default Value |
|---|---|---|---|---|
| damped_trends | Whether to apply damping to trend components. | bool | {True, False} | False |
| season | Type of seasonality to apply. | string | {‘Add’, ‘Mul’} | ‘Add’ |
| seasonal_periods | Number of periods in a full seasonal cycle. | int | [1, ∞) | 12 |
| Parameter | Description | Data Type | Possible Values | Default Value |
|---|---|---|---|---|
| smoothing_level | Smoothing factor for the level component. | float | [0, 1] | 0.8 |
| smoothing_trend | Smoothing factor for the trend component. | float | [0, 1] | 0.2 |
| damping_trend | Controls the damping of the trend component. | bool | {True, False} | True |
| optimise | Specifies whether parameters should be optimized automatically. | string | {‘Select’, ‘Manual’} | ‘Select’ |
| exponential | Whether to use exponential trend smoothing. | bool | {True, False} | False |
| Parameter | Description | Data Type | Possible Values | Default Value |
|---|---|---|---|---|
| kernel | Specifies the kernel type to use. If none is given, 'rbf' is used. | string | {‘linear’, ‘poly’, ‘rbf’, ‘sigmoid’, ‘precomputed’} | 'rbf' |
| degree | Degree of the polynomial kernel function ('poly'). Ignored by other kernels. | int | [1, ∞) | 3 |
| gamma | Kernel coefficient for 'rbf', 'poly', and 'sigmoid'. | string | {‘scale’, ‘auto’} | 'scale' |
| coef0 | Independent term in kernel function, significant in 'poly' and 'sigmoid'. | float | [0, 1] | 0.0 |
| tol | Tolerance for stopping criterion. | float | [0, 1] | 1e-3 |
| nu | Upper bound on fraction of training errors and lower bound on fraction of support vectors. | float | (0, 1] | 0.5 |
| shrinking | Whether to use the shrinking heuristic. | bool | {False, True} | True |
| max_iter | Hard limit on solver iterations, or -1 for no limit. | int | [1, ∞), {-1} | -1 |
| Parameter | Description | Data Type | Possible Values | Default Value |
|---|---|---|---|---|
| n_estimators | Number of base estimators (trees) in the ensemble. | int | [1, ∞) | 100 |
| max_samples | Number of samples to draw to train each estimator. | string, int, float | [1, ∞), [0, 1], {'auto'} | 'auto' |
| contamination | Proportion of outliers in the dataset. | string, float | {‘auto’}, (0, 0.5] | 'auto' |
| max_features | Number of features to draw for each estimator. | int, float | [1, ∞), [0, 1] | 1.0 |
| bootstrap | Whether to sample training data with replacement. | bool | {False, True} | False |
| Parameter | Description | Data Type | Possible Values | Default Value |
|---|---|---|---|---|
| n_neighbors | Number of neighbors to use for kneighbors queries. | int | [1, n_samples) | 20 |
| algorithm | Algorithm used to compute nearest neighbors. | string | {‘auto’, ‘ball_tree’, ‘kd_tree’, ‘brute’} | 'auto' |
| leaf_size | Leaf size for BallTree or KDTree, affecting speed and memory. | int | [1, ∞) | 20 |
| metric | Metric for distance computation. | string | {'cityblock', 'cosine', 'euclidean', 'haversine', 'l1', 'l2', 'manhattan', 'nan_euclidean'} | 'minkowski' |
| p | Parameter for Minkowski metric (1=Manhattan, 2=Euclidean). | float | [1, ∞) | 2 |
| contamination | Proportion of outliers in the dataset. | float, string | (0, 0.5], {'auto'} | 'auto' |
| color |
|---|
| blue |
| red |
| green |
| color_blue | color_red | color_green |
|---|---|---|
| 1 | 0 | 0 |
| 0 | 1 | 0 |
| 0 | 0 | 1 |
| Sample Input | 10 | 10 | 20 | 30 | 30 | 30 | Sample Output | 2 | 2 | 1 | 3 | 3 | 3 |
|---|
| Sample Input | 10 | 25 | 30 | Sample Output | 0 | 0.75 | 1 |
|---|
| Sample Input | 10 | 25 | 30 | Sample Output | 0.248 | 0.620 | 0.744 |
|---|
| Sample Input | 10 | 25 | 30 | Sample Output | -0.583 | 0.166 | 0.416 |
|---|
| Sample Input | 10 | 25 | 30 | Sample Output | -1.120 | 0.320 | 0.800 |
|---|
| Input Value | 10 | 25 | 30 | 1000 | Output (Robust) | -0.875 | -0.125 | 0.125 | 48.625 |
|---|
| Sample Input | 5 | 10 | 12 | Sample Output | 25 | 100 | 144 |
|---|
| Sample Input | 2 | 4 | 5 | Sample Output | 8 | 64 | 125 |
|---|
| Sample Input | 10 | 20 | 30 | Sample Output | 0.1 | 0.05 | 0.03333 |
|---|
| Sample Input | 25 | 100 | 64 | Sample Output | 5 | 10 | 8 |
|---|
| Sample Input | 10 | 25 | 30 | Sample Output | 2.39789527 | 3.25809654 | 3.4339872 |
|---|
| Parameter Name | Definition |
|---|---|
| endpointKey | A mandatory parameter that specifies the unique ID of the endpoint published for the ML model. |
| input_data | A mandatory parameter that contains the input data required by the ML model as key-value pairs. The keys must match the features expected by the trained model. |
| Interaction Mode | SDK Method |
|---|---|
| Conversation mode OFF (Single-shot mode) | askLlm(endpointKey, prompt) |
| Conversation mode ON | converseWithLlm(endpointKey, prompt, conversationId) |
| Parameter | Description | Value |
|---|---|---|
| endpointKey | The unique ID of the LLM endpoint published in your project. | String |
| prompt | The message sent to the language model. | String |
| Parameter | Description | Value |
|---|---|---|
| endpointKey | Mandatory parameter. The unique ID of the LLM endpoint published in your project. | String |
| prompt | Mandatory parameter. The message sent to the model. | String |
| conversationId | Optional parameter. Identifies the conversation thread the message belongs to. | String |
| Parameter Name | Definition | Value |
|---|---|---|
| endpointKey | The unique ID of the VLM endpoint published in your project. | String |
| image | The image file object to be analyzed. | File object |
| prompt | The task the model must perform on the image. | String |
| RAG mode | SDK method |
|---|---|
| Response Generation | generateRagRsponse( endpointKey, prompt ) |
| Document Search | searchDocuments( endpointKey, query ) |
| Agentic RAG (without history) | askRagAgent( endpointKey, prompt ) |
| Agentic RAG (with history) | converseWithRagAgent( endpointKey, prompt, conversationId ) |
| Parameter | Description | Values |
|---|---|---|
| endpointKey | The unique ID of the RAG endpoint published in your project | String |
| prompt | The query which is sent to the model. | String |
| Parameter | Description | Values |
|---|---|---|
| endpointKey | The unique ID of the RAG endpoint published in your project | String |
| query | The search query is sent to the document store. | String |
| Parameter | Description | Values |
|---|---|---|
| endpointKey | The unique ID of the RAG endpoint published in your project | String |
| prompt | The query which is sent to the model | String |
| Parameter | Description | Values |
|---|---|---|
| endpointKey | The unique ID of the RAG endpoint published in your project | String |
| prompt | The query which is sent to the model | String |
| conversationId | Identifies the conversation thread to which the message belongs. | String |
| Parameter Name | Definition |
|---|---|
| endpointKey | A mandatory parameter. Will store the unique ID of the endpoint published for the ML model. |
| inputData | A mandatory parameter. Will pass the required data input to the endpoint. |
| Interaction mode | SDK method |
|---|---|
| Conversation mode OFF (Single shot mode) | askLlm(endpointKey, prompt) |
| Conversation mode ON | converseWithLlm(endpointKey, prompt, conversationId) |
| Parameter | Description | Values |
|---|---|---|
| llmEndpointKey | The unique ID of the LLM endpoint published in your project | String |
| llmPrompt | The message sent to the model | String |
| Parameter | Description | Values |
|---|---|---|
| llmConversationEndpointKey | Mandatory parameter. The unique ID of the LLM endpoint published in your project | String |
| llmConversationPrompt | Mandatory parameter. The message sent to the model | String |
| conversationId | Optional parameter. Identifies the conversation thread the message belongs to. | String |
| Parameter | Description | Values |
|---|---|---|
| imageEndpointKey | The unique ID of the VLM endpoint published in your project | String |
| imageBase64 | The Base64-encoded image to be analyzed. | String |
| imagePrompt | The task the model must perform on the image | String |
| RAG mode | SDK method |
|---|---|
| Response Generation | generateRagResponse(ragEndpointKey, ragPrompt) |
| Document Search | searchDocuments(searchEndpointKey, searchQuery) |
| Agentic RAG (without history) | askRagAgent(ragAgentEndpointKey, ragAgentPrompt) |
| Agentic RAG (with history) | converseWithRagAgent(ragConversationEndpointKey, ragConversationPrompt, ragConversationId) |
| Parameter | Description | Values |
|---|---|---|
| endpointKey | The unique ID of the RAG endpoint published in your project | String |
| prompt | The query which is sent to the model. | String |
| Parameter | Description | Values |
|---|---|---|
| searchEndpointKey | The unique ID of the RAG endpoint published in your project | String |
| searchQuery | The search query is sent to the document store. | String |
| Parameter | Description | Values |
|---|---|---|
| endpointKey | The unique ID of the RAG endpoint published in your project | String |
| prompt | The query which is sent to the model | String |
| Parameter | Description | Values |
|---|---|---|
| ragConversationEndpointKey | The unique ID of the RAG endpoint published in your project | String |
| ragConversationPrompt | The query which is sent to the model | String |
| ragConversationId | Identifies the conversation thread the message belongs to | String |
| Parameter Name | Definition |
|---|---|
| endpoint_key | A mandatory parameter. Will store the unique ID of the endpoint published for the ML model. |
| input_data | A mandatory parameter. Will pass the required data input to the endpoint. |
| Interaction mode | SDK method |
|---|---|
| Conversation mode OFF ( Single shot mode) | ask_llm( endpoint_key, prompt ) |
| Conversation mode ON | converse_with_llm( endpoint_key, prompt, conversation_id ) |
| Parameter | Description | Values |
|---|---|---|
| endpoint_key | The unique ID of the LLM endpoint published in your project | String |
| prompt | The message sent to the model | String |
| Parameter | Description | Values |
|---|---|---|
| endpoint_key | Mandatory parameter. The unique ID of the LLM endpoint published in your project | String |
| prompt | Mandatory parameter. The message sent to the model | String |
| conversation_id | Optional parameter. Identifies the conversation thread the message belongs to. | String |
| Parameter | Description | Values |
|---|---|---|
| endpoint_key | The unique ID of the VLM endpoint published in your project | String |
| image | The image file object to be analy z ed | File object |
| prompt | The task the model must perform on the image | String |
| RAG mode | SDK method |
|---|---|
| Response Generation | generate_rag_response(endpoint_key, prompt) |
| Document Search | search_documents(endpoint_key, query) |
| Agentic RAG (without history) | ask_rag_agent(endpoint_key, prompt) |
| Agentic RAG (with history) | converse_with_rag_agent(endpoint_key, prompt, conversation_id) |
| Parameter | Description | Values |
|---|---|---|
| endpoint_key | The unique ID of the RAG endpoint published in your project | String |
| prompt | The query which is sent to the model. | String |
| Parameter | Description | Values |
|---|---|---|
| endpoint_key | The unique ID of the RAG endpoint published in your project | String |
| query | The search query is sent to the document store. | String |
| Parameter | Description | Values |
|---|---|---|
| endpoint_key | The unique ID of the RAG endpoint published in your project | String |
| prompt | The query which is sent to the model | String |
| Parameter | Description | Values |
|---|---|---|
| endpoint_key | The unique ID of the RAG endpoint published in your project | String |
| prompt | The query which is sent to the model | String |
| conversation_id | Identifies the conversation thread the message belongs to | String |
| S.No. | API Name | Data Type | Description |
|---|---|---|---|
| 1 | `rule_id` | long string | This is the unique ID of the [rule](https://docs.catalyst.zoho.com/en/signals/help/rules/key-aspects/) upon which the event has been generated. |
| 2 | `target_id` | long string | It refers to the unique ID of the [target](https://docs.catalyst.zoho.com/en/signals/help/targets/key-aspects/) to which the events and their details are delivered. |
| 3 | `version` | integer | The key represents the version of the event schema in Catalyst Signals. |
| 4 | `attempt` | integer | It denotes the current number of attempt for the event to reach the target. Attempts greater than one corresponds to the [retry count](https://docs.catalyst.zoho.com/en/signals/help/targets/key-aspects/#retry-policy) configured in the rule. |
| 5 | `account` | object | This comprises the following catalyst account details:
|
| 6 | `events` | array | This is an array of objects. Each object in the array refers to one of the configured events of the [publisher](https://docs.catalyst.zoho.com/en/signals/help/publishers/key-aspects/).
The following are the default keys present in the objects of this array:
|
| No. | Display Name | API Name | Description |
|---|---|---|---|
| 1 | User Signup | `user_signedup` | An event is generated when a user signs up to the app using Catalyst Authentication. |
| 2 | User Confirmation | `user_confirmed` | An event is generated when a user successfully verifies their account using Catalyst Authentication. |
| 3 | User Delete | `user_deleted` | An event is generated when a user is removed using Catalyst Authentication. |
| No. | Display Name | API Name | Description |
|---|---|---|---|
| 1 | Item Create | `cache_item_created` | An event is generated when an item is created in Cache Segment. |
| 2 | Item Update | `cache_item_updated` | An event is generated when a cached item is updated in Cache Segment. |
| No. | Display Name | API Name | Description |
|---|---|---|---|
| 1 | Row Insert | `row_inserted` | An event is generated when a new row is inserted to the table in Catalyst Data Store. |
| 2 | Row Delete | `row_deleted` | An event is generated when a row is deleted in the table in Catalyst Data Store. |
| 3 | Row Update | `row_updated` | An event is generated when a row is updated in the table in Catalyst Data Store. |
| No. | Display Name | API Name | Description |
|---|---|---|---|
| 1 | Object Download | `ustratus_object_downloaded` | An event is generated when an object is downloaded from a bucket in Stratus. |
| 2 | Object Upload | `stratus_object_uploaded` | An event is generated when an object is uploaded to a bucket in Stratus. |
| 3 | Object Delete | `stratus_object_deleted` | An event is generated when an object is deleted from a bucket in Stratus. |
| 4 | Object Update | `stratus_object_updated` | An event is generated when an object is updated in a bucket in Stratus. |
| No. | Display Name | API Name | Description |
|---|---|---|---|
| 1 | Contact Created | `contact_created` | An event is generated when a new contact is created in Zoho Bigin. |
| 2 | Call Created | `call_created` | An event is generated when a new call is created in Zoho Bigin. |
| 3 | Call Deleted | `call_deleted` | An event is generated when a call is deleted in Zoho Bigin. |
| 4 | Call Updated | `call_updated` | An event is generated when a call is updated in Zoho Bigin. |
| 5 | Company Created | `account_created` | An event is generated when a Company is created in Zoho Bigin. |
| 6 | Company Deleted | `account_deleted` | An event is generated when a Company is deleted in Zoho Bigin. |
| 7 | Company Updated | `account_updated` | An event is generated when a Company is updated in Zoho Bigin. |
| 8 | Contact Deleted | `contact_deleted` | An event is generated when a contact is deleted in Zoho Bigin. |
| 9 | Contact Updated | `contact_updated` | An event is generated when a contact is updated in Zoho Bigin. |
| 10 | Event Created | `event_created` | An event is generated when a new event is created in Zoho Bigin |
| 11 | Event Updated | `event_updated` | An event is generated when an event is updated in Zoho Bigin. |
| 12 | Pipeline Created | `deal_created` | An event is generated when a Pipeline is created in Zoho Bigin. |
| 13 | Pipeline Deleted | `deal_deleted` | An event is generated when a Pipeline is deleted in Zoho Bigin. |
| 14 | Pipeline Updated | `deal_updated` | An event is generated when a Pipeline is updated in Zoho Bigin. |
| 15 | Product Created | `product_created` | An event is generated when a new product is created in Zoho Bigin. |
| 16 | Product Deleted | `product_deleted` | An event is generated when a product is updated in Zoho Bigin. |
| 17 | Product Updated | `product_updated` | An event is generated when a product is updated in Zoho Bigin. |
| 18 | Task Created | `task_created` | An event is generated when a new task is created in Zoho Bigin. |
| 19 | Task Deleted | `task_deleted` | An event is generated when a task is deleted in Zoho Bigin. |
| 20 | Task Updated | `task_updated` | An event is generated when a task is updated in Zoho Bigin. |
| 21 | Event Deleted | `event_deleted` | An event is generated when an event is deleted in Zoho Bigin. |
| No. | Display Name | API Name | Description |
|---|---|---|---|
| 1 | Subscription Created | `subscription_created` | An event is generated when a subscription is created in Zoho Billing. |
| 2 | Subscription Updated | `subscription_updated` | An event is generated when a subscription is updated in Zoho Billing. |
| 3 | Subscription Renewed | `subscription_renewed` | An event is generated when a subscription is renewed in Zoho Billing. |
| 4 | Subscription Cancelled | `subscription_cancelled` | An event is generated when a subscription is cancelled in Zoho Billing. |
| 5 | Subscription Deleted | `subscription_deleted` | An event is generated when a subscription is deleted in Zoho Billing. |
| 6 | Subscription Paused | `subscription_paused` | An event is generated when a subscription is paused in Zoho Billing. |
| 7 | Subscription Downgraded | `subscription_downgraded` | An event is generated when a subscription is downgraded in Zoho Billing. |
| 8 | Subscription Upgraded | `subscription_upgraded` | An event is generated when a subscription is upgraded in Zoho Billing. |
| 9 | Subscription Resumed | `subscription_resumed` | An event is generated when a subscription is resumed in Zoho Billing. |
| 10 | Subscription Expired | `subscription_expired` | An event is generated when a subscription is expired in Zoho Billing. |
| 11 | Subscription Unpaid | `subscription_unpaid` | An event is generated when a subscription is unpaid in Zoho Billing. |
| 12 | Invoice Created | `invoice_created` | An event is generated when an invoice is created in Zoho Billing. |
| 13 | Subscription Reactivated | `subscription_reactivated` | An event is generated when a subscription is reactivated in Zoho Billing. |
| 14 | Invoice Updated | `invoice_updated` | An event is generated when an invoice is updated in Zoho Billing. |
| 15 | Payment Refunded | `payment_refunded` | An event is generated when a payment is refunded in Zoho Billing. |
| 16 | Payment Succeede | `payment_succeeded` | dAn event is generated when a payment succeeds in Zoho Billing. |
| No. | Display Name | API Name | Description |
|---|---|---|---|
| 1 | Bill Created | `bill_created` | An event is generated when a bill is created in Zoho Books. |
| 2 | Bill Updated | `bill_updated` | An event is generated when a bill is updated in Zoho Books. |
| 3 | Estimate Created | `estimate_created` | An event is generated when an estimate is created in Zoho Books. |
| 4 | Estimate Updated | `estimate_updated` | An event is generated when an estimate is updated in Zoho Books. |
| 5 | Expense Created | `expense_created` | An event is generated when an expense is created in Zoho Books. |
| 6 | Credit Note Created | `credit_note_created` | An event is generated when a credit note is created in Zoho Books. |
| 7 | Credit Note Updated | `credit_note_updated` | An event is generated when a credit note is updated in Zoho Books. |
| 8 | Customer Created | `customer_created` | An event is generated when a customer is created in Zoho Books. |
| 9 | Customer Updated | `customer_updated` | An event is generated when a customer is updated in Zoho Books. |
| 10 | Expense Updated | `expense_updated` | An event is generated when an expense is updated in Zoho Books. |
| 11 | Invoice Created | `invoice_created` | An event is generated when an invoice is created in Zoho Books. |
| 12 | Invoice Updated | `invoice_updated` | An event is generated when an invoice is updated in Zoho Books. |
| 13 | Purchase Order Created | `purchase_order_created` | An event is generated when a purchase order is created in Zoho Books. |
| 14 | Purchase Order Updated | `purchase_order_updated` | An event is generated when a purchase order is updated in Zoho Books. |
| 15 | Sales Order Created | `sales_order_created` | An event is generated when a sales order is created in Zoho Books. |
| 16 | Sales Order Updated | `sales_order_updated` | An event is generated when a sales order is updated in Zoho Books. |
| 17 | Customer Payment Created | `customer_payment_created` | An event is generated when a customer payment is created in Zoho Books. |
| 18 | Customer Payment Updated | `customer_payment_updated` | An event is generated when a customer payment is updated in Zoho Books. |
| 19 | Vendor Payment Created | `vendor_payment_created` | An event is generated when a vendor payment is created in Zoho Books. |
| 20 | Vendor Payment Updated | `vendor_payment_updated` | An event is generated when a vendor payment is updated in Zoho Books. |
| No. | Display Name | API Name | Description |
|---|---|---|---|
| 1 | Sales Order Created | `sales_order_created` | An event is generated when a sales order is created in Zoho Commerce. |
| 2 | Sales Order Confirmed | `sales_order_confirmed` | An event is generated when a sales order is confirmed in Zoho Commerce. |
| 3 | Sales Order Cancelled | `sales_order_cancelled` | An event is generated when a sales order is cancelled in Zoho Commerce. |
| 4 | Sales Order Declined | `sales_order_declined` | An event is generated when a sales order is declined in Zoho Commerce. |
| 5 | Sales Order Shipped | `sales_order_shipped` | An event is generated when a sales order is shipped in Zoho Commerce. |
| 6 | Sales Order Delivered | `sales_order_delivered` | An event is generated when a sales order is delivered in Zoho Commerce. |
| No. | Display Name | API Name | Description |
|---|---|---|---|
| 1 | Lead Created | `lead_created` | An event is generated when a lead is created in Zoho CRM. |
| 2 | Lead Approved | `lead_approved` | An event is generated when a lead is approved in Zoho CRM. |
| 3 | Lead Converted | `lead_converted` | An event is generated when a lead is converted in Zoho CRM. |
| 4 | Lead Deleted | `lead_deleted` | An event is generated when a lead is deleted in Zoho CRM. |
| 5 | Lead Rejected | `lead_rejected` | An event is generated when a lead is rejected in Zoho CRM. |
| 6 | Lead Updated | `lead_updated` | An event is generated when a lead is updated in Zoho CRM. |
| 7 | Account Approved | `account_approved` | An event is generated when an account is approved in Zoho CRM. |
| 8 | Account Created | `account_created` | An event is generated when an account is created in Zoho CRM. |
| 9 | Account Deleted | `account_deleted` | An event is generated when an account is deleted in Zoho CRM. |
| 10 | Account Rejected | `account_rejected` | An event is generated when an account is rejected in Zoho CRM. |
| 11 | Account Updated | `account_updated` | An event is generated when an account is updated in Zoho CRM. |
| 12 | Contact Created | `contact_created` | An event is generated when a contact is created in Zoho CRM. |
| 13 | Contact Deleted | `contact_deleted` | An event is generated when a contact is deleted in Zoho CRM. |
| 14 | Contact Updated | `contact_updated` | An event is generated when a contact is updated in Zoho CRM. |
| 15 | Contacts Approved | `contact_approved` | An event is generated when a contact is approved in Zoho CRM. |
| 16 | Contacts Rejected | `contact_rejected` | An event is generated when a contact is rejected in Zoho CRM. |
| 17 | Deal Approved | `deal_approved` | An event is generated when a deal is approved in Zoho CRM. |
| 18 | Deal Created | `deal_created` | An event is generated when a deal is created in Zoho CRM. |
| 19 | Deal Deleted | `deal_deleted` | An event is generated when a deal is deleted in Zoho CRM. |
| 20 | Deal Rejected | `deal_rejected` | An event is generated when a deal is rejected in Zoho CRM. |
| 21 | Deal Updated | `deal_updated` | An event is generated when a deal is updated in Zoho CRM. |
| 22 | Product Created | `product_created` | An event is generated when a product is created in Zoho CRM. |
| 23 | Campaign Approved | `campaign_approved` | An event is generated when a campaign is approved in Zoho CRM. |
| 24 | Campaign Created | `campaign_created` | An event is generated when a campaign is created in Zoho CRM. |
| 25 | Campaign Deleted | `campaign_deleted` | An event is generated when a campaign is deleted in Zoho CRM. |
| 26 | Campaign Member Status Updated | `campaign_member_status` | An event is generated when a campaign member status is updated in Zoho CRM. |
| 27 | Campaign Rejected | `campaign_rejected` | An event is generated when a campaign is rejected in Zoho CRM. |
| 28 | Campaign Updated | `campaign_updated` | An event is generated when a campaign is updated in Zoho CRM. |
| 29 | Case Approved | `case_approved` | An event is generated when a case is approved in Zoho CRM. |
| 30 | Case Created | `case_created` | An event is generated when a case is created in Zoho CRM. |
| 31 | Case Deleted | `case_deleted` | An event is generated when a case is deleted in Zoho CRM. |
| 32 | Case Rejected | `case_rejected` | An event is generated when a case is rejected in Zoho CRM. |
| 33 | Case Updated | `case_updated` | An event is generated when a case is updated in Zoho CRM. |
| 34 | Product Approved | `product_approved` | An event is generated when a product is approved in Zoho CRM. |
| 35 | Product Deleted | `product_deleted` | An event is generated when a product is deleted in Zoho CRM. |
| 36 | Product Rejected | `product_rejected` | An event is generated when a product is rejected in Zoho CRM. |
| 37 | Product Updated | `product_updated` | An event is generated when a product is updated in Zoho CRM. |
| 38 | Solution Approved | `solution_approved` | An event is generated when a solution is approved in Zoho CRM. |
| 39 | Solution Created | `solution_created` | An event is generated when a solution is created in Zoho CRM. |
| 40 | Solution Deleted | `solution_deleted` | An event is generated when a solution is deleted in Zoho CRM. |
| 41 | Solution Rejected | `solution_rejected` | An event is generated when a solution is rejected in Zoho CRM. |
| 42 | Solution Updated | `solution_updated` | An event is generated when a solution is updated in Zoho CRM. |
| 43 | PriceBook Approved | `price_book_approved` | An event is generated when a price book is approved in Zoho CRM. |
| 44 | PriceBook Created | `price_book_created` | An event is generated when a price book is created in Zoho CRM. |
| 45 | PriceBook Deleted | `price_book_deleted` | An event is generated when a price book is deleted in Zoho CRM. |
| 46 | PriceBook Rejected | `price_book_rejected` | An event is generated when a price book is rejected in Zoho CRM. |
| 47 | PriceBook Updated | `price_book_updated` | An event is generated when a price book is updated in Zoho CRM. |
| 48 | Quote Approved | `quote_approved` | An event is generated when a quote is approved in Zoho CRM. |
| 49 | Quote Converted | `quote_converted` | An event is generated when a quote is converted in Zoho CRM. |
| 50 | Quote Created | `quote_created` | An event is generated when a quote is created in Zoho CRM. |
| 51 | Quote Deleted | `quote_deleted` | An event is generated when a quote is deleted in Zoho CRM. |
| 52 | Quote Rejected | `quote_rejected` | An event is generated when a quote is rejected in Zoho CRM. |
| 53 | Quote Updated | `quote_updated` | An event is generated when a quote is updated in Zoho CRM. |
| 54 | Vendor Approved | `vendor_approved` | An event is generated when a vendor is approved in Zoho CRM. |
| 55 | Vendor Created | `vendor_created` | An event is generated when a vendor is created in Zoho CRM. |
| 56 | Vendor Deleted | `vendor_deleted` | An event is generated when a vendor is deleted in Zoho CRM. |
| 57 | Vendor Rejected | `vendor_rejected` | An event is generated when a vendor is rejected in Zoho CRM. |
| 58 | Vendor Updated | `vendor_updated` | An event is generated when a vendor is updated in Zoho CRM. |
| 59 | Invoice Approved | `invoice_approved` | An event is generated when a invoice is approved in Zoho CRM. |
| 60 | Invoice Created | `invoice_created` | An event is generated when a invoice is created in Zoho CRM. |
| 61 | Invoice Deleted | `invoice_deleted` | An event is generated when a invoice is deleted in Zoho CRM. |
| 62 | Invoice Rejected | `invoice_rejected` | An event is generated when a invoice is rejected in Zoho CRM. |
| 63 | Invoice Updated | `invoice_updated` | An event is generated when a invoice is updated in Zoho CRM. |
| 64 | Note Approved | `note_approved` | An event is generated when a note is approved in Zoho CRM. |
| 65 | Note Created | `note_created` | An event is generated when a note is created in Zoho CRM. |
| 66 | Note Deleted | `note_deleted` | An event is generated when a note is deleted in Zoho CRM. |
| 67 | Note Rejected | `note_rejected` | An event is generated when a note is rejected in Zoho CRM. |
| 68 | Note Updated | `note_updated` | An event is generated when a note is updated in Zoho CRM. |
| 69 | PurchaseOrder Approved | `purchase_order_approved` | An event is generated when a purchase order is deleted in Zoho CRM. |
| 70 | PurchaseOrder Created | `purchase_order_created` | An event is generated when a purchase order is created in Zoho CRM. |
| 71 | PurchaseOrder Deleted | `purchase_order_deleted` | An event is generated when a purchase order is deleted in Zoho CRM. |
| 72 | PurchaseOrder Updated | `purchase_order_updated` | An event is generated when a purchase order is updated in Zoho CRM. |
| 73 | SalesOrder Approved | `sales_order_approved` | An event is generated when a sales order is approved in Zoho CRM. |
| 74 | SalesOrder Converted | `sales_order_converted` | An event is generated when a sales order is converted in Zoho CRM. |
| 75 | SalesOrder Created | `sales_order_created` | An event is generated when a sales order is created in Zoho CRM. |
| 76 | SalesOrder Deleted | `sales_order_deleted` | An event is generated when a sales order is deleted in Zoho CRM. |
| 77 | SalesOrder Rejected | `sales_order_rejected` | An event is generated when a sales order is rejected in Zoho CRM. |
| 78 | SalesOrder Updated | `sales_order_updated` | An event is generated when a sales order is updated in Zoho CRM. |
| 79 | Call Created | `call_created` | An event is generated when a call is created in Zoho CRM. |
| 80 | Call Deleted | `call_deleted` | An event is generated when a call is deleted in Zoho CRM. |
| 81 | Call Missed | `call_missed` | An event is generated when a call is missed in Zoho CRM. |
| 82 | Call Received | `call_received` | An event is generated whenever a call is received in Zoho CRM. |
| 83 | Call Updated | `call_updated` | An event is generated when a call is updated in Zoho CRM. |
| 84 | Email Bounced | `email_bounced` | An event is generated when an email is bounced in Zoho CRM. |
| 85 | Email Clicked | `email_clicked` | An event is generated when an email is clicked in Zoho CRM. |
| 86 | Email Opened | `email_opened` | An event is generated when an email is opened in Zoho CRM. |
| 87 | Email Received | `email_received` | An event is generated when an email is received in Zoho CRM. |
| 88 | Email Resubscribed | `email_resubscribed` | An event is generated when an email is resubscribed in Zoho CRM. |
| 89 | Email Sent | `email_sent` | An event is generated when an email is sent in Zoho CRM. |
| 90 | Email Unsubscribed | `email_unsubscribed` | An event is generated when an email is unsubscribed in Zoho CRM. |
| 91 | OutBound Call Unattended | `outbound_call_unattended` | An event is generated when an out bound call is unattended in Zoho CRM. |
| 92 | PurchaseOrder Rejected | `purchase_order_rejected` | An event is generated when a purchase order is rejected in Zoho CRM. |
| 93 | Meetings Approved | `event_approved` | An event is generated when a meeting is approved in Zoho CRM. |
| 94 | Meetings Created | `event_created` | An event is generated when a meeting is created in Zoho CRM. |
| 95 | Meetings Deleted | `event_deleted` | An event is generated when a meeting is deleted in Zoho CRM. |
| 96 | Meetings Rejected | `event_rejected` | An event is generated when a meeting is rejected in Zoho CRM. |
| 97 | Meetings Updated | `event_updated` | An event is generated when a meeting is updated in Zoho CRM. |
| 98 | Task Approved | `task_approved` | An event is generated when a task is approved in Zoho CRM. |
| 99 | Task Created | `task_created` | An event is generated when a task is created in Zoho CRM. |
| 100 | Task Deleted | `task_deleted` | An event is generated when a task is deleted in Zoho CRM. |
| 101 | Task Rejected | `task_rejected` | An event is generated when a task is rejected in Zoho CRM. |
| 102 | Task Updated | `task_updated` | An event is generated when a task is updated in Zoho CRM. |
| 103 | Webform Submitted | `webform_submitted` | An event is generated when a webform is updated in Zoho CRM. |
| No. | Display Name | API Name | Description |
|---|---|---|---|
| 1 | Trips Created | `trips_created` | An event is generated when a trip is created in Zoho Expense. |
| 2 | Trips Deleted | `trips_deleted` | An event is generated when a trip is deleted in Zoho Expense. |
| 3 | Trips Edited | `trips_edited` | An event is generated when a trip is edited in Zoho Expense. |
| 4 | Trips Submitted | `trips_submitted` | An event is generated when a trip is submitted in Zoho Expense. |
| 5 | Trips Approved | `trips_approved` | An event is generated when a trip is approved in Zoho Expense. |
| 6 | Trips Closed | `trips_closed` | An event is generated when a trip is closed in Zoho Expense. |
| 7 | Trips Recalled | `trips_recalled` | An event is generated when a trip is recalled in Zoho Expense. |
| 8 | Trips Rejected | `trips_rejected` | An event is generated when a trip is rejected in Zoho Expense. |
| 9 | Trips Cancelled | `trips_cancelled` | An event is generated when a trip is cancelled in Zoho Expense. |
| 10 | Trips Trip Option Approved | `trips_trip_option_approved` | An event is generated when a trip option is approved for a trip in Zoho Expense. |
| 11 | Trips Trip Option Selected | `trips_trip_option_selected` | An event is generated when a trip option is selected within a trip in Zoho Expense. |
| 12 | Trips Trip Option_Added | `trips_trip_option_added` | An event is generated when a trip option is added to a trip in Zoho Expense. |
| 13 | Trips Itinerary Rescheduled | `trips_itinerary_rescheduled` | An event is generated when the itinerary of a trip is rescheduled in Zoho Expense. |
| 14 | Trips More Option Requested | `trips_more_option_requested` | An event is generated when the more option for trips is requested in Zoho Expense. |
| 15 | Trips Trip Option Cancelled | `trips_trip_option_cancelled` | An event is generated when a trip option is cancelled for a trip in Zoho Expense. |
| 16 | Trips Trip Option Rejected | `trips_trip_option_rejected` | An event is generated when a trip option is rejected for a trip in Zoho Expense. |
| 17 | Reports Created | `reports_created` | An event is generated when a report is created in Zoho Expense. |
| 18 | Reports Edited | `reports_edited` | An event is generated when a report is edited in Zoho Expense. |
| 19 | Trips Itinerary Cancelled | `trips_itinerary_cancelled` | An event is generated when the itinerary of a trip is cancelled in Zoho Expense. |
| 20 | Trips Rescheduled | `trips_rescheduled` | An event is generated when a trip is rescheduled in Zoho Expense. |
| 21 | Reports Approved | `reports_approved` | An event is generated when a report is approved in Zoho Expense. |
| 22 | Reports Deleted | `reports_deleted` | An event is generated when a report is deleted in Zoho Expense. |
| 23 | Reports Submitted | `reports_submitted` | An event is generated when a report is submitted in Zoho Expense. |
| 24 | Reports Recalled | `reports_recalled` | An event is generated when a report is recalled in Zoho Expense. |
| 25 | Reports Reimbursed | `reports_reimbursed` | An event is generated when a report is reimbursed in Zoho Expense. |
| 26 | Reports Rejected | `reports_rejected` | An event is generated when a report is rejected in Zoho Expense. |
| 27 | Advances Created | `advances_created` | An event is generated when an advance is created in Zoho Expense. |
| 28 | Advances Deleted | `advances_deleted` | An event is generated when an advance is deleted in Zoho Expense. |
| 29 | Advances Edited | `advances_edited` | An event is generated when an advance is edited in Zoho Expense. |
| 30 | Reports Reimbursement Cancelled | `reports_reimbursement_cancelled` | An event is generated when the reimbursement for a report is cancelled in Zoho Expense. |
| 31 | Advance Refunds Created | `advance_refunds_created` | An event is generated when an advance refund is created in Zoho Expense. |
| 32 | Advance Refunds Deleted | `advance_refunds_deleted` | An event is generated when an advance refund is deleted in Zoho Expense. |
| 33 | Advance Refunds Edited | `advance_refunds_edited` | An event is generated when an advance refund is edited in Zoho Expense. |
| 34 | Advances Paid | `advances_paid` | An event is generated when an advance is paid in Zoho Expense. |
| 35 | Advances Rejected | `advances_rejected` | An event is generated when an advance is approved in Zoho Expense. |
| No. | Display Name | API Name | Description |
|---|---|---|---|
| 1 | Item Created | `item_created` | An event is generated when an item is created in Zoho Inventory. |
| 2 | Item Updated | `item_updated` | An event is generated when an item is updated in Zoho Inventory. |
| 3 | Adjustment Created | `adjustments_created` | An event is generated when an inventory adjustment is created in Zoho Inventory. |
| 4 | Adjustment Deleted | `adjustments_deleted` | An event is generated when an inventory adjustment is deleted in Zoho Inventory. |
| 5 | Adjustment Updated | `adjustments_updated` | An event is generated when an inventory adjustment is updated in Zoho Inventory. |
| 6 | Customer Created | `customer_created` | A event is generated when a customer is created in Zoho Inventory. |
| 7 | Customer Deleted | `customer_deleted` | An event is generated when a customer is deleted in Zoho Inventory. |
| 8 | Customer Updated | `customer_updated` | An event is generated when a customer is updated in Zoho Inventory. |
| 9 | Item Deleted | `item_deleted` | An event is generated when an item is deleted in Zoho Inventory. |
| 10 | Invoice Created | `invoice_created` | An event is generated when an invoice is created in Zoho Inventory. |
| 11 | Sales Order Created | `sales_order_created` | An event is generated when a sales order is created in Zoho Inventory. |
| 12 | Sales Order Deleted | `sales_order_deleted` | An event is generated when a sales order is deleted in Zoho Inventory. |
| 13 | Sales Order Updated | `sales_order_updated` | An event is generated when a sales order is updated in Zoho Inventory. |
| 14 | Credit Note Created | `credit_note_created` | An event is generated when a credit note is created in Zoho Inventory. |
| 15 | Invoice Deleted | `invoice_deleted` | An event is generated when an invoice is deleted in Zoho Inventory. |
| 16 | Invoice Updated | `invoice_updated` | An event is generated when an invoice is updated in Zoho Inventory. |
| 17 | Credit Note Deleted | `credit_note_deleted` | An event is generated when a credit note is deleted in Zoho Inventory. |
| 18 | Credit Note Updated | `credit_note_updated` | An event is generated when a credit note is updated in Zoho Inventory. |
| 19 | Delivery Challan Created | `delivery_challan_created` | An event is generated when a delivery challan is created in Zoho Inventory. |
| 20 | Delivery Challan Deleted | `delivery_challan_deleted` | An event is generated when a delivery challan is deleted in Zoho Inventory. |
| 21 | Delivery Challan Updated | `delivery_challan_updated` | An event is generated when a delivery challan is updated in Zoho Inventory. |
| 22 | Bill Created | `bill_created` | An event is generated when a bill is created in Zoho Inventory. |
| 23 | Purchase Order Created | `purchase_order_created` | An event is generated when a purchase order is created in Zoho Inventory. |
| 24 | Purchase Order Deleted | `purchase_order_deleted` | An event is generated when a purchase order is deleted in Zoho Inventory. |
| 25 | Purchase Order Updated | `purchase_order_updated` | An event is generated when a purchase order is updated in Zoho Inventory. |
| 26 | Sales Returns Created | `sales_returns_created` | An event is generated when a sales return is created in Zoho Inventory. |
| 27 | Sales Returns Deleted | `sales_returns_deleted` | An event is generated when a sales return is deleted in Zoho Inventory. |
| 28 | Sales Returns Updated | `sales_returns_updated` | An event is generated when a sales return is updated in Zoho Inventory. |
| 29 | Bill Deleted | `bill_deleted` | An event is generated when a bill is deleted in Zoho Inventory. |
| 30 | Bill Updated | `bill_updated` | An event is generated when a bill is updated in Zoho Inventory. |
| 31 | Transfer Order Created | `transfer_order_created` | An event is generated when a transfer order is created in Zoho Inventory. |
| 32 | Transfer Order Updated | `transfer_order_updated` | An event is generated when a transfer order is updated in Zoho Inventory. |
| 33 | Vendor Credits Created | `vendor_credits_created` | An event is generated when a vendor credit is created in Zoho Inventory. |
| 34 | Vendor Credits Deleted | `vendor_credits_deleted` | An event is generated when a vendor credit is deleted in Zoho Inventory. |
| 35 | Vendor Credits Updated | `vendor_credits_updated` | An event is generated when a vendor credit is updated in Zoho Inventory. |
| 36 | Transfer Order Deleted | `transfer_order_deleted` | An event is generated when a transfer order is deleted in Zoho Inventory. |
| No. | Display Name | API Name | Description |
|---|---|---|---|
| 1 | Estimate Created | `estimate_created` | An event is generated when an estimate is created in Zoho Invoice. |
| 2 | Estimate Updated | `estimate_updated` | An event is generated when an estimate is updated in Zoho Invoice. |
| 3 | Invoice Created | `invoice_created` | An event is generated when an invoice is created in Zoho Invoice. |
| 4 | Invoice Updated | `invoice_updated` | An event is generated when an invoice is updated in Zoho Invoice. |
| 5 | Customer Created | `customer_created` | An event is generated when a customer is created in Zoho Invoice. |
| 6 | Customer Updated | `customer_updated` | An event is generated when a customer is updated in Zoho Invoice. |
| 7 | Payment Received | `payment_received` | An event is generated when a payment is received in Zoho Invoice. |
| 8 | Payment Updated | `payment_updated` | An event is generated when a payment is updated in Zoho Invoice. |
| No. | Display Name | API Name | Description |
|---|---|---|---|
| 1 | Response Completed | `response_completed` | An event is generated when a response is completed in Zoho Survey. |
| 2 | Response Created | `response_created` | An event is generated when a response is created in Zoho Survey. |
| No. | Display Name | API Name | Description |
|---|---|---|---|
| 1 | Meeting Created | `meeting_created` | An event is generated when a meeting is created in Zoho Meetings. |
| 2 | Meeting Canceled | `meeting_canceled` | An event is generated when a meeting is canceled in Zoho Meetings. |
| 3 | Meeting Updated | `meeting_updated` | An event is generated when a meeting is updated in Zoho Meetings. |
| 4 | Meeting Ended | `meeting_ended` | An event is generated when a meeting is ended in Zoho Meetings. |
| 5 | Meeting Started | `meeting_started` | An event is generated when a meeting is started in Zoho Meetings. |
| 6 | Webinar Created | `webinar_created` | An event is generated when a webinar is created in Zoho Meetings. |
| 7 | Webinar Canceled | `webinar_canceled` | An event is generated when a webinar is canceled in Zoho Meetings. |
| 8 | Webinar Updated | `webinar_updated` | An event is generated when a webinar is updated in Zoho Meetings. |
| 9 | Webinar Ended | `webinar_ended` | An event is generated when a webinar is ended in Zoho Meetings. |
| 10 | Webinar Started | `webinar_started` | An event is generated when a webinar is started in Zoho Meetings. |
| 11 | Webinar Member Joined | `webinar_member_joined` | An event is generated when a member joins a webinar in Zoho Meetings. |
| 12 | Webinar Registered | `webinar_registered` | An event is generated when a webinar is registered in Zoho Meetings. |
| 13 | Webinar Member Removed | `webinar_member_removed` | An event is generated when a member is removed from the webinar in Zoho Meetings. |
| No. | Display Name | API Name | Description |
|---|---|---|---|
| 1 | Outbound Session Started | `outbound_session_start` | An event is generated when an outbound session starts in Zoho Assist. |
| 2 | ScreenShare Session Started | `session_start_ss` | An event is generated when a screen-share session starts in Zoho Assist. |
| 3 | RemoteSupport Session Ended | `session_end_rs` | An event is generated when a remote-support session ends in Zoho Assist. |
| 4 | ScreenShare Session Ended | `ssession_end_ss` | An event is generated when a screen-share session ends in Zoho Assist. |
| 5 | RemoteSupport Customer Joined | `customer_join_rs` | An event is generated when a customer joins a remote-support session in Zoho Assist. |
| 6 | Inbound Request Created | `inbound_request_create` | An event is generated when an inbound request is created in Zoho Assist. |
| 7 | Inbound Request Transferred | `inbound_request_transfer` | An event is generated when an inbound request is transferred in Zoho Assist. |
| 8 | Inbound Request Delegated | `inbound_request_delegate` | An event is generated when an inbound request is delegated in Zoho Assist. |
| 9 | Inbound Request Picked | `inbound_request_picked` | An event is generated when an inbound request is picked in Zoho Assist. |
| 10 | Inbound Request Declined | `inbound_request_declined` | An event is generated when an inbound request is declined in Zoho Assist. |
| 11 | Inbound Request Dropped | `inbound_request_dropped` | An event is generated when an inbound request is dropped in Zoho Assist. |
| 12 | Inbound Request Expired | `inbound_request_expired` | An event is generated when an inbound request is expired in Zoho Assist. |
| 13 | Device Added | `device_add` | An event is generated when a device is added in Zoho Assist. |
| 14 | Device Online | `device_online` | An event is generated when a device goes online in Zoho Assist. |
| 15 | Device Offline | `device_offline` | An event is generated when a device goes offline in Zoho Assist. |
| 16 | Device Deleted | `device_delete` | An event is generated when a device is deleted in Zoho Assist. |
| 17 | Unattended Access Session Started | `session_start_urs` | An event is generated when an unattended-access session starts in Zoho Assist. |
| 18 | Unattended Access Session Ended | `session_end_urs` | An event is generated when an unattended-access session ends in Zoho Assist. |
| No. | Display Name | API Name | Description |
|---|---|---|---|
| 1 | Contact Subscribed | `contact_subscribed` | An event is generated when a contact subscribes to Zoho Campaigns. |
| 2 | Contact Unsubscribed | `contact_unsubscribed` | An event is generated when a contact unsubscribes from Zoho Campaigns. |
| 3 | Email Sent | `email_sent` | An event is generated when an email is sent using Zoho Campaigns. |
| 4 | Email Opened | `email_opened` | An event is generated when an email is opened in Zoho Campaigns. |
| 5 | Email Clicked | `email_clicked` | An event is generated when an email is accessed in Zoho Campaigns. |
| 6 | Email Replied | `email_replied` | An event is generated when an email is replied to from Zoho Campaigns. |
| 7 | Email Bounced | `email_bounced` | An event is generated when an email gets bounced in Zoho Campaigns. |
| 8 | Subscription Preference Updated | `subscription_preference_updated` | An event is generated when a contact updates their subscription preference in Zoho Campaigns. |
| 9 | Field Updated | `field_updated` | An event is generated when a contact's field is updated in Zoho Campaigns. |
| 10 | List Updated | `list_updated` | An event is generated when a list is updated in Zoho Campaigns. |
| 11 | Tag Updated | `tag_updated` | An event is generated when a contact's tag is updated in Zoho Campaigns. |
| 12 | Score Updated | `score_updated` | An event is generated when a contact's score is updated in Zoho Campaigns. |
| No. | Display Name | API Name | Description |
|---|---|---|---|
| 1 | Contact Subscribed | `contact_subscribed` | An event is generated when a contact subscribes to Zoho Marketing Automation. |
| 2 | Contact Unsubscribed | `contact_unsubscribed` | An event is generated when a contact unsubscribes from Zoho Marketing Automation. |
| 3 | Email Sent | `email_sent` | An event is generated when an email is sent using Zoho Marketing Automation. |
| 4 | Email Opened | `email_opened` | An event is generated when an email is opened in Zoho Marketing Automation. |
| 5 | Email Clicked | `email_clicked` | An event is generated when an email is accessed in Zoho Marketing Automation. |
| 6 | Email Replied | `email_replied` | An event is generated when an email is replied to from Zoho Marketing Automation. |
| 7 | Email Bounced | `email_bounced` | An event is generated when an email gets bounced in Zoho Marketing Automation. |
| 8 | Subscription Preference Updated | `subscription_preference_updated` | An event is generated when a contact updates their subscription preference in Zoho Marketing Automation. |
| 9 | Field Updated | `field_updated` | An event is generated when a contact's field is updated in Zoho Marketing Automation. |
| 10 | List Updated | `list_updated` | An event is generated when a list is updated in Zoho Marketing Automation. |
| 11 | Tag Updated | `tag_updated` | An event is generated when a contact's tag is updated in Zoho Marketing Automation. |
| 12 | Score Updated | `score_updated` | An event is generated when a contact's score is updated in Zoho Marketing Automation. |
| 13 | Stage Updated | `stage_updated` | An event is generated when a contact's stage is updated in Zoho Marketing Automation. |
| No. | Display Name | API Name | Description |
|---|---|---|---|
| 1 | Project Create | `project_create` | An event is generated when a project is created in Zoho Sprints. |
| 2 | Project Update | `project_update` | An event is generated when a project is updated in Zoho Sprints. |
| 3 | Project Delete | `project_delete` | An event is generated when a project is deleted in Zoho Sprints. |
| 4 | Project Archive | `project_archived` | An event is generated when a project is archived in Zoho Sprints. |
| 5 | Sprint Create | `sprint_create` | An event is generated when a sprint is created in Zoho Sprints. |
| 6 | Sprint Update | `sprint_update` | An event is generated when a sprint is updated in Zoho Sprints. |
| 7 | Sprint Delete | `sprint_delete` | An event is generated when a sprint is deleted in Zoho Sprints. |
| 8 | Sprint Start | `sprint_start` | An event is generated when a sprint gets started in Zoho Sprints. |
| 9 | Sprint Complete | `sprint_complete` | An event is generated when a sprint is completed in Zoho Sprints. |
| 10 | Sprint Cancel | `sprint_canceled` | An event is generated when a sprint is cancelled in Zoho Sprints. |
| 11 | Epic Create | `epic_create` | An event is generated when a epic is created in Zoho Sprints. |
| 12 | Epic Update | `epic_update` | An event is generated when a epic is updated in Zoho Sprints. |
| 13 | Epic Delete | `epic_delete` | An event is generated when a epic is deleted in Zoho Sprints. |
| 14 | Item Create | `item_create` | An event is generated when an item is created in Zoho Sprints. |
| 15 | Item Update | `item_update` | An event is generated when an item is updated in Zoho Sprints. |
| 16 | Item Delete | `item_delete` | An event is generated when an item is deleted in Zoho Sprints. |
| 17 | Item Reopen | `item_reopen` | An event is generated when an item is reopened in Zoho Sprints. |
| 18 | Item Complete | `item_complete` | An event is generated when an item is completed in Zoho Sprints. |
| 19 | Release Create | `release_create` | An event is generated when a release is created in Zoho Sprints. |
| 20 | Release Update | `release_update` | An event is generated when a release is updated in Zoho Sprints. |
| 21 | Release Delete | `release_delete` | An event is generated when a release is deleted in Zoho Sprints. |
| 22 | Meeting Create | `meeting_create` | An event is generated when a meeting is created in Zoho Sprints. |
| 23 | Meeting Update | `meeting_update` | An event is generated when a meeting is updated in Zoho Sprints. |
| 24 | Meeting Delete | `meeting_delete` | An event is generated when a meeting is deleted in Zoho Sprints. |
| 25 | Meeting Start | `meeting_start` | An event is generated when a meeting is started in Zoho Sprints. |
| 26 | Workspace User Create | `user_team_create` | An event is generated when a workspace user is created in Zoho Sprints. |
| 27 | Workspace User Delete | `user_team_delete` | An event is generated when a workspace user is deleted in Zoho Sprints. |
| 28 | Project User Create | `user_project_create` | An event is generated when a project user is created in Zoho Sprints. |
| 29 | Project User Delete | `user_project_delete` | An event is generated when a project user is deleted in Zoho Sprints. |
| 30 | Log Hour Create | `loghour_create` | An event is generated when a log hour is created in Zoho Sprints. |
| 31 | Log Hour Update | `loghour_update` | An event is generated when a log hour is updated in Zoho Sprints. |
| 32 | Log Hour Delete | `loghour_delete` | An event is generated when a log hour is deleted in Zoho Sprints. |
| 33 | Sprint Comment Create | `sprint_notes_create` | An event is generated when a sprint comment is created in Zoho Sprints. |
| 34 | Sprint Comment Update | `sprint_notes_update` | An event is generated when a sprint comment is updated in Zoho Sprints. |
| 35 | Sprint Comment Delete | `sprint_notes_delete` | An event is generated when a sprint comment is deleted in Zoho Sprints. |
| 36 | Item Comment Create | `item_notes_create` | An event is generated when a item comment is created in Zoho Sprints. |
| 37 | Item Comment Update | `item_notes_update` | An event is generated when a item comment is updated in Zoho Sprints. |
| 38 | Item Comment Delete | `item_notes_delete` | An event is generated when a item comment is deleted in Zoho Sprints. |
| 39 | Meeting Comment Create | `meeting_notes_create` | An event is generated when a meeting comment is created in Zoho Sprints. |
| 40 | Meeting Comment Update | `meeting_notes_update` | An event is generated when a meeting comment is updated in Zoho Sprints. |
| 41 | Meeting Comment Delete | `meeting_notes_delete` | An event is generated when a meeting comment is deleted in Zoho Sprints. |
| No. | Display Name | API Name | Description |
|---|---|---|---|
| 1 | Ticket Created | `ticket_created` | An event is generated when a new ticket is created in Zoho Desk. |
| 2 | Ticket Updated | `ticket_updated` | An event is generated when a ticket is updated in Zoho Desk. |
| 3 | Ticket Status Changed | `ticket_status_changed` | An event is generated when a ticket status is changed in Zoho Desk. |
| 4 | Ticket Priority Changed | `ticket_priority_changed` | An event is generated when a ticket priority is changed in Zoho Desk. |
| 5 | Ticket Overdue | `ticket_overdue` | An event is generated when a ticket crosses overdue in Zoho Desk. |
| 6 | Ticket Escalated | `ticket_escalated` | An event is generated when a ticket is escalated in Zoho Desk. |
| 7 | Contact Created | `contact_created` | An event is generated when a new contact is created in Zoho Desk. |
| 8 | Contact Updated | `contact_updated` | An event is generated when a contact is updated in Zoho Desk. |
| 9 | Account Created | `account_created` | An event is generated when a new account is created in Zoho Desk. |
| 10 | Account Updated | `account_updated` | An event is generated when an account is updated in Zoho Desk. |
| 11 | Comment Added | `comment_added` | An event is generated when a new comment is added in Zoho Desk. |
| 12 | Comment Updated | `comment_updated` | An event is generated when a comment is updated in Zoho Desk. |
| 13 | Response Received | `response_received` | An event is generated when a new response is received in Zoho Desk. |
| 14 | Rating Added | `rating_added` | An event is generated when a new rating is added in Zoho Desk. |
| 15 | Ticket Deleted | `ticket_deleted` | An event is generated when a ticket is deleted in Zoho Desk. |
| 16 | Contact Deleted | `contact_deleted` | An event is generated when a contact is deleted in Zoho Desk. |
| 17 | Ticket Approval Added | `ticket_approval_added` | An event is generated when an approval request is created for a ticket in Zoho Desk. |
| 18 | Ticket Approval Updated | `ticket_approval_updated` | An event is generated when a ticket's approval request is updated in Zoho Desk. |
| 19 | Account Deleted | `account_deleted` | An event is generated when an account is deleted in Zoho Desk. |
| 20 | Department Added | `department_added` | An event is generated when a department is added in Zoho Desk. |
| 21 | Department Updated | `department_updated` | An event is generated when a department is updated in Zoho Desk. |
| 22 | Agent Added | `agent_added` | An event is generated when an agent is added in Zoho Desk. |
| 23 | Agent Deleted | `agent_deleted` | An event is generated when an agent is deleted in Zoho Desk. |
| 24 | Agent Updated | `agent_updated` | An event is generated when an agent is updated in Zoho Desk. |
| 25 | Agent Channel Preference Updated | `agent_channel_preference_updated` | An event is generated when an agent manually changes his channel preference in Zoho Desk. |
| 26 | Agent Presence Updated | `agent_presence_updated` | An event is generated when an agent comes online or goes offline in Zoho Desk. |
| 27 | Ticket Attachment Added | `ticket_attachment_added` | An event is generated when a sub-tab attachment is added to a ticket in Zoho Desk. |
| 28 | Ticket Attachment Updated | `ticket_attachment_updated` | An event is generated when a sub-tab attachment of a ticket is updated in Zoho Desk. |
| 29 | Task Added | `task_added` | An event is generated when a task is added in Zoho Desk. |
| 30 | Task Deleted | `task_deleted` | An event is generated when a task is deleted in Zoho Desk. |
| 31 | Task Updated | `task_updated` | An event is generated when a task is updated in Zoho Desk. |
| 32 | Ticket Attachment Deleted | `ticket_attachment_deleted` | An event is generated when a sub-tab attachment of a ticket is deleted in Zoho Desk. |
| 33 | Call Added | `call_added` | An event is generated when a call is added in Zoho Desk. |
| 34 | Call Deleted | `call_deleted` | An event is generated when a call activity is deleted in Zoho Desk. |
| 35 | Call Updated | `call_updated` | An event is generated when a call is updated in Zoho Desk. |
| 36 | Event Added | `event_added` | An event is generated when an event is added in Zoho Desk. |
| 37 | Event Deleted | `event_deleted` | An event is generated when an event is deleted in Zoho Desk. |
| 38 | Event Updated | `event_updated` | An event is generated when an event is updated in Zoho Desk. |
| 39 | Time Entry Added | `time_entry_added` | An event is generated when a time entry is added in Zoho Desk. |
| 40 | Article Added | `article_added` | An event is generated when an article is created in Zoho Desk. |
| 41 | Time Entry Deleted | `time_entry_deleted` | An event is generated when a time entry is deleted in Zoho Desk. |
| 42 | Time Entry Updated | `time_entry_updated` | An event is generated when a time entry is updated in Zoho Desk. |
| 43 | Article Updated | `article_updated` | An event is generated when an article is updated in Zoho Desk. |
| 44 | Article Deleted | `article_deleted` | An event is generated when an article is deleted in Zoho Desk. |
| 45 | Article Translation Added | `article_translation_added` | An event is generated when a translation of an article is created in Zoho Desk. |
| 46 | Article Translation Updated | `article_translation_updated` | An event is generated when an article or a translation of an article is updated in Zoho Desk. |
| 47 | Article Feedback Added | `article_feedback_added` | An event is generated when a feedback is added to the translation of an article in Zoho Desk. |
| 48 | Article Translation Deleted | `article_translation_deleted` | An event is generated when a translation of an article is deleted in Zoho Desk. |
| 49 | Knowledge Base Category Added | `kb_category_added` | An event is generated when a root category is added in a Knowledge Base in Zoho Desk. |
| 50 | Knowledge Base Category Updated | `kb_category_updated` | An event is generated when a root category is updated in a Knowledge Base in Zoho Desk. |
| 51 | Knowledge Base Category Deleted | `kb_category_deleted` | An event is generated when a root category is deleted in a Knowledge Base in Zoho Desk. |
| 52 | Knowledge Base Section Added | `kb_section_added` | An event is generated when a section is added in a Knowledge Base in Zoho Desk. |
| 53 | Knowledge Base Section Updated | `kb_section_updated` | An event is generated when a section is updated in a Knowledge Base in Zoho Desk. |
| 54 | IM Message Added | `im_message_added` | An event is generated when an incoming and outgoing IM message is received in Zoho Desk. |
| 55 | Knowledge Base Section Deleted | `kb_section_deleted` | An event is generated when a section is deleted in a Knowledge Base in Zoho Desk. |
| No. | Display Name | API Name | Description |
|---|---|---|---|
| 1 | Conversation Missed | `conversation_missed` | An event is generated when a conversation is missed in Zoho SalesIQ. |
| 2 | Conversation Completed | `conversation_completed` | An event is generated when a conversation is completed in Zoho SalesIQ. |
| 3 | Conversation Rated | `conversation_rated` | An event is generated when a conversation is rated in Zoho SalesIQ. |
| 4 | Conversation Visitor Replied | `conversation_visitor_replied` | An event is generated when a visitor of a conversation replied in Zoho SalesIQ. |
| 5 | Conversation Created | `conversation_created` | An event is generated when a conversation is created in Zoho SalesIQ. |
| 6 | Conversation Attender Updated | `conversation_attender_updated` | An event is generated when operators pick up a chat in Zoho SalesIQ. |
| 7 | Conversation Operator Replied | `conversation_operator_replied` | An event is generated when an operator replies to the chat initiated by the visitor in Zoho SalesIQ. |
| 8 | Conversation Transfer Initiated | `conversation_transfer_initiated` | An event is generated when a conversation transfer is initiated in Zoho SalesIQ. |
| 9 | Conversation Transfer Accepted | `conversation_transfer_accepted` | An event is generated when a transferred chat is accepted by the operator in Zoho SalesIQ. |
| 10 | Conversation Transfer Rejected | `conversation_transfer_rejected` | An event is generated when a transferred chat is rejected by the operator in Zoho SalesIQ. |
| 11 | Participants Added | `participants_added` | An event is generated when participants are invited to a conversation in Zoho SalesIQ. |
| 12 | Participants Deleted | `participants_deleted` | An event is generated when a participant is removed from a conversation in Zoho SalesIQ. |
| 13 | Conversation Supervisor Added | `conversation_supervisor_added` | An event is generated when a supervisor is added to a conversation in Zoho SalesIQ. |
| 14 | Message Edited | `message_edited` | An event is generated when a message is edited in a chat in Zoho SalesIQ. |
| 15 | Message Deleted | `message_deleted` | An event is generated when a message is deleted in a chat in Zoho SalesIQ. |
| 16 | Conversation Metrics Generated | `conversation_metrics_generated` | An event is generated with a conversation's metrics/metadata as soon as the conversation concludes in Zoho SalesIQ. |
| 17 | Department Created | `department_created` | An event is generated when a department is created in Zoho SalesIQ. |
| 18 | Department Updated | `department_updated` | An event is generated when a department is updated in Zoho SalesIQ. |
| 19 | Department Deleted | `department_deleted` | An event is generated when a department is deleted in Zoho SalesIQ. |
| 20 | Operator Created | `operator_created` | An event is generated when an operator is added in Zoho SalesIQ. |
| 21 | Operator Updated | `operator_updated` | An event is generated when an operator's setting is modified in Zoho SalesIQ. |
| 22 | Operator Deleted | `operator_deleted` | An event is generated when an operator is removed in Zoho SalesIQ. |
| 23 | Operator Associated | `operator_associated` | An event is generated when an operator is associated with a department in Zoho SalesIQ. |
| 24 | Operator Dissociated | `operator_dissociated` | An event is generated when an operator is removed from a department in Zoho SalesIQ. |
| 25 | Visitor Updated | `visitor_updated` | An event is generated when a visitor is updated in Zoho SalesIQ. |
| No. | Display Name | API Name | Description |
|---|---|---|---|
| 1 | Ticket Purchased | `ticket_purchased` | An event is generated when a ticket is purchased in Zoho Backstage. |
| 2 | Ticket Cancelled | `ticket_cancelled` | An event is generated when a ticket is cancelled in Zoho Backstage. |
| 3 | Attendee CheckedIn | `attendee_checkedin` | An event is generated when an attendee checks-in to Zoho Backstage. |
| 4 | Event Order Created | `event_order_created` | An event is generated when an event order is created in Zoho Backstage. |
| 5 | Event Order Cancelled | `event_order_cancelled` | An event is generated when an event order is cancelled in Zoho Backstage. |
| Data Type | Supported Comparators |
|---|---|
| `String` | is, isn't, contains, doesn\'t contain, starts with, ends with, is empty, is not empty |
| `Integer, Number` | = (equals), != (not equals), < (less than), <= (lesser than or equals), > (greater than), >= (greater than or equals), between, not between, is empty, is not empty |
| `Boolean` | is, isn't |
| `DateTime, Date` | is, isn't, is before, is after, between, not between, is empty, is not empty, Today, Tomorrow, Tomorrow Onwards, Yesterday, Till Yesterday, Last Month, Current Month, Next Month, Last Week, Current Week, Next Week |
| Target Type | Queue Dispatch | Batch Dispatch |
|---|---|---|
| `Webhooks` | 5 seconds | 15 seconds |
| `Circuits` | 5 seconds | 15 seconds |
| `Functions` | 15 minutes | 15 minutes |
| `Data Streams` | 5 seconds | 15 seconds |
| HTTP Status Code | Error Code | Description |
|---|---|---|
| 403 | `API_LIMIT_REACHED` | You have reached the upper limits for API calls in your account. Upgrade your license plan. |
| 409 | `CONFLICT` | Contradicts with the existing value. Try giving another value. |
| 409 | `DUPLICATE_ENTRY` | The email ID you have entered already exists. Please provide a different email ID. |
| 409 | `DUPLICATE_ENTRY` | The domain name already exists. Please provide a different value. |
| 409 | `DUPLICATE_OPERATION` | The requested operation is already under progress. Please wait until it is completed. |
| 409 | `DUPLICATE_VALUE` | The value you have entered already exists. Please provide a different value. |
| 500 | `EMAIL_ERROR` | Email sending process failed. Try again after some time. |
| 410 | `EXPIRED` | The requested resource has expired. Please try creating it again. |
| 410 | `EXPIRED_LOG` | The response log you are trying to download is expired. |
| 202 | `FUNCTION_ERROR` | Encountered an internal server error. |
| 500 | `INTERNAL_SERVER_ERROR` | Encountered an internal server error. |
| 403 | `INVALID_CONTENT` | The given input is not in an acceptable format. |
| 404 | `INVALID_ID` | The resource ID you have provided does not exist. |
| 400 | `INVALID_INPUT` | The table name you have provided does not exist. |
| 400 | `INVALID_INPUT` | The column name you have provided does not exist. |
| 400 | `INVALID_INPUT` | The foreign key you have provided doesn't match with the ROWID of the parent table. |
| 400 | `INVALID_INPUT` | The input you have provided is not valid. |
| 404 | `INVALID_NAME` | The email ID you have provided does not exist. |
| 404 | `INVALID_NAME` | The table name you have provided does not exist. |
| 403 | `INVALID_OPERATION` | The requested operation is invalid. |
| 405 | `INVALID_REQUEST_METHOD` | The requested method is not accepted. |
| 400 | `MISMATCH` | The value provided does not match with the expected one. |
| 400 | `MISSING_FUNCTION` | The function ID you have provided does not exists. |
| 400 | `MISSING_VALUE` | The expected input is missing. |
| 401 | `NO_ACCESS` | You don't have privileges to perform this action |
| 204 | `NO_CONTENT_AVAILABLE` | The request returned an empty response. |
| 401 | `UNAUTHORISED` | You are not authorized to perform this action. |
| 403 | `VERIFICATION_NEEDED` | Your email address needs to be verified. |
| 400 | `ZCQL_QUERY_ERROR` | The format of your query is invalid. |
| 429 | `TOO_MANY_REQUESTS` | Concurrency or throttling limits reached for function, web client, or a Catalyst component execution. |
| Key Words | Description |
|---|---|
| Protected Resource | A Catalyst resource such as Cache, Cron, Table, or Folder |
| Resource Server | The Catalyst server that hosts the Catalyst protected resources |
| Client | An application that sends requests to the resource server to access the protected resources on behalf of the end-user |
| `client_id` | The unique key generated for a registered client |
| `client_secret` | The secret value generated for a specific registered client's `client_id`. When you register your Catalyst application in the Zoho API Console, a `client_id` and `client_secret` will be generated for it. |
| Authentication Server | The Catalyst authorization server that provides the necessary credentials to a client, such as the `access_token`or `refresh_token` |
| Grant Token or `code` | Catalyst authorization server generates a temporary token and sends it to the client via the browser. The client will send this code back to the authorization server to obtain the access and refresh tokens. |
| `access_token` | A temporary token that is sent to the resource server to access the protected resources of the user. Clients use the `access_token` to make requests to the associated application using the APIs. Each `access_token` will be valid for a set time period and can only be used to perform operations described in the scope. |
| `refresh_token` | A token that can be used to obtain new access tokens. This token has an unlimited lifetime until it is revoked by the end-user. |
| Scopes | Scopes control the type of resources that the client application can access. Each token is usually created with selected scopes for better security. For example, you can generate an `access_token` with a scope to only read the data in the Data Store.The standard format to define a scope is `scope=service_name.scope_name.operation_type`. The next section lists the scopes available in Catalyst. |
| Scope Name | Available Scopes |
|---|---|
| `projects` | ZohoCatalyst.projects.ALL, ZohoCatalyst.project.export.READ, ZohoCatalyst.project.export.CREATE, ZohoCatalyst.project.import.READ, ZohoCatalyst.project.import.CREATE, ZohoCatalyst.project.import.DELETE |
| `authentication` | ZohoCatalyst.authentication.CREATE |
| `tables` | ZohoCatalyst.tables.READ, ZohoCatalyst.tables.rows.READ, ZohoCatalyst.tables.rows.CREATE, ZohoCatalyst.tables.rows.UPDATE, ZohoCatalyst.tables.rows.DELETE, ZohoCatalyst.tables.columns.READ |
| `folders` | ZohoCatalyst.folders.ALL |
| `files` | ZohoCatalyst.files.CREATE, ZohoCatalyst.files.READ, ZohoCatalyst.files.DELETE |
| `cache` | ZohoCatalyst.segments.ALL, ZohoCatalyst.cache.READ, ZohoCatalyst.cache.CREATE, ZohoCatalyst.cache.DELETE |
| `cron` | ZohoCatalyst.cron.ALL |
| `zcql` | ZohoCatalyst.zcql.CREATE |
| `functions` | ZohoCatalyst.functions.ALL, ZohoCatalyst.functions.EXECUTE |
| `appsail` | ZohoCatalyst.appsail.Read, ZohoCatalyst.appsail.Create, ZohoCatalyst.appsail.Update, ZohoCatalyst.appsail.Delete |
| `circuits` | ZohoCatalyst.circuits.EXECUTE |
| `search` | ZohoCatalyst.search.READ |
| `email` | ZohoCatalyst.email.CREATE |
| `notifications` | ZohoCatalyst.notifications.web, ZohoCatalyst.notifications.mobile |
| `mlkit` | ZohoCatalyst.mlkit.READ |
| `quickml` | QuickML.deployment.READ |
| `smartbrowz` | ZohoCatalyst.pdfshot.execute, ZohoCatalyst.dataverse.execute |
| `pipelines` | ZohoCatalyst.pipeline.READ, ZohoCatalyst.pipeline.execution.CREATE |
| `stratus` | Stratus.fileop.CREATE, Stratus.fileop.ALL, Stratus.bucketop.ALL, ZohoCatalyst.buckets.objects.UPDATE, ZohoCatalyst.buckets.objects.READ, ZohoCatalyst.buckets.objects.DELETE, ZohoCatalyst.buckets.READ, ZohoCatalyst.buckets.objects.CREATE |
| `IAM` | AaaServer.profile.READ |
| `tunneling` | ZohoCatalyst.tunneling.READ, ZohoCatalyst.tunneling.UPDATE |
| `scheduling` | ZohoCatalyst.jobpool.READ, ZohoCatalyst.job.ALL |
| `logs` | ZohoCatalyst.cli.logs.CREATE |
| `security_rules` | ZohoCatalyst.security.rules.Read, ZohoCatalyst.security.rules.Update |
| `NoSQL` | ZohoCatalyst.nosql.READ, ZohoCatalyst.nosql.rows.ALL |
| `users` | ZohoCatalyst.projects.users.READ, ZohoCatalyst.projects.users.CREATE, ZohoCatalyst.projects.users.DELETE, ZohoCatalyst.projects.users.UPDATE |
| `webapp` | ZohoCatalyst.webapp.ALL |
| `queue` | ZohoCatalyst.queue.ALL, ZohoCatalyst.queue.data.READ, ZohoCatalyst.queue.data.CREATE |
| `api gateway` | ZohoCatalyst.apigateway.apis.READ, ZohoCatalyst.apigateway.apis.CREATE, ZohoCatalyst.apigateway.apis.UPDATE, ZohoCatalyst.apigateway.apis.DELETE, ZohoCatalyst.apigateway.READ, ZohoCatalyst.apigateway.UPDATE |
| Parameter | Description |
|---|---|
| `**scope\***` | The scope the Grant Token is to be generated for. You can provide multiple scopes by separating them using commas. You can check the list of scopes available in Catalyst from [this section](https://docs.catalyst.zoho.com/en/api/oauth2/scopes/#Scopes). |
| `**client\_id\*** ` | The Client ID that was generated during the client registration |
| `**state** ` | An opaque string that is round-tripped in the protocol, i.e., whatever value you provide here will be passed back to you |
| `**response\_type\***` | `code `(Provide this literal string as the value) |
| `**redirect\_uri\*** ` | One of the Authorized Redirect URIs you provided while registering the client in the previous step. You must not provide an unregistered redirect URI. |
| `**access\_type** ` | The allowed values are `offline` and `online`. The online `access\_type` only provides the `Access Token` for your application, which is valid for one hour. The `offline access\_type` provides an `Access Token` as well as a `Refresh Token` for your application. The default value is considered to be `online`. |
| `**prompt** ` | `Consent` (Provide this literal string as the value) Prompts for user consent every time your app tries to access user credentials. If you don't specify this parameter, the user will only be prompted for credentials the first time your app requests access. |
| Parameter | Description |
|---|---|
| `code`* | The Grant Token or the value of code obtained in the previous step. |
| `client_id`* | The Client ID that was generated during the client registration |
| `client_secret`* | The Client Secret that was generated during the client registration |
| `grant_type`* | `authorization_code` (Provide this literal string as the value) |
| `redirect_uri` | One of the Authorized Redirect URIs you provided while registering the client in the previous step. You must not provide an unregistered redirect URI. |
| `scope` | The scope the `access_token` is to be generated for. You can provide multiple scopes by separating them using commas. You can check the list of scopes available in Catalyst from [this section](https://docs.catalyst.zoho.com/en/api/oauth2/scopes/). |
| `state` | An opaque string that is round-tripped in the protocol. In other words, whatever value you provide here will be passed back to you. |
| Parameter | Description |
|---|---|
| `refresh_token`* | The `refresh_token` obtained in the previous step |
| `client_id`* | The Client ID that was generated during the client registration |
| `client_secret`* | The Client Secret that was generated during the client registration |
| `grant_type`* | `refresh_token` (Provide this literal string as the value) |
| `redirect_uri`* | One of the Authorized Redirect URIs you provided while registering the client in the previous step. You must not provide an unregistered redirect URI. |
| Error Codes | Descriptions |
|---|---|
| INITIALIZATION_ERROR | The SDK initialization failed |
| LOGIN_ERROR | The login process failed for the user |
| LOGOUT_FAILED | The logout process failed for the user |
| TOKEN_FETCH_ERROR | Failed to fetch the access token |
| RESPONSE_PARSE_ERROR | The received response is non-parseable |
| NO_NETWORK_AVAILABLE | Network connectivity is not available to make the API call |
| API_FAILED | The API invocation failed |
| INVALID_DATA | The data submitted is not of a valid type for the specific format |
| FILE_SIZE_EXCEEDED | The file size of an uploaded file exceeded the 100 MB file size limit |
| FUNCTION_EXECUTION_ERROR | Failed to execute the function |
| JSON_EXCEPTION | The body included in the request is not a valid JSON |
| INVALID_REQUEST | The request created is not valid |
| INVALID_FILE_INPUT | File submitted in the upload operation is not valid |
| INTERNAL_ERROR | An internal error occurred in the SDK |
| INVALID_CONFIGURATION | The SDK has not been initialized with the configuration required for the login. Reinitialize the SDK with the appropriate configuration for the login. |
| CUSTOM_LOGIN_DISABLED | The parameters required for third-party authentication could not be found. Make sure you have enabled third-party authentication for the project or re-download the property file. |
| Property | Data Type | Description |
|---|---|---|
| `clientID` | String | Unique identifier of your app client registered in Catalyst. This is received in the configuration file. |
| `clientSecret` | String | Secret value generated for a specific `clientID`, which is passed along with the API hits. This is received in the configuration file. |
| `portalID` | String | Unique identifier received in the configuration file |
| `redirectUrl` | String | The callback URL of your app that you provided while creating a package for it in the console, in the previous step |
| `projectID` | Long | The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of your Catalyst Project |
| `apiBaseURL` | String | The URL of the Catalyst server through which the internal API is called. You must use the appropriate URL ([development URL](https://docs.catalyst.zoho.com/en/deployment-and-billing/environments/development-environment/#function-url-and-web-app-url-in-the-development-environment) or [production URL](https://docs.catalyst.zoho.com/en/deployment-and-billing/environments/production-environment/#function-url-and-web-app-url-in-the-production-environment)), based on the environment you are working in. |
| `oauthScopes` | String | The scopes that would be used by the app to access the Catalyst APIs from your project. You can find the available OAuth scopes [here](https://docs.catalyst.zoho.com/en/api/oauth2/scopes/#Scopes). |
| `requestHeaders` | String | The headers that would be sent by the client in the HTTP requests The values of the request headers must be individual key-value pairs, separated by commas like: `requestHeaders=`*key1:value1, key2:value2* |
| `serverTLD` | String | The top level domain of the data server Acceptable values: `AU`, `CN`, `COM`, `EU` and `IN` |
| `printStackTrace` | Boolean | Enables you to obtain a detailed trace of the logs, if the `printStackTrace` value is set as '**true**'. The default value is '**false**'. |
| `minLogLevel` | String | Enables you to set the logging preferences for the app Acceptable values: `warnings`, `errors`, `information`, `debug`, `ALL` |
| `httpRequestMode` | String | Defines whether the HTTP requests are synchronous or asynchronous Acceptable values: `SYNC`, `ASYNC` Default value: `ASYNC` |
| `connectTimeOut InSec` | Long | The connection time out value (in seconds) of the HTTP request sent from the SDK If a response for the client request isn't received from the server within this time, the connection will be terminated |
| `readTimeOutInSec` | Long | The read time out value (in seconds) of the HTTP request sent from the SDK If data isn't received from the server within this time, the connection will be terminated |
| `writeTimeOutInSec` | Long | The write time out value (in seconds) of the HTTP request sent from the SDK If the request fails to write or send the request data to the server within this time, the connection will be terminated |
| `JWTClientID` | String | The client ID property of the custom server token (JSON Web Token token) generated for third-party authentication to be passed to the client |
| `JWTClientSecret` | String | The client secret property of the custom server token (JSON Web Token token) generated for third-party authentication to be passed to the client |
| Error Codes | Descriptions |
|---|---|
| INITIALIZATION_ERROR | The SDK initialization failed |
| LOGIN_ERROR | The login process failed for the user |
| LOGOUT_FAILED | The logout process failed for the user |
| TOKEN_FETCH_ERROR | Failed to fetch the access token |
| RESPONSE_PARSE_ERROR | The received response is non-parseable |
| NO_NETWORK_AVAILABLE | Network connectivity is not available to make the API call |
| API_FAILED | The API invocation failed |
| INVALID_DATA | The data submitted is not of a valid type for the specific format |
| FILE_SIZE_EXCEEDED | The file size of an uploaded file exceeded the 100 MB file size limit |
| FUNCTION_EXECUTION_ERROR | Failed to execute the function |
| JSON_EXCEPTION | The body included in the request is not a valid JSON |
| INVALID_REQUEST | The request created is not valid |
| INVALID_FILE_INPUT | File submitted in the upload operation is not valid |
| INTERNAL_ERROR | An internal error occurred in the SDK |
| INVALID_CONFIGURATION | The SDK has not been initialized with the configuration required for the login. Reinitialize the SDK with the appropriate configuration for the login. |
| CUSTOM_LOGIN_DISABLED | The parameters required for third-party authentication could not be found. Make sure you have enabled third-party authentication for the project or re-download the property file. |
| Error Codes | Descriptions |
|---|---|
| INVALID_DATA | Data is in an invalid format |
| INTERNAL_ERROR | Error occurred due to internal problems, servers, or something else |
| RESPONSE_NIL | No response was returned from the server |
| TOKEN_FETCH_ERROR | Failed to fetch the access token |
| OAUTH_FETCH_ERROR | Error occurred while fetching the OAUTH token |
| UNABLE_TO_CONSTRUCT_URL | Error occurred while constructing the URL |
| PROCESSING_ERROR | Error occurred while processing the data |
| TYPECAST_ERROR | Error occurred while type-casting the data |
| NO_INTERNET_CONNECTION | Device is not connected to the internet |
| REQUEST_TIMEOUT | Response from the server did not arrive on time |
| NETWORK_CONNECTION_LOST | Device has lost its connection with the Internet |
| INITIALIZATION_ERROR | Error occurred while initializing the SDK |
| FUNCTION_EXECUTION_ERROR | Error occurred while executing a function |
| JSON_EXCEPTION | Error occurred while parsing the JSON |
| Property | Data Type | Description |
|---|---|---|
| `clientID` | String | Unique identifier of your app client registered in Catalyst. This is received in the configuration file. |
| `clientSecret` | String | Secret value generated for a specific `clientID`, which is passed along with the API hits. This is received in the configuration file. |
| `portalID` | String | Unique identifier received in the configuration file |
| `redirectUrl` | String | The callback URL of your app that you provided while creating a package for it in the console, in the previous step |
| `projectID` | Long | The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of your Catalyst Project |
| `apiBaseURL` | String | The URL of the Catalyst server through which the internal API is called. You must use the appropriate URL ([development URL](https://docs.catalyst.zoho.com/en/deployment-and-billing/environments/development-environment/#function-url-and-web-app-url-in-the-development-environment) or [production URL](https://docs.catalyst.zoho.com/en/deployment-and-billing/environments/production-environment/#function-url-and-web-app-url-in-the-production-environment)), based on the environment you are working in. |
| `oauthScopes` | String | The scopes that would be used by the app to access the Catalyst APIs from your project. You can find the available OAuth scopes [here](https://docs.catalyst.zoho.com/en/api/oauth2/scopes/#Scopes). |
| `requestHeaders` | String | The headers that would be sent by the client in the HTTP requests The values of the request headers must be individual key-value pairs, separated by commas like: `requestHeaders=`*key1:value1, key2:value2* |
| `serverTLD` | String | The top level domain of the data server Acceptable values: `AU`, `CN`, `COM`, `EU` and `IN` |
| `printStackTrace` | Boolean | Enables you to obtain a detailed trace of the logs, if the `printStackTrace` value is set as '**true**'. The default value is '**false**'. |
| `minLogLevel` | String | Enables you to set the logging preferences for the app Acceptable values: `warnings`, `errors`, `information`, `debug`, `ALL` |
| `httpRequestMode` | String | Defines whether the HTTP requests are synchronous or asynchronous Acceptable values: `SYNC`, `ASYNC` Default value: `ASYNC` |
| `connectTimeOut InSec` | Long | The connection time out value (in seconds) of the HTTP request sent from the SDK That is, if a response for the client request isn't received from the server within this time, the connection will be terminated |
| `readTimeOutInSec` | Long | The read time out value (in seconds) of the HTTP request sent from the SDK That is, if data isn't received from the server within this time, the connection will be terminated |
| `writeTimeOutInSec` | Long | The write time out value (in seconds) of the HTTP request sent from the SDK That is, if the request fails to write or send the request data to the server within this time, the connection will be terminated |
| `JWTClientID` | String | The client ID property of the custom server token (JSON Web Token token) generated for third-party authentication to be passed to the client |
| `JWTClientSecret` | String | The client secret property of the custom server token (JSON Web Token token) generated for third-party authentication to be passed to the client |
| Property | Data Type | Description |
|---|---|---|
| `ClientID` | String | Unique identifier of your app client registered in Catalyst. This is received in the configuration file. |
| `ClientSecretID` | String | Secret value generated for a specific `clientID`, which is passed along with the API hits. This is received in the configuration file. |
| `PortalID` | String | Unique identifier received in the configuration file |
| `RedirectURLScheme` | String | The callback URL of your app that you provided while creating a package for it in the console, in the previous step |
| `ProjectID` | Long | The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of your Catalyst Project |
| `APIBaseURL` | String | The URL of the Catalyst server through which the internal API is called. You must use the appropriate URL ([development URL](https://docs.catalyst.zoho.com/en/deployment-and-billing/environments/development-environment/#function-url-and-web-app-url-in-the-development-environment) or [production URL](https://docs.catalyst.zoho.com/en/deployment-and-billing/environments/production-environment/#function-url-and-web-app-url-in-the-production-environment)), based on the environment you are working in. |
| `APIVersion` | String | Version of the API |
| `OauthScopes` | String | The scopes that would be used by the app to access the Catalyst APIs from your project. You can find the available OAuth scopes [here](https://docs.catalyst.zoho.com/en/api/oauth2/scopes/#Scopes). |
| `RequestHeaders` | String | The headers that would be sent by the client in the HTTP requests The values of the request headers must be individual key-value pairs, separated by commas like: `requestHeaders=`*key1:value1, key2:value2* |
| `ServerTLD` | String | The top level domain of the data server Acceptable values: `AU`, `CN`, `COM`, `EU` and `IN` |
| `MinLogLevel` | String | Enables you to set the logging preferences for the app Acceptable values: `warnings`, `errors`, `information`, `debug`, `ALL` |
| `TurnLoggerOn` | Boolean | Turns the logger on based on the value Acceptable values: `true`, `false` |
| `RequestTimeOut` | Double | The time duration (in seconds) a task must wait for additional data to arrive before giving up |
| `JWTClientID` | String | The client ID property of the custom server token (JSON Web Token token) generated for third-party authentication to be passed to the client |
| `JWTClientSecret` | String | The client secret property of the custom server token (JSON Web Token token) generated for third-party authentication to be passed to the client |
| Properties | Datatype | Description |
|---|---|---|
| `environment` | `ZCatalystEnvironment` | The [environment](https://docs.catalyst.zoho.com/en/deployment-and-billing/environments/introduction) under which the app is currently running |
| `apiBaseURL` | String | The URL of the Catalyst server through which the internal API is called. You must use the appropriate URL ([development URL](https://docs.catalyst.zoho.com/en/deployment-and-billing/environments/development-environment/#function-url-and-web-app-url-in-the-development-environment) or [production URL](https://docs.catalyst.zoho.com/en/deployment-and-billing/environments/production-environment/#function-url-and-web-app-url-in-the-production-environment)), based on the environment you are working in. |
| `clientID` | String | Unique identifier of your app client registered in Catalyst. This is received in the configuration file. |
| `clientSecret` | String | Secret value generated for a specific `clientID`, which is passed along with the API hits. This is received in the configuration file. |
| `projectID` | int | The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of your Catalyst Project |
| `redirectURL` | String | The callback URL of your app that you provided while creating a package for [Android](https://docs.catalyst.zoho.com/en/sdk/flutter/v2/setup-for-android/) or [iOS](https://docs.catalyst.zoho.com/en/sdk/flutter/v2/setup-for-ios/) in the console |
| `portalID` | String | Unique identifier received in the configuration file while setting up the Android or iOS app |
| `oauthScopes` | String | The scopes that would be used by the app to access the Catalyst APIs from your project. You can find the available OAuth scopes [here](https://docs.catalyst.zoho.com/en/api/oauth2/scopes/#Scopes). |
| `JWTClientID` | String | The client ID property of the custom server token (JSON Web Token token) generated for third-party authentication to be passed to the client |
| `JWTClientSecret` | String | The client secret property of the custom server token (JSON Web Token token) generated for third-party authentication to be passed to the client |
| Error Codes | Descriptions |
|---|---|
| INVALID_DATA | Data is in an invalid format |
| INTERNAL_ERROR | Error occurred due to internal problems, servers, or something else |
| RESPONSE_NIL | No response was returned from the server |
| TOKEN_FETCH_ERROR | Failed to fetch the access token |
| OAUTH_FETCH_ERROR | Error occurred while fetching the OAUTH token |
| UNABLE_TO_CONSTRUCT_URL | Error occurred while constructing the URL |
| PROCESSING_ERROR | Error occurred while processing the data |
| TYPECAST_ERROR | Error occurred while type-casting the data |
| NO_INTERNET_CONNECTION | Device is not connected to the internet |
| REQUEST_TIMEOUT | Response from the server did not arrive on time |
| NETWORK_CONNECTION_LOST | Device has lost its connection with the Internet |
| INITIALIZATION_ERROR | Error occurred while initializing the SDK |
| FUNCTION_EXECUTION_ERROR | Error occurred while executing a function |
| JSON_EXCEPTION | Error occurred while parsing the JSON |
| Property | Data Type | Description |
|---|---|---|
| `ClientID` | String | Unique identifier of your app client registered in Catalyst. This is received in the configuration file. |
| `ClientSecretID` | String | Secret value generated for a specific `clientID`, which is passed along with the API hits. This is received in the configuration file. |
| `PortalID` | String | Unique identifier received in the configuration file |
| `RedirectURLScheme` | String | The callback URL of your app that you provided while creating a package for it in the console, in the previous step |
| `ProjectID` | Long | The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of your Catalyst Project |
| `APIBaseURL` | String | The URL of the Catalyst server through which the internal API is called. You must use the appropriate URL ([development URL](https://docs.catalyst.zoho.com/en/deployment-and-billing/environments/development-environment/#function-url-and-web-app-url-in-the-development-environment) or [production URL](https://docs.catalyst.zoho.com/en/deployment-and-billing/environments/production-environment/#function-url-and-web-app-url-in-the-production-environment)), based on the environment you are working in. |
| `APIVersion` | String | Version of the API |
| `OauthScopes` | String | The scopes that would be used by the app to access the Catalyst APIs from your project. You can find the available OAuth scopes [here](https://docs.catalyst.zoho.com/en/api/oauth2/scopes/#Scopes). |
| `RequestHeaders` | String | The headers that would be sent by the client in the HTTP requests The values of the request headers must be individual key-value pairs, separated by commas like: `requestHeaders=`*key1:value1, key2:value2* |
| `ServerTLD` | String | The top level domain of the data server Acceptable values: `AU`, `CN`, `COM`, `EU` and `IN` |
| `MinLogLevel` | String | Enables you to set the logging preferences for the app Acceptable values: `warnings`, `errors`, `information`, `debug`, `ALL` |
| `TurnLoggerOn` | Boolean | Turns the logger on based on the value Acceptable values: `true`, `false` |
| `RequestTimeOut` | Double | The time duration (in seconds) a task must wait for additional data to arrive before giving up |
| `X-Catalyst-Environment` | String | The environment (development or production) that the configuration file is downloaded for |
| `X-CATALYST-USER` | String | The user role of the app's user |
| `AccountsPortalDomain` | String | Domain of your Zoho account's portal |
| `notificationAppID` | String | ID generated by Catalyst after you enroll for [Push Notifications](https://docs.catalyst.zoho.com/en/cloud-scale/help/push-notifications/ios/#configure-and-enroll-for-ios-push-notifications) for your iOS app |
| `JWTClientID` | String | The client ID property of the custom server token (JSON Web Token token) generated for third-party authentication to be passed to the client |
| `JWTClientSecret` | String | The client secret property of the custom server token (JSON Web Token token) generated for third-party authentication to be passed to the client |
| Criteria | Monolithic SDK | Modular SDK | Resulting Advantage |
|---|---|---|---|
| Update & Patch Management | You are required to update your entire SDK whenever there is a patch or enhancement in the SDK. This applies even when those fixes and enhancements are made to components that you have not used. | You can isolate and install the required patches or enhancements only associated with the components that you are using. | A modular structure never threatens the robustness or the functionality of your codebase, every time an enhancement or patch needs to be applied. |
| Structure | Hierarchical format, tightly coupled, and deeply nested. | The SDK structure is broken into independent modules. the modules are not coupled with the others, and they are self-contained. | This allows for easier imports. You only need to install the module that you require, not the entire package. |
| Readability | Complicated syntax and unnecessarily verbose. | Precise imports and cleaner usage. | Your codebase is easier to understand. This promotes smoother collaboration and even makes the learning curve more approachable for beginners. |
| Refactoring Your Codebase | Complex and at times impossible to remove or delete unused components from your codebase. | Modular SDKs' loosely coupled structure makes it significantly safer and easier to refactor your codebase. | Modular SDKs allow you to precisely access the required component. This ensures you can easily refactor your codebase. Additionally, using the modular structure for your SDK allows for effective tree-shaking. |
| Scalability | Harder to scale using Monolithic SDKs. | The modules are independent, so it can scale easily. | Modular SDKs are better suited when you are coding enterprise applications. |
| Tooling Support | It is more compatible with conventional tools and as it is applied with older runtimes. | Compatible with both older and newer runtimes. | Modular SDK is the way forward, and it is designed to make it more compatible with existing and newer coding tools. |
| Robust TypeScript Support | Support is not full-fledged or it is severely limited in the current Monolithic SDK structure. | You have complete TypeScript support in this SDK structure. | Providing TypeScript support provides an easier and more compatible coding experience when using popular front-end frameworks. |
| Catalyst Service | Component | SDK Method |
|---|---|---|
| [Serverless](https://docs.catalyst.zoho.com/en/serverless/) | [Functions](https://docs.catalyst.zoho.com/en/serverless/help/functions/introduction/) | [Execute Function](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/serverless/functions/execute-function/) |
| [Circuits](https://docs.catalyst.zoho.com/en/serverless/help/circuits/introduction/) | [Execute Circuit](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/serverless/circuits/execute-circuit/) | |
| [CloudScale](https://docs.catalyst.zoho.com/en/cloud-scale/) | [Authentication](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/introduction/) |
|
| [DataStore](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/introduction/) |
|
|
| [NoSQL](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/introduction/) |
|
|
| [Stratus](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/introduction/) |
|
|
| [Cache](https://docs.catalyst.zoho.com/en/cloud-scale/help/cache/introduction/) |
|
|
| [Mail](https://docs.catalyst.zoho.com/en/cloud-scale/help/mail/introduction/) | [Send Mail](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/mail/send-email/) | |
| [Push Notifications](https://docs.catalyst.zoho.com/en/cloud-scale/help/push-notifications/introduction/) | [Send Notifications](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/push-notifications/send-web-notifications/) | |
| [Zia Services](https://docs.catalyst.zoho.com/en/zia-services/) | [OCR](https://docs.catalyst.zoho.com/en/zia-services/help/optical-character-recognition/introduction/) | [OCR](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/ocr/) |
| [Face Analytics](https://docs.catalyst.zoho.com/en/zia-services/help/face-analytics/introduction/) | [Face Analytics](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/face-analytics/) | |
| [Identity Scanner](https://docs.catalyst.zoho.com/en/zia-services/help/identity-scanner/introduction/) |
|
|
| [Text Analytics](https://docs.catalyst.zoho.com/en/zia-services/help/text-analytics/introduction/) |
|
|
| [Image Moderation](https://docs.catalyst.zoho.com/en/zia-services/help/image-moderation/introduction/) | [Image Moderation](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/image-moderation/) | |
| [Object Recognition](https://docs.catalyst.zoho.com/en/zia-services/help/object-recognition/introduction/) | [Object Recognition](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/object-recognition/) | |
| [Barcode Scanner](https://docs.catalyst.zoho.com/en/zia-services/help/barcode-scanner/introduction/) | [Barcode Scanner](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/barcode-scanner/) | |
| [QuickML](https://docs.catalyst.zoho.com/en/quickml/) | [QuickML](https://docs.catalyst.zoho.com/en/quickml/help/data-connectors/zoho-apps/) | Execute QuickML Endpoint |
| [SmartBrowz](https://docs.catalyst.zoho.com/en/smartbrowz/) | [PDF & Screenshot](https://docs.catalyst.zoho.com/en/smartbrowz/help/pdfnscreenshot/introduction/) |
|
| [Dataverse](https://docs.catalyst.zoho.com/en/smartbrowz/help/dataverse/introduction/) |
|
|
| [Job Scheduling](https://docs.catalyst.zoho.com/en/job-scheduling/) | [Job Pool](https://docs.catalyst.zoho.com/en/job-scheduling/help/jobpool/introduction/) |
|
| [Jobs](https://docs.catalyst.zoho.com/en/job-scheduling/help/job/introduction/) |
|
|
| [Cron](https://docs.catalyst.zoho.com/en/job-scheduling/help/cron/introduction/) |
|
|
| Connectors | Connectors | [JavaScript Connectors SDK](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/connectors/js-connector/) |
| [Pipelines](https://docs.catalyst.zoho.com/en/pipelines/) | [Pipelines](https://docs.catalyst.zoho.com/en/pipelines/help/pipelines/introduction/) |
|
| Catalyst Service | Component | SDK Methods | Required Scope |
|---|---|---|---|
| [Serverless](https://docs.catalyst.zoho.com/en/serverless/) | [Functions](https://docs.catalyst.zoho.com/en/serverless/help/functions/introduction/) | [Execute Function](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/serverless/functions/execute-function/) | **Admin, User** |
| [Circuits](https://docs.catalyst.zoho.com/en/serverless/help/circuits/introduction/) | [Execute Circuits](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/serverless/circuits/execute-circuit/) | **Admin** | |
| [CloudScale](https://docs.catalyst.zoho.com/en/cloud-scale/) | [Authentication](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/introduction/) |
|
**Admin** |
|
**Admin, User** | ||
| [DataStore](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/introduction/) |
|
**Admin, User** | |
| [Get Table Metadata](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-table-metadata/) | **Admin** | ||
| [NoSQL](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/introduction/) | [All NoSQL SDK Methods](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/overview/) | **Admin** | |
| [Stratus](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/introduction/) |
|
**Admin, User** | |
|
**Admin** | ||
| [Cache](https://docs.catalyst.zoho.com/en/cloud-scale/help/cache/introduction/) | [All Cache SDK Methods](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/cache/overview/) | **Admin** | |
| [Mail](https://docs.catalyst.zoho.com/en/cloud-scale/help/mail/introduction/) | [All Mail SDK Methods](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/mail/overview/) | **Admin** | |
| [Push Notifications](https://docs.catalyst.zoho.com/en/cloud-scale/help/push-notifications/introduction/) | [All Push Notifications SDK Methods](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/push-notifications/overview/) | **Admin** | |
| [Zia Services](https://docs.catalyst.zoho.com/en/zia-services/) | [All Zia Components](https://docs.catalyst.zoho.com/en/zia-services/help/face-analytics/introduction/) | [All Zia Services SDK Methods](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/push-notifications/overview/) | **Admin** |
| [SmartBrowz](https://docs.catalyst.zoho.com/en/smartbrowz/) | [PDF & Screenshot and Dataverse](https://docs.catalyst.zoho.com/en/smartbrowz/help/pdfnscreenshot/introduction/) | [All SDK Methods](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/smartbrowz/overview/) | **Admin** |
| [Job Scheduling](https://docs.catalyst.zoho.com/en/job-scheduling/) | [All Components](https://docs.catalyst.zoho.com/en/job-scheduling/help/jobpool/introduction/) | [All SDK Methods](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/overview/) | **Admin** |
| [Pipelines](https://docs.catalyst.zoho.com/en/pipelines/) | [All Components](https://docs.catalyst.zoho.com/en/pipelines/help/pipelines/introduction/) | [All SDK Methods](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/pipelines/overview/) | **Admin** |
| [QuickML](https://docs.catalyst.zoho.com/en/quickml/) | [All Components](https://docs.catalyst.zoho.com/en/quickml/help/data-connectors/zoho-apps/) | [All SDK Methods](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/quickml/create-quickml-instance/) | **Admin** |
| Connectors | N/A | [Connectors JavaScript SDK Methods](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/connectors/js-connector/) | **Admin** |
| Catalyst Service | Component | Install Command |
|---|---|---|
| [Serverless](https://docs.catalyst.zoho.com/en/serverless/) | [Functions](https://docs.catalyst.zoho.com/en/serverless/help/functions/introduction/) | `npm install @zcatalyst/functions` |
| [Circuits](https://docs.catalyst.zoho.com/en/serverless/help/circuits/introduction/) | `npm install @zcatalyst/circuit` | |
| [CloudScale](https://docs.catalyst.zoho.com/en/cloud-scale/) | [DataStore](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/introduction/) | `npm install @zcatalyst/datastore` |
| [NoSQL](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/introduction/) | `npm install @zcatalyst/nosql` | |
| [Stratus](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/introduction/) | `npm install @zcatalyst/stratus` | |
| [Cache](https://docs.catalyst.zoho.com/en/cloud-scale/help/cache/introduction/) | `npm install @zcatalyst/cache` | |
| [Authentication](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/introduction/) | `npm install @zcatalyst/auth` | |
| [Mail](https://docs.catalyst.zoho.com/en/cloud-scale/help/mail/introduction/) | `npm install @zcatalyst/mail` | |
| [Push Notifications](https://docs.catalyst.zoho.com/en/cloud-scale/help/push-notifications/introduction/) | `npm install @zcatalyst/push-notification` | |
| Connectors | `npm install @zcatalyst/connector` | |
| [Zia Services](https://docs.catalyst.zoho.com/en/zia-services/) | All Components | `npm install @zcatalyst/zia` |
| [SmartBrowz](https://docs.catalyst.zoho.com/en/smartbrowz/) | All Components | `npm install @zcatalyst/smartbrowz` |
| [Job Scheduling](https://docs.catalyst.zoho.com/en/job-scheduling/) | All Components | `npm install @zcatalyst/job-scheduling` |
| [QuickML](https://docs.catalyst.zoho.com/en/quickml/) | All Components | `npm install @zcatalyst/quickml` |
| [Pipelines](https://docs.catalyst.zoho.com/en/pipelines/) | All Components | `npm install @zcatalyst/pipelines` |
| Catalyst Service | Component | Import Command |
|---|---|---|
| [Serverless](https://docs.catalyst.zoho.com/en/serverless/) | [Functions](https://docs.catalyst.zoho.com/en/serverless/help/functions/introduction/) | `import {Functions} from '@zcatalyst/functions';` |
| [Circuits](https://docs.catalyst.zoho.com/en/serverless/help/circuits/introduction/) | `import {Circuit} from '@zcatalyst/circuit';` | |
| [CloudScale](https://docs.catalyst.zoho.com/en/cloud-scale/) | [DataStore](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/introduction/) | `import {Datastore} from '@zcatalyst/datastore';` |
| [NoSQL](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/introduction/) | `import { NoSQL } from '@zcatalyst/nosql';` | |
| [Stratus](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/introduction/) | `import {Stratus, TransferManager} from '@zcatalyst/stratus';` | |
| [Cache](https://docs.catalyst.zoho.com/en/cloud-scale/help/cache/introduction/) | `import {Cache} from '@zcatalyst/cache';` | |
| [Authentication](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/introduction/) | `import {UserManagement} from '@zcatalyst/auth';` | |
| [Mail](https://docs.catalyst.zoho.com/en/cloud-scale/help/mail/introduction/) | `import {Mail} from '@zcatalyst/email';` | |
| [Push Notifications](https://docs.catalyst.zoho.com/en/cloud-scale/help/push-notifications/introduction/) | `import {PushNotifications} from '@zcatalyst/push-notifications';` | |
| Connectors | `import {Connectors} from '@zcatalyst/connector';` | |
| [Zia Services](https://docs.catalyst.zoho.com/en/zia-services/) | All Components | `import {Zia} from '@zcatalyst/zia';` |
| [SmartBrowz](https://docs.catalyst.zoho.com/en/smartbrowz/) | All Components | `import {Smartbrowz} from '@zcatalyst/smartbrowz';` |
| [Job Scheduling](https://docs.catalyst.zoho.com/en/job-scheduling/) | All Components | `import {JobScheduling} from '@zcatalyst/job-scheduling';` |
| [QuickML](https://docs.catalyst.zoho.com/en/quickml/) | All Components | `import {QuickML} from '@zcatalyst/quickml';` |
| [Pipelines](https://docs.catalyst.zoho.com/en/pipelines/) | All Components | `import {Pipelines} from '@zcatalyst/pipelines';` |
| Catalyst Service | Component | SDK Methods |
|---|---|---|
| [Serverless](https://docs.catalyst.zoho.com/en/serverless/) | [Functions](https://docs.catalyst.zoho.com/en/serverless/help/functions/introduction/) | [Execute Function](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/serverless/functions/execute-function/) |
| [CloudScale](https://docs.catalyst.zoho.com/en/cloud-scale/) | [Authentication](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/introduction/) | [Get User Details](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/get-user-details/) |
| [Reset Password](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/reset-pwd/) | ||
| [DataStore](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/introduction/) | [Get Table Metadata](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-table-metadata/) | |
| [Get Column Metadata](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-column-metadata/) | ||
| [Get Rows](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-rows/) | ||
| [Query DataStore](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/query-datastore/) | ||
| [Search DataStore](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/search-datastore/) | ||
| [Insert Rows](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/insert-rows/) | ||
| [Update Rows](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/update-rows/) | ||
| [Delete a Row](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/delete-rows/) | ||
| [Bulk Delete Rows](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/bulk-operations/bulk-delete/) | ||
| [Stratus](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/introduction/) | [Check Object Availability](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/check-object/) | |
| [Download Object](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/download-object/) | ||
| [Upload Object](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/upload-object/) | ||
| [Delete Objects](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/delete-object/) | ||
| [Push Notifications](https://docs.catalyst.zoho.com/en/cloud-scale/help/push-notifications/introduction/) | [Register a Client](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/push-notifications/register-client/) |
| Service Name | Component Name | SDK Operations | Scope |
|---|---|---|---|
| Catalyst CloudScale | DataStore | [Get Meta Data of All Tables](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/data-store/get-table-meta/#get-metadata-of-all-tables), [Get All Columns](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/data-store/get-column-meta/#get-metadata-of-all-columns), [Get Column Details](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/data-store/get-column-meta/#get-a-columns-metadata-by-id), [Delete Single Row](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/data-store/delete-row/), [Delete All Rows](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/data-store/bulk-delete-rows/), [Update Single Row](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/data-store/update-rows/), [Update All Rows](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/data-store/update-rows/#update-multiple-rows), [Get Row](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/data-store/get-rows/#get-a-single-row), [Get All Rows](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/data-store/get-rows/#get-all-rows-through-pagination) | User, Admin |
| Catalyst CloudScale | DataStore | Bulk Operations | Admin |
| Catalyst CloudScale | User Management | [Get Details of Current User](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/authentication/get-user-details/), [Reset Password](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/authentication/reset-password/) | User, Admin |
| Catalyst CloudScale | Cache | All Operations | Admin |
| Catalyst CloudScale | Search | Execute Search Query | User, Admin |
| Catalyst CloudScale | ZCQL | Execute Query | User, Admin |
| Catalyst CloudScale | Send Mail | User, Admin | |
| Catalyst CloudScale | Push Notifications | All Operations | Admin |
| Catalyst Serverless | Circuits | All Operations | Admin |
| Catalyst Zia Services | All Components | All Operations | Admin |
| Catalyst Quick ML | All Components | All Operations | Admin |
| Catalyst SmartBrowz | All Components | All Operations | Admin |
| Error Codes | Descriptions |
|---|---|
| INVALID ARGUEMENT ERROR | The arguments passed is not of a valid type for the specific format. |
| INVALID CREDENTIAL ERROR | The credentials entered is not valid. |
| Parameter Name | Data Type | Definition |
|---|---|---|
| `ConnectorName` | Array | A **Mandatory** parameter. Will store the connector details like client_id, client_secret, auth_url, refresh_url and refresh_token. |
| Command Syntax | Usage |
|---|---|
| [ `-v` | `--version` ](https://docs.catalyst.zoho.com/en/cli/v1/cli-options/#-v----version) | Print the Catalyst CLI version number |
| [`-p` | `--project <name_or_project_id>`](https://docs.catalyst.zoho.com/en/cli/v1/cli-options/#-p----project-name_or_project_id---org-org_id) | Specify the Catalyst project to be used for a command |
| [`--org <org id>`](https://docs.catalyst.zoho.com/en/cli/v1/cli-options/#-p----project-name_or_project_id---org-org_id) | Specify the Catalyst organization to be used for a command. Used with the `-p` option. |
| [`--token <token>`](https://docs.catalyst.zoho.com/en/cli/v1/cli-options/#--token-token) | Supply an authentication token for a command |
| [`--dc <us|eu|in|jp|sa|au|ca>`](https://docs.catalyst.zoho.com/en/cli/v1/cli-options/#--dcuseuinjpsaauca) | Supply a data center for a command |
| [`--verbose`](https://docs.catalyst.zoho.com/en/cli/v1/cli-options/#--verbose) | Change the log level to verbose for debugging purposes |
| [`-h` | `--help`](https://docs.catalyst.zoho.com/en/cli/v1/cli-options/#-h----help) | Display help for a Catalyst command |
| Command Syntax | Usage |
|---|---|
| [`login [options]`](https://docs.catalyst.zoho.com/en/cli/v1/login/login-from-cli/) | Log the CLI in to your Catalyst account |
| [`token:generate [options]`](https://docs.catalyst.zoho.com/en/cli/v1/working-with-tokens/introduction/) | Generate a token to authenticate accessing the CLI from a remote system |
| [`token:list`](https://docs.catalyst.zoho.com/en/cli/v1/working-with-tokens/list-tokens/) | List all the available tokens generated in this CLI |
| [`token:revoke <id>`](https://docs.catalyst.zoho.com/en/cli/v1/working-with-tokens/revoke-token/) | Revoke a token generated in this CLI |
| [`whoami`](https://docs.catalyst.zoho.com/en/cli/v1/identify-loggedin-user/) | Print the email address of the user currently logged in |
| [`init [feature] [options]`](https://docs.catalyst.zoho.com/en/cli/v1/initialize-resources/introduction/) | Initialize a Catalyst project, function, AppSail, and client resources in the local directory |
| [`project:list`](https://docs.catalyst.zoho.com/en/cli/v1/working-with-projects/list-catalyst-projects/) | List all the Catalyst projects you have access to |
| [`project:use [name_or_project_id] `](https://docs.catalyst.zoho.com/en/cli/v1/working-with-projects/use-catalyst-project/) | Set an active Catalyst project for your working directory |
| [`project:reset`](https://docs.catalyst.zoho.com/en/cli/v1/working-with-projects/reset-active-project/) | Clear an active project selection and reset to the base project |
| [`pull [feature]`](https://docs.catalyst.zoho.com/en/cli/v1/pull-resources/introduction/) | Pull resources of your project from the remote console to the local directory |
| [`iac:export [options]`](https://docs.catalyst.zoho.com/en/cli/v1/export-and-import-projects/introduction/) | Export a project's code and configurations as a ZIP file |
| [`iac:import [options][file_path]`](https://docs.catalyst.zoho.com/en/cli/v1/export-and-import-projects/import-project/) | Import a project's ZIP file and create a new project in the console |
| [`iac:pack [zip_name]`](https://docs.catalyst.zoho.com/en/cli/v1/export-and-import-projects/generate-zip-file/) | Generate an import-ready ZIP file of a project in the standard format |
| [`iac:status [options]<operation>`](https://docs.catalyst.zoho.com/en/cli/v1/export-and-import-projects/export-import-job-status/) | Obtain the current status of a scheduled import or export job |
| [`functions:setup`](https://docs.catalyst.zoho.com/en/cli/v1/working-with-functions/set-up-functions/) | Set up and configure the function directory in your project directory |
| [`functions:add`](https://docs.catalyst.zoho.com/en/cli/v1/working-with-functions/add-functions/) | Add a function of the required stack to the function directory |
| [`functions:config [function_name_or_id] [options] `](https://docs.catalyst.zoho.com/en/cli/v1/working-with-functions/configure-function-memory/) | Perform advanced configurations such as memory allocation on a function in your project |
| [`functions:shell [options]`](https://docs.catalyst.zoho.com/en/cli/v1/working-with-functions/functions-shell/) | Launch a node shell to test emulated functions of any stack or type, other than Advanced I/O functions |
| [`functions:delete [function_name_or_id] [options]`](https://docs.catalyst.zoho.com/en/cli/v1/working-with-functions/delete-functions/) | Delete a function from the remote console or the local directory |
| [`config:set <key=value> `](https://docs.catalyst.zoho.com/en/cli/v1/cli-config/) | Set Catalyst configuration as a key value pair |
| [`config:get <key>`](https://docs.catalyst.zoho.com/en/cli/v1/cli-config/#get-the-value-of-a-specific-key) | Get Catalyst config value for the specified key |
| [`config:list`](https://docs.catalyst.zoho.com/en/cli/v1/cli-config/#list-configurations) | List all Catalyst configurations |
| [`config:delete <key> `](https://docs.catalyst.zoho.com/en/cli/v1/cli-config/#delete-key) | Delete a key from Catalyst config |
| [`appsail:add`](https://docs.catalyst.zoho.com/en/cli/v1/add-appsail/) | Associate an existing Catalyst project directory with an AppSail service |
| [`client:setup`](https://docs.catalyst.zoho.com/en/cli/v1/working-with-the-client/introduction/) | Set up and configure the client directory in your project directory |
| [`client:delete [client_version] [options]`](https://docs.catalyst.zoho.com/en/cli/v1/working-with-the-client/delete-client/) | Delete a version of the client from the remote console or the local directory |
| [`ds:import [~CSV_file_path] [options]`](https://docs.catalyst.zoho.com/en/cli/v1/data-store-import-and-export/introduction/) | Bulk write records to a table in the Catalyst Data Store |
| [`ds:export [options]`](https://docs.catalyst.zoho.com/en/cli/v1/data-store-import-and-export/export-operation/) | Bulk read records from a table in the Catalyst Data Store |
| [`ds:status <operation> [job_id] [options]`](https://docs.catalyst.zoho.com/en/cli/v1/data-store-import-and-export/check-import-export-status/) | Display the job status of a Data Store import or export operation |
| [`apig:enable`](https://docs.catalyst.zoho.com/en/cli/v1/working-with-api-gateway/introduction/) | Enable API Gateway for your project |
| [`apig:disable`](https://docs.catalyst.zoho.com/en/cli/v1/working-with-api-gateway/disable-api-gateway/) | Disable API Gateway for your project |
| [`apig:status [options]`](https://docs.catalyst.zoho.com/en/cli/v1/working-with-api-gateway/obtain-api-gateway-status/) | Obtain the current status of API Gateway for your project and the schedule progress |
| [`event:generate` | `generate:event <source> <action> [options]`](https://docs.catalyst.zoho.com/en/cli/v1/event-generate/introduction/) | Generate sample payloads from different components or custom event sources to test Event functions |
| [`event:generate:integ <service> [options]`](https://docs.catalyst.zoho.com/en/cli/v1/event-generate/sample-payload-integration-functions/) | Generate sample payloads for the required integration service to test Integration functions |
| [`event:generate:job`](https://docs.catalyst.zoho.com/en/serverless/help/functions/job-functions/#testing-job-functions-using-catalyst-cli) | Generate sample payloads to test Job functions |
| [`run-script` | `run [command]`](https://docs.catalyst.zoho.com/en/cli/v1/scripts/introduction/) | Run a particular command script defined in `catalyst.json` |
| [`serve [options]`](https://docs.catalyst.zoho.com/en/cli/v1/serve-resources/introduction/) | Serve Basic I/O, Advanced I/O, BrowserLogic functions, AppSail, and the client, to test them locally |
| [`deploy [options] [feature] `](https://docs.catalyst.zoho.com/en/cli/v1/deploy-resources/introduction/) | Deploy the Catalyst project and project resources to the remote console from the local directory |
| [`help [command]`](https://docs.catalyst.zoho.com/en/cli/v1/cli-help/command-reference-help/) | Display the command reference or help for a specific command |
| [`logout`](https://docs.catalyst.zoho.com/en/cli/v1/logout/) | Log the CLI out of your Catalyst account |
| [`codelib:install`](https://docs.catalyst.zoho.com/en/codelib/install-a-codelib-solution/) | Install the pre-configured Catalyst CodeLib components into your project |
| Publisher Service | Event Name | Event Action |
|---|---|---|
| DataStore | `row_inserted` | When a row is inserted to the table |
| `row_updated` | When a row is updated in a table | |
| `row_deleted` | When a row is deleted from the table | |
| Stratus | `stratus_object_uploaded` | When an object is uploaded to a bucket in Stratus |
| `stratus_object_downloaded` | When an object is downloaded from a bucket in Stratus | |
| `stratus_object_updated` | When an object is updated in Stratus | |
| `stratus_object_deleted` | When an object is deleted from Stratus | |
| Cache | `cache_item_created` | When a cache item is created |
| `cache_item_updates` | When the cache is updated | |
| Authentication | `user_signedup` | When a user signs up for an application |
| `user_confirmed` | When a user completes the verification process | |
| `user_deleted` | When a user is removed from the application. |
| Command/Component | Errors | Fixes |
|---|---|---|
| Authentication | Empty Token Basket | [Generate a new token](https://docs.catalyst.zoho.com/en/cli/v1/working-with-tokens/generate-token/) |
| Token Retrieval Failure | [Use a valid token from the list](https://docs.catalyst.zoho.com/en/cli/v1/working-with-tokens/list-tokens/) | |
| Logged out of CLI | [Log in to the CLI](https://docs.catalyst.zoho.com/en/cli/v1/login/login-from-cli/) | |
| Refresh Token or Access Token Retrieval Failure | [Log in to the CLI using `--no-localhost`](https://docs.catalyst.zoho.com/en/cli/v1/login/options) | |
| Token Generation Failure | [Generate a new token](https://docs.catalyst.zoho.com/en/cli/v1/working-with-tokens/generate-token/) | |
| Invalid Token Provided with `--token` option | [Provide a valid token with the option](https://docs.catalyst.zoho.com/en/cli/v1/cli-options/#--token-token) | |
| Authentication Failure | [Re-login with the `--force` option](https://docs.catalyst.zoho.com/en/cli/v1/login/options/#--force) | |
| Data Center | Invalid Input for the `--dc` Option | [Specify a valid input and try again](https://docs.catalyst.zoho.com/en/cli/v1/cli-options/#--dcuseuinjpsaauca) |
| Project | First Catalyst Project Not Created | [Create a new project](https://docs.catalyst.zoho.com/en/getting-started/catalyst-projects/) |
| Project Provided with `-p` option Not Found | [Select an existing project from the list](https://docs.catalyst.zoho.com/en/cli/v1/cli-options/#-p----project-name_or_project_id---org-org_id) | |
| File Missing in Project Directory | [Initialize the project](https://docs.catalyst.zoho.com/en/cli/v1/initialize-resources/introduction/) or set up the [missing component](https://docs.catalyst.zoho.com/en/cli/v1/project-directory-structure/introduction/) | |
| Resource Not Found in Project Directory | [Initialize the project](https://docs.catalyst.zoho.com/en/cli/v1/initialize-resources/introduction/) or set up the [missing component](https://docs.catalyst.zoho.com/en/cli/v1/project-directory-structure/introduction/) | |
| Project Not Found in the Remote Console | [Use an available project from the list](https://docs.catalyst.zoho.com/en/cli/v1/working-with-projects/use-catalyst-project/) | |
| File Corrupted in Project Directory | Delete the corrupted file and [initialize the project again](https://docs.catalyst.zoho.com/en/cli/v1/initialize-resources/initialize-options/) | |
| Active Project Not Found in the Remote Console | [Change the existing active project to an available one](https://docs.catalyst.zoho.com/en/cli/v1/working-with-projects/use-catalyst-project/) | |
| API Gateway | Enable APIG Failure- APIG Scheduler in Progress | [Check the status of the scheduled job](https://docs.catalyst.zoho.com/en/cli/v1/working-with-api-gateway/obtain-api-gateway-status/) and try again after some time |
| APIG Reports Not Found | [Deploy APIG rules from the CLI](https://docs.catalyst.zoho.com/en/cli/v1/deploy-resources/deploy-api-gateway/) | |
| Disable APIG Failure- APIG Scheduler in Progress | [Check the status of the scheduled job](https://docs.catalyst.zoho.com/en/cli/v1/working-with-api-gateway/obtain-api-gateway-status/) and try again after some time | |
| Unable to Read APIG Rules File | Rectify the specified errors and try again | |
| APIG Rules File Missing | [Create the missing file or specify a valid file name](https://docs.catalyst.zoho.com/en/cli/v1/working-with-api-gateway/api-gateway-json-file/) | |
| Name Missing in APIG Rule | [Provide a name for the APIG rule](https://docs.catalyst.zoho.com/en/cli/v1/working-with-api-gateway/api-gateway-json-file/) | |
| Duplicate APIG Rule Name | [Change the name or delete the APIG rule](https://docs.catalyst.zoho.com/en/cli/v1/working-with-api-gateway/api-gateway-json-file/) | |
| Mandatory Values Missing in APIG Rule | [Add the specified mandatory values to the APIG rule](https://docs.catalyst.zoho.com/en/cloud-scale/help/api-gateway/key-concepts/#routing) | |
| Duplicate Values in APIG Rule | [Modify the APIG rule and resolve the conflict](https://docs.catalyst.zoho.com/en/cloud-scale/help/api-gateway/key-concepts/#routing) | |
| Invalid Client Specified in APIG Rule | Rectify the specified errors in the client and try again | |
| Cannot Authenticate APIG Rule with Client Target | [Remove the specified key from the APIG rule](https://docs.catalyst.zoho.com/en/cloud-scale/help/api-gateway/key-concepts/#authentication-request-processor) | |
| Invalid RegEx in APIG Rule | [Rectify the specified RegEx error](https://docs.catalyst.zoho.com/en/cloud-scale/help/api-gateway/key-concepts/#routing) | |
| Invalid Parameters in APIG Rule | [Rectify the specified error to continue](https://docs.catalyst.zoho.com/en/cloud-scale/help/api-gateway/key-concepts/#routing) | |
| Invalid Request or Target URL in APIG Rule | [Provide a valid target URL in the APIG rule](https://docs.catalyst.zoho.com/en/cloud-scale/help/api-gateway/key-concepts/#routing) | |
| Data Store | Table Identifier Missing in Export/Import Operation | [Provide the table identifier in the command or configuration file](https://docs.catalyst.zoho.com/en/cli/v1/data-store-import-and-export/introduction/) |
| Source File Missing in Import Operation | [Provide the path of the CSV file in the local machine with the command](https://docs.catalyst.zoho.com/en/cli/v1/data-store-import-and-export/import-operation/#input-csv-file) | |
| Client | Web Client Not Found in the Local Machine | [Create a new web client](https://docs.catalyst.zoho.com/en/cli/v1/working-with-the-client/set-up-client/) |
| Web Client Not Found in the Remote Console | [Deploy a web client from the CLI](https://docs.catalyst.zoho.com/en/cli/v1/deploy-resources/deploy-client/) | |
| Web Client Version Not Found in Local Machine/Remote Console to Delete | [Delete a version from the list of versions available](https://docs.catalyst.zoho.com/en/cli/v1/working-with-the-client/delete-client/) | |
| Web Client Version is Live and Cannot be Deleted | [Change the live version to a different one](https://docs.catalyst.zoho.com/en/cloud-scale/help/web-client-hosting/implementation/#deploy-an-older-version-of-a-web-application) or [deploy a new version of the web client](https://docs.catalyst.zoho.com/en/cli/v1/deploy-resources/deploy-client/) | |
| Cannot Use `--local` and `--remote` Options Simultaneously to Delete | [Use either one of the options at a time](https://docs.catalyst.zoho.com/en/cli/v1/working-with-the-client/delete-client/#delete-client-options) | |
| Client File Cannot be Parsed | Rectify the specified error and try again | |
| File Missing in Client Directory | [Create the specified file in the client source directory](https://docs.catalyst.zoho.com/en/cli/v1/project-directory-structure/client-directory/) | |
| File Corrupted in Client Directory | [Rectify the specified error or provide valid targets](https://docs.catalyst.zoho.com/en/cli/v1/project-directory-structure/client-directory/) | |
| Functions | No Functions in the Remote Console to Configure or Use Feature for | [Create a new function in the console](https://docs.catalyst.zoho.com/en/serverless/help/functions/implementation/) or [deploy a function to the console](https://docs.catalyst.zoho.com/en/cli/v1/deploy-resources/deploy-functions/) |
| Invalid Value with `--memory` Option while Configuring | [Provide a valid number with the option](https://docs.catalyst.zoho.com/en/cli/v1/working-with-functions/configure-function-memory/) | |
| Function Not Found in the Local Machine to Delete | [Select an available function from the list to delete](https://docs.catalyst.zoho.com/en/cli/v1/working-with-functions/delete-functions/) | |
| No Functions in the Local Machine to Delete | [Create a new function in the project directory](https://docs.catalyst.zoho.com/en/cli/v1/working-with-functions/add-functions/) | |
| Function Not Found in the Remote Console to Delete | [Select an available function from the list to delete](https://docs.catalyst.zoho.com/en/cli/v1/working-with-functions/delete-functions/) | |
| No Functions in the Remote Console to Delete | [Create a new function in the console](https://docs.catalyst.zoho.com/en/cli/v1/working-with-functions/add-functions/) or [deploy a function to the console](https://docs.catalyst.zoho.com/en/cli/v1/deploy-resources/deploy-functions/) | |
| Cannot Use Function ID in the Local Machine to Delete | [Use the function name or execute the command without specifying any function identifiers](https://docs.catalyst.zoho.com/en/cli/v1/working-with-functions/delete-functions/) | |
| Cannot Use `--local` and `--remote` Options Simultaneously to Delete | [Use either one of the options at a time](https://docs.catalyst.zoho.com/en/cli/v1/working-with-functions/delete-functions/#delete-functions-options) | |
| Configuration Files | Functions Specified in Config File Not Found | [Specify valid function names under the `functions` key](https://docs.catalyst.zoho.com/en/cli/v1/project-directory-structure/catalyst-json/) |
| Client Specified in Config File Not Found | [Specify a valid client source directory under the `client` key](https://docs.catalyst.zoho.com/en/cli/v1/project-directory-structure/catalyst-json/) | |
| Directory Specified in Config File Not Found | [Specify a valid directory name that is available in the project directory](https://docs.catalyst.zoho.com/en/cli/v1/project-directory-structure/introduction/) | |
| Invalid Targets in Config File | [Specify valid values as `targets` in the config file](https://docs.catalyst.zoho.com/en/cli/v1/project-directory-structure/catalyst-json/) | |
| File Missing in Project Root Directory | [Initialize the project again](https://docs.catalyst.zoho.com/en/cli/v1/initialize-resources/introduction/) | |
| Scripts | Invalid Script Command | [Specify the command in a valid format](https://docs.catalyst.zoho.com/en/cli/v1/scripts/introduction/) |
| Invalid Feature Specified | [Specify a valid feature to execute the script](https://docs.catalyst.zoho.com/en/cli/v1/scripts/run-script/) | |
| Script Unavailable in File | [Run an available script](https://docs.catalyst.zoho.com/en/cli/v1/scripts/run-script/) | |
| Script Exited with Error | [Rectify the error and try again](https://docs.catalyst.zoho.com/en/cli/v1/scripts/run-script/) | |
| Event Generate | Options Provided Not in Pairs | [Provide the options as pairs in the right format](https://docs.catalyst.zoho.com/en/cli/v1/event-generate/introduction/) |
| Source Invalid | [Provide an available source](https://docs.catalyst.zoho.com/en/cli/v1/event-generate/introduction/) | |
| Options in Invalid Format | [Provide the options in a valid format](https://docs.catalyst.zoho.com/en/cli/v1/event-generate/introduction/) | |
| Event Bus Name Missing in Custom Event | [Provide the Event Bus name](https://docs.catalyst.zoho.com/en/cli/v1/event-generate/sample-payload-custom-event/) | |
| Rule Identifier Missing in Custom Event | [Provide the Rule Identifier](https://docs.catalyst.zoho.com/en/cli/v1/event-generate/sample-payload-custom-event/) | |
| Event Bus Not Found in the Remote Console | [Provide an available Event Bus name](https://docs.catalyst.zoho.com/en/cli/v1/event-generate/sample-payload-custom-event/) | |
| Action Not Compatible with Source | [Provide an action compatible with the source](https://docs.catalyst.zoho.com/en/cli/v1/event-generate/introduction/) | |
| Incorrect Segment/Table/Folder Identifier | [Provide a valid identifier with the option](https://docs.catalyst.zoho.com/en/cli/v1/event-generate/sample-payload-component-event/) | |
| Event Generate: Integration Functions | Incorrect Input Value for Cliq Integration Event | [Provide the input in the right format](https://docs.catalyst.zoho.com/en/cli/v1/event-generate/sample-payload-integration-functions/) |
| Unknown Combination of Cliq Component | [Choose the appropriate combination of Cliq components from the list ](https://docs.catalyst.zoho.com/en/cli/v1/event-generate/sample-payload-integration-functions/) | |
| Integration Service Unavailable | [Provide an available integration service](https://docs.catalyst.zoho.com/en/cli/v1/event-generate/sample-payload-integration-functions/) | |
| Pull | Invalid Value with Command | [Provide the values `client`, `functions`, or `apig` with the command](https://docs.catalyst.zoho.com/en/cli/v1/pull-resources/pull-all-resources/) |
| Serve | No Valid Components to Serve | [Rectify the errors and try again](https://docs.catalyst.zoho.com/en/cli/v1/serve-resources/introduction/) |
| Ports in the Given Range Unavailable | [Specify a port out of the given range](https://docs.catalyst.zoho.com/en/cli/v1/serve-resources/serve-options/) | |
| Shell | No Valid Functions to Serve | [Rectify the errors and try again](https://docs.catalyst.zoho.com/en/cli/v1/working-with-functions/functions-shell/) |
| Deploy | No Functions Ready for Deploy | [Execute the deploy command with an appropriate option](https://docs.catalyst.zoho.com/en/cli/v1/deploy-resources/deploy-options/) |
| APIG Deploy Skipped | [Enable API Gateway locally](https://docs.catalyst.zoho.com/en/cli/v1/working-with-api-gateway/enable-api-gateway/) and [deploy it once again](https://docs.catalyst.zoho.com/en/cli/v1/deploy-resources/introduction/) | |
| Java Functions Configuration | JAR File Missing in the Path Specified in Config File | [Specify a valid path to the JAR file](https://docs.catalyst.zoho.com/en/cli/v1/project-directory-structure/functions-directory/) |
| File Corrupted in Function Directory | [Delete the corrupted file and execute the command again](https://docs.catalyst.zoho.com/en/cli/v1/project-directory-structure/functions-directory/) | |
| Project Name Mismatch in Config File | [Change the project name to an appropriate value](https://docs.catalyst.zoho.com/en/cli/v1/project-directory-structure/introduction/) | |
| Java Compiler Version Check Failure | [Ensure that Java Compiler is installed](https://docs.catalyst.zoho.com/en/getting-started/installing-catalyst-cli/#pre-requisites) and execute the command again | |
| Java Compiler Above Compatible Version | [Downgrade Java Compiler to a supported version](https://docs.catalyst.zoho.com/en/getting-started/installing-catalyst-cli/#pre-requisites) | |
| Main File Missing in Function Directory | [Specify a valid main file in the config file](https://docs.catalyst.zoho.com/en/cli/v1/project-directory-structure/functions-directory/) | |
| Java Compilation Error | Rectify the specified errors to continue | |
| Node.js Functions Configuration | Main File Missing in Function Directory | [Specify a valid main file in the config file](https://docs.catalyst.zoho.com/en/cli/v1/project-directory-structure/functions-directory/) |
| Options Usage | Duplicate Targets Specified for Option | Remove the duplicate value and try again |
| Invalid Target Specified with Option | Provide a valid target as specified | |
| Target Specified With and Without Filter | Provide the target in a valid format | |
| Unable to Debug Client Target | Remove the client as a target in `-\-debug` and try again | |
| Conflict in Option Usage | Use only one of the options at a time | |
| Invalid Input for Option | Provide a valid input as specified and try again | |
| APIG Cannot Be Served Separately | [Include at least one other component like functions or client](https://docs.catalyst.zoho.com/en/cli/v1/serve-resources/introduction/) | |
| Org Option is needed when Project Option is Supplied | Provide org ID of the organization the project belongs to using `-\-org`when you refer to a specific project using [`-\-project` or `-p`](https://docs.catalyst.zoho.com/en/cli/v1/cli-options/#-p----project-name_or_project_id---org-org_id) | |
| General | Not in Catalyst App Directory during Command Execution | [Run the command from a valid Catalyst directory](https://docs.catalyst.zoho.com/en/cli/v1/project-directory-structure/introduction/) or [initialize a project to make this a Catalyst app directory](https://docs.catalyst.zoho.com/en/cli/v1/initialize-resources/introduction/) |
| Incorrect Usage of Command | [Use `catalyst help` or execute the command with the `--help` option to get usage instructions](https://docs.catalyst.zoho.com/en/cli/v1/cli-help/command-reference-help/) | |
| Unable to Load File | Rectify the specified errors to continue | |
| Requested Port Unavailable | Provide a different port with the command |
| Attributes | Description |
|---|---|
| `table_identifier` (String, Mandatory) | The [unique ID of the table](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/tables/) or the table name where data must be imported to. You can also pass the table identifier using the `[-\-table](https://docs.catalyst.zoho.com/en/cli/v1/data-store-import-and-export/import-operation/#import-options)` option. |
| `operation` (String, Optional) | Specifies the operation to be executed. Allowed values:`insert`, `update`, `upsert` Default operation: `insert` |
| `object_url` (String, Mandatory) | The [unique ID of the CSV file](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/objects/introduction/#object-url) in Stratus. You can also specify the CSV file path with the command. |
| `find_by` (String, Mandatory for `update` and `upsert` operations. Not mandatory for `insert` operation) | The unique column using which the records are identified. For example, if you specify a unique column called 'EmployeeID' as the `find_by` value, Catalyst will search the records in the Data Store table using the EmployeeID value. For the update operation, Catalyst will update the rows that match the EmployeeID value from the CSV file. For the upsert operation, Catalyst will update existing rows, and insert new rows if there are no records with matching EmployeeID values. Update: This can be a column with unique values as configured in the Data Store, or the [ROWID](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/columns/#default-columns) generated by Catalyst for the records. Upsert: You can only specify a column with unique values as configured in the Data Store. You will not be able to specify the ROWID as the `find_by` value. This is because, upsert will insert new rows if matching ones are not found, and the ROWID values will not be available for rows not existing in the Data Store. Insert: If you specify a `find_by` column for an insert operation, any records matching the column values from the CSV file will be skipped and not inserted into the Data Store table. This is because, insert cannot update if a given record already exists. |
| `fk_mapping` (JSON, Optional) | Foreign key mapping for the columns that are primary keys in other tables. This is specified if any columns imported from the CSV file should be configured as foreign keys. You must map foreign keys in the following format: { "local_column" : "local_column_name_1", "reference_column" : "reference_column_name_1" } where `local_column` is the name of the column in the table where the bulk write operation is processed, and `reference_column` is the name of the column in the table in which it is a primary key. |
| `callback` (JSON, Optional) | The section where you can define the properties of the callback URL, where automatic JSON responses of the job statuses will be sent to. The properties to be included in this section are given in the table below. |
| Attribute | Description |
|---|---|
| `url` (String, Mandatory if you want to specify the callback URL) | The URL where the automatic responses will be sent to using the HTTP `POST` method, each time the job status changes. Information about the job details will be contained in the body of the JSON response. The CLI will also display a live stream of the execution, and the final job status. |
| `headers` (String, Optional) | Headers that you require to be passed in the JSON response to the callback URL You must specify the headers as: { "{header_name_1}" : "{header_value_1}", "{header_name_2}" : "{header_value_2}" } and so on. |
| `params` (String, Optional) | Parameters that you require to be appended to the callback URL You must specify the parameters as: { "{param_name_1}" : "{param_value_1}", "{param_name_2}" : "{param_value_2}" } and so on. |
| Attributes | Description |
|---|---|
| `table_identifier` (String, Mandatory) | The [unique ID](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/tables/) of the table or the table name where data must be exported from. You can also pass the table identifier using the [`--table` option](https://docs.catalyst.zoho.com/en/cli/v1/data-store-import-and-export/export-operation/#export-options) . |
| `query` (JSON, Optional) | The section where you can define the conditions and criteria for the export job |
| `page` (Numerical, Optional) | The CSV file generated as the result of the bulk read process contains two hundred thousand/two lakh records in one page. Page value '1' indicates that the first two hundred thousand records matching your query will get exported. You can fetch subsequent records by increasing the page value. For example, if you want to fetch records from the range 200,001 to 400,000, then you must specify the page value as '2'. Default value: 1 You can also specify the page value using the [`--page` option](https://docs.catalyst.zoho.com/en/cli/v1/data-store-import-and-export/export-operation/#export-options). |
| `select_columns` (Array, Optional) | Specific columns in the records that need to be fetched from the table. If you do not specify the columns, all columns will be selected and fetched. You can include multiple columns in an array. |
| `callback` (JSON, Optional) | The section where you can define the properties of the callback URL, where automatic JSON responses of the job statuses will be sent to |
| `url` (String, Mandatory if you want to specify the callback URL | The URL where the automatic responses will be sent to using the HTTP `POST` method, each time the job status changes. Information about the job details will be contained in the body of the JSON response. The CLI will also display a live stream of the execution, and the final job status. |
| `headers` (String, Optional) | Headers that you require to be passed in the JSON response to the callback URL You must specify the headers as: { "{header_name_1}" : "{header_value_1}", "{header_name_2}" : "{header_value_2}" } and so on. |
| `params` (String, Optional) | Parameters that you require to be appended to the callback URL You must specify the parameters as: { "{param_name_1}" : "{param_value_1}", "{param_name_2}" : "{param_value_2}" } and so on. |
| `criteria` (JSON, Optional) | A set of conditions based on which the records will be fetched. The properties to be included in this section are given in the table below. |
| Attributes | Description |
|---|---|
| `group_operator` (String, Mandatory if you want to specify the criteria | The operator that will bind the criteria groups together. Supported Operators: `AND`, `OR` If you define two or more criteria groups, you can use the `AND` or the `OR` operator. For example, you can specify a criteria like "column1 equal value 1 AND column2 contains value 2" in the format specified in the previous section. > **Note:** You will not be able to use combinations of both the operators. You can either use `AND` or `OR` in a single command execution. |
| `group` (JSON, Mandatory if you want to specify the criteria) | You can include upto 25 criteria sets in this section. The sample JSON file shows 2 criteria sets. Note: You can include only one overall group with one group operator in a single execution. |
| `column_name` (String, Mandatory if you want to specify the criteria) | Name of the specific column from the table that the criteria should be defined for |
| `comparator` (String, Mandatory if you want to specify the criteria) | The comparison operator that matches the column name with the criteria value Supported Comparators: `equal`, `not_equal`, `greater_than`, `greater_equal`, `less_than`, `less_equal`, `starts_with`, `ends_with`, `contains`, `not_contains`, `in`, `not_in`, `between`, `not_between` > **Note:** * You can specify multiple values for `in` and `not_in` comparators, separated by commas. * Catalyst supports only the `equal` comparator for an encrypted column. You will not be able to use other comparators as the criteria for an encrypted column. |
| `value` (String, Mandatory if you want to specify the criteria) | The value for the specific column in the record that you require to be defined as a criteria |
| Source | Action | Optional Inputs |
|---|---|---|
| datastore | Insert Update Delete | --table <table_name_or_id> |
| cache | Put | --segment <segment_name_or_id> |
| user | SignUp Delete | NA |
| webapp | Success | NA |
| github | Success Failure | NA |
| Source | Action |
|---|---|
| custom | Produce |
| Component | Handler Classes |
|---|---|
| bot | welcome_handler message_handler context_handler mention_handler action_handler incomingwebhook_handler participation_handler |
| command | execution_handler suggestion_handler |
| messageaction | execution_handler |
| widget | view_handler |
| function | button_handler form_handler form_change_handler form_values_handler widget_button_handler |
| installation | installation_handler installation_validator |
| Framework | Default Start Command |
|---|---|
| Create React App | `PORT=$ZC_SLATE_PORT npm start` |
| Solid JS(Vite) | `npm run dev -\- -\-port $ZC_SLATE_PORT` |
| React + Vite | `npm run dev -\- -\-port $ZC_SLATE_PORT` |
| Next.js | `npm run dev -\- -\-port $ZC_SLATE_PORT` |
| Astro | `npm run dev -\- -\-port $ZC_SLATE_PORT` |
| Angular | `npm start -\- -\-port $ZC_SLATE_PORT` |
| Vue (Vite) | `npm run dev -\- -\-port $ZC_SLATE_PORT` |
| Preact | `npm run dev -\- -\-port $ZC_SLATE_PORT` |
| Svelte | `npm run dev -\- -\-port $ZC_SLATE_PORT` |
| Endpoint | Request Method | Purpose | Possible Expected Responses |
|---|---|---|---|
| `/getauth` | `GET` |
|
Returns the required **Catalyst Custom Token** (JSON) or a **401** if no token is obtained. |
| `/catalystUser` | `GET` | Initializes Catalyst using request context and retrieves the details of the authenticated user. | Returns a JSON containing the end-user details. |
| Column Name | Data Type | Purpose |
|---|---|---|
| `Name` | `Var Char` | To store the name of the people you are going to send wishes to. |
| `Message` | `Text` | To store the custom message. |
| `BirthDay` | `Date` | To store the date of the birthday. |
| `Email` | `Var Char` | To store the recipient's email address. |
| `AutoSend` | `Boolean` | To choose to send the email automatically to the required person at the scheduled time. The default value will be **True**. |
| Column Name | Data Type | Max Length | |
|---|---|---|---|
| callStatus | varchar | 255 | |
| calledCountry | varchar | 255 | |
| timeOfCall | varchar | 255 | |
| fromNumber | varchar | 255 | |
| toNumber | text |
| Column Name | Data Type | Max Length |
|---|---|---|
| callStatus | varchar | 255 |
| calledCountry | varchar | 255 |
| timeOfCall | varchar | 255 |
| fromNumber | varchar | 255 |
| toNumber | text |
| Param Type | Name | Prompt message | Prompt message for validation failure |
|---|---|---|---|
| String | `productid` | Please enter the Product ID | The entered ProductID is invalid. Please check and retry. |
| `cxemail` | Please enter your Email ID | The entered email ID is invalid. Please check and retry. | |
| Date | `cxdate` | Please enter the date on which you expect the delivery | The entered date is invalid. Please check and retry. |
| String | `cxaddr` | Please enter the address where you want the order to be delivered | The entered address is invalid. Please check and retry. |
| Param Type | Name | Prompt message | Prompt message for validation failure |
|---|---|---|---|
| `cxemail` | Please provide the email ID associated with your order | The entered email ID is invalid. Please check and retry. |
| Param Type | Name | Prompt message | Prompt message for validation failure |
|---|---|---|---|
| `cxemail` | Please provide the email ID associated with your order. | The entered email ID is invalid. Please check and retry. | |
| String | `cxorderid` | Please enter your Order ID. | The entered OrderID is invalid. Please check and retry. |
| String | `cxaddr` | Please enter the address where you want the order to be delivered. | The entered address is invalid. Please check and retry. |
| Param Type | Name | Prompt message | Prompt message for validation failure |
|---|---|---|---|
| `cxemail` | Please provide the email ID associated with your order. | The entered email ID is invalid. Please check and retry. | |
| String | `cxorderid` | Please enter your Order ID. | The entered OrderID is invalid. Please check and retry. |
| Date | `cxdate` | Mention the date you would like to reschedule your order | The entered date is invalid. Please check and retry. |
| Field Name | Type |
|---|---|
| `EcomProductName` | Single Line |
| `Product_image` | URL |
| `Price` | Number |
| `Inventory Count` | Number |
| `EcomProduct Owner` | Lookup |
| Field Name | Type |
|---|---|
| `Order Name` | Single Line |
| `Contact_No` | Phone |
| `Product_Name` | Single Line |
| `OrderID` | Single Line |
| `Price` | Number |
| `Expected_Delivery_Date` | Single Line |
| `Delivery_Address` | Multi Line |
| `Order Owner` | Lookup |
| `Email Opt Out` | Checkbox |
| `Order_Status` | Single Line |
| `Product_Image` | Image Upload |
| `product_image_url` | URL |
| Param Type | Name | Prompt message | Prompt message for validation failure |
|---|---|---|---|
| String | `productid` | Please enter the Product ID | The entered ProductID is invalid. Please check and retry. |
| `cxemail` | Please enter your Email Address | The entered email address is invalid. Please check and retry. | |
| Date | `cxdate` | Please enter the date on which you expect the delivery | The entered date is invalid. Please check and retry. |
| String | `cxaddr` | Please enter the address where you want the order to be delivered | The entered address is invalid. Please check and retry. |
| Param Type | Name | Prompt message | Prompt message for validation failure |
|---|---|---|---|
| `cxemail` | Please provide the email address associated with your order | The entered email address is invalid. Please check and retry. |
| Param Type | Name | Prompt message | Prompt message for validation failure |
|---|---|---|---|
| `cxemail` | Please provide the email Address associated with your order. | The entered email address is invalid. Please check and retry. | |
| String | `cxorderid` | Please enter your Order ID. | The entered OrderID is invalid. Please check and retry. |
| String | `cxaddr` | Please enter the address where you want the order to be delivered. | The entered address is invalid. Please check and retry. |
| Param Type | Name | Prompt message | Prompt message for validation failure |
|---|---|---|---|
| `cxemail` | Please provide the email ID associated with your order. | The entered email ID is invalid. Please check and retry. | |
| String | `cxorderid` | Please enter your Order ID. | The entered OrderID is invalid. Please check and retry. |
| Date | `cxdate` | Mention the date you would like to reschedule your order | The entered date is invalid. Please check and retry. |
| Field Name | Type |
|---|---|
| `EcomProductName` | Single Line |
| `Product_image` | URL |
| `Price` | Number |
| `Inventory Count` | Number |
| `EcomProduct Owner` | User |
| Field Name | Type |
|---|---|
| `Order Name` | Single Line |
| `Email` | |
| `Contact_No` | Phone |
| `Product_Name` | Single Line |
| `OrderID` | Single Line |
| `Order_Status` | Single Line |
| `Order_Owner` | User |
| `Modified By` | Single Line |
| `Price` | Number |
| `Delivery_Address` | Multi Line |
| `product_image_url` | URL |
| `Expected_Delivery_Date` | Single Line |
| Key | Development Value |
|---|---|
| `client_secret` | Value fetched from the API console |
| `auth_url` | https://accounts.zoho.com/oauth/v2/auth |
| `refresh_url` | https://accounts.zoho.com/oauth/v2/token |
| `refresh_token` | Value fetched from the API console |
| `crmapiurl` | www.zohoapis.com |
| Column Name | Data Type | Purpose |
|---|---|---|
| `UserName` | `Var Char` | To store the details of the user accessing the application. |
| `BucketPath` | `Var Char` | To store the path of the required image (object). |
| `UserZuid` | `Var Char` | To store the unique user ID of the end user signed up to your application. |
| `IsUpdate` | `Boolean` | To store shared image access type as a Boolean: True for Edit, False for View. |
| `SharedBy` | `Var Char` | To store details of the registered user that had shared the image. |
| Application Functionality | APIs Present in the `index.js` | Functions present in the `helperfunction.js` |
|---|---|---|
| To resize and upload images as thumbnails | `/convertToThumbnailAndUpload` | `uploadToStratus()` |
| Get required images from the bucket | `/fetchAllImages` | `listMyObjects()` |
| Get shared images alone | `/getSharedImages` | `listSharedObjects()` `listMyObjects()` |
| Fruit (Partition Key) | Variety (Sort Key) | Color (Index) |
|---|---|---|
| Apple | Royal Gala | Red |
| Apple | Fuji | Red |
| Banana | Cavendish | Yellow |
| Banana | Red Dacca | Red |
| Request Method | Endpoint | Purpose |
|---|---|---|
| `POST` | `/addtask` | To create a new task. |
| `GET` | `/filtertask` | To filter created tasks by *UserID*, *TaskName* or *Status* fields. |
| `DELETE` | `/deletetask` | To delete tasks that are no longer required. |
| `POST` | `/updatetask` | To update the content of an existing task. |
| Package Name | Purpose |
|---|---|
| `Express` | To route HTTP requests. |
| `Axios` | To send and handle HTTP requests |
| Column Name | Data Type | Max Length |
|---|---|---|
| StratusUpload | Var Char | 255 |
| WorkDriveSync | Var Char | 255 |
| UploadedTime | Var Char | 255 |
| FileSize | Int | - |
| WorkDriveFileID | Text | - |
| Column Name | Data Type | Max Length |
|---|---|---|
| StratusUpload | Var Char | 255 |
| WorkDriveSync | Var Char | 255 |
| UploadedTime | Var Char | 255 |
| FileSize | Int | - |
| WorkDriveFileID | Text | - |
Check console for details.
| Component Name | Purpose |
|---|---|
| [Dynamic MCP Server](https://docs.catalyst.zoho.com/en/ai-toolkit/catalyst-mcp-server/overview/#catalyst-mcp-server-1) | To provide AI models with the required context and access to perform actions in the Catalyst console. Being a Dynamic server it does not require tool context to be configured. It'll automatically load the required MCP Tool to execute your prompt. |
| [15 Product Skill Files](https://github.com/catalystbyzoho/agent-skills) | Carefully crafted skill files to instruct the AI model on the implementation steps of various Catalyst components. |
| [4 AI Architect Skill Files](https://github.com/catalystbyzoho/agent-skills) | Skill files exclusively tailored to feed popular AI models like Claude.ai, Codex, CoPilot, and Cursor with context in the most optimized manner. |
| Coding Agent | Steps to Connect | Download Catalyst AI Plugin |
|---|---|---|
| Claude Code | [Steps to Connect to Claude Code](https://docs.catalyst.zoho.com/en/ai-toolkit/catalyst-plugin/install-catalyst-ai-plugin/#claude-code) | [Install Now](https://claude.com/plugins/catalyst-by-zoho) |
| Codex | [Steps to Connect to Codex](https://docs.catalyst.zoho.com/en/ai-toolkit/catalyst-plugin/install-catalyst-ai-plugin/#chatgpt-codex) | [Install Now](https://chatgpt.com/plugins/share/bfcaf08ef64b4f1984849450cfbc2564) |
| CoPilot | [Steps to Connect to CoPilot](https://docs.catalyst.zoho.com/en/ai-toolkit/catalyst-plugin/install-catalyst-ai-plugin/#vs-code-copilot) | [Install Now](http://vscode://chat-plugin/install?source=catalystbyzoho/copilot-plugin&plugin=catalyst-by-zoho) |
| Skill File | Description |
|---|---|
| [`catalyst-by-zoho`](https://github.com/catalystbyzoho/agent-skills/tree/main/catalyst-by-zoho) | Entry point and routing layer for the Catalyst skill set. Establishes the core development philosophy and directs queries to the most relevant skill. |
| [`catalyst-basics`](https://github.com/catalystbyzoho/agent-skills/tree/main/skills/catalyst-basics) | Provides context on [CLI commands](https://docs.catalyst.zoho.com/en/cli/v1/cli-command-reference/), project structure, environments (Local, Development, Production), and how to locate Catalyst IDs such as Project ID, ZAID, Table ID, and Segment ID. |
| [`catalyst-functions`](https://github.com/catalystbyzoho/agent-skills/tree/main/skills/catalyst-functions) | Provides context on all 7 [serverless function](https://docs.catalyst.zoho.com/en/serverless/help/functions/introduction/) types, handler signatures, [API Gateway](https://docs.catalyst.zoho.com/en/cloud-scale/help/api-gateway/introduction/) configuration, Security Rules, CORS, and file uploads. |
| [`catalyst-appsail`](https://github.com/catalystbyzoho/agent-skills/tree/main/skills/catalyst-appsail) | Provides context on the [AppSail](https://docs.catalyst.zoho.com/en/serverless/help/appsail/introduction/) PaaS layer: managed runtimes ([Node.js](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/overview/), [Java](https://docs.catalyst.zoho.com/en/sdk/java/v1/overview/), [Python](https://docs.catalyst.zoho.com/en/sdk/python/v1/overview/)) and custom Docker container deployment. |
| [`catalyst-slate`](https://github.com/catalystbyzoho/agent-skills/tree/main/skills/catalyst-slate) | Provides context on [Slate](https://docs.catalyst.zoho.com/en/slate/help/introduction/) frontend hosting: Git-based deployments, framework setup, and cross-domain function calls from the frontend. |
| [`catalyst-authentication`](https://github.com/catalystbyzoho/agent-skills/tree/main/skills/catalyst-authentication) | Provides context on Catalyst [authentication](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/introduction/): user signup and login, ZAID, hosted and embedded login, and OAuth Connections for external APIs. |
| [`catalyst-datastore`](https://github.com/catalystbyzoho/agent-skills/tree/main/skills/catalyst-datastore) | Provides context on the relational [Data Store](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/introduction/): ZCQL queries, CRUD operations, table permissions, result unwrapping, and pagination. |
| [`catalyst-nosql`](https://github.com/catalystbyzoho/agent-skills/tree/main/skills/catalyst-nosql) | Provides context on the [NoSQL](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/introduction/) document store: key-value tables, the NoSQLItem builder, and schemaless data patterns. |
| [`catalyst-cache`](https://github.com/catalystbyzoho/agent-skills/tree/main/skills/catalyst-cache) | Provides context on the in-memory [Cache](https://docs.catalyst.zoho.com/en/cloud-scale/help/cache/introduction/): key-value storage with TTL, Segment IDs, and TTL reset behavior. |
| [`catalyst-stratus`](https://github.com/catalystbyzoho/agent-skills/tree/main/skills/catalyst-stratus) | Provides context on [Stratus](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/introduction/) object storage: file upload and download, signed URLs, multipart uploads, and bucket naming. |
| [`catalyst-signals`](https://github.com/catalystbyzoho/agent-skills/tree/main/skills/catalyst-signals) | Provides context on the [Signals](https://docs.catalyst.zoho.com/en/signals/getting-started/introduction/) event-driven architecture: publishers, events, rules, targets, dispatch policies, and deployment constraints. |
| [`catalyst-smartbrowz`](https://github.com/catalystbyzoho/agent-skills/tree/main/skills/catalyst-smartbrowz) | Provides context on [SmartBrowz](https://docs.catalyst.zoho.com/en/smartbrowz/getting-started/introduction/): browser automation, [Browser Logic](https://docs.catalyst.zoho.com/en/smartbrowz/help/browser-logic/introduction/) functions, PDF and screenshot generation, and [Dataverse](https://docs.catalyst.zoho.com/en/smartbrowz/help/dataverse/introduction/). |
| [`catalyst-zia`](https://github.com/catalystbyzoho/agent-skills/tree/main/skills/catalyst-zia) | Provides context on [Zia Services](https://docs.catalyst.zoho.com/en/zia-services/getting-started/introduction/) and [QuickML](https://docs.catalyst.zoho.com/en/quickml/getting-started/introduction/): OCR, face analytics, text analytics, object detection, barcode scanning, content moderation, and custom AutoML model training. |
| [`catalyst-zoho-mcp`](https://github.com/catalystbyzoho/agent-skills/tree/main/skills/catalyst-zoho-mcp) | Provides context on MCP setup and usage: connecting Zoho MCP to an AI client, using `CatalystbyZoho_*` tools via `ZohoMCP_*` meta-tools, and switching data centers. |
| [`catalyst-sdk`](https://github.com/catalystbyzoho/agent-skills/tree/main/skills/catalyst-sdk) | Provides context on SDK initialization patterns and service access methods for [Node.js](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/overview/), [Java](https://docs.catalyst.zoho.com/en/sdk/java/v1/overview/), [Python](https://docs.catalyst.zoho.com/en/sdk/python/v1/overview/), [JavaScript](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/overview/), Android, iOS, and Flutter. |
| [`catalyst-pricing`](https://github.com/catalystbyzoho/agent-skills/tree/main/skills/catalyst-pricing) | Provides context on free tier limits, pay-as-you-go rates, GB-seconds calculation, and cost estimation. |
| Catalyst Component | MCP Tool | Purpose |
|---|---|---|
| [Authentication](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/introduction/) | `Enable_Authentication` | Enables user authentication on the project, securing all subscription endpoints before access is granted |
| `List_All_Roles` | Retrieves existing roles to verify and configure Super Admin, Account Owner, and Member access levels | |
| [API Gateway](https://docs.catalyst.zoho.com/en/cloud-scale/help/api-gateway/introduction/) | `Configure_API_Gateway_Route` | Creates the subscription creation, renewal, cancellation, and usage tracking API endpoints |
| `Create_CORS_Domain` | Registers the client portal origin to permit cross-origin API requests from the front-end | |
| [Web Client Hosting](https://docs.catalyst.zoho.com/en/cloud-scale/help/web-client-hosting/introduction/) | `List_All_Web_Apps` | Retrieves web app configurations to support deploying the client-facing subscription portal |
| [Job Pool](https://docs.catalyst.zoho.com/en/job-scheduling/help/jobpool/introduction/) | `Create_Job_Pool` | Creates a pool to manage concurrent subscription renewal job execution |
| [Jobs](https://docs.catalyst.zoho.com/en/job-scheduling/help/job/introduction/) | `Create_Immediate_Job` | Triggers on-demand plan upgrade jobs instantly for real-time plan change requests |
| [Cache](https://docs.catalyst.zoho.com/en/cloud-scale/help/cache/introduction/) | `Create_Segment` | Creates a dedicated cache segment to hold active subscription state data |
| `Create_Cache_Item` | Stores individual subscription states in the segment to reduce authentication overhead per request | |
| [Cron](https://docs.catalyst.zoho.com/en/job-scheduling/help/cron/introduction/) | `Create_Cron_Job` | Schedules the monthly midnight renewal processing job to run on the first of every month |
| [Stratus](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/introduction/) | `Create_Bucket` | Creates the billing-archives bucket to store versioned monthly billing summaries |
| `Generate_Signed_URL` | Generates pre-signed URLs for account owners to securely download their invoices without platform authentication |
| Catalyst Component | MCP Tool | Purpose |
|---|---|---|
| [Dataverse](https://docs.catalyst.zoho.com/en/smartbrowz/help/dataverse/introduction/) | `Lead_Enrichment` | Gathers detailed company and contact data to enrich the target prospect records |
| `Similar_Companies` | Identifies adjacent prospects in the same industry vertical for pipeline expansion | |
| `Tech_Stack_Finder` | Qualifies prospects based on their existing technology infrastructure | |
| [Datastore](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/introduction/) | `Create_Table` | Creates the Prospect Pipeline table to store all enriched and qualified lead records |
| `Insert_Rows` | Inserts enriched lead records into the Prospect Pipeline table | |
| [Jobs](https://docs.catalyst.zoho.com/en/job-scheduling/help/job/introduction/) | `Create_Bulk_Write_Job` | Imports existing CRM exports into the Prospect Pipeline table via a bulk write operation |
| [Circuits](https://docs.catalyst.zoho.com/en/serverless/help/circuits/introduction/) | `Execute_Circuit` | Orchestrates the end-to-end enrichment and qualification workflow from lead intake to scoring |
| [Job Pool](https://docs.catalyst.zoho.com/en/job-scheduling/help/jobpool/introduction/) | `Create_Job_Pool` | Creates a pool to manage concurrent enrichment jobs across large prospect batches |
| [Cron](https://docs.catalyst.zoho.com/en/job-scheduling/help/cron/introduction/) | `Create_Cron_Job` | Schedules the weekly Monday 6:00 AM refresh job to pull in newly enriched pipeline data |
| [API Gateway](https://docs.catalyst.zoho.com/en/cloud-scale/help/api-gateway/introduction/) | `Configure_API_Gateway_Route` | Exposes prospect data via API routes for the front-end sales dashboard to consume |
| [Cache](https://docs.catalyst.zoho.com/en/cloud-scale/help/cache/introduction/) | `Create_Segment` | Creates a dedicated cache segment to store the top-ranked prospect records |
| `Create_Cache_Item` | Caches the top 100 ranked prospects for instant dashboard load without datastore queries | |
| [Stratus](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/introduction/) | `Create_Bucket` | Creates the sales-intelligence bucket to store prospect export files |
| `Generate_Signed_URL` | Generates pre-signed URLs for the sales team to securely download their assigned prospect lists |
| Catalyst Component | MCP Tool | Purpose |
|---|---|---|
| [API Gateway](https://docs.catalyst.zoho.com/en/cloud-scale/help/api-gateway/introduction/) | `Configure_API_Gateway_Route` | Creates endpoints for order intake, driver assignment, status updates, and delivery confirmation |
| [Serverless Functions](https://docs.catalyst.zoho.com/en/serverless/help/functions/introduction/) | `Execute_Function_Via_POST` | Executes order creation and assignment functions via POST for new delivery submissions |
| `Execute_Function_Via_PATCH` | Executes status update functions via PATCH for incremental delivery status transitions | |
| `Create_Env_Variables` | Sets region-specific API keys and routing service credentials as function environment variables | |
| [Job Pool](https://docs.catalyst.zoho.com/en/job-scheduling/help/jobpool/introduction/) | `Create_Job_Pool` | Creates a pool to manage concurrent dispatch jobs across simultaneous delivery assignments |
| [Jobs](https://docs.catalyst.zoho.com/en/job-scheduling/help/job/introduction/) | `Create_Immediate_Job` | Triggers urgent on-demand delivery assignment jobs instantly for priority dispatches |
| [Cache](https://docs.catalyst.zoho.com/en/cloud-scale/help/cache/introduction/) | `Create_Segment` | Creates a dedicated cache segment to hold real-time delivery status data |
| `Create_Cache_Item` | Caches per-order delivery status so the tracking dashboard polls without backend round-trips | |
| [Cron](https://docs.catalyst.zoho.com/en/job-scheduling/help/cron/introduction/) | `Create_Cron_Job` | Schedules an hourly job to reconcile undelivered orders and surface delivery exceptions |
| [Stratus](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/introduction/) | `Create_Bucket` | Creates the delivery-records bucket to store confirmation documents and proof-of-delivery images |
| `Generate_Signed_URL` | Generates pre-signed URLs for customers to access delivery confirmation records securely | |
| [Logs](https://docs.catalyst.zoho.com/en/devops/help/logs/introduction/) | `Get_Logs` | Retrieves logs filtered by error level to proactively detect and monitor failed delivery events |
| Catalyst Component | MCP Tool | Purpose |
|---|---|---|
| [Authentication](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/introduction/) | `Enable_Authentication` | Enables user authentication to secure the content platform across all editorial roles |
| `List_All_Roles` | Retrieves existing roles to configure Writer, Editor, and Publisher access levels | |
| [API Gateway](https://docs.catalyst.zoho.com/en/cloud-scale/help/api-gateway/introduction/) | `Configure_API_Gateway_Route` | Creates endpoints for content submission, review, approval, and scheduling |
| `Create_CORS_Domain` | Registers the editorial dashboard and public reader portal as separate allowed CORS origins | |
| [Circuits](https://docs.catalyst.zoho.com/en/serverless/help/circuits/introduction/) | `Execute_Circuit` | Orchestrates the end-to-end editorial workflow from submission through to publication |
| [Cron](https://docs.catalyst.zoho.com/en/job-scheduling/help/cron/introduction/) | `Create_Cron_Job` | Schedules automated article publication at release times and weekly digest notifications every Friday |
| [Stratus](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/introduction/) | `Create_Bucket` | Creates the content-assets bucket to store media files including images, videos, and attachments |
| `Create_Upload_Signature` | Generates pre-signed upload signatures for writers to upload media assets directly from the browser | |
| [Cache](https://docs.catalyst.zoho.com/en/cloud-scale/help/cache/introduction/) | `Create_Segment` | Creates a dedicated cache segment to hold recently published article data |
| `Create_Cache_Item` | Caches the most recently published articles to accelerate front-end load times | |
| [Web Client Hosting](https://docs.catalyst.zoho.com/en/cloud-scale/help/web-client-hosting/introduction/) | `List_All_Web_Apps` | Retrieves web app configurations to support deploying the content platform |
| Catalyst Component | MCP Tool | Purpose |
|---|---|---|
| [API Gateway](https://docs.catalyst.zoho.com/en/cloud-scale/help/api-gateway/introduction/) | `Configure_API_Gateway_Route` | Creates endpoints for event creation, attendee registration, ticket generation, and cancellation |
| [Serverless Functions](https://docs.catalyst.zoho.com/en/serverless/help/functions/introduction/) | `Execute_Function_Via_GET` | Executes event and ticket retrieval functions via GET requests |
| `Execute_Function_Via_POST` | Executes event creation and attendee registration functions via POST requests | |
| `Execute_Function_Via_PUT` | Executes event update functions via PUT requests | |
| `Execute_Function_Via_DELETE` | Executes cancellation and cleanup functions via DELETE requests | |
| [Authentication](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/introduction/) | `Enable_Authentication` | Enables user authentication to secure event creation, ticketing, and registration operations |
| `List_All_Roles` | Retrieves and configures roles for Event Organizer, Attendee, and Platform Admin | |
| [Job Pool](https://docs.catalyst.zoho.com/en/job-scheduling/help/jobpool/introduction/) | `Create_Job_Pool` | Creates a pool to manage high-concurrency ticket processing during peak registration windows |
| [Jobs](https://docs.catalyst.zoho.com/en/job-scheduling/help/job/introduction/) | `Create_Immediate_Job` | Triggers on-demand ticket reissuance jobs instantly when requested |
| `Create_Bulk_Read_Job` | Creates a bulk read job to export attendee data for post-event reporting | |
| [Cache](https://docs.catalyst.zoho.com/en/cloud-scale/help/cache/introduction/) | `Create_Segment` | Creates a dedicated cache segment to store event capacity and availability data |
| `Create_Cache_Item` | Caches event capacity state to prevent overselling under high registration load | |
| [Cron](https://docs.catalyst.zoho.com/en/job-scheduling/help/cron/introduction/) | `Create_Cron_Job` | Schedules pre-event automated reminder dispatch and post-event attendee data export trigger |
| [Stratus](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/introduction/) | `Create_Bucket` | Creates the event-assets and event-reports buckets for event materials and exported attendee data |
| `Generate_Signed_URL` | Generates pre-signed URLs for attendees to securely access event materials |
| Catalyst Component | MCP Tool | Purpose |
|---|---|---|
| [AppSail](https://docs.catalyst.zoho.com/en/serverless/help/appsail/) | `List_All_AppSail` | Retrieves all existing AppSail service configurations for mapping to API routes |
| `Get_AppSail` | Retrieves detailed configuration for each individual AppSail service | |
| `Create_Env_Variables` | Sets runtime credentials and service-to-service communication keys per service deployment | |
| [API Gateway](https://docs.catalyst.zoho.com/en/cloud-scale/help/api-gateway/introduction/) | `Configure_API_Gateway_Route` | Maps each microservice to its corresponding API Gateway route |
| `Create_CORS_Domain` | Registers each service's permitted front-end origin as a separate CORS domain | |
| [Circuits](https://docs.catalyst.zoho.com/en/serverless/help/circuits/introduction/) | `Execute_Circuit` | Orchestrates cross-service workflows such as payment confirmation triggering notifications and analytics logging |
| [Job Pool](https://docs.catalyst.zoho.com/en/job-scheduling/help/jobpool/introduction/) | `Create_Job_Pool` | Creates a pool to manage concurrent background processing jobs across all microservices |
| [Cron](https://docs.catalyst.zoho.com/en/job-scheduling/help/cron/introduction/) | `Create_Cron_Job` | Schedules maintenance window jobs for payments reconciliation, analytics aggregation, and notification queue flush |
| [Cache](https://docs.catalyst.zoho.com/en/cloud-scale/help/cache/introduction/) | `Create_Segment` | Creates a dedicated cache segment to store inter-service authentication tokens |
| `Create_Cache_Item` | Caches authentication tokens to eliminate redundant token generation on every service call | |
| [Stratus](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/introduction/) | `Create_Bucket` | Creates the microservices-audit bucket to store service-level audit logs |
| [Authentication](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/introduction/) | `Enable_Authentication` | Enables platform-level authentication to secure all microservice interactions |
| `List_All_Roles` | Retrieves and configures roles scoped to each microservice domain |
| Catalyst Component | MCP Tool | Purpose |
|---|---|---|
| [Authentication](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/introduction/) | `Enable_Authentication` | Enables user authentication for the healthcare platform, securing all patient and physician data |
| `List_All_Roles` | Configures Patient, Physician, Nurse, and Admin roles with appropriate access levels | |
| [Datastore](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/introduction/) | `Update_Table_Permissions` | Sets granular table permissions so patients can only read and write their own records |
| `Update_Table_Scopes` | Configures table scope to enforce per-user data isolation across patient records | |
| [API Gateway](https://docs.catalyst.zoho.com/en/cloud-scale/help/api-gateway/introduction/) | `Configure_API_Gateway_Route` | Creates endpoints for appointment booking, cancellation, rescheduling, and medical record retrieval |
| [Serverless Functions](https://docs.catalyst.zoho.com/en/serverless/help/functions/introduction/) | `Execute_Function_Via_GET` | Executes medical record and schedule retrieval functions via GET requests |
| `Execute_Function_Via_POST` | Executes appointment booking functions via POST requests | |
| `Execute_Function_Via_PATCH` | Executes appointment rescheduling functions via PATCH for partial updates | |
| `Create_Env_Variables` | Configures HIPAA-compliant service credentials and encryption keys as function environment variables | |
| [Circuits](https://docs.catalyst.zoho.com/en/serverless/help/circuits/introduction/) | `Execute_Circuit` | Orchestrates the appointment confirmation workflow including availability checks and notification dispatch |
| [Cron](https://docs.catalyst.zoho.com/en/job-scheduling/help/cron/introduction/) | `Create_Cron_Job` | Schedules the 7:00 AM daily schedule generation job and the 10:00 PM completed appointment archival job |
| [Stratus](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/introduction/) | `Create_Bucket` | Creates the patient-records bucket to store documents, lab reports, and prescriptions |
| `Generate_Signed_URL` | Generates per-patient time-limited pre-signed URLs for secure document access | |
| [Cache](https://docs.catalyst.zoho.com/en/cloud-scale/help/cache/introduction/) | `Create_Segment` | Creates a dedicated cache segment to store physician availability slots |
| `Create_Cache_Item` | Caches physician availability slots to accelerate the appointment booking experience |
| Catalyst Component | MCP Tool | Purpose |
|---|---|---|
| [API Gateway](https://docs.catalyst.zoho.com/en/cloud-scale/help/api-gateway/introduction/) | `Configure_API_Gateway_Route` | Creates endpoints for device registration, data ingestion, threshold alerts, and device status updates |
| [Serverless Functions](https://docs.catalyst.zoho.com/en/serverless/help/functions/introduction/) | `Execute_Function_Via_POST` | Executes data ingestion functions via POST for incoming sensor data streams |
| `Execute_Function_Via_GET` | Executes device status retrieval functions via GET requests | |
| `Create_Env_Variables` | Configures facility-specific device authentication credentials as function environment variables | |
| [Job Pool](https://docs.catalyst.zoho.com/en/job-scheduling/help/jobpool/introduction/) | `Create_Job_Pool` | Creates a pool to manage high-concurrency data ingestion jobs from simultaneous device streams |
| [Jobs](https://docs.catalyst.zoho.com/en/job-scheduling/help/job/introduction/) | `Create_Immediate_Job` | Triggers on-demand device diagnostic jobs instantly for field engineer requests |
| `Create_Bulk_Read_Job` | Creates a bulk read job to export the day's sensor data for archival at midnight | |
| [Circuits](https://docs.catalyst.zoho.com/en/serverless/help/circuits/introduction/) | `Execute_Circuit` | Orchestrates the alert workflow evaluating sensor readings against thresholds and triggering breach notifications |
| [Cron](https://docs.catalyst.zoho.com/en/job-scheduling/help/cron/introduction/) | `Create_Cron_Job` | Schedules the 15-minute telemetry aggregation job and the midnight sensor data archival job |
| [Stratus](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/introduction/) | `Create_Bucket` | Creates the iot-telemetry bucket to store versioned archived telemetry and device configuration files |
| [Cache](https://docs.catalyst.zoho.com/en/cloud-scale/help/cache/introduction/) | `Create_Segment` | Creates a dedicated cache segment to store the latest sensor readings per device |
| `Create_Cache_Item` | Caches the most recent sensor reading per device for near real-time dashboard display | |
| [Logs](https://docs.catalyst.zoho.com/en/devops/help/logs/introduction/) | `Get_Logs` | Retrieves logs filtered by error level to detect device connectivity failures |
| Zoho Service | MCP Tool | Purpose |
|---|---|---|
| [Catalyst by Zoho](https://docs.catalyst.zoho.com/en/ai-toolkit/catalyst-mcp-server/overview/) | `Create_Table` | Creates the Support Intelligence datastore table to store enriched ticket and contact records |
| `Insert_Rows` | Inserts enriched ticket and contact data into the Support Intelligence table | |
| `Execute_Circuit` | Orchestrates the full triage workflow from ticket webhook receipt through enrichment, priority evaluation, and agent reassignment | |
| `Create_Cron_Job` | Schedules the daily 7:00 AM job to generate and export the support health report | |
| `Create_Bulk_Read_Job` | Exports the daily report data from the datastore for storage in the support-reports Stratus bucket | |
| `Create_Immediate_Job` | Triggers on-demand triage and enrichment for newly received ticket webhooks outside the scheduled run | |
| [Zoho Desk](https://www.zoho.com/en-in/desk/) | `getTickets` | Pulls all open and overdue tickets from the helpdesk for triage and enrichment |
| `searchTickets` | Searches tickets to filter overdue and high-priority cases requiring escalation | |
| `getContact` | Retrieves the contact details associated with each ticket for Dataverse enrichment | |
| `updateTicket` | Updates ticket priority tags to escalate issues from identified high-value customers | |
| `getAgents` | Retrieves available agents by department for automatic ticket reassignment | |
| [Zoho CRM](https://www.zoho.com/en-in/crm/?src=zGlobalAllProducts&src1=zGlobalAllProductsFilter) | `getLeadsRecords` | Cross-references enriched contacts against CRM lead records to identify high-value prospects with active support issues |
| `getAccountsRecord` | Retrieves CRM account data to flag high-value customers experiencing recurring support problems | |
| `Lead_Enrichment` | Enriches ticket contact records with additional company and lead intelligence from Catalyst Dataverse | |
| [Zoho Analytics](https://www.zoho.com/analytics/) | `import_data` | Pushes enriched ticket and contact data into the Zoho Analytics workspace |
| `query_data` | Queries aggregated support data to compile the daily health report | |
| `create_chart_report` | Creates a chart breaking down ticket volume by priority, department, and resolution time | |
| `create_summary_report` | Creates a summary report for the daily support health dashboard |
| Zoho Service | MCP Tool | Purpose |
|---|---|---|
| [Catalyst by Zoho](https://docs.catalyst.zoho.com/en/ai-toolkit/catalyst-mcp-server/overview/) | `Execute_Circuit` | Triggers the fulfillment workflow when a Books sales order is approved, orchestrating delivery challan creation, team assignment, and project task updates |
| `Configure_API_Gateway_Route` | Creates API endpoints for order status, fulfillment tracking, and invoice generation | |
| `Create_Cron_Job` | Schedules the weekly Monday 8:00 AM sales summary generation job | |
| `Create_Bulk_Read_Job` | Generates the weekly sales summary by exporting order data from the datastore for storage in the sales-exports bucket | |
| `Create_Serverless_Function` | Creates the webhook handler function that receives and processes Zoho Books invoice approval and overdue events | |
| [Zoho Books](https://www.zoho.com/us/books/) | `create_sales_order` | Creates a sales order when a new product order is initiated in the platform |
| `create_invoice` | Generates invoices for completed and approved product orders | |
| `create_delivery_challan` | Creates a delivery challan when the Catalyst circuit triggers fulfillment for an approved order | |
| `create_recurring_invoice` | Sets up a recurring invoice profile for subscription-based product orders | |
| `enable_recurring_invoice_autobill` | Enables automatic billing against the customer's stored payment method for recurring subscriptions | |
| `create_webhook` | Sets up a Zoho Books webhook to notify the Catalyst circuit when invoices are approved or become overdue | |
| `bulk_invoice_reminder` | Sends automated payment reminder emails to customers with overdue invoices | |
| [Zoho Analytics](https://www.zoho.com/analytics/) | `import_data` | Pushes order, invoice, and delivery data into the Zoho Analytics workspace |
| `create_pivot_report` | Creates a pivot report showing revenue broken down by product category and customer | |
| `create_summary_report` | Creates a summary report tracking order-to-delivery cycle times | |
| `create_chart_report` | Creates a chart report for visual revenue trend analysis across the product portfolio |
| Zoho Service | MCP Tool | Purpose |
|---|---|---|
| [Catalyst by Zoho](https://docs.catalyst.zoho.com/en/ai-toolkit/catalyst-mcp-server/overview/) | `Lead_Enrichment` | Enriches prospect records with detailed company and contact intelligence for qualification |
| `Similar_Companies` | Identifies new prospects similar to existing high-value accounts for pipeline expansion | |
| `Tech_Stack_Finder` | Qualifies prospects based on their existing technology infrastructure before CRM entry | |
| `Create_Cron_Job` | Schedules the weekly Friday 5:00 PM pipeline report generation job | |
| `Create_Table` | Creates the Meeting Intelligence table to store post-meeting attendance and engagement data | |
| `Insert_Rows` | Stores participant report and meeting engagement data in the Meeting Intelligence table | |
| [Zoho CRM](https://www.zoho.com/en-in/crm/?src=zGlobalAllProducts&src1=zGlobalAllProductsFilter) | `createLeadsRecords` | Pushes enriched prospect records into Zoho CRM as new lead entries with assigned owners |
| `postWorkflowRule` | Configures the CRM workflow rule that triggers when a lead reaches the qualified stage to initiate the estimate and meeting flow | |
| `getDealsRecords` | Retrieves open deal data from CRM for the weekly pipeline report consolidation | |
| `updateLeadsRecord` | Updates lead records with qualification status and owner assignments after enrichment | |
| [Zoho Books](https://www.zoho.com/us/books/) | `create_estimate` | Creates a sales estimate in Zoho Books when a CRM lead reaches the qualified stage |
| `email_estimate` | Sends the estimate to the prospect for review immediately after creation | |
| `approve_estimate` | Marks estimates as approved for tracking in the estimate-to-deal conversion pipeline | |
| [Zoho Meeting](https://www.zoho.com/meeting/) | `createMeetingSession` | Schedules a Zoho Meeting between the assigned sales rep and the qualified prospect |
| `getParticipantReport` | Retrieves post-meeting attendance and engagement data for storage in the Meeting Intelligence table | |
| `getMeetingDetails` | Retrieves full meeting metadata to store alongside engagement records in the Meeting Intelligence table | |
| [Zoho Analytics](https://www.zoho.com/analytics/) | `import_data` | Pushes consolidated pipeline, estimate, and meeting engagement data into the Analytics workspace |
| `query_data` | Queries CRM deals, Books estimates, and Meeting Intelligence data for the weekly pipeline report | |
| `create_chart_report` | Creates a pipeline value by stage chart report for the weekly revenue summary | |
| `create_summary_report` | Creates an estimate-to-deal conversion rate summary report for the dashboard |
| Zoho Service | MCP Tool | Purpose |
|---|---|---|
| [Catalyst by Zoho](https://docs.catalyst.zoho.com/en/ai-toolkit/catalyst-mcp-server/overview/) | `Execute_Circuit` | Orchestrates the engagement workflow per at-risk account, triggering CRM task creation, meeting scheduling, and retention estimate generation |
| `Create_Cache_Item` | Stores at-risk account data and engagement action states in a cache segment for fast retrieval by the account management dashboard | |
| `Create_Job_Pool` | Manages concurrent engagement workflows across large at-risk account volumes | |
| `Create_Cron_Job` | Schedules the Sunday 6:00 AM refresh of the at-risk account list | |
| `Create_Immediate_Job` | Triggers the engagement workflow immediately for newly identified at-risk accounts outside the scheduled refresh | |
| [Zoho Desk](https://www.zoho.com/en-in/desk/) | `getTickets` | Pulls open tickets to identify contacts with more than three unresolved tickets in the past 30 days |
| `searchTickets` | Searches for unresolved tickets from the past 30 days to build the at-risk contact list | |
| `getContact` | Retrieves contact details for ticket owners to cross-reference against CRM accounts | |
| `getContactStatistics` | Gets ticket statistics per contact to identify those exceeding the three-ticket threshold in the 30-day window | |
| [Zoho CRM](https://www.zoho.com/en-in/crm/?src=zGlobalAllProducts&src1=zGlobalAllProductsFilter) | `getAccountsRecord` | Retrieves CRM account records to match against identified at-risk contacts and confirm account value |
| `updateDealsRecord` | Updates deal records for at-risk accounts to flag escalation status for the account owner | |
| `createWorkflowTasks` | Creates a CRM follow-up task for the account owner for each identified at-risk account | |
| [Zoho Books](https://www.zoho.com/us/books/) | `create_pricebook` | Creates the custom pricebook containing special retention pricing offers for at-risk accounts |
| `create_estimate` | Generates a personalised retention estimate with the special pricing offer for each at-risk account | |
| `apply_pricebook_to_invoice` | Applies the retention pricebook pricing to the generated estimate for the at-risk customer | |
| [Zoho Analytics](https://www.zoho.com/analytics/) | `import_data` | Pushes customer health metrics including ticket volume, deal stage, meeting history, and estimate status into the Analytics workspace |
| `create_summary_report` | Creates a report tracking engagement actions taken per account owner across the at-risk portfolio | |
| `create_chart_report` | Creates a chart visualising at-risk account distribution by industry and revenue band |
| Method | How to activate | Example |
|---|---|---|
| Command flag | Add `-ni` (or `--non-interactive`) to any command | `catalyst functions:add -ni --name InvoiceFetch --type bio --stack node24` |
| Environment variable | Set `ZCATALYST_NON_INTERACTIVE` to 1, true, or yes. (This applies to every command in that terminal session.) | For **macOS/Linux**: `export ZCATALYST_NON_INTERACTIVE=1` OR For **Windows**: `ZCATALYST_NON_INTERACTIVE=1` |
| Programmatically | Pass the non-interactive option when invoking the CLI from code. | Pass the equivalent of `-ni` as an argument in your script/CI call to the CLI. |
| Common Use Cases | Interactive CLI | Non-Interactive CLI |
|---|---|---|
| CI/CD pipelines | **Bad fit.** There's no one to answer "which project?" or "overwrite this file?", so the pipeline run just hangs waiting for input that never comes. | **Good fit.** Every answer comes from the options and defaults you supply; if something required is missing, it fails immediately with a clear message instead of hanging. |
| Local development / first-time project setup | **Good fit.** A person is at the terminal, so prompts and pick-lists guide you through choices you may not know yet (project, stack, framework). | **Bad fit.** Requires every value (project, org, stack, etc.) to be known and supplied up front, which defeats the point when you're still figuring things out. |
| Automation scripts / scheduled jobs | **Bad fit.** An unattended scheduled job will stall on the first prompt it hits, with no one to clear it. | **Good fit.** Runs start to finish without attendance, and destructive actions (like overwrite) stay safe by default unless explicitly flagged. |
| Exploratory work | **Good fit.** Pick-lists show you the available options (stacks, functions, versions) so you don't need to know the exact name or ID. | **Bad fit.** List choices must be supplied directly by name, value, or position; an unrecognized value just errors out instead of showing you what's valid. |
| Remote systems with no active session (e.g., a CI server) | **Bad fit.** Assumes a live terminal or browser session with someone present to respond to prompts. | **Good fit.** Built for exactly this: no active login session needed, given the right options and token. |
| Manual, one-off debugging | **Good fit.** Confirmations ("are you sure?") and step-by-step prompts suit a human working through a problem interactively. | **Bad fit.** Its safety rails exist for unattended runs, so forcing every value up front adds friction with no benefit when you're already there to answer prompts yourself. |
| Agent / programmatic invocation | **Bad fit.** An agent isn't a person choosing from a list; it has no way to answer a prompt, so the command just sits waiting on input that will never arrive. | **Good fit.** Removes every point where a command would otherwise stall waiting on a human, which is what makes it safely callable from code or by an agent. |
| Options | Purpose |
|---|---|
| `--ni` | `--non-interactive` | Turns on non-interactive mode for the command |
| `--dc <data-center>` | Selects the data center (us, eu, in, au, ca, sa, jp, uae) |
| `--org <org>` | Selects the organization/portal (name or ID) |
| `--project <project>` | Selects the project (name or ID) |
| Command | Required Options | Good to Know | NI CLI Command |
|---|---|---|---|
| [`catalyst init`](https://docs.catalyst.zoho.com/en/cli/v1/initialize-resources/initialize-new-project/) | `--project` |
|
```sh catalyst init -ni --project MyProject ``` |
| [`catalyst functions:add`](https://docs.catalyst.zoho.com/en/cli/v1/working-with-functions/add-functions/) |
|
|
```sh catalyst functions:add -ni --name InvoiceFetch --type bio --stack node24 ``` |
| [`catalyst functions:delete`](https://docs.catalyst.zoho.com/en/cli/v1/working-with-functions/delete-functions/) | `[function name or ID]` |
|
```sh catalyst functions:delete -ni InvoiceFetch ``` |
| `catalyst functions:execute` | `[function name]` conditional |
|
```sh catalyst functions:execute -ni InvoiceFetch --input '{"orderId":"123"}' ``` |
| [`catalyst appsail:add`](https://docs.catalyst.zoho.com/en/cli/v1/add-appsail/) |
|
|
```sh catalyst appsail:add -ni --name MyApp --source ./app --stack node24 ``` |
| [`catalyst client:setup`](https://docs.catalyst.zoho.com/en/cli/v1/working-with-the-client/set-up-client/) |
|
|
```sh catalyst client:setup -ni --type react --name myclient --flavour js ``` |
| [`catalyst client:delete`](https://docs.catalyst.zoho.com/en/cli/v1/working-with-the-client/delete-client/) | `[client version]` optional |
|
```sh catalyst client:delete -ni 1.0.0 ``` |
| [`catalyst slate:link`](https://docs.catalyst.zoho.com/en/cli/v1/working-with-slate/link-slate-app/) | `--source` |
|
```sh catalyst slate:link -ni --source ./my-app ``` |
| [`catalyst slate:create`](https://docs.catalyst.zoho.com/en/cli/v1/working-with-slate/create-slate-app/) |
|
|
```sh catalyst slate:create -ni --name MyApp --framework react ``` |
| [`catalyst slate:unlink`](https://docs.catalyst.zoho.com/en/cli/v1/working-with-slate/unlink-slate-app/) | `--name` |
|
```sh catalyst slate:unlink -ni --name MyApp ``` |
| [`catalyst pull`](https://docs.catalyst.zoho.com/en/cli/v1/pull-resources/pull-specific-resource/) |
|
|
```sh catalyst pull -ni functions --resource InvoiceFetch ``` |
| [`catalyst deploy slate`](https://docs.catalyst.zoho.com/en/cli/v1/deploy-resources/deploy-to-slate/) | `[name]` |
|
```sh catalyst deploy slate -ni MyApp ``` |
| [`catalyst login`](https://docs.catalyst.zoho.com/en/cli/v1/login/login-from-cli/) | `--dc` |
|
```sh catalyst login -ni --dc us ``` |
| Command | Why It's Disabled | Use Instead | Complete Command |
|---|---|---|---|
| [`catalyst functions:setup`](https://docs.catalyst.zoho.com/en/cli/v1/working-with-functions/set-up-functions/) | It's the interactive setup wizard for the first function in a project. It walks through picking a function type, stack, and several other selections as prompts and doesn't have an option-driven equivalent for every step, so it's blocked outright rather than partially supported. | [`catalyst functions:add`](https://docs.catalyst.zoho.com/en/cli/v1/working-with-functions/add-functions/) | ```sh catalyst functions:add -ni --name InvoiceFetch --type bio --stack node24 ``` |
| [`catalyst functions:shell`](https://docs.catalyst.zoho.com/en/cli/v1/working-with-functions/functions-shell/) | It launches a live Node shell session for testing and debugging a function interactively, which has no meaningful non-interactive form since the whole point is a human typing commands into it. | `catalyst functions:execute` (for Event, Job, and Integration functions) | ```sh catalyst functions:execute -ni InvoiceFetch --input '{"orderId":"123"}' ``` |
| CLI Commands | Description |
|---|---|
| [`Catalyst: Whoami`](https://docs.catalyst.zoho.com/en/cli/v1/identify-loggedin-user/) | Display the username and email address of the account you have used to log in to Catalyst. |
| [`Catalyst: Login to Catalyst`](https://docs.catalyst.zoho.com/en/cli/v1/login/login-from-cli/) | Log in to your Catalyst account directly from the IDE. You must log in before you can perform any of the other operations. |
| [`Catalyst: Logout from Catalyst`](https://docs.catalyst.zoho.com/en/cli/v1/logout/) | Sign out of your Catalyst account. |
| [`Catalyst: Enable verbose`](https://docs.catalyst.zoho.com/en/cli/v1/cli-options/#--verbose) | Enable verbose in logs. You can view the logs directly in your IDE by accessing **Help>toggle developer tools**. |
| [`Catalyst: Disable verbose`](https://docs.catalyst.zoho.com/en/cli/v1/cli-options/#--verbose) | Disable verbose in logs. |
| `Catalyst: Focus on Catalyst Configs View` | Directs you to the *CATALYST CONFIGS* section of the extension. |
| `Catalyst: Focus on Client View` | Directs you to the *CLIENT* section of the extension. |
| `Catalyst: Focus on HTTP Functions View` | Directs you to the *HTTP FUNCTIONS* section of the extension. |
| `Catalyst: Focus on HTTP Functions View` | Directs you to the *NON HTTP FUNCTIONS* section of the extension. |
| CLI Operations | Description |
|---|---|
| [`login`](https://docs.catalyst.zoho.com/en/cli/v1/login/login-from-cli/) | Log in to your Catalyst account. |
| [`whoami`](https://docs.catalyst.zoho.com/en/cli/v1/identify-loggedin-user/) | View the username and email address of the account you have used to sign in with Catalyst. |
| [`token:generate`](https://docs.catalyst.zoho.com/en/cli/v1/working-with-tokens/generate-token/) | Generate tokens to authenticate access to your Catalyst account without logging in. |
| [`token:revoke`](https://docs.catalyst.zoho.com/en/cli/v1/working-with-tokens/revoke-token/) | Disable an authentication token that you had previously generated. |
| [`token:list`](https://docs.catalyst.zoho.com/en/cli/v1/working-with-tokens/list-tokens/) | View a list of all the tokens that are associated with your account. |
| [`project:list`](https://docs.catalyst.zoho.com/en/cli/v1/working-with-projects/list-catalyst-projects/) | List all the projects associated created in your account. |
| [`project:use`](https://docs.catalyst.zoho.com/en/cli/v1/working-with-projects/use-catalyst-project/) | Use a particular project associated with your Catalyst account. |
| [`project:reset`](https://docs.catalyst.zoho.com/en/cli/v1/working-with-projects/reset-active-project/) | Undo the `project:use` operation. |
| [`init`](https://docs.catalyst.zoho.com/en/cli/v1/initialize-resources/introduction/) | Initialize the Catalyst Project, HTTP and non-HTTP functions, and the client components. |
| [`apig:status`](https://docs.catalyst.zoho.com/en/cli/v1/working-with-api-gateway/obtain-api-gateway-status/) | Check if API Gateway (a [Catalyst CloudScale](https://docs.catalyst.zoho.com/en/cloud-scale/getting-started/introduction/) *Security & Identity* component) is enabled or disabled. |
| [`apig:enable`](https://docs.catalyst.zoho.com/en/cli/v1/working-with-api-gateway/enable-api-gateway/) | Enable API Gateway for your project. |
| [`apig:disable`](https://docs.catalyst.zoho.com/en/cli/v1/working-with-api-gateway/disable-api-gateway/) | Disable API Gateway for your project. |
| [`pull`](https://docs.catalyst.zoho.com/en/cli/v1/pull-resources/introduction/) | Pull a function, client, or an API Gateway file. |
| [`client:setup`](https://docs.catalyst.zoho.com/en/cli/v1/working-with-the-client/set-up-client/) | Set up the client component in an existing project. |
| [`client:delete`](https://docs.catalyst.zoho.com/en/cli/v1/working-with-the-client/delete-client/) | Delete an older version of the client component. |
| [`functions:setup`](https://docs.catalyst.zoho.com/en/cli/v1/working-with-functions/set-up-functions/) | Set up a function in an existing project. |
| [`functions:add`](https://docs.catalyst.zoho.com/en/cli/v1/working-with-functions/add-functions/) | Add a new function in your functions directory. |
| [`functions:delete`](https://docs.catalyst.zoho.com/en/cli/v1/working-with-functions/delete-functions/) | Delete a function in your project. |
| [`serve`](https://docs.catalyst.zoho.com/en/cli/v1/serve-resources/introduction/) | Serve project resources in your local environment. |
| [`deploy`](https://docs.catalyst.zoho.com/en/cli/v1/deploy-resources/introduction/) | Deploy project resources to the remote console. |
| [`logout`](https://docs.catalyst.zoho.com/en/cli/v1/logout/) | Sign out of Catalyst. |
| Overall Consumption Charges | Billed Charges | |
|---|---|---|
| **Project 1** | $6 | $6 |
| **Project 2** | $3 | $5 (Min. billing amount) |
| **Project 3** | $2 | $5 (Min. billing amount) |
| **Total Billed Charges** | **$16** |
| Memory | USD Per Second |
|---|---|
| 128 MB | 0.000002 |
| 256 MB | 0.000004 |
| 512 MB | 0.000008 |
| Memory | USD Per Minute |
|---|---|
| 256 MB | 0.000325 |
| 512 MB | 0.00065 |
| 1GB | 0.0013 |
| 2GB | 0.0026 |
| Cookie Name | Purpose | Validity |
|---|---|---|
| `currentUserDetails` | User preferences (for example, cookie banner, timezone, country, IP, locale, etc.) | Session |
| `servList` | User preferences (for example, cookie banner, timezone, country, IP, locale, etc.) | Session |
| `featureEarlyAccess` | To store users' early access enabled features | Session |
| `EnvDetails` | Build management | Session |
| `isFromTargetFixing` | Build management | Session |
| `autoMLFileUploaded` | Build management | Session |
| `autoMLUpdateSchema` | Build management | Session |
| `autoMLUploadDatasetAgain` | Build management | Session |
| `isFromOverview` | Build management | Session |
| `migrationRunning` | Build management | Session |
| `migrationProject` | Build management | Session |
| `isDiffInProgress` | Build management | Session |
| `lastAccessedEnv` | Stores user preferences | Session |
| Cookie Name | Purpose | Validity |
|---|---|---|
| `catalystZMR` | Allows the user to access a Catalyst service in the console directly when they browse it on the website | Session |
| Scope | Purpose |
|---|---|
| `openid` | To indicate the application wants to use OIDC to authenticate the member. |
| `profile` | To get the member's lite profile including their id, name, and profile picture. |
| `email` | To get the member's email address |
| Runtime | Patched Version |
|---|---|
| Node.js 24 | 24.22.1 |
| Node.js 22 | 22.23.4 |