Skip to main content

Scheduling

Job scheduling configuration and fire time preview.

GET /api/job-fire-times

Preview upcoming execution times for a given schedule configuration.

Authentication: Required

Query Parameters:

ParameterTypeRequiredDescription
intervalstringNoCron expression or simple interval
intervalTypestringNoe.g. cron, simple
timeZonestringNoTimezone (e.g. America/New_York); defaults to the server's guess
startOndateNoStart date
howManyintegerNoNumber of fire times to return (default: 3)

Example:

GET /api/job-fire-times?interval=0 8 * * *&intervalType=cron&timeZone=America/New_York&howMany=5

Response:

A plain array of upcoming run times (ISO 8601 strings).

Preview upcoming fire timesGET /api/job-fire-times?interval=0 8 * * *&intervalType=cron&timeZone=America/New_York&howMany=5
Validates a schedule and returns the next run times as a plain array of ISO 8601 strings. Query params: interval, intervalType, startOn, howMany (default 3), timeZone. (Timestamps shown are placeholders.)
Response · 200
[
"2026-01-15T16:20:00.000Z",
"2026-01-15T16:20:00.000Z",
"2026-01-15T16:20:00.000Z",
"… 2 more items (5 total) — omitted from docs"
]
Captured from the API examples test suite; ids and timestamps are normalized.
Schedule Validation

Use this endpoint before creating or updating a job to validate that the schedule configuration produces the expected execution times.


Job Scheduling Fields

When creating or updating a job via POST /api/jobs or PUT /api/jobs/{id}, use these fields:

FieldTypeDescription
intervalstringCron expression (e.g., "0 8 * * *") or simple interval (e.g., "1 hour", "30 minutes")
intervalTypestringType: cron, simple, or once
timezonestringTimezone for schedule interpretation (e.g., "America/New_York")
startOndateJob won't run before this date
endOndateJob won't run after this date
enabledbooleanEnable/disable job execution

Cron Expression Format

Standard cron format: minute hour day month weekday

Examples:

ExpressionDescription
0 8 * * *Daily at 8:00 AM
0 */4 * * *Every 4 hours
0 9 * * 1Every Monday at 9:00 AM
0 0 1 * *First day of month at midnight
*/15 * * * *Every 15 minutes

Simple Interval Format

Human-readable intervals: <number> <unit>

Examples:

IntervalDescription
1 hourEvery hour
30 minutesEvery 30 minutes
1 dayDaily
1 weekWeekly

Schedule Examples

Daily Report at 8 AM Eastern

{
"interval": "0 8 * * *",
"intervalType": "cron",
"timezone": "America/New_York",
"enabled": true
}

Hourly Sync (Simple Interval)

{
"interval": "1 hour",
"intervalType": "simple",
"enabled": true
}

Run Once at Specific Time

{
"interval": null,
"intervalType": "once",
"startOn": "2024-03-01T12:00:00Z",
"enabled": true
}

Weekly on Fridays

{
"interval": "0 17 * * 5",
"intervalType": "cron",
"timezone": "America/Los_Angeles",
"enabled": true
}