Schedule-Vorschau
Die Schichten und Abdeckungslücken berechnen, die die gespeicherte Rotation eines Schedules in den nächsten vier Wochen ergibt, ohne etwas zu schreiben.
POST /api/im/schedules/:id/preview
Rechnet die gespeicherte Konfiguration des Schedules (Kadenz, Rotationsgruppen, Wochenfenster, Gültigkeitszeitraum) mit derselben Schichtberechnung durch, die der Alarmierungs-Worker verwendet, für die nächsten vier Wochen ab jetzt, und liefert die Schichten und die Lücken, in denen niemand Bereitschaft hat. Es wird nichts gespeichert.
Standardmäßig fließen die gespeicherten Overrides des Schedules ein. Mit overrides probierst du stattdessen andere Override-Fenster aus. Team-Overrides und all_teams-Overrides, die an anderen Schedules angelegt wurden, sind nicht Teil der Vorschau.
Authentifizierung
Basis-IM-Zugriff: eine IM-berechtigte Rolle (admin, editor oder responder) oder ein organisationsweiter API-Token, und Incident Management für die Organisation aktiviert. Eine Team-Rolle ist nicht nötig.
Anfrage (Request Body)
Der Body ist optional.
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
overrides | array | Nein | Bis zu 500 Override-Fenster, die für diese Vorschau die gespeicherten Overrides ersetzen. Jeweils: { userId, startsAt, endsAt, type?, coveredByUserIds? }, type online (Standard) oder offline, coveredByUserIds nur bei offline. [] zeigt die Vorschau ganz ohne Overrides. |
Beispiel (cURL)
curl -X POST "$BASE_URL/api/im/schedules/7/preview" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{}'Antwort (Response)
200 OK
{
"from": "2026-10-09T12:00:00.000Z",
"to": "2026-11-06T12:00:00.000Z",
"timezone": "Europe/Berlin",
"shifts": [
{
"userId": "u_abc123",
"layerIndex": 0,
"startsAt": "2026-10-09T12:00:00.000Z",
"endsAt": "2026-10-12T07:00:00.000Z",
"isOverride": false
},
{
"userId": "u_def456",
"layerIndex": 0,
"startsAt": "2026-10-12T07:00:00.000Z",
"endsAt": "2026-10-19T07:00:00.000Z",
"isOverride": false
}
],
"gaps": [
{ "from": "2026-11-02T07:00:00.000Z", "to": "2026-11-06T12:00:00.000Z" }
]
}layerIndexnummeriert die gleichzeitigen Bereitschaftsplätze (0bisroundRobinSize - 1); Override-Schichten liegen auf höheren Indizes.isOverrideisttruefür eine Schicht, die aus einem Override stammt.gapslistet jeden Abschnitt des Fensters, in dem keine Schicht jemanden abdeckt. Ein Schedule ohne Rotationsgruppen hat eine Lücke über das ganze Fenster.
Häufige Fehler
401 Unauthorized(unauthorized) wenn du nicht authentifiziert bist403 Forbidden(imAccessDenied) bei einem kunden-gescopten Token, oder wenn deine Session keine IM-berechtigte Rolle hat403 Forbidden(imNotEnabled) wenn Incident Management für die Organisation nicht aktiviert ist404 Not Found(imScheduleNotFound) wenn:idnicht existiert oder zu einer anderen Organisation gehört400 Bad Request(invalidRequestBody) wenn:idkeine positive Ganzzahl ist,overrideskein Array ist oder mehr als 500 Einträge hat, ein Eintrag keineuserIdoder kein gültigesstartsAtvorendsAthat, oder sich die gespeicherte Konfiguration nicht in Schichten umrechnen lässt (die Meldung nennt den Grund)
Schedule-Overrides
Overrides auf einem Schedule auflisten, hinzufügen, ändern und löschen: einmalige Zeitfenster, die jemanden in Bereitschaft setzen oder aus ihr nehmen, ohne die Rotation anzufassen.
Schedules (Bereitschaftspläne)
Incident-Management-Bereitschaftspläne auflisten, lesen, anlegen und löschen, und wie die Rotationskadenz eines Schedules funktioniert.