Skip to main content

Search Schedule Definitions with Pagination

Endpoint: GET /api/scheduler/schedules/search

Retrieves a paginated list of schedule definitions based on the specified query parameters. You can filter results by workflow name, schedule name, sort order, and paused status.

Query parameters

ParameterDescriptionTypeRequired/Optional
startThe index of the first record to retrieve. Used for pagination. Default is 0.

For example, start=0 returns results from the first record, and start=2 skips the first two records and returns results starting from the third.
integerOptional.
sizeThe maximum number of records to return per page. For example, size=5 returns up to five records starting from the offset defined by start. Default is 100.integerOptional.
sortThe field to sort results by. Results are sorted in ascending order. Supported values:
  • name: Schedule name
  • workflowname: Workflow name
  • createtime: Creation timestamp
  • updatedtime: Last update timestamp
  • startworkflowrequest: Workflow name
If no value is specified or if the value doesn’t match one of these fields, results are sorted by name by default.
stringOptional.
workflowNameFilters the results by the specified workflow name.stringOptional.
nameFilters the results by the specified schedule name.stringOptional.
pausedFilters results based on the schedule’s paused state.

Set to true to return only paused schedules, or false to return active ones.
booleanOptional.
freeTextFree text search across schedule names. Default is *.stringOptional.

Response

Returns an object that includes the total number of matching schedules (totalHits) and an array of schedule details (results).

Examples

Sort the schedule definitions by schedule name with pagination

Request

curl -X 'GET' \
'https://<YOUR-CLUSTER>/api/scheduler/schedules/search?start=0&size=2&sort=name' \
-H 'accept: application/json' \
-H 'X-Authorization: <TOKEN>'

Response

Since the request used start=0 and size=2, sorted by name, the result returned the first two definitions sorted alphabetically by schedule name.

{
"totalHits": 10,
"results": [
{
"tags": [],
"name": "annual_upgrade",
"cronExpression": "0 0 12 31 JAN ?",
"runCatchupScheduleInstances": false,
"paused": true,
"startWorkflowRequest": {
"name": "update_eks_workflow_development",
"version": 1,
"correlationId": "",
"input": {
"organizationId": "",
"clusterName": "",
"cloudEnvTag": "",
"version": "",
"force": ""
},
"taskToDomain": {},
"priority": 0
},
"zoneId": "UTC",
"createTime": 1712207849301,
"updatedTime": 1724309841595,
"createdBy": "john.doe@acme.com",
"updatedBy": "john.doe@acme.com",
"queueMsgId": "annual_upgrade"
},
{
"tags": [
{
"key": "team",
"value": "docs"
}
],
"name": "assignPR",
"cronExpression": "0 * * ? * *",
"runCatchupScheduleInstances": false,
"paused": true,
"startWorkflowRequest": {
"name": "github_pr_reviewer_assignment",
"version": 2,
"correlationId": "",
"input": {},
"taskToDomain": {},
"priority": 0
},
"zoneId": "UTC",
"createTime": 1748866217788,
"updatedTime": 1748866349489,
"createdBy": "john.doe@acme.com",
"updatedBy": "john.doe@acme.com",
"description": "Sample scheduler for running workflow every 2 mins",
"orgId": "0000",
"queueMsgId": "assignPR"
}
]
}
Retrieve paginated schedule definitions sorted by name

Request

curl -X 'GET' \
'https://<YOUR-CLUSTER>/api/scheduler/schedules/search?start=3&size=5&sort=name' \
-H 'accept: application/json' \
-H 'X-Authorization: <TOKEN>'

Response

Since the request used start=3 and size=5, sorted by name, the result skipped the first three records and returned the next five schedule definitions in ascending order by schedule name.

