Wartungsfenster erstellen
Erstellt ein neues Wartungsfenster.
POST /api/maintenance-windows
Wichtig: Du musst genau eine Target-ID angeben (z. B. websiteId oder icmpMonitorId, smtpMonitorId, sshMonitorId, ftpMonitorId, imapPopMonitorId). Alle Target-IDs und customerId akzeptieren entweder die interne numerische ID oder die jeweilige Public ID als UUID.
Authentifizierung
Erfordert eine gültige Session oder einen gültigen API-Token.
- Header:
Authorization: Bearer <token>
Hinweis: Global-Supporter dürfen keine Wartungsfenster erstellen (403). Read-only Nutzer dürfen es.
Anfrage (Request Body)
{
"websiteId": "521e3338-4597-4d1d-8eeb-dc56d271e71c",
"name": "Server-Upgrade",
"description": "Geplante Downtime",
"startTime": "2026-02-25T02:00:00.000Z",
"endTime": "2026-02-25T04:00:00.000Z",
"isRecurring": true,
"recurrencePattern": {
"frequency": "weekly",
"interval": 1,
"daysOfWeek": [1]
},
"isActive": true
}Felder
Ziel (genau eines erforderlich):
websiteId(number|string)icmpMonitorId(number|string)smtpMonitorId(number|string)sshMonitorId(number|string)ftpMonitorId(number|string)imapPopMonitorId(number|string)customerId(number|string, optional)
Identifier-Regel: Interne numerische IDs oder Public IDs als UUID werden akzeptiert.
Weitere Felder:
name(string, required)description(string, optional)- Max length: 2000
- Wenn nicht gesetzt (oder leer), wird es als
nullgespeichert.
startTime(string/date, required)endTime(string/date, required)- Muss nach
startTimeliegen.
- Muss nach
isRecurring(boolean, optional)- Default:
false
- Default:
recurrencePattern(object, optional)- Wird als JSON gespeichert.
- Typische Keys:
frequency,interval,daysOfWeek,dayOfMonth,endRecurrenceDate.
isActive(boolean, optional)- Default:
true
- Default:
Beispiel (cURL)
BASE_URL="https://uptimeify.io"
TOKEN="<dein-api-token>"
curl -X POST "$BASE_URL/api/maintenance-windows" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"websiteId":"521e3338-4597-4d1d-8eeb-dc56d271e71c","name":"Server-Upgrade","description":"Geplante Downtime","startTime":"2026-02-25T02:00:00.000Z","endTime":"2026-02-25T04:00:00.000Z","isRecurring":true,"recurrencePattern":{"frequency":"weekly","interval":1,"daysOfWeek":[1]},"isActive":true}'Antwort (Response)
{
"id": 5,
"websiteId": 101,
"icmpMonitorId": null,
"smtpMonitorId": null,
"sshMonitorId": null,
"ftpMonitorId": null,
"imapPopMonitorId": null,
"customerId": 12,
"name": "Server-Upgrade",
"description": "Geplante Downtime",
"startTime": "2026-02-25T02:00:00.000Z",
"endTime": "2026-02-25T04:00:00.000Z",
"isRecurring": true,
"recurrencePattern": {
"frequency": "weekly",
"interval": 1,
"daysOfWeek": [1]
},
"isActive": true,
"createdBy": "<user-id>",
"createdAt": "2026-02-20T10:00:00.000Z",
"updatedAt": "2026-02-20T10:00:00.000Z"
}Häufige Fehler
400 Exactly one target ID must be providedwenn du keine oder mehrere Target-IDs sendest400 Invalid Website identifierbzw. entsprechender Target-Fehler wenn ein Identifier weder Integer-ID noch UUID ist400 End time must be after start timewennendTime <= startTime401 Unauthorizedwenn du nicht angemeldet bist403 Forbiddenwenn du keinen Zugriff auf das Ziel hast (oder global supporter bist)