Mein Bereitschaftsstatus
Deine eigene Bereitschaft über alle Teams: ob du gerade Bereitschaft hast, kommende Schichten, Vertretungen und deine Bereitschaftsstunden.
GET /api/im/me/on-call · GET /api/im/me/on-call-stats
Die persönliche Sicht auf die Bereitschaft: ob du gerade Bereitschaft hast, in welchen Teams, was als Nächstes kommt und wie viele Stunden du Bereitschaft hattest. Wer allgemein Bereitschaft hat, zeigt Wer hat Bereitschaft.
Authentifizierung
Jede IM-berechtigte Rolle (admin, editor, responder) mit einer Benutzersitzung. Incident Management muss für die Organisation aktiviert sein. Diese Endpunkte beschreiben eine Person, deshalb erhält ein organisationsweiter API-Token 403 (imUserSessionRequired): Ein Token hat weder Schicht noch Pager.
Meine aktuelle Bereitschaft
GET /api/im/me/on-call
Wird genauso aufgelöst wie in der Alarmierung, inklusive Vertretungen auf Teamebene. upcomingShifts schaut zwei Wochen voraus.
Beispiel (cURL)
curl -X GET "$BASE_URL/api/im/me/on-call" \
-b "$SESSION_COOKIE" \
-H "Accept: application/json"Antwort (Response)
{
"currentlyOnCall": true,
"currentTeams": [
{ "teamId": 7, "teamName": "Platform", "tierOrder": 1 }
],
"currentShift": {
"teamId": 7,
"teamName": "Platform",
"tierOrder": 1,
"startsAt": "2026-10-10T07:00:00.000Z",
"endsAt": "2026-10-11T07:00:00.000Z",
"scheduleName": "Platform primary"
},
"upcomingShifts": [
{
"teamId": 7,
"teamName": "Platform",
"scheduleId": 12,
"scheduleName": "Platform primary",
"startsAt": "2026-10-17T07:00:00.000Z",
"endsAt": "2026-10-18T07:00:00.000Z",
"isOverride": false
}
],
"myOverrides": [
{
"id": 91,
"teamId": 7,
"teamName": "Platform",
"scheduleId": 12,
"type": "offline",
"startsAt": "2026-10-12T18:00:00.000Z",
"endsAt": "2026-10-12T22:00:00.000Z",
"coveredBy": [{ "userId": "u_8f2", "name": "Mara" }]
}
],
"degraded": false
}| Feld | Beschreibung |
|---|---|
currentlyOnCall | Ob du gerade in mindestens einem Team für neue Incidents alarmiert wirst. |
currentTeams | Teams, in denen du jetzt Bereitschaft hast. tierOrder ist die niedrigste Stufe, in der du bist, also die zuerst alarmierte. |
currentShift | Die laufende Bereitschaft mit ihrem echten Beginn und Ende, über aneinanderliegende Schichten und Vertretungen hinweg. Bei Bereitschaft in mehreren Teams die am längsten laufende. startsAt ist null, wenn die Bereitschaft vor mehr als zwei Wochen begann, endsAt ist null, wenn sie nicht innerhalb von zwei Wochen endet. scheduleName ist null, wenn die Bereitschaft nur aus einer Vertretung auf Teamebene stammt. null, wenn du keine Bereitschaft hast. |
upcomingShifts | Deine Schichten, die in den nächsten zwei Wochen beginnen. isOverride markiert Schichten aus einer Vertretung. |
myOverrides | Deine eigenen laufenden oder kommenden Vertretungen (type online = du übernimmst, offline = du gibst ab). Bei einer Offline-Vertretung nennt coveredBy, wer in der Zeit den Pager hält; der letzte Eintrag wird alarmiert. Bei Online-Vertretungen und bei einer Offline-Vertretung ohne Ersatz ist die Liste leer. |
degraded | true, wenn der Status mindestens eines Teams nicht aufgelöst werden konnte. currentlyOnCall ist dann eine Untergrenze: als „Status unvollständig“ lesen, nicht als „keine Bereitschaft“. |
Meine Bereitschaftsstunden
GET /api/im/me/on-call-stats
Deine Bereitschaftszeit in dieser Woche, in diesem Monat und in den letzten 30 Tagen, jeweils mit dem vorigen Zeitraum derselben Art.
Query-Parameter
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
tz | string | Nein | IANA-Zeitzone, z. B. Europe/Berlin. Bestimmt, wo eine Woche (Montag 00:00) und ein Monat (1., 00:00) beginnen. Unbekannt oder fehlend: UTC. |
Beispiel (cURL)
curl -X GET "$BASE_URL/api/im/me/on-call-stats?tz=Europe/Berlin" \
-b "$SESSION_COOKIE" \
-H "Accept: application/json"Antwort (Response)
{
"timeZone": "Europe/Berlin",
"week": { "seconds": 25200, "previousSeconds": 23700 },
"month": { "seconds": 90000, "previousSeconds": 0 },
"last30": { "seconds": 309600, "previousSeconds": 174600 }
}Aktuelle Zeiträume laufen bis jetzt, vorige Zeiträume umfassen den ganzen vorherigen Zeitraum. timeZone ist die tatsächlich verwendete Zone.
Häufige Fehler
401 Unauthorizedwenn du nicht authentifiziert bist403 Forbidden(customerScopedTokenForbidden) bei Verwendung eines kunden-gescopten Tokens403 Forbidden(imUserSessionRequired) bei Aufruf mit einem organisationsweiten API-Token403 Forbidden(imAccessDenied) wenn keine IM-berechtigte Rolle oder keine Organisation vorliegt403 Forbidden(imNotEnabled) wenn Incident Management für die Organisation nicht aktiviert ist
Incidents zusammenführen
Führt einen Incident-Management-Incident in einen anderen zusammen: seine Alerts und seine Timeline wandern mit, der zusammengeführte Incident eskaliert nicht weiter.
Persönliche Benachrichtigungseinstellungen
Wie Incident Management dich erreicht: Kanäle, Benachrichtigungsregeln je Dringlichkeit, Kanäle je Schweregrad, Telefonbestätigung, Test-Benachrichtigungen und dein Benachrichtigungsprotokoll.