Uptimeify Docs

Team-Bereitschaft und Statistik

Lesen, wer in einem Team gerade Bereitschaft hat, den Bereitschaftskalender des Teams für ein Zeitfenster und die Incident-Statistik des Teams.

Lesende Ansichten auf ein Team: die aktuelle Bereitschaft je Stufe, der Bereitschaftskalender und die Incident-Statistik. Die organisationsweite Ansicht steht unter Wer hat Bereitschaft.

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. Ein Team einer anderen Organisation antwortet mit 404.

Bereitschaft jetzt

GET /api/im/teams/:id/on-call-now

Ein Eintrag je Eskalationsstufe, in Stufenreihenfolge, mit allen, die in dieser Stufe gerade Bereitschaft haben. Overrides sind bereits angewendet. Eine Stufe ohne Bereitschaft (kein Schedule oder eine Lücke) hat ein leeres users-Array.

Beispiel (cURL)

curl -X GET "$BASE_URL/api/im/teams/3/on-call-now" \
  -H "Authorization: Bearer $TOKEN"

Antwort (Response)

200 OK

[
  {
    "tierId": 21,
    "tierOrder": 1,
    "users": [{ "userId": "u_abc123", "userName": "Ada Lovelace", "userImage": null }]
  },
  { "tierId": 22, "tierOrder": 2, "users": [] }
]

Kalender

GET /api/im/teams/:id/calendar

Bereitschaftszeiträume aller Stufen in einem Zeitfenster, als flache Liste sortiert nach Beginn. Team-Overrides sind bereits angewendet.

Query-Parameter

ParameterTypErforderlichBeschreibung
fromstringJaISO-8601-Zeitstempel, Beginn des Fensters (inklusive).
tostringJaISO-8601-Zeitstempel, Ende des Fensters (exklusive). Muss nach from liegen.
tierintegerNeinEine Stufen-ID dieses Teams: nur die Zeiträume dieser Stufe. Eine ID, die keine Stufe des Teams ist, liefert [].

Beispiel (cURL)

curl -X GET "$BASE_URL/api/im/teams/3/calendar?from=2026-10-01T00:00:00Z&to=2026-11-01T00:00:00Z" \
  -H "Authorization: Bearer $TOKEN"

Antwort (Response)

200 OK

[
  {
    "scheduleId": 7,
    "tierOrder": 1,
    "userId": "u_abc123",
    "userName": "Ada Lovelace",
    "startsAt": "2026-09-28T07:00:00.000Z",
    "endsAt": "2026-10-05T07:00:00.000Z",
    "userImage": null
  },
  {
    "scheduleId": null,
    "tierOrder": 1,
    "userId": "u_def456",
    "userName": "Bob Fixit",
    "startsAt": "2026-10-10T18:00:00.000Z",
    "endsAt": "2026-10-12T08:00:00.000Z",
    "userImage": null,
    "isTeamOverride": true
  }
]
  • Ein Zeitraum überlappt das Fenster, kann aber vor from beginnen oder nach to enden.
  • scheduleId: null mit isTeamOverride: true markiert einen Zeitraum, der aus einem Team-Override stammt statt aus einem Schedule. Bei allen anderen Zeiträumen fehlt der Schlüssel.
  • Ein Team ohne Stufen liefert [].

Incident-Statistik

GET /api/im/teams/:id/incidents/stats

Anzahl und Reaktionszeiten der Team-Incidents, die in einem Fenster ausgelöst wurden, dieselben Werte für das gleich lange Fenster direkt davor, und ein Datenpunkt pro Tag. Test-Incidents zählen nicht mit.

Query-Parameter

ParameterTypErforderlichBeschreibung
fromstringJaISO-8601-Zeitstempel, Beginn des Fensters (inklusive).
tostringJaISO-8601-Zeitstempel, Ende des Fensters (exklusive). Höchstens 400 Tage nach from.
tzstringNeinIANA-Zone für die Tageswerte. Fehlt sie oder ist sie ungültig, gilt die Zeitzone des Teams, dann UTC.
severitystringNeinNur diese Schweregrade: sev1 bis sev4. Wiederholbar (?severity=sev1&severity=sev2).
statusstringNeinNur diese Status: triggered, acknowledged, investigating, identified, monitoring, resolved, merged. Wiederholbar.

Beispiel (cURL)

curl -G "$BASE_URL/api/im/teams/3/incidents/stats" \
  -H "Authorization: Bearer $TOKEN" \
  --data-urlencode "from=2026-10-01T00:00:00+02:00" \
  --data-urlencode "to=2026-10-08T00:00:00+02:00" \
  --data-urlencode "tz=Europe/Berlin"

Antwort (Response)

200 OK

{
  "from": "2026-09-30T22:00:00.000Z",
  "to": "2026-10-07T22:00:00.000Z",
  "comparisonFrom": "2026-09-23T22:00:00.000Z",
  "comparisonTo": "2026-09-30T22:00:00.000Z",
  "current": {
    "total": 12,
    "resolved": 10,
    "resolvedPct": 83.3,
    "open": 2,
    "mttaSeconds": 184,
    "ttaMedianSeconds": 95,
    "mttrSeconds": 2710,
    "ttrMedianSeconds": 1800
  },
  "previous": {
    "total": 8,
    "resolved": 8,
    "resolvedPct": 100,
    "open": 0,
    "mttaSeconds": 240,
    "ttaMedianSeconds": 150,
    "mttrSeconds": 3300,
    "ttrMedianSeconds": 2400
  },
  "timeSeries": [
    { "date": "2026-10-01", "count": 3, "resolvedCount": 3, "mttaSeconds": 120, "mttrSeconds": 1500 },
    { "date": "2026-10-02", "count": 0, "resolvedCount": 0, "mttaSeconds": null, "mttrSeconds": null }
  ]
}
  • open zählt Incidents in triggered, acknowledged, investigating, identified oder monitoring. merged-Incidents stecken in total, aber weder in resolved noch in open.
  • resolvedPct ist null, wenn total 0 ist. MTTA/MTTR sind Sekunden, Mittelwerte und Mediane über die bestätigten bzw. gelösten Incidents; null, wenn es keine gibt.
  • timeSeries hat einen Punkt pro Kalendertag des Fensters in tz, auch für Tage ohne Incidents.

Häufige Fehler

  • 401 Unauthorized (unauthorized) wenn du nicht authentifiziert bist
  • 403 Forbidden (imAccessDenied) bei einem kunden-gescopten Token, oder wenn deine Session keine IM-berechtigte Rolle hat
  • 403 Forbidden (imNotEnabled) wenn Incident Management für die Organisation nicht aktiviert ist
  • 404 Not Found (imTeamNotFound) wenn das Team nicht existiert oder zu einer anderen Organisation gehört
  • 400 Bad Request (invalidRequestBody) wenn :id keine positive Ganzzahl ist, oder (Statistik) ein Wert in severity oder status unbekannt ist
  • 422 Unprocessable Entity (invalidRequestBody) (Kalender) wenn from oder to fehlt oder kein gültiger Zeitstempel ist, from nicht vor to liegt, oder tier keine positive Ganzzahl ist
  • 400 Bad Request (imReportRangeRequired) (Statistik) wenn from oder to fehlt oder kein gültiger Zeitstempel ist
  • 400 Bad Request (imReportRangeInvalid) (Statistik) wenn from nicht vor to liegt
  • 400 Bad Request (imReportRangeTooLarge) (Statistik) wenn das Fenster länger als 400 Tage ist

Auf dieser Seite