Uptimeify Docs

Wartungs-Wiederholungen vorschauen

Berechnet die kommenden Vorkommen eines (noch nicht gespeicherten) Wiederholungsmusters, ohne ein Fenster anzulegen.

POST /api/maintenance-windows/preview-occurrences

Reine Berechnung: Dieser Endpunkt greift nie auf die Datenbank zu. Er nutzt dieselbe zeitzonenbewusste Wiederholungs-Engine wie der Alarm-Unterdrückungspfad (occurrencesInRange), sodass die Vorschau nie von dem abweichen kann, was ein gespeichertes Fenster mit denselben Werten für startTime/endTime/recurrencePattern/timezone tatsächlich unterdrücken wird. Nützlich, um vor dem Absenden von Maintenance Window erstellen oder Maintenance Window aktualisieren zu zeigen, was ein Muster bedeutet.

Body

{
  "startTime": "2026-08-10T02:00:00.000Z",
  "endTime": "2026-08-10T03:00:00.000Z",
  "isRecurring": true,
  "recurrencePattern": {
    "frequency": "weekly",
    "interval": 1,
    "daysOfWeek": [1, 3]
  },
  "timezone": "Europe/Berlin"
}

Felder

FeldTypBeschreibung
startTimeISO-8601-Datum/ZeitErforderlich. Beginn des ersten Vorkommens.
endTimeISO-8601-Datum/ZeitErforderlich. Ende des ersten Vorkommens. Muss nach startTime liegen.
isRecurringbooleanErforderlich. Bei false enthält die Antwort nur das einzelne Anker-Vorkommen.
recurrencePatternObjektErforderlich, wenn isRecurring true ist. Gleiche Struktur wie bei Maintenance Window erstellen.
timezonestringStandard "UTC". Die IANA-Zeitzone, in der das Muster interpretiert wird, gleiche Validierung und Kanonisierung wie das timezone-Feld bei Erstellung/Aktualisierung.

Die Antwort liefert höchstens 5 kommende Vorkommen, mit einem Vorschau-Horizont von bis zu 5 Jahren ab dem aktuellen Zeitpunkt.

Beispiel (cURL)

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

curl -X POST "$BASE_URL/api/maintenance-windows/preview-occurrences" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "startTime": "2026-08-10T02:00:00.000Z",
    "endTime": "2026-08-10T03:00:00.000Z",
    "isRecurring": true,
    "recurrencePattern": { "frequency": "weekly", "interval": 1, "daysOfWeek": [1, 3] },
    "timezone": "Europe/Berlin"
  }'

Antwort (Response)

{
  "occurrences": [
    { "start": "2026-08-10T00:00:00.000Z", "end": "2026-08-10T01:00:00.000Z" },
    { "start": "2026-08-12T00:00:00.000Z", "end": "2026-08-12T01:00:00.000Z" },
    { "start": "2026-08-17T00:00:00.000Z", "end": "2026-08-17T01:00:00.000Z" }
  ]
}

occurrences kann ein leeres Array sein (z. B. wenn das endRecurrenceDate eines Wiederholungsmusters bereits vor dem Vorschau-Horizont liegt).

isRecurring: true ohne recurrencePattern ist kein Fehler. Das Fenster gilt dann als nicht wiederkehrend, und die Antwort enthält nur das eine Vorkommen aus startTime und endTime, derselbe Rückfall, den die Wiederholungsberechnung auch bei einem fehlerhaften Muster anwendet.

Häufige Fehler

StatusBeschreibung
400 (Validierung)timezone ist ein reiner UTC-Offset oder kein vom Laufzeitsystem erkannter Zonenname. Standard-Zod-Validierungsfehler, kein { data: { code } }.
400 { data: { code: "invalidWindow" } }endTime liegt nicht nach startTime.
401 UnauthorizedNicht angemeldet.

Auf dieser Seite