{
"totalHits": 10,
"results": [
{
"tags": [],
"name": "emailNurturingAutomation",
"cronExpression": "0 0 12 L * ?",
"runCatchupScheduleInstances": false,
"paused": true,
"startWorkflowRequest": {
"name": "emailNurturing",
"correlationId": "",
"input": {
"input": "open"
},
"taskToDomain": {},
"priority": 0
},
"zoneId": "US/Pacific",
"scheduleStartTime": 1741896000000,
"scheduleEndTime": 1743537600000,
"createTime": 1741854890817,
"updatedTime": 1753878026414,
"createdBy": "john.doe@acme.com",
"updatedBy": "john.doe@acme.com",
"description": "Email nurturing workflow for \"open\" event",
"orgId": "0000",
"queueMsgId": "emailNurturingAutomation"
},
{
"tags": [],
"name": "emailNurturingAutomation_1",
"cronExpression": "0 0 12 L * ?",
"runCatchupScheduleInstances": false,
"paused": true,
"startWorkflowRequest": {
"name": "emailNurturing",
"correlationId": "",
"input": {
"input": "click"
},
"taskToDomain": {},
"priority": 0
},
"zoneId": "US/Pacific",
"scheduleStartTime": 1741896000000,
"scheduleEndTime": 1743537600000,
"createTime": 1741854966363,
"updatedTime": 1745916513575,
"createdBy": "john.doe@acme.com",
"updatedBy": "john.doe@acme.com",
"description": "Email nurturing workflow for \"click\" event",
"orgId": "0000",
"queueMsgId": "emailNurturingAutomation_1"
},
{
"tags": [
{
"key": "delete",
"value": "maybe"
}
],
"name": "metaMAN",
"cronExpression": "0 1/2 * ? * *",
"runCatchupScheduleInstances": false,
"paused": true,
"startWorkflowRequest": {
"name": "NewWorkflow_gp65l",
"correlationId": "",
"input": {
"": ""
},
"taskToDomain": {},
"priority": 0
},
"zoneId": "US/Samoa",
"createTime": 1724304500671,
"updatedTime": 1724311646839,
"createdBy": "john.doe@acme.com",
"updatedBy": "john.doe@acme.com",
"description": "create",
"queueMsgId": "metaMAN"
},
{
"tags": [],
"name": "test",
"cronExpression": "0 0 12 ? JAN,FEB,APR *",
"runCatchupScheduleInstances": false,
"paused": false,
"startWorkflowRequest": {
"name": "NewWorkflow_9mt7n",
"version": 1,
"correlationId": "",
"input": {},
"taskToDomain": {},
"priority": 0
},
"zoneId": "UTC",
"createTime": 1761736758411,
"updatedTime": 1761736758411,
"createdBy": "john.doe@acme.com",
"updatedBy": "john.doe@acme.com",
"description": "",
"orgId": "0000",
"queueMsgId": "test"
},
{
"tags": [],
"name": "testnaj920220sasas",
"cronExpression": "0 0 */2 ? * *",
"runCatchupScheduleInstances": false,
"paused": true,
"pausedReason": "Security Error: User not found (createdBy, updatedBy) for testnaj920220sasas",
"startWorkflowRequest": {
"name": "multiversion",
"correlationId": "",
"input": {},
"taskToDomain": {},
"priority": 0
},
"zoneId": "UTC",
"createTime": 1761238168442,
"updatedTime": 1761242400114,
"createdBy": "john.doe@acme.com",
"description": "cool",
"orgId": "0000",
"queueMsgId": "testnaj920220sasas"
}
]
}
Get schedule definitions with a specific workflow

Request

curl -X 'GET' \
'https://<YOUR-CLUSTER>/api/scheduler/schedules/search?workflowName=Monitor-HTTP-Endpoint-Availability-john' \
-H 'accept: application/json' \
-H 'X-Authorization: <TOKEN>'

Response

Retrieves schedules where the workflow name matches Monitor-HTTP-Endpoint-Availability-john.

