> ## Documentation Index
> Fetch the complete documentation index at: https://pulse-41cf5b0d.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Schedule Maintenance Windows to Suppress Alerts

> Define scheduled maintenance windows to pause monitor alerting and show a maintenance banner on your status page during planned downtime.

A maintenance window is a scheduled time period during which PulseGuard pauses checks on selected monitors and displays a maintenance notice on your status page. Without maintenance windows, a planned deployment that takes your API offline for five minutes triggers the same alerts as an unexpected outage — flooding your on-call team's inboxes and alarming subscribers who have no context. Maintenance windows prevent false-positive alerts, keep your uptime metrics accurate, and give subscribers advance notice so planned downtime never comes as a surprise.

## Benefits

<CardGroup cols={2}>
  <Card title="No false-positive alerts" icon="bell-slash">
    Monitors in a maintenance state skip checks entirely. No downtime events are recorded, and no alert notifications are dispatched to your team.
  </Card>

  <Card title="Accurate uptime metrics" icon="chart-line">
    Paused check periods are excluded from uptime calculations, so a planned deployment does not drag down your SLA percentage.
  </Card>

  <Card title="Advance subscriber notice" icon="envelope">
    Subscribers receive an email as soon as you save a maintenance window, giving them time to plan around the downtime.
  </Card>

  <Card title="Visible status page banner" icon="triangle-exclamation">
    Your status page automatically shows a maintenance banner for the duration of the window, so visitors always know what to expect.
  </Card>
</CardGroup>

## Schedule a maintenance window

<Steps>
  <Step title="Navigate to your monitor or status page">
    Go to **Dashboard → Monitors** and select the monitor you want to put into maintenance, or go to **Dashboard → Pages** and select your status page to schedule maintenance that affects multiple monitors at once.
  </Step>

  <Step title="Click Schedule Maintenance">
    Click the **Schedule Maintenance** button in the top-right corner of the monitor or status page detail view.
  </Step>

  <Step title="Set the window details">
    Fill in the following fields:

    | Field           | Description                                                                                                               |
    | --------------- | ------------------------------------------------------------------------------------------------------------------------- |
    | **Title**       | A short description shown on the status page banner and in subscriber emails (e.g., *Database migration — v3.4 upgrade*). |
    | **Start time**  | The exact date and time the maintenance begins (displayed in your account timezone).                                      |
    | **End time**    | The expected date and time the maintenance ends.                                                                          |
    | **Description** | An optional longer message with details about what is being changed and what users can expect.                            |
  </Step>

  <Step title="Choose affected monitors">
    Select one or more monitors from the list. Only the monitors you select will be paused — all other monitors continue checking normally.
  </Step>

  <Step title="Save and notify subscribers">
    Click **Save**. PulseGuard immediately sends a maintenance announcement email to all subscribers who follow at least one of the affected monitors. The maintenance window also appears in the upcoming-maintenance section of your status page.
  </Step>
</Steps>

<Note>
  Monitors in a `MAINTENANCE` state skip checks entirely for the duration of the window — no checks are run, no events are recorded, and no alerts are sent. When the window ends, PulseGuard automatically resumes normal checking and clears the maintenance banner.
</Note>

## Manual status overrides

Sometimes you need to display a different status for a specific day without scheduling a full maintenance window — for example, to acknowledge a known degradation that does not meet your incident threshold, or to mark a day as "under observation" without suppressing checks.

Go to **Dashboard → Pages → your page → Overrides** and click **Add Override**. Select the date and choose the status to display (`Operational`, `Degraded`, or `Under Maintenance`). The override only affects what is *displayed* on the status page for that calendar day — monitors continue running checks as normal.

<Info>
  Manual overrides are purely cosmetic. Unlike a maintenance window, they do not pause checks or suppress alert notifications. Use maintenance windows when you need to fully suppress monitoring during planned downtime.
</Info>

## Recurring maintenance windows

For teams with regular maintenance schedules — such as weekly off-hours deployments or nightly database backups — you can set a maintenance window to repeat automatically.

When creating or editing a maintenance window, toggle **Recurring** on and choose a repeat interval:

| Interval    | Description                            |
| ----------- | -------------------------------------- |
| **Daily**   | Repeats every day at the same time.    |
| **Weekly**  | Repeats on the same day of the week.   |
| **Monthly** | Repeats on the same date each month.   |
| **Custom**  | Repeats on a cron schedule you define. |

Recurring windows appear as a single entry in the maintenance list with a recurrence badge. You can edit or cancel all future occurrences at once, or edit a single occurrence without affecting the rest of the series.

## Maintenance window lifecycle

PulseGuard moves a maintenance window through the following states automatically:

```
Scheduled → Active → Completed
```

| State         | Description                                                                                         |
| ------------- | --------------------------------------------------------------------------------------------------- |
| **Scheduled** | The window is saved and announced to subscribers but has not yet started.                           |
| **Active**    | The start time has passed. Affected monitors are paused and the banner is live on your status page. |
| **Completed** | The end time has passed. Monitors resume normal checking and the banner is removed.                 |

You can manually end an active window early by clicking **End Maintenance Now** — useful when a deployment finishes ahead of schedule.

## Best practices

<AccordionGroup>
  <Accordion title="Schedule windows as early as possible">
    Create maintenance windows at least 24 hours in advance so subscribers have time to see the announcement. For major changes, aim for 48–72 hours of advance notice.
  </Accordion>

  <Accordion title="Use descriptive titles">
    The window title appears in subscriber emails and on your status page. Write titles that describe what is happening, not just that maintenance is occurring — for example, *Primary database failover — scheduled migration* is far more informative than *Maintenance*.
  </Accordion>

  <Accordion title="Extend windows rather than cancelling them">
    If a deployment takes longer than expected, extend the maintenance window end time rather than letting it expire. This prevents PulseGuard from resuming checks mid-deployment and generating false alerts.
  </Accordion>

  <Accordion title="Review your uptime reports after maintenance">
    After a window completes, check **Dashboard → Monitors → your monitor → Reports** to confirm the paused period is correctly excluded from your uptime percentage. The summary should show the maintenance interval clearly labelled.
  </Accordion>
</AccordionGroup>
