Monitoring

Maintenance windows

Schedule planned work so it does not open incidents or page anyone, and so the status page shows maintenance rather than downtime.

A maintenance window tells PulseTrace that failures between two instants are expected. While a window is active for a monitor, no incident is opened for it; with suppress notifications on, nothing is sent either. Because no incident opens, the window does not count against availability the way an outage would.

Fields

FieldNotes
name, descriptionShown in the incident timeline and the maintenance list.
starts_at, ends_atUTC instants; the app lets you pick them in a display timezone.
timezoneDisplay only — how the window is rendered, not when it fires.
affected_monitor_idsWhich monitors are covered. Empty means the whole organization.
affected_regionsOptional: limit to checks from these regions.
expected_changesA note for Intelligence: the DNS/TLS/header changes you expect to see, so they are recorded as expected.
suppress_notificationsAlso silence notifications, not only incidents.

Each window has a computed status of upcoming, active or past. There is no recurrence — create one window per occurrence, or create them from the API on your deploy schedule.

maintenance.shbash
curl -X POST https://api.pulsetrace.app/api/v1/maintenance-windows \
  -H "Authorization: Bearer $PULSETRACE_API_KEY" -H "Content-Type: application/json" \
  -d '{
    "name": "DB failover drill",
    "starts_at": "2026-09-12T02:00:00Z",
    "ends_at":   "2026-09-12T02:30:00Z",
    "timezone": "Europe/Berlin",
    "affected_monitor_ids": ["…"],
    "suppress_notifications": true
  }'

Routes: GET/POST /api/v1/maintenance-windows, GET/PUT/DELETE /api/v1/maintenance-windows/{id}; scopes maintenance_windows:read|create|update|delete.

Try it on your own endpoints.

Ten monitors, one region and a status page are free — no card.

Start free