---
title: "Wartungsfenster aktualisieren"
description: "Aktualisiert ein bestehendes Wartungsfenster. Alle Felder sind optional (Partial Update)."
---

`PATCH /api/maintenance-windows/:id`

## Authentifizierung

Erfordert eine gültige Session.

- Header: `Authorization: Bearer <token>`

Hinweis: Global-Supporter dürfen keine Wartungsfenster aktualisieren (`403`). Read-only Nutzer dürfen es.

## Parameter

- `id` (Path, required): Wartungsfenster-ID.

## Anfrage (Request Body)

```json
{
  "name": "Server-Upgrade (updated)",
  "description": null,
  "startTime": "2026-02-25T03:00:00.000Z",
  "endTime": "2026-02-25T05:00:00.000Z",
  "isRecurring": true,
  "recurrencePattern": {
    "frequency": "weekly",
    "interval": 1,
    "daysOfWeek": [1]
  },
  "isActive": true,
  "timezone": "Europe/Berlin"
}
```

Hinweise:

- Du kannst die Target-IDs (`websiteId`, `icmpMonitorId`, ...) nicht ändern. Es werden nur die Felder des Wartungsfensters aktualisiert.
- `description` kann auf `null` gesetzt werden, um sie zu löschen.
- Wenn du `startTime` und/oder `endTime` änderst, muss `endTime` nach `startTime` liegen.
- `timezone` (string, optional): die IANA-Zeitzone, in der das Wiederholungsmuster interpretiert wird. Schreibweisen unabhängig von Groß-/Kleinschreibung sowie veraltete IANA-Linknamen (z. B. `"gmt"`, `"Zulu"`) werden akzeptiert und unter der kanonischen Bezeichnung des Laufzeitsystems gespeichert, `"utc"` und `"Zulu"` werden beide als `"UTC"` gespeichert. Ein reiner UTC-Offset (z. B. `"+05:00"`) wird abgewiesen: Er enthält keine Sommerzeit-Regel und kann daher nicht leisten, was ein Zonenname leistet.

## Beispiel (cURL)

```bash
BASE_URL="https://uptimeify.io"
TOKEN="<dein-api-token>"

curl -X PATCH "$BASE_URL/api/maintenance-windows/5" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"Server-Upgrade (updated)","description":null,"startTime":"2026-02-25T03:00:00.000Z","endTime":"2026-02-25T05:00:00.000Z","isRecurring":true,"recurrencePattern":{"frequency":"weekly","interval":1,"daysOfWeek":[1]},"isActive":true}'
```

## Antwort (Response)

```json
{
  "id": 5,
  "websiteId": 101,
 "icmpMonitorId": null,
 "smtpMonitorId": null,
 "sshMonitorId": null,
 "ftpMonitorId": null,
 "imapPopMonitorId": null,
  "customerId": 12,
  "name": "Server-Upgrade (updated)",
  "description": null,
  "startTime": "2026-02-25T03:00:00.000Z",
  "endTime": "2026-02-25T05:00:00.000Z",
  "isRecurring": true,
  "recurrencePattern": {
    "frequency": "weekly",
    "interval": 1,
    "daysOfWeek": [1]
  },
  "isActive": true,
  "timezone": "Europe/Berlin",
 "createdBy": "<user-id>",
  "createdAt": "2026-02-20T10:00:00.000Z",
  "updatedAt": "2026-02-21T11:00:00.000Z"
}
```

## Häufige Fehler

- `400 Invalid maintenance window ID` wenn `:id` ungültig ist
- `400 End time must be after start time` wenn du `startTime`/`endTime` auf einen ungültigen Zeitraum setzt
- `400` (Validierung) wenn `timezone` ein reiner UTC-Offset oder kein vom Laufzeitsystem erkannter Zonenname ist
- `401 Unauthorized` wenn du nicht angemeldet bist
- `403 Forbidden` wenn du keinen Zugriff auf das Wartungsfenster hast
- `404 Maintenance window not found` wenn das Wartungsfenster nicht existiert

