mipo

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

NameDescriptionAllowed valuesDefault
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

NameDescription
NameSchedule label, links to the edit form
DescriptionOptional note about the schedule
ScheduleHuman-readable description of the cadence (e.g., "Daily at 02:00 UTC")
TemplatesCount of scan templates and template groups assigned to this schedule
Next RunRelative time until the next scheduled execution (hidden when disabled)
Last RunRelative time since the last execution
StatusEnabled (green) or disabled (gray). Disabled schedules do not fire automatically.

How to

Create a Recurring Scan

  1. Click "Add Schedule" and fill in the name and schedule type.
  2. Select one or more scan templates or template groups to run.
  3. Optionally set jitter minutes to randomize the start time.
  4. 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)

MethodPathDescription
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

  • Run Scan — Manually trigger scans instead of waiting for a schedule
  • Recent Scans — Scheduled scans appear on the Recent Scans page when they fire
  • Scan Templates — Templates define what each scheduled scan actually does