REST API Reference > Platform REST API version 3 resources > Schedules
  

Schedules

Use the schedule resource to request details of the schedules in the organization. You can also use this resource to create, update, or delete schedules.
You can use the following request methods:
Note: To leverage full scheduling capabilities, use this resource instead of the REST API version 2 schedule resource.

Getting schedule details

Use the schedule resource to request details about the schedules in the organization.

GET request

To get the details of all schedules in the organization, use the following URI:
/public/core/v3/schedule
To get the details of a schedule using the schedule ID, use the following URI:
/public/core/v3/schedule/<id>
You can use a query parameter to get the details for specific schedules. For example, to get the details of all disabled schedules created by the user jdoe, you might use the following URI:
/public/core/v3/schedule?q=status=='Disabled' and createdBy=='jdoe'
You can use the following query parameters in the URI:
Parameter
Type
Description
status
Boolean
Status of the schedule.
You can use the following operators:
  • - ==
  • - !=
id
String
Schedule ID.
Use the == operator.
scheduleFederatedId
String
Global unique identifier for the schedule.
Use the == operator.
name
String
Schedule name.
Use the == operator.
If the schedule name includes a space, replace the space with %20
updateTime
Date
Last time the schedule was updated, in UTC format.
You can use the following operators:
  • - <
  • - <=
  • - ==
  • - =>
  • - >
  • - !=
updatedBy
String
User who updated the schedule.
Use the == operator.
createdBy
String
User who created the schedule.
Use the == operator.
interval
String
Interval or repeat frequency at which the schedule runs. You can use the following values:
  • - None
  • - Minutely
  • - Hourly
  • - Daily
  • - Weekly
  • - Biweekly
  • - Monthly
You can use the following operators:
  • - ==
  • - !=

GET response

If successful, returns the schedules object for the requested schedule. If you request the details for all schedules, the schedules object contains details for each schedule in the organization.
Returns the error object if errors occur.
The schedules object includes the following attributes:
Field
Type
Description
id
String
Schedule ID.
scheduleFederatedId
String
Global unique identifier for the schedule.
name
String
Schedule name.
status
String
Status of the schedule. Returns one of the following values:
  • - enabled
  • - disabled
description
String
Description of the schedule.
createTime
Date/time
Time the schedule was created.
updateTime
Date/time
Last time the schedule was updated.
createdBy
String
User who created the schedule.
updatedBy
String
User who last updated the schedule.
startTime
Date/time
Date and time when the schedule starts running, in UTC format.
endTime
Date/time
Date and time when the schedule stops running.
interval
String
Interval or repeat frequency at which the schedule runs tasks. Returns one of the following codes:
  • - None. The schedule does not repeat.
  • - Minutely. Tasks run on an interval based on the specified number of minutes, days, and time range.
  • - Hourly. Tasks run on an hourly interval based on the start time of the schedule.
  • - Daily. Tasks run on a daily interval based on the start time of the schedule.
  • - Weekly. Tasks run on a weekly interval based on the start time of the schedule.
  • - Biweekly. Tasks run every two weeks based on the start time of the schedule.
  • - Monthly. Tasks run on a monthly interval based on the start time of the schedule.
frequency
Int
Frequency that the schedule runs for the specified interval. For example, if the interval is Hourly, a frequency of 2 means the task runs every 2 hours.
Returned for Minutely, Hourly, and Daily intervals only.
rangeStartTime
Date/time
The start of the time range within a day that tasks run.
Returned for Minutely and Hourly intervals only.
rangeEndTime
Date/time
The end of the time range within a day that tasks run.
Returned for Minutely and Hourly intervals only.
sun
Boolean
Tasks run on Sunday. Returns one of the following codes:
  • - true
  • - false
Returned for Minutely, Hourly, Weekly, and Biweekly intervals only.
mon
Boolean
Tasks run on Monday.
See description for sun.
tue
Boolean
Tasks run on Tuesday.
See description for sun.
wed
Boolean
Tasks run on Wednesday.
See description for sun.
thu
Boolean
Tasks run on Thursday.
See description for sun.
fri
Boolean
Tasks run on Friday.
See description for sun.
sat
Boolean
Tasks run on Saturday.
See description for sun.
weekDay
Boolean
Tasks run on weekdays only. Returns one of the following codes:
  • - true
  • - false
