Maintenance Window aktualisieren
Aktualisiert ein Wartungsfenster partiell. Alle Felder sind optional; nur angegebene Felder werden geändert. Wenn targets oder tagIds angegeben werden, ersetzen sie die bestehende Auswahl vollständig.
PATCH /api/maintenance-windows/{id}
Pfad-Parameter
id(erforderlich): Die numerische ID des zu aktualisierenden Wartungsfensters.
Body
Alle Felder sind optional. Felder weglassen, um sie unverändert zu lassen.
{
"name": "Erweitertes Deployment-Fenster",
"endTime": "2026-07-11T03:00:00.000Z",
"targets": [
{ "type": "website", "id": "ef8a6564-0ccf-4f3f-a5ef-d2963176b3eb" },
{ "type": "dns", "id": "5b0d88a6-397d-4acd-b69f-c31405d7d0da" }
],
"tagIds": [7, 12],
"isActive": true
}Aktualisierbare Felder
| Feld | Typ | Hinweise |
|---|---|---|
name | string | Anzeigename |
description | string | Freitext-Notizen |
startTime | ISO 8601 Datetime | Neuer Startzeitpunkt |
endTime | ISO 8601 Datetime | Neuer Endzeitpunkt; muss nach startTime liegen |
isActive | boolean | Aktivieren oder deaktivieren ohne Löschen |
isRecurring | boolean | Wiederholung umschalten |
recurrencePattern | object | Ersetzt das Wiederholungsmuster; Struktur identisch mit create |
timezone | string | Die IANA-Zeitzone (z. B. "Europe/Berlin"), 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. |
targets | { type, id }[] | Ersetzt die vollständige Menge der expliziten Monitor-Ziele. id ist die öffentliche ID des Monitors (UUID), eine numerische Zeilen-ID wird weiterhin akzeptiert. |
tagIds | number[] | Ersetzt die vollständige Menge der Tag-IDs |
websiteId / icmpMonitorId / … | number | null | Legacy-Felder für einzelne Ziele |
customerId | number | Kunden-Anker (nur für tag-only Fenster) |
Ersetz-Semantik für targets und tagIds
Wenn targets oder tagIds im Request-Body enthalten ist, wird die gesamte bestehende Auswahl für dieses Feld ersetzt. Um alle expliziten Ziele zu entfernen, sende "targets": []; um alle Tags zu entfernen, sende "tagIds": [].
Kombinationsregeln
PATCH validiert den Ziel- und Tag-Scope über denselben Resolver wie create, führt jedoch nicht den create-zeitigen Zod-superRefine erneut aus. In der Praxis:
customerIdkann nicht mittargets,tagIdsoder Legacy-Feldern kombiniert werden.- Alle Monitore in
targetsmüssen zum selben Kunden gehören; Mischung gibt{ data: { code: "mixedCustomers" } }zurück. - Ein organisationsweites Nur-Tag-Fenster (Tags ohne
customerId,targetsoder Legacy-Felder) kann nur von einem organisationsweiten Admin oder Editor bearbeitet werden. Ein kundengebundener Akteur (einreadonly-Benutzer, eineditormit Kundenzuweisungen, ein Customer-Scoped Token) erhält403mitdata.code: customerScopedTokenForbidden, egal was er sendet. - Ein Fenster, das bereits einem Kunden gehört, bleibt bei diesem Kunden: der vorhandene Kunde bildet den Ausgangspunkt für den Resolver,
tagIdshinzuzufügen macht es nie organisationsweit.
Readonly-Benutzer im Scope
Readonly-Benutzer, die dem Kunden des Fensters zugewiesen sind, können Wartungsfenster für diesen Kunden bearbeiten (readonly ist die Self-Service-Rolle des Kunden, siehe Rollen und der Kunden-Scope). Globale Support-Konten können dies nicht. Kein kundengebundener Akteur, ob readonly oder nicht, kann ein organisationsweites Nur-Tag-Fenster aktualisieren.
Beispiel (cURL)
BASE_URL="https://uptimeify.io"
TOKEN="<dein-api-token>"
curl -X PATCH "$BASE_URL/api/maintenance-windows/42" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"isActive": false}'Antwort (Response)
Gibt das aktualisierte Wartungsfenster-Objekt in der gleichen Form zurück wie Maintenance Window abrufen.
Häufige Fehler
| Status | Beschreibung |
|---|---|
400 (Validierung) | Die Aktualisierung würde das Fenster ohne Ziele zurücklassen, customerId wird mit anderen Zielfeldern kombiniert, oder timezone ist ein reiner UTC-Offset oder kein vom Laufzeitsystem erkannter Zonenname. Dies sind Zod-Validierungsfehler; der Response-Body ist ein Standard-Validierungsfehler, kein { data: { code } }. |
400 { data: { code: "mixedCustomers" } } | targets enthält Monitore verschiedener Kunden. |
400 { data: { code: "mixedTagOrganizations" } } | tagIds enthält Tags aus verschiedenen Organisationen. |
401 Unauthorized | Nicht angemeldet. |
403 Forbidden | Kein Zugriff auf das Fenster (globale Support-Konten können nicht bearbeiten). |
403 { data: { code: "customerScopedTokenForbidden" } } | Das Fenster ist organisationsweit und du bist ein kundengebundener Akteur (readonly-Benutzer, editor mit Kundenzuweisungen, Customer-Scoped Token). |
404 Not Found | Kein Wartungsfenster mit der angegebenen ID gefunden. |
404 { data: { code: "tagNotFound" } } | Eine tagId existiert nicht in der Organisation. |
Wartungs-Wiederholungen vorschauen
Berechnet die kommenden Vorkommen eines (noch nicht gespeicherten) Wiederholungsmusters, ohne ein Fenster anzulegen.
Incident Management
Öffentliche REST-API für Uptimeify Incident Management (IM): Alerts aus eigenen Monitoring-Systemen einspeisen und Incidents programmatisch verwalten.