Schedule-Overrides
On-Call-Schedule-Overrides auflisten und hinzufügen: einmalige „X vertritt Y“-Zeitfenster zusätzlich zur regulären Rotation eines Schedules.
GET /api/im/schedules/:id/overrides · POST /api/im/schedules/:id/overrides
Ein Override ist ein einmaliges „X vertritt Y"-Zeitfenster auf einem Schedule: Ein User springt für einen festen Zeitraum ein, zusätzlich zu dem, was die reguläre Rotation sonst ergeben würde: ein Urlaubstausch oder eine Krankheitsvertretung, ohne die Rotation selbst zu bearbeiten. Overrides werden vom selben Hintergrund-Worker zu Schichten materialisiert, der auch die reguläre Rotation materialisiert.
Authentifizierung
Erfordert den Basis-IM-Zugriff, den jeder Endpunkt dieser API benötigt (eine IM-berechtigte Rolle, oder einen organisationsweiten API-Token; Incident Management muss für die Organisation aktiviert sein). Das Auflisten steht jeder IM-berechtigten Rolle offen. Das Hinzufügen eines Overrides erfordert zusätzlich die Schreib-Hürde: Deine Rolle muss admin sein, oder du musst Team-Admin des Schedule-Teams sein.
Overrides auflisten
GET /api/im/schedules/:id/overrides
Liefert die Overrides des Schedules, sortiert nach id. Diese Reihenfolge ist zwingend, nicht beiläufig. im_schedule_override hat keine Prioritätsspalte: Der Vorrang zwischen überlappenden Overrides wird durch die Erstellungsreihenfolge entschieden (der zuletzt erstellte gewinnt), und der Materializer liest sie in genau dieser Reihenfolge. Dieser Endpunkt kann kein Umsortieren anbieten, da es keinen Ort gibt, an dem eine umsortierte Rangfolge gespeichert werden könnte.
Beispiel (cURL)
curl -X GET "$BASE_URL/api/im/schedules/7/overrides" \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json"Antwort (Response)
200 OK
[
{
"id": 12,
"scheduleId": 7,
"userId": "u_abc123",
"userName": "Jane Doe",
"startsAt": "2026-08-01T00:00:00.000Z",
"endsAt": "2026-08-08T00:00:00.000Z",
"createdAt": "2026-07-20T10:00:00.000Z"
}
]Override hinzufügen
POST /api/im/schedules/:id/overrides
Request Body
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
userId | string | Ja | Der User, der in diesem Zeitfenster einspringt. Muss zu deiner Organisation gehören. |
startsAt | ISO-8601-Datum/Zeit | Ja | Beginn des Zeitfensters. |
endsAt | ISO-8601-Datum/Zeit | Ja | Ende des Zeitfensters. Muss echt nach startsAt liegen. |
Beispiel (cURL)
curl -X POST "$BASE_URL/api/im/schedules/7/overrides" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"userId": "u_abc123",
"startsAt": "2026-08-01T00:00:00.000Z",
"endsAt": "2026-08-08T00:00:00.000Z"
}'Antwort (Response)
200 OK: die neu erstellte Override-Zeile (gleiche Form wie oben in der Liste).
Häufige Fehler
401 Unauthorizedwenn du nicht authentifiziert bist403 Forbidden(imAccessDenied) bei Verwendung eines kunden-gescopten Tokens, oder wenn deine Session keine IM-berechtigte Rolle hat403 Forbidden(imNotEnabled) wenn Incident Management für die Organisation nicht aktiviert ist403 Forbidden(imTeamWriteDenied) (nur beim Hinzufügen) wenn deine Rolle nichtadminist und du kein Team-Admin des Schedule-Teams bist404 Not Found(imScheduleNotFound) wenn:idnicht existiert oder zu einer anderen Organisation gehört400 Bad Request(invalidRequestBody) (nur beim Hinzufügen) wennuserIdfehlt,startsAt/endsAtfehlt oder kein gültiger Zeitstempel ist, oderstartsAtnicht echt vorendsAtliegt404 Not Found(userNotFound) (nur beim Hinzufügen) wennuserIdnicht zu deiner Organisation gehört
Incident lösen
Löst einen Incident-Management-Incident aus jedem nicht-geschlossenen Status. Dies ist der einzige Endpunkt, der einen Incident auf resolved setzen kann.
Schedules (Bereitschaftspläne)
Incident-Management-Bereitschaftspläne auflisten und erstellen: die Rotation, die festlegt, wer für ein Team wann Bereitschaft hat.