---
title: "Wartung aktualisieren"
description: "Ändert, verschiebt oder verlängert eine Wartung."
---

`PATCH /api/status-pages/maintenances/{id}`

Ändert nur die gesendeten Felder. Wer den Beginn einer bevorstehenden Wartung verschiebt, kündigt sie neu an (mit `notifyOnSchedule`); Nachrichten zu den alten Zeiten gehen nicht mehr raus. Eine laufende Wartung verlängerst du über `scheduledUntil`; sofort beenden geht über [Wartung beenden](/de/api/status-pages/complete-status-page-maintenance).

## Zugriff

Organisations-`admin` und `editor`. Ein kundengebundener Nutzer oder API-Token erreicht nur Wartungen, deren Status-Seiten alle zu einem Kunden in seinem Bereich gehören; eine Seite ohne Kunde (`customerId: null`) ist Org-weiten Rollen vorbehalten. Eine Wartung einer anderen Organisation antwortet `404` (`statusPageMaintenanceNotFound`). IDs im Pfad nehmen die numerische ID oder die `publicId`. Die Änderung steht im Audit-Protokoll der Organisation.

## Request-Body

| Feld | Typ | Pflicht | Standard | Beschreibung |
|------|-----|---------|----------|--------------|
| `title` | string | Nein | - | Steht auf der Seite und in jeder Nachricht (1-200 Zeichen). |
| `description` | string\|null | Nein | - | Was passiert und was Besucher merken (max. 5000 Zeichen). |
| `scheduledFor` | string | Nein | - | Beginn, ISO 8601 mit Versatz (`Z` oder `+01:00`); gespeichert und zurückgegeben in UTC. |
| `scheduledUntil` | string | Nein | - | Ende, nach `scheduledFor`. |
| `statusPageIds` | array | Nein | - | Status-Seiten (ID oder `publicId`, 1-10), die die Wartung zeigen. |
| `componentIds` | array | Nein | - | Betroffene Komponenten (ID oder `publicId`, bis 100) jeder Quelle: manuell, Monitor oder Drittanbieter. Jede muss zu einer der `statusPageIds` gehören. Eine Seite ohne genannte Komponente zeigt die Wartung seitenweit. |
| `notifyOnSchedule` | boolean | Nein | - | Beim Speichern an Abonnenten ankündigen, und erneut, wenn ein bevorstehender Beginn verschoben wird. |
| `reminderMinutesBefore` | number\|null | Nein | - | Abonnenten so viele Minuten (5-10080) vor dem Beginn erinnern; `null` schickt keine Erinnerung. |
| `notifyOnStart` | boolean | Nein | - | Abonnenten bei Beginn benachrichtigen. |
| `notifyOnComplete` | boolean | Nein | - | Abonnenten bei Ende benachrichtigen. |

`statusPageIds` ersetzt die Seiten; ohne `componentIds` werden sie seitenweit. `componentIds` allein ersetzt die Komponenten auf den bisherigen Seiten. Mindestens ein Feld ist nötig; unbekannte Felder werden abgewiesen.

## Beispiel (cURL)

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

curl -X PATCH "$BASE_URL/api/status-pages/maintenances/12" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"scheduledUntil": "2026-11-04T00:30:00+01:00"}'
```

## Antwort

`200 OK` mit der ganzen Wartung, wie bei [Wartung abfragen](/de/api/status-pages/get-status-page-maintenance).

## Häufige Fehler

- `400 Bad Request` (`invalidRequestBody`), wenn ein Feld fehlt, den falschen Typ hat oder unbekannt ist; `data.issues` nennt das Feld
- `400 Bad Request` (`invalidDateRange`), wenn `scheduledUntil` nicht nach `scheduledFor` liegt
- `400 Bad Request` (`invalidIdentifier`), wenn eine ID weder Zahl noch UUID ist
- `400 Bad Request` (`statusPageComponentNotOnPage`), wenn eine Komponente zu keiner der `statusPageIds` gehört
- `401 Unauthorized`, wenn du nicht angemeldet bist
- `403 Forbidden` (`forbidden`), wenn deine Rolle das nicht darf, oder für einen kundengebundenen Aufrufer auf einer Seite ohne Kunde oder eines anderen Kunden
- `403 Forbidden` (`statusPagesModuleDisabled`), wenn das Statusseiten-Modul nicht aktiviert ist
- `404 Not Found` (`statusPageMaintenanceNotFound`), wenn die Wartung nicht existiert oder zu einer anderen Organisation gehört
- `404 Not Found` (`statusPageNotFound`), wenn eine Status-Seite nicht existiert oder zu einer anderen Organisation gehört
- `404 Not Found` (`statusPageComponentNotFound`), wenn es eine Komponente nicht gibt
- `409 Conflict` (`statusPageMaintenanceClosed`), wenn die Wartung abgesagt wurde
