Maintenance
Schedule maintenance windows, suppress alerts and publish upcoming work.
Schedule a maintenance window before planned work so visitors know when to expect disruption. While the window is in progress, checks still run, but alerts and automatic incident updates for affected monitors are suppressed. Maintenance windows are enabled by default.
Setting maintenance.enabled: false makes /maintenance and
/admin/maintenance/* return 404. Windows no longer suppress alerts, and
the snapshot contains no upcoming or in-progress maintenance.
Window fields and states
A window can be scheduled, in progress or completed. Its status follows the clock rather than a separate job you have to run.
The status is derived from the clock: reading upcoming windows refreshes
scheduled → in-progress → completed against the current time.
scheduledEnd must be after scheduledStart.
Schedule a window
Create a window locally with the CLI, which talks directly to the database,
or use the admin API. HTTP management requires adminToken in the config;
load it from a private secret source.
What happens to alerts
While a window is in-progress, the monitors it names are excluded from
monitor.down, monitor.recovered and ssl.expiring events, as well as
automatic incident creation and reconciliation. They are still checked and
results are stored, so uptime history shows what actually happened. An empty
affectedMonitors array suppresses alerts for every monitor.
The snapshot and GET /maintenance include only scheduled and
in-progress windows; completed ones are omitted.