Schedules
Schedules automate recurring scans on a configurable cadence. Each schedule can run one or more scan templates (or template groups) at a specified time, with a random jitter offset to prevent all scans from starting simultaneously. Schedules can be enabled, disabled, or triggered manually with "Run Now".
Inputs
| Name | Description | Allowed Values | Default |
|---|---|---|---|
| Name | Unique label for this schedule | Non-empty string | — |
| Description | Optional free-text note about this schedule | Any text, max 10,000 characters | Empty |
| Schedule Type | How often the schedule fires | hourly, daily, weekly, monthly, or cron | — |
| Jitter Minutes | Random delay (0 to configured minutes) added to the scheduled start time to prevent thundering-herd problems | Non-negative integer | 0 |
| Timezone | Timezone for interpreting schedule times | Valid IANA timezone | UTC |
Fields & Columns
| Name | Description |
|---|---|
| Name | Schedule label, links to the edit form |
| Description | Optional note about the schedule |
| Schedule | Human-readable description of the cadence (e.g., "Daily at 02:00 UTC") |
| Templates | Count of scan templates and template groups assigned to this schedule |
| Next Run | Relative time until the next scheduled execution (hidden when disabled) |
| Last Run | Relative time since the last execution |
| Status | Enabled (green) or disabled (gray). Disabled schedules do not fire automatically. |
How To
Create a Recurring Scan
- Click "Add Schedule" and fill in the name and schedule type.
- Select one or more scan templates or template groups to run.
- Optionally set jitter minutes to randomize the start time.
- Save the schedule — it will be enabled by default.
Gotchas
- A random delay between 0 and the configured Jitter Minutes is added at execution time, so the actual start may differ from the scheduled time.
- Disabled schedules can still be triggered manually via "Run Now".
- "Run Now" creates scans for all configured templates immediately, regardless of the schedule.
- Cron expressions follow standard 5-field syntax (minute hour day-of-month month day-of-week). Example: '0 2 * * 1' runs at 02:00 every Monday.
API Calls (8)
| Method | Path | Description |
|---|---|---|
| GET | /api/scans/schedules | List all schedules |
| POST | /api/scans/schedules | Create a new schedule |
| GET | /api/scans/schedules/:id | Get schedule details |
| PUT | /api/scans/schedules/:id | Update a schedule |
| POST | /api/scans/schedules/:id/enable | Enable a schedule |
| POST | /api/scans/schedules/:id/disable | Disable a schedule |
| POST | /api/scans/schedules/:id/run-now | Trigger a schedule immediately |
| DELETE | /api/scans/schedules/:id | Delete a schedule |
Related Pages
- Run Scan — Manually trigger scans instead of waiting for a schedule
- Scan Status — Scheduled scans appear on the Status page when they fire
- Scan Templates — Templates define what each scheduled scan actually does