Returned for the Daily interval only.
dayOfMonth
Int
Date of the month that tasks run. Returns a date between 1-28.
Returned for the Monthly interval only.
weekOfMonth
String
Week of the month that tasks run. Returns one of the following codes:
  • - First. The tasks run in the first week of the month.
  • - Second. The tasks run in the second week of the month.
  • - Third. The tasks run in the third week of the month.
  • - Fourth. The tasks run in the fourth week of the month.
  • - Last. The tasks run in the last week of the month.
Returned for the Monthly interval only.
dayOfWeek
String
Day of the week that tasks run. Returns one of the following codes:
  • - Day. Tasks run on the first day or last day of the month, based on the selected weekOfMonth option.
  • - Sunday
  • - Monday
  • - Tuesday
  • - Wednesday
  • - Thursday
  • - Friday
  • - Saturday
Returned for the Monthly interval only.
timeZoneId
String
Time zone used for the day of the week, day of the month, or week of the month that the tasks run.

GET example

To request information about a schedule using the schedule ID, you might use the following request:
GET <baseApiUrl>/public/core/v3/schedule/0An1v84VPL3k6kypOlxq06D0000000000003
Accept: application/json
INFA-SESSION-ID: <sessionId>
A successful response might look like the following example:
{

"id": "0An1v84VPL3k6kypOlxq06D0000000000003",
"scheduleFederatedId" : "24bDtKg6d9SbaNlqDolHSR",
"name": "MI_FILE_LISTENER_10107",
"status":"enabled",
"createTime": "2018-12-03T17:34:45.000Z",
"updateTime": "2019-05-09T12:13:34.000Z",
"createdBy": "clouddemo",
"updatedBy": "vnath",
"startTime": "2020-06-09T00:15:55.000Z",
"interval": "Minutely",
"frequency": 5,
"rangeStartTime" : "",
"rangeEndTime" : "",
"mon": true,
"tue": true,
"wed": true,
"thu": true,
"fri": true,
"sat": true,
"sun": true,
"weekDay": false,
"dayOfMonth": 0,
"weekOfMonth": null,
"dayOfWeek": null,
"timeZoneId": "America/Los Angeles"

}

Creating a schedule

Use the schedule resource to create a schedule for the organization.

POST request

To create a schedule, use the following URI:
/public/core/v3/schedule
You can use the following fields in a schedules object:
Field
Type
Required
Description
name
String
Yes
Schedule name.
description
String
-
Description of the schedule.
status
String
-
Status of the schedule. Use one of the following values:
  • - enabled
  • - disabled
Default is enabled.
startTime
Date/time
Yes
Date and time when the schedule starts running, in UTC format.
endTime
Date/time
-
Date and time when the schedule stops running. If you do not use this parameter, the schedule runs indefinitely.
interval
String
Yes
Interval or repeat frequency at which the schedule runs tasks. Use one of the following options:
  • - None. Tasks run at the schedule start time. The schedule does not repeat.
  • - Minutely. Tasks run on an interval based on the specified number of minutes, days, and time range. You can use the following parameters:
    • - frequency. Frequency in minutes that tasks run.
    • - sun, mon, tue, wed, thu, fri, sat. The days of the week that tasks run.
    • - startTimeRange and endTimeRange. The time range within a day tasks should run. Do not use if you want tasks to run all day.
    • - endTime. When the schedule should stop running. Do not use if you want the schedule to run indefinitely.
  • - Hourly. Tasks run on an hourly interval based on the start time of the schedule. You can use the following parameters:
    • - frequency. Frequency in hours that tasks run.
    • - sun, mon, tue, wed, thu, fri, sat. The days of the week that tasks run.
    • - startTimeRange and endTimeRange. The time range within a day tasks should run. Do not use if you want tasks to run all day.
    • - endTime. When the schedule should stop running. Do not use if you want the schedule to run indefinitely.
  • - Daily. Tasks run on a daily interval based on the start time configured for the schedule. You can use the following parameters:
    • - frequency. Frequency in days that tasks run.
    • - weekDay. Runs the tasks every weekday. Do not use if you want the tasks to run every day.
    • - endTime. When the schedule should stop running. Do not use if you want the schedule to run indefinitely.
  • - Weekly. Tasks run on a weekly interval based on the start time of the schedule. You can use the following parameters:
    • - sun, mon, tue, wed, thu, fri, sat. The days of the week that tasks run.
    • - endTime. When the schedule should stop running. Do not use if you want the schedule to run indefinitely.
  • - Biweekly. Tasks run every two weeks based on the start time of the schedule. You can use the following parameters:
    • - sun, mon, tue, wed, thu, fri, sat. The days of the week that tasks run.
    • - endTime. When the schedule should stop running. Do not use if you want the schedule to run indefinitely.
  • - Monthly. Tasks run on a monthly interval based on the start time of the schedule. You can use the following parameters:
    • - dayOfMonth. Day of the month when you want tasks to run, between 1-28.
    • - dayOfWeek. Day of the week when you want tasks to run.
    • - weekOfMonth. Week of the month when you want tasks to run.
    • - endTime. When the schedule should stop running. Do not use if you want the schedule to run indefinitely.
