--- title: "Create a Cron Using Cron Expressions" url: https://docs.catalyst.zoho.com/en/api/code-reference/job-scheduling/cron/create-cron/create-cron-cron-exp/ description: "This API enables you to create a cron using cron expressions that submits a Job to the Job Pool to trigger a Job Function endpoint." last_updated: 2026-08-17T12:16:04Z service: Job Scheduling type: api --- # Create a Cron Using Cron Expressions ### Description This API enables you to create a recurring type cron defined using [**Cron Expressions**](https://docs.catalyst.zoho.com/en/job-scheduling/help/cron/key-concepts/#cron-expressions) that at the scheduled time will submit a [job](https://docs.catalyst.zoho.com/en/job-scheduling/help/job/introduction/) to the [job pool](https://docs.catalyst.zoho.com/en/job-scheduling/help/jobpool/introduction/) and trigger a [Job Function](https://docs.catalyst.zoho.com/en/serverless/help/functions/job-functions/) endpoint. > **Note:** * In this API, we are illustrating the sample request and sample response with a [Job Function](https://docs.catalyst.zoho.com/en/serverless/help/functions/job-functions/). The API functionality remains the same for webhook, [Circuits](https://docs.catalyst.zoho.com/en/serverless/help/circuits/introduction/), and [AppSail](https://docs.catalyst.zoho.com/en/serverless/help/appsail/introduction/) jobs. * This API is applicable for [Pre-Defined Crons](https://docs.catalyst.zoho.com/en/job-scheduling/help/implementation/submit-job-predefined-cron/) and [Dynamic Crons](https://docs.catalyst.zoho.com/en/job-scheduling/help/implementation/submit-job-dynamic-cron/). ### Request Details #### Request URL `POST` {api-domain/}baas/v1/project/{project_id}/job_scheduling/cron - **project_id** (Numerical): The [unique ID](https://docs.catalyst.zoho.com/en/getting-started/set-up-a-catalyst-project/general-settings/) of the project #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} **Content-Type:** application/json **Optional Headers** **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.cron.CREATE #### Request JSON You must send a JSON with its corresponding values as shown below. **Sample Payload** ```json { "cron_type": "CronExpression", "cron_status": true, "cron_expression": "* * * * *", "job_detail": { "timezone": "PST" }, "job_meta": { "source_type": "Cron", "job_config": { "number_of_retries": "1", "retry_interval": "500" }, "job_name": "jobName", "jobpool_id": "10108000003823563", "target_type": "Function", "target_id": "10108000003823893", "params": { "param1": "value1" } }, "cron_name": "cronExp", "description": "cronexpression", "end_time": 1717916399, "cron_execution_type": "pre-defined" } ``` You will feed this **Request JSON** to your **Request Body**, and you need to provide the value of: - **cron_type** (String, mandatory): Will denote the schedule type of the cron - **cron_status** (Boolean, mandatory): Will denote if the cron is enabled or disabled. - **job_detail** (JSON, mandatory): Will contain the details on the job which is being submitted by the cron. - **job_meta** (JSON, mandatory): Will contain the meta information about the job being submitted by the cron. - **jobpool_id** (Numerical, mandatory): Will contain the [Job Pool ID](https://docs.catalyst.zoho.com/en/job-scheduling/help/jobpool/key-concepts/#job-pool-id) of the job pool that will execute the job. - **job_name** (String, mandatory): Will contain the name of the job you are required to trigger. - **target_type** (String, mandatory): Will denote which target type's endpoint is going to be triggered. Can be `Function`, `Webhook`, `Circuit`, or `AppSail`. - **target_id** (Numerical, mandatory): Will contain the unique ID with which the target type will be referred. - **params** (JSON, mandatory): Will contain the value of the headers and params you pass while submitting the job. - **cron_name** (String, mandatory): Will contain the name of the cron you are going to create. - **cron_execution_type** (String, mandatory): Will denote if it is a `pre-defined` cron or `dynamic` cron. ### Response Details The JSON response returns the metadata of the created cron. The response will also contain the details of the user who created the cron. **Sample Request** ```bash curl -X POST \ https://api.catalyst.zoho.com/baas/v1/project/10108000003823392/job_scheduling/cron -H "Authorization: Zoho-oauthtoken 1000.910*************************16.2f*************************57" -H "Content-Type:application/json" -\-data-raw '{"cron_type":"CronExpression","cron_status":true,"cron_expression":"* * * * *","job_detail":{"timezone":"PST"},"job_meta":{"source_type":"Cron","job_config":{"number_of_retries":"1","retry_interval":"500"},"job_name":"jobName","jobpool_id":"10108000003823563","target_type":"Function","target_id":"10108000003823893","params":{"param1":"value1"}},"cron_name":"cronExp","description":"cronexpression","end_time":1717916399,"cron_execution_type":"pre-defined"}' ``` **Sample Response** ```json { "status": "success", "data": { "cron_name": "cronExp", "description": "cronexpression", "cron_type": "CronExpression", "cron_execution_type": "pre-defined", "cron_expression": "* * * * *", "job_meta": { "id": "10108000004280709", "url": "", "job_name": "jobName", "job_config": { "number_of_retries": 1, "retry_interval": 500 }, "target_type": "Function", "target_details": { "id": "10108000003823893", "target_name": "target_function_fetch" }, "source_type": "Cron", "source_details": { "id": "10108000004280707", "source_name": "cronExp", "details": { "cron_execution_type": "pre-defined" } }, "jobpool_id": "10108000003823563", "jobpool_details": { "type": "Function", "name": "VendorReminder", "created_by": { "zuid": "77941453", "is_confirmed": false, "email_id": "emmy@zylker.com", "first_name": "Amelia Burrows", "last_name": "", "user_type": "Admin", "user_id": "10108000000009004" }, "created_time": "May 28, 2024 04:44 PM", "modified_by": { "zuid": "77941453", "is_confirmed": false, "email_id": "emmy@zylker.com", "first_name": "Amelia Burrows", "last_name": "", "user_type": "Admin", "user_id": "10108000000009004" }, "modified_time": "May 28, 2024 04:44 PM", "capacity": { "memory": "2048" }, "project_details": { "project_name": "ZylkerShipments", "id": "10108000003823392", "project_type": "Live" }, "id": "10108000003823563" }, "headers": {}, "params": { "param1": "value1" } }, "cron_status": true, "created_time": "Jun 07, 2024 12:51 PM", "created_by": { "zuid": "77941453", "is_confirmed": false, "email_id": "emmy@zylker.com", "first_name": "Amelia Burrows", "last_name": "", "user_type": "Admin", "user_id": "10108000000009004" }, "modified_time": "Jun 07, 2024 12:51 PM", "modified_by": { "zuid": "77941453", "is_confirmed": false, "email_id": "emmy@zylker.com", "first_name": "Amelia Burrows", "last_name": "", "user_type": "Admin", "user_id": "10108000000009004" }, "project_details": { "project_name": "ZylkerShipments", "id": "10108000003823392", "project_type": "Live" }, "end_time": "1717916399", "cron_detail": { "jobId": "10108000004280707", "transactionTimeout": -1, "hour": 0, "minute": 0, "second": 0, "timezone": "PST" }, "id": "10108000004280707" } } ``` ### SDK Documentation [Create a Cron Using Cron Expressions- Java SDK](https://docs.catalyst.zoho.com/en/sdk/java/v1/job-scheduling/cron/create-cron-cron-expressions/) [Create a Cron Using Cron Expressions- Node.js SDK](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/job-scheduling/cron/create-cron-cron-expressions/) [Create a Cron Using Cron Expressions- Python SDK](https://docs.catalyst.zoho.com/en/sdk/python/v1/job-scheduling/cron/create-cron-cron-expressions/)