{
"totalHits": 1,
"results": [
{
"tags": [],
"name": "AutomateEndpointMonitoring",
"cronExpression": "0 */2 * ? * *",
"runCatchupScheduleInstances": false,
"paused": true,
"startWorkflowRequest": {
"name": "Monitor-HTTP-Endpoint-Availability-john",
"version": 2,
"correlationId": "",
"input": {
"notification_type": "SMS",
"endpoint_url": "https://www.orkes.io/",
"notification_from": "14XXXXXXXXX",
"notification_to": "12XXXXXXXX"
},
"taskToDomain": {},
"priority": 0
},
"zoneId": "US/Central",
"createTime": 1739347903909,
"updatedTime": 1740464299515,
"createdBy": "john.doe@acme.com",
"updatedBy": "john.doe@acme.com",
"description": "Scheduler that runs Monitor-HTTP-Endpoint-Availability workflow every 2 mins.",
"orgId": "0000",
"queueMsgId": "AutomateEndpointMonitoring"
}
]
}
Get schedule definitions with a specific schedule

Request

curl -X 'GET' \
'https://<YOUR-CLUSTER>/api/scheduler/schedules/search?start=0&size=100&name=assignPR' \
-H 'accept: application/json' \
-H 'X-Authorization: <TOKEN>'

Response

Retrieves the schedule definition with the specified schedule name (assignPR).

{
"totalHits": 1,
"results": [
{
"tags": [
{
"key": "team",
"value": "docs"
}
],
"name": "assignPR",
"cronExpression": "0 * * ? * *",
"runCatchupScheduleInstances": false,
"paused": true,
"startWorkflowRequest": {
"name": "github_pr_reviewer_assignment",
"version": 2,
"correlationId": "",
"input": {},
"taskToDomain": {},
"priority": 0
},
"zoneId": "UTC",
"createTime": 1748866217788,
"updatedTime": 1748866349489,
"createdBy": "john.doe@acme.com",
"updatedBy": "john.doe@acme.com",
"description": "Sample scheduler for running workflow every 2 mins",
"orgId": "0000",
"queueMsgId": "assignPR"
}
]
}
Get all active schedule definitions

Request

curl -X 'GET' \
'https://<YOUR-CLUSTER>/api/scheduler/schedules/search?start=0&size=100&paused=false' \
-H 'accept: application/json' \
-H 'X-Authorization: <TOKEN>'

Result

Returns all schedules that are currently active (not paused).

{
"totalHits": 1,
"results": [
{
"tags": [],
"name": "test",
"cronExpression": "0 0 12 ? JAN,FEB,APR *",
"runCatchupScheduleInstances": false,
"paused": false,
"startWorkflowRequest": {
"name": "NewWorkflow_9mt7n",
"version": 1,
"correlationId": "",
"input": {},
"taskToDomain": {},
"priority": 0
},
"zoneId": "UTC",
"createTime": 1761736758411,
"updatedTime": 1761736758411,
"createdBy": "john.doe@acme.com",
"updatedBy": "john.doe@acme.com",
"description": "",
"orgId": "0000",
"queueMsgId": "test"
}
]
}
Search schedule definitions by freeText

Request

curl -X 'GET' \
'https://<YOUR-CLUSTER>/api/scheduler/schedules/search?start=0&size=100&freeText=annual' \
-H 'accept: application/json' \
-H 'X-Authorization: <TOKEN>'

Response

Returns all schedules that contain the text annual.

{
"totalHits": 1,
"results": [
{
"tags": [],
"name": "annual_upgrade",
"cronExpression": "0 0 12 31 JAN ?",
"runCatchupScheduleInstances": false,
"paused": true,
"startWorkflowRequest": {
"name": "update_eks_workflow_development",
"version": 1,
"correlationId": "",
"input": {
"organizationId": "",
"clusterName": "",
"cloudEnvTag": "",
"version": "",
"force": ""
},
"taskToDomain": {},
"priority": 0
},
"zoneId": "UTC",
"createTime": 1712207849301,
"updatedTime": 1765194189117,
"createdBy": "john.doe@acme.com",
"updatedBy": "john.doe@acme.com",
"orgId": "0000",
"queueMsgId": "annual_upgrade"
}
]
}