To indicate when tasks should run, use dayOfWeek with weekOfMonth, such as the First Monday. Or use dayOfMonth, such as 1.
Tip: To run tasks on the last day of the month, use the Last weekOfMonth parameter with the Day dayOfWeek parameter.
Default is no interval.
frequency
Int
Yes
Repeat frequency for tasks. Use one of the following values:
  • - For Minutely intervals, use one of the following options: 5, 10, 15, 20, 30, 45.
  • Default is 5.
  • - For Hourly intervals, use one of the following options: 1, 2, 3, 4, 6, 8, 12.
  • Default is 1.
  • - For Daily intervals, use number of days between 1 -30.
  • Default is 1.
Use with Minutely, Hourly, and Daily intervals only.
rangeStartTime
Date/time
-
The start of the time range within a day that you want tasks to run. Enter a date and time using standard date/time format. Only the time portion is used.
Use with Minutely, Hourly, and Daily intervals only.
rangeEndTime
Date/time
-
The end of the time range within a day that you want tasks to run. Enter a date and time using standard date/time format. Only the time portion is used.
Use with Minutely, Hourly, and Daily intervals only.
sun
Boolean
-
Runs tasks on Sunday at the configured time.
You can use the sun - sat parameters to run tasks on several days of the week.
Use with Minutely, Hourly, Weekly, and Biweekly intervals only.
mon
Boolean
-
Runs tasks on Monday at the configured time.
See description for sun.
tue
Boolean
-
Runs tasks on Tuesday at the configured time.
See description for sun.
wed
Boolean
-
Runs tasks on Wednesday at the configured time.
See description for sun.
thu
Boolean
-
Runs tasks on Thursday at the configured time.
See description for sun.
fri
Boolean
-
Runs tasks on Friday at the configured time.
See description for sun.
sat
Boolean
-
Runs tasks on Saturday at the configured time.
See description for sun.
weekDay
Boolean
-
Runs tasks on weekdays. Use one of the following options:
  • - True. Run tasks on Monday through Friday. Does not run tasks on the weekend.
  • - False. Run tasks every day.
Use with the Daily interval only.
dayOfMonth
Int
-
Date of the month that tasks should run. Use a date between 1-28.
Use with the Monthly interval only.
Tip: To run tasks on the last day of the month, use the Last weekOfMonth parameter with the Day dayOfWeek parameter.
weekOfMonth
String
-
Week of the month that tasks should run. Use with dayOfWeek to specify the day and week of the month that tasks should run. For example, the First Day or the Last Wednesday of the month.
Use one of the following options:
  • - First
  • - Second
  • - Third
  • - Fourth
  • - Last
Use with the Monthly interval only.
dayOfWeek
String
-
Day of the week that tasks should run. Use with weekOfMonth to specify the day and week of the month that tasks should run. For example, the First Day or the Last Wednesday of the month.
Use one of the following options:
  • - Day
  • - Sunday
  • - Monday
  • - Tuesday
  • - Wednesday
  • - Thursday
  • - Friday
  • - Saturday
Use with the Monthly interval only.
timeZoneId
String
-
Time zone that the schedule uses for the dayOfMonth, weekOfMonth, and dayOfWeek fields.
Default is UTC.
For more information, see Appendix A, Time zone codes

POST request example

To create a schedule, your request might look something like the following example:
POST <baseApiUrl>/public/core/v3/schedule
Accept: application/json
INFA-SESSION-ID: <sessionId>
{
"name": "my_schedule_1",
"startTime" : "2023-09-18T22:00:00.000Z",
"interval" : "Minutely",
"frequency" : 5,
"mon" : true,
"wed" : true,
"status" : "enabled"
}

POST response

