Team-Overrides
Die On-Call-Overrides eines Teams auflisten, hinzufügen, ändern und löschen, sowohl Team-Overrides als auch solche an einem Schedule des Teams.
Diese Endpunkte verwalten alle Overrides eines Teams an einer Stelle:
- Team-Overrides (
scheduleId: null) brauchen keinen Schedule. Sie gelten überall, wo die Bereitschaft des Teams aufgelöst wird (Alarmierung, Bereitschaft jetzt, Kalender), ein Team kann also allein über Overrides laufen. - Schedule-Overrides (
scheduleIdgesetzt) sind dieselben Overrides wie unter Schedule-Overrides, nur über das Team angesprochen.
Felder und Bedeutung (type, Vertretungen, Geltungsbereich, Stufe, Vorrang) stehen unter Override-Felder. Diese Seite ergänzt ein Feld:
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
scheduleId | integer | null | Nein | Ein Schedule dieses Teams, an den der Override gehängt wird. Weggelassen oder null = Team-Override. |
Ein offline-Team-Override nimmt die Person nur heraus, solange sie in dieser Stufe tatsächlich eine Schicht hat. Hat sie dort keine Bereitschaft, bewirkt er nichts.
Authentifizierung
Basis-IM-Zugriff: eine IM-berechtigte Rolle oder ein organisationsweiter API-Token, und Incident Management für die Organisation aktiviert. Auflisten darf jeder mit diesem Zugriff. Hinzufügen, Ändern und Löschen brauchen die Team-Schreibhürde: Organisationsrolle admin, oder Team-Admin dieses Teams. Ein API-Token läuft mit der Rolle des Users, der ihn erstellt hat, also kommt nur ein Token durch, den ein Organisations-Admin erstellt hat.
Overrides auflisten
GET /api/im/teams/:id/overrides
Liefert alle Overrides des Teams, Team-Overrides und Schedule-Overrides, sortiert nach id.
Beispiel (cURL)
curl -X GET "$BASE_URL/api/im/teams/3/overrides" \
-H "Authorization: Bearer $TOKEN"Antwort (Response)
200 OK: dieselbe Eintragsform wie die Liste der Schedule-Overrides.
[
{
"id": 31,
"scheduleId": null,
"userId": "u_def456",
"userName": "Bob Fixit",
"userImage": null,
"type": "online",
"applyScope": "this_team",
"escalationTierOrder": 1,
"startsAt": "2026-12-24T18:00:00.000Z",
"endsAt": "2026-12-26T08:00:00.000Z",
"createdAt": "2026-10-09T10:00:00.000Z",
"coveredBy": []
}
]Override hinzufügen
POST /api/im/teams/:id/overrides
Beispiel (cURL)
Bob übernimmt über Weihnachten Stufe 1:
curl -X POST "$BASE_URL/api/im/teams/3/overrides" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"userId": "u_def456",
"type": "online",
"escalationTierOrder": 1,
"startsAt": "2026-12-24T18:00:00.000Z",
"endsAt": "2026-12-26T08:00:00.000Z"
}'Antwort (Response)
200 OK
{
"id": 31,
"teamId": 3,
"scheduleId": null,
"userId": "u_def456",
"type": "online",
"applyScope": "this_team",
"escalationTierOrder": 1,
"startsAt": "2026-12-24T18:00:00.000Z",
"endsAt": "2026-12-26T08:00:00.000Z",
"createdAt": "2026-10-09T10:00:00.000Z",
"coveredByUserIds": []
}Override ändern
PATCH /api/im/teams/:id/overrides/:overrideId
Ein vollständiger Ersatz: Sende jedes Feld erneut. Das gilt auch für scheduleId: Lässt du es weg, wird aus einem Schedule-Override ein Team-Override. Änderst du es, wandert der Override zwischen Team-Ebene und einem Schedule des Teams. Der Override behält seine id und damit seinen Vorrang.
Beispiel (cURL)
curl -X PATCH "$BASE_URL/api/im/teams/3/overrides/31" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"userId": "u_def456",
"type": "online",
"escalationTierOrder": null,
"scheduleId": null,
"startsAt": "2026-12-24T18:00:00.000Z",
"endsAt": "2026-12-27T08:00:00.000Z"
}'Antwort (Response)
200 OK: dieselbe Form wie beim Hinzufügen.
Override löschen
DELETE /api/im/teams/:id/overrides/:overrideId
Beispiel (cURL)
curl -X DELETE "$BASE_URL/api/im/teams/3/overrides/31" \
-H "Authorization: Bearer $TOKEN"Antwort (Response)
200 OK
{ "success": true }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 ist403 Forbidden(imTeamWriteDenied) beim Hinzufügen, Ändern oder Löschen, wenn du weder Organisations-Admin noch Team-Admin dieses Teams bist404 Not Found(imTeamNotFound) wenn das Team nicht existiert oder zu einer anderen Organisation gehört404 Not Found(imOverrideNotFound) wenn:overrideIdkein Override dieses Teams ist404 Not Found(imScheduleNotFound) wennscheduleIdkein Schedule dieses Teams ist404 Not Found(userNotFound) wennuserIdoder eine Vertretung nicht existiert oder zu einer anderen Organisation gehört400 Bad Request(invalidRequestBody) wenn eine Pfad-ID keine positive Ganzzahl ist,scheduleIdweder positive Ganzzahl nochnullist, oder ein Feld eine der unter Schedule-Overrides genannten Prüfungen nicht besteht400 Bad Request(imUserNotEligible) wenn die betroffene Person oder eine Vertretung inaktiv ist oder nicht die Organisationsrolleadmin,editoroderresponderhat