# Modular JavaScript SDK ## v1 -------------------------------------------------------------------------------- title: "Overview" description: "Catalyst offers you JavaScript SDK in a modular architecture, providing you with a singular SDK for browser and server operations." last_updated: "2026-10-30T18:08:30.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/overview/" service: "All Services" related: - Java SDK (/en/sdk/java/v1/overview/) - Python SDK (/en/sdk/python/v1/overview/) - iOS SDK (/en/sdk/ios/v2/overview/) - Android SDK (/en/sdk/android/v2/overview/) - Flutter SDK (/en/sdk/flutter/v2/overview/) - Catalyst Functions (/en/serverless/help/functions/introduction) -------------------------------------------------------------------------------- # Overview The Catalyst **Modular JavaScript SDK** offers you a robust library you can use to access Catalyst components in order to implement server side and browser side operations required by your application. Complete with **TypeScript** support, the JavaScript SDK is offered to you in a modular structure to ensure you have precise access to only the components you require. ![catalyst_js_sdk_overview_dig_1](https://catalyst-docs-development.zohostratus.in/images/sdk/javascript/catalyst_js_sdk_overview_dig_1.webp) With this software development kit, you will have access to pre-built modules, classes, methods, and code samples, which you can leverage to quickly code the required logic that will dictate the Catalyst components to implement your required business logic. You can code your logic using any coding structures that are available in the [Catalyst Serverless](https://docs.catalyst.zoho.com/en/serverless/) service, or you can also implement them in a coding structure of your preference by importing the SDK to that development environment. JavaScript SDK allows you to significantly reduce your coding time. You no longer have to engineer your applications from scratch; access to the required component is readily available to you once you implement the required module in the SDK. For example, imagine that you require Catalyst components like [Stratus](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/introduction/), [Data Store](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/introduction/), and [Job Scheduling](https://docs.catalyst.zoho.com/en/job-scheduling/) to implement certain backend jobs like uploading app data, data querying, and scheduling operations, respectively. Additionally, you wish to use the Authentication component to handle the user authentication in the web browser. To implement these functionalities in your application, you don't need to start from scratch. You just have to tailor the available modules in the SDK to match your requirement. Additionally, since the JavaScript SDK is offered to you in a modular structure, you only need to import and use the SDK packages of the required components and not the entire Catalyst SDK. This further optimizes your application's code. This help documentation aims to provide you with all the necessary information, code snippets, and examples to ensure that you can easily set up and use JavaScript SDK to build your required applications. -------------------------------------------------------------------------------- title: "Why go modular?" description: "Catalyst offers you JavaScript SDK in a modular architecture, providing you with a singular SDK for browser and server operations." last_updated: "2026-10-30T18:08:30.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/motivation/" service: "All Services" related: - Java SDK (/en/sdk/java/v1/overview/) - Python SDK (/en/sdk/python/v1/overview/) - iOS SDK (/en/sdk/ios/v2/overview/) - Android SDK (/en/sdk/android/v2/overview/) - Flutter SDK (/en/sdk/flutter/v2/overview/) - Catalyst Functions (/en/serverless/help/functions/introduction) -------------------------------------------------------------------------------- # Need for Modular Architecture ### Motivation The current offering of Catalyst's JavaScript SDK is done so in a modular structure. This structure is different from the conventional Monolithic SDK. The primary motivation that backed this offering was to ensure that you, as a developer, have precise access to the coding tools that you require in a more developer-friendly manner. Using Catalyst's modular JavaScript SDK, you will be able to use the same SDK to quickly code server-side and web-based applications. ### Why change from Conventional Structure? Monolithic SDK cannot be leveraged to build your large scale applications in an optimized manner. While using the conventional Monolithic SDK method, even if you were going to use a singular Catalyst component, you were still required to install the entire SDK package. This produces the following disadvantages: * Monolithic SDKs, are generally tightly coupled. If there was an update, to a component that you weren't even using, you were still required to update your SDK packages, to ensure the code base remains functional. * Installing the entire SDK, produces a lot of dead code, which makes your application needlessly clunky. * Makes your code base harder to understand as the conventional Monolithic SDK is heavily nested in structure. This also produces the additional disadvantage of implementing unnecessarily long and verbose syntax. * Overall, SDKs that are offered in the Namespace structure are just not optimized enough to handle larger enterprise applications. All of these disadvantages can be effectively countered when you implement an SDK in the modular structure. ### Monolithic SDK vs Modular SDK The following table clearly illustrates the benefits of migrating to an SDK with a modular structure by comparing it against the conventional structure.
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.
-------------------------------------------------------------------------------- title: "Architecture of the JavaScript Modular SDK" description: "Catalyst offers you JavaScript SDK in a modular architecture, providing you with a singular SDK for browser and server operations." last_updated: "2026-10-30T18:08:30.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/architecture/" service: "All Services" related: - Java SDK (/en/sdk/java/v1/overview/) - Python SDK (/en/sdk/python/v1/overview/) - iOS SDK (/en/sdk/ios/v2/overview/) - Android SDK (/en/sdk/android/v2/overview/) - Flutter SDK (/en/sdk/flutter/v2/overview/) - Catalyst Functions (/en/serverless/help/functions/introduction) -------------------------------------------------------------------------------- # Architecture of the JavaScript Modular SDK The following diagram is an overview to illustrate the structure of the JavaScript SDK. There is no class hierarchy that will be followed here as this structure is modeled as a Modular SDK, where each module representing a component can be accessed independently as and when required. ![catalyst_js_sdk_arch_dig](https://catalyst-docs-development.zohostratus.in/images/sdk/javascript/catalyst_js_sdk_arch_dig.webp) * The structure comprises three overarching layers: - **Component Layer**: This layer acts as the code scaffolding that will contain your required logic to access the different required Catalyst services programmatically. - **Authentication Layer**: This is the layer that handles all the authentication requirements, such as token storage, session management, identity management, to name a few. This layer is expressly used to ensure secure API access. This layer will also handle the authentication requirement to handle [server operations](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/auth-config/node-consideration/) and [browser operations](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/auth-config/browser-consideration/). - **Transport Layer**: This layer will handle all HTTP requests made to the required components through the SDK. * The authentication requirement to [initialize the SDK](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/auth-config/node-consideration/#initialize-the-sdk) and access the required component through code is handled in the following manner: - **Environment-based Authentication**: This type of authentication comes into effect when you configure the required [authentication credentials as Environment Variables](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/auth-config/node-consideration/#using-environment-variables) in your Functions. You will set the credentials in the `CATALYST_AUTH` variable and the configuration in the `CATALYST_CONFIG` variable. - **Reusing Initialized Authentication**: This is the authentication you use to initialize the SDK to access a particular component. You are not expressly required to [re-initialize each initialization](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/auth-config/node-consideration/#get-instance-using-application-name), to access different components. You can reuse the authentication you had previously applied and continue to initialize the modules of the required components. * **Precedence in Authentication**: If you have implemented environment-based authentication, then that will be considered as default when you do not authenticate during initialization. This makes authentication during initialization of each component optional. -------------------------------------------------------------------------------- title: "Example Code Comparison" description: "Catalyst offers you JavaScript SDK in a modular architecture, providing you with a singular SDK for browser and server operations." last_updated: "2026-10-30T18:08:30.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/examples/" service: "All Services" related: - Java SDK (/en/sdk/java/v1/overview/) - Python SDK (/en/sdk/python/v1/overview/) - iOS SDK (/en/sdk/ios/v2/overview/) - Android SDK (/en/sdk/android/v2/overview/) - Flutter SDK (/en/sdk/flutter/v2/overview/) - Catalyst Functions (/en/serverless/help/functions/introduction) -------------------------------------------------------------------------------- # Example Snippets Highlighting Optimizations with Modular SDK The following snippets are examples highlighting the differences and advantages that are possible when you use the Modular JavaScript SDK instead of individually using Server SDK for server functionality and Web SDK for browser functionality. **Server SDK** ### Node Considerations **Monolithic SDK** The following snippet installs the entire Catalyst Node.js server SDK to use the Authentication and Stratus components. ```javascript 'use strict'; const catalyst = require('zcatalyst-sdk-node'); module.exports = async (req, res) => { var url = req.url; const app = catalyst.initialize(req); switch (url) { case '/stratus': { const stratus = app.stratus(); const bucket = stratus.bucket("bucketName"); const buckets = await bucket.getDetails(); console.log(buckets); } default: res.writeHead(404); res.write('You might find the page you are looking for at "/" path'); break; } res.end(); }; ``` **Modular SDK** Now, in the **Modular JavaScript SDK**, to use the required Authentication, and Stratus component, you are going to initialize those modules. ```javascript 'use strict'; const { IncomingMessage, ServerResponse } = require("http"); const { zcAuth } = require('@zcatalyst/auth'); const { Stratus } = require('@zcatalyst/stratus'); /** * @param {IncomingMessage} req * @param {ServerResponse} res */ module.exports = async (req, res) => { var url = req.url; switch (url) { case '/stratus': const auth = await zcAuth.init(req); const stratus = new Stratus(); const bucket = stratus.bucket("bucketName"); const buckets = await bucket.getDetails(); console.log(buckets); break; default: res.writeHead(404); res.write('You might find the page you are looking for at "/" path'); break; } res.end(); }; ``` **Web SDK** ### Browser Considerations **Monolithic SDK** The following snippet installs the entire WebSDK just to use the Authentication component. ```javascript <script src="https://static.zohocdn.com/catalyst/sdk/js/4.6.2/catalystWebSDK.js"></script> <script src="/__catalyst/sdk/init.js"></script> <script> catalyst.auth.signIn("your element ID here..."); </script> ``` **Modular SDK** Now, in the **Modular JavaScript SDK**, to use the required Authentication component, you are going to initialize the Authentication module. ```javascript <script type="module"> import { zcAuth } from 'zcatalyst.js'; const config = { cssUrl: "/css/embeddediframe.css", // Provide your custom CSS file path here. If no path is provided default css will be rendered serviceUrl: "/app/index.html", // This value is optional. You can provide your redirect URL here. isCustomizeForgotPassword: true, // Default value is false. Keep this value as true, if you wish to customize Forgot Password page forgotPasswordId: "forgotPasswordDivElementId", // The Element id in which forgot password page should be loaded. If no value is provided, it will be rendered in the "loginDivElementId" by default forgotPasswordCssUrl: "/css/forgotPwd.css" // Provide your custom CSS file path for the Forgot Password page. If no path is provided, then the default CSS will be rendered. }; zcAuth.signIn("element_id", config); </script> ``` -------------------------------------------------------------------------------- title: "Components List" description: "Catalyst offers you JavaScript SDK in a modular architecture, providing you with a singular SDK for browser and server operations." last_updated: "2026-10-30T18:08:30.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/components-list/" service: "All Services" related: - Java SDK (/en/sdk/java/v1/overview/) - Python SDK (/en/sdk/python/v1/overview/) - iOS SDK (/en/sdk/ios/v2/overview/) - Android SDK (/en/sdk/android/v2/overview/) - Flutter SDK (/en/sdk/flutter/v2/overview/) - Catalyst Functions (/en/serverless/help/functions/introduction) -------------------------------------------------------------------------------- # Components List In this section, you are going to take a look at the list of components from each Catalyst service that you can access through code using the JavaScript SDK to perform both server-side and browser-side functionalities in your application. As the Catalyst JavaScript SDK is offered to you in the modular structure, you can install the SDK packages of only the components that you require.
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/)
  • [Add New User](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/add-new-user/)
  • [Add New User to Existing Org](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/add-user-to-org/)
  • [Reset Password](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/reset-pwd/)
  • [Get User Details](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/get-user-details/)
  • [Update User Details](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/update-user-details/)
  • [Enable or Disable a User](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/enable-disable-user/)
  • [Delete a User](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/delete-user/)
[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/)
  • [Insert Rows](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/insert-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/)
  • [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 Read Rows](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/bulk-operations/bulk-read/)
  • [Bulk Write Rows](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/bulk-operations/bulk-write/)
  • [Bulk Delete Rows](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/bulk-operations/bulk-delete/)
[NoSQL](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/introduction/)
  • [Get Table Metadata](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/get-table-metadata/)
  • [Construct Item](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/construct-item/)
  • [Insert Items](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/insert-items/)
  • [Update Items](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/update-item/)
  • [Fetch Items](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/fetch-items/)
  • [Query Table](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/query-table/)
  • [Query Index](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/query-index/)
  • [Delete Items](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/delete-item/)
[Stratus](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/introduction/)
  • [Check Bucket Availability](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/check-bucket-availability/)
  • [List Buckets](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/list-buckets/)
  • [Get Bucket Details](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/get-bucket-details/)
  • [Get Bucket CORS](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/get-bucket-cors/)
  • [List Objects in a Bucket](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/list-objects/)
  • [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/)
  • [Extract a Zipped Object](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/extract-zipped-object/)
  • [Copy Object](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/copy-object/)
  • [Rename and Move Operations on an Object](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/rename-move/)
  • [Delete Objects](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/delete-object/)
  • [List Object Versions](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/list-object-versions/)
  • [Get Object Details](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/get-object-details/)
  • [Put Object Metadata](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/put-object-metadata/)
[Cache](https://docs.catalyst.zoho.com/en/cloud-scale/help/cache/introduction/)
  • [Retrieve Data from the Cache](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/cache/retreive-data/)
  • [Insert Data to Cache](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/cache/insert-data/)
  • [Update Data in Cache](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/cache/update-cache/)
  • [Delete Key Value Pair](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/cache/delete-cache/)
[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/)
  • [Facial Comparison](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/identity-scanner/facial-comparisson/)
  • [Aadhaar](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/identity-scanner/aadhaar/)
  • [PAN](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/identity-scanner/pan/)
  • [Passbook](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/identity-scanner/passbook/)
  • [Cheque](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/identity-scanner/cheque/)
[Text Analytics](https://docs.catalyst.zoho.com/en/zia-services/help/text-analytics/introduction/)
  • [Sentiment Analysis](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/text-analytics/sentiment-analysis/)
  • [Named Entity Recognition](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/text-analytics/named-entity-recognition/)
  • [Keyword Extraction](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/text-analytics/keyword-extraction/)
  • [All Text Analytics](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/text-analytics/all-text-analytics/)
[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/)
  • [PDF or Screenshot from Template](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/smartbrowz/pdf-and-screenshot/docs-templates-source/)
  • [Convert to PDF from HTML](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/smartbrowz/pdf-and-screenshot/pdf-from-htmlcode/)
  • [Generate PDF from URL](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/smartbrowz/pdf-and-screenshot/pdf-from-url-source/)
[Dataverse](https://docs.catalyst.zoho.com/en/smartbrowz/help/dataverse/introduction/)
  • [Lead Enrichment](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/smartbrowz/dataverse/lead-enrichment/)
  • [Tech Stack Finder](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/smartbrowz/dataverse/tech-stack-finder/)
  • [Similar Companies](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/smartbrowz/dataverse/similar-companies/)
[Job Scheduling](https://docs.catalyst.zoho.com/en/job-scheduling/) [Job Pool](https://docs.catalyst.zoho.com/en/job-scheduling/help/jobpool/introduction/)
  • [Get All Job Pools’ Details](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/jobpool/get-all-jobpool/)
  • [Get Specific Job Pool's Details](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/jobpool/get-jobpool/)
[Jobs](https://docs.catalyst.zoho.com/en/job-scheduling/help/job/introduction/)
  • [Create Job](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/job/create-job/)
  • [Get Job Details](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/job/get-job-details/)
  • [Delete Job](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/job/delete-job/)
[Cron](https://docs.catalyst.zoho.com/en/job-scheduling/help/cron/introduction/)
  • [Create a One-Time Cron](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/cron/create-one-time-cron/)
  • [Create a Recurring Cron](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/cron/create-recurring-cron/)
  • [Create a Cron Using Cron Expressions](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/cron/create-cron-expressions/)
  • [Get Details of a Particular Cron](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/cron/get-cron-details/)
  • [Get Details of All Crons](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/cron/get-all-cron/)
  • [Update Cron](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/cron/update-cron/)
  • [Pause Cron](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/cron/pause-cron/)
  • [Resume Cron](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/cron/resume-cron/)
  • [Run Cron](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/cron/run-cron/)
  • [Delete Cron](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/cron/delete-cron/)
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/)
  • [Get Pipeline Details](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/pipelines/get-pipeline-details/)
  • [Execute Pipeline](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/pipelines/execute-pipeline/)
-------------------------------------------------------------------------------- title: "Scopes" description: "Catalyst offers you JavaScript SDK in a modular architecture, providing you with a singular SDK for browser and server operations." last_updated: "2026-10-30T18:08:30.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/scopes/" service: "All Services" related: - Java SDK (/en/sdk/java/v1/overview/) - Python SDK (/en/sdk/python/v1/overview/) - iOS SDK (/en/sdk/ios/v2/overview/) - Android SDK (/en/sdk/android/v2/overview/) - Flutter SDK (/en/sdk/flutter/v2/overview/) - Catalyst Functions (/en/serverless/help/functions/introduction) -------------------------------------------------------------------------------- # Scopes Scopes allow you to define the level of access that can be provided to access Catalyst components. There are primarily two scopes that define two levels of access: * **Admin**: If you initialize your SDK with this scope, you can access all the SDK methods of all the components. There are no restrictions. * **User**: If you initialize with this scope, you will only be able to access certain SDK methods of certain Catalyst components. > **Notes:** By default you will be able to initialize the SDK in the **Admin** scope. The following table will provide the complete list of SDK methods present in each Catalyst component, and the scope required to implement them.
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/)
  • [Add New User](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/add-new-user/)
  • [Get All Org IDs](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/get-all-orgs/)
  • [Add New User to an Existing Organization](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/add-user-to-org/)
  • [Get All Users in an Organization](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/get-all-users-org/)
  • [Update User Details](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/update-user-details/)
  • [Enable or Disable a User](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/enable-disable-user/)
  • [Delete a User](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/delete-user/)
**Admin**
  • [Reset Password](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/reset-pwd/)
  • [Get User Details](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/get-user-details/)
**Admin, User**
[DataStore](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/introduction/)
  • [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/)
  • [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/)
  • [Delete Rows](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/delete-rows/)
  • [Search DataStore](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/search-datastore/)
  • [Query DataStore](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/query-datastore/)
**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/)
  • [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/)
  • [Check Object Availability](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/check-object/)
  • [Delete Object](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/delete-object/)
**Admin, User**
  • [List Buckets](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/list-buckets/)
  • [Check Bucket Availability](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/check-bucket-availability/)
  • [Get Bucket CORS](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/get-bucket-cors/)
  • [Get Bucket Details](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/get-bucket-details/)
  • [List Objects in Bucket](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/list-objects/)
  • [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)
  • [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)
  • [Extract a Zipped Object](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/extract-zipped-object/)
  • [Copy Object](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/copy-object/)
  • [Move or Rename an Object](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/rename-move/)
  • [List Object Versions](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/list-object-versions/)
  • [Get Object Details](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/get-object-details/)
  • [Put Object Metadata](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/put-object-metadata/)
  • Multipart Download
**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**
### Implement SDK Methods with Scopes ```javascript // initialize the sdk with user scope const auth = await new ZCAuth().init(req, {scope: 'user'}); // initialize the sdk with admin scope const auth = await new ZCAuth().init(req, {scope: 'admin'}); ``` -------------------------------------------------------------------------------- title: "Setup" description: "Catalyst offers you JavaScript SDK in a modular architecture, providing you with a singular SDK for browser and server operations." last_updated: "2026-10-30T18:08:30.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/setup/" service: "All Services" related: - Java SDK (/en/sdk/java/v1/overview/) - Python SDK (/en/sdk/python/v1/overview/) - iOS SDK (/en/sdk/ios/v2/overview/) - Android SDK (/en/sdk/android/v2/overview/) - Flutter SDK (/en/sdk/flutter/v2/overview/) - Catalyst Functions (/en/serverless/help/functions/introduction) -------------------------------------------------------------------------------- # Setup This section will instruct you on the easiest way to add JavaScript SDK to your codebase. ### Prerequisites Before you begin installing and using the JavaScript SDK, you will need to ensure you have **any one** of the following package managers installed in your local environment. * `npm`: [Install from here](https://docs.npmjs.com/cli/v8/commands/npm-install) * `pnpm`: [Install from here](https://pnpm.io/installation) * `yarn`: [Install from here](https://classic.yarnpkg.com/lang/en/docs/install/#mac-stable) You can use any one of these package managers to add the JavaScript SDK to your codebase. ### Install the JavaScript SDK To add the JavaScript SDK to your code base: 1. You will need a suitable coding structure. You can either choose a suitable function type from the [Functions](https://docs.catalyst.zoho.com/en/serverless/help/functions/introduction/) component present in the [Serverless](https://docs.catalyst.zoho.com/en/serverless/) service, or, since you are using Catalyst, you can choose a custom coding structure and import the SDK to it and host it on [AppSail](https://docs.catalyst.zoho.com/en/serverless/help/appsail/introduction/). 2. You need to execute the following installation command in your CLI to install the required SDK. Since this is a modular SDK, you need to choose the respective installation command to access your required component.
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`
Regardless of the package you install, the following packages will be installed by default: * `@zcatalyst/transport`: This package is required to handle the requests. * `@zcatalyst/utils`: This package is required to manage the common utilities of the SDK packages. ### Import the SDK to Your Codebase To access the components and use the functionalities of the required components, you need to import them to your coding structure once you install them. The following table contains the import statements for all the components. Based on your required component, add the import statement to your code, and you will be able to access the component.
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';`
> **Info:** Once, you've imported the required module, ensure that you have applied the [required authentication configuration](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/auth-config/node-consideration/) to use the SDK methods. ### Authentication Configuration -------------------------------------------------------------------------------- title: "Node Considerations" description: "Catalyst offers you JavaScript SDK in a modular architecture, providing you with a singular SDK for browser and server operations." last_updated: "2026-10-30T18:08:30.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/auth-config/node-consideration/" service: "All Services" related: - Java SDK (/en/sdk/java/v1/overview/) - Python SDK (/en/sdk/python/v1/overview/) - iOS SDK (/en/sdk/ios/v2/overview/) - Android SDK (/en/sdk/android/v2/overview/) - Flutter SDK (/en/sdk/flutter/v2/overview/) - Catalyst Functions (/en/serverless/help/functions/introduction) -------------------------------------------------------------------------------- # Authentication Configuration for Node To use the JavaScript SDK methods for server or node operations, you need to fulfill the following prerequisites to ensure the methods are accessed in an authenticated manner: #### Install Requirement ```sh npm install @zcatalyst/auth ``` #### Import Requirement ```javascript import {zcAuth} from '@zcatalyst/auth'; ``` ### Initialize the SDK Once the above prerequisites are fulfilled, you can initialize the Catalyst JavaScript SDK in Catalyst functions in the following manner: **Advanced I/O Function** **Basic Template** ```javascript const { zcAuth }= require('@zcatalyst/auth'); module.exports = (req, res) => { const app = await zcAuth.init(req); //This app variable is used to access the catalyst components. //You can refer the SDK docs for code samples. //Your business logic comes here } ``` **Express.js** ```javascript const { zcAuth }= require('@zcatalyst/auth'); const express = require('express'); const expressApp = express(); expressApp.get('/',(req,res)=> { const app = await zcAuth.init(req); //This app variable is used to access the catalyst components. //You can refer the SDK docs for code samples. //Your business logic comes here }); module.exports=expressApp; ``` **Basic I/O Function** ```javascript const { zcAuth }= require('@zcatalyst/auth'); module.exports = (context, basicIO) => { const app = await zcAuth.init(context); //This app variable is used to access the catalyst components. //You can refer the SDK docs for code samples. //Your business logic comes here } ``` **Event Functions** ```javascript const { zcAuth }= require('@zcatalyst/auth'); module.exports = (event, context) => { const app = await zcAuth.init(context); //This app variable is used to access the catalyst components. //You can refer the SDK docs for code samples. //Your business logic comes here } ``` **Job Function** ```javascript const { zcAuth }= require('@zcatalyst/auth'); module.exports = (cronDetails, context) => { const app = await zcAuth.init(context); //This app variable is used to access the catalyst components. //You can refer the SDK docs for code samples. //Your business logic comes here } ``` ### Initialize with Scopes Catalyst allows you to initialize the SDK in a project using the following scopes: * **Admin**: You have unrestricted access to all the components and their respective functionalities. * **User**: You can restrict access to components and specific functionalities. > **Notes:** * It is not mandatory for you to initialize the projects with scopes. By default, a project that is initialized will have **Admin** privileges. * Ensure you have initialized the Catalyst SDK with the appropriate scope while you engineer your business logic. The permissions you define for your scope control your end-user’s actions. * Depending on how you engineer your business logic, you can decide if your end-users can perform Admin or User actions. This is decided based on the role assigned to your end-user when they sign up to your application in Catalyst Authentication. * [Learn more about the scopes of the SDK operations](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/scopes/). The SDK snippets below will allow you to initialize the SDK using either **Admin** or **User** scope, and use the authentication required to use the Catalyst components: **Admin** You need to initialize the SDK in the following manner to use the SDK methods using **Admin** scope. ```javascript const app = await zcAuth.init(req, {scope: 'admin'}); ``` **User** You need to initialize the SDK in the following manner to use the SDK methods using **User** scope. ```javascript const app = await zcAuth.init(req, {scope: 'user'}); ``` ### Initialize the SDK Using Custom Credentials To use the SDK with third-party authentication services, you can initialize the SDK in the following manner: ```javascript const credential = { "client_id":"xxxxxxxxxx", "client_secret": "yyyyyyyyyyy", "refresh_token": "sgdw6et6736e8723e" } const customConfigurations = { "project_id": "46386458237492", "project_domain": "project-domain", "environment": "development", // optional. default: development credential } const app = await zcAuth.init(customConfigurations, { type: 'custom', appName: "custom-app" }); ``` #### Get Instance Using Application Name Once you've initialized your application, you have the additional option to use the `getApp()` method to get an app instance at any point by using the application's name. ```javascript const app = zcAuth.getApp("app-name"); ``` This ensures you are able to get an instance without having to re-initialize your SDK. #### Using Environment Variables You also have the option of initializing the SDK by setting custom credentials as [environment variables](https://docs.catalyst.zoho.com/en/serverless/help/functions/implementation/#environmental-variables). If you choose to initialize the SDK in this manner, then you do not have to initialize using the `zcAuth.init()` method, and you do not have to maintain the `app` instance in the manner shown in the above example snippet. You need to configure the environment variables in a manner similar to the one shown below: ```javascript ZC_SDK_PROJECT_ID="your_project_id" ZC_SDK_PROJECT_KEY="your_project_key" ZC_SDK_PROJECT_DOMAIN="your_project_domain" ZC_SDK_ENVIRONMENT="your_environment" ZC_SDK_CLIENT_ID="your_client_id" ZC_SDK_CLIENT_SECRET="your_client_secret" ZC_SDK_REFRESH_TOKEN="your_refresh_token" ``` -------------------------------------------------------------------------------- title: "Browser Considerations" description: "Catalyst offers you JavaScript SDK in a modular architecture, providing you with a singular SDK for browser and server operations." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/auth-config/browser-consideration/" service: "All Services" related: - Java SDK (/en/sdk/java/v1/overview/) - Python SDK (/en/sdk/python/v1/overview/) - iOS SDK (/en/sdk/ios/v2/overview/) - Android SDK (/en/sdk/android/v2/overview/) - Flutter SDK (/en/sdk/flutter/v2/overview/) - Catalyst Functions (/en/serverless/help/functions/introduction) -------------------------------------------------------------------------------- # Browser Considerations Catalyst provides a straightforward authentication mechanism for users to access the Catalyst REST APIs and our SDKs. In order to use the catalyst components from your client application, it is mandatory to integrate the authentication mechanism provided by Catalyst. #### Install Requirement ```sh npm install @zcatalyst/auth ``` #### Import Requirement ```javascript import {zcAuth} from '@zcatalyst/auth'; ``` > **Info:** The required authentication configurations to use JavaScript SDK for browser considerations will be installed by default. ### SignIn Method **Embedded Authentication** If you are using the *Embedded Authentication* type for your Catalyst application, then you need to implement the sign in process in the following manner: ```javascript await zcAuth.signIn('ELEMENT_ID', { redirectUrl:'/login', }); ``` > **Notes:** * [Learn more about Embedded Authentication Type](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/native-catalyst-authentication/embedded-authentication/scripts-for-embedded/). * The code contains the line: zcAuth.signIn(“ELEMENT_ID”); . The `ELEMENT_ID` can be the ID of any HTML element or div element in your application’s login page. You should replace this with the`ELEMENT_ID` of your application’s login and implement this in the page that contains the user login. You can now create a division in the same page for your iFrame as: <\div id=“Your elementID here”> <\/div>. This will span the iFrame for user login in the same page. For example, if your `ELEMENT_ID` is “login”, your code will look like this: In the SDK Initialization (Browser) script: zcAuth.signIn(“login”); In the body of your page: <\div id=“login”><\div> **Hosted Authentication** If you are using the *Hosted Authentication* type for your Catalyst application, then you need to implement the sign in process in the following manner: ```javascript await zcAuth.hostedSignIn('Redirect_Url'); //Replace with your required URL ``` > **Notes:** * [Learn more about Hosted Authentication](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/native-catalyst-authentication/hosted-authentication-type/introduction/). * Before using this method, you need to ensure that the Hosted Authentication type is enabled for your application in the Catalyst console. **Third-party Authentication** CloudScale's Authentication component allows you to implement a [third-party authentication service](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/third-party-authentication/introduction/) of your preference for your Catalyst application. The authorization and validation of the end-user is handled by the third-party service, and the data is passed on to Catalyst. Before you associate a third-party authentication with your Catalyst application, you must ensure that you have first completed handling the third-party logic in the external service. You can configure the authentication with any third-party of your choice. > **Note:** Since you are implementing a third-party authentication service, it is understood that the security infrastructure of your application is contingent on the efficiency of the third-party service that you have chosen. Next, you set up the third-party authentication that you configured in Catalyst by navigating to the Authentication component in *CloudScale* in the Catalyst console. The steps are explained in [Set Up Third-party Authentication in Catalyst help page](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/third-party-authentication/implementation/). This process involves the following steps that you must perform: ### Generate a Custom Server Token First, we generate a custom server token. When a user is re-directed from a third-party service after being authenticated, their credentials must be passed to an authentication function that you will need to code in [Java](https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/authentication/third-party-server-token/), [Node.js](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/authentication/third-party-server-token/), or [Python](https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/authentication/third-party-server-token/). This function will generate a Catalyst server-side token **JSON Web Token** token (JWT) which will then be passed to the client. > **Note:** To enable a third-party authentication in your Catalyst application, you must ensure that you have enabled [Public Signup](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/public-signup/) in the console. ### Authenticate User Using JWT The below SDK will use the generated JWT or custom token to authenticate the end-user. You must incorporate this code into your web client logic, to enable third-party authentication. This is a sample code that uses a JWT to authenticate the user is given below. ```javascript await zcAuth.signInWithJwt(getCustomTokenCallback); function getCustomTokenCallback(){ return fetch("{domain}/server/{function_name}/execute") //function url to get the generated custom token .then(resp => resp.json() .then(resp => { return new Promise((resolve, reject) => { resolve({ client_id:"********", scopes:"ZOHOCATALYST.tables.rows.ALL,ZOHOCATALYST.cache.READ", jwt_token:"*********" }); }); }) ); } ``` > **Note:** The custom server token will have to be generated every single time the user logs in to your application using a third-party authentication service. ### Configure Additional Settings Finally, you can configure [Customer User Validation](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/whitelisting/custom-user-validation/introduction/) or [Authorized Domains](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/whitelisting/authorized-domains/introduction/) as a part of *Whitelisting* and finish the set up. Catalyst will display a confirmation that a third-party authentication service has been enabled and your application’s authentication is being handled by it. ### SignUp Method You can implement Catalyst Authentication's SignUp process in the following manner: ```javascript await zcAuth.signUp({ first_name: 'xxxx', last_name: 'yyyyy', email_id:'dfkfjkfj@gmail.com' }); ``` ### Sign Out Method You can implement Catalyst Authentication's Sign Out or log off process in the following manner: ```javascript await zcAuth.signOut('Redirect_Url'); // replace your redirect url path here .. defaults '/' ``` ### Change Password You can implement Catalyst Authentication's Change Password process in the following manner: ```javascript await zcAuth.changePassword("old_password", "new_password"); ``` -------------------------------------------------------------------------------- title: "Migrate to Modular JavaScript SDK" description: "Catalyst offers you JavaScript SDK in a modular architecture, providing you with a singular SDK for browser and server operations." last_updated: "2026-10-30T18:08:30.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/migration/" service: "All Services" related: - Java SDK (/en/sdk/java/v1/overview/) - Python SDK (/en/sdk/python/v1/overview/) - iOS SDK (/en/sdk/ios/v2/overview/) - Android SDK (/en/sdk/android/v2/overview/) - Flutter SDK (/en/sdk/flutter/v2/overview/) - Catalyst Functions (/en/serverless/help/functions/introduction) -------------------------------------------------------------------------------- # Migrate to Modular JavaScript SDK When you migrate your codebase to the Modular JavaScript SDK, you need to ensure the following steps are performed without fail: * Appropriate package import * Package initialization * Component initialization Consider the following example illustrating the changes you need to be more cautious about: **Monolithic SDK** ```javascript const catalyst = require('zcatalyst-sdk-node'); //import SDK const app = catalyst.initialize(req);//package initialization const stratus = app.stratus();// component initialization ``` **JavaScript Modular SDK** ```javascript const { Stratus } = require('@zcatalyst/stratus'); //import package const auth = await new ZCAuth().init(req); // package initialization const stratus = new Stratus(); // component initialization ``` -------------------------------------------------------------------------------- title: "WebSDK Bundle" description: "Catalyst offers you JavaScript SDK in a modular architecture, providing you with a singular SDK for browser and server operations." last_updated: "2026-10-30T18:08:30.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/webpack-bundler/" service: "All Services" related: - Java SDK (/en/sdk/java/v1/overview/) - Python SDK (/en/sdk/python/v1/overview/) - iOS SDK (/en/sdk/ios/v2/overview/) - Android SDK (/en/sdk/android/v2/overview/) - Flutter SDK (/en/sdk/flutter/v2/overview/) - Catalyst Functions (/en/serverless/help/functions/introduction) -------------------------------------------------------------------------------- # WebSDK Bundle for Catalyst JavaScript SDK Using the [Catalyst CLI](https://docs.catalyst.zoho.com/en/cli/v1/cli-command-reference/), you can generate a webSDK bundler called **Catalyst Bundle Studio** that will contain required SDK methods that can be accessed using the [User](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/scopes/) scope. This bundler will be hosted locally on an available port in your machine. The WebSDK bundle offers you: * A user-friendly UI to select and install specific packages and versions. * Organized list of all the required SDKs with detailed information on each bundle and its associated method. * Extensive UI options to update existing bundle, remove, or add packages and generate updated bundles. ![catalyst_modular_sdk_webpack_gen_first_look](https://catalyst-docs-development.zohostratus.in/images/sdk/javascript/catalyst_modular_sdk_webpack_gen_first_look.webp) The **Catalyst Bundle Studio** will ensure that all SDK methods required for the front-end work of your Catalyst application is provided in an easy-to-use manner. You can directly use the SDK method from the webSDK bundle without meeting the prerequisites typically required for SDK methods that require **Admin** scope. ### Generate Catalyst WebSDK To generate and access the webSDK bundle: 1. Open the terminal present in your system and execute the following command. ```sh catalyst websdk:generate ``` ![catalyst_js_sdk_webpack_gen_cli-gen](https://catalyst-docs-development.zohostratus.in/images/sdk/javascript/catalyst_js_sdk_webpack_gen_cli-gen.webp) 2. Open the **localhost** endpoint in your preferred browser. ![catalyst_modular_sdk_webpack_gen_first_look](https://catalyst-docs-development.zohostratus.in/images/sdk/javascript/catalyst_modular_sdk_webpack_gen_first_look.webp) The webSDK for Catalyst JavaScript SDK has been generated and can be used to download the required package. ### Download the Required Bundle To download the required bundle from the Catalyst webSDK generator: 1. Select the required package and version from the bundle, and click **Generate WebSDK Bundle**. ![catalyst_modular_sdk_webpack_generating](https://catalyst-docs-development.zohostratus.in/images/sdk/javascript/catalyst_modular_sdk_webpack_generating.webp) 2. Once the bundle is generated, click **Download** to download the generated bundle. ![catalyst_modular_sdk_webpack_download_bundle](https://catalyst-docs-development.zohostratus.in/images/sdk/javascript/catalyst_modular_sdk_webpack_download_bundle.webp) You have the option to press **CTRL+C** in your CLI to terminate your bundle download. ![catalyst_modular_sdk_webpack_create-terminate-cli](https://catalyst-docs-development.zohostratus.in/images/sdk/javascript/catalyst_modular_sdk_webpack_create-terminate-cli.webp) Along with the SDK bundle, the following files will be downloaded and stored in your local system. * `catalyst-bundle.js` - Contains the webSDK bundle in the compressed form. * `manifest.json` - Contains detailed information on the packages that were downloaded in the bundle. * `package.json` - Contains a list of dependencies of the packages that were downloaded in the bundle. The required packages have been downloaded from the webSDK generated using the Catalyst CLI. ### Update the Generated Bundle To update the version or add more packages to your downloaded bundle: 1. Execute the following command in your Catalyst CLI to update the packages present in your webpack bundle. ```sh catalyst websdk:generate --action update ``` ![catalyst_modular_sdk_webpack_cli-update-cmd](https://catalyst-docs-development.zohostratus.in/images/sdk/javascript/catalyst_modular_sdk_webpack_cli-update-cmd.webp) 2. Open the *localhost* endpoint in your preferred browser, and click the **Update Existing Bundle** tab. Click the **Choose File** option. ![catalyst_modular_sdk_webpack_update_sel](https://catalyst-docs-development.zohostratus.in/images/sdk/javascript/catalyst_modular_sdk_webpack_update_sel.webp) 3. Select the `manifest.json` file from your downloaded bundle directory. ![catalyst_modular_sdk_webpack_update-manifest](https://catalyst-docs-development.zohostratus.in/images/sdk/javascript/catalyst_modular_sdk_webpack_update-manifest.webp) 4. Make the required updates and click **Generate Updated Bundle**. ![catalyst-modular-sdk-webpack-update-proj](https://catalyst-docs-development.zohostratus.in/images/sdk/javascript/catalyst-modular-sdk-webpack-update-proj.webp) 5. Now, the required packages will be built. ![catalyst-modular-sdk-webpack-update-building-bundle](https://catalyst-docs-development.zohostratus.in/images/sdk/javascript/catalyst-modular-sdk-webpack-update-building-bundle.webp) 6. Click **Download Updated Bundle** to download the generated bundle. ![catalyst-modular-sdk-download-updated-bundle](https://catalyst-docs-development.zohostratus.in/images/sdk/javascript/catalyst-modular-sdk-download-updated-bundle.webp) The updated bundle will be downloaded. Once, you've completed your required operation, ensure you press **CTRL+C** in your CLI to terminate the Catalyst Bundle Studio application. ### Browser-Supported JavaScript Methods The following table lists the Catalyst JavaScript SDK methods that can be accessed using the [User Scope](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/scopes/#implement-sdk-methods-with-scopes).
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/)
> **Note:** For these components alone, when they are initialized, no auth instance needs to be passed. They will be initialized with the required scope by default. ### Serverless #### Functions -------------------------------------------------------------------------------- title: "Overview" description: "This page describes the method to execute functions in your application with sample code snippets." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/serverless/functions/overview/" service: "Serverless" related: - Catalyst Serverless (/en/serverless/) - Functions Help (/en/serverless/help/functions/introduction/) - Java SDK (/en/sdk/java/v1/serverless/functions/execute-function/) - Python SDK (/en/sdk/python/v1/serverless/functions/get-component-instance/) - iOS SDK (/en/sdk/ios/v2/serverless/functions/create-function-instance/) - Android SDK (/en/sdk/android/v2/serverless/functions/create-function-instance/) - Flutter SDK (/en/sdk/flutter/v2/serverless/functions/create-function-instance/) - REST APIs (/en/api/code-reference/serverless/functions/execute-function/#ExecuteFunction) -------------------------------------------------------------------------------- # Functions JavaScript SDK # Overview [Functions](https://docs.catalyst.zoho.com/en/serverless/help/functions/introduction/) is a Catalyst Serverless component, that provides you with the ideal coding structure to define and code your business logic in *Java*, *Node.js*, or *Python* runtimes. 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. You can create your functions in the Catalyst console or using the Catalyst CLI. The business logic coded in the Functions component can be executed in the testing and production environment. The **Functions JavaScript SDK** package enables you to execute your required functions through code. ### Prerequisites You will need to install the following package to be able to use the Function SDK methods. ```sh npm install @zcatalyst/functions ``` > **Info:** Ensure that you have applied the [required authentication configuration](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/auth-config/node-consideration/) to use the SDK methods of this component. ### Import Requirement You will need to import the following modules to use the Function SDK methods. ```javascript const { Functions } = require('@zcatalyst/functions'); ``` ### List of SDK Methods The following table contains the list of SDK methods that can be used to perform operations with the Function component through code.
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**
-------------------------------------------------------------------------------- title: "Get Function Instance" description: "This page describes the method to execute functions in your application with sample code snippets." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/serverless/functions/get-function-instance/" service: "Serverless" related: - Catalyst Serverless (/en/serverless/) - Functions Help (/en/serverless/help/functions/introduction/) - Java SDK (/en/sdk/java/v1/serverless/functions/execute-function/) - Python SDK (/en/sdk/python/v1/serverless/functions/get-component-instance/) - iOS SDK (/en/sdk/ios/v2/serverless/functions/create-function-instance/) - Android SDK (/en/sdk/android/v2/serverless/functions/create-function-instance/) - Flutter SDK (/en/sdk/flutter/v2/serverless/functions/create-function-instance/) - REST APIs (/en/api/code-reference/serverless/functions/execute-function/#ExecuteFunction) -------------------------------------------------------------------------------- # Get Function Instance > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/serverless/functions/overview/#prerequisites) to use this SDK method. You can get the `functions` component reference as shown below. This will not fire a server-side call. You will refer to this component instance in various code snippets when working with the Functions component. ```javascript // Get a functions instance const functions = new Functions(); ``` > **Note:** - Passing an initialized app instance to a component determines the authentication scope it uses. - To perform an operation with user-level permissions, initialize the SDK with User scope, or with custom credentials, and pass that instance to the component. This runs the operation in the user's scope or custom credential scope instead of the default admin scope. ```javascript const functions = new Functions(app); ``` - If your Function or AppSail application needs both custom credentials and admin authentication at the same time, give each initialization a unique app name, otherwise the custom initialization can overwrite your existing admin credentials. - In all cases, explicitly pass the matching app instance to each component so it uses the intended authentication scope; if none is provided, the SDK defaults to the admin credentials. -------------------------------------------------------------------------------- title: "Execute Function" description: "This page describes the method to execute functions in your application with sample code snippets." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/serverless/functions/execute-function/" service: "Serverless" related: - Catalyst Serverless (/en/serverless/) - Functions Help (/en/serverless/help/functions/introduction/) - Java SDK (/en/sdk/java/v1/serverless/functions/execute-function/) - Python SDK (/en/sdk/python/v1/serverless/functions/execute-function/) - iOS SDK (/en/sdk/ios/v2/serverless/functions/execute-function/) - Android SDK (/en/sdk/android/v2/serverless/functions/execute-function/) - Flutter SDK (/en/sdk/flutter/v2/serverless/functions/execute-function/) - REST APIs (/en/api/code-reference/serverless/functions/execute-function/#ExecuteFunction) -------------------------------------------------------------------------------- # Execute Function > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/serverless/functions/overview/#prerequisites) to use this SDK method. A function can be executed by calling the `execute()` method in which the [function ID](https://docs.catalyst.zoho.com/en/serverless/help/functions/implementation/#create-a-function) and configuration (of type JSON) are passed as parameters. The `functions` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/serverless/functions/get-function-instance/). ### Create a Function Configuration (JSON) Before executing a function, you must set the configuration required for it. Here, the configuration specifies the function arguments and their values. An example to set the configuration is detailed in the following code snippet ```javascript // Create Configuration for function Execution const conf = { args: { Name: 'Amelia' } } ``` The unique **function ID** is passed as a parameter to the `execute()` function to call the function to be executed with the necessary configuration. The promise returned here will be resolved to an object which is a JSON. The `functions` reference used in the code below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/serverless/functions/get-function-instance/). > **Note:** You can also pass the function name as a string to the `execute()` method instead of using the function ID. ```javascript const functionResponse = await functions.execute(1510000000059262,conf); console.log(functionResponse); ``` #### Circuits -------------------------------------------------------------------------------- title: "Overview" description: "This page describes the method to execute circuits in your application with sample code snippets." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/serverless/circuits/overview/" service: "Serverless" related: - Catalyst Serverless (/en/serverless/) - Circuits Help (/en/serverless/help/circuits/introduction/) - Basic IO Help (/en/serverless/help/functions/basic-io/) - Java SDK (/en/sdk/java/v1/serverless/circuits/execute-circuit/) - Python SDK (/en/sdk/python/v1/serverless/circuits/get-a-component-instance/) - REST APIs (/en/api/code-reference/serverless/circuits/execute-circuit/#ExecuteCircuit) -------------------------------------------------------------------------------- # Circuits JavaScript SDK # Overview [Circuits](https://docs.catalyst.zoho.com/en/serverless/help/circuits/introduction/) is a Catalyst Serverless component, that enables you to orchestrate tasks and automate workflows in Catalyst. A circuit is essentially a JSON file that helps you systematically define and organize a sequence of tasks to be carried out automatically. You can code your business logic in [Basic IO functions](https://docs.catalyst.zoho.com/en/serverless/help/functions/basic-io/), and orchestrate their executions in simultaneously or concurrently. The **Circuits JavaScript SDK** package enables you to execute the required Circuit through code. > **Notes:** * Circuits is currently not available to Catalyst users accessing from the EU, AU, IN, JP, SA or CA data centers. * You will not be able to execute [Job](https://docs.catalyst.zoho.com/en/serverless/help/functions/job-functions/), [Event](https://docs.catalyst.zoho.com/en/serverless/help/functions/event-functions/), or [Advanced I/O functions](https://docs.catalyst.zoho.com/en/serverless/help/functions/advanced-io/) in a Catalyst circuit. This is because Catalyst supports the input and output of a circuit in the JSON format, that is supported by the Basic I/O functions alone. ### Prerequisites You will need to install the following package to be able to use the Circuits SDK methods. ```sh npm install @zcatalyst/circuits ``` > **Info:** Ensure that you have applied the [required authentication configuration](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/auth-config/node-consideration/) to use the SDK methods of this component. ### Import Requirement You will need to import the following modules to use the Circuits SDK methods. ```javascript const { Circuits } = require('@zcatalyst/circuits'); ``` ### List of SDK Methods The following table contains the list of SDK methods that can be used to perform operations with the Circuits component through code.
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**
-------------------------------------------------------------------------------- title: "Get Circuit Instance" description: "This page describes the method to execute circuits in your application with sample code snippets." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/serverless/circuits/get-circuit-instance/" service: "Serverless" related: - Catalyst Serverless (/en/serverless/) - Circuits Help (/en/serverless/help/circuits/introduction/) - Java SDK (/en/sdk/java/v1/serverless/circuits/execute-circuit/) - Python SDK (/en/sdk/python/v1/serverless/circuits/get-a-component-instance/) - REST APIs (/en/api/code-reference/serverless/circuits/execute-circuit/#ExecuteCircuit) -------------------------------------------------------------------------------- # Get Circuit Instance > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/serverless/functions/overview/#prerequisites) to use this SDK method. You can get the `circuit` component reference as shown below. This will not fire a server-side call. You will refer to this component instance in various code snippets when working with the Circuits component. > **Note:** Circuits is currently not available to Catalyst users accessing from the EU, AU, IN, JP, SA, or CA data centers. ```javascript // Get a instance for Circuit const circuit = new Circuits(); ``` -------------------------------------------------------------------------------- title: "Execute a Circuit" description: "This page describes the method to execute circuits in your application with sample code snippets." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/serverless/circuits/execute-circuit/" service: "Serverless" related: - Catalyst Serverless (/en/serverless/) - Circuits Help (/en/serverless/help/circuits/introduction/) - Java SDK (/en/sdk/java/v1/serverless/circuits/execute-circuit/) - Python SDK (/en/sdk/python/v1/serverless/circuits/get-a-component-instance/) - REST APIs (/en/api/code-reference/serverless/circuits/execute-circuit/#ExecuteCircuit) -------------------------------------------------------------------------------- # Execute a Circuit > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/serverless/functions/overview/#prerequisites) to use this SDK method. The following code snippet details executing a circuit by referring to its unique [Circuit ID](https://docs.catalyst.zoho.com/en/serverless/help/circuits/implementation/#create-a-circuit) and passing key-value pairs as the input JSON to the circuit. It also illustrates obtaining the circuit’s execution details by referring to its unique [Execution ID](https://docs.catalyst.zoho.com/en/serverless/help/circuits/implementation/#execute-a-circuit) saved in the execution history of the circuit. The `circuit` reference used below is defined in the [component instance page](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/serverless/circuits/get-circuit-instance/). > **Note:** Circuits is currently not available to Catalyst users accessing from the EU, AU, IN, JP, SA, or CA data centers. ```javascript // Get a instance for Circuit const circuit = new Circuits(); // execute the circuit const executeCircuitResponse = await circuit.execute('195000000041001','sampleName',{name:'Aaron Jones'}); console.log(executeCircuitResponse); // get the circuit status const circuitStatusResponse = await circuit.status('195000000041001','195000000043002'); console.log(circuitStatusResponse); // abort the running circuit const circuitAbortResponse = await circuit.abort('195000000041001','195000000043002'); console.log(circuitAbortResponse); ``` ### Example of Expected Response ```json { id:"b3e2f61e-4795-428e-8365-3609bf2b5606", name:"Name", start_time:"Aug 18, 2021 07:35 PM", status:"running", status_code:1, execution_meta:{}, circuit_details:{ name:"NewCircuit", ref_name:"newcircuit", description:"", instance_id:"70454fc5-3bf6-45af-81ca-2742cc049698" }, input:{ name:"Aaron Jones" } } ``` ### CloudScale #### Authentication -------------------------------------------------------------------------------- title: "Overview" description: "This page describes the method to perform operations in the Authentication component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/overview/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Authentication Help (/en/cloud-scale/help/authentication/introduction/) - Java SDK (/en/sdk/java/v1/cloud-scale/authentication/add-new-user/) - Python SDK (/en/sdk/python/v1/cloud-scale/authentication/get-component-instance/) - iOS SDK (/en/sdk/ios/v2/cloud-scale/authentication/create-user-instance/) - Android SDK (/en/sdk/android/v2/cloud-scale/authentication/create-user-instance/) - Flutter SDK (/en/sdk/flutter/v2/cloud-scale/authentication/create-user-instance/) - REST API (/en/api/code-reference/cloud-scale/data-store/insert-new-row/#InsertNewRow) -------------------------------------------------------------------------------- # Authentication JavaScript SDK # Overview Authentication is a Catalyst CloudScale component that allows you to add end-users to your application in a secure manner. You will be able to customize aspects of your login elements, choose from three different types of authentication types, control end-user statuses, customize email templates, whitelist domains and enable CORS and iFrame access. The **Authentication JavaScript SDK** package enables you to perform user management operations like adding or removing end-users, prompting users to reset their passwords, getting user details, and implementing custom logic to authenticate end-users' access. ### Prerequisites You need to install the following package to use the Authentication SDK methods. ```sh npm install @zcatalyst/auth ``` > **Info:** Ensure that you have applied the [required authentication configuration](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/auth-config/node-consideration/) to use the SDK methods of this component. ### Import Requirement You will need to import the following module to use the Authentication SDK methods. ```javascript const { UserManagement } = require('@zcatalyst/auth'); ``` ### List of SDK Methods The following table contains the list of SDK methods that can be used to perform operations in Authentication through code.
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
  • [Add New User](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/add-new-user/)
  • [Get All Org IDs](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/get-all-orgs/)
  • [Add New User to an Existing Organization](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/add-user-to-org/)
  • [Get All Users in an Organization](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/get-all-users-org/)
  • [Reset Password](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/reset-pwd/)
  • [Get User Details](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/get-user-details/)
  • [Update User Details](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/update-user-details/)
  • [Enable or Disable a User](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/enable-disable-user/)
  • [Delete a User](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/delete-user/)
**Admin**
-------------------------------------------------------------------------------- title: "Get Component Instance" description: "This page describes the method to perform operations in the Authentication component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/get-component-instance/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Authentication Help (/en/cloud-scale/help/authentication/introduction/) - Java SDK (/en/sdk/java/v1/cloud-scale/authentication/add-new-user/) - Python SDK (/en/sdk/python/v1/cloud-scale/authentication/get-component-instance/) - iOS SDK (/en/sdk/ios/v2/cloud-scale/authentication/create-user-instance/) - Android SDK (/en/sdk/android/v2/cloud-scale/authentication/create-user-instance/) - Flutter SDK (/en/sdk/flutter/v2/cloud-scale/authentication/create-user-instance/) - REST API (/en/api/code-reference/cloud-scale/data-store/insert-new-row/#InsertNewRow) -------------------------------------------------------------------------------- # Get Component Instance > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/overview/#prerequisites) to use this SDK method. You can get the `userManagement` component reference as shown below. This will not fire a server-side call. You will refer to this component instance in various code snippets of working with Authentication. ```javascript const userManagement = new UserManagement(); ``` > **Note:** - Passing an initialized app instance to a component determines the authentication scope it uses. - To perform an operation with user-level permissions, initialize the SDK with User scope, or with custom credentials, and pass that instance to the component. This runs the operation in the user's scope or custom credential scope instead of the default admin scope. ```javascript const userManagement = new UserManagement(app); ``` - If your Function or AppSail application needs both custom credentials and admin authentication at the same time, give each initialization a unique app name, otherwise the custom initialization can overwrite your existing admin credentials. - In all cases, explicitly pass the matching app instance to each component so it uses the intended authentication scope; if none is provided, the SDK defaults to the admin credentials. -------------------------------------------------------------------------------- title: "Add New User" description: "This page describes the method to perform operations in the Authentication component." last_updated: "2026-11-03T15:16:51.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/add-new-user/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Authentication Help (/en/cloud-scale/help/authentication/introduction/) - Java SDK (/en/sdk/java/v1/cloud-scale/authentication/add-new-user/) - Python SDK (/en/sdk/python/v1/cloud-scale/authentication/add-new-user/) - iOS SDK (/en/sdk/ios/v2/cloud-scale/authentication/user-signup/) - Android SDK (/en/sdk/android/v2/cloud-scale/authentication/user-signup/) - Flutter SDK (/en/sdk/flutter/v2/cloud-scale/authentication/user-signup/) - REST API (/en/api/code-reference/cloud-scale/authentication/add-new-user/#AddNewUser) -------------------------------------------------------------------------------- # Add New User > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/overview/#prerequisites) to use this SDK method. You can [add end users](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/user-management/users/introduction/) to your Catalyst serverless applications, fetch their details, or manage their accounts easily. When a user has signed up to a Catalyst application, unique identification values like `ZUID` and *User ID* are created for them. The user is also assigned to an organization automatically in this method. #### Create a JSON Configuration Before you add a new end-user to your Catalyst application, you must create a JSON object that contains the registration details of a particular user, such as their email address, last name, the application platform and the role they must be added to, as shown below. You can then pass the configuration to the user registration method. > **Notes:** * You must provide the values for `email_id` and `first_name`, the mandatory parameters to [register a user](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/user-management/users/implementation/#adding-a-new-user-from-the-console). * You can obtain the [`role_id`](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/user-management/roles/implementation/) from the *Roles* section in Authentication in the Catalyst console. ```javascript //Create a JSON object for adding a new user const signupConfig = { platform_type: 'web', template_details: { senders_mail: 'dogogetu@tutuapp.bid', subject: 'Welcome to %APP_NAME% ', message: '<p>Hello ,</p> <p>Follow this link to join in %APP_NAME% .</p> <p> <a href=\\\'%LINK%\\\'>%LINK%</a> </p> <p>If you did not ask to join the application, you can ignore this email.</p> <p>Thanks,</p> <p>Your %APP_NAME% team</p>' }, redirect_url: 'home.html' // The user will be directed to this page once they are authenticated. You can also provide mapped custom domains you configured as your invite URL. }; var userConfig = { first_name: 'Dannie', last_name: 'Boyle', email_id: 'p.boyle@zylker.com', role_id: '3376000000159024' }; ``` ### SDK Method to Add a New User You can now add a new end-user to your Catalyst application by passing the JSON objects you created in the previous section as arguments to the `registerUser()` SDK method. The `registerUser()` method handles the user sign-up process and returns a promise. This promise will be resolved to a JSON object. The `userManagement` reference used in the code snippet below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/get-component-instance/). ```javascript // Pass the JSON configuration to the method const userDetails = await userManagement.registerUser(signupConfig, userConfig); console.log(userDetails); ``` #### Example of Expected Response ```javascript { "zaid": "1005634498", "user_details": { "zuid": "1005641290", "zaaid": "1005641456", "org_id": "1005641456", "status": "ACTIVE", "is_confirmed": false, "email_id": "p.boylie@zylker.com", "first_name": "Dannie", "last_name": "Boyle", "created_time": "Aug 12, 2025 12:33 PM", "modified_time": "Aug 12, 2025 12:33 PM", "invited_time": "Aug 12, 2025 12:33 PM", "role_details": { "role_name": "App User", "role_id": "2305000000006024" }, "user_type": "App User", "user_id": "2305000000007752", "project_profiles": [] }, "redirect_url": "https://aliencity-66446133.development.catalystserverless.com/app/", "platform_type": "web", "org_id": null } ``` -------------------------------------------------------------------------------- title: "Get All Org IDs" description: "This page describes the method to perform operations in the Authentication component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/get-all-orgs/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Authentication Help (/en/cloud-scale/help/authentication/introduction/) - Java SDK (/en/sdk/java/v1/cloud-scale/authentication/get-org-id/) - Python SDK (/en/sdk/python/v1/cloud-scale/authentication/add-new-user-to-existing-org/) - iOS SDK (/en/sdk/ios/v2/cloud-scale/authentication/create-user-instance/) - Android SDK (/en/sdk/android/v2/cloud-scale/authentication/create-user-instance/) - Flutter SDK (/en/sdk/flutter/v2/cloud-scale/authentication/create-user-instance/) - REST API (/en/api/code-reference/cloud-scale/data-store/insert-new-row/#InsertNewRow) -------------------------------------------------------------------------------- # Get All Org IDs > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/overview/#prerequisites) to use this SDK method. **Org ID** or `ZAAID` is the unique identification of the organization that an end-user belongs to. This identification is generated when the end-user signs up to your application through any of the [authentication types](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/authentication-types/), gets added through the [Add User API](https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/authentication/add-new-user/#AddNewUser) or through the [Add User](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/user-management/users/implementation/#adding-a-new-user-from-the-console) button in the console. You can use the `getAllOrgs()` SDK method to fetch all the Org IDs generated while adding new users to your application. The `userManagement` reference used in the code snippet below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/get-component-instance/). ```javascript console.log('Orgs::::', await userManagement.getAllOrgs()); ``` -------------------------------------------------------------------------------- title: "Add New User to an Existing Organization" description: "This page describes the method to perform operations in the Authentication component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/add-user-to-org/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Authentication Help (/en/cloud-scale/help/authentication/introduction/) - Java SDK (/en/sdk/java/v1/cloud-scale/authentication/add-new-user-to-existing-org/) - Python SDK (/en/sdk/python/v1/cloud-scale/authentication/add-new-user-to-existing-org/) - iOS SDK (/en/sdk/ios/v2/cloud-scale/authentication/user-signup/) - Android SDK (/en/sdk/android/v2/cloud-scale/authentication/user-signup/) - Flutter SDK (/en/sdk/flutter/v2/cloud-scale/authentication/user-signup/) - REST API (/en/api/code-reference/cloud-scale/authentication/add-user-to-existing-org/#AddaNewUsertoanExistingOrganization) -------------------------------------------------------------------------------- # Add New User to an Existing Organization > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/overview/#prerequisites) to use this SDK method. You can add an end-user to an existing organization without creating a new organization for them. This can be done by providing the [**OrgID**](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/user-management/users/introduction/) of the organization that the user must be added to. The organization of a user cannot be changed later, once it is associated with their account. When the user has signed up, unique identification values such as [`ZUID` and User ID](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/user-management/users/introduction/) are created for them. > **Notes:** * You must provide the values for the mandatory parameters, `OrgID`, `email_id` and `first_name`, to [register a user](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/user-management/users/implementation/#adding-a-new-user-from-the-console). * You can also add end-users to your application by providing the [`role_id`](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/user-management/roles/implementation/) from the *Roles* section in Authentication in the Catalyst console. * When inviting a new user, you can configure the sender’s email address, subject and the email message. You must add the email address in the [Catalyst Mail Component](https://docs.catalyst.zoho.com/en/cloud-scale/help/mail/email-configuration/) and get it verified before using it in the SDK code. #### Create a JSON Configuration Before you add a new end-user to your Catalyst application, you must create a JSON object that contains the registration details of a particular user as shown below. You can then pass the configuration to the user registration method. ```javascript //Create a JSON object for adding a new user to an existing org const signupConfig = { platform_type: 'web', template_details: { senders_mail: 'dogogetu@tutuapp.bid', subject: 'Welcome to %APP_NAME% ', message: '<p>Hello ,</p> <p>Follow this link to join in %APP_NAME% .</p> <p><a href=\'%LINK%\'>%LINK%</a></p> <p>If you didn\'t ask to join the application, you can ignore this email.</p> <p>Thanks,</p> <p>Your %APP_NAME% team</p>' } }; var userConfig = { first_name: 'Amelia', last_name: 'Burrows', email_id: 'emma@zylker.com', org_id: 10014774358 }; ``` ### SDK Method to Add to Existing Org You can now add a new end-user to an existing organization by passing the JSON objects you created in the previous section as arguments to the `addUserToOrg()` SDK method. This method handles the user sign-up process and returns a promise. This promise will be resolved to a JSON object. The `userManagement` reference used in the code snippet below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/get-component-instance/). ```javascript //Pass the JSON configurations to the method const addedUser = await userManagement.addUserToOrg(signupConfig, userConfig); console.log(addedUser); ``` #### Example of Expected Response ```javascript { "zaid": "1005634498", "user_details": { "zuid": "1005643749", "org_id": "10014774358", "status": "ACTIVE", "is_confirmed": false, "email_id": "emma@zylker.com", "first_name": "Amelia", "last_name": "Burrows", "created_time": "Aug 12, 2021 03:56 PM", "modified_time": "Aug 12, 2021 03:56 PM", "invited_time": "Aug 12, 2021 03:56 PM", "role_details": { "role_name": "App User", "role_id": "2305000000006024" }, "user_type": "App User", "user_id": "2305000000009002", "project_profiles": [] }, "redirect_url": "https://aliencity-66446133.development.catalystserverless.com/app/", "platform_type": "web", "org_id": null } ``` -------------------------------------------------------------------------------- title: "Get All Users in an Organization" description: "This page describes the method to perform operations in the Authentication component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/get-all-users-org/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Authentication Help (/en/cloud-scale/help/authentication/introduction/) - Java SDK (/en/sdk/java/v1/cloud-scale/authentication/get-users-in-org/) - Python SDK (/en/sdk/python/v1/cloud-scale/authentication/get-user-details/) - iOS SDK (/en/sdk/ios/v2/cloud-scale/authentication/get-current-user/) - Android SDK (/en/sdk/android/v2/cloud-scale/authentication/get-current-user/) - Flutter SDK (/en/sdk/flutter/v2/cloud-scale/authentication/get-current-user/) - REST API (/en/api/code-reference/cloud-scale/authentication/get-all-users/#GetAllUsers) -------------------------------------------------------------------------------- # Get All Users in an Organization > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/overview/#prerequisites) to use this SDK method. You can pass the [**OrgID**](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/user-management/users/introduction/) to the `getAllUsers()` SDK method to fetch all the users added to the application from that organization. The `userManagement` reference used in the code snippet below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/get-component-instance/). ```javascript userManagement.getAllUsers('10062701096'); // Enter your Org ID here ``` -------------------------------------------------------------------------------- title: "Reset Password" description: "This page describes the method to perform operations in the Authentication component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/reset-pwd/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Authentication Help (/en/cloud-scale/help/authentication/introduction/) - Java SDK (/en/sdk/java/v1/cloud-scale/authentication/reset-password/) - Python SDK (/en/sdk/python/v1/cloud-scale/authentication/reset-password/) - iOS SDK (/en/sdk/ios/v2/cloud-scale/authentication/create-user-instance/) - Android SDK (/en/sdk/android/v2/cloud-scale/authentication/create-user-instance/) - Flutter SDK (/en/sdk/flutter/v2/cloud-scale/authentication/create-user-instance/) - REST API (/en/api/code-reference/cloud-scale/authentication/reset-user-password/#ResetUserPassword) -------------------------------------------------------------------------------- # Reset Password > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/overview/#prerequisites) to use this SDK method. After the successful registration of a user, you can prompt the end-user to [reset their password](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/user-management/users/implementation/#reset-a-users-password) using the following code snippet. > **Notes:** * **EmailID** and **Platform type** are the mandatory attributes. * When inviting a new user, you can configure the sender’s email address, subject and the email message. You must add the email address in the [Catalyst Mail Component](https://docs.catalyst.zoho.com/en/cloud-scale/help/mail/email-configuration/) and get it verified before using it in the SDK code. #### Create a JSON Configuration You need to configure the JSON object to contain the registering the details of a particular user in the manner shown below: ```javascript //Create Config Object for the user const signupConfig={ platform_type:'web', zaid:10014774358, template_details:{ senders_mail:'dogogetu@tutuapp.bid', subject:'Welcome to %APP_NAME% ', message:'<p>Hello ,</p> <p>Follow this link to join in %APP_NAME% .</p> <p><a href=\'%LINK%\'>%LINK%</a></p> <p>If you didn’t ask to join the application, you can ignore this email.</p> <p>Thanks,</p> <p>Your %APP_NAME% team</p>' } }; var userConfig={ first_name:'A', last_name:'B', email_id:'amelia.burrows@zylker.com' }; ``` ### SDK Method to Reset the Password You need to pass the JSON object as argument to the `registerUser()` SDK method which returns a promise. The promise returned will be resolved to an object which is a JSON. While calling the `registerUser()` SDK method, a reset password link will be generated and sent to the user’s Email address. The `userManagement` reference used in the code snippet below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/get-component-instance/). ```javascript const users=await userManagement.resetPassword('amelia.b@zylker.com',{ platform_type:'web', redirect_url:'https://www.google.com', template_details:{ subject:'Reset Password', message:'Click on the link to reset your password: Reset Password', senders_mail:'support@zylker.com' } }); console.log(users); ``` -------------------------------------------------------------------------------- title: "Get User Details" description: "This page describes the method to perform operations in the Authentication component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/get-user-details/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Authentication Help (/en/cloud-scale/help/authentication/introduction/) - Java SDK (/en/sdk/java/v1/cloud-scale/authentication/get-user-details/) - Python SDK (/en/sdk/python/v1/cloud-scale/authentication/get-user-details/) - iOS SDK (/en/sdk/ios/v2/cloud-scale/authentication/get-current-user/) - Android SDK (/en/sdk/android/v2/cloud-scale/authentication/get-current-user/) - Flutter SDK (/en/sdk/flutter/v2/cloud-scale/authentication/get-current-user/) - REST API (/en/api/code-reference/cloud-scale/authentication/get-all-users/#GetAllUsers) -------------------------------------------------------------------------------- # Get User Details > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/overview/#prerequisites) to use this SDK method. Catalyst Authentication provides SDK methods to retrieve the details of the [application users](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/user-management/users/introduction/). You can obtain the user information of the current user, any user, or all users of the application. ### Get Details of Current User The method `getCurrentUser()` fetches the details of a user on whose scope the function is getting executed. The `userManagement` reference used in the code snippet below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/get-component-instance/). The promise returned here will be resolved to a JSON object. ```javascript // get the details of the current user const currentUser = await userManagement.getCurrentUser(); console.log(currentUser); ``` #### Example of Expected Response ```javascript { "zuid":"1005641433", "zaaid":"1005641434", "org_id":"1005641434", "status":"ACTIVE", "is_confirmed":false, "email_id":"p.boyle@zylker.com", "last_name":"Boyle", "created_time":"Aug 12, 2021 12:27 PM", "role_details":{ "role_name":"App User", "role_id":"2305000000006024" }, "user_type":"App User", "user_id":"2305000000007745", "locale":"us|en|Asia/Kolkata", "time_zone":"Asia/Kolkata", "project_profiles":[] } ``` ### Get User Details Using User ID You can retrieve the details of a particular user by passing the User ID of the user to the `getUserDetails()` SDK method. The promise is resolved to a JSON object. The `userManagement` reference used in the code snippet below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/get-component-instance/). ```javascript const userDetails = await userManagement.getUserDetails(1510000000109587); console.log(userDetails); ``` #### Example of Expected Response A sample response that you will receive for each version is shown below: ```javascript { "zuid":"1005665160", "zaaid":"1005665245", "org_id":"1005665245", "status":"ACTIVE", "is_confirmed":false, "email_id":"mikerogers@zylker.com", "last_name":"Rogers", "created_time":"Aug 17, 2021 04:55 PM", "role_details":{ "role_name":"App User", "role_id":"2136000000007748" }, "user_type":"App User", "user_id":"2136000000020040", "locale":"us|en|Asia/Kolkata", "time_zone":"Asia/Kolkata", "project_profiles":[] } ``` ### Get Details of All Users The `getAllUsers()` SDK method can fetch the details of all the users who are registered with the application. The promise returned here will be resolved to an array of objects which contains all user details. ```javascript const allUserDetails = await userManagement.getAllUsers(); console.log(allUserDetails); ``` #### Example of Expected Response A sample response that you will receive for each version is shown below: ```javascript [ { zuid: "1005648252", zaaid: "1005648253", org_id: "1005648253", status: "ACTIVE", is_confirmed: false, email_id: "p.boyle@zylker.com", last_name: "Boyle", created_time: "Aug 13, 2021 01:36 PM", modified_time: "Aug 13, 2021 01:36 PM", invited_time: "Aug 13, 2021 01:36 PM", role_details: { role_name: "App User", role_id: "2136000000007748" }, user_type: "App User", user_id: "2136000000007774", locale: "us|en|Asia/Kolkata", time_zone: "Asia/Kolkata", project_profiles: [] }, { zuid: "1005665160", zaaid: "1005665245", org_id: "1005665245", status: "ACTIVE", is_confirmed: false, email_id: "rsmith@zylker.com ", last_name: "Smith", created_time: "Aug 17, 2021 04:55 PM", modified_time: "Aug 17, 2021 04:55 PM", invited_time: "Aug 17, 2021 04:55 PM", role_details: { role_name: "App User", role_id: "2136000000007748" }, user_type: "App User", user_id: "2136000000020040", locale: "us|en|Asia/Kolkata", time_zone: "Asia/Kolkata", project_profiles: [] } ] ``` -------------------------------------------------------------------------------- title: "Update User Details" description: "This page describes the method to perform operations in the Authentication component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/update-user-details/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Authentication Help (/en/cloud-scale/help/authentication/introduction/) - Java SDK (/en/sdk/java/v1/cloud-scale/authentication/update-user-details/) - Python SDK (/en/sdk/python/v1/cloud-scale/authentication/update-user-details/) - iOS SDK (/en/sdk/ios/v2/cloud-scale/authentication/get-current-user/) - Android SDK (/en/sdk/android/v2/cloud-scale/authentication/get-current-user/) - Flutter SDK (/en/sdk/flutter/v2/cloud-scale/authentication/get-current-user/) - REST API (/en/api/code-reference/cloud-scale/authentication/get-all-users/#GetAllUsers) -------------------------------------------------------------------------------- # Update User Details > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/overview/#prerequisites) to use this SDK method. Catalyst allows you to [modify and update](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/user-management/users/implementation/#modify-a-users-details) the following details of an end-user: * First Name * Last Name * [**ZAAID**](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/user-management/users/introduction/) * [RoleID](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/user-management/roles/implementation/): Role ID is the value generated by Catalyst that is assigned to a particular [user role](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/user-management/roles/introduction/). The SDK snippet below demonstrates updating an end-user’s details using the `updateUserDetails(userID, userDetails)` method. The first name of the user is updated in the example below. The `userManagement` reference used in the code snippet below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/get-component-instance/). ```javascript userManagement.updateUserDetails('13749831', { email_id: 'emma@zylker.com', last_name: 'Burrows', zaaid: '1483013413294234', role_id: '843974989234859', first_name: 'Amelia' }); ``` -------------------------------------------------------------------------------- title: "Enable or Disable a User" description: "This page describes the method to perform operations in the Authentication component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/enable-disable-user/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Authentication Help (/en/cloud-scale/help/authentication/introduction/) - Java SDK (/en/sdk/java/v1/cloud-scale/authentication/enable-disable-user/) - Python SDK (/en/sdk/python/v1/cloud-scale/authentication/enable-disable-user/) - iOS SDK (/en/sdk/ios/v2/cloud-scale/authentication/create-user-instance/) - Android SDK (/en/sdk/android/v2/cloud-scale/authentication/create-user-instance/) - Flutter SDK (/en/sdk/flutter/v2/cloud-scale/authentication/create-user-instance/) - REST API (/en/api/code-reference/cloud-scale/authentication/sign-out-user/#SignOutUser) -------------------------------------------------------------------------------- # Enable or Disable a User > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/overview/#prerequisites) to use this SDK method. Catalyst allows you to [disable or enable a user](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/user-management/users/implementation/#enable-or-disable-a-user) at any time. A disabled user will be signed up to your application but will not be able to access your application. You can enable or disable an end-user using the `updateUserStatus(userId, USER_STATUS)` method. The user is referred by their unique [User ID](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/user-management/users/introduction/). You can find the User IDs of all users by navigating to the *Users* > [*User Management*](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/user-management/introduction/) section of the [Authentication](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/introduction/) component. The `userManagement` reference used in the code snippet below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/get-component-instance/). ### To Enable a User ```javascript userManagement.updateUserStatus('195000000042777', USER_STATUS.ENABLE) ``` ### To Disable a User ```javascript userManagement.updateUserStatus('195000000042777', USER_STATUS.DISABLE) ``` -------------------------------------------------------------------------------- title: "Delete a User" description: "This page describes the method to perform operations in the Authentication component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/delete-user/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Authentication Help (/en/cloud-scale/help/authentication/introduction/) - Java SDK (/en/sdk/java/v1/cloud-scale/authentication/delete-user/) - Python SDK (/en/sdk/python/v1/cloud-scale/authentication/delete-user/) - iOS SDK (/en/sdk/ios/v2/cloud-scale/authentication/create-user-instance/) - Android SDK (/en/sdk/android/v2/cloud-scale/authentication/create-user-instance/) - Flutter SDK (/en/sdk/flutter/v2/cloud-scale/authentication/create-user-instance/) - REST API (/en/api/code-reference/cloud-scale/authentication/delete-user/#DeleteUser) -------------------------------------------------------------------------------- # Delete a User > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/overview/#prerequisites) to use this SDK method. The [end-user of a Catalyst application](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/user-management/users/introduction/) can be deleted to discontinue accessing the application. This is done through `deleteUser()` method, in which the **User ID** of the user who is to be deleted is passed as a parameter. The promise returned here will be resolved to an object which is a JSON. The `userManagement` reference used in the code snippet below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/get-component-instance/). ```javascript const deletedUser = await userManagement.deleteUser(1510000000109587); console.log(deletedUser); ``` #### DataStore -------------------------------------------------------------------------------- title: "Overview" description: "This page describes the method to perform operations in the DataStore component." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/overview/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - DataStore Help (/en/cloud-scale/help/data-store/introduction/) - Java SDK (/en/sdk/java/v1/cloud-scale/data-store/get-table-meta/) - Python SDK (/en/sdk/python/v1/cloud-scale/data-store/get-component-instance/) - iOS SDK (/en/sdk/ios/v2/cloud-scale/data-store/create-data-store-instance/) - Android SDK (/en/sdk/android/v2/cloud-scale/data-store/create-data-store-instance/) - Flutter SDK (/en/sdk/flutter/v2/cloud-scale/data-store/create-data-store-instance/) - REST APIs (/en/api/code-reference/cloud-scale/data-store/insert-new-row/#InsertNewRow) -------------------------------------------------------------------------------- # DataStore JavaScript SDK # Overview [Data Store](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/tables/) is a *Catalyst CloudScale* component that offers robust RDBMS solutions without the hassle of having to implement a complex setup. The entire infrastructure and setup required to ensure seamless scalability is handled by the Catalyst cloud. You can perform operations like creating tables and columns, CRUD operations on data stored in the table, and define roles and permissions directly using the intuitive UI present in the Catalyst console. ### Prerequisites You will need to install the following packages to be able to use the DataStore SDK methods. ```sh npm install @zcatalyst/datastore ``` > **Info:** Ensure that you have applied the [required authentication configuration](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/auth-config/node-consideration/) to use the SDK methods of this component. ### Import Requirement You will need to import the following modules to use the DataStore SDK methods. ```javascript const { Datastore} = require('@zcatalyst/datastore');//DataStore module ``` ### List of SDK Methods The following table contains the list of SDK methods that can be used to perform operations in the DataStore through code.
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
  • [Get Table Metadata](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-table-metadata/)
    • [Get a Table's Metadata by Table ID](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-table-metadata/#get-a-tables-metadata-by-table-id)
    • [Get a Table's Metadata by Table Name](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-table-metadata/#get-a-tables-metadata-by-table-name)
    • [Get Metadata of all Tables](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-table-metadata/#get-metadata-of-all-tables)
  • [Get a Table Instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-table-instance/)
    • [Get the Table Instance Using Table ID](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-table-instance/#get-the-table-instance-using-tableid)
    • [Get the Table Instance Using Table Name](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-table-instance/#get-the-table-instance-using-table-name)
**No requirement**
Column Operations [Get Column Metadata](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-column-metadata/)
  • [Get a Column's Metadata by ID](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-column-metadata/#get-columns-metadata-by-id)
  • [Get a Column's Metadata by Name](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-column-metadata/#get-a-columns-metadata-by-name)
  • [Get Metadata of all Columns](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-column-metadata/#get-metadata-of-all-columns)
**No requirement**
Row Operations
  • [Get Rows](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-rows/)
  • [Insert Rows](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/insert-rows/)
    • [Insert a Single Row](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/insert-rows/#insert-a-single-row)
    • [Insert Multiple Rows](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/insert-rows/#insert-multiple-rows)
  • [Update Rows](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/update-rows/)
    • [Update a Single Row](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/update-rows/#update-a-single-row)
    • [Update Multiple Rows](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/update-rows/#update-multiple-rows)
  • [Delete a Row](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/delete-rows/)
**No requirement**
Bulk Operations
  • [Bulk Read Rows](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/bulk-operations/bulk-read/)
  • [Bulk Write Rows](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/bulk-operations/bulk-write/)
**Admin**
  • [Bulk Delete Rows](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/bulk-operations/bulk-delete/)
**No requirement**
-------------------------------------------------------------------------------- title: "Get a Component Instance" description: "This page describes the method to perform operations in the DataStore component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-component-instance/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - DataStore Help (/en/cloud-scale/help/data-store/introduction/) - Java SDK (/en/sdk/java/v1/cloud-scale/data-store/get-table-meta/) - Python SDK (/en/sdk/python/v1/cloud-scale/data-store/get-component-instance/) - iOS SDK (/en/sdk/ios/v2/cloud-scale/data-store/create-data-store-instance/) - Android SDK (/en/sdk/android/v2/cloud-scale/data-store/create-data-store-instance/) - Flutter SDK (/en/sdk/flutter/v2/cloud-scale/data-store/create-data-store-instance/) - REST APIs (/en/api/code-reference/cloud-scale/data-store/insert-new-row/#InsertNewRow) -------------------------------------------------------------------------------- # Get a Component Instance > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/overview/#prerequisites) to use this SDK method. You can get the `datastore` component reference as shown below. This will not fire a server-side call. You will refer to this component instance in various code snippets of working with DataStore. ```javascript //Get a datastore instance const datastore = new Datastore(); ``` > **Note:** - Passing an initialized app instance to a component determines the authentication scope it uses. - To perform an operation with user-level permissions, initialize the SDK with User scope, or with custom credentials, and pass that instance to the component. This runs the operation in the user's scope or custom credential scope instead of the default admin scope. ```javascript const datastore = new Datastore(app); ``` - If your Function or AppSail application needs both custom credentials and admin authentication at the same time, give each initialization a unique app name, otherwise the custom initialization can overwrite your existing admin credentials. - In all cases, explicitly pass the matching app instance to each component so it uses the intended authentication scope; if none is provided, the SDK defaults to the admin credentials. -------------------------------------------------------------------------------- title: "Get Table Metadata" description: "This page describes the method to perform operations in the DataStore component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-table-metadata/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - DataStore Help (/en/cloud-scale/help/data-store/introduction/) - Java SDK (/en/sdk/java/v1/cloud-scale/data-store/get-table-meta/) - Python SDK (/en/sdk/python/v1/cloud-scale/data-store/get-table-meta/) - iOS SDK (/en/sdk/ios/v2/cloud-scale/data-store/create-data-store-instance/) - Android SDK (/en/sdk/android/v2/cloud-scale/data-store/create-data-store-instance/) - Flutter SDK (/en/sdk/flutter/v2/cloud-scale/data-store/create-data-store-instance/) - REST APIs (/en/api/code-reference/cloud-scale/data-store/get-table-metadata/#GetTableMetadata) -------------------------------------------------------------------------------- # Get Table Metadata > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/overview/#prerequisites) to use this SDK method. Using the `getTableDetails()` SDK method, you can get the metadata of a particular table in the [Catalyst Datastore](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/introduction/). ### Get a Table's Metadata by Table ID A table's metadata is fetched by referring the table's ID, using the `getTableDetails()` SDK method. The `datastore` reference used in the following code snippet is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-component-instance/). ```javascript const datastore = new Datastore(); const table = await datastore.getTableDetails(20660000000012118); console.log(table); ``` #### Example of Expected Response You have the choice to convert the resultant promise (table metadata) to either a string or JSON output by accessing the `.toString()` or `.toJSON()` methods. ```json { project_id:{ project_name:"AlienCity", id:"2136000000007733" }, table_name:"AlienCity", modified_by:{ zuid:"66466723", is_confirmed:false, email_id:"emma@zylker.com", first_name:"Amelia", last_name:"Burrows", user_type:"Admin", user_id:"2136000000006003" }, modified_time:"Aug 13, 2021 01:47 PM", column_details:[ { table_id:"2136000000007781", column_sequence:"1", column_name:"ROWID", category:1, data_type:"bigint", max_length:"50", is_mandatory:false, decimal_digits:"2", is_unique:false, search_index_enabled:false, column_id:"2136000000007784" }, { table_id:"2136000000007781", column_sequence:"2", column_name:"CREATORID", category:1, data_type:"bigint", max_length:"50", is_mandatory:false, decimal_digits:"2", is_unique:false, search_index_enabled:true, column_id:"2136000000007786" }, { table_id:"2136000000007781", column_sequence:"3", column_name:"CREATEDTIME", category:1, data_type:"datetime", max_length:"50", is_mandatory:false, decimal_digits:"2", is_unique:false, search_index_enabled:true, column_id:"2136000000007788" }, { table_id:"2136000000007781", column_sequence:"4", column_name:"MODIFIEDTIME", category:1, data_type:"datetime", max_length:"50", is_mandatory:false, decimal_digits:"2", is_unique:false, search_index_enabled:true, column_id:"2136000000007790" }, { table_id:"2136000000007781", column_sequence:"5", column_name:"CityName", category:2, data_type:"varchar", max_length:"100", is_mandatory:false, decimal_digits:"2", is_unique:true, search_index_enabled:true, column_id:"2136000000008503" } ], table_id:"2136000000007781" } ``` ### Get a Table's Metadata By Table Name A table's metadata is fetched by referring the name of the table, using the `getTableDetails()` SDK method. The `datastore` reference used in the following code snippet is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-component-instance/). > **Note:** If you change the name of your table at any point, you will need to ensure that the same change is reflected in your codebase in places where you have referred to the required table using the table's name. ```javascript //Get a Single Table's details using the table name const datastore = new Datastore(); const table = await datastore.getTableDetails('VendorSystems'); console.log(table); ``` #### Example of Expected Response You have the choice to convert the resultant promise (table metadata) to either a string or JSON output by accessing the `.toString()` or `.toJSON()` methods. ```json { project_id:{ project_name:"AlienCity", id:"2136000000007733" }, table_name:"AlienCity", modified_by:{ zuid:"66466723", is_confirmed:false, email_id:"emma@zylker.com", first_name:"Amelia", last_name:"Burrows", user_type:"Admin", user_id:"2136000000006003" }, modified_time:"Aug 13, 2021 01:47 PM", column_details:[ { table_id:"2136000000007781", column_sequence:"1", column_name:"ROWID", category:1, data_type:"bigint", max_length:"50", is_mandatory:false, decimal_digits:"2", is_unique:false, search_index_enabled:false, column_id:"2136000000007784" }, { table_id:"2136000000007781", column_sequence:"2", column_name:"CREATORID", category:1, data_type:"bigint", max_length:"50", is_mandatory:false, decimal_digits:"2", is_unique:false, search_index_enabled:true, column_id:"2136000000007786" }, { table_id:"2136000000007781", column_sequence:"3", column_name:"CREATEDTIME", category:1, data_type:"datetime", max_length:"50", is_mandatory:false, decimal_digits:"2", is_unique:false, search_index_enabled:true, column_id:"2136000000007788" }, { table_id:"2136000000007781", column_sequence:"4", column_name:"MODIFIEDTIME", category:1, data_type:"datetime", max_length:"50", is_mandatory:false, decimal_digits:"2", is_unique:false, search_index_enabled:true, column_id:"2136000000007790" }, { table_id:"2136000000007781", column_sequence:"5", column_name:"CityName", category:2, data_type:"varchar", max_length:"100", is_mandatory:false, decimal_digits:"2", is_unique:true, search_index_enabled:true, column_id:"2136000000008503" } ], table_id:"2136000000007781" } ``` ### Get Metadata of all Tables The `getAllTables()` SDK method can be used to retrieve the metadata of all the tables in the Catalyst project. The `datastore` reference used in the following code snippet is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-component-instance/). ```javascript const datastore = new Datastore(); const tables = await datastore.getAllTables(); console.log(tables); ``` #### Example of Expected Response The promise (metadata of all the tables) here will be resolved to an array of table meta details. ```json [ { project_id:{ project_name:"AlienCity", id:"2136000000007733" }, table_name:"AlienCity", modified_by:{ zuid:"66466723", is_confirmed:false, email_id:"emma@zylker.com", first_name:"Amelia", last_name:"Burrows", user_type:"Admin", user_id:"2136000000006003" }, modified_time:"Aug 13, 2021 01:47 PM", table_id:"2136000000007781" }, { table_name:"CityDetails", modified_by:{ zuid:"66466723", is_confirmed:false, email_id:"emma@zylker.com", first_name:"Amelia", last_name:"Burrows", user_type:"Admin", user_id:"2136000000006003" }, modified_time:"Aug 13, 2021 01:47 PM", table_id:"2136000000009090" } ] ``` -------------------------------------------------------------------------------- title: "Get a Table Instance" description: "This page describes the method to perform operations in the DataStore component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-table-instance/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - DataStore Help (/en/cloud-scale/help/data-store/introduction/) - Java SDK (/en/sdk/java/v1/cloud-scale/data-store/get-table-instance/) - Python SDK (/en/sdk/python/v1/cloud-scale/data-store/get-table-instance/) - iOS SDK (/en/sdk/ios/v2/cloud-scale/data-store/create-data-store-instance/) - Android SDK (/en/sdk/android/v2/cloud-scale/data-store/create-data-store-instance/) - Flutter SDK (/en/sdk/flutter/v2/cloud-scale/data-store/create-data-store-instance/) - REST APIs (/en/api/code-reference/cloud-scale/data-store/insert-new-row/#InsertNewRow) -------------------------------------------------------------------------------- # Get a Table Instance > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/overview/#prerequisites) to use this SDK method. You can get a table's instance referring to it using its ID or name. ### Get The Table Instance Using TableID A table reference can be created by referring the table ID using the `getTable()` SDK method. The `datastore` reference used in the following code snippet is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-component-instance/). ```javascript const datastore = new Datastore(); const table = datastore.table(20660000000012118); ``` ### Get The Table Instance Using Table Name A table reference can be created by referring the table name using the `getTable()` SDK method. The `datastore` reference used in the following code snippet is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-component-instance/). ```javascript const datastore = new Datastore(); const table = datastore.table('VendorShipments'); ``` -------------------------------------------------------------------------------- title: "Get Column Metadata" description: "This page describes the method to perform operations in the DataStore component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-column-metadata/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - DataStore Help (/en/cloud-scale/help/data-store/introduction/) - Java SDK (/en/sdk/java/v1/cloud-scale/data-store/get-column-meta/) - Python SDK (/en/sdk/python/v1/cloud-scale/data-store/get-column-meta/) - iOS SDK (/en/sdk/ios/v2/cloud-scale/data-store/get-column-metadata/) - Android SDK (/en/sdk/android/v2/cloud-scale/data-store/get-column-metadata/) - Flutter SDK (/en/sdk/flutter/v2/cloud-scale/data-store/get-column-metadata/) - REST APIs (/en/api/code-reference/cloud-scale/data-store/get-column-metadata/#GetColumnMetadata) -------------------------------------------------------------------------------- # Get Column Metadata > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/overview/#prerequisites) to use this SDK method. ### Get Column's Metadata by ID You can retrieve the meta details of a single column of a table in the Data Store using the `getColumnDetails()` SDK method. The `datastore` reference used in the following code snippets is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-component-instance/). The `table` reference used in the below code snippets can either be a [table instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-table-instance/) or a [table meta](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-table-metadata/). ```javascript //Use Table Meta Object to get the column with column ID const datastore = new Datastore(); const table = datastore.table('ShipmentDetails'); const column = await table.getColumnDetails(1510000000110832); console.log(column); ``` #### Example of Expected Response ```json { table_id:"2305000000007003", column_sequence:"5", column_name:"CityName", category:2, data_type:"varchar", max_length:"100", is_mandatory:false, decimal_digits:"2", is_unique:true, search_index_enabled:false, column_id:"2305000000007725" } ``` ### Get a Column's Metadata by Name You can pass the name of the required column to the `getColumnDetails()` SDK method to get its metadata. The column meta will not involve any further operations. Therefore the promise returned here is resolved to a JSON object. The `datastore` reference used in the following code snippets is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-component-instance/). The `table` reference used in the below code snippets can either be a [table instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-table-instance/) or a [table meta](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-table-metadata/). ```javascript //Use Table Meta Object to get the column with column ID const datastore = new Datastore(); const table = datastore.table('SampleTable'); const column = await table.getColumnDetails('newColumn'); console.log(column); ``` #### Example of Expected Response ```json { table_id:"2305000000007003", column_sequence:5, column_name:"CityName", category:2, data_type:"varchar", max_length:100, is_mandatory:false, decimal_digits:2, is_unique:true, search_index_enabled:false, column_id:"2305000000007725" } ``` ### Get Metadata of All Columns You can use the `getAllColumns()` SDK method to get the metadata of all the columns present in a table in the Data Store. The `datastore` reference used in the following code snippets is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-component-instance/). The `table` reference used in the below code snippets can either be a [table instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-table-instance/) or a [table meta](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-table-metadata/). ```javascript //Use Table Meta Object to get all the columns const datastore = new Datastore(); const table = datastore.table('SampleTable'); const columns = await table.getAllColumns(); console.log(columns); ``` #### Example of Expected Response The promise returned here is resolved into an array of column meta details. ```json [ { "table_id": "2136000000007781", "column_sequence": 1, "column_name": "ROWID", "category": 1, "data_type": "bigint", "max_length": 50, "is_mandatory": false, "decimal_digits": 2, "is_unique": false, "search_index_enabled": false, "column_id": "2136000000007784" }, { "table_id": "2136000000007781", "column_sequence": 2, "column_name": "CREATORID", "category": 1, "data_type": "bigint", "max_length": 50, "is_mandatory": false, "decimal_digits": 2, "is_unique": false, "search_index_enabled": true, "column_id": "2136000000007786" }, { "table_id": "2136000000007781", "column_sequence": 3, "column_name": "CREATEDTIME", "category": 1, "data_type": "datetime", "max_length": 50, "is_mandatory": false, "decimal_digits": 2, "is_unique": false, "search_index_enabled": true, "column_id": "2136000000007788" }, { "table_id": "2136000000007781", "column_sequence": 4, "column_name": "MODIFIEDTIME", "category": 1, "data_type": "datetime", "max_length": 50, "is_mandatory": false, "decimal_digits": 2, "is_unique": false, "search_index_enabled": true, "column_id": "2136000000007790" }, { "table_id": "2136000000007781", "column_sequence": 5, "column_name": "CityName", "category": 2, "data_type": "varchar", "max_length": 100, "is_mandatory": false, "decimal_digits": 2, "is_unique": true, "search_index_enabled": true, "column_id": "2136000000008503" } ] ``` -------------------------------------------------------------------------------- title: "Get Rows" description: "This page describes the method to perform operations in the DataStore component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-rows/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - DataStore Help (/en/cloud-scale/help/data-store/introduction/) - Java SDK (/en/sdk/java/v1/cloud-scale/data-store/get-rows/) - Python SDK (/en/sdk/python/v1/cloud-scale/data-store/get-rows/) - iOS SDK (/en/sdk/ios/v2/cloud-scale/data-store/get-rows/) - Android SDK (/en/sdk/android/v2/cloud-scale/data-store/get-rows/) - Flutter SDK (/en/sdk/flutter/v2/cloud-scale/data-store/get-rows/) - REST APIs (/en/api/code-reference/cloud-scale/data-store/get-all-rows/#GetAllRows) -------------------------------------------------------------------------------- # Get Rows > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/overview/#prerequisites) to use this SDK method. ### Get a Single Row You can use the `getRow()` SDK method to fetch a single row from a table in the Catalyst Data Store. The `table` reference used in the below code snippets can either be a [table instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-table-instance/) or a [table meta](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-table-metadata/). ```javascript const datastore = new Datastore(); const table = datastore.table('ShipmentDetails'); //Use the table instance or the table meta object to fetch a row by passing the Row ID const rowPromise = table.getRow(1510000000109476); ``` ### Example of Expected Response ```json { "CREATORID": "2136000000006003", "MODIFIEDTIME": "2021-08-17 13:02:11:184", "CREATEDTIME": "2021-08-16 16:29:10:499", "CityName": "Chennai", "ROWID": "2136000000011011" } ``` ### Get All Rows Through Pagination You can use the get the required rows of data from a table in the Data Store in a paginated fashion using the `getMyPagedRows()` SDK method. You can refer to the required table [using its ID](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/tables/#create-a-new-table). The `table` reference used in the below code snippets can either be a [table instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-table-instance/) or a [table meta](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-table-metadata/). > **Info:** Getting the rows in a paginated manner allows you to fetch the rows of a table in batches or pages through iteration. #### Parameters Used
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.
```javascript const datastore = new Datastore(); // Fetch rows through pagination and declare the value for nextToken as undefined for the first iteration async function getMyPagedRows(hasNext = true, nextToken = undefined) { if (!hasNext) { return; } const { data, next_token, more_records } = await dataStore.table(195000000042025).getPagedRows({ nextToken, maxRows: 100 }); console.log("rows:", data); // Fetch the rows from the table return getMyPagedRows(more_records, next_token); // Fetch next set of records } ``` #### Example of Expected Response **more_records set to true** The following type of response can be expected is the value for `more_records` is set as **true**. ```json { "status": 200, "data": [ { "CREATORID": "3359000000006003", "MODIFIEDTIME": "2022-01-11 18:18:24:855", "name": "Alex Jones", "CREATEDTIME": "2022-01-11 18:18:24:855", "ROWID": "3359000000108111" }, { "CREATORID": "3359000000006003", "MODIFIEDTIME": "2022-01-11 18:18:25:117", "name": "Robert Neal", "CREATEDTIME": "2022-01-11 18:18:25:117", "ROWID": "3359000000108114" }, { "CREATORID": "3359000000006003", "MODIFIEDTIME": "2022-01-11 18:18:25:120", "name": "Roslyn Gunn", "CREATEDTIME": "2022-01-11 18:18:25:120", "ROWID": "3359000000108117" } ], "message": "OK", "more_records": true, "next_token": "{{token}}" } ``` **more_records set to false** The following type of response can be expected is the value for `more_records` is set as **false**. ```json { "status": 200, "data": [ { "CREATORID": "3359000000006003", "MODIFIEDTIME": "2022-01-11 18:18:43:556", "name": "Alex Jones", "CREATEDTIME": "2022-01-11 18:18:43:556", "ROWID": "3359000000108410" }, { "CREATORID": "3359000000006003", "MODIFIEDTIME": "2022-01-11 18:18:43:557", "name": "Robert Neal", "CREATEDTIME": "2022-01-11 18:18:43:557", "ROWID": "3359000000108413" }, { "CREATORID": "3359000000006003", "MODIFIEDTIME": "2022-01-11 18:18:43:568", "name": "Roslyn Gunn", "CREATEDTIME": "2022-01-11 18:18:43:568", "ROWID": "3359000000108417" } ], "message": "OK", "more_records": false } ``` -------------------------------------------------------------------------------- title: "Insert Rows" description: "This page describes the method to perform operations in the DataStore component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/insert-rows/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - DataStore Help (/en/cloud-scale/help/data-store/introduction/) - Java SDK (/en/sdk/java/v1/cloud-scale/data-store/insert-rows/) - Python SDK (/en/sdk/python/v1/cloud-scale/data-store/insert-rows/) - iOS SDK (/en/sdk/ios/v2/cloud-scale/data-store/create-rows/) - Android SDK (/en/sdk/android/v2/cloud-scale/data-store/create-rows/) - Flutter SDK (/en/sdk/flutter/v2/cloud-scale/data-store/create-rows/) - REST APIs (/en/api/code-reference/cloud-scale/data-store/insert-new-row/#InsertNewRow) -------------------------------------------------------------------------------- # Insert Rows > **Notes:** * Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/overview/#prerequisites) to use this SDK method. * Ensure that you create the required [table](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/tables/#create-a-new-table) and [columns](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/columns/#create-a-new-column) in the console. ### Insert a Single Row You can use the `insertRow()` SDK method, to insert a single row of data to a column in a table in Catalyst DataStore. You can refer to the required table using its ID or name. The `table` reference used in the below code snippets can either be a [table instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-table-instance/) or a [table meta](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-table-metadata/). To use the following SDK method, you need to create a JSON object containing the row details in the following format: ```text {column name : column value} ``` This JSON object will then need to be passed as an argument to the `insertRow()` SDK method. ```javascript // Create a JSON object with the rows to be inserted const rowData = { Name: "George Hamilton", Age: 22, ID: 6868 }; // Use the table meta object to insert the row const datastore = new Datastore(); const table = datastore.table("EmpDetails"); const row = await table.insertRow(rowData); console.log(row); ``` A unique [`RowID`](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/records/#create-a-new-record) value will be automatically generated once the row is inserted. #### Example of Expected Response ```json { "CREATORID": "2136000000006003", "MODIFIEDTIME": "2021-08-16 16:29:10:499", "Name": "George Hamilton", "Age": "22", "ID": "6868", "CREATEDTIME": "2021-08-16 16:29:10:499", "ROWID": 2136000000011011 } ``` ### Insert Multiple Rows You can insert multiple rows to a table in Catalyst DataStore by constructing an array that contains the row data and passing it as an argument to the `insertRows()` SDK method. You can refer to the required table using its ID or name. The `table` reference used in the below code snippets can either be a [table instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-table-instance/) or a [table meta](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-table-metadata/). ```javascript // Create a JSON array with the rows to be inserted const rowData = [ { Name: "Mark Wellington", Age: 29, ID: 7218 }, { Name: "Zendaya Jones", Age: 32, ID: 3211 } ]; // Use the table meta object to insert multiple rows const datastore = new Datastore(); const table = datastore.table("EmpDetails"); const rows = await table.insertRows(rowData); console.log(rows); ``` #### Example of Expected Response The promise returned when using the `insertRows()` SDK method is resolved to an array containing the row objects. ```json [ { "CREATORID": "2136000000006003", "MODIFIEDTIME": "2021-08-25 13:55:04:904", "Name": "Mark Wellington", "Age": "92", "ID": "7218", "CREATEDTIME": "2021-08-25 13:55:04:904", "ROWID": 2136000000038008 }, { "CREATORID": "2136000000006003", "MODIFIEDTIME": "2021-08-25 13:55:04:906", "Name": "Zendaya Jones", "Age": "32", "ID": "3211", "CREATEDTIME": "2021-08-25 13:55:04:906", "ROWID": 2136000000038010 } ] ``` -------------------------------------------------------------------------------- title: "Query DataStore" description: "This page describes the method to perform query operations in the DataStore component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/query-datastore/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - DataStore Help (/en/cloud-scale/help/data-store/introduction/) - Java SDK (/en/sdk/java/v1/cloud-scale/data-store/) - Python SDK (/en/sdk/python/v1/cloud-scale/data-store/) - REST APIs (/en/api/code-reference/cloud-scale/data-store/) -------------------------------------------------------------------------------- # Query DataStore ### ZCQL [ZCQL](https://docs.catalyst.zoho.com/en/cloud-scale/help/zcql/introduction/) is Catalyst’s own query language that enables you to perform data retrieval, insertion, updating, and deletion operations on the tables in the [Catalyst Data Store](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/introduction/). You can execute a variety of DML queries using ZCQL to obtain or manipulate data, and use various clauses and statements such as the SQL [Join clauses](https://docs.catalyst.zoho.com/en/cloud-scale/help/zcql/joins/), [GroupBy](https://docs.catalyst.zoho.com/en/cloud-scale/help/zcql/groupby-orderby/#group-by-statement) and [OrderBy](https://docs.catalyst.zoho.com/en/cloud-scale/help/zcql/groupby-orderby/#order-by-statement) statements, and built-in [ZCQL functions](https://docs.catalyst.zoho.com/en/cloud-scale/help/zcql/zcql-functions/). > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/overview/#prerequisites) to use this SDK method. The required query needs to be constructed and passed as a param to the `executeZCQLQuery()` method to execute it. ### Construct the Query The following example code snippet details constructing a `SELECT` query and passing it to the `executeZCQLQuery()` method to execute it. The `datastore` reference used here is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-component-instance/). ```javascript // Construct the query to execute const query = 'SELECT * FROM ShipmentData'; const result = await datastore.executeZCQLQuery(query); ``` #### Example of Expected Response Executing the ZCQL query using the `executeZCQLQuery()` SDK method will return a promise, which will be resolved to an object. The content key will contain the array of row objects. A sample response that you will receive is shown below. ```javascript [ { AlienCity: { CREATORID: "2136000000006003", MODIFIEDTIME: "2021-08-13 13:49:19:475", CREATEDTIME: "2021-08-13 13:49:19:475", CityName: "Dallas", ROWID: "2136000000008508" } }, { AlienCity: { CREATORID: "2136000000006003", MODIFIEDTIME: "2021-08-16 15:55:32:969", CREATEDTIME: "2021-08-16 15:55:32:969", CityName: "Los Angeles", ROWID: "2136000000011002" } }, { AlienCity: { CREATORID: "2136000000006003", MODIFIEDTIME: "2021-08-16 17:03:01:507", CREATEDTIME: "2021-08-16 16:29:10:499", CityName: "New York", ROWID: "2136000000011011" } } ] ``` -------------------------------------------------------------------------------- title: "Search DataStore" description: "This page describes the method to perform search operations in the DataStore component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/search-datastore/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - DataStore Help (/en/cloud-scale/help/data-store/introduction/) - Java SDK (/en/sdk/java/v1/cloud-scale/data-store/) - Python SDK (/en/sdk/python/v1/cloud-scale/data-store/) - REST APIs (/en/api/code-reference/cloud-scale/data-store/) -------------------------------------------------------------------------------- # Search DataStore [Search](https://docs.catalyst.zoho.com/en/cloud-scale/help/search-integration/introduction/) is a *CloudScale* component that enables data searching within the indexed columns of your [Catalyst Data Store](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/introduction/) tables. The search process specifies the pattern to search for in the search indexed columns of the tables. You can search for data in multiple tables or just data in search indexed columns. > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/overview/#prerequisites) to use this SDK method. Using the `executeSearchQuery()` SDK method you can execute the required search query to search for a particular pattern of data. The `datastore` reference used in the code snippet is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-component-instance/). ### Create a JSON Configuration The following code snippet creates a JSON object that contains the attributes of the pattern to be searched for, in the indexed columns of the individual tables. ```javascript // Create a config object with the search term, table and indexed columns let config = { search: 'santh*', search_table_columns: { SampleTable: ['SearchIndexedColumn'], Users: ['SearchTest'] } }; ``` Using the JSON object created in the above section is passed as a parameter to the `executeSearchQuery()` SDK method which returns a promise. The promise returned will be resolved to a JSON object. ```javascript // Execute the search query by passing the configuration const searchResult = await datastore.executeSearchQuery(config); console.log(searchResult); ``` #### Example of Expected Response An example of the response that you will receive is shown below. ```javascript { AlienCity: [ { CREATORID: "2136000000006003", MODIFIEDTIME: "2021-08-13 13:49:19:475", CityName: "Dallas", CREATEDTIME: "2021-08-13 13:49:19:475", ROWID: "2136000000008508" } ] } ``` -------------------------------------------------------------------------------- title: "Update Rows" description: "This page describes the method to perform operations in the DataStore component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/update-rows/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - DataStore Help (/en/cloud-scale/help/data-store/introduction/) - Java SDK (/en/sdk/java/v1/cloud-scale/data-store/update-rows/) - Python SDK (/en/sdk/python/v1/cloud-scale/data-store/update-rows/) - iOS SDK (/en/sdk/ios/v2/cloud-scale/data-store/update-rows/) - Android SDK (/en/sdk/android/v2/cloud-scale/data-store/update-rows/) - Flutter SDK (/en/sdk/flutter/v2/cloud-scale/data-store/update-rows/) - REST APIs (/en/api/code-reference/cloud-scale/data-store/update-row/#UpdateRow) -------------------------------------------------------------------------------- # Update Rows > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/overview/#prerequisites) to use this SDK method. ### Update a Single Row You can use the `updateRow()` SDK to update the row data of a single row in the table in Catalyst DataStore. To update the required row, you need to construct a JSON object with the required values and pass it as an argument to the `updateRow()` SDK method. The `table` reference used in the below code snippets can either be a [table instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-table-instance/) or a [table meta](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-table-metadata/). #### Parameters Used
Parameter Name Data Type Definition
`ROWID` **Int** A **mandatory** parameter. Will hold the value of the row that you need to update.
```javascript // Construct a JSON Object with the updated row details const updatedRowData = { Name: "Mathew Jones", Age: 31, ROWID: 1510000000109474 }; // Use Table Meta Object to update a single row using ROWID const datastore = new Datastore(); const table = datastore.table("SampleTable"); const row = await table.updateRow(updatedRowData); console.log(row); ``` #### Example of Expected Response The promise returned here will be resolved to a JSON row object. ```json { "CREATORID": "2136000000006003", "MODIFIEDTIME": "2021-08-17 13:02:11:184", "CREATEDTIME": "2021-08-16 16:29:10:499", "Name": "Mathew Jones", "Age": 31, "ROWID": "2136000000011011" } ``` ### Update Multiple Rows You can use the `updateRows()` SDK method to update multiple rows stored in a table in the Catalyst DataStore. To update multiple rows, you need to construct an array of JSON objects, and pass it as an argument to the updateRows() SDK method. You can refer to the required table using its ID or name. The `table` reference used in the below code snippets can either be a [table instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-table-instance/) or a [table meta](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-table-metadata/). #### Parameters Used
Parameter Name Data Type Definition
`ROWID` **Int** A **mandatory** parameter. Will hold the value of the row that you need to update.
```javascript // Data to be updated along with the ROWID const updatedRowsData = [ { Name: "Mathew Jones", Age: 31, ROWID: 1510000000113298 }, { Name: "Rhonda Watson", Age: 28, ROWID: 1510000000109474 } ]; // Use Table Meta Object to update multiple rows using ROWIDs const datastore = new Datastore(); const table = datastore.table("SampleTable"); const rows = await table.updateRows(updatedRowsData); console.log(rows); ``` #### Example of Expected Response ```json [ { "CREATORID": "2136000000006003", "MODIFIEDTIME": "2021-08-24 13:22:14:718", "CREATEDTIME": "2021-08-24 13:12:55:999", "Name": "Mathew Jones", "Age": 31, "ROWID": "2136000000034043" }, { "CREATORID": "2136000000006003", "MODIFIEDTIME": "2021-08-24 13:22:14:728", "CREATEDTIME": "2021-08-24 13:12:56:001", "Name": "Rhonda Watson", "Age": 28, "ROWID": "2136000000034045" } ] ``` -------------------------------------------------------------------------------- title: "Delete a Row" description: "This page describes the method to perform operations in the DataStore component." last_updated: "2026-10-28T13:23:14.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/delete-rows/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - DataStore Help (/en/cloud-scale/help/data-store/introduction/) - Java SDK (/en/sdk/java/v1/cloud-scale/data-store/delete-row/) - Python SDK (/en/sdk/python/v1/cloud-scale/data-store/delete-row/) - iOS SDK (/en/sdk/ios/v2/cloud-scale/data-store/delete-row/) - Android SDK (/en/sdk/android/v2/cloud-scale/data-store/delete-row/) - Flutter SDK (/en/sdk/flutter/v2/cloud-scale/data-store/delete-row/) - REST APIs (/en/api/code-reference/cloud-scale/data-store/delete-row/#DeleteRow) -------------------------------------------------------------------------------- # Delete a Row > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/overview/#prerequisites) to use this SDK method. You can pass the `ROWID` of the required row to the `deleteRow()` SDK method to delete it from the table in Catalyst DataStore. The `table` reference used in the below code snippets can either be a [table instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-table-instance/) or a [table meta](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-table-metadata/). > **Info:** You wont be able to delete multiple rows. ```javascript // Use Table Meta Object to delete a single row using ROWID const datastore = new Datastore(); const table = datastore.table('SampleTable'); const row = await table.deleteRow(1510000000109476); console.log(row); ``` ##### Bulk Operations -------------------------------------------------------------------------------- title: "Bulk Read Rows" description: "This page describes the method to perform operations in the DataStore component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/bulk-operations/bulk-read/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - DataStore Help (/en/cloud-scale/help/data-store/introduction/) - Java SDK (/en/sdk/java/v1/cloud-scale/data-store/bulk-read/) - Python SDK (/en/sdk/python/v1/cloud-scale/data-store/bulk-read-rows/) - iOS SDK (/en/sdk/ios/v2/cloud-scale/data-store/get-rows/) - Android SDK (/en/sdk/android/v2/cloud-scale/data-store/get-rows/) - Flutter SDK (/en/sdk/flutter/v2/cloud-scale/data-store/get-rows/) - REST APIs (/en/api/code-reference/cloud-scale/data-store/bulk-read-rows/create-bulk-read-job/#CreateBulkReadJob) -------------------------------------------------------------------------------- # Bulk Read Rows > **Notes:** * Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/overview/#prerequisites) to use this SDK method. * A maximum of **200,000 rows** can be read simultaneously. You can perform bulk read jobs on row data stored in a table in Catalyst DataStore. Using the following bulk read utility, you can read thousands of records from a specific table and generate a .CSV file containing the results of read operation. ### Methods Used
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.
The required table is referred to by its [Table ID](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/tables/). The `datastore` reference used in the following code snippet is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-component-instance/). > **Info:** You can also use the `dataStore.table().bulkJob('read' | 'write')` method to perform either a bulk read or a [bulk write job](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/bulk-operations/bulk-write/). ```javascript // Bulk read const datastore = new Datastore(); // get datastore instance const bulkRead = datastore.table("sampleTable").bulkJob("read"); const bulkReadJob = await bulkRead.createJob({ 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" } ] }, page: 1, select_columns: ["EmpID", "EmpName", "Department"], url: "https://hr.zylker.com/en/EmpRecords/_callback.php", headers: { src: "ZCatalyst", operation: "bulkreadAPI" }, params: { project_name: "EmployeeDatabase" } }); ``` ### Get Bulk Read Status ```javascript await bulkRead.getStatus(bulkReadJob.job_id); ``` ### Get Bulk Read Result > **Note:** The bulk read job status must be **Completed** for the result to be retrieved successfully. ```javascript await bulkRead.getResult(bulkReadJob.job_id); ``` -------------------------------------------------------------------------------- title: "Bulk Write Rows" description: "This page describes the method to perform operations in the DataStore component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/bulk-operations/bulk-write/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - DataStore Help (/en/cloud-scale/help/data-store/introduction/) - Stratus Help (/en/cloud-scale/help/stratus/introduction/) - Java SDK (/en/sdk/java/v1/cloud-scale/data-store/bulk-write/) - Python SDK (/en/sdk/python/v1/cloud-scale/data-store/bulk-write-rows/) - iOS SDK (/en/sdk/ios/v2/cloud-scale/data-store/create-rows/) - Android SDK (/en/sdk/android/v2/cloud-scale/data-store/create-rows/) - Flutter SDK (/en/sdk/flutter/v2/cloud-scale/data-store/create-rows/) - REST APIs (/en/api/code-reference/cloud-scale/data-store/bulk-write-rows/create-bulk-write-job/#CreateBulkWriteJob) -------------------------------------------------------------------------------- # Bulk Write Rows > **Notes:** * Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/overview/#prerequisites) to use this SDK method. * A maximum of **100,000 rows** can be written at one time. You can perform bulk write jobs on a specific table present in the Catalyst DataStore. Using the bulk write utility you can fetch thousands of records stored in a .CSV file uploaded to a [bucket](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/buckets/name-bucket/) in [Stratus](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/introduction/), and insert them to a specific table. The required table is referred to by its [table ID](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/tables/#create-a-new-table), and the required column will be referred to by its [column ID](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-store/columns/#create-a-new-column). > **Note:** To perform the bulk write operation, you need to ensure that the required .CSV file is uploaded to a bucket in *Catalyst Stratus*. The .CSV file will be referred to using a JSON object which contains details, such as the bucket name, object name, and, if [versioning](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/stratus-config/general-settings/#versioning) is enabled for your bucket, its `version ID`. ### Methods Used
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.
The `datastore` reference used in the following code snippet is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-component-instance/). ```javascript const objectDetails = { bucket_name: "zylker14266", object_key: "sample.csv", version_id: "64832huidksnd83" }; const datastore = new Datastore(); // get datastore instance const bulkWrite = datastore.table("sampleTable").bulkJob("write"); const bulkWriteJob = await bulkWrite.createJob(objectDetails, { find_by: "EmpID", fk_mapping: [ { local_column: "EmployeeID", reference_column: "EmpID" }, { local_column: "DepartmentID", reference_column: "DeptID" } ], operation: "insert" }); ``` ### Get Bulk Write Status ```javascript await bulkWrite.getStatus(bulkWriteJob.job_id); ``` ### Get Bulk Write Result > **Note:** The bulk write job status must be **Completed** for the result to be retrieved successfully. ```javascript await bulkWrite.getResult(bulkWriteJob.job_id); ``` -------------------------------------------------------------------------------- title: "Bulk Delete Rows" description: "This page describes the method to perform operations in the DataStore component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/bulk-operations/bulk-delete/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - DataStore Help (/en/cloud-scale/help/data-store/introduction/) - Java SDK (/en/sdk/java/v1/cloud-scale/data-store/bulk-delete-rows/) - Python SDK (/en/sdk/python/v1/cloud-scale/data-store/bulk-delete-rows/) - iOS SDK (/en/sdk/ios/v2/cloud-scale/data-store/delete-row/) - Android SDK (/en/sdk/android/v2/cloud-scale/data-store/delete-row/) - Flutter SDK (/en/sdk/flutter/v2/cloud-scale/data-store/delete-row/) - REST APIs (/en/api/code-reference/cloud-scale/data-store/bulk-delete-rows/#BulkDeleteRows) -------------------------------------------------------------------------------- # Bulk Delete Rows > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/overview/#prerequisites) to use this SDK method. You can use the following bulk delete utility to delete multiple rows of data from a table in the Catalyst DataStore. The required table is referred to using its ID or name. The required `ROWIDs` of the rows to be deleted needs to be passed as an array to the `deleteRows()` method. You can pass a maximum of **200 ROWIDs** at one time. The `datastore` reference used in the following code snippet is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/datastore/get-component-instance/). ```javascript const datastore = new Datastore(); // get datastore instance const table = datastore.table("EmpDetails"); // Pass the table ID or table name const row = await table.deleteRows([ // Pass the ROWIDs of the records to be deleted 1028000000171815, 1028000000171810, 1028000000171805, 1028000000171617, 1028000000171098 ]); console.log(row); ``` > **Note:** You can delete a maximum of **200 rows** from a table at one time. #### NoSQL -------------------------------------------------------------------------------- title: "Overview" description: "This page describes the method to perform operations in the DataStore component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/overview/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - NoSQL Help Documentation (/en/cloud-scale/help/nosql/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/nosql/get-table-metadata/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/nosql/get-component-instance/) - REST API Documentation (/en/api/code-reference/cloud-scale/nosql/insert-item/#InsertNewItem) -------------------------------------------------------------------------------- # NoSQL JavaScript SDK # Overview [NoSQL](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/introduction/) is a *Catalyst CloudScale* component that offers a fully managed, non-relational data storage feature that enables you to store semi-structured, unstructured, and disparate data of your application in either document-type or key-value based JSON format. The *NoSQL JavaScript SDK* package enables you to perform CRUD operations in your NoSQL tables in your project. You can fetch the metadata of your NoSQL tables, as well as query tables or indexes of tables by specifying query conditions. ### Prerequisites You need to install the following package to be able to use the NoSQL SDK methods. ```sh npm install @zcatalyst/nosql ``` > **Info:** Ensure that you have applied the [required authentication configuration](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/auth-config/node-consideration/) to use the SDK methods of this component. ### Import Requirement You need to import the following module to use the NoSQL SDK methods. ```javascript const { NoSQL } = require('@zcatalyst/nosql');//NoSQL module ``` ### List of SDK Methods The following table contains the list of SDK methods that can be used to perform operations in the NoSQL tables through code.
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
  • [Get table metadata](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/get-table-metadata/)
    • [Get table metadata with Table ID](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/get-table-metadata/#get-table-metadata-with-table-id)
    • [Get table metadata with Table Name](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/get-table-metadata/#get-table-metadata-with-table-name)
    • [Get metadata of all tables](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/get-table-metadata/#get-metadata-of-all-tables)
  • [Get table instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/get-table-instance/)
    • [Get instance with Table ID](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/get-table-instance/#get-instance-with-table-id)
    • [Get instance with Table Name](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/get-table-instance/#get-instance-with-table-name)
    • [Get instance with Table details](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/get-table-instance/#get-instance-with-table-details)
  • [Construct NoSQL item](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/construct-item/)
  • [Insert items in table](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/insert-items/)
  • [Manipulate NoSQL Items](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/update-item/)
  • [Update items in table](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/update-item/)
  • [Fetch items from table](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/fetch-items/)
  • [Query table](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/query-table/)
  • [Query index](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/query-index/)
  • [Delete items from table](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/delete-item/)
**Admin**
-------------------------------------------------------------------------------- title: "Get a NoSQL Instance" description: "This page describes the method to perform operations in the NoSQL component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/get-instance/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - NoSQL Help Documentation (/en/cloud-scale/help/nosql/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/nosql/get-table-metadata/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/nosql/get-component-instance/) - REST API Documentation (/en/api/code-reference/cloud-scale/nosql/insert-item/#InsertNewItem) -------------------------------------------------------------------------------- # Get a NoSQL Instance > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/overview/#prerequisites) to use this SDK method. You can get the `nosql` component reference as shown below. This will not fire a server-side call. You will refer to this component instance in various code snippets of working with NoSQL. ```javascript //Get a NoSQL instance const nosql = new NoSQL(); ``` -------------------------------------------------------------------------------- title: "Get NoSQL Table Metadata" description: "This page describes the method to perform operations in the NoSQL component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/get-table-metadata/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - NoSQL Help Documentation (/en/cloud-scale/help/nosql/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/nosql/get-table-metadata/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/nosql/get-table-metadata/) - REST API Documentation (/en/api/code-reference/cloud-scale/nosql/insert-item/#InsertNewItem) -------------------------------------------------------------------------------- # Get NoSQL Table Metadata > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/overview/#prerequisites) to use this SDK method. You can refer to the required table using its [Table ID](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/create-manage-tables/#create-a-table) or its name. ### Get Table Metadata With Table ID You can pass the Table ID to the `getTable()` SDK method to retrieve the NoSQL table's metadata. The `nosql` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/get-instance/) created to perform these operations. ```javascript // Create a NoSQL instance const nosql = new NoSQL(); // Get table metadata using the Table ID const tableA = await nosql.getTable('124567890'); ``` ### Get Table Metadata With Table Name You can pass the name of the required table to the `getTable()` SDK method to retrieve the NoSQL table's metadata. The `nosql` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/get-instance/) created to perform these operations. ```javascript // Create a NoSQL instance const nosql = new NoSQL(); // Get table metadata using the table name const tableB = await nosql.getTable('EmpTable'); ``` > **Note:** If you [rename the table](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/create-manage-tables/#edit-a-table), you will need to update the changes in your code. ### Get Metadata of All Tables You can use the `getAllTable()` SDK method to get the metadata of all the tables present in your project. ```javascript const nosql = new NoSQL(); // Get metadata of all tables const allTables = await nosql.getAllTable(); ``` -------------------------------------------------------------------------------- title: "Get NoSQL Table Instance" description: "This page describes the method to perform operations in the NoSQL component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/get-table-instance/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - NoSQL Help Documentation (/en/cloud-scale/help/nosql/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/nosql/create-table-instance/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/nosql/get-table-instance/) - REST API Documentation (/en/api/code-reference/cloud-scale/nosql/insert-item/#InsertNewItem) -------------------------------------------------------------------------------- # Get NoSQL Table Instance > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/overview/#prerequisites) to use this SDK method. You can use the `table()` SDK method to fetch an instance for a table created in Catalyst NoSQL. This instance will be used to refer to the required table and perform the required operations. This process will not fire a server-side call. You can pass the table ID, name, or even details of the table passed as a JSON. ### Get Instance with Table ID You can pass the table ID of the required table to the `table()` method to get the required instance. The `nosql` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/get-instance/) created earlier. ```javascript const nosql = new NoSQL(); const tableinstanceA = nosql.table('20660000000025022'); // Create a table instance with Table ID ``` ### Get Instance With Table Name You can pass the name of the required NoSQL table to the `table()` method, to get its instance. The `nosql` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/get-instance/) created earlier. ```javascript const nosql = new NoSQL(); const tableInstanceB = nosql.table('Emptable'); // Create a table instance with the table name ``` ### Get Instance With Table Details You can resolve the details of the required table as a JSON and pass it to the `table()` method to get the instance of the required table. This method, in particular, allows you to duplicate a table object whose instance you already fetched using the ID or name. The `nosql` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/get-instance/) created earlier. ```javascript const nosql = new NoSQL(); const tableInstanceC = nosql.table(tableA.toJSON()); // Create a table instance with table details ``` -------------------------------------------------------------------------------- title: "Construct NoSQL Item" description: "This page describes the method to perform operations in the NoSQL component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/construct-item/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - NoSQL Help Documentation (/en/cloud-scale/help/nosql/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/nosql/construct-item/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/nosql/construct-item/) - REST API Documentation (/en/api/code-reference/cloud-scale/nosql/insert-item/#InsertNewItem) -------------------------------------------------------------------------------- # Construct NoSQL Item > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/overview/#prerequisites) to use this SDK method. Catalyst NoSQL 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 following sections. Catalyst supports several data types such as **String**, **Number**, **Set of Strings**, **Set of Numbers**, **List**, and **Map**. You must provide the values for the partition key attribute that you configured for a table in every data item. > **Notes:** * [Learn more on supported data types](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/working-with-data/introduction/#supported-data-types). * [Learn more table keys and other table attributes](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/components/#table-keys). ### Create a New NoSQL Item You can create a new NoSQL item using the `NoSQLItem()` SDK method. ```javascript const item = new NoSQLItem(); // Create a new NoSQL item ``` ### Construct a NoSQL Item of String In the following example code snippet, we construct an item that includes string values and a nested JSON attribute `color` as a Map. ```javascript const item = new NoSQLItem() // Create a new NoSQL item // Add a string value .addString('fruit', 'mango') // Add a map .addMap('properties', { color: 'yellow' }); ``` ### Construct a NoSQL Byte You can create a NoSQL byte to store values of the Binary data type, by creating a buffer object that is used to represent a sequence of bytes. You can then create a byte in two ways: * Using the `ArrayBuffers` object that represents a raw binary data buffer. * Using a `Base64` string that represents binary data in the ASCII format. #### Example Code Snippet ```javascript const buff = Buffer.from('Hello world !!!'); // Create a buffer object const byte = new NoSQLByte(buff); // Create a NoSQL byte using the ArrayBuffers object const byteA = new NoSQLByte(buff.toString('base64')); // Create a NoSQL byte from a Base64 string ``` ### Construct a NoSQL Byte Set Catalyst enables you to create a NoSQL byte set to store a collection of binary values of the Set of Binary data type, by creating a buffer object that is used to represent a sequence of bytes. You can then create a byte set using: * The `ArrayBuffers` object that represents a raw binary data buffer * A `Base64` string that represents binary data in the ASCII format. Additionally, you can also create a byte set from passing constructed bytes as a byte array. #### Example Code Snippet ```javascript const buff = Buffer.from('Hello world !!!'); // Create a buffer object const byte = new NoSQLByte(buff); // Create a NoSQL byte using the ArrayBuffers object const byteA = new NoSQLByte(buff.toString('base64')); // Create a NoSQL byte from a Base64 string const byteSet = new NoSQLByteSet([byte, byteA]); // Create a NoSQL byte set from a NoSQL byte array const byteSetA = new NoSQLByteSet([buff.toString('base64')]); // Create a NoSQL Byte set from a Base64 string array const byteSetB = new NoSQLByteSet([buff]); // Create a NoSQL Byte set using the ArrayBuffers object ``` ### Construct a NoSQL String Set You can create a NoSQL string set of the *Set of String* data type from a string array. #### Example Code Snippet ```javascript const stringSet = new NoSQLStringSet(['hello', 'world']); // Create a NoSQL string set from a string array ``` ### Construct a NoSQL Number Set You can create NoSQL number set of the *Set of Numbers* data type from an array of numbers or **BigInt** values. #### Example Code Snippet ```javascript const numberSet = new NoSQLNumberSet([123, 1234n]); // Create a NoSQL Number set from an array of numbers or BigInt values ``` -------------------------------------------------------------------------------- title: "Manipulate NoSQL Items" description: "This page describes the method to perform operations in the NoSQL component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/manipulate-item/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - NoSQL Help Documentation (/en/cloud-scale/help/nosql/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/nosql/item-operations/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/nosql/update-items/) - REST API Documentation (/en/api/code-reference/cloud-scale/nosql/update-item/#UpdateItem) -------------------------------------------------------------------------------- # Manipulate NoSQL Items > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/overview/#prerequisites) to use this SDK method. You can perform manipulations on a NoSQL items, such as creating a NoSQL item from a plain JavaScript object, or vice versa. * You can create a NoSQL item by constructing a plain JavaScript object that contains the item’s data in it, in the standard JSON format. * You can then construct the NoSQL item from the JS object using `NoSQLItem.from()`. * You can also convert a NoSQL item back into a plain JavaScript object using `itemFromObj.to()`. ```javascript const obj = { fruit: 'apple', // Partition key properties: { color: 'red' } }; const itemFromObj = NoSQLItem.from(obj); // Construct a NoSQL item from the plain JS object const plainJsObject = itemFromObj.to(); // Convert the item to a plain JS object ``` -------------------------------------------------------------------------------- title: "Insert Items in NoSQL Table" description: "This page describes the method to perform operations in the NoSQL component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/insert-items/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - NoSQL Help Documentation (/en/cloud-scale/help/nosql/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/nosql/insert-items/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/nosql/insert-items/) - REST API Documentation (/en/api/code-reference/cloud-scale/nosql/insert-item/#InsertNewItem) -------------------------------------------------------------------------------- # Insert Items in NoSQL Table > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/overview/#prerequisites) to use this SDK method. Using the `insertItems()` SDK method, you can insert items in a specific NoSQL table after you construct them. > **Notes:** * Catalyst enables you to insert a **maximum of 25 items** in bulk in a NoSQL table with a single SDK operation. * [Learn more about the Catalyst custom JSON format](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/working-with-data/introduction/#the-catalyst-custom-json-format). * [Learn more about the supported data types](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/working-with-data/introduction/#supported-data-types). ### Insert Items Without Conditions 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 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, consider a NoSQL table with the following values:
Attribute Name Attribute Data Type Attribute Value
`fruitName`(**Partition Key**) String Banana
`fruitColor`(map:**fruitProperties**) String Yellow
`fruitType`(map:**fruitProperties**) String Berries
```javascript // Insert a NoSQL item without conditions const plainInsert = await table.insertItems({ // Define the item to be inserted with the partition key fruitName item: NoSQLItem.from({ fruitName: 'Banana', //Provide values for the other attributes of the item fruitProperties: { fruitColor: 'Yellow', fruitType: 'Berries' } }), // Set the return value in the response. Other supported values are "OLD" and "NULL" return: NoSQLReturnValue.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`
The example below illustrates this by defining a condition for the data type of the attribute `fruitName` to be **String** in the existing data. If the condition is satisfied, the attribute `taste` with the value "**Sweet**" is added to these items. ```javascript // Insert a NoSQL item with the "attribute_type" function const attrTypeInsert = await table.insertItems({ // Define the item to be inserted item: NoSQLItem.from({ taste: 'Sweet' }), // Define the condition for insert condition: { // The condition specifies that the item should be added if the attribute type is String ("S") function: { // Set the function type function_name: 'attribute_type', // Supply the arguments to the function args: [{ // Set the attribute path attribute_path: ['fruitName'] }, // Set the attribute type NoSQLMarshall.makeString('S') // => { "S": "S" } ] } } }); ``` The following code snippet details further examples of inserting items with conditional functions. ```javascript //Insert a NoSQL Item with the "equals" operator, attribute "name" value equals "apple" const operatorEqInsert = await table.insertItems({ // Define the item to be inserted item: NoSQLItem.from({ taste: 'Sweet' }), // Define the condition for insert condition: { // Set the attribute path attribute: ['name'], // Set the operator based on the operation operator: NoSQLOperator.EQUALS, // Set the value for comparison value: NoSQLMarshall.makeString('apple') // => { "S": "apple" } } }); //Insert a NoSQL Item with "group_operator", attribute "name" is "apple" AND attribute "variety" is "gala" const groupOpInsert = await table.insertItems({ // Define the item to be inserted item: NoSQLItem.from({ taste: 'Sweet' }), // Define the condition for insert condition: { // Set the group operator group_operator: NoSQLConditionGroupOperator.AND, // Supply the group conditions group: [{ // Set the attribute path attribute: 'name', // Set operator based on the operation operator: NoSQLOperator.EQUALS, // Set the value for comparison value: NoSQLMarshall.makeString('apple') // => { "S": "apple" } }, { // Set the attribute path attribute: 'variety', // Set the operator based on the operation operator: NoSQLOperator.EQUALS, // Set the value for comparison value: NoSQLMarshall.makeString('gala') // => { "S": "gala" } } ] } }); //Insert a NoSQL Item with the "begins_with" operator, attribute "name" value begins with "app" const beginsWithInsert = await table.insertItems({ // Define the item to be inserted item: NoSQLItem.from({ taste: 'Sweet' }), // Define the condition for insert condition: { // Set the attribute path attribute: ['name'], // Set the operator based on the operation operator: NoSQLOperator.BEGINS_WITH, // set the value for comparison value: NoSQLMarshall.makeString('app') // => { "S": "app" } } }); ``` -------------------------------------------------------------------------------- title: "Update Items in Table" description: "This page describes the method to perform operations in the NoSQL component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/update-item/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - NoSQL Help Documentation (/en/cloud-scale/help/nosql/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/nosql/update-items/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/nosql/update-items/) - REST API Documentation (/en/api/code-reference/cloud-scale/nosql/update-item/#UpdateItem) -------------------------------------------------------------------------------- # Update Items in Table > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/overview/#prerequisites) to use this SDK method. Using the `updateItems()` SDK method, you can update items in a specific NoSQL table after you construct them. An item can be updated by identifying it using its [primary keys](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/components/#table-keys). For instance, you can use just the partition key or a combination of the partition key and sort key to identify the required item. You can then define the update operation type with the appropriate HTTP request method and provide the attributes and values to be updated in the item. > **Note:** Catalyst enables you to update a **maximum of 25 items** in bulk in a NoSQL table with a single SDK operation. The code snippet below illustrates the functionality of the `updateItems()` SDK method. For this example, the NoSQL table contains the following attributes and values:
Attribute Name Value
fruitName(Partition Key) Apple
To this table we are going to update the values of the `taste` and `color` attributes present in the table, along with their paths. ```javascript const NoSQLOperator = new NoSQLEnum(); // Update a NoSQL Item identified with the partition key "apple" with its properties attribute updated const updatedItems = await table.updateItems({ // Define the partition key value of the item to be updated keys: [new NoSQLItem().addString('fruit', 'apple')], // Define the attributes to be updated update_attributes: [{ // Specify the type of the update operation operation_type: NoSQLUpdateOperationType.PUT, // Provide the values for the attribute to be updated update_value: NoSQLMarshall.makeMap({ color: 'Green', taste: 'Sour' }), // Specify the path to the attributes attribute_path: ['fruitProperties'] }] }); ``` -------------------------------------------------------------------------------- title: "Fetch Items from NoSQL Table" description: "This page describes the method to perform operations in the NoSQL component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/fetch-items/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - NoSQL Help Documentation (/en/cloud-scale/help/nosql/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/nosql/fetch-items/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/nosql/fetch-items/) - REST API Documentation (/en/api/code-reference/cloud-scale/nosql/fetch-item/#FetchItem) -------------------------------------------------------------------------------- # Fetch Items from NoSQL Table > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/overview/#prerequisites) to use this SDK method. Using the `fetchItem()` SDK method, you can fetch the required items from a NoSQL table. The items can be referred using their [Primary Keys](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/components/#table-keys). For example, you can use just the partition key or a combination of the partition key and sort key to fetch the item. Optionally, you can filter the attributes to be fetched by specifying the required attributes. > **Note:** Catalyst enables you to fetch a **maximum of 100 items** from a NoSQL table in a single SDK read operation. The following example code snippet details the following logic: * The required item is being identified using its **partition key**: `fruit` whose value is "`apple`". * Specific attributes such as `properties` and taste are filtered to be fetched using `required_attributes`. * Implements `consistent_read` to indicate if the read operation must be done using the master or a slave cluster. - If the value is set as `true`, it is queried from the master. - If the value is set as `false`, it is queried from the slave. > **Note:** In the master-slave replication, the master contains all the data of the database, and the slave contains copies from the master. Performing a read operation from the slave can reduce the overall cost with the trade-off being a minor delay in the updated data being reflected. ```javascript //Fetch properties of a NoSQLItem identified with the partition key value "apple" const fetchedItem = await table.fetchItem({ // Define the partition key and value of the item to be fetched keys: [new NoSQLItem().addString('fruit', 'apple')], // Set consistent_read to true to query from master. If set to false, it is queried from slave. consistent_read: true, // Specify the attributes to be fetched required_attributes: [['properties', 'taste']] }); ``` -------------------------------------------------------------------------------- title: "Query NoSQL Table" description: "This page describes the method to perform operations in the NoSQL component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/query-table/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - NoSQL Help Documentation (/en/cloud-scale/help/nosql/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/nosql/query-table/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/nosql/query-table/) - REST API Documentation (/en/api/code-reference/cloud-scale/nosql/query-table/#QueryTable) -------------------------------------------------------------------------------- # Query NoSQL Table > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/overview/#prerequisites) to use this SDK method. Using the `queryTable()` SDK method, you can query a NoSQL table and retrieve data by identifying the items using the [primary keys](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/components/#table-keys) of the table. For instance, you can use just the partition key or a combination of the partition key and sort key to retrieve the item. > **Note:** Catalyst enables you to retrieve a **maximum of 100 items** in bulk from a NoSQL table with pagination from a single SDK operation. You must use the `start_key` token received in the SDK response and construct the logic for pagination. You can define the key condition that identifies the item by specifying the attributes, their required values, and the supported operator to be used. 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
The following example code snippet details the following logic: * The required items are identified using its partition key: `fruitType`. * The condition value is "`Citrus`". * Implements `consistent_read` to indicate if the read operation must be done using the master or a slave cluster. - If the value is set as `true`, it is queried from the master. - If the value is set as `false`, it is queried from the slave. > **Note:** In the master-slave replication, the master contains all the data of the database, and the slave contains copies from the master. Performing a read operation from the slave can reduce the overall cost with the trade-off being a minor delay in the updated data being reflected. ```javascript const NoSQLOperator = new NoSQLEnum(); // Query a NoSQL table to fetch the items identified by the partition key 'fruitType' with the value "Citrus" const queriedItem = await table.queryTable({ // Define the key condition to query the items with key_condition: { // Specify the partition key attribute name of the table attribute: 'fruitType', // Define the supported operator to be used. // You can also use BETWEEN, GREATERTHAN, LESSERTHAN, GREATERTHANOREQUALTO, LESSERTHANOREQUALTO operator: NoSQLOperator.EQUALS, // Specify the value for comparison value: NoSQLMarshall.makeString('Citrus'), }, // Set consistent_read to true to query from master. // If set to false, it is queried from slave. consistent_read: true, // Limit the number of rows to be returned by specifying a value limit: 10, // Set forward_scan to true to sort the results in ascending order. // Otherwise, it is sorted in descending order. forward_scan: true, }); ``` -------------------------------------------------------------------------------- title: "Query Index in NoSQL" description: "This page describes the method to perform operations in the NoSQL component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/query-index/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - NoSQL Help Documentation (/en/cloud-scale/help/nosql/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/nosql/query-index/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/nosql/query-index/) - REST API Documentation (/en/api/code-reference/cloud-scale/nosql/query-index/#QueryIndex) -------------------------------------------------------------------------------- # Query Index in NoSQL > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/overview/#prerequisites) to use this SDK method. You can query a NoSQL index and retrieve data by identifying the items using the [primary keys](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/components/#table-keys) of the index. Indexing allows you to execute alternate queries on the table data without making use of the primary keys of the main table. You can configure indexes from the [Catalyst console](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/indexing/create-manage-indexes/#create-an-index). You can use just the partition key or a combination of the partition key and sort key of the index to retrieve an item. > **Note:** Catalyst enables you to retrieve a **maximum of 100 items** in bulk from a NoSQL table with pagination from a single SDK operation. You must use the `start_key` token received in the SDK response and construct the logic for pagination. You can define the key condition that identifies the item by specifying the attributes, their required values, and the supported operator to be used. 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
The following example code snippet details the following logic: * The required query is executed by referring the required items using the index `FruitIdentifier`’s partition key `fruitColor`. * The condition value is specified as "`yellow`". * The query is done using the `queryIndex()` SDK method. * Implements consistent_read to indicate if the read operation must be done using the master or a slave cluster. - If the value is set as `true`, it is queried from the master. - If the value is set as `false`, it is queried from the slave. > **Note:** In the master-slave replication, the master contains all the data of the database, and the slave contains copies from the master. Performing a read operation from the slave can reduce the overall cost with the trade-off being a minor delay in the updated data being reflected. ```javascript const { NoSQLMarshall, NoSQLEnum } = require('zcatalyst-sdk-node/lib/no-sql'); const { NoSQLOperator } = NoSQLEnum; // Query a NoSQL table index to fetch the items identified by the partition key fruitColor with the value "yellow" const queriedIndexItems = await table.queryIndex('FruitIdentifier', { // Define the key condition to query the items with key_condition: { attribute: 'fruitColor', // Define the supported operator to be used operator: NoSQLOperator.EQUALS, value: NoSQLMarshall.makeString('yellow') }, // Set consistent_read to true to query from master. If set to false, it is queried from slave. consistent_read: true, // Limit the number of rows to be returned by specifying a value limit: 15, // Set forward_scan to true to sort the results in ascending order. Otherwise, it is sorted in descending order. forward_scan: true }); ``` -------------------------------------------------------------------------------- title: "Delete Items from NoSQL Table" description: "This page describes the method to perform operations in the NoSQL component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/delete-item/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - NoSQL Help Documentation (/en/cloud-scale/help/nosql/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/nosql/delete-items/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/nosql/delete-items/) - REST API Documentation (/en/api/code-reference/cloud-scale/nosql/delete-item/#DeleteItem) -------------------------------------------------------------------------------- # Delete Items from NoSQL Table > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/nosql/overview/#prerequisites) to use this SDK method. Using the `deleteItems()` SDK method, to delete items from a NoSQL table. You can refer to the required item using the [primary keys](https://docs.catalyst.zoho.com/en/cloud-scale/help/nosql/components/#table-keys) of the table. For example, you use just the partition key, or a combination of the partition key and sort key of the table, to identify an item. > **Note:** Catalyst enables you to delete a **maximum of 25 items** in bulk from a NoSQL table with a single SDK operation. In the following code snippet, the required item from the NoSQL table is being referred to using its partition key `fruit` whose value matches "`apple`". ```javascript // Delete a NoSQL item from the table with partition key "fruit" and the value matching "apple" const deletedItems = await table.deleteItems({ // Specify the partition key value of the item to be deleted keys: NoSQLItem.from({ fruit: 'apple' }) }); ``` #### Stratus -------------------------------------------------------------------------------- title: "Overview" description: "This page describes the method to perform operations in the DataStore component." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/overview/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Stratus Help Documentation (/en/cloud-scale/help/stratus/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/stratus/overview/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/stratus/overview/) - iOS SDK Documentation (/en/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK Documentation (/en/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK Documentation (/en/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API Documentation (/en/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Stratus JavaScript SDK # Overview Stratus is the comprehensive object storage solution offered in the Catalyst CloudScale service. You can store data of any format in the form of [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/). Each Bucket and every individual object in the bucket has a secure [Object URL](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/objects/introduction/#object-url) and [Bucket URL](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/buckets/create-bucket/#bucket-url). You can perform CRUD, upload, and download operations on objects stored in the bucket. ### Prerequisites You need to install the following packages to be able to use the Stratus SDK methods. ```sh npm install @zcatalyst/stratus ``` > **Info:** Ensure that you have applied the [required authentication configuration](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/auth-config/node-consideration/) to use the SDK methods of this component. ### Import Requirement You need to import the following module to use the Stratus SDK methods. ```javascript const { Stratus } = require('@zcatalyst/stratus');//Stratus module ``` ### List of SDK Methods The following table contains the list of SDK methods that can be used to perform Stratus operations through code.
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/)
  • [List all objects by pagination](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/list-objects/#list-all-objects-by-pagination)
  • [List all objects through iteration](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/list-objects/#list-objects-through-iteration)
**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/)
  • [Download an Object](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/download-object/#download-an-object)
  • [Download a Portion of the Object](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/download-object/#download-a-potion-of-the-object)
  • [Download an Object Using Transfer Manager](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/download-object/#download-an-object-using-transfer-manager-utility)
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/)
  • [Upload Object as a Stream](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/upload-object/#upload-object-as-a-stream)
  • [Upload Object as a String](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/upload-object/#upload-object-as-a-string)
  • [Upload Object with Options](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/upload-object/#upload-object-with-options)
  • [Upload Object With Extract Option](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/upload-object/#upload-object-with-extract-option)
  • [Upload Object Using Multipart](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/upload-object/#upload-object-using-multipart-utility)
  • [Upload an Object Using Transfer Manager](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/upload-object/#upload-an-object-using-the-transfer-manager-utility)
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/)
  • [Get Zip Extraction Status](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/extract-zipped-object/#get-zip-extraction-status)
**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/)
  • [Delete a Single Object](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/delete-object/#delete-a-single-object)
  • [Delete a Specific Version of an Object after a Specific Time](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/delete-object/#delete-a-specific-version-of-an-object-after-a-specific-time)
  • [Delete Multiple Objects](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/delete-object/#delete-multiple-objects)
  • [Delete a Path in the Bucket](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/delete-object/#delete-a-path-in-the-bucket)
  • [Truncate Bucket](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/delete-object/#truncate-bucket)
**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/)
  • [List All Versions of an Object Through Pagination](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/list-object-versions/#list-all-versions-of-an-object-through-pagination)
  • [List All Versions of the Object Through Iteration](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/list-object-versions/#list-all-versions-of-an-object-through-iteration)
**Admin**
[Get Object Details](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/get-object-details/)
  • [Get Details of All Objects](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/get-object-details/#get-details-of-all-objects)
  • [Get Details of a Particular Version of the Object](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/get-object-details/#get-details-of-a-particular-version-of-the-object)
**Admin**
[Put Object Meta Data](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/put-object-metadata/) **Admin**
-------------------------------------------------------------------------------- title: "Create Stratus Instance" description: "This page describes the method to execute circuits in your application with sample code snippets." last_updated: "2026-10-28T13:23:14.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/create-instance/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Stratus Help Documentation (/en/cloud-scale/help/stratus/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/stratus/create-stratus-instance/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/stratus/create-stratus-instance/) - iOS SDK Documentation (/en/sdk/ios/v2/cloud-scale/stratus/create-bucket-instance/) - Android SDK Documentation (/en/sdk/android/v2/cloud-scale/stratus/create-bucket-instance/) - Flutter SDK Documentation (/en/sdk/flutter/v2/cloud-scale/stratus/initialize-stratus/) - REST API Documentation (/en/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Create Stratus Instance > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/overview/#prerequisites) to use this SDK method. You can get the `stratus` component reference as shown below. This will not fire a server-side call. You will refer to this component instance in various code snippets of working with Stratus. ```javascript // Get a stratus instance const stratus = new Stratus(); ``` > **Note:** - Passing an initialized app instance to a component determines the authentication scope it uses. - To perform an operation with user-level permissions, initialize the SDK with User scope, or with custom credentials, and pass that instance to the component. This runs the operation in the user's scope or custom credential scope instead of the default admin scope. ```javascript const stratus = new Stratus(app); ``` - If your Function or AppSail application needs both custom credentials and admin authentication at the same time, give each initialization a unique app name, otherwise the custom initialization can overwrite your existing admin credentials. - In all cases, explicitly pass the matching app instance to each component so it uses the intended authentication scope; if none is provided, the SDK defaults to the admin credentials. -------------------------------------------------------------------------------- title: "Check Bucket Availability" description: "This page describes the method to execute circuits in your application with sample code snippets." last_updated: "2026-10-28T13:23:14.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/check-bucket-availability/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Stratus Help Documentation (/en/cloud-scale/help/stratus/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/stratus/check-bucket/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/stratus/check-bucket/) - iOS SDK Documentation (/en/sdk/ios/v2/cloud-scale/stratus/create-bucket-instance/) - Android SDK Documentation (/en/sdk/android/v2/cloud-scale/stratus/create-bucket-instance/) - Flutter SDK Documentation (/en/sdk/flutter/v2/cloud-scale/stratus/initialize-stratus/) - REST API Documentation (/en/api/code-reference/cloud-scale/stratus/head-bucket/#CheckBucketAvailability) -------------------------------------------------------------------------------- # Check Bucket Availability > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/overview/#prerequisites) to use this SDK method. Using the `headBucket()` SDK method, you can check the existence of a bucket in Stratus, and further check if the user has the relevant permissions to access the objects present in the bucket. The `stratus` reference used in the following code snippet is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/create-instance/). Possible responses when using this SDK: * If the bucket exists and if the user has the relevant permissions to access the bucket, the response '**true**' will be returned. * If the bucket does not exist, or if the user does not have permission to access the bucket, the response '**false**' will be returned. ### Parameters Used
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**".
```javascript const headBucketResponse = await stratus.headBucket('bucketName'); // check the bucket is available in stratus console.log(headBucketResponse); ``` ### Example of Expected Response ```text head bucket:::: true ``` ### Possible Errors > **Note:** If you use the SDK with the `throw_err` parameter, and the bucket does not exist, or if you do not have sufficient permissions then you may encounter any of the errors listed below.
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.
-------------------------------------------------------------------------------- title: "List Buckets" description: "This page describes the method to execute circuits in your application with sample code snippets." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/list-buckets/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Stratus Help Documentation (/en/cloud-scale/help/stratus/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/stratus/list-buckets/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/stratus/list-buckets/) - iOS SDK Documentation (/en/sdk/ios/v2/cloud-scale/stratus/create-bucket-instance/) - Android SDK Documentation (/en/sdk/android/v2/cloud-scale/stratus/create-bucket-instance/) - Flutter SDK Documentation (/en/sdk/flutter/v2/cloud-scale/stratus/initialize-stratus/) - REST API Documentation (/en/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # List Buckets > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/overview/#prerequisites) to use this SDK method. The following example code snippet illustrates the implementation of the `listBuckets()`SDK method. The `stratus` reference used in the following code snippet is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/create-instance/). ```javascript const auth = await new ZCAuth().init(req); const stratus = new Stratus(); //list the buckets in the stratus const listBuckets = await stratus.listBuckets(); console.log('list buckets::::', listBuckets); ``` ### Example of Expected Response ```javascript list buckets:::: [ { bucket_name: 'zylker14266', project_details: [Object], created_by: [Object], created_time: 'Aug 20, 2025 03:11 PM', modified_by: [Object], modified_time: 'Aug 20, 2025 03:11 PM', bucket_meta: [Object], bucket_url: 'https://exmaplebucket14266-development.zohostratus.com' } ] ``` -------------------------------------------------------------------------------- title: "Create Bucket Instance" description: "This page describes the method to execute circuits in your application with sample code snippets." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/create-bucket-instance/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Stratus Help Documentation (/en/cloud-scale/help/stratus/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/stratus/create-bucket-instance/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/stratus/create-bucket-instance/) - iOS SDK Documentation (/en/sdk/ios/v2/cloud-scale/stratus/create-bucket-instance/) - Android SDK Documentation (/en/sdk/android/v2/cloud-scale/stratus/create-bucket-instance/) - Flutter SDK Documentation (/en/sdk/flutter/v2/cloud-scale/stratus/initialize-stratus/) - REST API Documentation (/en/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Create Bucket Instance > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/overview/#prerequisites) to use this SDK method. To perform bucket level operations, you need to create a bucket instance. You will refer to this component instance in various code snippets of working with Buckets in Stratus. The `stratus` reference used in the following code snippet is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/create-instance/). ```javascript const bucket = stratus.bucket("bucketName"); ``` -------------------------------------------------------------------------------- title: "Get Bucket Details" description: "This page describes the method to execute circuits in your application with sample code snippets." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/get-bucket-details/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Stratus Help Documentation (/en/cloud-scale/help/stratus/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/stratus/get-bucket-details/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/stratus/get-bucket-details/) - iOS SDK Documentation (/en/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK Documentation (/en/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK Documentation (/en/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API Documentation (/en/api/code-reference/cloud-scale/stratus/get-bucket/#GetSpecificBucket) -------------------------------------------------------------------------------- # Get Bucket Details > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/overview/#prerequisites) to use this SDK method. The `getDetails()` SDK method will allow you to get all available details of a particular bucket. 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/). ```javascript const buckets = await bucket.getDetails(); // get details of a given bucket console.log(buckets); ``` ### Example of Expected Response ```javascript { bucket_name: 'zylker14266', project_details: { project_name: 'ZylkerIndustries', id: '12096000002022001', project_type: 'Live' }, created_by: { zuid: '779176685', is_confirmed: false, email_id: 'emmy@zylker.com', first_name: 'Amelia', last_name: 'Burrows', user_type: 'Admin', user_id: '12096000000003003' }, created_time: 'Aug 20, 2025 03:11 PM', modified_by: { zuid: '779176685', is_confirmed: false, email_id: 'emmy@zylker.com', first_name: 'Amelia', last_name: 'Burrows', user_type: 'Admin', user_id: '12096000000003003' }, modified_time: 'Aug 20, 2025 03:11 PM', bucket_meta: { versioning: false, caching: { status: 'Disabled' }, encryption: false, audit_consent: false }, bucket_url: 'https://zylker4266-development.zohostratus.com' } ``` -------------------------------------------------------------------------------- title: "Get Bucket CORS" description: "This page describes the method to execute circuits in your application with sample code snippets." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/get-bucket-cors/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Stratus Help Documentation (/en/cloud-scale/help/stratus/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/stratus/get-bucket-cors/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/stratus/get-bucket-cors/) - iOS SDK Documentation (/en/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK Documentation (/en/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK Documentation (/en/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API Documentation (/en/api/code-reference/cloud-scale/stratus/get-bucket/#GetSpecificBucket) -------------------------------------------------------------------------------- # Get Bucket CORS > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/overview/#prerequisites) to use this SDK method. The `getCors()` SDK method will return the current CORS configuration of a specific bucket in Stratus. 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/). CORS of a bucket can be edited by any user that has or has been granted Write permission for Stratus component in the project, using the [Profiles & Permissions](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/profiles-and-permissions/) section. > **Info:** [Learn more about Bucket CORS](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/stratus-config/bucket-cors/) ```javascript const cors = await bucket.getCors(); console.log(cors); ``` ### Example of Expected Response ```javascript { domain: 'https://zylkereclassifieds-779513891.development.catalystserverless.com', allowed_methods: [ 'HEAD', 'DELETE', 'POST', 'GET', 'PUT' ] } ``` -------------------------------------------------------------------------------- title: "List Objects in a Bucket" description: "This page describes the method to execute circuits in your application with sample code snippets." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/list-objects/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Stratus Help Documentation (/en/cloud-scale/help/stratus/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/stratus/list-objects/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/stratus/list-objects/) - iOS SDK Documentation (/en/sdk/ios/v2/cloud-scale/stratus/get-object/) - Android SDK Documentation (/en/sdk/android/v2/cloud-scale/stratus/get-object/) - Flutter SDK Documentation (/en/sdk/flutter/v2/cloud-scale/stratus/get-object/) - REST API Documentation (/en/api/code-reference/cloud-scale/stratus/get-object/#GetaSpecificObject) -------------------------------------------------------------------------------- # List Objects in a Bucket > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/overview/#prerequisites) to use this SDK method. ### List All Objects by Pagination This SDK method will allow you to get a list of all the objects present in a particular bucket by pagination. 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/). For each call, a limited number of objects will be returned, and the next call will be initiated only if a continuation token is returned. #### Parameters Used
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.
In the following SDK method, a maximum value of pagination is set using `maxKey`. Using prefix, you can list objects that only match the `prefix`. The response you get will contain the following properties of the bucket, which will be stored in `moreOptions`: * `key count`: Will contain the value of the number of objects that are being returned. * `max keys`: The maximum limit of objects that can be returned. * `Truncated`: Will contain the status to notify if a bucket is truncated or not. * `contents`: List of object details. * `continuation_token`: If you a sent a `continuation_token` in the request, it will be shown in the response. * `next_continuation_token`: 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. With each iteration, you need to list the `maxkeys` number of objects and check if `nextToken` has been created. Using `nextToken` you can continue the iteration until all the objects have been listed. ```javascript async function listMyPaginatedObjects(maxKeys = null, prefix = null, nextToken = null) { const options = { // Maximum number of keys to return in one call maxKeys, // Token to fetch the next page of objects continuationToken: nextToken, // Order in which objects are listed: 'asc' or 'desc' // orderBy: 'desc', // Whether to list objects in a folder-like structure (true) or flat structure (false) // folderListing: 'true', // Only list objects with this prefix prefix }; // Retrieve a page of objects const objects = await bucket.listPagedObjects(options); console.log("response:", objects.contents); // If more objects are available, recursively fetch the next set if (objects.truncated) { listMyPaginatedObjects(maxKeys, prefix, objects.next_continuation_token); } } // Initial call to list objects with a maximum of 2 keys per page and prefix "sam" await listMyPaginatedObjects(4, "Img"); ``` #### Example of Expected Response ```javascript response: [ StratusObject { keyDetails: { key_type: 'file', key: 'random_gen_design/img_1.jpeg', size: 8713, content_type: 'image/jpeg', etag: '56fcb562a4bc4fb981b0c40a7feb2408', last_modified: 'Sep 10, 2025 01:15 PM', object_url: 'https://zylker14266-development.zohostratus.com/random_gen_design/img_1.jpeg' } }, StratusObject { keyDetails: { key_type: 'file', key: 'aquatic_sea_ven/Img_3.jpg', size: 31467, content_type: 'image/jpeg', etag: 'd25b2e9d70ef34d2b4a1397a6f4703e4', last_modified: 'Sep 10, 2025 01:16 PM', object_url: 'https://zylker14266-development.zohostratus.com/aquatic_sea_ven/Img_3.jpg' } }, StratusObject { keyDetails: { key_type: 'file', key: 'random_gen_design/Img_5.png', size: 3818, content_type: 'image/png', etag: 'ab1918da8f9c47aa51b0f1d4949c6021', last_modified: 'Sep 10, 2025 01:17 PM', object_url: 'https://zylker14266-development.zohostratus.com/random_gen_design/Img_5.png' } }, StratusObject { keyDetails: { key_type: 'file', key: 'random_gen_design/Img_7.png', size: 19037, content_type: 'image/png', etag: '349a98b743fbe6e89ddf09ab31673fa6', last_modified: 'Sep 10, 2025 01:17 PM', object_url: 'https://zylker14266-development.zohostratus.com/random_gen_design/Img_7.png' } }, StratusObject { keyDetails: { key_type: 'file', key: 'random_gen_design/Img_8.png', size: 3275, content_type: 'image/png', etag: '4a671a721c643f8506d112b7f6b39436', last_modified: 'Sep 10, 2025 01:17 PM', object_url: 'https://zylker14266-development.zohostratus.com/random_gen_design/Img_8.png' } }, StratusObject { keyDetails: { key_type: 'file', key: 'aquatic_sea_ven/Img_2.jpg', version_id: '01k4s9hgptxam14jrrn303negs', size: 15103, content_type: 'image/jpeg', etag: '7ff12ee34cc16ceb3f8b0f72301bd154', last_modified: 'Sep 10, 2025 01:18 PM', object_url: 'https://zylker14266-development.zohostratus.com/aquatic_sea_ven/Img_2.jpg' } }, StratusObject { keyDetails: { key_type: 'file', key: 'aquatic_sea_ven/Img_3.jpg', version_id: '01k4s9hh8s2v66gvxr4e83x3k8', size: 31467, content_type: 'image/jpeg', etag: 'd25b2e9d70ef34d2b4a1397a6f4703e4', last_modified: 'Sep 10, 2025 01:18 PM', object_url: 'https://zylker14266-development.zohostratus.com/aquatic_sea_ven/Img_3.jpg' } }, StratusObject { keyDetails: { key_type: 'file', key: 'aquatic_sea_ven/Img_9.jpg', version_id: '01k4s9hj1av91pd7khzr9zrh89', size: 23413, content_type: 'image/jpeg', etag: 'f466f787332836d8aca3b73d482bca05', last_modified: 'Sep 10, 2025 01:18 PM', object_url: 'https://zylker14266-development.zohostratus.com/aquatic_sea_ven/Img_9.jpg' } }, StratusObject { keyDetails: { key_type: 'file', key: 'aquatic_sea_ven/Img_10.jpg', version_id: '01k4s9hjjp1gd9m65atdg6qgtq', size: 13806, content_type: 'image/jpeg', etag: 'de18f77d95a15977600e348d621caccd', last_modified: 'Sep 10, 2025 01:18 PM', object_url: 'https://zylker14266-development.zohostratus.com/aquatic_sea_ven/Img_10.jpg' } }, StratusObject { keyDetails: { key_type: 'file', key: 'road_vendor/Img_4.jpg', version_id: '01k4s9m3gn1r2b34x398kkfmhh', size: 11452, content_type: 'image/jpeg', etag: '00feebcfcd51053ff3208a051b0d39e6', last_modified: 'Sep 10, 2025 01:19 PM', object_url: 'https://zylker14266-development.zohostratus.com/road_vendor/Img_4.jpg' } }, StratusObject { keyDetails: { key_type: 'file', key: 'road_vendor/Img_6.avif', version_id: '01k4s9mbdf4t2nb6bqx7rqww5v', size: 5274, content_type: 'image/avif', etag: 'e00859eba271306185a894fa6bccb104', last_modified: 'Sep 10, 2025 01:19 PM', object_url: 'https://zylker14266-development.zohostratus.com/road_vendor/Img_6.avif' } } ] ``` ### List Objects Through Iteration Using this SDK method, you can list all the objects present in a bucket in a single API call using the iteration technique. Using the `maxKey` variable, you can access the required number of objects. ```javascript const options = { // Maximum number of objects returned per request maxKeys: 5, // Order in which objects are listed: 'asc' or 'desc' // orderBy: 'desc', // Whether to list objects in a folder-like structure (true) or flat structure (false) // folderListing: 'true', // Only list objects that begin with the specified prefix prefix: 'Img' }; // List iterable files from the bucket const files = bucket.listIterableObjects(options); ``` #### Example of Expected Response ```javascript response: [ StratusObject { keyDetails: { key_type: 'file', key: 'random_gen_design/img_1.jpeg', size: 8713, content_type: 'image/jpeg', etag: '56fcb562a4bc4fb981b0c40a7feb2408', last_modified: 'Sep 10, 2025 01:15 PM', object_url: 'https://tbd14266-development.zohostratus.com/random_gen_design/img_1.jpeg' } }, StratusObject { keyDetails: { key_type: 'file', key: 'aquatic_sea_ven/Img_3.jpg', size: 31467, content_type: 'image/jpeg', etag: 'd25b2e9d70ef34d2b4a1397a6f4703e4', last_modified: 'Sep 10, 2025 01:16 PM', object_url: 'https://tbd14266-development.zohostratus.com/aquatic_sea_ven/Img_3.jpg' } }, StratusObject { keyDetails: { key_type: 'file', key: 'random_gen_design/Img_5.png', size: 3818, content_type: 'image/png', etag: 'ab1918da8f9c47aa51b0f1d4949c6021', last_modified: 'Sep 10, 2025 01:17 PM', object_url: 'https://tbd14266-development.zohostratus.com/random_gen_design/Img_5.png' } }, StratusObject { keyDetails: { key_type: 'file', key: 'random_gen_design/Img_7.png', size: 19037, content_type: 'image/png', etag: '349a98b743fbe6e89ddf09ab31673fa6', last_modified: 'Sep 10, 2025 01:17 PM', object_url: 'https://tbd14266-development.zohostratus.com/random_gen_design/Img_7.png' } }, StratusObject { keyDetails: { key_type: 'file', key: 'random_gen_design/Img_8.png', size: 3275, content_type: 'image/png', etag: '4a671a721c643f8506d112b7f6b39436', last_modified: 'Sep 10, 2025 01:17 PM', object_url: 'https://tbd14266-development.zohostratus.com/random_gen_design/Img_8.png' } }, StratusObject { keyDetails: { key_type: 'file', key: 'aquatic_sea_ven/Img_2.jpg', version_id: '01k4s9hgptxam14jrrn303negs', size: 15103, content_type: 'image/jpeg', etag: '7ff12ee34cc16ceb3f8b0f72301bd154', last_modified: 'Sep 10, 2025 01:18 PM', object_url: 'https://tbd14266-development.zohostratus.com/aquatic_sea_ven/Img_2.jpg' } }, StratusObject { keyDetails: { key_type: 'file', key: 'aquatic_sea_ven/Img_3.jpg', version_id: '01k4s9hh8s2v66gvxr4e83x3k8', size: 31467, content_type: 'image/jpeg', etag: 'd25b2e9d70ef34d2b4a1397a6f4703e4', last_modified: 'Sep 10, 2025 01:18 PM', object_url: 'https://tbd14266-development.zohostratus.com/aquatic_sea_ven/Img_3.jpg' } }, StratusObject { keyDetails: { key_type: 'file', key: 'aquatic_sea_ven/Img_9.jpg', version_id: '01k4s9hj1av91pd7khzr9zrh89', size: 23413, content_type: 'image/jpeg', etag: 'f466f787332836d8aca3b73d482bca05', last_modified: 'Sep 10, 2025 01:18 PM', object_url: 'https://tbd14266-development.zohostratus.com/aquatic_sea_ven/Img_9.jpg' } }, StratusObject { keyDetails: { key_type: 'file', key: 'aquatic_sea_ven/Img_10.jpg', version_id: '01k4s9hjjp1gd9m65atdg6qgtq', size: 13806, content_type: 'image/jpeg', etag: 'de18f77d95a15977600e348d621caccd', last_modified: 'Sep 10, 2025 01:18 PM', object_url: 'https://tbd14266-development.zohostratus.com/aquatic_sea_ven/Img_10.jpg' } }, StratusObject { keyDetails: { key_type: 'file', key: 'road_vendor/Img_4.jpg', version_id: '01k4s9m3gn1r2b34x398kkfmhh', size: 11452, content_type: 'image/jpeg', etag: '00feebcfcd51053ff3208a051b0d39e6', last_modified: 'Sep 10, 2025 01:19 PM', object_url: 'https://tbd14266-development.zohostratus.com/road_vendor/Img_4.jpg' } }, StratusObject { keyDetails: { key_type: 'file', key: 'road_vendor/Img_6.avif', version_id: '01k4s9mbdf4t2nb6bqx7rqww5v', size: 5274, content_type: 'image/avif', etag: 'e00859eba271306185a894fa6bccb104', last_modified: 'Sep 10, 2025 01:19 PM', object_url: 'https://tbd14266-development.zohostratus.com/road_vendor/Img_6.avif' } } ] ``` -------------------------------------------------------------------------------- title: "Check Object Availability" description: "This page describes the method to execute circuits in your application with sample code snippets." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/check-object/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Stratus Help Documentation (/en/cloud-scale/help/stratus/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/stratus/list-objects/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/stratus/list-objects/) - iOS SDK Documentation (/en/sdk/ios/v2/cloud-scale/stratus/get-object/) - Android SDK Documentation (/en/sdk/android/v2/cloud-scale/stratus/get-object/) - Flutter SDK Documentation (/en/sdk/flutter/v2/cloud-scale/stratus/get-object/) - REST API Documentation (/en/api/code-reference/cloud-scale/stratus/get-object/#GetaSpecificObject) -------------------------------------------------------------------------------- # Check Object Availability > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/overview/#prerequisites) to use this SDK method. Using the `headObject()` SDK method, you can check if a particular object is present in the bucket, if the user has the required permissions to access the object. 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/). If you have enabled [Versioning](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/stratus-config/general-settings/#versioning) for your bucket, then you need to pass the `versionID` as the param, to check if a particular version of the object is available. When you use this SDK method, you will get either of the following responses: * `true`: If the object is available, the specified version is available, and if the user has the relevant permissions to access the objects. * `false`: - If the object or the particular version of the object is not available in the bucket. - If the user does not have the required permissions to access the object. - If the bucket does not exist. #### Parameters Used
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**".
```javascript const options = { versionId: 'djkfhdiufy762', throwErr: false }; const headObjectRes = await bucket.headObject("sam/out/sample.txt", options); // The object path should not start with the bucket name, just the parent directory of the object console.log(headObjectRes); ``` #### Example of Expected Response ```javascript true ``` #### Possible Errors > **Note:** If you use the SDK with the `throw_err` parameter, and the object does not exist, or if you do not have sufficient permissions then you may encounter any of the errors listed below.
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.
-------------------------------------------------------------------------------- title: "Download Object" description: "This page describes the method to execute circuits in your application with sample code snippets." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/download-object/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Stratus Help Documentation (/en/cloud-scale/help/stratus/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/stratus/download-object/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/stratus/download-object/) - iOS SDK Documentation (/en/sdk/ios/v2/cloud-scale/stratus/download-object/) - Android SDK Documentation (/en/sdk/android/v2/cloud-scale/stratus/download-object/) - Flutter SDK Documentation (/en/sdk/flutter/v2/cloud-scale/stratus/download-object/) - REST API Documentation (/en/api/code-reference/cloud-scale/stratus/download-object/#DownloadObject) -------------------------------------------------------------------------------- # Download Object > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/overview/#prerequisites) to use this SDK method. ### Download an Object The SDKs present in the section will allow you to [download a particular object](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/objects/manage-object/download-object/), multiple objects, or version of the object. 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/). The first step of the download operation is a `GET` operation that retrieves the required object from the bucket. To be able to download an object, the requester must have `READ` access permissions. However, owners of the bucket do have the option to grant `READ` access permissions to users, allowing them to download the object without using the required response headers. If [Versioning](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/stratus-config/general-settings/#versioning) is enabled for your bucket, you need to pass the `versionId` to download the particular version of the object. If no `versionId` is passed, then by default, the latest version of the object will be downloaded. If *Versioning* was enabled for a bucket, then disabled. By default, the principal first object will be downloaded. To ensure you download the latest version of this object, you need to pass the `versionId` param with the value "`topVersion`". ```javascript const res = await bucket.getObject("sam/out/sample.txt"); // download the object to local machine const files = fs.createWriteStream('filePath'); res.on('data', (data) => { files.write(data) }); ``` ### Download a Potion of the Object The following SDK method is used with the `range` parameter. The range parameter allows you to download a specific `range` of bytes of an object. ```javascript const options = { 'versionId': 'djkshr8374yiuhf48', // download the object with given versionId 'range': '0-2000' // start and end range of the object in bytes } const res = await bucket.getObject("sam/out/sample.txt", options); // download the object to your local machine const files = fs.createWriteStream('filePath'); res.on('data', (data) => { files.write(data) }); ``` ### Download an Object Using Transfer Manager Utility In this section, we are going to go over SDK methods that will allow you to successfully download large objects from Stratus to your local system using the *Transfer Manager* utility. The *Transfer Manager* utility is an operation where the large object is split into multiple byte ranges using the start and end bytes range of the object. Each of the object’s parts is then returned as a stream, and they are downloaded to your local system. #### Additional Import Requirement You need to import this additional module to implement the *Transfer Manager* utility. ```javascript const {TransferManager} = require ('@zcatalyst/stratus')// Stratus module ``` #### Create Transfer Manage Instance ```javascript const transferManager = new TransferManager(bucket); // create transfer manager instance ``` #### Download Object as Iterable Part Streams ```javascript const partSize=50; const getObjectRes = await transferManager.getIterableObject("sam/out/sample.txt",partSize); // download the object to local machine const file = fs.createWriteStream('filePath'); // create a file write stream for await (const chunk of getObjectRes) { file.write(chunk); } ``` #### Generate Object Parts for Download Using this SDK method you can download a portion of the object that falls under the required start and end range of bytes. ```javascript const file = fs.createWriteStream("filePath"); const partSize = 50; const downloadRes = await transferManager.generatePartDownloaders("sam/out/sample.txt", partSize); let partNum = 0; while (partNum < downloadRes.length) { const objectPart = downloadRes[partNum++]; const buffer = await objectPart(); // return the object part as stream // process the stream } ``` ### Generate Presigned URL to Download an Object > **Info:** To use this SDK method, you need to initialize it with **Admin** scope. You can learn more about this requirement from this [section](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/scopes/). Presigned URLs are secure URLs that authenticated users can share to their non-authenticated users. This URL will provide non-authenticated users with temporary authorization to access objects. 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/). #### Parameters Used
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.
  • `GET`: To download an object
`expiry` **String** This is an **optional** parameter. The URL validity time in seconds.
  • Default value: **3600 seconds**
  • Minimum value: **30 seconds**
  • Maximum value: **7 days**
`activeForm` **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.
```javascript const signedURLRes = await bucket.generatePreSignedUrl("sam/out/sample.txt", 'GET', { 'expiryIn': 100, // expiry time in seconds 'activeFrom':'12334454327', // activate the url in the given date 'versionId': '746398diij94839' }); console.log(signedURLRes); ``` #### Example of Expected Response ```json { "signature": "https://sadi-development.zohostratus.com/_signed/text.txt?organizationId=96862383&stsCredential=96858154-96862383&stsDate=1747898364894&stsExpiresAfter=300&stsSignedHeaders=host&stsSignature=SFdW4woI5nXPCSCghrymsv06hM0cimwZpkFwHWngtto", "expiry_in_seconds": "100", "active_from": "12334454327" } ``` #### Example Snippet Illustrating Usage of Presigned URL to Download an Object > **Info:** This example is shown using the **Axios** request handler package. ```javascript const axios = require('axios'); const fs = require('fs'); // Replace with the actual pre-signed URL for your file. const url = 'https://sadi-development.zohostratus.com/_signed/text.txt?organizationId=96862383&stsCredential=96858154-96862383&stsDate=1747898364894&stsExpiresAfter=300&stsSignedHeaders=host&stsSignature=SFdW4woI5nXPCSCghrymsv06hM0cimwZpkFwHWngtto'; (async () => { try { // Send GET request to download file as a stream const response = await axios.get(url, { responseType: 'stream' }); // Create a writable stream to save the file locally const file = fs.createWriteStream('file_path'); // Replace with desired output path // ⛓ Pipe the response stream to the file stream response.data.pipe(file); // Notify when the file has been downloaded file.on('finish', () => { console.log('File downloaded successfully'); }); // Handle any errors during writing file.on('error', (err) => { console.error('Error writing file:', err); }); } catch (err) { console.error('Error downloading file:', err); } })(); ``` -------------------------------------------------------------------------------- title: "Upload Object" description: "This page describes the method to execute circuits in your application with sample code snippets." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/upload-object/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Stratus Help Documentation (/en/cloud-scale/help/stratus/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/stratus/upload-object/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/stratus/upload-object/) - iOS SDK Documentation (/en/sdk/ios/v2/cloud-scale/stratus/upload-object/) - Android SDK Documentation (/en/sdk/android/v2/cloud-scale/stratus/upload-object/) - Flutter SDK Documentation (/en/sdk/flutter/v2/cloud-scale/stratus/upload-object/) - REST API Documentation (/en/api/code-reference/cloud-scale/stratus/upload-object/#UploadObject) -------------------------------------------------------------------------------- # Upload Object > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/overview/#prerequisites) to use this SDK method. The SDK methods listed in this section will allow you to [upload objects](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/objects/upload-object/) to the [bucket](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/buckets/name-bucket/) in various manners. You can upload objects as a **string** or as a **stream**. 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/). If you do not have [Versioning](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/stratus-config/general-settings/#versioning) enabled for your object, and if Stratus gets multiple write requests for the same object, the object will be continuously overwritten. The latest upload of the object will be the only object that is stored. However, with Versioning enabled, each upload will be considered a version of the object, and all of them will be stored in the bucket, each with a unique `versionId`. > **Note:** The following characters including space are not supported when you create a path or an object: *double quote*, *both angular brackets*, *hashtag*, *backward slash*, and *pipe symbol*. ### Upload Object as a Stream Using the `putObject()` SDK method in the following manner, you can upload objects to a bucket as a stream. Store the stream in a variable and then pass that variable in the upload method; `putObject()` ```javascript // create a read stream for upload the object const file = fs.createReadStream("file_path"); // call the upload method await bucket.putObject("sam/out/sample.txt", file); ``` ### Upload Object as a String Using the `putObject()` SDK method in the following manner, you can upload the object as a string. You will pass the object name, and the data to be stored in the object in string format to the upload method; `putObject()` ```javascript // Upload object as a string await bucket.putObject("sam/out/sample.txt", "Content of the file"); ``` ### Upload Object with Options Using the `putObject()` SDK method in the following manner, you can use the following options while you upload an object. * `overwrite`: This is an option you can use if *Versioning* for your bucket is not enabled for your bucket. Without versioning, you need to use this option if you wish to overwrite a resource. The default value is '**false**'. * `ttl`: This is an option you can use to set **Time-to-Live** (TTL) in seconds for an object. Value should be greater than or equal to **60 seconds**. * `metaData`: This is an option you can use to upload [meta details](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/objects/introduction/#metadata) of the object that is being uploaded. * `contentType`: This is an option you can provide, if you need to set the MIME type of the object. ```javascript const options = { 'overwrite': true, //This will overwrite your existing object 'ttl': '300', //time to live in seconds 'metaData': { 'author': 'John' } }; const file = fs.createReadStream("filePath"); await bucket.putObject("sam/out/sample.txt", file, options); ``` ### Upload Object With Extract Option When you upload a zipped object using the `putObject()` SDK method in the following manner, the objects present in the zip will be extracted and uploaded. ```javascript const options = { 'ttl': '300', //time to live in seconds 'metaData': { 'author': 'John' }, // Extract the contents of the given ZIP file and upload each file as a separate object to the bucket 'extractUpload': true }; const file = fs.createReadStream("filePath"); await bucket.putObject("sam/out/sample.zip", file, options); ``` ### Upload Object Using Multipart Utility In this section we are going to go over the SDK methods that will allow you to successfully upload a large object to a bucket in Stratus. The multipart upload utility will upload a large file to the bucket in multiple HTTPS requests. All of these requests will be combined into a single object once all the individual parts have been uploaded. > **Note:** It is recommended that you consider **Multipart Upload** as the preferred method to upload objects that are **100 MB or larger**. #### Initiate Upload To perform multipart operations, you need to get a multipart object instance. You will refer to this component instance in various code snippets where you work with multipart operations being performed on objects stored in a bucket in Stratus. #### Parameters Used
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/).
```javascript const initRes = await bucket.initiateMultipartUpload("sam/out/sample.txt"); console.log(initRes); ``` #### Example of Expected Response ```json { "bucket": "zcstratus123-development", "key": "sam/out/sample.txt", "upload_id": "01j7xbm4vm5750zbedxqgc4q6m", "status": "PENDING" } ``` #### Upload Parts of the Object The following code snippet illustrates the manner in which you can perform uploads of the individual parts of the object. Each part will have a distinct `partNumber` ranging anywhere between **1** and **1000**. While this represents the ordering of the parts, these parts will not necessarily be uploaded in sequence. These parts will be combined in sequence once the upload of all the parts of the objects is complete. ```javascript const partNumber = 1; const file = fs.createReadStream("filePath"); await bucket.uploadPart("sam/out/sample.txt", "uploadId", file, partNumber); ``` #### Get Multipart Upload Summary The following example code snippet demonstrates the manner in which you can use the `getMultipartUploadSummary()` SDK method to obtain an operational summary of all the uploaded parts. ```javascript const uploadSummaryRes = await bucket.getMultipartUploadSummary("sam/out/sample.txt", "upload_id"); console.log(uploadSummaryRes); ``` #### Example of Expected Response ```javascript { "bucket": "zcstratus12345-development", "key": "sam/out/sample.txt", "upload_id": "01hyfyeazrrstmt7k5fa7ej726", "status": "PENDING", "parts": [ { "part_number": 1, "size": 0, "uploaded_at": 1716374678999 }, { "part_number": 2, "size": 2797094, "uploaded_at": 1716374678576 }, { "part_number": 4, "size": 0, "uploaded_at": 1716374679136 } ] } ``` #### Complete Multipart Upload of the Object The following example code snippet demonstrates the manner in which you can terminate the multipart process once all the parts have been successfully uploaded. To complete the process, you will need to pass the `uploadId` to the `completeMultipartUpload()` method. #### Example Code Snippet Implementing Multipart Upload ```javascript const fs = require('fs'); module.exports = async (req, res) => { url = req.url; switch (url) { case '/': const auth = new ZCAuth(); const authInit = await auth.init(req); const stratus = new Stratus(); /** create a bucket instance */ const bucket = stratus.bucket("bucket_name"); /** multipart upload */ const key = 'sample.mp4'; // initiate multipart upload const initRes = await bucket.initiateMultipartUpload(key); // get upload Id from initiate upload response. const uploadId = initRes['upload_id']; const filePath = '/Users/Aliza//sam.mp4'; const partSize = 50 * 1024 * 1024; // in Mb const fileStream = fs.createReadStream( filePath, { highWaterMark: partSize } ); let partNumber = 1; const uploadPromises = []; fileStream.on('data', async (partData) => { // Push each part upload to the promises array for parallel upload const partUploadPromise = bucket.uploadPart( key, uploadId, partData, partNumber ); uploadPromises.push(partUploadPromise); console.log('Part Number: ', partNumber); partNumber++; }); // Wait for all parts to be uploaded in parallel fileStream.on('end', async () => { await Promise.all(uploadPromises); // Complete the multipart upload await bucket.completeMultipartUpload(key, uploadId); console.log('Successfully Uploaded'); }); res.end(); break; default: res.writeHead(404); res.write('You might find the page you are looking for at "/" path'); break; } } ``` ### Upload an Object Using the Transfer Manager Utility #### Create Transfer Manager Instance ```javascript const transferManager = new TransferManager(bucket); // create transfer manager instance ``` ### Multipart Upload #### Create Multipart Upload Instance The following code snippet will create a multipart instance to initiate multipart upload. ```javascript const multipart = await transferManager.createMultipartInstance("sam/out/sample.txt"); // create multipart instance ``` If you are required to create an instance for an already initialized multipart upload operation, then copy and use the code snippet given below. ```javascript const multipart = await transferManager.createMultipartInstance("sam/out/sample.txt", "uploadId"); ``` #### Upload Parts of the Object In the following example code snippet, you need to initialize a multipart instance, as defined in the [Create Multipart Upload Instance section](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/upload-object/#upload-an-object-using-the-transfer-manager-utility). With this instance, you can use the `uploadPart()` SDK method to upload parts of the object. ```javascript await multipart.uploadPart(fs.createReadStream("filePath"), partNumber); ``` #### Upload Summary The following code snippet demonstrates the use of the `getUploadSummary()` SDK method to get a summary of the upload process. ```javascript const summaryRes = await multipart.getUploadSummary(); console.log(summaryRes); ``` #### Complete Upload The following code snippet demonstrates the use of the `completeUpload()` SDK method to complete the upload process. ```javascript await multipart.completeUpload(); ``` #### Upload Object Using Wrapper The following code snippet demonstrates the use of the `putObjectAsParts()` SDK method acts as a wrapper, where the entire multipart upload operation is carried out without employing multiple steps. Using this method, the object is split into multiple parts, uploaded to the bucket in multiple parts, and then combined once all the parts are uploaded. ```javascript const file = fs.createReadStream("filePath"); const partSize = 50 // in MB const objectPartUploadRes = await transferManager.putObjectAsParts("sam/out/sample.txt",file, partSize); console.log(objectPartUploadRes); ``` ### Generate Presigned URL to Upload an Object > **Info:** To use this SDK method, you need to initialize it with **Admin** scope. You can learn more about this requirement from this [section](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/scopes/). Presigned URLs are secure URLs that authenticated users can share with their non-authenticated users. This URL will provide non-authenticated users with temporary authorization to access objects. 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/). #### Parameters Used
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.
  • `PUT`: To upload an object.
`expiry` **String** This is an **optional** parameter. The URL validity time in seconds.
  • Default value: **3600 seconds**
  • Minimum value: **30 seconds**
  • Maximum value: **7 days**
`activeFrom` **String** This is an **optional** parameter. This parameter will contain the time after which the URL is valid.
  • Maximum value: **7 days**
URLs are made active as soon as they are generated by default.
```javascript const signedURLRes = await bucket.generatePreSignedUrl("sam/out/sample.txt", 'PUT', { 'expiryIn': 100, // expiry time in seconds 'activeFrom':'12334454327', // activate the url in the given date }); console.log(signedURLRes); ``` #### Example mof Expected Response ```javascript { signature: "https://sadi-development.zohostratus.com/_signed/text.txt?organizationId=96862383&stsCredential=96858154-96862383&stsDate=1747896279887&stsExpiresAfter=300&stsSignedHeaders=host&stsSignature=3YBUX1HFSxNQzQJjFrln82AyJsEEuC5T9dsZwWxGyEE" } ``` #### Example Code Snippet: Upload with Presigned URL > **Info:** This example is shown using **Axios** request handler package. ```javascript const axios = require('axios'); const fs = require('fs'); // Replace this with the actual pre-signed URL generated for your upload. const url = ‘https: //sadi-development.zohostratus.com/_signed/text.txt?organizationId=96862383&stsCredential=96858154-96862383&stsDate=1747911331272&stsExpiresAfter=300&stsSignedHeaders=host&stsSignature=K9vuqC7JaATLeM3TX4xXWx0OHcSflbYQ2jCrbKSAAIE'; // Replace ‘file_path’ with your actual file path const data = fs.createReadStream(’/Users/amelia - 426 / Documents / JavaScript - SDK / Stratus / sam.py’); // Optional headers; content type may vary depending on the file type const headers = { // ‘Content-Type’: ‘application/json’, // adjust if uploading non-JSON files (e.g., ’text/plain’ or ‘application/octet-stream’) // ‘overwrite’: ’true’, // optional header }; (async () => { try { const response = await axios.put(url, data, { headers }); if (response.status === 200) { console.log('Object uploaded successfully'); } else { console.log('⚠️ Error uploading object:', response.data); } } catch (error) { console.error('Upload failed:', error.response?.data || error.message); } })(); ``` -------------------------------------------------------------------------------- title: "Extract a Zipped Object" description: "This page describes the method to execute circuits in your application with sample code snippets." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/extract-zipped-object/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Stratus Help Documentation (/en/cloud-scale/help/stratus/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/stratus/extract-zipped-object/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/stratus/extract-zipped-object/) - iOS SDK Documentation (/en/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK Documentation (/en/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK Documentation (/en/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API Documentation (/en/api/code-reference/cloud-scale/stratus/extract-object/#ExtractZippedObject) -------------------------------------------------------------------------------- # Extract a Zipped Object > **Notes:** * Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/overview/#prerequisites) to use this SDK method. * Since the extraction process occurs asynchronously, the time in which the entire process is completed is dependent on the size of the zip file that is being extracted. #### Parameters Used
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.
You can use the `unzipObject()` SDK method to extract a zipped object in Stratus. ```javascript const res = await bucket.unzipObject("sample.zip","output/"); console.log(res); ``` #### Example of Expected Response ```json { "key": "sample.zip", "destination": "output/", "task_id": "6963000000272049", "message": "Zip extract scheduled" } ``` ### Get Zip Extraction Status The zip extraction process occurs asynchronously, and the time it takes to complete the extraction process is dependent on the size of the zip file. #### Parameters Used
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.
You need to use the `taskId` parameter, in the `getUnzipStatus()` SDK method, to determine the status of the extraction. ```javascript const statusRes = await bucket.getUnzipStatus("sample.zip", 'taskId'); console.log(statusRes); ``` #### Example of Expected Response ```javascript { "task_id": "6963000000272049", "status": "SUCCESS" } ``` -------------------------------------------------------------------------------- title: "Copy Object" description: "This page describes the method to execute circuits in your application with sample code snippets." last_updated: "2026-10-06T06:21:49.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/copy-object/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Stratus Help Documentation (/en/cloud-scale/help/stratus/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/stratus/copy-objects/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/stratus/copy-objects/) - iOS SDK Documentation (/en/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK Documentation (/en/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK Documentation (/en/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API Documentation (/en/api/code-reference/cloud-scale/stratus/copy-object/#CopyObject) -------------------------------------------------------------------------------- # Copy Object > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/overview/#prerequisites) to use this SDK method. #### Key Terns
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.
You can use the `copyObject()` SDK method, to create a copy of the required object in same or different paths of the bucket. 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/). > **Notes:** * You need to provide the complete object name, along with the [path](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/objects/introduction/#path) for both `key` and `destination` values. * For example, if you have file named "`kitten.png`" in the path `pictures/puppy`, and you need to copy the file to `pictures/kitten` path, then: - `source_object` value will be '`pictures/puppy/kitten.png`' - `dest_object` value will be `'pictures/kitten/kitten.png'` ```javascript const res = await bucket.copyObject('sam/out/sample.txt', 'out/sam/sample.txt'); console.log(res); ``` #### Example of Expected Response ```json { "copy_to": "sam/out/sample.txt", "key": "out/sam/sample.txt", "message": "Object copied successfully." } ``` -------------------------------------------------------------------------------- title: "Rename and Move an Object" description: "This page describes the method to execute circuits in your application with sample code snippets." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/rename-move/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Stratus Help Documentation (/en/cloud-scale/help/stratus/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/stratus/rename-move-object/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/stratus/rename-move-object/) - iOS SDK Documentation (/en/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK Documentation (/en/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK Documentation (/en/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API Documentation (/en/api/code-reference/cloud-scale/stratus/rename-object/#RenameObject) -------------------------------------------------------------------------------- # Rename and Move Operations on an Object > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/overview/#prerequisites) to use this SDK method. #### Parameters Used
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.
> **Notes:** * You need to provide the complete object name, along with the [path](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/objects/introduction/#path) for both `key` and `destination` values. * For example, if you have file named "`kitten.png`" in the path `pictures/puppy`, and you need to copy the file to `pictures/kitten` path, then: - `source_object` value will be '`pictures/puppy/kitten.png`' - `dest_object` value will be `'pictures/kitten/kitten.png'` The `renameObject()` SDK method can be used for both *rename* and *move* operations. 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/). ### Rename an Object > **Notes:** * You cannot rename objects in a bucket that has [Versioning](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/stratus-config/general-settings/#versioning) enabled. * The following characters including space are not supported when you create a path or an object: *double quote*, both *angular brackets*, *hashtag*, *backward slash* and *pipe symbol*. ```javascript const res = await bucket.renameObject("sam/out/sample.txt", "sam/out/update_sample.txt"); console.log(res); ``` ### Move an Object > **Note:** You cannot perform move operations in a bucket that has [Versioning](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/stratus-config/general-settings/#versioning) enabled. ```javascript const moveRes = await bucket.renameObject("sam/out/sample.txt", "out/sample.txt"); console.log(moveRes); ``` #### Example of Expected Response ```json { "current_key": "sam/out/sample.txt", "message": "Rename successful", "rename_to": "sam/out/update_sample.txt" } ``` -------------------------------------------------------------------------------- title: "Delete Objects" description: "This page describes the method to execute circuits in your application with sample code snippets." last_updated: "2026-10-30T18:08:11.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/delete-object/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Stratus Help Documentation (/en/cloud-scale/help/stratus/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/stratus/delete-objects/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/stratus/delete-objects/) - iOS SDK Documentation (/en/sdk/ios/v2/cloud-scale/stratus/delete-object/) - Android SDK Documentation (/en/sdk/android/v2/cloud-scale/stratus/delete-object/) - Flutter SDK Documentation (/en/sdk/flutter/v2/cloud-scale/stratus/delete-object/) - REST API Documentation (/en/api/code-reference/cloud-scale/stratus/delete-objects/#DeleteObject) -------------------------------------------------------------------------------- # Delete Objects > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/overview/#prerequisites) to use this SDK method. #### Parameters Used
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**.
The following SDK methods will allow you to perform various types of delete operations on objects stored in a bucket in Stratus. 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/). ### Delete a Single Object You can delete the required object by passing its complete name to the `deleteObject()` SDK method. ```javascript await bucket.deleteObject("sam/out/sample.txt"); ``` > **Note:** If [Versioning](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/stratus-config/general-settings/#versioning) is enabled on the bucket and if a specific `versionId` is not provided, deleting the object will remove all versions of that object by default. ### Delete a Specific Version of an Object after a Specific Time You need to provide the required `versionId` to the `deleteObject()` SDK method. You also have the option to schedule the delete operation using the `ttl` parameter. For example, if you pass the value of `ttl` as **100**, the delete operation will only occur after **100 seconds**. Always ensure the value of `ttl` is **greater than or equal to 60 seconds**. ```javascript const options = { versionId: "01hthq82gwxtfyz6d9j8eg6k2f", // delete the object with given versionId ttl: 100 // Time to live in number of seconds }; await bucket.deleteObject("sam/out/sample.txt", options); ``` ### Delete Multiple Objects The `deleteObjects()` SDK method can be used to delete multiple objects stored in a bucket in Stratus. You need to pass the names of the required objects as an array to the SDK method. > **Notes:** * If [Versioning](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/stratus-config/general-settings/#versioning) is enabled for your bucket, ensure you provide the versionId of the object that you are required to delete. * Additionally, you also have the option to schedule the delete operation using the `ttl` parameter. - For example, if you provide the value of `ttl` as **100**, the delete operation will only occur after 100 seconds. - Always ensure that the value of `ttl` is **greater than or equal to 60 seconds**. ```javascript const objectDel = await bucket.deleteObjects( [ { key: "sam/out/sample.txt", versionId: "01hhch20nfkx9hw9ebqy2jnz9d" } ], 100); console.log(objectDel); ``` #### Example of Expected Response ```json {"message": "Object Deletion successful."} ``` ### Delete a Path in the Bucket Using the `deletePath()` SDK method you will be able to delete the required path and all the objects stored in it. ```javascript // To delete an entire path const res = await bucket.deletePath("sam/out/"); console.log(res); ``` > **Note:** Ensure that you provide the exact path. If an incorrect path is provided, the delete action will get scheduled, but it will result in an error. #### Example of Expected Response ```javascript { "path": "sam/out/", "message": "Path deletion scheduled" } ``` ### Truncate Bucket Using the `truncate()` SDK method, you can delete every single object stored in the bucket. ```javascript const truncateRes = await bucket.truncate(); console.log(truncateRes); ``` -------------------------------------------------------------------------------- title: "Create Object Instance" description: "This page describes the method to execute circuits in your application with sample code snippets." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/create-object-instance/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Stratus Help Documentation (/en/cloud-scale/help/stratus/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/stratus/create-object-instance/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/stratus/create-object-instance/) - iOS SDK Documentation (/en/sdk/ios/v2/cloud-scale/stratus/get-object/) - Android SDK Documentation (/en/sdk/android/v2/cloud-scale/stratus/get-object/) - Flutter SDK Documentation (/en/sdk/flutter/v2/cloud-scale/stratus/get-object/) - REST API Documentation (/en/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Create Object Instance > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/overview/#prerequisites) to use this SDK method. To perform object level operations, you need to create an `object` instance. You will refer to this component instance in various code snippets of working with [Objects](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/buckets/name-bucket/) in Stratus. 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/). ```javascript const objectIns = bucket.object("sam/out/sample.txt"); ``` -------------------------------------------------------------------------------- title: "List Object Versions" description: "This page describes the method to execute circuits in your application with sample code snippets." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/list-object-versions/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Stratus Help Documentation (/en/cloud-scale/help/stratus/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/stratus/list-object-versions/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/stratus/list-object-versions/) - iOS SDK Documentation (/en/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK Documentation (/en/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK Documentation (/en/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API Documentation (/en/api/code-reference/cloud-scale/stratus/get-all-versions/#GetAllVersionsofanObject) -------------------------------------------------------------------------------- # List Object Versions > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/overview/#prerequisites) to use this SDK method. If [Versioning](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/stratus-config/general-settings/#versioning) is enabled for your bucket, you will be able to store multiple versions of the same object. Each version of the object will be assigned a unique `versionID` at time time of storage. The following SDK methods will allow you list all the versions of an object either in a paginated or iterated manner. ### List All Versions of an Object Through Pagination #### Parameters Used
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.
You can use the `listMyPaginatedVersions()` SDK method, to list all the versions of a required object in a paginated manner. The `objectIns`, object reference used in the following code snippet is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/create-object-instance/). ```javascript async function listMyPaginatedVersions(maxVersion = undefined, nextToken = undefined) { const response = await objectIns.listPagedVersions({ maxVersion, nextToken}); console.log(response.version); if(response.is_truncated) { listMyPaginatedVersions(maxVersion,nextToken) } } await listMyPaginatedVersions(10); ``` #### Example of Expected Response ```javascript { "key": "sam/out/sample.txt", "versions_count": 2, "max_versions": "2", "is_truncated": "False", "next_continuation_token": "4YpUdkktt2UeWp6MwEK1LZXELnuVhunHLnGgX29uvszwtJEQE2gVDJYyRiLdUmhNst", "version": [ { "version_id": "01hyfh12njtpyvzwq6p1fd2d8s", "is_latest": "True", "last_modified": "May 22, 2024 12:20 PM", "size": 1, "etag": "9af7c117d9de9a06fba7a5f1ea5fcc2d" }, { "version_id": "01hyfh0xkvwkxxsjfceef201xa", "is_latest": "False", "last_modified": "May 22, 2024 12:20 PM", "size": "1", "etag": "9af7c117d9de9a06fba7a5f1ea5fcc2d" } ] } ``` ### List All Versions of an Object Through Iteration You can use the `listIterableVersions()` SDK method to get all the available versions of an object stored in a bucket in Stratus in a single call. The `objectIns`, object reference used in the following code snippet is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/create-object-instance/). ```javascript const versions = objectIns.listIterableVersions(); for await( const version of versions) { console.log(version); } ``` #### Example of Expected Response ```javascript { "versionId": "01hyfh12njtpyvzwq6p1fd2d8s", "is_latest": "True", "last_modified": "May 22,2024 12:20 PM", "size": "1", "etag": "9af7c117d9de9a06fba7a5f1ea5fcc2d" } { "versionId": "01hyfh0xkvwkxxsjfceef201xa", "is_latest": "False", "last_modified": "May 22, 2024 12:20 PM", "size": "1", "etag": "9af7c117d9de9a06fba7a5f1ea5fcc2d" } ``` -------------------------------------------------------------------------------- title: "Get Object Details" description: "This page describes the method to execute circuits in your application with sample code snippets." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/get-object-details/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Stratus Help Documentation (/en/cloud-scale/help/stratus/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/stratus/object-details/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/stratus/object-details/) - iOS SDK Documentation (/en/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK Documentation (/en/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK Documentation (/en/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API Documentation (/en/api/code-reference/cloud-scale/stratus/get-all-objects/#GetAllObjects) -------------------------------------------------------------------------------- # Get Object Details > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/overview/#prerequisites) to use this SDK method. ### Get Details of All Objects You can use the `getDetails()` SDK method to get the details of all the objects that stored in a bucket in Stratus. The `objectIns`, object reference used in the following code snippet is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/create-object-instance/). > **Note:** If [Versioning](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/stratus-config/general-settings/#versioning) is enabled for your bucket, and no `versionId` is provided while using this SDK method, then the SDK method will only return the latest version's object details. ```javascript const objectRes = await objectIns.getDetails(); console.log(objectRes); ``` #### Example of Expected Response ```javascript { "key": "sam/out/sample.txt", "size": 1, "content_type": "text/plain", "last_modified": "May 22, 2024 12:25 PM", "meta_data": { "author": "John" }, "object_url": "https://zcstratus12345-development.zohostratus.com/sam/out/sample.txt", "cached_object_url": "https://zcstratus12345-development.nimbuslocaledge.com/sam/out/sample.txt" } ``` ### Get Details of a Particular Version of the Object #### Parameters Used
Parameter Name Data Type Definition
`versionId` **String** An **optional** parameter. Needs to be used to refer to the required version of the object.
If [Versioning](https://docs.catalyst.zoho.com/en/cloud-scale/help/stratus/stratus-config/general-settings/#versioning) is enabled for your bucket, then you will be able to store multiple versions of the object. To get the details of a particular version of the object, you need to pass the `versionId` of the required object's version to the `getDetails()` SDK method. The `objectIns`, object reference used in the following code snippet is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/create-object-instance/). ```javascript const objectRes = await objectIns.getDetails("versionId"); console.log(objectRes); ``` #### Example of Expected Response ```javascript { "key": "sam/out/sample.txt", "size": 1, "content_type": "text/plain", "last_modified": "May 22, 2024 12:25 PM", "meta_data": { "author": "John" }, "object_url": "https://zcstratus12345-development.zohostratus.com/sam/out/sample.txt", "cached_object_url": "https://zcstratus12345-development.nimbuslocaledge.com/sam/out/sample.txt" } ``` -------------------------------------------------------------------------------- title: "Put Object Metadata" description: "This page describes the method to execute circuits in your application with sample code snippets." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/put-object-metadata/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Stratus Help Documentation (/en/cloud-scale/help/stratus/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/stratus/put-object-meta/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/stratus/put-object-meta/) - iOS SDK Documentation (/en/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK Documentation (/en/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK Documentation (/en/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API Documentation (/en/api/code-reference/cloud-scale/stratus/put-object-meta/#PutObjectMetadata) -------------------------------------------------------------------------------- # Put Object Metadata > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/overview/#prerequisites) to use this SDK method. You can use the `putMeta()` SDK method to add meta details for a required object stored in a bucket in Stratus. The `objectIns`, object reference used in the following code snippet is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/stratus/create-object-instance/). The meta details will be passed as JSON key value pairs. For example, {"meta_key" : "meta_value"} > **Note:** * Using the following method to pass new meta details without adding the existent details will delete the existing details and only put the new details. To avoid this, pass the new meta details along with the existing meta details. * You can use alphanumeric, underscores, or whitespace characters, as well as hyphens, to write your metadata. No other special character is allowed other than the once mentioned. * You can fetch the metadata of an object using the `HEAD` request method. In the response, the metadata will be listed in the key '`x-user-meta`'. * The maximum size limit of characters allowed for the overall metadata is **2047** characters. The character count used to determine the size limit also includes the colon ":" special character used to define the key value pair. ```javascript const objectMeta = { "key1": "value1" , "key2": "value2" }; const objMeta = await objectIns.putMeta(objectMeta); console.log(objMeta); ``` #### Example of Expected Response ```javascript { "message": "Metadata added successfully" } ``` #### Cache -------------------------------------------------------------------------------- title: "Overview" description: "This page describes the method to perform operations in the Cache component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/cache/overview/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Cache Help Documentation (/en/cloud-scale/help/cache/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/cache/get-segment-instance/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/cache/get-component-instance/) - REST API Documentation (/en/api/code-reference/cloud-scale/cache/insert-key-value-in-segment/#InsertKeyValueinCacheSegment) -------------------------------------------------------------------------------- # Cache JavaScript SDK # Overview [Cache](https://docs.catalyst.zoho.com/en/cloud-scale/help/cache/introduction/) is a *CloudScale* component, that can expertly handler small storage of data to facilitate retrieval of actively used data. Cache is best suited to handle your applications ephemera data or frequently accessed information. Cache actively reduces load on primary databases in memory-intensive real-time applications or microservices that demand sub-millisecond responses. Catalyst Cache is divided into cache units called [segments](https://docs.catalyst.zoho.com/en/cloud-scale/help/cache/key-concepts/#segments). Each segment holds cache items (data) in the form of JSON key value pairs. The key and value are of the String data type. The **Cache JavaScript SDK** package enables you to perform CRUD operations on the data stored in Cache. You can retrieve data, insert data, update and delete data from the Cache component through code. ### Prerequisites You need to install the following package to use the Cache SDK methods. ```sh npm install @zcatalyst/cache ``` > **Info:** Ensure that you have applied the [required authentication configuration](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/auth-config/node-consideration/) to use the SDK methods of this component. ### Import Requirement You will need to import the following module to use the Cache SDK methods. ```javascript const { Cache } = require('@zcatalyst/cache'); ``` ### List of SDK Methods The following table contains the list of SDK methods that can be used to perform operations in Cache through code.
Category SDK Method Required Scope
General Operations
  • [Get a Cache Instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/cache/get-cache-instance/)
  • [Get a Segment Instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/cache/get-segment-instance/)
**No requirement**
Cache Operations
  • [Retrieve data from Cache](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/cache/retreive-data/)
  • [Insert data to Cache](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/cache/insert-data/)
  • [Update data in Cache](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/cache/update-cache/)
  • [Delete Cache Item](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/cache/delete-cache/)
**Admin**
-------------------------------------------------------------------------------- title: "Get a Cache Instance" description: "This page describes the method to perform operations in the Cache component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/cache/get-cache-instance/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Cache Help Documentation (/en/cloud-scale/help/cache/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/cache/get-segment-instance/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/cache/get-component-instance/) - REST API Documentation (/en/api/code-reference/cloud-scale/cache/insert-key-value-in-segment/#InsertKeyValueinCacheSegment) -------------------------------------------------------------------------------- # Get a Cache Instance > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/cache/overview/#prerequisites) to use this SDK method. You can get the `cache` component reference as shown below. This will not fire a server-side call. You will refer to this component instance in various code snippets of working with Cache. ```javascript const cache = new Cache(); ``` -------------------------------------------------------------------------------- title: "Get a Segment Instance" description: "This page describes the method to perform operations in the Cache component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/cache/get-segment-instance/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Cache Help Documentation (/en/cloud-scale/help/cache/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/cache/get-segment-instance/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/cache/get-segment-instance/) - REST API Documentation (/en/api/code-reference/cloud-scale/cache/insert-key-value-in-segment/#InsertKeyValueinCacheSegment) -------------------------------------------------------------------------------- # Get a Segment Instance > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/cache/overview/#prerequisites) to use this SDK method. A `segment` reference can be created using the following method which does not fire a server-side call. The `cache` reference used in the code snippet below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/cache/get-cache-instance/). > **Note:** If you wish to get the instance of a particular segment, then you need to pass the [segment ID](https://docs.catalyst.zoho.com/en/cloud-scale/help/cache/implementation/#create-a-segment) as the parameter. If you don’t provide any segment ID, it will refer to the default segment. ```javascript // Refer a Cache segment through the Segment ID const cache = new Cache(); const segment = cache.segment();// Since no ID is passed here, it will refer to the default segment ``` -------------------------------------------------------------------------------- title: "Retrieve Data from the Cache" description: "This page describes the method to perform operations in the Cache component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/cache/retreive-data/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Cache Help Documentation (/en/cloud-scale/help/cache/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/cache/retrieve-data-from-cache/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/cache/retrieve-data-from-cache/) - REST API Documentation (/en/api/code-reference/cloud-scale/cache/insert-key-value-in-segment/#InsertKeyValueinCacheSegment) -------------------------------------------------------------------------------- # Retrieve Data from the Cache > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/cache/overview/#prerequisites) to use this SDK method. ### Get Cache Value Using the `getValue()` SDK method, you can retrieve the value of a Cache item from a segment. You must pass the key name as the argument. The promise returned here will be resolved to a String, which is the actual value of the key. The `segment` reference used in the code snippet below is the [segment instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/cache/get-segment-instance/). ```javascript //Get cache value by passing the key name const cache = new Cache(); const segment = cache.segment(); const entity = await segment.getValue('Age'); console.log(entity); ``` ### Get Cache Object You can retrieve the details of the cache where the key-value pair is of the object type. The key object is retrieved using the `get()` method where the key name is passed as an argument. The promise returned from this code will be resolved to an object which is a JSON. The `segment` reference used in the code snippet below is the [segment instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/cache/get-segment-instance/). ```javascript //Get Cache object by passing the key name as argument const cache = new Cache(); const segment = cache.segment(); const entity = await segment.get('Age'); console.log(entity); ``` #### Example of Expected Response ```json { "cache_name": "Name", "cache_value": "Amelia Burrows", "project_details": { "project_name": "AlienCity", "id": "2136000000007733" }, "segment_details": { "segment_name": "DataStore", "id": "2136000000008572" }, "expires_in": "Aug 18, 2021 06:39 PM", "expiry_in_hours": "47", "ttl_in_milliseconds": "172727000" } ``` -------------------------------------------------------------------------------- title: "Insert Data in Cache" description: "This page describes the method to perform operations in the Cache component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/cache/insert-data/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Cache Help Documentation (/en/cloud-scale/help/cache/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/cache/insert-data-into-cache/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/cache/insert-data-into-cache/) - REST API Documentation (/en/api/code-reference/cloud-scale/cache/insert-key-value-in-segment/#InsertKeyValueinCacheSegment) -------------------------------------------------------------------------------- # Insert Data in Cache > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/cache/overview/#prerequisites) to use this SDK method. Using the `put()` SDK method, you can insert a cache item. You can insert a key-value pair in an existing cache segment in your Catalyst project. The key name and key value are of the **String** type and are passed as arguments to the method. The promise returned here will be resolved to a JSON object. You can also pass the *expiry time* for the cache item optionally. If you do not pass that value, the expiration time will be set to **48 hours** by default. The `segment` reference used in the code snippet below is the [segment instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/cache/get-segment-instance/). ```javascript //Insert Cache by passing the key-value pair const cache = new Cache(); const segment = cache.segment(); const entity = await segment.put('Name', 'Linda McCartney',1); //Expiry time for cache in hours console.log(entity); ``` #### Example of Expected Response ```json { "cache_name": "Last_Name", "cache_value": "Smith", "project_details": { "project_name": "AlienCity", "id": "2136000000007733" }, "segment_details": { "segment_name": "DataStore", "id": "2136000000008572" }, "expires_in": "Aug 18, 2021 06:46 PM", "expiry_in_hours": "48", "ttl_in_milliseconds": "172800000" } ``` -------------------------------------------------------------------------------- title: "Update Data in Cache" description: "This page describes the method to perform operations in the Cache component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/cache/update-cache/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Cache Help Documentation (/en/cloud-scale/help/cache/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/cache/update-data-in-cache/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/cache/update-data-in-cache/) - REST API Documentation (/en/api/code-reference/cloud-scale/cache/insert-key-value-in-segment/#InsertKeyValueinCacheSegment) -------------------------------------------------------------------------------- # Update Data in Cache > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/cache/overview/#prerequisites) to use this SDK method. You can update the key-value pair in a cache segment using the `update()` SDK method. You must pass the key name and key-value which are of the *String* type as arguments. If the values aren’t present, they will be inserted into the cache segment. The promise returned here will be resolved to a JSON object. You can also optionally pass the **expiry time** parameter. If you don’t assign a value for that, the expiry time will be set to **48 hours** by default. The `segment` reference used in the code snippet below is the [segment instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/cache/get-segment-instance/). ```javascript //Update cache by passing the key-value pair const cache = new Cache(); const segment = cache.segment(); const entity = await segment.update('Name', 'Micheal Greene'); console.log(entity); ``` #### Example of Expected Response A sample response that you will receive for each version is shown below. ```json { "cache_name": "Last_Name", "cache_value": "Brown", "project_details": { "project_name": "AlienCity", "id": "2136000000007733" }, "segment_details": { "segment_name": "DataStore", "id": "2136000000008572" }, "expires_in": "Aug 18, 2021 06:46 PM", "expiry_in_hours": "47", "ttl_in_milliseconds": "172596000" } ``` -------------------------------------------------------------------------------- title: "Delete Cache Item" description: "This page describes the method to perform operations in the Cache component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/cache/delete-cache/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Cache Help Documentation (/en/cloud-scale/help/cache/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/cache/delete-key-value-pair/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/cache/delete-key-value-pair/) - REST API Documentation (/en/api/code-reference/cloud-scale/cache/insert-key-value-in-segment/#InsertKeyValueinCacheSegment) -------------------------------------------------------------------------------- # Delete Cache Item > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/cache/overview/#prerequisites) to use this SDK method. Using the `delete()` SDK method, a cache item can be permanently deleted from the cache segment, when it is no longer required. The cache item (data key-value pair) cannot be restored once it is deleted, but it can be recreated. The `segment` reference used in the code snippet below is the [segment instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/cache/get-segment-instance/). #### Delete Cache Item Using a Key You can delete a key by passing it directly as a parameter to the `delete()` method. The promise returned here will be resolved to an object which is a JSON. ```javascript // delete Cache using delete by passing the key name const cache = new Cache(); const segment = cache.segment(); const entity = await segment.delete('Name'); console.log(entity); ``` #### Connections -------------------------------------------------------------------------------- title: "Overview" description: "This page describes the method to perform operations using the Connections component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/connections/overview/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Connections Help Documentation (/en/cloud-scale/help/connections/introduction/) - Authentication Help Documentation (/en/cloud-scale/help/data-store/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/zcql/execute-zcql-query/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/zcql/get-component-instance/) - REST API Documentation (/en/api/code-reference/cloud-scale/zcql/execute-zcql-query/#ExecuteZCQLQuery) -------------------------------------------------------------------------------- # Connections JavaScript SDK # Overview [Connections](https://docs.catalyst.zoho.com/en/cloud-scale/help/connections/introduction/) allows you to integrate with Zoho and other third-party services while managing all the authentication token requirement. The *Connections JavaScript SDK* package enables you to get the required authentication credentials. ### Prerequisites You will need to install the following package to be able to use the Connections SDK methods. ```sh npm install @zcatalyst/connections ``` > **Info:** Ensure that you have applied the [required authentication configuration](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/auth-config/node-consideration/) to use the SDK methods of this component. ### Import Requirement You will need to import the following modules to use the Connections SDK methods. ```javascript const { Connections } = require('@zcatalyst/connections'); ``` ### List of SDK Methods The following table contains the list of SDK methods that can be used to perform operations in the Connections component through code.
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**
-------------------------------------------------------------------------------- title: "Get Connections Instance" description: "This page describes the method to perform operations using the Connections component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/connections/get-component-instance/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Connections Help Documentation (/en/cloud-scale/help/connections/introduction/) - Authentication Help Documentation (/en/cloud-scale/help/data-store/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/zcql/execute-zcql-query/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/zcql/get-component-instance/) - REST API Documentation (/en/api/code-reference/cloud-scale/zcql/execute-zcql-query/#ExecuteZCQLQuery) -------------------------------------------------------------------------------- # Get Connections Instance > **Note:** * This SDK can only be accessed within Catalyst services like [Functions](https://docs.catalyst.zoho.com/en/serverless/help/functions/introduction/) and [AppSail](https://docs.catalyst.zoho.com/en/serverless/help/appsail/introduction/). It cannot be used to integrate with third-party services. * Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/serverless/functions/overview/#prerequisites) to use this SDK method. You can get the connections `component` reference as shown below. This will not fire a server-side call. We will refer to this component instance in various code snippets of working with Connections. ```javascript // Get a Connections instance const connections = new Connections(); ``` -------------------------------------------------------------------------------- title: "Get Authentication Credentials" description: "This page describes the method to perform operations using the Connections component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/connections/get-auth-credentials/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Connections Help Documentation (/en/cloud-scale/help/connections/introduction/) - Authentication Help Documentation (/en/cloud-scale/help/data-store/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/zcql/execute-zcql-query/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/zcql/get-component-instance/) - REST API Documentation (/en/api/code-reference/cloud-scale/zcql/execute-zcql-query/#ExecuteZCQLQuery) -------------------------------------------------------------------------------- # Get Authentication Credentials > **Note:** * This SDK can only be accessed within Catalyst services like [Functions](https://docs.catalyst.zoho.com/en/serverless/help/functions/introduction/) and [AppSail](https://docs.catalyst.zoho.com/en/serverless/help/appsail/introduction/). It cannot be used to integrate with third-party services. * Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/serverless/functions/overview/#prerequisites) to use this SDK method. This SDK method can be used obtain the authentication credentials for various Zoho services, listed as [Default Services](https://docs.catalyst.zoho.com/en/cloud-scale/help/connections/establish-default-connection/). The `connections` reference used in the below code snippet is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/connections/get-component-instance/). ```javascript // create a connection instance const connections = new Connections(); // retrieve the authentication credentials for the specified connection const response = await connections.getConnectionCredentials('payrollcon'); // connection response console.log('Connection Response:', response); ``` #### Mail -------------------------------------------------------------------------------- title: "Overview" description: "This page describes the method to perform operations using the Mail component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/mail/overview/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Mail Help Documentation (/en/cloud-scale/help/mail/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/mail/send-email/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/mail/get-component-instance/) - REST API Documentation (/en/api/code-reference/cloud-scale/mail/send-email/#SendEmail) -------------------------------------------------------------------------------- # Mail JavaScript SDK # Overview [Mail](https://docs.catalyst.zoho.com/en/cloud-scale/help/mail/introduction/) is a *CloudScale* component that allows you to send emails to your end-users from within your 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. The *Mail JavaScript SDK* package enables you to send emails to registered users of your application through code. ### Prerequisites You will need to install the following package to be able to use the Mail SDK methods. ```sh npm install @zcatalyst/mail ``` > **Info:** Ensure that you have applied the [required authentication configuration](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/auth-config/node-consideration/) to use the SDK methods of this component. ### Import Requirement You will need to import the following modules to use the Mail SDK methods. ```javascript const { Email } = require('@zcatalyst/mail'); ``` ### List of SDK Methods The following table contains the list of SDK methods that can be used to perform operations in the ZCQL component through code.
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**
-------------------------------------------------------------------------------- title: "Get Mail Instance" description: "This page describes the method to perform operations using the Mail component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/mail/get-mail-instance/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Mail Help Documentation (/en/cloud-scale/help/mail/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/mail/send-email/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/mail/get-component-instance/) - REST API Documentation (/en/api/code-reference/cloud-scale/mail/send-email/#SendEmail) -------------------------------------------------------------------------------- # Get Mail Instance > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/mail/overview/#prerequisites) to use this SDK method. You can get the `email` component reference as shown below. This will not fire a server-side call. You will refer to this component instance in various code snippets when working with the Mail component. ```javascript const email = new Email(); ``` -------------------------------------------------------------------------------- title: "Send Email" description: "This page describes the method to perform operations using the Mail component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/mail/send-email/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Mail Help Documentation (/en/cloud-scale/help/mail/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/mail/send-email/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/mail/send-email/) - REST API Documentation (/en/api/code-reference/cloud-scale/mail/send-email/#SendEmail) -------------------------------------------------------------------------------- # Send Email > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/mail/overview/#prerequisites) to use this SDK method. You need to accomplish the following steps in order to send an email using the Mail component: * [Configure and verify the domain](https://docs.catalyst.zoho.com/en/cloud-scale/help/mail/domains/) * [Configure and verify the sender email address](https://docs.catalyst.zoho.com/en/cloud-scale/help/mail/email-configuration/) * [Configure the SMTP settings for your required email client](https://docs.catalyst.zoho.com/en/cloud-scale/help/mail/smtp-configuration/) Once the above requirements are completed, you can proceed to send your email. > **Notes:** * It is crucial you verify not only the sender email address, but also its domain. This ensures that the emails sent from your application to your end users are sent securely and that it does not end up in their spam. [Learn more about verifying your domain](https://docs.catalyst.zoho.com/en/cloud-scale/help/mail/domains/#verify-a-domain). * You must have [configured and verified the sender’s email address](https://docs.catalyst.zoho.com/en/cloud-scale/help/mail/introduction) 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. 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 to your email. The maximum supported limits for email recipients and file attachments in a single send mail operation are specified below:
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)
> **Note:** The **subject**, **sender**, and **at least one recipient email addresses** are mandatory. Other attributes of the email are optional. #### Create a JSON Configuration You must initially create a JSON object containing the required attributes of the email. This includes the sender’s email address and all the recipients of the email. You can also create file streams for the file attachments and pass them through the `createReadStream()` SDK method, as well as specify the subject and content of the email. The `email` reference used in the code below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/mail/get-mail-instance/). ```javascript const fs = require('fs'); // Define the file stream for file attachments // Create a config object with the email configuration const config = { 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'], reply_to: ['peter.d@zoho.com', 'arnold.h@zoho.com'], subject: 'Greetings from Zylker Corp!', 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 can't wait to get started! Cheers, Team Zylker", attachments: [fs.createReadStream('kycform.pdf')] // Create a file stream for the file attachment }; ``` Now, you need to pass the `config` JSON object to the `sendMail()` SDK method as an argument. This triggers the sending of the email. The promise returned here will be resolved to a JSON object. ```javascript const mailPromise = await email.sendMail(config); console.log(mailPromise); ``` #### Example of Expected Response A sample response that you will receive is shown below. ```javascript { isAsync: false, project_details: { project_name: "Onboarding", id: "2136000000007733" }, 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"], reply_to: ["peter.d@zoho.com", "arnold.h@zoho.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 the attached KYC form and fill in your details. You can send us the completed form to this same email address. We can't wait to get started! Cheers, Team Zylker" } ``` #### Push Notifications -------------------------------------------------------------------------------- title: "Overview" description: "This page describes the method to perform operations in the DataStore component." last_updated: "2026-10-30T17:47:28.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/push-notifications/overview/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Push Notifications Help Documentation (/en/cloud-scale/help/push-notifications/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/push-notifications/send-notifications/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/push-notifications/get-component-instance/) - REST API Documentation (/en/api/code-reference/cloud-scale/push-notifications/web/send-web-push-notifications/#SendWebPushNotifications) -------------------------------------------------------------------------------- # Push Notifications JavaScript SDK # Overview [Push Notifications,](https://docs.catalyst.zoho.com/en/cloud-scale/help/push-notifications/introduction/) is a Catalyst *CloudScale* service that enables you to send remote notifications to the users of your application, even when the app is not actively running on the user device. You can send push notifications to a specific list of target users. You can include alerts, updates, or promotional content for the user to engage with your application. Before you send push notifications, you must enable it for your web app when the user allows it. You can do this by implementing this [Web SDK](https://docs.catalyst.zoho.com/en/sdk/web/v4/cloud-scale/push-notifications/register-client/) in your web client. You can also access this code from the **Push Notifications** section in your Catalyst remote console. ![catalyst_js_sdk_push_notifs](https://catalyst-docs-development.zohostratus.in/images/sdk/javascript/catalyst_js_sdk_push_notifs.webp) You must ensure that you include the [web initialization script](https://docs.catalyst.zoho.com/en/sdk/web/v4/overview). The *Push Notifications JavaScript SDK* package enables you to send notifications on their devices to registered users of your application through code. ### Prerequisites You need to install the following package to use Push Notifications SDK methods. ```sh npm install @zcatalyst/push-notification ``` > **Info:** Ensure that you have applied the [required authentication configuration](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/auth-config/node-consideration/) to use the SDK methods of this component. ### Import Requirement You will need to import the following modules to use the Push Notification SDK methods. ```javascript const {PushNotification} = require('@zcatalyst/push-notification'); ``` ### List of SDK Methods The following table contains the list of SDK methods that can be used to perform operations in the Push Notification component through code.
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
  • [Send notifications to web apps](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/push-notifications/send-web-notifications/)
  • [Send notifications to mobile apps](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/push-notifications/send-mobile-notifications/)
**Admin**
-------------------------------------------------------------------------------- title: "Get Push Notification Instance" description: "This page describes the method to perform operations in the DataStore component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/push-notifications/get-instance/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Push Notifications Help Documentation (/en/cloud-scale/help/push-notifications/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/push-notifications/send-notifications/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/push-notifications/get-component-instance/) - REST API Documentation (/en/api/code-reference/cloud-scale/push-notifications/web/send-web-push-notifications/#SendWebPushNotifications) -------------------------------------------------------------------------------- # Get Push Notification Instance > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/push-notifications/overview/#prerequisites) to use this SDK method. You can get the `pushNotification` component reference as shown below. This will not fire a server-side call. You will refer to this component instance in various code snippets when working with the Push Notification component. ```javascript const pushNotification = new PushNotification(); // Get push notification instance ``` > **Note:** - Passing an initialized app instance to a component determines the authentication scope it uses. - To perform an operation with user-level permissions, initialize the SDK with User scope, or with custom credentials, and pass that instance to the component. This runs the operation in the user's scope or custom credential scope instead of the default admin scope. ```javascript const pushNotification = new PushNotification(app); ``` - If your Function or AppSail application needs both custom credentials and admin authentication at the same time, give each initialization a unique app name, otherwise the custom initialization can overwrite your existing admin credentials. - In all cases, explicitly pass the matching app instance to each component so it uses the intended authentication scope; if none is provided, the SDK defaults to the admin credentials. -------------------------------------------------------------------------------- title: "Send Notifications to Web Apps" description: "This page describes the method to perform operations in the DataStore component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/push-notifications/send-web-notifications/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Push Notifications Help Documentation (/en/cloud-scale/help/push-notifications/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/push-notifications/send-notifications/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/push-notifications/send-notifications/) - REST API Documentation (/en/api/code-reference/cloud-scale/push-notifications/web/send-web-push-notifications/#SendWebPushNotifications) -------------------------------------------------------------------------------- # Send Notifications to Web Apps > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/push-notifications/overview/#prerequisites) to use this SDK method. Catalyst enables you to send push notifications to **50 users** in a single function call. You can add the [user IDs](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/user-management/users/introduction/) of all users to be notified in an array. You must then pass the array to the `sendNotification()` SDK method, along with the message string to include in the notification. This string can be plain text, HTML, or a JSON object to be parsed. The `pushNotification` instance used here is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/push-notifications/get-instance/). ```javascript var userList = []; // Include the user IDs of all users userList.push(1234556789098); userList.push(6756467677890); userList.push(3557866876887); pushNotification.web().sendNotification("Hi there! The task you scheduled has been completed.", userList); // Pass the array with the message string ``` You can also send the notifications to users by including their email addresses instead of their User IDs. You must add the email addresses in an array, and pass it to `sendNotification()` along with the message string in the same way. ```javascript var userList = []; // Include the email addresses of the users userList.push("emma@zylker.com"); userList.push("p.boyle@zylker.com"); userList.push("noel@zylker.com"); pushNotification.web().sendNotification("Hi there! The task you scheduled has been completed.", userList); // Pass the array with the message string ``` -------------------------------------------------------------------------------- title: "Send Notifications to Mobile Apps" description: "This page describes the method to perform operations in the DataStore component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/push-notifications/send-mobile-notifications/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Push Notifications Help Documentation (/en/cloud-scale/help/push-notifications/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/push-notifications/send-notifications-mobile/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/push-notifications/send-notifications-mobile/) - REST API Documentation (/en/api/code-reference/cloud-scale/push-notifications/ios/send-ios-push-notifications/#SendiOSPushNotifications) -------------------------------------------------------------------------------- # Send Notifications to Mobile Apps > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/push-notifications/overview/#prerequisites) to use this SDK method. The Catalyst CloudScale Push Notifications component enables you to send notifications to mobile applications built on the Android or iOS platforms. Catalyst enables you to send push notifications to **50 users** in a single function call. You can send push notifications to a specific target user by using their Catalyst [user IDs](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/user-management/users/introduction/) or email address. You can include alerts, updates, or promotional content for the user to engage with your application. To set up push notifications for your mobile application, you must meet the following prerequisites: 1. You must register your mobile application with Catalyst and note down the **Application ID** (`appId`) from the console after configuring. You can opt to register your application installed in the target device either using individual platform-specific Catalyst mobile SDK methods (available in [Android](https://docs.catalyst.zoho.com/en/sdk/android/v2/cloud-scale/push-notifications/register-device/) and [iOS](https://docs.catalyst.zoho.com/en/sdk/ios/v2/cloud-scale/push-notifications/register-device/)) or using the [Flutter SDK](https://docs.catalyst.zoho.com/en/sdk/flutter/v2/cloud-scale/push-notifications/register-device/). The `appId` can be fetched by configuring **Android Push Notifications** service directly in the Catalyst console. 2. The mobile application must use the [Catalyst Authentication](https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/introduction/) component. 3. Once step 1 and 2 are completed, the Catalyst user must be logged in on their device to receive the notification promptly. Once the prerequisites are complete, you can send notifications by calling the JavaScript SDK method below, using your generated Application ID to target the specific app. ### Get Mobile Notification Instance You can create a mobile notification instance and use it to refer to a specific mobile app registered in the Catalyst console. This is done by fetching the mobile notification instance with the `pushNotification().mobile()` method, by passing the generated `appID` as a parameter. We will use this mobile notification instance to perform additional operations with the Node.js SDK methods, such as sending push notifications, which will be covered in the next section. ```javascript const notification = new pushNotification().mobile("1234567890"); ``` Here, **1234567890** is the `appID`. Alternatively, if your application involves Catalyst scope-based access, you can pass the `ZCProject` project parameter along with the `appID`. > **Info:** [Learn more about Catalyst SDK Scopes](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/scopes/). ```javascript const notification = new pushNotification().mobile("1234567890", project); ``` ### Send Android Push Notifications After you have [registered your Android application](https://docs.catalyst.zoho.com/en/sdk/flutter/v2/cloud-scale/push-notifications/register-device/) with Catalyst for sending push notifications, you can use the `sendAndroidNotification()` method to send push notifications to your application. #### Parameters Used
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.
You can use the below code snippet to call the `sendAndroidNotification()` method in your application: ```javascript notification.sendAndroidNotification({ message: 'This message is to test if the functionality is working fine!', badge_count: 1 }, 'emma.b@zylker.com'); ``` ### Send iOS Push Notifications After you have [registered your iOS application](https://docs.catalyst.zoho.com/en/sdk/flutter/v2/cloud-scale/push-notifications/register-device/) with Catalyst for sending push notifications, you can use the `sendIOSNotification()` method to send push notifications to your application. #### Parameters Used
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.
You need to pass the required parameters to the `sendIOSNotification()` method in the following manner: ```typescript MobileNotification.sendIOSNotification(notifyObj: ICatalystPushDetails, recipient: string): Promise ``` You can use the below code snippet to call the `sendIOSNotification()` method in your application: ```javascript notification.sendIOSNotification({ message: 'This message is to test if the functionality is working fine!', badge_count: 1 }, 'emma@zylker.com'); ``` -------------------------------------------------------------------------------- title: "Register a Client" description: "This page describes the method to register a client for push notifications using the Catalyst JavaScript SDK." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/push-notifications/register-client/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Push Notifications Help Documentation (/en/cloud-scale/help/push-notifications/introduction/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/push-notifications/send-notifications/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/push-notifications/get-component-instance/) - REST API Documentation (/en/api/code-reference/cloud-scale/push-notifications/web/send-web-push-notifications/#SendWebPushNotifications) -------------------------------------------------------------------------------- # Register a Client > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/push-notifications/overview/#prerequisites) to use this SDK method. You can register a client device or browser to receive push notifications using the `enableNotification()` SDK method. Once the client is registered, you can define a `messageHandler` on the component instance to handle incoming push notification messages. The `pushNotification` instance used here is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/push-notifications/get-instance/). ```javascript // Register the client const response = await pushNotification.enableNotification(); // Create a handler for the message when received pushNotification.messageHandler = (msg) => { // Action to be performed when the message is received }; ``` #### Data Streams -------------------------------------------------------------------------------- title: "Get Data Streams Instance" description: "This page describes the method to create a Data Streams component instance in your web application with sample code snippets." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/data-streams/get-component-instance/" service: "CloudScale" related: - Data Streams (/en/cloud-scale/help/data-streams/introduction) -------------------------------------------------------------------------------- # Catalyst Data Streams [Catalyst Data Streams](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-streams/introduction) enables you to publish live, event-based data through channels and deliver it instantly to subscribed clients or any third-party services. Once you create a channel from the Catalyst console, any published data to that channel is streamed in real time to all authorized subscribers over WebSocket connections. Whether you are building live dashboards, notifications, activity feeds, or system monitors, Catalyst SDK provides you with the required APIs to publish, subscribe, and manage real-time data flow with minimal setup. #### Install and Import the SDK You must install the Data Streams package and import the required classes as shown below. ```javascript const { DataStreams, DataStreamsWebSocket } = require("@zcatalyst/datastreams"); ``` #### Get Component Instance You can create a `datastreams` reference as shown below. This will not fire a server-side call. We will refer to this component instance while performing channel operations such as listing channels, publishing data, and generating WebSocket tokens. ```javascript //Initialize the SDK from the incoming request, then create a Data Streams instance const { zcAuth } = require("@zcatalyst/auth"); const app = await zcAuth.init(req); const datastreams = new DataStreams(app); ``` > **Note:** In a Catalyst function, pass the app from `zcAuth.init()` as shown above. `new DataStreams()` without an app fails with "Unable to get the app credentials". Refer to [Authentication Configuration for Node](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/auth-config/node-consideration/). -------------------------------------------------------------------------------- title: "Get Channels" description: "This page describes the methods to retrieve all channels or specific channel details from Data Streams in your web application with sample code snippets." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/data-streams/get-channels/" service: "CloudScale" related: - Get Channels - API (/en/api/code-reference/cloud-scale/data-streams/get-all-channels) - Data Streams (/en/cloud-scale/help/data-streams/introduction) -------------------------------------------------------------------------------- # Get Channels You can retrieve information about the [Data Streams channels](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-streams/introduction/) created in your project. This includes fetching a list of all channels or obtaining detailed metadata and configuration for a specific channel. The `datastreams` reference used in the code below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/data-streams/get-component-instance) created earlier. ### Get All Channels You can fetch the list of all Data Streams channels that are created in the project using the `getAllChannels()` method. The promise returned here will be resolved to an array of channel objects. ```javascript //Get all channels const channels = await datastreams.getAllChannels(); ``` ### Get Channel Details You can retrieve the metadata and configuration details of a specific channel by passing the channel ID to the `getChannelDetails()` method. The promise returned here will be resolved to a channel object containing the channel's configuration. **Parameters Used**
Parameter Name Data Type Definition
`channelId` **String** A **Mandatory** parameter. Holds the unique ID of the channel.
```javascript //Get channel details by channel ID const channel = await datastreams.getChannelDetails(CRICKET_CHANNEL_ID); ``` -------------------------------------------------------------------------------- title: "Generate Token Pair" description: "This page describes the methods to generate WebSocket access tokens for subscribers in your web application with sample code snippets." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/data-streams/generate-token-pair/" service: "CloudScale" related: - Get Token Pair - API (/en/api/code-reference/cloud-scale/data-streams/get-token-pair) - Data Streams (/en/cloud-scale/help/data-streams/introduction) -------------------------------------------------------------------------------- # Generate Token Pair Before a client can subscribe to a [Data Streams](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-streams/introduction/) channel, it must obtain a token pair to authenticate the WebSocket connection. The token pair can be generated using either a user ID or a connection name. You can generate the token pair in two ways as described in this section. The `datastreams` reference used in the code below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/data-streams/get-component-instance) created earlier. ### Get Token Pair using Connection Name You can generate a token pair by passing the channel ID and a connection name to the `getTokenPair()` method. The connection name is a custom identifier for the subscriber connection. The promise returned here will be resolved to a token pair object. **Parameters Used**
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.
```javascript //Generate token pair using connection name const response = await datastreams.getTokenPair(CRICKET_CHANNEL_ID, { connectionName: "cricketScoreUpdates" }); ``` ### Get Token Pair using User ID Alternatively, you can generate a token pair by passing the channel ID and the user ID to the `getTokenPair()` method. The user ID represents the unique identifier of the application user who is subscribing to the channel. The promise returned here will be resolved to a token pair object. **Parameters Used**
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.
```javascript //Generate token pair using user ID const response = await datastreams.getTokenPair(CRICKET_CHANNEL_ID, { userId: "userId" }); ``` -------------------------------------------------------------------------------- title: "Get Live Count" description: "This page describes the method to retrieve the number of active subscribers connected to a Data Streams channel in your web application." last_updated: "2026-11-04T10:10:44.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/data-streams/get-live-count/" service: "CloudScale" related: - Get Live Count - API (/en/api/code-reference/cloud-scale/data-streams/get-live-count) - Data Streams (/en/cloud-scale/help/data-streams/introduction) -------------------------------------------------------------------------------- # Get Live Count [Catalyst Data Streams](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-streams/introduction/) allows you to track the number of active subscribers currently connected to a specific channel. This is useful for monitoring channel activity and implementing conditional logic based on subscriber presence. The `datastreams` reference used in the code below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/data-streams/get-component-instance) created earlier. ### Track Active Subscribers You can retrieve the live subscriber count by passing the channel ID to the `getLiveCount()` method. The promise returned here will be resolved to an object containing the count of active subscribers. **Parameters Used**
Parameter Name Data Type Definition
`channelId` **String** A **Mandatory** parameter. Holds the unique ID of the channel.
```javascript //Get the live subscriber count for a channel const liveCount = await datastreams.getLiveCount(CRICKET_CHANNEL_ID); ``` -------------------------------------------------------------------------------- title: "Publish Data" description: "This page describes the method to publish real-time data to a Data Streams channel in your web application with sample code snippets." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/data-streams/publish-data/" service: "CloudScale" related: - Publish Data - API (/en/api/code-reference/cloud-scale/data-streams/publish-data) - Data Streams (/en/cloud-scale/help/data-streams/introduction) -------------------------------------------------------------------------------- # Publish Data [Catalyst Data Streams](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-streams/introduction/) enables you to publish real-time data to a channel. Any active subscribers connected to that channel will receive the published data instantly through their WebSocket connections. The `datastreams` reference used in the code below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/data-streams/get-component-instance) created earlier. ### Publish Data to a Channel You can publish data to a channel by passing the channel ID and the data payload to the `publishData()` method. You can structure the payload as needed, including fields like `type`, `data`, and `timestamp`. The promise returned here will be resolved to an object confirming the publish operation. **Parameters Used**
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.
```javascript //Publish data to all subscribers of the channel const publishRes = await datastreams.publishData(CRICKET_CHANNEL_ID, "Hello, subscribers!"); ``` -------------------------------------------------------------------------------- title: "WebSocket Connection" description: "This page describes how to connect to a Data Streams channel over WebSocket and subscribe to real-time data in your web application with sample code snippets." last_updated: "2026-11-03T07:48:52.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/data-streams/websocket-connection/" service: "CloudScale" related: - Data Streams (/en/cloud-scale/help/data-streams/introduction) -------------------------------------------------------------------------------- # WebSocket Connection [Catalyst Data Streams](https://docs.catalyst.zoho.com/en/cloud-scale/help/data-streams/introduction/) enables clients to receive real-time data by establishing a WebSocket connection to a channel. The client listens for published messages and processes them as they are received. To subscribe to a channel, you must first generate a token pair, then create a WebSocket client with the token credentials, and finally set event handlers to handle incoming messages. The `datastreams` reference used in the code below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/data-streams/get-component-instance) created earlier. ### Establish WebSocket Connection You must initially generate a token pair using the `getTokenPair()` method as shown below. Then, create a WebSocket client by passing the token credentials to the `DataStreamsWebSocket` constructor. > **Note:** * **CRICKET_CHANNEL_ID** - Replace with your actual Channel ID which you can get from Dashboard → General Details section. * **userId** - A unique identifier used to generate WebSocket credentials for that subscriber. * **subscribe("0")** - This subscribes the client to live data. ```javascript //Generate token pair const response = await datastreams.getTokenPair(CRICKET_CHANNEL_ID, { userId: "userId" }); //Create WebSocket client const socket = new DataStreamsWebSocket({ url: response.url, zuid: response["wss-id"], key: response.key, enableLogging: true }); //Handling WebSocket events socket.on("open", () => { console.log("WebSocket connection opened"); socket.subscribe("0"); //Subscribe to live data }); socket.on("message", (data) => { console.log("WebSocket message received:", data); socket.sendAck(); //Acknowledge to receive next message }); socket.on("error", (error) => { console.error("WebSocket error:", error); }); socket.on("close", () => { console.log("WebSocket connection closed"); }); ``` ### WebSocket Client Methods The `DataStreamsWebSocket` client provides the following methods to manage the WebSocket connection and subscription.
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.
### Zia Services -------------------------------------------------------------------------------- title: "Overview" description: "This page describes the method to perform operations using the components in Zia Services." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/overview/" service: "Zia Services" related: - Catalyst Zia Services (/en/zia-services/) - Java SDK Documentation (/en/sdk/java/v1/cloud-scale/nosql/get-table-metadata/) - Python SDK Documentation (/en/sdk/python/v1/cloud-scale/nosql/get-component-instance/) - REST API Documentation (/en/api/code-reference/cloud-scale/nosql/insert-item/#InsertNewItem) -------------------------------------------------------------------------------- # Zia Services JavaScript SDK # Overview [Zia](https://docs.catalyst.zoho.com/en/zia-services/) is a Catalyst service that offers you a suite of AI and ML powered microservices that you can incorporate in your Catalyst application. These components help detect, process, or predict data that can be highly beneficial in various aspects of your business, such as in understanding your customers better, fetching valuable insights, identifying trends with your existing datasets, analyzing and extracting information from images or documents, and so much more. ### Prerequisites You will need to install the following package to be able to use the SDK methods of Zia components. ```bash npm install @zcatalyst/zia ``` > **Info:** Ensure that you have applied the [required authentication configuration](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/auth-config/node-consideration/) to use the SDK methods of this component. ### Import Requirement You will need to import the following modules to use the SDK methods of Zia service's components. ```javascript const { Zia } = require('@zcatalyst/zia'); //Zia module ``` ### List of SDK Methods The following table provides you with the list of Zia service's operations that you can perform through code using the Zia JavaScript SDK.
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
  • [OCR](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/ocr/)
  • [Face Analytics](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/face-analytics/)
  • Identity Scanner
    • [Facial Comparison](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/face-analytics/)
    • [Aadhaar](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/identity-scanner/aadhaar/)
    • [PAN](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/identity-scanner/pan/)
    • [Passbook](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/identity-scanner/passbook/)
    • [Cheque](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/identity-scanner/cheque/)
  • Text Analytics
    • [Sentiment Analysis](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/text-analytics/sentiment-analysis/)
    • [Named Entity Recognition](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/text-analytics/named-entity-recognition/)
    • [Keyword Extraction](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/text-analytics/keyword-extraction/)
    • [All Text Analytics](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/text-analytics/all-text-analytics/)
  • [Image Moderation](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/image-moderation/)
  • [Object Recognition](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/object-recognition/)
  • [Barcode Scanner](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/barcode-scanner/)
**Admin**
> **Info:** [ Learn more about the Catalyst Zia service](https://docs.catalyst.zoho.com/en/zia-services/help/face-analytics/introduction/). -------------------------------------------------------------------------------- title: "Get Zia Instance" description: "This page describes the method to perform operations using the components in Zia Services." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/get-zia-instance/" service: "Zia Services" related: - Catalyst Zia Services (/en/zia-services/) - Java SDK Documentation (/en/sdk/java/v1/zia-services/ocr/) - Python SDK Documentation (/en/sdk/python/v1/zia-services/get-component-instance/) - REST API Documentation (/en/api/code-reference/zia-services/ocr/#OCR) -------------------------------------------------------------------------------- # Get Zia Instance > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/overview/#prerequisites) to use this SDK method. You can create a `zia` component reference as shown below. This will not fire a server-side call. You will refer to this component instance in various code snippets while working with Zia service's components. ```javascript const zia = new Zia(); //Get Zia instance ``` -------------------------------------------------------------------------------- title: "Optical Character Recognition" description: "This page describes the method to perform operations using the components in Zia Services." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/ocr/" service: "Zia Services" related: - Catalyst Zia Services (/en/zia-services/) - Java SDK Documentation (/en/sdk/java/v1/zia-services/ocr/) - Python SDK Documentation (/en/sdk/python/v1/zia-services/ocr/) - REST API Documentation (/en/api/code-reference/zia-services/ocr/#OCR) -------------------------------------------------------------------------------- # Optical Character Recognition > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/overview/#prerequisites) to use this SDK method. [Zia Optical Character Recognition](https://docs.catalyst.zoho.com/en/zia-services/help/optical-character-recognition/introduction) detects textual characters in images or digital documents, and converts them into machine-encoded text. Zia OCR can recognize text in 9 international languages and 10 Indian languages. > **Notes:** * [View the list of languages and language codes](https://docs.catalyst.zoho.com/en/api/code-reference/zia-services/ocr/#OCR). * Catalyst does not store any of the files you upload in its systems. The files you upload are used for one-time processing only. They are not used for ML model training purposes either. Catalyst components are fully compliant with all applicable data protection and privacy laws. You must specify the path to the image or document file that needs to be processed for OCR. The response will also include a confidence score, which defines the accuracy of the processing, in addition to the recognized text. **Allowed file formats**: .jpg, .jpeg, .png, .tiff, .bmp, .pdf **File size limit**: 20 MB You must pass the file path, model type, and languages as arguments to the `extractOpticalCharacters()` method. However, the model type and language values are optional. By default, it is passed as the `OCR` model type, and the languages are automatically detected if they are not specified. The `zia` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/get-zia-instance/) created to perform these operations. The promise returned here is resolved to a JSON object. ```javascript const fs = require('fs'); // Define the file stream for file attachments const result = await zia.extractOpticalCharacters( fs.createReadStream('/Users/amelia-421/Desktop/MyDoc.webp'), { language: 'eng', modelType: 'OCR' } ); console.log(result); ``` #### Example of Expected Response A sample response that you will receive is shown below. ```json { "confidence": 95, "text": "This is a lot of 12 point text to test the\nocr code and see if it works on all types\nof file format\n\nThe quick brown fox jumped over the\nlazy dog. The quick brown fox jumped\nover the lazy dog. The quick brown fox\njumped over the lazy dog. The quick\nbrown fox jumped over the lazy dog" } ``` -------------------------------------------------------------------------------- title: "Face Analytics" description: "This page describes the method to perform operations using the components in Zia Services." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/face-analytics/" service: "Zia Services" related: - Catalyst Zia Services (/en/zia-services/) - Face Analytics Help Documentation (/en/zia-services/help/face-analytics/introduction/) - Java SDK Documentation (/en/sdk/java/v1/zia-services/face-analytics/) - Python SDK Documentation (/en/sdk/python/v1/zia-services/face-analytics/) - REST API Documentation (/en/api/code-reference/zia-services/face-analytics/#FaceAnalytics) -------------------------------------------------------------------------------- # Face Analytics > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/overview/#prerequisites) to use this SDK method. [Zia Face Analytics](https://docs.catalyst.zoho.com/en/zia-services/help/face-analytics/introduction/) performs facial detection in images, and analyzes the facial features to provide information such as the gender, age, and emotion of the detected faces. You must provide *.jpg*/*.jpeg* or *.png* files as the input. The `analyseFace()` method accepts the input image as its argument. You can specify the analysis mode as `basic`, `moderate`, or `advanced`. You can also specify the attributes `age`, `smile`, or `gender` as `true` to detect or `false` to not detect. These values are optional. All attributes are detected and the advanced mode is processed by default. The `zia` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/get-zia-instance/) created to perform these operations. The promise returned here is resolved to a JSON object. ```javascript const fs = require('fs'); const result = await zia.analyseFace(fs.createReadStream('./face.png'), { mode: 'moderate', // set analysis mode age: true, // enable age detection emotion: true, // enable emotion detection gender: false // disable gender detection }); console.log(result); ``` #### Example of Expected Response A sample response that you will receive is shown below. The response returns the prediction of the enabled attributes, the coordinates and landmarks of facial features of each face, and the confidence score of each analysis. ```javascript { "faces_count": 1, "faces": [{ "co_ordinates": ["401", "193", "494", "313"], "emotion": { "confidence": { "smiling": "0.75", "not_smiling": "0.25" }, "prediction": "smiling" }, "gender": {}, "confidence": 1, "id": "0", "landmarks": { "right_eye": [["467", "230"]], "nose": [["451", "264"]], "mouth_right": [["474", "278"]], "left_eye": [["426", "239"]], "mouth_left": [["434", "283"]] }, "age": { "confidence": { "20-29": "0.73", "30-39": "0.08", "0-2": "0.0", "40-49": "0.0", "50-59": "0.0", ">70": "0.0", "60-69": "0.0", "10-19": "0.17", "3-9": "0.0" }, "prediction": "20-29" } }] } ``` #### Identity Scanner -------------------------------------------------------------------------------- title: "Facial Comparison" description: "This page describes the method to perform operations using the components in Zia Services." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/identity-scanner/facial-comparisson/" service: "Zia Services" related: - Catalyst Zia Services (/en/zia-services/) - Java SDK Documentation (/en/sdk/java/v1/zia-services/identity-scanner/facial-comparison/) - Python SDK Documentation (/en/sdk/python/v1/zia-services/identity-scanner/facial-comparison/) - REST API Documentation (/en/api/code-reference/zia-services/identity-scanner/facial-comparison/#FacialComparison) -------------------------------------------------------------------------------- # Facial Comparison > **Notes:** * Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/overview/#prerequisites) to use this SDK method. * Catalyst does not store any of the files you upload in its systems. The documents you upload are used for one-time processing only. They are not used for ML model training purposes either. Catalyst components are fully compliant with all applicable data protection and privacy laws. * While the Document Processing feature of Identity Scanner is only relevant to Indian users, the [Facial Comparison API](https://docs.catalyst.zoho.com/en/api/code-reference/zia-services/identity-scanner/facial-comparison/#FacialComparison) and SDK tools are available to a global audience. However, accessing and testing Facial Comparison or E-KYC from the Catalyst console is restricted to the users from IN DC alone. [Facial Comparison](https://docs.catalyst.zoho.com/en/zia-services/help/identity-scanner/key-concepts/#facial-comparison-process), also known as E-KYC, is a part of Identity Scanner that compares two faces in two different images to determine if they are the same individual. This will enable you to verify an individual’s identity from their ID proof by comparing it with an existing photo of theirs. For example, you can verify the authenticity of a photo ID, such as an individual’s Aadhaar card, by comparing it with their current photograph. > **Note:** You can mark either the ID proof image or the individual's photograph as the source or the query image. This will not affect the results. You can perform a face comparison between a source image and a query image, by specifying the path to both the image files, as shown in the sample code. The `compareFace()` method processes both these images. **Allowed file formats**: .webp, .jpeg, .png **File size limit**: 10 MB The result of the comparison is set to `true` if the faces match, or `false` if they don’t match. The result also contains a confidence score between the range of 0 to 1, that determines the accuracy of the processing. Only if the comparison yields a confidence score of above 50% i.e., 0.5, the result will be set to `true`. The `zia` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/get-zia-instance/) created to perform these operations. The promise returned here is resolved to a JSON object. ```javascript const fs = require('fs'); const sourceImage = fs.createReadStream('/Users/amelia-421/Desktop/source.webp'); // specify the file path const queryImage = fs.createReadStream('/Users/amelia-421/Desktop/query.webp'); // specify the file path const res = await zia.compareFace(sourceImage, queryImage); console.log(res); ``` #### Example of Expected Response A sample response that you will receive is shown below. ```json { "confidence": 0.9464, "matched": "true" } ``` -------------------------------------------------------------------------------- title: "Aadhaar" description: "This page describes the method to perform operations using the components in Zia Services." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/identity-scanner/aadhaar/" service: "Zia Services" related: - Catalyst Zia Services (/en/zia-services/) - Java SDK Documentation (/en/sdk/java/v1/zia-services/identity-scanner/aadhaar/) - Python SDK Documentation (/en/sdk/python/v1/zia-services/identity-scanner/aadhaar/) - REST API Documentation (/en/api/code-reference/zia-services/identity-scanner/aadhaar/#Aadhaar) -------------------------------------------------------------------------------- # Aadhaar > **Notes:** * Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/overview/#prerequisites) to use this SDK method. * Catalyst does not store any of the files you upload in its systems. The documents you upload are used for one-time processing only. They are not used for ML model training purposes either. Catalyst components are fully compliant with all applicable data protection and privacy laws. * Document Processing is only relevant to Indian users and is **only available in the IN DC**. This feature will not be available to users accessing from the EU, AU, US, JP, SA or CA data centers. Users outside of India from the other DCs can access the [general OCR component](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/zia-services/ocr) to read and process textual content. * The option to pass the languages present in an Aadhaar card has now been deprecated. Identity Scanner will now automatically identify the languages in an Aadhaar card and process it. The `AADHAAR` model is a part of the Document Processing feature that enables you to process Indian Aadhaar cards as identity proof documents. This enables you to extract fields of data from an Indian Aadhaar card using an advanced OCR technology. The response will return the parameters recognized from the Aadhaar card, along with confidence scores for each recognition that determine their accuracy. You need to provide the path to the image files of the front and back of the Aadhaar card through `createReadStream`. You must pass English and the relevant regional language. For example, if you are from Tamil Nadu, you must pass `tam` and `eng` as the languages. **Allowed file formats**: .webp, .jpeg, .png, .bmp, .tiff, .pdf **File size limit**: 15 MB The `zia` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/get-zia-instance/) created to perform these operations. The promise returned here is resolved to a JSON object. ```javascript const fs = require('fs'); const result = await zia.extractAadhaarCharacters( fs.createReadStream('./frontImg.webp'), fs.createReadStream('./backImg.webp'), 'eng,tam' ); console.log(result); ``` #### Example of Expected Response A sample response that you will receive is shown below. The response contains the parameters recognized in the Aadhaar card such as the card holder’s name, address, gender, Aadhaar card number assigned to respective keys. The response also shows a confidence score in the range of 0 to 1 for each of the recognized values. ```javascript { "text": { "address": { "prob": 0.5, "value": "C/O Rainbow, xxxx STREET, xxxx- 0000" }, "gender": { "prob": 0.8, "value": "MALE" }, "dob": { "prob": 0.8, "value": "08/09/2001" }, "name": { "prob": 0.6, "value": "Saeyon Dheeran" }, "aadhaar": { "prob": 0.8, "value": "4000 0000 0000" } } } ``` -------------------------------------------------------------------------------- title: "PAN" description: "This page describes the method to perform operations using the components in Zia Services." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/identity-scanner/pan/" service: "Zia Services" related: - Catalyst Zia Services (/en/zia-services/) - Java SDK Documentation (/en/api/code-reference/zia-services/identity-scanner/pan/#PAN) - Python SDK Documentation (/en/sdk/python/v1/zia-services/identity-scanner/pan/) - REST API Documentation (/en/api/code-reference/zia-services/identity-scanner/pan/#PAN) -------------------------------------------------------------------------------- # PAN > **Notes:** * Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/overview/#prerequisites) to use this SDK method. * Catalyst does not store any of the files you upload in its systems. The documents you upload are used for one-time processing only. They are not used for ML model training purposes either. Catalyst components are fully compliant with all applicable data protection and privacy laws. * Document Processing is only relevant to Indian users and is **only available in the IN DC**. This feature will not be available to users accessing from the EU, AU, US, JP, SA or CA data centers. Users outside of India from the other DCs can access the [general OCR component](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/zia-services/ocr) to read and process textual content. The `PAN` model is a part of the Document Processing feature that enables you to process Indian PAN cards as identity proof documents. This enables you to extract fields of data from a PAN card using an advanced OCR technology, and return the parameters recognized from the PAN card in the response. You must provide the path to the image file of the front side of the `PAN` card. You must specify the model type as `PAN` using `modelType`. The PAN model can only process text in English by default. No other languages are supported. **Allowed file formats**: .webp, .jpeg, .png **File size limit**: 15 MB The `zia` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/get-zia-instance/) created to perform these operations. The promise returned here is resolved to a JSON object. ```javascript const fs = require('fs'); const result = await zia.extractOpticalCharacters(fs.createReadStream('/Users/amelia-421/Desktop/pan.webp'), {modelType: 'PAN'}); // Pass the input file with the model type console.log(result); ``` #### Example of Expected Response A sample response that you will receive is shown below. The response will contain the parameters extracted from the PAN card such as their first name, last name, date of birth, and their PAN card number assigned to the respective keys. ```json { "date_of_birth": "03/04/1982", "last_name": "Dheeran", "pan": "ANRPM2537J", "first_name": "Saeyon" } ``` -------------------------------------------------------------------------------- title: "Passbook" description: "This page describes the method to perform operations using the components in Zia Services." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/identity-scanner/passbook/" service: "Zia Services" related: - Catalyst Zia Services (/en/zia-services/) - Java SDK Documentation (/en/sdk/java/v1/zia-services/identity-scanner/passbook/) - Python SDK Documentation (/en/sdk/python/v1/zia-services/identity-scanner/passbook/) - REST API Documentation (/en/api/code-reference/zia-services/identity-scanner/passbook/#Passbook) -------------------------------------------------------------------------------- # Passbook > **Notes:** * Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/overview/#prerequisites) to use this SDK method. * Catalyst does not store any of the files you upload in its systems. The documents you upload are used for one-time processing only. They are not used for ML model training purposes either. Catalyst components are fully compliant with all applicable data protection and privacy laws. * Document Processing is only relevant to Indian users and is **only available in the IN DC**. This feature will not be available to users accessing from the EU, AU, US, JP, SA or CA data centers. Users outside of India from the other DCs can access the [general OCR component](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/zia-services/ocr) to read and process textual content. The `PASSBOOK` model is a part of the Document Processing feature that enables you to process Indian bank passbooks as financial or identity proof documents. This enables you to extract fields of data from a passbook using the OCR technology, and fetch the parameters from it in the response. The Passbook model supports 11 Indian languages and an additional 8 International languages. You can check the list of languages and language codes from the [API documentation](https://docs.catalyst.zoho.com/en/api/code-reference/zia-services/ocr/#OCR). You must provide the path to the image of the front page of the passbook. You must specify the model type as `PASSBOOK` using the key `modelType`. > **Notes:** * English will be considered as the default language, if it isn’t specified. * Identity Scanner will return the response only in English, irrespective of the languages present in the passbook. **Allowed file formats**: .webp, .jpeg, .png, .bmp, .tiff, .pdf **File size limit**: 15 MB The `zia` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/get-zia-instance/) created to perform these operations. The promise returned here is resolved to a JSON object. ```javascript const fs = require('fs'); const result = await zia.extractOpticalCharacters(fs.createReadStream('/Users/amelia-421/Desktop/passbook.webp'), {language: 'tam', modelType: 'PASSBOOK'}); // Pass the input file with the model type and optional language console.log(result); ``` #### Example of Expected Response A sample response that you will receive is shown below. The response contains the bank details and account details recognized from the passbook such as the bank name, branch, address, account number. The extracted fields of information are assigned to their respective keys. The response also shows if RTGS, NEFT, and IMPS have been enabled for that account. ```javascript { "text": "{ \"address\": \"No.20,Gandhi Road,M.G Lane\", \"city\": \"Chennai\", \"centre\": \"Chennai\", \"bankName\": \"ABX BANK LIMITED\", \"accountNumber\": \"002001001625859\", \"branch\": \"Anna Nagar\", \"dateOfOpening\": \"30/08/2012\", \"imps\": \"true\", \"neft\": \"true\", \"district\": \"Chennai\", \"contact\": \"801234567\", \"micr\": \"641021121\", \"name\": \"2312312\", \"state\": \"Tamil Nadu\", \"rtgs\": \"true\", \"ifsc\": \"ABX0000311\" }" } ``` -------------------------------------------------------------------------------- title: "Cheque" description: "This page describes the method to perform operations using the components in Zia Services." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/identity-scanner/cheque/" service: "Zia Services" related: - Catalyst Zia Services (/en/zia-services/) - Java SDK Documentation (/en/sdk/java/v1/zia-services/identity-scanner/cheque/) - Python SDK Documentation (/en/sdk/python/v1/zia-services/identity-scanner/cheque/) - REST API Documentation (/en/api/code-reference/zia-services/identity-scanner/cheque/#Cheque) -------------------------------------------------------------------------------- # Cheque > **Notes:** * Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/overview/#prerequisites) to use this SDK method. * Catalyst does not store any of the files you upload in its systems. The documents you upload are used for one-time processing only. They are not used for ML model training purposes either. Catalyst components are fully compliant with all applicable data protection and privacy laws. * Document Processing is only relevant to Indian users and is **only available in the IN DC**. This feature will not be available to users accessing from the EU, AU, US, JP, SA or CA data centers. Users outside of India from the other DCs can access the [general OCR component](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/zia-services/ocr) to read and process textual content. The `CHEQUE` model is a part of the Document Processing feature that enables you to process Indian bank cheque leaves as identity proof documents. This enables you to extract fields of data from a cheque using an advanced OCR technology, and fetch the parameters recognized from the cheque through the response. You must provide the path to the image file of the front page of the cheque book. > **Notes:** * Zia only processes cheques of the **CTS-2010** format. * The `CHEQUE` model can only process text in English by default. No other languages are supported. **Allowed file formats**: .webp, .jpeg, .png **File size limit**: 15 MB You must specify the model type as `CHEQUE` using `modelType()`. The `zia` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/get-zia-instance/) created to perform these operations. The promise returned here is resolved to a JSON object. ```javascript const fs = require('fs'); const result = await zia.extractOpticalCharacters(fs.createReadStream('/Users/amelia-421/Desktop/cheque.webp'), {modelType: 'CHEQUE'}); //Pass the input file with the model type console.log(result); ``` #### Example of Expected Response A sample response that you will receive is shown below. ```json { "date": "15/11/2025", "account_number": "89323223232222", "amount": "10615", "branch_name": "TAMBARAM", "bank_name": "ABX BANK", "ifsc": "BB9033232" } ``` #### Text Analytics -------------------------------------------------------------------------------- title: "Sentiment Analysis" description: "This page describes the method to perform operations using the components in Zia Services." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/text-analytics/sentiment-analysis/" service: "Zia Services" related: - Catalyst Zia Services (/en/zia-services/) - Java SDK Documentation (/en/sdk/java/v1/zia-services/text-analytics/sentiment-analysis/) - Python SDK Documentation (/en/sdk/python/v1/zia-services/text-analytics/sentiment-analysis/) - REST API Documentation (/en/api/code-reference/zia-services/text-analytics/sentiment-analysis/#SentimentAnalysis) -------------------------------------------------------------------------------- # Sentiment Analysis > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/overview/#prerequisites) to use this SDK method. [Zia Sentiment Analysis](https://docs.catalyst.zoho.com/en/zia-services/help/text-analytics/introduction) is a part of Text Analytics that processes textual content to recognize the tone of the message, and the sentiments conveyed through it. It analyses each sentence in the text to determine if its tone is **positive**, **negative**, or **neutral**. It then determines the tone of the overall text as one of these three sentiments, based on the sentiments recognized in each sentence. You can pass a block of text as the input of up to **1500 characters** in a single request. The input text is passed to `getSentimentAnalysis()`. You can also pass optional keywords for the text. This will enable Sentiment Analysis to process only those sentences that contain these keywords, and determine their sentiments. Other sentences will be ignored. The `zia` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/get-zia-instance/) created to perform these operations. The promise returned here is resolved to a JSON object. ```javascript const result = await zia.getSentimentAnalysis([ 'Zoho Corporation, is an Indian multinational technology company that makes web-based business tools. It is best known for Zoho Office Suite. The company was founded by Sridhar Vembu and Tony Thomas and has a presence in seven locations with its global headquarters in Chennai, India, and corporate headquarters in Pleasanton, California.' ], ['Zoho']); //Pass the text and the optional keyword to process console.log(result); ``` #### Example of Expected Reponse A sample response that you will receive is shown below. The response also returns the confidence scores for the sentiments detected in each sentence, to showcase the accuracy of the analysis. The confidence score lies in the range of **0 to 1**. A confidence score for the overall analysis is also returned. ```javascript { "sentiment_prediction": [ { "document_sentiment": "Neutral", "sentence_analytics": [ { "sentence": "Zoho Corporation, is an Indian multinational technology company that makes web-based business tools.", "sentiment": "Neutral", "confidence_scores": { "negative": 0, "neutral": 1, "positive": 0 } }, { "sentence": "It is best known for Zoho Office Suite.", "sentiment": "Neutral", "confidence_scores": { "negative": 0, "neutral": 0.6, "positive": 0.4 } }, { "sentence": "The company was founded by Sridhar Vembu and Tony Thomas and has a presence in seven locations with its global headquarters in Chennai, India, and corporate headquarters in Pleasanton, California.", "sentiment": "Neutral", "confidence_scores": { "negative": 0, "neutral": 0.88, "positive": 0.12 } } ], "overall_score": 0.83 } ] } ``` -------------------------------------------------------------------------------- title: "Named Entity Recognition" description: "This page describes the method to perform operations using the components in Zia Services." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/text-analytics/named-entity-recognition/" service: "Zia Services" related: - Catalyst Zia Services (/en/zia-services/) - Java SDK Documentation (/en/sdk/java/v1/zia-services/text-analytics/named-entity-recognition/) - Python SDK Documentation (/en/sdk/python/v1/zia-services/text-analytics/named-entity-recognition/) - REST API Documentation (/en/api/code-reference/zia-services/text-analytics/named-entity-recognition/#NamedEntityRecognition) -------------------------------------------------------------------------------- # Named Entity Recognition > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/overview/#prerequisites) to use this SDK method. [Zia Named Entity Recognition](https://docs.catalyst.zoho.com/en/zia-services/help/text-analytics/introduction) is a part of Text Analytics that processes textual content to extract key words and group them into various categorizes. For example, it can determine a word in a text to be the name of an organization, the name of a person, or a date, and add it to the appropriate category accordingly. [Refer here](https://docs.catalyst.zoho.com/en/zia-services/help/text-analytics/introduction) for a list of all categories recognized by NER. You can pass a block of text as the input of up to **1500 characters** in a single request. The text is passed to `getNERPrediction()`. The `zia` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/get-zia-instance/) created to perform these operations. The promise returned here is resolved to a JSON object. ```javascript const result = await zia.getNERPrediction([ 'Zoho Corporation, is an Indian multinational technology company that makes web-based business tools. It is best known for Zoho Office Suite. The company was founded by Sridhar Vembu and Tony Thomas and has a presence in seven locations with its global headquarters in Chennai, India, and corporate headquarters in Pleasanton, California.' ]); //Pass the input text console.log(result); ``` #### Exmaple of Expected Response A sample response that you will receive is shown below. The response returns an array of all the entities recognized in the text, and a tag indicating the category they belong to. It will also contain the confidence score of each categorization in percentage values, to showcase its accuracy. The response also returns the location of the entity in the text through its start index and end index. ```javascript { "ner": { "general_entities": [ { "start_index": 0, "confidence_score": 98, "end_index": 16, "ner_tag": "Organization", "token": "Zoho Corporation" }, { "start_index": 24, "confidence_score": 99, "end_index": 30, "ner_tag": "Miscellaneous", "token": "Indian" }, { "start_index": 122, "confidence_score": 90, "end_index": 139, "ner_tag": "Miscellaneous", "token": "Zoho Office Suite" }, { "start_index": 168, "confidence_score": 99, "end_index": 181, "ner_tag": "Person", "token": "Sridhar Vembu" }, { "start_index": 186, "confidence_score": 96, "end_index": 197, "ner_tag": "Person", "token": "Tony Thomas" }, { "start_index": 220, "confidence_score": 100, "end_index": 225, "ner_tag": "Number", "token": "seven" }, { "start_index": 268, "confidence_score": 99, "end_index": 275, "ner_tag": "City", "token": "Chennai" }, { "start_index": 277, "confidence_score": 98, "end_index": 282, "ner_tag": "Country", "token": "India" }, { "start_index": 314, "confidence_score": 99, "end_index": 324, "ner_tag": "City", "token": "Pleasanton" }, { "start_index": 326, "confidence_score": 91, "end_index": 336, "ner_tag": "State", "token": "California" } ] } } ``` -------------------------------------------------------------------------------- title: "Keyword Extraction" description: "This page describes the method to perform operations using the components in Zia Services." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/text-analytics/keyword-extraction/" service: "Zia Services" related: - Catalyst Zia Services (/en/zia-services/) - Java SDK Documentation (/en/sdk/java/v1/zia-services/text-analytics/keyword-extraction/) - Python SDK Documentation (/en/sdk/python/v1/zia-services/text-analytics/keyword-extraction/) - REST API Documentation (/en/api/code-reference/zia-services/text-analytics/keyword-extraction/#KeywordExtraction) -------------------------------------------------------------------------------- # Keyword Extraction > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/overview/#prerequisites) to use this SDK method. [Zia Keyword Extraction](https://docs.catalyst.zoho.com/en/zia-services/help/text-analytics/introduction) is a part of *Text Analytics* that processes textual content and extracts the highlights of the text. The extracted terms are grouped into two categories: `Keywords` and `Keyphrases`. These highlights deliver a concise summary of the text and provide an abstraction of the whole text. You can pass a block of text as the input of up to **1500 characters** in a single request. The text is passed to `getKeywordExtraction()`. The keywords and keyphrases are then fetched as individual lists. The `zia` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/get-zia-instance/) created to perform these operations. The promise returned here is resolved to a JSON object. ```javascript const result = await zia.getKeywordExtraction(['Zoho Corporation, is an Indian multinational technology company that makes web-based business tools. It is best known for Zoho Office Suite. The company was founded by Sridhar Vembu and Tony Thomas and has a presence in seven locations with its global headquarters in Chennai, India, and corporate headquarters in Pleasanton, California.']); //Pass the input text to be processed console.log(result); ``` #### Example of Expected Response A sample response that you will receive is shown below. The response contains an array of the key words, and another array of the key phrases that are extracted from the text. ```javascript { "keyword_extractor": { "keywords": [ "Chennai", "company", "India", "Indian", "presence", "locations", "Pleasanton", "California" ], "keyphrases": [ "corporate headquarters", "multinational technology company", "Zoho Corporation", "Zoho Office Suite", "global headquarters", "Tony Thomas", "web-based business tools", "Sridhar Vembu" ] } } ``` -------------------------------------------------------------------------------- title: "All Text Analytics" description: "This page describes the method to perform operations using the components in Zia Services." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/text-analytics/all-text-analytics/" service: "Zia Services" related: - Catalyst Zia Services (/en/zia-services/) - Java SDK Documentation (/en/sdk/java/v1/zia-services/text-analytics/all-text-analytics/) - Python SDK Documentation (/en/sdk/python/v1/zia-services/text-analytics/all-text-analytics/) - REST API Documentation (/en/api/code-reference/zia-services/text-analytics/all-text-analytics/#AllTextAnalytics) -------------------------------------------------------------------------------- # All Text Analytics > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/overview/#prerequisites) to use this SDK method. [Text Analytics](https://docs.catalyst.zoho.com/en/zia-services/help/text-analytics/introduction) as a whole includes a combination of all three features specified in the previous sections: **Sentiment Analysis**, **Named Entity Recognition**, and **Keyword Extraction**. You can perform all three actions on a specific block of text, and obtain the tone of the text, the categorizations of the entities recognized from it, and key words and phrases that provide a gist of the text. You can pass a block of text as the input of up to **1500 characters** in a single request. The text is passed to `getTextAnalytics()`. You can also pass optional keywords to perform Sentiment Analysis on the sentences containing only those keywords. The `zia` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/get-zia-instance/) created to perform these operations. The promise returned here is resolved to a JSON object. ```javascript const result = await zia.getTextAnalytics( ['Zoho Corporation, is an Indian multinational technology company that makes web-based business tools. It is best known for Zoho Office Suite. The company was founded by Sridhar Vembu and Tony Thomas and has a presence in seven locations with its global headquarters in Chennai, India, and corporate headquarters in Pleasanton, California.'], ['Zoho'] ); //Pass the input text for all Text Analytics, and the keywords for Sentiment Analysis console.log(result); ``` #### Example of Expected Response A sample response that you will receive is shown below. The response contains the results of each of the text analytics features. Refer to each feature page for detailed information on their respective functionalities and responses. ```javascript [{ "keyword_extractor": { "keywords": ["Chennai","company","India","Indian","presence","locations","Pleasanton","California"], "keyphrases": ["corporate headquarters","multinational technology company","Zoho Corporation","Zoho Office Suite","global headquarters","Tony Thomas","web-based business tools","Sridhar Vembu"] }, "sentiment_prediction": [{ "document_sentiment": "Neutral", "sentence_analytics": [{ "sentence": "Zoho Corporation, is an Indian multinational technology company that makes web-based business tools.", "sentiment": "Neutral", "confidence_scores": {"negative": 0,"neutral": 1,"positive": 0} },{ "sentence": "It is best known for Zoho Office Suite.", "sentiment": "Neutral", "confidence_scores": {"negative": 0,"neutral": 0.6,"positive": 0.4} },{ "sentence": "The company was founded by Sridhar Vembu and Tony Thomas and has a presence in seven locations with its global headquarters in Chennai, India, and corporate headquarters in Pleasanton, California.", "sentiment": "Neutral", "confidence_scores": {"negative": 0,"neutral": 0.88,"positive": 0.12} }], "overall_score": 0.83 }], "ner": { "general_entities": [{ "start_index": 0, "confidence_score": 98, "end_index": 16, "ner_tag": "Organization", "token": "Zoho Corporation" },{ "start_index": 24, "confidence_score": 99, "end_index": 30, "ner_tag": "Miscellaneous", "token": "Indian" },{ "start_index": 122, "confidence_score": 90, "end_index": 139, "ner_tag": "Miscellaneous", "token": "Zoho Office Suite" },{ "start_index": 168, "confidence_score": 99, "end_index": 181, "ner_tag": "Person", "token": "Sridhar Vembu" },{ "start_index": 186, "confidence_score": 96, "end_index": 197, "ner_tag": "Person", "token": "Tony Thomas" },{ "start_index": 220, "confidence_score": 100, "end_index": 225, "ner_tag": "Number", "token": "seven" },{ "start_index": 268, "confidence_score": 99, "end_index": 275, "ner_tag": "City", "token": "Chennai" },{ "start_index": 277, "confidence_score": 98, "end_index": 282, "ner_tag": "Country", "token": "India" },{ "start_index": 314, "confidence_score": 99, "end_index": 324, "ner_tag": "City", "token": "Pleasanton" },{ "start_index": 326, "confidence_score": 91, "end_index": 336, "ner_tag": "State", "token": "California" }] } }] ``` -------------------------------------------------------------------------------- title: "Image Moderation" description: "This page describes the method to perform operations using the components in Zia Services." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/image-moderation/" service: "Zia Services" related: - Catalyst Zia Services (/en/zia-services/) - Image Moderation Help Documentation (/en/zia-services/help/image-moderation/introduction/) - Java SDK Documentation (/en/sdk/java/v1/zia-services/image-moderation/) - Python SDK Documentation (/en/sdk/python/v1/zia-services/image-moderation/) - REST API Documentation (/en/api/code-reference/zia-services/image-moderation/#ImageModeration) -------------------------------------------------------------------------------- # Image Moderation > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/overview/#prerequisites) to use this SDK method. [Image Moderation](https://docs.catalyst.zoho.com/en/zia-services/help/image-moderation/introduction) detects and recognizes inappropriate and unsafe content in images. The criteria include suggestive or explicit racy content, nudity, violence, gore, bloodshed, and the presence of weapons and drugs. You can provide a *.jpg*/*.jpeg* or *.png* file as the input. Refer to the [API documentation](https://docs.catalyst.zoho.com/en/api/code-reference/zia-services/image-moderation/#ImageModeration) for the request and response formats. You can set the moderation mode as `BASIC`, `MODERATE`, or A`DVANCED` optionally. The image is processed in the `ADVANCED` mode by default. The `zia` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/get-zia-instance/) created to perform these operations. The promise returned here is resolved to a JSON object. ```javascript const fs = require('fs'); const result = await zia.moderateImage(fs.createReadStream('./weapon.png'), {mode: 'moderate'}); //Pass the input file and the mode console.log(result); ``` #### Example of Expected Response A sample response that you will receive is shown below. The response returns the probability of each criteria with their confidence scores, and the prediction of the image being `safe_to_use` or `unsafe_to_use`. ```javascript { "probability": { "racy": "0.09", "nudity": "0.06" }, "confidence": "0.85", "prediction": "safe_to#_use" } ``` -------------------------------------------------------------------------------- title: "Object Recognition" description: "This page describes the method to perform operations using the components in Zia Services." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/object-recognition/" service: "Zia Services" related: - Catalyst Zia Services (/en/zia-services/) - Object Recognition Help Documentation (/en/zia-services/help/object-recognition/introduction/) - Java SDK Documentation (/en/sdk/java/v1/zia-services/object-recognition/) - Python SDK Documentation (/en/sdk/python/v1/zia-services/object-recognition/) - REST API Documentation (/en/api/code-reference/zia-services/object-recognition/#ObjectRecognition) -------------------------------------------------------------------------------- # Object Recognition > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/overview/#prerequisites) to use this SDK method. [Object Recognition](https://docs.catalyst.zoho.com/en/zia-services/help/object-recognition/introduction) detects,locates, and recognizes individual objects in an image file. Zia Object Recognition can identify 80 different kinds of objects from images. You can provide a *.jpg*/*.jpeg* or *.png* file as the input. Refer to the [API documentation](https://docs.catalyst.zoho.com/en/api/code-reference/zia-services/object-recognition/#ObjectRecognition) for the request and response formats. The `detectObject()` method is used detect and identify the objects in the image, and the input file is passed as an argument to this method. It returns the coordinates of each object, their type, and the confidence score of each recognition. The `zia` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/get-zia-instance/) created to perform these operations. The promise returned here is resolved to a JSON object. ```javascript const fs = require('fs'); const result = await zia.detectObject(fs.createReadStream('./sampimage.webp')); console.log(result); ``` #### Example of Expected Response A sample response that you will receive for each version is shown below. ```javascript { "objects": [ { "co_ordinates": ["322", "125", "708", "1201"], "object_type": "person", "confidence": "99.82" } ] } ``` -------------------------------------------------------------------------------- title: "Barcode Scanner" description: "This page describes the method to perform operations using the components in Zia Services." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/barcode-scanner/" service: "Zia Services" related: - Catalyst Zia Services (/en/zia-services/) - Object Recognition Help Documentation (/en/zia-services/help/object-recognition/introduction/) - Java SDK Documentation (/en/sdk/java/v1/zia-services/barcode-scanner/) - Python SDK Documentation (/en/sdk/python/v1/zia-services/barcode-scanner/) - REST API Documentation (/en/api/code-reference/zia-services/barcode-scanner/#BarcodeScanner) -------------------------------------------------------------------------------- # Barcode Scanner > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/overview/#prerequisites) to use this SDK method. [Zia Barcode Scanner](https://docs.catalyst.zoho.com/en/zia-services/help/barcode-scanner/introduction) enables you to scan the most commonly used linear and 2D barcode formats and decode the encoded data. Barcode Scanner can detect formats like Codabar, EAN-13, ITF, UPC-A, QR Code, and more. You can provide an input file of the format *.jpg*/*.jpeg* or *.png*. Refer to the [API documentation](https://docs.catalyst.zoho.com/en/api/code-reference/zia-services/barcode-scanner/#BarcodeScanner) for the request and response formats. You can specify the barcode format using `setFormat`. If you enter the format as `ALL`, the Barcode Scanner automatically detects the format. It provides the decoded information as the response. The `zia` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/zia-services/get-zia-instance/) created to perform these operations. The promise returned here is resolved to a JSON object. ```javascript const fs = require('fs'); const result = await zia.scanBarcode(fs.createReadStream('./barcode.png'), {format: 'code39'}); //Pass the input file and the format console.log(result); ``` #### Example of Expected Response A sample response that you will receive is shown below. ```json { "content": "https://demo.dynamsoft.com/dbr_wasm/barcode_reader_javascript.html" } ``` ### SmartBrowz -------------------------------------------------------------------------------- title: "Overview" description: "This page describes the method to perform operations using the components in SmartBrowz Services." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/smartbrowz/overview/" service: "SmartBrowz" related: - Catalyst SmartBrowz (/en/smartbrowz/) - Java SDK Documentation (/en/sdk/java/v1/smartbrowz/) - Python SDK Documentation (/en/sdk/python/v1/smartbrowz/) - REST API Documentation (/en/api/code-reference/smartbrowz/browser-grid/list-all-grids/#ListallBrowserGrids) -------------------------------------------------------------------------------- # SmartBrowz JavaScript SDK # Overview [SmartBrowz](https://docs.catalyst.zoho.com/en/smartbrowz/) is a Catalyst service that offers you a wide range of components that you can use to perform your required functions on headless browsers, generate visual documents, and even configure design and style templates using Liquid JS that can handle dynamic data while offering you the advantages of reusable HTML blueprints. Using the *SmartBrowz JavaScript SDK*, you can perform the following operations through code: ### Prerequisites You will need to install the following package to be able to use the SDK methods of SmartBrowz components. ```bash npm install @zcatalyst/smartbrowz ``` > **Info:** Ensure that you have applied the [required authentication configuration](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/auth-config/node-consideration/) to use the SDK methods of this component. ### Import Requirement You will need to import the following modules to use the SDK methods of Zia service's components. ```javascript const { Smartbrowz } = require('@zcatalyst/smartbrowz'); //SmartBrowz module ``` ### List of SDK Methods The following table provides you with the list of SmartBrowz operations that you can perform through code using the SmartBrowz JavaScript SDK.
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
  • [Generate visual documents using Templates as source](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/smartbrowz/pdf-and-screenshot/docs-templates-source/)
  • [Generate PDF using HTML as source](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/smartbrowz/pdf-and-screenshot/pdf-from-htmlcode/)
  • [Generate Screenshot using URL as source](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/smartbrowz/pdf-and-screenshot/pdf-from-url-source/)
**Admin**
Dataverse
  • [Lead enrichment](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/smartbrowz/dataverse/lead-enrichment/)
  • [Tech stack finder](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/smartbrowz/dataverse/tech-stack-finder/)
  • [Similar companies](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/smartbrowz/dataverse/similar-companies/)
**Admin**
> **Info:** [ Learn more about the Catalyst SmartBrowz service](https://docs.catalyst.zoho.com/en/smartbrowz/help/headless/introduction/). -------------------------------------------------------------------------------- title: "Create a SmartBrowz Instance" description: "This page describes the method to perform operations using the components in SmartBrowz Services." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/smartbrowz/create-smartbrowz-instance/" service: "SmartBrowz" related: - Catalyst SmartBrowz (/en/smartbrowz/) - Java SDK Documentation (/en/sdk/java/v1/smartbrowz/generate-pdfnscreenshot/) - Python SDK Documentation (/en/sdk/python/v1/smartbrowz/create-smartbrowz-instance/) - REST API Documentation (/en/api/code-reference/smartbrowz/generate-pdfnscreenshoturl/#PDF%26ScreenshotwithHTMLorURLasInput) -------------------------------------------------------------------------------- # Create a SmartBrowz Instance > **Notes:** * Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/smartbrowz/overview/#prerequisites) to use this SDK method. * 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 that 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. 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. You can create a `smartbrowz` component reference as shown below. This will not fire a server-side call. You will refer to this component instance in various code snippets while working with SmartBrowz components. ```javascript // Get a SmartBrowz instance const smartbrowz = new Smartbrowz(); ``` #### PDF & Screenshot -------------------------------------------------------------------------------- title: "Generate Visual Documents with Templates as Source" description: "This page describes the method to perform operations using the components in SmartBrowz Services." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/smartbrowz/pdf-and-screenshot/docs-templates-source/" service: "SmartBrowz" related: - Catalyst SmartBrowz (/en/smartbrowz/) - PDF & Screenshot (/en/smartbrowz/help/pdfnscreenshot/introduction/) - Templates (/en/smartbrowz/help/templates/introduction/) - Java SDK Documentation (/en/sdk/java/v1/smartbrowz/generate-pdfnscreenshot/) - Python SDK Documentation (/en/sdk/python/v1/smartbrowz/generate-pdfnscreenshot/) - REST API Documentation (/en/api/code-reference/smartbrowz/generate-pdfnscreenshoturl/#PDF%26ScreenshotwithHTMLorURLasInput) -------------------------------------------------------------------------------- # Generate Visual Documents with Templates as Source > **Notes:** * Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/smartbrowz/overview/#prerequisites) to use this SDK method. * 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 that 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. [Templates](https://docs.catalyst.zoho.com/en/smartbrowz/help/templates/introduction/) is a *Catalyst SmartBrowz* component that allows you to design custom HTML blueprints [using LiquidJS components](https://docs.catalyst.zoho.com/en/smartbrowz/help/templates/customize-templates/#using-liquidjs-to-customize-your-templates) to handle dynamic data. Using the `generateFromTemplate()` SDK method you can generate the required visual document as per your requirement. The SDK method also allows you to implement multiple customization options including page orientation, size, [password protection](https://docs.catalyst.zoho.com/en/smartbrowz/help/templates/customize-templates/#password-protected-pdfs), and so much more. The required template is referred to using its Template ID. The `smartbrowz` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/smartbrowz/create-smartbrowz-instance/) created to perform these operations. ```javascript const result = await smartbrowz.generateFromTemplate("2075000000021001", { pdf_options: { display_header_footer: true, format: "A1", height: "100", width: "100", landscape: true, page_ranges: "1-2", scale: 1.0, password: "****123" // Add password after enabling the template password setting from the console }, page_options: { css: { content: "body { font-size: 12px; }" }, javascript_enabled: true, viewport: { height: 800, width: 600 }, device: "Blackberry PlayBook" }, navigation_options: { timeout: 30000, wait_until: "domcontentloaded" }, output_options: { output_type: "pdf" }, template_data: {} }); console.log("result::", result); ``` -------------------------------------------------------------------------------- title: "Generate PDF with HTML Code as Source" description: "This page describes the method to perform operations using the components in SmartBrowz Services." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/smartbrowz/pdf-and-screenshot/pdf-from-htmlcode/" service: "SmartBrowz" related: - Catalyst SmartBrowz (/en/smartbrowz/) - PDF & Screenshot (/en/smartbrowz/help/pdfnscreenshot/introduction/) - Templates (/en/smartbrowz/help/templates/introduction/) - Java SDK Documentation (/en/sdk/java/v1/smartbrowz/generate-pdfnscreenshot/) - Python SDK Documentation (/en/sdk/python/v1/smartbrowz/generate-pdfnscreenshot/) - REST API Documentation (/en/api/code-reference/smartbrowz/generate-pdfnscreenshoturl/#PDF%26ScreenshotwithHTMLorURLasInput) -------------------------------------------------------------------------------- # Generate PDF with HTML Code as Source > **Notes:** * Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/smartbrowz/overview/#prerequisites) to use this SDK method. * 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 that 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. Using the `convertToPdf()` SDK method, you can generate a PDF document using HTML code as source. The SDK method also allows you to implement multiple customization options including page orientation, size, [password protection](https://docs.catalyst.zoho.com/en/smartbrowz/help/templates/customize-templates/#password-protected-pdfs), and so much more. The `smartbrowz` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/smartbrowz/create-smartbrowz-instance/) created to perform these operations. ```javascript const result = await smartbrowz.convertToPdf("HI", { pdf_options: { display_header_footer: true, footer_template: "Page Header", margin: { bottom: "20", left: "10", right: "10", top: "20" }, height: "100", width: "100", landscape: true, page_ranges: "1-2", scale: 1.0, password: "****123" }, page_options: { css: { content: "body { font-size: 12px; }" }, javascript_enabled: true, viewport: { height: 800, width: 600 }, device: "Blackberry PlayBook" }, navigation_options: { timeout: 30000, wait_until: "domcontentloaded" } }); console.log("result::", result); ``` -------------------------------------------------------------------------------- title: "Generate PDF with URL as Source" description: "This page describes the method to perform operations using the components in SmartBrowz Services." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/smartbrowz/pdf-and-screenshot/pdf-from-url-source/" service: "SmartBrowz" related: - Catalyst SmartBrowz (/en/smartbrowz/) - PDF & Screenshot (/en/smartbrowz/help/pdfnscreenshot/introduction/) - Templates (/en/smartbrowz/help/templates/introduction/) - Java SDK Documentation (/en/sdk/java/v1/smartbrowz/generate-pdfnscreenshot/) - Python SDK Documentation (/en/sdk/python/v1/smartbrowz/generate-pdfnscreenshot/) - REST API Documentation (/en/api/code-reference/smartbrowz/generate-pdfnscreenshoturl/#PDF%26ScreenshotwithHTMLorURLasInput) -------------------------------------------------------------------------------- # Generate PDF with URL as Source > **Notes:** * Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/smartbrowz/overview/#prerequisites) to use this SDK method. * 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 that 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. Pass the required URL to the `convertToPdf()` SDK method to generate a visual document of the corresponding webpage. The `smartbrowz` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/smartbrowz/create-smartbrowz-instance/) created to perform these operations. ```javascript const result = await smartbrowz.convertToPdf("https://www.google.com", { pdf_options: { display_header_footer: true, footer_template: "Page Header", margin: { bottom: "20", left: "10", right: "10", top: "20" }, height: "100", width: "100", landscape: true, page_ranges: "1-2", scale: 1.0, password: "*****123" }, page_options: { css: { content: "body { font-size: 12px; }" }, javascript_enabled: true, viewport: { height: 800, width: 600 }, device: "Blackberry PlayBook" }, navigation_options: { timeout: 30000, wait_until: "domcontentloaded" } }); console.log("result::", result); ``` #### Dataverse -------------------------------------------------------------------------------- title: "Lead Enrichment" description: "This page describes the method to perform operations using the components in SmartBrowz Services." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/smartbrowz/dataverse/lead-enrichment/" service: "SmartBrowz" related: - Catalyst SmartBrowz (/en/smartbrowz/) - Dataverse (/en/smartbrowz/help/dataverse/introduction/) - Python SDK Documentation (/en/sdk/python/v1/smartbrowz/dataverse/) -------------------------------------------------------------------------------- # Lead Enrichment > **Notes:** * Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/smartbrowz/overview/#prerequisites) to use this SDK method. * 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 that 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. The **Lead Enrichment** module allows you to fetch details of a specific organization from the web. Provide the organization’s name, its email address, or its website URL as the parameters to the `getEnrichedLead()` SDK method, to retrieve the required information. The `smartbrowz` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/smartbrowz/create-smartbrowz-instance/) created to perform these operations. > **Note:** You must provide the value for at least one key in the `getEnrichedLead()` SDK method. ```javascript const response = await smartbrowz.getEnrichedLead({ leadName: "zoho", websiteUrl: "https://www.zoho.com", email: "sales@zohocorp.com" }); console.log(response); ``` #### Example of Expected Response ```javascript [ { "employee_count": "12000", "website": "https://www.zoho.com", "address": [ { "country": "India", "pincode": "603202", "city": "Chengalpattu District", "street": "Estancia It Park, Plot No. 140 151, Gst Road Vallancheri", "state": "Tamil Nadu", "id": "Estancia IT Park, Plot no. 140, 151, GST Road, Vallancheri, Chennai." } ], "social": { "twitter": [ "twitter.com/zoho" ] }, "source_language": "en", "description": "Zoho Corporation offers web-based business applications.", "organization_name": "ZOHO", "ceo": "Sridhar Vembu", "headquarters": [ { "country": "India" } ], "revenue": "$1B", "years_in_industry": "27", "about_us": "https://www.zoho.com/aboutus.html?ireft=nhome&src=home1", "founding_year": "1996", "contact": [ "844-316-5544", "0800-085-6099" ], "industries": { "computer programming services": "Includes data processing services and other computer related services." }, "logo": "https://www.zohowebstatic.com/sites/zweb/images/ogimage/zoho-logo.png", "organization_type": [ "Private Limited Company" ], "business_model": [ "B2B" ], "email": [ "sales@zohocorp.com", "press@zohocorp.com" ], "organization_status": "LARGE_ENTERPRISE", "territory": [ "India", "United States of America" ], "sign_up_link": "https://www.zoho.com/signup.html?all_prod_page=true" } ] ``` -------------------------------------------------------------------------------- title: "Tech Stack Finder" description: "This page describes the method to perform operations using the components in SmartBrowz Services." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/smartbrowz/dataverse/tech-stack-finder/" service: "SmartBrowz" related: - Catalyst SmartBrowz (/en/smartbrowz/) - Dataverse (/en/smartbrowz/help/dataverse/introduction/) - Python SDK Documentation (/en/sdk/python/v1/smartbrowz/dataverse/) -------------------------------------------------------------------------------- # Tech Stack Finder > **Notes:** * Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/smartbrowz/overview/#prerequisites) to use this SDK method. * 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 that 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. The **TechStack Finder** module allows you to fetch details of the technologies implemented and the frameworks used by an organization. Provide the organization’s website URL as a parameter to the `findTechStack()` SDK method, to retrieve the information. The `smartbrowz` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/smartbrowz/create-smartbrowz-instance/) created to perform these operations. ```javascript const response = await smartbrowz.findTechStack('https://www.zoho.com'); console.log('response::', response); ``` #### Example of Expected Response ```javascript [ { "website": "https://www.zoho.com", "technographic_data": { "audio-video media": "Vimeo, YouTube", "ssl_certificate": "Sectigo Limited", "email hosting providers": "Zoho Mail, SPF" }, "organization_name": "ZOHO" } ] ``` -------------------------------------------------------------------------------- title: "Similar Companies" description: "This page describes the method to perform operations using the components in SmartBrowz Services." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/smartbrowz/dataverse/similar-companies/" service: "SmartBrowz" related: - Catalyst SmartBrowz (/en/smartbrowz/) - Dataverse (/en/smartbrowz/help/dataverse/introduction/) - Python SDK Documentation (/en/sdk/python/v1/smartbrowz/dataverse/) -------------------------------------------------------------------------------- # Similar Companies > **Notes:** * Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/smartbrowz/overview/#prerequisites) to use this SDK method. * 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 that 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. The **Similar Companies** module allows you to get the list of potential organizations that provide the same or similar services as an organization you specify as the input. Provide the name of the input organization or its website URL as a parameter to the `getSimilarCompanies()` SDK method. The `smartbrowz` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/smartbrowz/create-smartbrowz-instance/) created to perform these operations. ```javascript const response = await smartbrowz.getSimilarCompanies({ 'leadName': 'zoho', 'websiteUrl': 'https://www.zoho.com' }); console.log(response); ``` #### Example of Expected Response ```javascript [ "Cybage Software Pvt. Ltd.", "Google LLC", "Chargebee, Inc.", "Infosys Ltd.", "GlobalLogic Inc.", "Persistent Systems Ltd.", "DELTA ELECTRONICS Inc.", "Salesforce, Inc." ] ``` ### Job Scheduling -------------------------------------------------------------------------------- title: "Overview" description: "This page describes the method to perform operations using the components in SmartBrowz Services." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/overview/" service: "Job Scheduling" related: - Catalyst Job Scheduling (/en/job-scheduling/help/jobpool/introduction/) - Java SDK Documentation (/en/sdk/java/v1/job-scheduling/initialize-job-scheduling-instance/) - Python SDK Documentation (/en/sdk/python/v1/job-scheduling/initialize-job-scheduling-instance/) - REST API Documentation (/en/api/code-reference/job-scheduling/jobpool/get-all-jobpool/#GetAllJobPools) -------------------------------------------------------------------------------- # Job Scheduling JavaScript SDK # Overview [Job Scheduling](https://docs.catalyst.zoho.com/en/job-scheduling/help/jobpool/introduction/) is a Catalyst service that is specifically designed to automate job executions for versatile use cases. The *Job Scheduling* service provides you with greater control over task thread pools through the [Job Pool](https://docs.catalyst.zoho.com/en/job-scheduling/help/jobpool/introduction/) component. You can automate [job](https://docs.catalyst.zoho.com/en/job-scheduling/help/job/introduction/) executions using [Cron](https://docs.catalyst.zoho.com/en/job-scheduling/help/cron/introduction/), a scheduling component. Using the **Job Scheduling JavaScript SDK**, you will be able to submit jobs to the job pools, create crons, fetch required details and so much more through code. ### Prerequisites You will need to install the following package to be able to use the Job Scheduling SDK methods. ```sh npm install @zcatalyst/job-scheduling ``` > **Info:** Ensure that you have applied the [required authentication configuration](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/auth-config/node-consideration/) to use the SDK methods of this component. ### Import Requirement You will need to import the following modules to use the SDK methods of Job Scheduling components. ```javascript const { JobScheduling } = require('@zcatalyst/job-scheduling'); //Job Scheduling module ``` ### List of SDK Methods
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
  • [Get All Job Pools](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/jobpool/get-all-jobpool/)
  • [Get Details of a Specific Job Pool](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/jobpool/get-jobpool/)
**Admin**
Job Operations
  • [Create Job](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/job/create-job/)
  • [Get Job Details](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/job/get-job-details/)
  • [Delete a Job](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/job/delete-job/)
**Admin**
Cron Operations
  • [Create a One-Time Cron](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/cron/create-one-time-cron/)
  • [Create a Recurring Cron](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/cron/create-recurring-cron/)
  • [Create Cron Using Cron Expressions](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/cron/create-cron-expressions/)
  • [Get Details of a Particular Cron](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/cron/get-cron-details/)
  • [Get Details of All Crons](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/cron/get-all-cron/)
  • [Update Cron](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/cron/update-cron/)
  • [Pause Cron](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/cron/pause-cron/)
  • [Resume Cron](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/cron/resume-cron/)
  • [Run Cron](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/cron/run-cron/)
  • [Delete Cron](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/cron/delete-cron/)
**Admin**
> **Info:** [Learn more about the Job Scheduling service](https://docs.catalyst.zoho.com/en/job-scheduling/help/jobpool/introduction/). -------------------------------------------------------------------------------- title: "Create a Job Scheduling Instance" description: "This page describes the method to perform operations using the components in SmartBrowz Services." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/create-instance/" service: "Job Scheduling" related: - Catalyst Job Scheduling (/en/job-scheduling/help/jobpool/introduction/) - Java SDK Documentation (/en/sdk/java/v1/job-scheduling/initialize-job-scheduling-instance/) - Python SDK Documentation (/en/sdk/python/v1/job-scheduling/initialize-job-scheduling-instance/) - REST API Documentation (/en/api/code-reference/job-scheduling/jobpool/get-all-jobpool/#GetAllJobPools) -------------------------------------------------------------------------------- # Create a Job Scheduling Instance > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/overview/#prerequisites) to use this SDK method. You can create a `jobScheduling` component reference as shown below. This will not fire a server-side call. You will refer to this component instance in various code snippets while working with Job Scheduling components. ```javascript // Get a Job Scheduling instance const jobScheduling = new JobScheduling(); ``` #### Job Pool -------------------------------------------------------------------------------- title: "Get Details of all Job Pools" description: "This page describes the method to perform operations in the DataStore component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/jobpool/get-all-jobpool/" service: "Job Scheduling" related: - Catalyst Job Scheduling (/en/job-scheduling/help/jobpool/introduction/) - Catalyst Job Pool (/en/job-scheduling/help/jobpool/introduction/) - Java SDK Documentation (/en/sdk/java/v1/job-scheduling/initialize-job-scheduling-instance/) - Python SDK Documentation (/en/sdk/python/v1/job-scheduling/initialize-job-scheduling-instance/) - REST API Documentation (/en/api/code-reference/job-scheduling/jobpool/get-all-jobpool/#GetAllJobPools) -------------------------------------------------------------------------------- # Get Details of all Job Pools > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/overview/#prerequisites) to use this SDK method. Using the `getAllJobpool()` SDK method, you can get the details of the job pools present in your project. The `jobScheduling` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/create-instance/) created to perform these operations. ```javascript // get details of all the Job Pools const allJobpools = await jobScheduling.getAllJobpool(); ``` -------------------------------------------------------------------------------- title: "Get Details of a Specific Job Pool" description: "This page describes the method to perform operations in the DataStore component." last_updated: "2026-11-03T15:16:51.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/jobpool/get-jobpool/" service: "Job Scheduling" related: - Catalyst Job Scheduling (/en/job-scheduling/help/jobpool/introduction/) - Catalyst Job Pool (/en/job-scheduling/help/jobpool/introduction/) - Java SDK Documentation (/en/sdk/java/v1/job-scheduling/jobpool/get-job-pool/) - Python SDK Documentation (/en/sdk/python/v1/job-scheduling/jobpool/get-job-pool/) - REST API Documentation (/en/api/code-reference/job-scheduling/jobpool/get-jobpool/#GetJobPoolByIdentifier) -------------------------------------------------------------------------------- # Get Details of a Specific Job Pool > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/overview/#prerequisites) to use this SDK method. Pass the [Job Pools ID](https://docs.catalyst.zoho.com/en/job-scheduling/help/jobpool/key-concepts/#job-pool-id) or name of the required Job Pool to the `getJobpool()` SDK method to get its details. The `jobScheduling` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/create-instance/) created to perform these operations. ```javascript const jobpoolWithName = await jobScheduling.getJobpool('test'); // Get job pool by name const jobpoolWithId = await jobScheduling.getJobpool('123456789'); // Get job pool by ID ``` #### Job -------------------------------------------------------------------------------- title: "Create a Job" description: "This page describes the method to perform operations in the DataStore component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/job/create-job/" service: "Job Scheduling" related: - Catalyst Job Scheduling (/en/job-scheduling/) - Jobs (/en/job-scheduling/help/job/introduction/) - Java SDK Documentation (/en/sdk/java/v1/job-scheduling/jobs/create-job/) - Python SDK Documentation (/en/sdk/python/v1/job-scheduling/jobs/create-job/) - REST API Documentation (/en/api/code-reference/job-scheduling/job/submit-job/submit-webhook-job/#SubmitWebhookJobByID) -------------------------------------------------------------------------------- # Create a Job > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/overview/#prerequisites) to use this SDK method. Using the `submitJob()` SDK method you will be able to create and submit a job to the job pool. You can use this method to create and submit a job to trigger a [Job Function](https://docs.catalyst.zoho.com/en/serverless/help/functions/job-functions/), [Circuit](https://docs.catalyst.zoho.com/en/serverless/help/circuits/introduction/), [AppSail](https://docs.catalyst.zoho.com/en/serverless/help/appsail/introduction/) service, or a Webhook (any third-party URL). The required Job Pool will be referred to using its name. The `jobScheduling` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/create-instance/) created to perform these operations. **Job Function** #### Parameters Used The details of the Job that needs to be created and submitted to the *Function Job Pool* to trigger a Job Function will be passed as a JSON object to the `submitJob()` SDK method. The following table defines the details that need to be provided in the JSON object.
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`
  • **Optional** parameter. The number of retries and the retry interval can be provided as a JSON key-value pair.
  • `number_of_retries`: The number of retries that need to be attempted.
  • `retry_interval`: The interval in which the retries need to occur.
```javascript // create function job const functionJob = await jobScheduling.JOB.submitJob({ job_name: 'test_job', // set a name for the job jobpool_name: 'test', // set the name of the Function jobpool where the job should be submitted target_type: 'Function', // set the target type as Function for function jobs target_name: 'target_function', // set the target function's name (optional) (either target_id or target_name is mandatory) // target_id: '123467890', // set the target function's ID (optional) (either target_id or target_name is mandatory) params: { arg1: 'test', arg2: 'job' }, // set params to be passed to target function (optional) job_config: { number_of_retries: 2, // set the number of retries retry_interval: 15 * 60 // set the retry interval } // set job config - job retries => 2 retries in 15 mins (optional) }); ``` **Circuits** #### Parameters Used The details of the Job that needs to be created and submitted to the *Circuit Job Pool* to trigger a Circuit will be passed as a JSON object to the `submitJob()` SDK method. The following table defines the details that need to be provided in the JSON object.
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`
  • **Optional** parameter. The number of retries and the retry interval can be provided as a JSON key-value pair.
  • `number_of_retries`: The number of retries that need to be attempted.
  • `retry_interval`: The interval in which the retries need to occur.
```javascript // create circuit job const circuitJob = await jobScheduling.JOB.submitJob({ job_name: 'test_job', // set a name for the job jobpool_name: 'test', // set the name of the Circuit jobpool where the job should be submitted target_type: 'Circuit', // set the target type as Circuit for circuit jobs target_name: 'target_circuit', // set the target circuit's name (optional) (either target_id or target_name is mandatory) // target_id: '123467890', // set the target circuit's Id (optional) (either target_id or target_name is mandatory) test_cases: { arg1: 'job', arg2: 'test' }, // set the circuit test cases job_config: { number_of_retries: 2, // set the number of retries retry_interval: 15 * 60 // set the retry interval } // set job config - job retries => 2 retries in 15 mins (optional) }); ``` **AppSail Service** #### Parameters Used The details of the Job that needs to be created and submitted to the *AppSail Job Pool* to trigger an AppSail service will be passed as a JSON object to the `submitJob()` SDK method. The following table defines the details that need to be provided in the JSON object.
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`
  • **Optional** parameter. The number of retries and the retry interval can be provided as a JSON key-value pair.
  • `number_of_retries`: The number of retries that need to be attempted.
  • `retry_interval`: The interval in which the retries need to occur.
```javascript // create appsail job const appsailJob = await jobScheduling.JOB.submitJob({ job_name: 'test_job', // set a name for the job jobpool_name: 'test', // set the name of the AppSail jobpool where the job should be submitted target_type: 'AppSail', // set the target type as AppSail for appsail jobs target_name: 'target_appsail', // set the target appsail's name (optional) (either target_id or target_name is mandatory) // target_id: '123467890', // set the target appsail's ID (optional) (either target_id or target_name is mandatory) request_method: 'POST', // set the appsail request's method url: '/test', // set the appsail's URL path (optional) params: { arg1: 'test', arg2: 'job' }, // set the appsail request's query params (optional) headers: { IS_TEST_REQUEST: 'true' }, // set the appsail request's headers (optional) request_body: 'test_request', // set the appsail request's body (optional) job_config: { number_of_retries: 2, // set the number of retries retry_interval: 15 * 60 // set the retry interval } // set job config - job retries => 2 retries in 15 mins (optional) }); ``` **Webhook** #### Parameters Used The details of the Job that needs to be created and submitted to the *Webhook Job Pool* to trigger any URL will be passed as a JSON object to the `submitJob()` SDK method. The following table defines the details that need to be provided in the JSON object.
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`
  • **Optional** parameter. The number of retries and the retry interval can be provided as a JSON key-value pair.
  • `number_of_retries`: The number of retries that need to be attempted.
  • `retry_interval`: The interval in which the retries need to occur.
```javascript // create webhook job const webhookJob = await jobScheduling.JOB.submitJob({ job_name: 'test_job', // set a name for the job jobpool_name: 'test', // set the name of the Webhook jobpool where the job should be submitted target_type: 'Webhook', // set the target type as Webhook for webhook jobs request_method: 'POST', // set the webhook request's method url: 'https://catalyst.zoho.com', // set the webhook request's URL params: { arg1: 'test', arg2: 'job' }, // set the webhook request's query params (optional) headers: { IS_TEST_REQUEST: 'true' }, // set the webhook request's headers (optional) request_body: 'test_request', // set the webhook request's body (optional) job_config: { number_of_retries: 2, // set the number of retries retry_interval: 15 * 60 // set the retry interval } // set job config - job retries => 2 retries in 15 mins (optional) }); ``` -------------------------------------------------------------------------------- title: "Get Details of a Job" description: "This page describes the method to perform operations in the DataStore component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/job/get-job-details/" service: "Job Scheduling" related: - Catalyst Job Scheduling (/en/job-scheduling/) - Jobs (/en/job-scheduling/help/job/introduction/) - Java SDK Documentation (/en/sdk/java/v1/job-scheduling/jobs/get-job/) - Python SDK Documentation (/en/sdk/python/v1/job-scheduling/jobs/get-job/) - REST API Documentation (/en/api/code-reference/job-scheduling/job/get-job/#GetJobByID) -------------------------------------------------------------------------------- # Get Details of a Job > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/overview/#prerequisites) to use this SDK method. Pass the required job's [`Job ID`](https://docs.catalyst.zoho.com/en/job-scheduling/help/job/key-concepts/#job-id) to the `getJob()` SDK method to get details about a job that has been submitted to a job pool. The `jobScheduling` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/create-instance/) created to perform these operations. ```javascript const job = await jobScheduling.JOB.getJob('1234567890'); // get job details with job ID ``` -------------------------------------------------------------------------------- title: "Delete Job" description: "This page describes the method to perform operations in the DataStore component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/job/delete-job/" service: "Job Scheduling" related: - Catalyst Job Scheduling (/en/job-scheduling/) - Jobs (/en/job-scheduling/help/job/introduction/) - Java SDK Documentation (/en/sdk/java/v1/job-scheduling/jobs/delete-job/) - Python SDK Documentation (/en/sdk/python/v1/job-scheduling/jobs/delete-job/) - REST API Documentation (/en/api/code-reference/job-scheduling/job/delete-job/#DeleteJobByID) -------------------------------------------------------------------------------- # Delete Job > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/overview/#prerequisites) to use this SDK method. Pass the required job's [`Job ID`](https://docs.catalyst.zoho.com/en/job-scheduling/help/job/key-concepts/#job-id) to the deleteJob() SDK method, to delete a job that has been submitted to the Job Pool. The `jobScheduling` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/create-instance/) created to perform these operations. ```javascript const deletedJob = await jobScheduling.JOB.deleteJob('1234567890'); // delete job with job ID ``` #### Cron -------------------------------------------------------------------------------- title: "Create a One-Time Cron" description: "This page describes the method to perform operations in the DataStore component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/cron/create-one-time-cron/" service: "Job Scheduling" related: - Catalyst Job Scheduling (/en/job-scheduling/) - Cron (/en/job-scheduling/help/cron/introduction/) - Java SDK Documentation (/en/sdk/java/v1/job-scheduling/cron/create-one-time-cron/) - Python SDK Documentation (/en/sdk/python/v1/job-scheduling/cron/create-one-time-cron/) - REST API Documentation (/en/api/code-reference/job-scheduling/cron/create-cron/create-one-time-cron/#CreateaOne-TimeCron) -------------------------------------------------------------------------------- # Create a One-Time Cron > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/overview/#prerequisites) to use this SDK method. You can configure the required cron as a JSON object and pass it to the `createCron()` SDK method to create your required cron. The following example snippet will detail how to create a **One-Time Cron** that will schedule the submission of a job to the job pool only once. The `jobScheduling` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/create-instance/) created to perform these operations. > **Note:** The following SDK is written for a job that will trigger a [Job Function](https://docs.catalyst.zoho.com/en/serverless/help/functions/job-functions/). To make the SDK compatible for the other types, you need to replace the value with the proper [Job Pool ID](https://docs.catalyst.zoho.com/en/job-scheduling/help/jobpool/key-concepts/#job-pool-id) or Job Pool Name, and provide the appropriate **Target Name** or **Target ID**. #### Parameters Used You need to construct two JSON objects, one that provides the meta of the job that needs to be submitted and the other is to contain your cron's meta that will schedule the submission of the job to the job pool. The JSON attributes used in these two JSONs are provided in the following table:
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`
  • **Optional** parameter. The number of retries and the retry interval can be provided as a JSON key-value pair.
  • `number_of_retries`: The number of retries that need to be attempted.
  • `retry_interval`: The interval in which the retries need to occur.
`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.
```javascript // create function job meta const jobMeta = { job_name: 'test_job', // set a name for the job target_type: 'Function', // set the target type as Function for function jobs target_name: 'target_function', // set the target function's name (optional) (either target_id or target_name is mandatory) // target_id: '123467890', // set the target function's ID (optional) (either target_id or target_name is mandatory) jobpool_name: 'test', // set the name of the function jobpool (optional) (either jobpool_name or jobpool_id is mandatory) // jobpool_id: '1234567890' // set the ID of the function jobpool (optional) (either jobpool_name or jobpool_id is mandatory) job_config: { number_of_retries: 2, // set the number of retries retry_interval: 15 * 60 // set the retry interval }, // set job config - job retries => 2 retries in 15 mins (optional) params: { arg1: 'test', arg2: 'job' } // set params to be passed to target function (optional) }; // create one time cron details const oneTimeCron = { cron_name: 'one_time', // set a name for the cron (unique) description: 'one_time_cron', // set a description for the cron (optional) cron_status: true, // set the cron status as enabled cron_type: 'OneTime', // set the cron type as OneTime cron_detail: { time_of_execution: Math.floor(Date.now() / 1000) + 60 * 60 + '' // set the execution time as UNIX timestamp // timezone: 'America/Los_Angeles' // set the timezone (optional) }, job_meta: jobMeta // set the function job meta }; // create one time cron const cronDetails = await jobScheduling.CRON.createCron(oneTimeCron); ``` > **Note:** We urge you to use this SDK to exclusively configure [Dynamic Crons](https://docs.catalyst.zoho.com/en/job-scheduling/help/implementation/submit-job-dynamic-cron/), and use the console's UI *Builder* to exclusively configure [Pre-defined Crons](https://docs.catalyst.zoho.com/en/job-scheduling/help/implementation/submit-job-predefined-cron/). -------------------------------------------------------------------------------- title: "Create a Recurring Cron" description: "This page describes the method to perform operations in the DataStore component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/cron/create-recurring-cron/" service: "Job Scheduling" related: - Catalyst Job Scheduling (/en/job-scheduling/) - Cron (/en/job-scheduling/help/cron/introduction/) - Java SDK Documentation (/en/sdk/java/v1/job-scheduling/cron/create-recurring-cron/) - Python SDK Documentation (/en/sdk/python/v1/job-scheduling/cron/create-recurring-cron/) - REST API Documentation (/en/api/code-reference/job-scheduling/cron/create-cron/create-every-cron/#CreateanEveryCron) -------------------------------------------------------------------------------- # Create a Recurring Cron > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/overview/#prerequisites) to use this SDK method. You need to pass the required cron configurations as a JSON object to the createCron() SDK method to create your required recurring cron. The interval of a recurring cron can range anywhere from a minute to entire calendar years. With respect to its schedule type, there are four types of recurring cron: **Every**, **Daily**, **Monthly**, and **Yearly**. The `jobScheduling` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/create-instance/) created to perform these operations. **Every Cron** > **Notes:** * The following SDK is written for a job that will trigger a [Job Function](https://docs.catalyst.zoho.com/en/serverless/help/functions/job-functions/). To make the SDK compatible for the other types, you need to replace the value with proper [Job Pool ID](https://docs.catalyst.zoho.com/en/job-scheduling/help/jobpool/key-concepts/#job-pool-id), or **Job Pool Name**, and provide the appropriate **Target Name**, or **Target ID**. * The following SDK is configured to submit a job every **two hours**, **one minute**, and **three seconds**. You can change this value as per your requirement by passing the relevant value to the `cron_detail` JSON key-value pair. The following SDK can be used to create a recurring cron that will submit a job to the job pool at a scheduled interval that is **less than 24Hrs**. #### Parameters Used You need to construct two JSON objects, one that provides the meta of the job that needs to be submitted and the other is to contain your cron's meta that will schedule the submission of the job to the job pool. The JSON attributes used in these two JSONs are provided in the following table:
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`
  • **Optional** parameter. The number of retries and the retry interval can be provided as a JSON key-value pair.
  • `number_of_retries`: The number of retries that need to be attempted.
  • `retry_interval`: The interval in which the retries need to occur.
`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:
  • **hour**: To set the hour interval of the repetition.
  • **minute**: To set the minute interval of the repetition.
  • **second**: To set the second interval of the repetition.
  • `repetition type`: Ensure you set value as "**every**" for an *Every* type recurring cron.
`job_meta` **Mandatory** parameter. Pass the `jobMeta` JSON object as value.
```javascript // create function job meta const jobMeta = { job_name: 'test_job', // set a name for the job target_type: 'Function', // set the target type as Function for function jobs target_name: 'target_function', // set the target function's name (optional) (either target_id or target_name is mandatory) // target_id: '123467890', // set the target function's ID (optional) (either target_id or target_name is mandatory) jobpool_name: 'test', // set the name of the function jobpool (optional) (either jobpool_name or jobpool_id is mandatory) // jobpool_id: '1234567890', // set the ID of the function jobpool (optional) (either jobpool_name or jobpool_id is mandatory) job_config: { number_of_retries: 2, // set the number of retries retry_interval: 15 * 60 // set the retry interval }, // set job config - job retries => 2 retries in 15 mins (optional) params: { arg1: 'test', arg2: 'job' } // set params to be passed to target function (optional) }; // create every cron details const everyCron = { cron_name: 'every_cron', // set a name for the cron (unique) description: 'every_cron', // set a description for the cron (optional) cron_status: true, // set the cron status as enabled cron_type: 'Periodic', // set the cron type as Periodic for every cron cron_detail: { hour: 2, // set the hour interval of the repetition minute: 1, // set the minute interval of the repetition second: 3, // set the second interval of the repetition repetition_type: 'every' // set the repetition type as every for every cron }, job_meta: jobMeta // set the function job meta }; // create every cron const everyCronDetails = await jobScheduling.CRON.createCron(everyCron); ``` **Daily Cron** > **Notes:** * The following SDK is written for a job that will trigger a [Job Function](https://docs.catalyst.zoho.com/en/serverless/help/functions/job-functions/). To make the SDK compatible for the other types, you need to replace the value with proper [Job Pool ID](https://docs.catalyst.zoho.com/en/job-scheduling/help/jobpool/key-concepts/#job-pool-id), or **Job Pool Name**, and provide the appropriate **Target Name**, or **Target ID**. * The following SDK is configured to execute the cron on **0Hr 0Min 0Sec** every single day. You can change this value as per your requirement by passing the relevant value to the `cron_detail` JSON key-value pair. The following SDK can be used to schedule a cron job that submits a task to the job pool at a fixed **daily interval**. #### Parameters Used You need to construct two JSON objects, one that provides the meta of the job that needs to be submitted and the other is to contain your cron's meta that will schedule the submission of the job to the job pool. The JSON attributes used in these two JSONs are provided in the following table:
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`
  • **Optional** parameter. The number of retries and the retry interval can be provided as a JSON key-value pair.
  • `number_of_retries`: The number of retries that need to be attempted.
  • `retry_interval`: The interval in which the retries need to occur.
`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:
  • **hour**: To set the hour interval of the repetition.
  • **minute**: To set the minute interval of the repetition.
  • **second**: To set the second interval of the repetition.
  • `repetition type`: Ensure you set value as "**daily**" for an *Daily* type recurring cron.
`job_meta` **Mandatory** parameter. Pass the `jobMeta` JSON object as value.
```javascript // create function job meta const jobMeta = { job_name: 'test_job', // set a name for the job target_type: 'Function', // set the target type as Function for function jobs target_name: 'target_function', // set the target function's name (optional) (either target_id or target_name is mandatory) // target_id: '123467890', // set the target functions's Id (optional) (either target_id or target_name is mandatory) jobpool_name: 'test', // set the name of the function jobpool (optional) (either jobpool_name or jobpool_id is mandatory) // jobpool_id: '1234567890', // set the Id of the function jobpool (optional) (either jobpool_name or jobpool_id is mandatory) job_config: { number_of_retries: 2, // set the number of retries retry_interval: 15 * 60 // set the retry interval }, // set job config - job retries => 2 retries in 15 mins (optional) params: { arg1: 'test', arg2: 'job' } // set params to be passed to target function (optional) }; // create daily cron details const dailyCron = { cron_name: 'daily_cron', // set a name for the cron (unique) description: 'daily_cron', // set a description for the cron (optional) cron_status: true, // set the cron status as enabled cron_type: 'Calendar', // set the cron type as Calendar for daily, monthly and yearly cron_detail: { hour: 0, // set the hour of the day in which the cron should be executed minute: 0, // set the minute of the day in which the cron should be executed second: 0, // set the second of the day in which the cron should be executed repetition_type: 'daily' // set the repetition type as daily for daily cron // timezone: 'America/Los_Angeles' // set the timezone (optional) }, job_meta: jobMeta // set the function job meta }; // create daily cron const dailyCronDetails = await jobScheduling.CRON.createCron(dailyCron); ``` **Monthly Cron** > **Notes:** * The following SDK is written for a job that will trigger a [Job Function](https://docs.catalyst.zoho.com/en/serverless/help/functions/job-functions/). To make the SDK compatible for the other types, you need to replace the value with proper [Job Pool ID](https://docs.catalyst.zoho.com/en/job-scheduling/help/jobpool/key-concepts/#job-pool-id), or **Job Pool Name**, and provide the appropriate **Target Name**, or **Target ID**. * The following SDK is configured to execute the cron that will submit a job to the job pool **every month** on the **1st**, **3rd**, and **5th** at **0Hrs**, **0Mins**, **0Secs**. You can change this value as per your requirement by passing the relevant value to the `cron_detail` JSON key-value pair. The following SDK can be used to schedule a cron to [submit a job](https://docs.catalyst.zoho.com/en/job-scheduling/help/implementation/submit-jobs-using-jobs/) to the [job pool](https://docs.catalyst.zoho.com/en/job-scheduling/help/jobpool/introduction/) at a fixed date, and time at a **monthly interval**. Additionally, you also have the option to submit a job at a monthly interval but on a particular week. If you choose to schedule the cron to execute at a monthly interval on a date-based schedule, then the range of possible dates, based on the **month**, will be **1-31**. Similarly, if you choose a **week-based** interval, then the range can either be from **1-4**, and the particular **days of the week** will be in the range of **1-7**. #### Parameters Used You need to construct two JSON objects, one that provides the meta of the job that needs to be submitted and the other is to contain your cron's meta that will schedule the submission of the job to the job pool. The JSON attributes used in these two JSONs are provided in the following table:
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`
  • **Optional** parameter. The number of retries and the retry interval can be provided as a JSON key-value pair.
  • `number_of_retries`: The number of retries that need to be attempted.
  • `retry_interval`: The interval in which the retries need to occur.
`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:
  • **hour**: To set the hour interval of the repetition.
  • **minute**: To set the minute interval of the repetition.
  • **second**: To set the second interval of the repetition.
  • **days**: To set the days of the month in which the cron should be executed.
  • `repetition type`: Ensure you set value as "**monthly**" for an *Monthly* type recurring cron.
`job_meta` **Mandatory** parameter. Pass the `jobMeta` JSON object as value.
```javascript // create function job meta const jobMeta = { job_name: 'test_job', // set a name for the job target_type: 'Function', // set the target type as Function for function jobs target_name: 'target_function', // set the target function's name (optional) (either target_id or target_name is mandatory) // target_id: '123467890', // set the target functions's ID (optional) (either target_id or target_name is mandatory) jobpool_name: 'test', // set the name of the function jobpool (optional) (either jobpool_name or jobpool_id is mandatory) // jobpool_id: '1234567890' // set the ID of the function jobpool (optional) (either jobpool_name or jobpool_id is mandatory) job_config: { number_of_retries: 2, // set the number of retries retry_interval: 15 * 60 // set the retry interval }, // set job config - job retries => 2 retries in 15 mins (optional) params: { arg1: 'test', arg2: 'job' } // set params to be passed to target function (optional) }; // create monthly cron details const monthlyCron = { cron_name: 'monthly_cron', // set a name for the cron (unique) description: 'monthly_cron', // set a description for the cron (optional) cron_status: true, // set the cron status as enabled cron_type: 'Calendar', // set the cron type as Calendar for daily, monthly and yearly cron_detail: { hour: 0, // set the hour of the day in which the cron should be executed minute: 0, // set the minute of the day in which the cron should be executed second: 0, // set the second of the day in which the cron should be executed days: [1, 3, 5], // set the days of the month in which the cron should be executed // week_day: [1, 3], // set the days of the week in a month during which the cron should be executed // weeks_of_month: [2], // set the weeks of the month during which the cron should be executed repetition_type: 'monthly' // set the repetition type as monthly for monthly cron // timezone: 'America/Los_Angeles' // set the timezone (optional) }, job_meta: jobMeta // set function job meta }; // create monthly cron const monthlyCronDetails = await jobScheduling.CRON.createCron(monthlyCron); ``` **Yearly Cron** > **Notes:** * The following SDK is written for a job that will trigger a [Job Function](https://docs.catalyst.zoho.com/en/serverless/help/functions/job-functions/). To make the SDK compatible for the other types, you need to replace the value with proper [Job Pool ID](https://docs.catalyst.zoho.com/en/job-scheduling/help/jobpool/key-concepts/#job-pool-id), or **Job Pool Name**, and provide the appropriate **Target Name**, or **Target ID**. * The following SDK is configured to execute the cron that will submit a job to the job pool on the **1st**, **2nd**, and **3rd** on the **8th** month of **every year**. You can change this value as per your requirement by passing the relevant value to the `cron_detail` JSON key-value pair. The following SDK can be used to schedule a cron to [submit a job](https://docs.catalyst.zoho.com/en/job-scheduling/help/implementation/submit-jobs-using-jobs/) to the [job pool](https://docs.catalyst.zoho.com/en/job-scheduling/help/jobpool/introduction/) at a fixed date, and time at a fixed month on a **yearly interval**. Additionally, you also have the option to submit a job at a yearly interval but on a particular week. If you choose to schedule the cron to execute at a **yearly** interval on a date-based schedule, then the range of possible dates, based on the **month**, will be **1-31**, and the **month** will be determined based on the range of values **1-12**. Similarly, if you choose a **week-based** interval, then the range can either be from **1-4**, and the particular **days of the week** will be in the range of **1-7**. #### Parameters Used You need to construct two JSON objects, one that provides the meta of the job that needs to be submitted and the other is to contain your cron's meta that will schedule the submission of the job to the job pool. The JSON attributes used in these two JSONs are provided in the following table:
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`
  • **Optional** parameter. The number of retries and the retry interval can be provided as a JSON key-value pair.
  • `number_of_retries`: The number of retries that need to be attempted.
  • `retry_interval`: The interval in which the retries need to occur.
`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:
  • **hour**: To set the hour interval of the repetition.
  • **minute**: To set the minute interval of the repetition.
  • **second**: To set the second interval of the repetition.
  • **days**: To set the days of the month in which the cron should be executed.
  • **months**: To set the months of the year in which the cron should be executed.
  • `repetition type`: Ensure you set value as "**yearly**" for a *Yearly* type recurring cron.
`job_meta` **Mandatory** parameter. Pass the `jobMeta` JSON object as value.
```javascript // create function job meta const jobMeta = { job_name: 'test_job', // set a name for the job target_type: 'Function', // set the target type as Function for function jobs target_name: 'target_function', // set the target function's name (optional) (either target_id or target_name is mandatory) // target_id: '123467890', // set the target function's ID (optional) (either target_id or target_name is mandatory) jobpool_name: 'test', // set the name of the function jobpool (optional) (either jobpool_name or jobpool_id is mandatory) // jobpool_id: '1234567890', // set the ID of the function jobpool (optional) (either jobpool_name or jobpool_id is mandatory) job_config: { number_of_retries: 2, // set the number of retries retry_interval: 15 * 60 // set the retry interval }, // set job config - job retries => 2 retries in 15 mins (optional) params: { arg1: 'test', arg2: 'job' } // set params to be passed to target function (optional) }; // create yearly cron details const yearlyCron = { cron_name: 'yearly_cron', // set a name for the cron (unique) description: 'yearly_cron', // set a description for the cron (optional) cron_status: true, // set the cron status as enabled cron_type: 'Calendar', // set the cron type as Calendar for daily, monthly and yearly cron_detail: { hour: 0, // set the hour of the day in which the cron should be executed minute: 0, // set the minute of the day in which the cron should be executed second: 0, // set the second of the day in which the cron should be executed days: [1, 2, 3], // set the days of the month in which the cron should be executed // week_day: [1, 3], // set the days of the week in a month during which the cron should be executed // weeks_of_month: [2], // set the weeks of the month during which the cron should be executed months: [8], // set the months of the year in which the cron should be executed repetition_type: 'yearly' // set the repetition type as yearly for yearly cron // timezone: 'America/Los_Angeles' // set the timezone (optional) }, job_meta: jobMeta // set function job meta }; // create yearly cron const yearlyCronDetails = await jobScheduling.CRON.createCron(yearlyCron); ``` > **Note:** We urge you to use this SDK to exclusively configure [Dynamic Crons](https://docs.catalyst.zoho.com/en/job-scheduling/help/implementation/submit-job-dynamic-cron/), and use the console's UI *Builder* to exclusively configure [Pre-defined Crons](https://docs.catalyst.zoho.com/en/job-scheduling/help/implementation/submit-job-predefined-cron/). -------------------------------------------------------------------------------- title: "Create a Cron Using Cron Expressions" description: "This page describes the method to perform operations in the DataStore component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/cron/create-cron-expressions/" service: "Job Scheduling" related: - Catalyst Job Scheduling (/en/job-scheduling/) - Cron (/en/job-scheduling/help/cron/introduction/) - Cron Expressions (/en/job-scheduling/help/cron/key-concepts/#cron-expressions) - Java SDK Documentation (/en/sdk/java/v1/job-scheduling/cron/create-cron-cron-expressions/) - Python SDK Documentation (/en/sdk/python/v1/job-scheduling/cron/create-cron-cron-expressions/) - REST API Documentation (/en/api/code-reference/job-scheduling/cron/create-cron/create-cron-cron-exp/#CreateaCronUsingCronExpressions) -------------------------------------------------------------------------------- # Create a Cron Using Cron Expressions > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/overview/#prerequisites) to use this SDK method. The example code snippet in this section will detail the manner you can use *Cron Expressions* to configure the schedule of your cron. Once you've configured the cron, you can pass it to the `createCron()` SDK method to create the required cron. The `jobScheduling` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/create-instance/) created to perform these operations. > **Notes:** * [Learn more about Cron Expressions](https://docs.catalyst.zoho.com/en/job-scheduling/help/cron/key-concepts/#cron-expressions) * It is advised you generate your cron expression using the *Builder* in the console and then copy the expression for your use case. This will ensure you avoid any unintentional errors. * In the following SDK, the cron has been configured using *Cron Expressions*, to submit a job to the job pool on **0Hrs 0Mins 0Secs** on **every 1st day of the week** on the **1st month of every year**. You can change this value as per your requirement by passing the relevant value to the `cron_expression` JSON key-value pair. #### Parameters Used You need to construct two JSON objects, one that provides the meta of the job that needs to be submitted and the other is to contain your cron's meta that will schedule the submission of the job to the job pool. The JSON attributes used in these two JSONs are provided in the following table:
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`
  • **Optional** parameter. The number of retries and the retry interval can be provided as a JSON key-value pair.
  • `number_of_retries`: The number of retries that need to be attempted.
  • `retry_interval`: The interval in which the retries need to occur.
`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.
```javascript // create function job meta const jobMeta = { job_name: 'test_job', // set a name for the job target_type: 'Function', // set the target type as Function for function jobs target_name: 'target_function', // set the target function's name (optional) (either target_id or target_name is mandatory) // target_id: '123467890', // set the target function's ID (optional) (either target_id or target_name is mandatory) jobpool_name: 'test', // set the name of the function jobpool (optional) (either jobpool_name or jobpool_id is mandatory) // jobpool_id: '1234567890', // set the ID of the function jobpool (optional) (either jobpool_name or jobpool_id is mandatory) job_config: { number_of_retries: 2, // set the number of retries retry_interval: 15 * 60 // set the retry interval }, // set job config - job retries => 2 retries in 15 mins (optional) params: { arg1: 'test', arg2: 'job' } // set params to be passed to target function (optional) }; // create expression cron details const expressionCron = { cron_name: 'expression_cron', // set a name for the cron (unique) description: 'expression_cron', // set a description for the cron (optional) cron_status: true, // set the cron status as enabled cron_type: 'CronExpression', // set the cron type as Calendar for daily, monthly and yearly cron_expression: '0 0 * 1 1', // set the cron expression // timezone: 'America/Los_Angeles', // set the timezone (optional) cron_detail: {}, // set the cron details job_meta: jobMeta // set function job meta }; // create expression cron const expressionCronDetails = await jobScheduling.CRON.createCron(expressionCron); ``` > **Note:** We urge you to use this SDK to exclusively configure [Dynamic Crons](https://docs.catalyst.zoho.com/en/job-scheduling/help/implementation/submit-job-dynamic-cron/), and use the console's UI *Builder* to exclusively configure [Pre-defined Crons](https://docs.catalyst.zoho.com/en/job-scheduling/help/implementation/submit-job-predefined-cron/). -------------------------------------------------------------------------------- title: "Get Details of a Particular Cron" description: "This page describes the method to perform operations in the DataStore component." last_updated: "2026-10-30T18:08:11.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/cron/get-cron-details/" service: "Job Scheduling" related: - Catalyst Job Scheduling (/en/job-scheduling/) - Cron (/en/job-scheduling/help/cron/introduction/) - Java SDK Documentation (/en/sdk/java/v1/job-scheduling/cron/get-cron-details/) - Python SDK Documentation (/en/sdk/python/v1/job-scheduling/cron/get-cron-details/) - REST API Documentation (/en/api/code-reference/job-scheduling/cron/get-cron/#GetCronByIdentifier) -------------------------------------------------------------------------------- # Get Details of a Particular Cron > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/overview/#prerequisites) to use this SDK method. You can pass the name or the [Cron ID](https://docs.catalyst.zoho.com/en/job-scheduling/help/cron/key-concepts/#cron-id) of the required [Pre-Defined](https://docs.catalyst.zoho.com/en/job-scheduling/help/implementation/submit-job-predefined-cron/) or [Dynamic Cron](https://docs.catalyst.zoho.com/en/job-scheduling/help/implementation/submit-job-dynamic-cron/) to the `getCron()` SDK method to get details about the cron. The `jobScheduling` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/create-instance/) created to perform these operations. ```javascript const cronDetailsWithName = await jobScheduling.CRON.getCron('test_cron'); // get cron with cron name const cronDetailsWithId = await jobScheduling.CRON.getCron('1234567890'); // get cron with cron ID ``` -------------------------------------------------------------------------------- title: "Get Details of All Crons" description: "This page describes the method to perform operations in the DataStore component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/cron/get-all-cron/" service: "Job Scheduling" related: - Catalyst Job Scheduling (/en/job-scheduling/) - Cron (/en/job-scheduling/help/cron/introduction/) - Java SDK Documentation (/en/sdk/java/v1/job-scheduling/cron/get-all-cron-details/) - Python SDK Documentation (/en/sdk/python/v1/job-scheduling/cron/get-all-cron-details/) - REST API Documentation (/en/api/code-reference/job-scheduling/cron/get-all-cron/#GetAllCrons) -------------------------------------------------------------------------------- # Get Details of All Crons > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/overview/#prerequisites) to use this SDK method. You can use the `getAllCron()` SDK method to get the details of all [Pre-defined Crons](https://docs.catalyst.zoho.com/en/job-scheduling/help/implementation/submit-job-predefined-cron/). The `jobScheduling` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/create-instance/) created to perform these operations. > **Note:** This method will only fetch you details of *Pre-Defined Crons*. This method will not work for [Dynamic Crons](https://docs.catalyst.zoho.com/en/job-scheduling/help/implementation/submit-job-dynamic-cron/#configure-a-dynamic-cron). ```javascript const allCrons = await jobScheduling.CRON.getAllCron(); // get all cron ``` -------------------------------------------------------------------------------- title: "Update Cron" description: "This page describes the method to perform operations in the DataStore component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/cron/update-cron/" service: "Job Scheduling" related: - Catalyst Job Scheduling (/en/job-scheduling/) - Cron (/en/job-scheduling/help/cron/introduction/) - Java SDK Documentation (/en/sdk/java/v1/job-scheduling/cron/update-cron/) - Python SDK Documentation (/en/sdk/python/v1/job-scheduling/cron/update-cron/) - REST API Documentation (/en/api/code-reference/job-scheduling/cron/update-cron/update-one-time-cron/#UpdateaOne-TimeCron) -------------------------------------------------------------------------------- # Update Cron > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/overview/#prerequisites) to use this SDK method. You can use the `updateCron()` SDK method to update the name, description, and target of a [Pre-defined](https://docs.catalyst.zoho.com/en/job-scheduling/help/implementation/submit-job-predefined-cron/) or [Dynamic](https://docs.catalyst.zoho.com/en/job-scheduling/help/implementation/submit-job-dynamic-cron/#configure-a-dynamic-cron) cron. You can select your required cron by passing the [cron ID](https://docs.catalyst.zoho.com/en/job-scheduling/help/cron/key-concepts/#cron-id) to the [`getCron()`](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/cron/get-cron-details/) method, and update the details using the `updateCron()` method. The `jobScheduling` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/create-instance/) created to perform these operations. ```javascript const cron = await jobScheduling.CRON.getCron('test_cron'); // get cron cron.cron_name = 'test'; const updatedCronDetailsWithName = await jobScheduling.CRON.updateCron('test_cron', cron); // update cron details with cron name updatedCronDetailsWithName.cron_name = 'test_new'; const updatedCronDetailsWithId = await jobScheduling.CRON.updateCron('1234567890', updatedCronDetailsWithName); // update cron details with cron id ``` -------------------------------------------------------------------------------- title: "Pause Cron" description: "This page describes the method to perform operations in the DataStore component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/cron/pause-cron/" service: "Job Scheduling" related: - Catalyst Job Scheduling (/en/job-scheduling/) - Cron (/en/job-scheduling/help/cron/introduction/) - Java SDK Documentation (/en/sdk/java/v1/job-scheduling/cron/pause-cron/) - Python SDK Documentation (/en/sdk/python/v1/job-scheduling/cron/pause-cron/) - REST API Documentation (/en/api/code-reference/job-scheduling/cron/get-cron/#GetCronByIdentifier) -------------------------------------------------------------------------------- # Pause Cron > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/overview/#prerequisites) to use this SDK method. You can pass the [cron ID](https://docs.catalyst.zoho.com/en/job-scheduling/help/cron/key-concepts/#cron-id) or name of the [Pre-defined](https://docs.catalyst.zoho.com/en/job-scheduling/help/implementation/submit-job-predefined-cron/) or [Dynamic](https://docs.catalyst.zoho.com/en/job-scheduling/help/implementation/submit-job-dynamic-cron/) cron to the `pauseCron()` SDK method to temporarily halt a cron from submitting a job to the job pool. The `jobScheduling` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/create-instance/) created to perform these operations. ```javascript const pausedCronWithName = await jobScheduling.CRON.pauseCron('test_cron'); // pause cron with cron name const pausedCronWithId = await jobScheduling.CRON.pauseCron('1234567890'); // pause cron with cron ID ``` -------------------------------------------------------------------------------- title: "Resume Cron" description: "This page describes the method to perform operations in the DataStore component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/cron/resume-cron/" service: "Job Scheduling" related: - Catalyst Job Scheduling (/en/job-scheduling/) - Cron (/en/job-scheduling/help/cron/introduction/) - Java SDK Documentation (/en/sdk/java/v1/job-scheduling/cron/resume-cron/) - Python SDK Documentation (/en/sdk/python/v1/job-scheduling/cron/resume-cron/) - REST API Documentation (/en/api/code-reference/job-scheduling/cron/get-cron/#GetCronByIdentifier) -------------------------------------------------------------------------------- # Resume Cron > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/overview/#prerequisites) to use this SDK method. You can pass a previously paused [Pre-defined](https://docs.catalyst.zoho.com/en/job-scheduling/help/implementation/submit-job-predefined-cron/) or [Dynamic](https://docs.catalyst.zoho.com/en/job-scheduling/help/implementation/submit-job-dynamic-cron/) cron's [cron ID](https://docs.catalyst.zoho.com/en/job-scheduling/help/cron/key-concepts/#cron-id) or name to the `resumeCron()` SDK method to resume the cron's schedule and continue submitting a job to the job pool. The `jobScheduling` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/create-instance/) created to perform these operations. ```javascript const resumedCronWithName = await jobScheduling.CRON.resumeCron('test_cron'); // resume cron with cron name const resumedCronWithId = await jobScheduling.CRON.resumeCron('1234567890'); // resume cron with cron ID ``` -------------------------------------------------------------------------------- title: "Run Cron" description: "This page describes the method to perform operations in the DataStore component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/cron/run-cron/" service: "Job Scheduling" related: - Catalyst Job Scheduling (/en/job-scheduling/) - Cron (/en/job-scheduling/help/cron/introduction/) - Java SDK Documentation (/en/sdk/java/v1/job-scheduling/cron/run-cron/) - Python SDK Documentation (/en/sdk/python/v1/job-scheduling/cron/run-cron/) - REST API Documentation (/en/api/code-reference/job-scheduling/cron/get-cron/#GetCronByIdentifier) -------------------------------------------------------------------------------- # Run Cron > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/overview/#prerequisites) to use this SDK method. You can pass a [Pre-defined](https://docs.catalyst.zoho.com/en/job-scheduling/help/implementation/submit-job-predefined-cron/) or [Dynamic](https://docs.catalyst.zoho.com/en/job-scheduling/help/implementation/submit-job-dynamic-cron/) cron's [cron ID](https://docs.catalyst.zoho.com/en/job-scheduling/help/cron/key-concepts/#cron-id) or name to the `runCron()` SDK method to instantly execute it. The executed cron will instantly submit a job to the job pool. The `jobScheduling` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/create-instance/) created to perform these operations. ```javascript const jobA = await jobScheduling.CRON.runCron('test_cron'); // run cron with cron name const jobB = await jobScheduling.CRON.runCron('1234567890'); // run cron with cron ID ``` -------------------------------------------------------------------------------- title: "Delete Cron" description: "This page describes the method to perform operations in the DataStore component." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/cron/delete-cron/" service: "Job Scheduling" related: - Catalyst Job Scheduling (/en/job-scheduling/) - Cron (/en/job-scheduling/help/cron/introduction/) - Java SDK Documentation (/en/sdk/java/v1/job-scheduling/cron/delete-cron/) - Python SDK Documentation (/en/sdk/python/v1/job-scheduling/cron/delete-cron/) - REST API Documentation (/en/api/code-reference/job-scheduling/cron/delete-cron/#DeleteCron) -------------------------------------------------------------------------------- # Delete Cron > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/overview/#prerequisites) to use this SDK method. You can pass a [Pre-defined](https://docs.catalyst.zoho.com/en/job-scheduling/help/implementation/submit-job-predefined-cron/) or [Dynamic](https://docs.catalyst.zoho.com/en/job-scheduling/help/implementation/submit-job-dynamic-cron/) cron's [cron ID](https://docs.catalyst.zoho.com/en/job-scheduling/help/cron/key-concepts/#cron-id) or name to the `deleteCron()` SDK method to delete it. The `jobScheduling` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/job-scheduling/create-instance/) created to perform these operations. ```javascript const deletedCronWithName = await jobScheduling.CRON.deleteCron('test_cron'); // delete cron with name const deletedCronWithId = await jobScheduling.CRON.deleteCron('1234567890'); // delete cron with ID ``` ### Pipelines -------------------------------------------------------------------------------- title: "Overview" description: "This page describes the method to perform operations using the components in Pipelines services." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/pipelines/overview/" service: "Pipelines" related: - Catalyst Pipelines (/en/pipelines/help/pipelines/introduction/) - Java SDK Documentation (/en/sdk/java/v1/pipelines/) - Python SDK Documentation (/en/sdk/python/v1/pipelines/) - REST API Documentation (/en/api/code-reference/smartbrowz/browser-grid/list-all-grids/#ListallBrowserGrids) -------------------------------------------------------------------------------- # Pipelines JavaScript SDK # Overview [Pipelines](https://docs.catalyst.zoho.com/en/pipelines/help/pipelines/introduction/) is a Catalyst service, that allows you to implement a CI/CD approach. This enables the automation of building, testing, and deployment of web and mobile applications to preferred environments. ### Prerequisites You will need to install the following package to be able to use the Pipelines SDK methods. ```sh npm install @zcatalyst/pipelines ``` > **Info:** Ensure that you have applied the [required authentication configuration](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/auth-config/node-consideration/) to use the SDK methods of this component. ### Import Requirement You will need to import the following modules to use the SDK methods of Pipelines components. ```javascript const { Pipelines } = require('@zcatalyst/pipelines');//Pipelines module ``` ### List of SDK Methods
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
  • [Get Details of a Pipeline](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/pipelines/get-pipeline-details/)
  • [Execute Pipeline](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/pipelines/execute-pipeline/)
**Admin**
> **Info:** [Learn more about the Pipelines service](https://docs.catalyst.zoho.com/en/pipelines/help/pipelines/introduction/). -------------------------------------------------------------------------------- title: "Create Pipelines Instance" description: "This page describes the method to perform operations using the components in the Pipelines Services." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/pipelines/create-instance/" service: "Pipelines" related: - Catalyst Pipelines (/en/pipelines/help/pipelines/introduction/) - Java SDK Documentation (/en/sdk/java/v1/pipelines/get-pipeline-instance/) - Python SDK Documentation (/en/sdk/python/v1/pipelines/get-pipeline-instance/) - REST API Documentation (/en/api/code-reference/pipelines/get-pipeline-details/#GetPipelineDetails) -------------------------------------------------------------------------------- # Create Pipelines Instance > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/pipelines/overview/#prerequisites) to use this SDK method. You can get the `pipelines` component reference as shown below. This will not fire a server-side call. You will refer to this component instance in various code snippets of working with Pipelines. ```javascript const pipelines = new Pipelines(); //Get a Pipelines instance ``` -------------------------------------------------------------------------------- title: "Get Details of a Pipeline" description: "This page describes the method to perform operations using the components in SmartBrowz Services." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/pipelines/get-pipeline-details/" service: "Pipelines" related: - Catalyst Pipelines (/en/pipelines/help/pipelines/introduction/) - Java SDK Documentation (/en/sdk/java/v1/pipelines/get-pipeline-details/) - Python SDK Documentation (/en/sdk/python/v1/pipelines/get-pipeline-details/) - REST API Documentation (/en/api/code-reference/pipelines/get-pipeline-details/#GetPipelineDetails) -------------------------------------------------------------------------------- # Get Details of a Pipeline > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/pipelines/overview/#prerequisites) to use this SDK method. You can fetch the details of a Pipeline by passing the [pipeline ID](https://docs.catalyst.zoho.com/en/pipelines/help/pipelines/create-a-pipeline/) to the `getPipelineDetails()` SDK method. The `pipelines` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/pipelines/create-instance/) created to perform these operations. ```javascript // get the pipeline details const pipeline_details = pipelines.getPipelineDetails("16965000000019146"); ``` #### Example of Expected Response The name of the pipeline, details of the Catalyst project in which the pipeline has been created, the details of the user who created the pipeline, the time of creation, and if modifications have been done, the details of the user who modified the pipeline, the modified time, the status of the pipeline, and other details like runner specifications are returned as response to this method. ```json { "pipeline_id": "16965000000019146", "name": "test1", "project_details": { "project_name": "Project-Rainfall", "id": "5000000000072", "project_type": "Live" }, "created_by": { "zuid": "20257791", "is_confirmed": false, "email_id": "amelia.burrows@zylker.com", "first_name": "Amelia", "last_name": "Burrows", "user_type": "Admin", "user_id": "5000000000056" }, "created_time": "Mar 19, 2024 11:28 AM", "modified_by": { "zuid": "20257791", "is_confirmed": false, "email_id": "amelia.burrows@zylker.com", "first_name": "Amelia", "last_name": "Burrows", "user_type": "Admin", "user_id": "5000000000056" }, "modified_time": "Mar 19, 2024 11:28 AM", "git_account_id": "", "mask_regex": [null], "pipeline_status": "Active", "config_id": 2, "integ_id": 1 } ``` -------------------------------------------------------------------------------- title: "Execute Pipeline" description: "This page describes the method to perform operations using the components in SmartBrowz Services." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/pipelines/execute-pipeline/" service: "Pipelines" related: - Catalyst Pipelines (/en/pipelines/help/pipelines/introduction/) - Java SDK Documentation (/en/sdk/java/v1/pipelines/execute-pipeline/) - Python SDK Documentation (/en/sdk/python/v1/pipelines/execute-pipeline/) - REST API Documentation (/en/api/code-reference/pipelines/execute-pipeline/#ExecutePipeline) -------------------------------------------------------------------------------- # Execute Pipeline > **Note:** Ensure you have installed the [required package](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/pipelines/overview/#prerequisites) to use this SDK method. You can initiate a Catalyst pipeline run by passing the [pipeline ID](https://docs.catalyst.zoho.com/en/pipelines/help/pipelines/create-a-pipeline/) and the branch name to the `runPipeline()` SDK method. You can also pass environment variables required for the pipeline execution in a JSON object to this method, and it is completely optional. This method returns the execution history details of the pipeline as the response. The `pipelines` reference used in the code snippets below is the [component instance](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/pipelines/create-instance/) created to perform these operations. ```javascript // run the pipeline const execution_details = pipelines.runPipeline("PIPELINE_ID", 'BRANCH_NAME',{"EVENT": "push", "URL":"https://www.google.com"}); // replace the params with your pipeline id, branch, event and url ``` #### Example of Expected Response ```json { "history_id": "5000000021007", "pipeline_id": "8431000000162051", "event_time": "Mar 20, 2024 02:02 PM", "event_details": { "BRANCH_NAME": "main", "EVENT": "push", "URL": "https://www.google.com" }, "history_status": "Queued" } ``` ### QuickML -------------------------------------------------------------------------------- title: "Create QuickML Instance" description: "This page describes the method to perform operations using the components in SmartBrowz Services." last_updated: "2026-09-10T11:33:54.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/quickml/create-quickml-instance/" service: "QuickML" related: - Catalyst QuickML (/en/quickml/) - Java SDK Documentation (/en/sdk/java/v1/quickml/execute-quickml-endpoints/) - NodeJS SDK Documentation (/en/sdk/nodejs/v2/quickml/execute-quickml-endpoints/) - Python SDK Documentation (/en/sdk/python/v1/pipelines/get-pipeline-instance/) - REST API Documentation (/en/api/code-reference/pipelines/get-pipeline-details/#GetPipelineDetails) -------------------------------------------------------------------------------- [Catalyst QuickML](https://docs.catalyst.zoho.com/en/quickml/) is the no-code machine learning platform designed to build pipelines and train machine learning models with your own data fetched from the various data connectors. Access and integrate these trained models by creating endpoints with necessary authentications and publish them to serve live predictions in production environments. QuickML also provides access to Large Language Models, Vision Language Models, and Retrieval Augmented Generation (RAG) features under Generative AI offerings. You can create endpoints and access each of them through their isolated APIs and effortlessly integrate them with your applications. **Create QuickML Instance** The app reference used in the code below is the Javascript object returned as a response during SDK initialization. You will refer to this component instance in various code snippets of working with QuickML. You can create a new instance as shown below: ```javascript // Create a QuickML instance. const quickML = new QuickML(app); ``` -------------------------------------------------------------------------------- title: "Execute Custom ML Endpoint" description: "This page describes the method to perform operations using the components in SmartBrowz Services." last_updated: "2026-10-30T17:47:18.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/quickml/execute-custom-ml-endpoint/" service: "QuickML" related: - Catalyst QuickML (/en/quickml/) - Java SDK Documentation (/en/sdk/java/v1/quickml/execute-quickml-endpoints/) - NodeJS SDK Documentation (/en/sdk/nodejs/v2/quickml/execute-quickml-endpoints/) - Python SDK Documentation (/en/sdk/python/v1/pipelines/execute-pipeline/) - REST API Documentation (/en/api/code-reference/pipelines/execute-pipeline/#ExecutePipeline) -------------------------------------------------------------------------------- The code snippet given below allows you to pass input data to a published [QuickML endpoint](https://docs.catalyst.zoho.com/en/quickml/help/pipeline-endpoints/), and get the inferences from the ML model. The output returns the prediction of the values of the target column that is defined while creating the ML pipeline. > **Note:** 1. You will need to have the LLM endpoint created and published in your project using the Catalyst console, before you execute the code snippets below. 2. The model and its parameters are fixed at the time of endpoint creation and cannot be overridden through the SDK. 3. QuickML is currently available to Catalyst users accessing from the US, IN, & EU data centers. The *QuickML instance* is created as shown below. Creating the instance does not make a server-side call. You can then define an input object containing the data to be passed to the model endpoint as key-value pairs. The keys in the input object must match the features expected by the model. The *endpointKey* is the unique ID of the endpoint published for the ML model configured in your project. Pass the endpoint key and input data to the **runInference(endpointKey, inputData)** method to run inference on the model. The app reference used in the code below is the Catalyst app instance returned during SDK initialization. **Sample Code Snippet** ```javascript //ML-endpoint change method name for ml endpoint predict to runInference const app = await zcAuth.init(req); const quickML = new QuickML(app); //ml endpoint const endpointKey = ""; // Replace with your model input. // The input object should match the features expected by your model. const inputData = { "": "", "": "" }; const predictionResponse = await quickML.runInference(endpointKey,inputData); console.log(predictionResponse); ``` The syntax of the model response received is shown below: ```javascript { "status": "success", "result": [ { "prediction": "1", "confidence": 0.87 } ] } ``` **Parameters Used**
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.
> **Note:** The **predict(endpointKey, inputData)** method continues to be supported for existing implementations and performs the same operation as **runInference(endpointKey, inputData)**. We recommend using **runInference()** in new implementations for consistency with the updated QuickML SDK methods. **Where to find the endpoint information?** Create an endpoint for your trained ML model and access its endpoint details page in the Catalyst console. The page provides the Endpoint URL, required headers, and a sample request and response. ![sdk-javascript-1.webp](https://catalyst-docs-development.zohostratus.in/images/sdk/javascript/quickml/sdk-javascript-1.webp) > **Info :** Refer to the [SDK Scopes table](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/scopes/) to determine the required permission level for performing the above operation. -------------------------------------------------------------------------------- title: "Execute LLM Endpoint" description: "This page describes the method to perform operations using the components in SmartBrowz Services." last_updated: "2026-09-23T13:11:30.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/quickml/execute-llm-endpoint/" service: "QuickML" related: - Catalyst QuickML (/en/quickml/) - Java SDK Documentation (/en/sdk/java/v1/quickml/execute-quickml-endpoints/) - NodeJS SDK Documentation (/en/sdk/nodejs/v2/quickml/execute-quickml-endpoints/) - Python SDK Documentation (/en/sdk/python/v1/pipelines/execute-pipeline/) - REST API Documentation (/en/api/code-reference/pipelines/execute-pipeline/#ExecutePipeline) -------------------------------------------------------------------------------- ## LLM Serving ## QuickML now provides Generative AI services by hosting Large Language Models and Vision Language Models (VLM) under Generative AI section in the console. LLM Serving is equipped with Chat instance with a set of parameters for each model to provide additional control over its responses. LLM serving is equipped with two interaction modes with language models. The only difference between these two is keeping the context of prior messages while responding to the query. Let's take a quick look at the explanation. - **Single-shot mode**: Each prompt request to the model is treated independently while generating the response, with no memory of previous turns. - **Conversation mode**: Maintains context throughout the session. Prior turns are passed as context, allowing multi-turn conversations. **Execute LLM Endpoint** With Catalyst QuickML, you can tune the responses of available large language models according to your needs and access them from your application using authenticated endpoints. An LLM Endpoint is created from a saved parameter configuration, so the model used, tools, Instructions, system prompt, and generation parameters you tested in the console are exactly what your application calls. > **Note:** 1. You will need to have the LLM endpoint created and published in your project using the Catalyst console, before you execute the code snippets below. 2. The model and its parameters are fixed at the time of endpoint creation and cannot be overridden through the SDK. 3. QuickML is currently available to Catalyst users accessing from the US, IN, & EU data centers. The SDK method you call depends on the interaction mode the endpoint was configured with:
Interaction mode SDK method
Conversation mode OFF (Single shot mode) askLlm(endpointKey, prompt)
Conversation mode ON converseWithLlm(endpointKey, prompt, conversationId)
### a. Generate an LLM Response Single-shot interaction with a language model requires a prompt and a valid endpoint key. The endpoint key is generated when the LLM endpoint is created. The **askLlm(llmEndpointKey, llmPrompt)** method sends a prompt to the published LLM endpoint and returns the generated response. Each request is processed independently, and no conversation context is retained between requests. **Parameter Used**
Parameter Description Values
llmEndpointKey The unique ID of the LLM endpoint published in your project String
llmPrompt The message sent to the model String

**Sample Code Snippet** ```javascript // ------------------------------------------------------------- // LLM - Generate Response // ------------------------------------------------------------ const llmEndpointKey = ""; const llmPrompt = ""; const llmResponse = await quickML.askLlm(llmEndpointKey,llmPrompt); console.log(llmResponse); ``` The syntax of the model response received is shown below: ```javascript { "status": "success", "result": [ { "content": "The generated response text from the model.", "finish_reason": "stop", "usage": { "input_tokens": 42, "output_tokens": 128, "total_tokens": 170 } } ] } ``` Use this method for single-shot interaction tasks such as summarization, classification, content generation, or extraction. > **Info :** Refer to the [SDK Scopes table](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/scopes/) to determine the required permission level for performing the above operation. ### b. Converse with an LLM Conversation mode requires a prompt, a valid endpoint key, and a conversation ID. The endpoint key is generated when the LLM endpoint is created. The **converseWithLlm(llmConversationEndpointKey, llmConversationPrompt, conversationId)** method sends a prompt to a published LLM endpoint while retaining the context of previous interactions in the same conversation. **Parameters used**
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

> **Note:** For the first request, you can either omit the conversationId or pass "-1". The response generates and returns a unique conversation ID. Pass this ID in subsequent requests to continue the same conversation thread. **Sample Code Snippet** ```javascript // ------------------------------------------------------------------ // LLM - Chat with History // ------------------------------------------------------------------ // Replace with your endpoint key copied from the Catalyst console. const llmConversationEndpointKey = ""; const llmConversationPrompt = ""; /* * For the first request, use "-1". * For subsequent requests, use the conversation ID returned in the previous response. */ const conversationId = ""; const conversationResponse = await quickML.converseWithLlm(llmConversationEndpointKey, llmConversationPrompt, conversationId); console.log(conversationResponse); ``` The syntax of the model response received is shown below: ```javascript { "status": "success", "result": [ { "conversation_id": "55663000000288001", "content": "The generated response text from the model.", "finish_reason": "stop", "usage": { "input_tokens": 310, "output_tokens": 96, "total_tokens": 406 } } ] } ``` Use this method to build chat experiences where the model must retain the context of previous interactions. **Where to find the endpoint information** Create an endpoint for your saved LLM configuration and access the endpoint details page in the Catalyst console. The page provides the Endpoint URL, required headers, and a sample request and response. ![sdk-javascript-2.webp](https://catalyst-docs-development.zohostratus.in/images/sdk/javascript/quickml/sdk-javascript-2.webp) > **Info :** Refer to the [SDK Scopes table](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/scopes/) to determine the required permission level for performing the above operation. -------------------------------------------------------------------------------- title: "Execute Vision Model Endpoint" description: "This page describes the method to perform operations using the components in SmartBrowz Services." last_updated: "2026-09-23T13:11:30.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/quickml/execute-vision-model-endpoint/" service: "QuickML" related: - Catalyst QuickML (/en/quickml/) - Java SDK Documentation (/en/sdk/java/v1/quickml/execute-quickml-endpoints/) - NodeJS SDK Documentation (/en/sdk/nodejs/v2/quickml/execute-quickml-endpoints/) - Python SDK Documentation (/en/sdk/python/v1/pipelines/execute-pipeline/) - REST API Documentation (/en/api/code-reference/pipelines/execute-pipeline/#ExecutePipeline) -------------------------------------------------------------------------------- ## Vision Language Model ## QuickML hosts Vision Language Models in the LLM Serving module under the Generative AI section in the console. VLMs are multimodal models that accept a file object along with a text prompt and return a natural language response. The model interprets the image according to the text prompt instruction and generates an appropriate response. Interaction with Vision Language Model works similar to single shot interaction mode with LLM. Each request must carry its own file and prompt and is processed independently, with no memory of previous requests. To analyze the same image again with a different instruction, send a new request. **Execute Vision Model Endpoint** VLM is served with its own set of parameters, giving you control over the response before publishing it. You can test a model with sample images and prompts in the test interface, save the configuration, and create an endpoint from it to integrate with your application. A Vision Model endpoint is created from a saved parameter configuration, so the model, system prompt, instructions, and generation parameters you tested in the console are exactly what your application calls. The endpoint must be created from a configuration that uses a Vision Language Model, text-only LLM endpoints do not accept image input. Open the image in binary read mode and pass the file object to the method. > **Note:** 1. You will need to have the Vision Language Model endpoint created and published in your project using the Catalyst console, before you execute the code snippet below. 2. QuickML is currently available to Catalyst users accessing from the US, IN, and EU data centes. ### a. Analyze an Image The **analyzeImage(imageEndpointKey, imageBase64, imagePrompt)** method requires the endpoint key, a Base64-encoded image, and an input prompt. The endpoint key is generated when the VLM endpoint is created. This method sends an image and an accompanying prompt to a published Vision Language Model (VLM) endpoint and returns the model's response. **Parameters used**
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
**Allowed file formats:** .jpg, .jpeg, .png **File size limit:** 500 KB **Sample Code Snippet** ```javascript // ------------------------------------------------------------------- // Vision Model - Analyze Image // ------------------------------------------------------------------- const endpointKey = ""; // Replace with the path to your image. const imagePath = ""; const image = fs.createReadStream(imagePath); const prompt = ""; const result = await quickML.analyzeImage(imageEndpointKey, imageBase64, imagePrompt); console.log(result); ``` The syntax of the response received is shown below: ```javascript { "status": "success", "result": [ { "content": "A description of the image, as instructed by the prompt.", "finish_reason": "stop", "usage": { "input_tokens": 1064, "output_tokens": 74, "total_tokens": 1138 } } ] } ``` Use Vision Language Model for tasks such as image description, document and receipt understanding, chart interpretation, and visual question answering, etc. **Where to find the endpoint information** Create an endpoint for your Saved VLM configuration and access the endpoint details page to view the Endpoint URL, required headers and a sample request response. ![sdk-javascript-3.webp](https://catalyst-docs-development.zohostratus.in/images/sdk/javascript/quickml/sdk-javascript-3.webp) > **Info :** Refer to the [SDK Scopes table](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/scopes/) to determine the required permission level for performing the above operation. -------------------------------------------------------------------------------- title: "Execute RAG Endpoint" description: "This page describes the method to perform operations using the components in SmartBrowz Services." last_updated: "2026-09-23T13:11:30.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/quickml/execute-rag-endpoint/" service: "QuickML" related: - Catalyst QuickML (/en/quickml/) - Java SDK Documentation (/en/sdk/java/v1/quickml/execute-quickml-endpoints/) - NodeJS SDK Documentation (/en/sdk/nodejs/v2/quickml/execute-quickml-endpoints/) - Python SDK Documentation (/en/sdk/python/v1/pipelines/execute-pipeline/) - REST API Documentation (/en/api/code-reference/pipelines/execute-pipeline/#ExecutePipeline) -------------------------------------------------------------------------------- ## RAG ## Retrieval-Augmented Generation (RAG) combines a large language model with your organization's own knowledge base to deliver accurate, context-aware responses grounded in the organization specific documents. Catalyst QuickML is equipped with RAG system under Generative AI services, to deliver responses grounded in the organization's own documents with ground truth citations of the documents for traceability. Multiple RAG modes have been introduced each designed for a different use case. Every mode exposes its own dedicated parameters, giving you absolute control over how the RAG system generates responses. Let's take a quick look at the RAG modes: - **Response Generation**: Response Generation is the standard RAG mode where model generates response grounded with relevant chunks of information from the documents. - **Agentic RAG**: An agent layer on top of RAG that can reason over complex queries, decompose them into sub-queries, and handle conversational interactions. - **Document Search**: It is retrieval-only task, doesn't generate a response but returns the most relevant chunks of content from the documents. ## Execute RAG Endpoint ## Create a RAG endpoint from a saved RAG configuration. The RAG mode, selected large language model, respective parameters, and document store are captured from the saved configuration at the time of endpoint creation. It cannot be overridden through the SDK. The SDK method you call depends on the RAG mode the endpoint was configured with:
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)

> **Note:** 1. You will need to have the RAG endpoint created and published in your project using the Catalyst console, before you execute the code snippets below. 2. QuickML is currently available to Catalyst users accessing from the US, IN, and EU data centers. ### a. Generate a RAG Response The **generateRagResponse(endpointKey, prompt)** method sends a question to a published RAG endpoint. The service retrieves the most relevant content from the endpoint's document store and generates a response grounded in that content. **Parameters used**
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
**Sample Code Snippet** ```javascript // ------------------------------------------------------------------- // RAG - Generate Response // ------------------------------------------------------------------- const ragEndpointKey = ""; const ragPrompt = ""; const ragResponse = await quickML.generateRagResponse( ragEndpointKey, ragPrompt ); console.log(ragResponse); ``` The syntax of the response received is shown below: ```javascript { "status": "success", "result": [ { "content": "The answer, grounded in the retrieved documents.", "citations": [ { "document_name": "employee_handbook_2026.pdf", "document_id": "doc_10294", "chunk_id": "chunk_58", "page_number": 14, "text": "The excerpt of source text the answer was grounded in.", "score": 0.91 } ], "usage": { "input_tokens": 1420, "output_tokens": 112, "total_tokens": 1532 } } ] } ``` Use this method for document-based question answering, summarization, and support assistants. ### b. Search Documents The **searchDocuments(searchEndpointKey, searchQuery)** method performs retrieval only. It returns the chunks of content from the document store that most closely match the query, without generating a response. **Parameters used**
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
**Sample Code Snippet** ```javascript // ------------------------------------------------------------------- // RAG - Document Search // ------------------------------------------------------------------- const searchEndpointKey = ""; const searchQuery = ""; const searchResponse = await quickML.searchDocuments( searchEndpointKey, searchQuery ); console.log(searchResponse); ``` The syntax of the response received is shown below: ```javascript { "status": "success", "result": [ { "chunk_id": "chunk_58", "document_name": "employee_handbook_2026.pdf", "document_id": "doc_10294", "page_number": 14, "text": "The retrieved chunk of content that matched the query.", "score": 0.91 }, { "chunk_id": "chunk_59", "document_name": "employee_handbook_2026.pdf", "document_id": "doc_10294", "page_number": 15, "text": "The next most relevant chunk of content.", "score": 0.84 } ] } ``` Use this method when your application needs the raw retrieved passages for downstream processing, ranking, or custom rendering. ### c. Ask a RAG Agent The **askRagAgent(endpointKey, prompt)** method sends a single message to an Agentic RAG endpoint. The agent can decompose complex queries into sub-queries, refine them, and perform multi-step reasoning over the document store before returning a response. > **Note:** Each call is independent. No conversation context is retained. **Parameters Used**
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
**Sample Code Snippet** ```javascript // ------------------------------------------------------------------- // RAG - Chat without History // ------------------------------------------------------------------- const ragAgentEndpointKey = ""; const ragAgentPrompt = ""; const ragAgentResponse = await quickML.askRagAgent( ragAgentEndpointKey, ragAgentPrompt ); console.log(ragAgentResponse); ``` The syntax of the response received is shown below: ```javascript { "status": "success", "result": [ { "content": "The agent's answer after reasoning over the document store.", "sub_queries": [ "First decomposed sub-query the agent generated.", "Second decomposed sub-query the agent generated." ], "citations": [ { "document_name": "policy_v3.pdf", "document_id": "doc_10877", "chunk_id": "chunk_12", "page_number": 3, "text": "The excerpt of source text the answer was grounded in.", "score": 0.88 } ], "usage": { "input_tokens": 3180, "output_tokens": 204, "total_tokens": 3384 } } ] } ``` ### d. Converse with a RAG Agent The **converseWithRagAgent(ragConversationEndpointKey, ragConversationPrompt, ragConversationId)** method sends a message to an Agentic RAG endpoint while retaining the context of previous turns. Use this method to build multi-turn assistants that answer follow-up questions using the same document store. **Parameters Used**
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
> **Note:** For the first request, you can either omit the ragConversationId or pass "-1". The response automatically generates and returns a unique conversation ID. Pass this ID in subsequent requests to continue the same conversation thread. **Sample Code Snippet** ```javascript // ------------------------------------------------------------------- // RAG - Chat with History // ------------------------------------------------------------------- const ragConversationEndpointKey = ""; const ragConversationPrompt = ""; /* * For the first request, use "-1". * For subsequent requests, use the conversation ID returned * in the previous response. */ const ragConversationId = ""; const ragConversationResponse = await quickML.converseWithRagAgent( ragConversationEndpointKey, ragConversationPrompt, ragConversationId ); console.log(ragConversationResponse); ``` The syntax of the response received is shown below: ```javascript { "status": "success", "result": [ { "conversation_id": "55663000000288001", "content": "The agent's answer, informed by earlier turns in this conversation.", "citations": [ { "document_name": "policy_v3.pdf", "document_id": "doc_10877", "chunk_id": "chunk_12", "page_number": 3, "text": "The excerpt of source text the answer was grounded in.", "score": 0.88 } ], "usage": { "input_tokens": 3612, "output_tokens": 188, "total_tokens": 3800 } } ] } ``` **Where to find the endpoint information** Create an endpoint for your Saved RAG configuration and access the endpoint details page to view the Endpoint URL, required headers and a sample request response. ![sdk-javascript-4.webp](https://catalyst-docs-development.zohostratus.in/images/sdk/javascript/quickml/sdk-javascript-4.webp) > **Info :** Refer to the [SDK Scopes table](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/scopes/) to determine the required permission level for performing the above operation. ### Connectors -------------------------------------------------------------------------------- title: "JavaScript Connectors" description: "This page describes the method to perform operations using the components in SmartBrowz Services." last_updated: "2026-09-09T10:45:38.000Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/connectors/js-connector/" service: "All Services" related: - Java SDK Documentation (/en/sdk/java/v1/connectors/connectors/) - Python SDK Documentation (/en/sdk/python/v1/connectors/connectors/) -------------------------------------------------------------------------------- # Catalyst Connectors JavaScript SDK A **Catalyst Connector** provides a seamless connection between Catalyst and an external Zoho service established through [**Zoho OAuth authentication**](https://www.zoho.com/accounts/protocol/oauth.html). You can use a connector in your Catalyst application if your business logic includes an external Zoho service’s API, such as a Zoho CRM or a Zoho WorkDrive API. ### Prerequisites You need to install the following package to be able to use the Connector SDK methods. ```sh npm install @zcatalyst/connector ``` > **Info:** Ensure that you have applied the [required authentication configuration](https://docs.catalyst.zoho.com/en/sdk/javascript/v1/auth-config/node-consideration/) to use the SDK methods of this component. Catalyst handles the connection by storing the Access Token you generate in [Zoho API console](https://api-console.zoho.com/) for a specific application in [Catalyst Cache](https://docs.catalyst.zoho.com/en/cloud-scale/help/cache/introduction/) until its expiration. After it expires, the connector will automatically fetch a new Access Token using the Refresh Token and store it in the cache. Each time the Access Token expires, the connector automatically fetches and caches a new token in the background, relieving you from the efforts of constructing the logic to maintain an uninterrupted connection with the external Zoho service in your application’s business logic. > **Note:** Catalyst Connectors can only be used to maintain connections with an external Zoho service, and not any third-party services. This is because the OAuth standards maintained across all Zoho services are uniform and compatible for Catalyst to implement the Connectors feature. Before you configure the connector in your Node.js business logic as shown below, you will need to register a new client in the Zoho API console, and follow the steps to generate an Authorization Code and an Access Token for the first time. You can then configure the connector with the Refresh Token received, as well as other standard OAuth parameters, such as the Client ID, Client Secret, Authentication URL, and Refresh URL, that are required to refresh the Access Token automatically at a set rate. You can also incorporate your own logic in the connector based on your requirements. > **Notes:** * The name you provide for each connector in your logic must be unique. * If you create a server-based application in the Zoho API console and you allow the access token to be created for different users within the same application, you will need to provide a different and unique connector name for each user. This is because when the same connector is used for different users in an application, the token will be overwritten on the same cache segment resulting in fetching the wrong user’s data from the external Zoho service. ```javascript // Create a new connection with your connector configuration const connection = new Connection({ ConnectorName: { client_id: '{add_client_id}', // Client ID of your app client_secret: '{add_client_secret}', // Client Secret of your app auth_url: '{add_auth_url}', // OAuth authorization URL refresh_url: '{add_refresh_url}', // OAuth refresh token URL refresh_token: '{add_refresh_token}', // Refresh token obtained from OAuth flow refresh_in: '{add_refresh_in}', // Time (in secs) after which token should be refreshed expires_in: '{add_expires_in}', // Token expiry duration secret_key: 'sample' // Key used to encrypt stored tokens // Configure these OAuth parameters using the values you get // after registering your application in the Zoho API Console // and generating the authorization code. } }); // Get the connector using the connector's registered name const connector = connection.getConnector('ConnectorName'); // Fetch a valid access token const accessToken = await connector.getAccessToken(); ```