Returns the schedules response object for the schedule that you created or updated.
Returns an error object if errors occur.
A successful response might look like the following example:
{
"id": "8oKIw0ib9qMg1lGIWNPzkdD000000000000H",
"createTime": "2023-09-10T11:48:28.000Z",
"updateTime": "2023-09-10T11:48:28.000Z",
"createdBy": "dev_scott",
"updatedBy": "dev_scott",
"name": "my_schedule_1",
"rangeStartTime": null,
"rangeEndTime": null,
"status": "enabled",
"frequency": 5,
"description": null,
"mon": true,
"tue": false,
"wed": true,
"thu": false,
"fri": false,
"sat": false,
"sun": false,
"weekDay": false,
"dayOfMonth": 0,
"weekOfMonth": null,
"dayOfWeek": null,
"scheduleFederatedId": "1BrVocfYMAzeQHwXaaMWe7",
"startTime": "2020-12-25T12:00:00.000Z",
"endTime": null,
"interval": "Minutely",
"timeZoneId": "America/Los Angeles"
}

Updating a schedule

Use the schedule resource to update, enable, or disable a schedule.

PATCH request

Use the following URI:
/public/core/v3/schedule/<id>
Include the following fields in the request body:
Field
Type
Required
Description
name
String
-
Schedule name.
id
String
Yes
Schedule ID.
You cannot update the schedule ID.
scheduleFederatedId
String
Yes
Global unique identifier for the schedule.
You cannot update the federated schedule ID.
description
String
-
Description of the schedule.
status
String
-
Status of the schedule. Use one of the following values:
  • - enabled
  • - disabled
Default is enabled.
startTime
Date/time
-
Date and time when the schedule starts running the tasks, in UTC format.
endTime
Date/time
-
Date and time when the schedule stops running the tasks. If you do not use this parameter, the schedule runs indefinitely.
interval
String
-
Interval or repeat frequency at which the schedule runs tasks. Use one of the following options:
  • - None. Tasks run at the schedule start time. The schedule does not repeat.
  • - Minutely. Tasks run on an interval based on the specified number of minutes, days, and time range. You can use the following parameters:
    • - frequency. Frequency in minutes that tasks run.
    • - sun, mon, tue, wed, thu, fri, sat. The days of the week that tasks run.
    • - startTimeRange and endTimeRange. The time range within a day tasks should run. Do not use if you want tasks to run all day.
    • - endTime. When the schedule should stop running. Do not use if you want the schedule to run indefinitely.
  • - Hourly. Tasks run on an hourly interval based on the start time of the schedule. You can use the following parameters:
    • - frequency. Frequency in hours that tasks run.
    • - sun, mon, tue, wed, thu, fri, sat. The days of the week that tasks run.
    • - startTimeRange and endTimeRange. The time range within a day tasks should run. Do not use if you want tasks to run all day.
    • - endTime. When the schedule should stop running. Do not use if you want the schedule to run indefinitely.
  • - Daily. Tasks run on a daily interval on the start time configured for the schedule. You can use the following parameters:
    • - frequency. Frequency in days that tasks run.
    • - weekDay. Runs the tasks every weekday. Do not use if you want the tasks to run every day.
    • - endTime. When the schedule should stop running. Do not use if you want the schedule to run indefinitely.
  • - Weekly. Tasks run on a weekly interval based on the start time of the schedule. You can use the following parameters:
    • - sun, mon, tue, wed, thu, fri, sat. The days of the week that tasks run.
    • - endTime. When the schedule should stop running. Do not use if you want the schedule to run indefinitely.
  • - Biweekly. Tasks run every two weeks based on the start time of the schedule. You can use the following parameters:
    • - sun, mon, tue, wed, thu, fri, sat. The days of the week that tasks run.
    • - endTime. When the schedule should stop running. Do not use if you want the schedule to run indefinitely.
  • - Monthly. Tasks run on a monthly interval based on the start time of the schedule. You can use the following parameters:
    • - dayOfMonth. Day of the month when you want tasks to run, between 1-28.
    • - dayOfWeek. Day of the week when you want tasks to run.
    • - weekOfMonth. Week of the month when you want tasks to run.
    • - endTime. When the schedule should stop running. Do not use if you want the schedule to run indefinitely.
To indicate when tasks should run, use dayOfWeek with weekOfMonth, such as the First Monday. Or use dayOfMonth, such as 1.
Tip: To run tasks on the last day of the month, use the Last weekOfMonth parameter with the Day dayOfWeek parameter.
Default is no interval.
frequency
Int
-
Repeat frequency for tasks. Use one of the following values:
  • - For Minutely intervals, use one of the following options: 5, 10, 15, 20, 30, 45.
  • Default is 5.
  • - For Hourly intervals, use one of the following options: 1, 2, 3, 4, 6, 8, 12.
  • Default is 1.
  • - For Daily intervals, use number of days between 1 -30.
  • Default is 1.
