Update a maintenance window Beta
PATCH /api/v1/maintenance/{id}
Send only the fields to change, with the same rules as create. PUT does the same thing.
Needs an X-API-Key header whose owner has permission to manage uptime monitors in the app. The call counts once against your daily quota. See Monitoring API: getting started for authentication, rate limits and errors.
- Changing the schedule (
from,to,recurrence,repeatEveryoreffectiveTo) replaces every occurrence that hasn't started yet, including ones you moved or cancelled one by one. An occurrence already under way is kept. - Changing only the description or the monitors keeps all occurrences as they are.
- Sending
monitorIdsreplaces the list. SendingallMonitors: trueclears it. If you setallMonitorstofalse, sendmonitorIdsin the same request. - Send
effectiveTo: nullto make a window repeat for ever.
Request
Response
200 · application/json
- {
- "maintenance": { "id": "mw_3f9a0c1d2e4b5a6c7d8e", "to": "2026-09-20T04:00:00.000Z", "effectiveTo": "2026-12-31T23:59:59.000Z", … },
- "usage": { "used": 33, "dailyLimit": 100, "tier": "free" }
- }
Errors
| Status | When |
|---|---|
400 | A field isn't valid, the window would last over 30 days, occurrences would overlap, no monitors are chosen, or a monitor id is unknown. |
401 | The API key is missing or invalid. |
403 | The key's owner doesn't have permission to manage uptime monitors, or the key isn't linked to a workspace. |
404 | No maintenance window with that id in your workspace. |
405 | The endpoint doesn't accept that method. |
429 | A rate limit or your daily quota was hit. Read Retry-After, in seconds. Writes are also limited to 30 a minute per key. |
500 | Something went wrong on our side. Try again. |
503 | The API is temporarily unavailable. Try again shortly. |
Errors are JSON: { "error": "message" }. See Monitoring API errors.
Related
- Maintenance windows: how maintenance works and the window object
- Move an occurrence: change one occurrence only
- Delete a window: remove it altogether