---
title: "Maintenance"
description: "Maintenance windows let you plan work (deployments, updates, migrations) without triggering noisy alerts. During an active window the affected target is treated as in maintenance. Alerts are suppressed and, if the customer has a status page, the service is shown as Maintenance instead of Degraded."
---

## Create a maintenance window

Go to **Dashboard → Maintenance** and create a new window.

Read-only users can create, edit, reactivate, and delete maintenance windows for the customers they are assigned to. Global support accounts cannot modify maintenance windows.

| Setting | Description |
|---------|-------------|
| **Target** | One or more: a **website**, a **service monitor** (ICMP / SMTP / SSH / FTP / IMAP-POP), a **DNS monitor**, a set of **tags**, or the entire **customer**. See [Apply to multiple monitors or by tag](#apply-to-multiple-monitors-or-by-tag). |
| **Name** | A friendly label, e.g. "Weekly updates". |
| **Description** | Optional notes shown in history. |
| **Start / End** | The window's time range. Times are interpreted in your timezone. |
| **Active** | Toggle to enable/disable the window without deleting it. |

## Apply to multiple monitors or by tag

A single maintenance window can cover many monitors at once:

**Multi-monitor select in the form**

In the maintenance window form, open the **Target** selector and pick any combination of websites and service monitors. All selected monitors are added to the window; they must all belong to the same customer.

**Bulk "Set maintenance" from monitor lists**

On any monitor list page (e.g. *Dashboard → Web*, *Dashboard → Server*) you can select multiple rows using the checkboxes, then choose **Set maintenance** from the bulk-action toolbar. This creates a single maintenance window covering all selected monitors at once, pre-populating the form with those monitors as targets.

**Dynamic by-tag windows**

Instead of (or in addition to) selecting individual monitors, you can select one or more **tags**. A tag-based window covers every monitor that currently carries the tag, and it stays current automatically:

- A monitor **tagged after** the window is created is automatically covered; no update needed.
- **Removing a tag** from a monitor drops it from coverage immediately.

**Org-wide scope:** When you select tags with *no* explicit monitors and no customer context, the window is **org-wide**. It covers all monitors across the entire organization that carry those tags, regardless of which customer they belong to. Creating or editing an org-wide tag window requires **admin or editor** role; readonly users will receive a permission error.

<Callout type="info">
Tag coverage is evaluated live by the monitoring worker at the moment each check result arrives, so there is no lag between tagging a monitor and it being protected by the window.
</Callout>

## One-time vs recurring

A window is either **one-time** (default) or **recurring**. Recurring windows carry a recurrence pattern:

| Field | Meaning |
|-------|---------|
| `frequency` | `daily`, `weekly`, or `monthly` |
| `interval` | Repeat every *N* days/weeks/months (e.g. `2` = every other week) |
| `daysOfWeek` | For weekly: which days (`0` = Sunday … `6` = Saturday) |
| `dayOfMonth` | For monthly: day of month (`1`-`31`) |
| `endRecurrenceDate` | Optional date when the recurrence stops |

The **Start / End** times define the window's length within each occurrence.

## Effect on status pages

If the target's customer has a status page:

- A target with an **active maintenance window** (and no open incidents) is shown as **Maintenance**.
- Maintenance windows can also appear in **Recent History** (controlled by the status page's *Show recent maintenance* toggle, see [Status Pages](/status-pages#recent-history)).

<Callout type="warn">
Maintenance does not override real outages: if there is an **open incident** during a maintenance window, the service is shown as **Degraded**, not Maintenance. See [Incidents](/incidents).
</Callout>

## Troubleshooting

### Window does not show as "active"

- Verify **Active** is enabled.
- Confirm the current time is between **Start** and **End**.
- Check the start/end times are correct for your timezone.
- For recurring windows, confirm today matches the recurrence pattern (`frequency`, `daysOfWeek`/`dayOfMonth`) and is before `endRecurrenceDate`.