Use with Minutely and Hourly intervals only.
rangeStartTime
Date/time
-
The start of the time range within a day that you want tasks to run. Enter a date and time using standard date/time format. Only the time portion is used.
Use with Minutely and Hourly intervals only.
rangeEndTime
Date/time
-
The end of the time range within a day that you want tasks to run. Enter a date and time using standard date/time format. Only the time portion is used.
Use with Minutely and Hourly intervals only.
sun
Boolean
-
Runs tasks on Sunday at the configured time.
You can use the sun - sat parameters to run tasks on several days of the week.
Use with Minutely, Hourly, Weekly, and Biweekly intervals only.
mon
Boolean
-
Runs tasks on Monday at the configured time.
See description for sun.
tue
Boolean
-
Runs tasks on Tuesday at the configured time.
See description for sun.
wed
Boolean
-
Runs tasks on Wednesday at the configured time.
See description for sun.
thu
Boolean
-
Runs tasks on Thursday at the configured time.
See description for sun.
fri
Boolean
-
Runs tasks on Friday at the configured time.
See description for sun.
sat
Boolean
-
Runs tasks on Saturday at the configured time.
See description for sun.
weekDay
Boolean
-
Runs tasks on weekdays. Use one of the following options:
  • - True. Run tasks on Monday through Friday. Does not run tasks on the weekend.
  • - False. Run tasks every day.
Use with the Daily interval only.
dayOfMonth
Int
-
Date of the month that tasks should run. Use a date between 1-28.
Use with the Monthly interval only.
Tip: To run tasks on the last day of the month, use the Last weekOfMonth parameter with the Day dayOfWeek parameter.
weekOfMonth
String
-
Week of the month that tasks should run. Use with dayOfWeek to specify the day and week of the month that tasks should run. For example, the First Day or the Last Wednesday of the month.
Use one of the following options:
  • - First
  • - Second
  • - Third
  • - Fourth
  • - Last
Use with the Monthly interval only.
dayOfWeek
String
-
Day of the week that tasks should run. Use with weekOfMonth to specify the day and week of the month that tasks should run. For example, the First Day or the Last Wednesday of the month.
Use one of the following options:
  • - Day
  • - Sunday
  • - Monday
  • - Tuesday
  • - Wednesday
  • - Thursday
  • - Friday
  • - Saturday
Use with the Monthly interval only.
timeZoneId
String
-
Time zone that the schedule uses for the dayOfMonth, weekOfMonth, and dayOfWeek fields.
Default is UTC.
For more information, see Appendix A, Time zone codes

PATCH example

To update a schedule, your request might look something like the following example:
PATCH <baseApiUrl>/public/core/v3/schedule/0An1v84VPL3k6kypOlxq06D0000000000003
Accept: application/json
INFA-SESSION-ID: <sessionId>
{
"schedules": [
{
"id": "0An1v84VPL3k6kypOlxq06D0000000000003",
"scheduleFederatedId": "1KiAwzRVIOTlAtCjPtzV4H",
"name": "V3_Test_CreateSchedule_1569944878",
"status": "disabled",
"description": "Update version 2",
"sat": true
}
]
}
A successful response might look like the following example:
{
"id": "0An1v84VPL3k6kypOlxq06D0000000000003",
"createTime": "2022-09-24T15:34:36.000Z",
"updateTime": "2022-10-01T15:47:59.442Z",
"createdBy": "dev_larry",
"updatedBy": "dev_larry",
"name": "V3_Test_CreateSchedule_1569944878",
"rangeStartTime": null,
"rangeEndTime": null,
"status": "disabled",
"frequency": 1,
"description": "Update version 2",
"mon": false,
"tue": false,
"wed": true,
"thu": false,
"fri": false,
"sat": true,
"sun": false,
"weekDay": false,
"dayOfMonth": 0,
"weekOfMonth": null,
"dayOfWeek": null,
"scheduleFederatedId": "1KiAwzRVIOTlAtCjPtzV4H",
"startTime": "2022-12-25T12:00:00.000Z",
"endTime": null,
"interval": "Hourly",
"timeZoneId": "America/Los Angeles"
}

Deleting a schedule

Use the schedule resource to delete a schedule.
To delete a schedule, send a DELETE request using the following URI:
/public/core/v3/schedule/<id>
A successful response returns the 204 response code. If errors occur, an error object is returned.