---
title: "Analytics"
description: "Incident-Volumen, MTTA und MTTR pro Tag, das Verhältnis von Alerts zu Incidents und die On-Call-Last pro Person für einen Zeitraum, in einem Aufruf."
---

`GET /api/im/analytics`

Liefert die Daten der Analytics-Seite im Incident Management für einen Zeitraum: Incident-Volumen mit MTTA und MTTR pro lokalem Tag, das tägliche Alert-Rauschen und die On-Call-Minuten pro Person.

## Authentifizierung

Jede IM-berechtigte Rolle (`admin`, `editor`, `responder`) oder ein organisationsweiter API-Token. Incident Management muss für die Organisation aktiviert sein.

## Query-Parameter

| Parameter | Typ | Erforderlich | Beschreibung |
|-----------|------|----------|--------------|
| `from` | ISO 8601 | Ja | Beginn des Zeitraums (einschließlich). |
| `to` | ISO 8601 | Ja | Ende des Zeitraums (ausschließlich). Muss nach `from` liegen, höchstens 400 Tage später. |
| `tz` | number | Nein | Dein UTC-Versatz in Minuten (z. B. `120` für UTC+2). Standard `0`, begrenzt auf plus/minus 1440. Schneidet `volumeTrend` in lokale Tage. |

## Beispiel (cURL)

```bash
curl "$BASE_URL/api/im/analytics?from=2026-09-01T00:00:00Z&to=2026-10-01T00:00:00Z&tz=120" \
  -H "Authorization: Bearer $TOKEN"
```

## Antwort (Response)

```json
{
  "from": "2026-09-01T00:00:00.000Z",
  "to": "2026-10-01T00:00:00.000Z",
  "volumeTrend": [
    { "day": "2026-09-01T22:00:00.000Z", "count": 4, "mttaMinutes": 3.5, "mttrMinutes": 47.25 },
    { "day": "2026-09-02T22:00:00.000Z", "count": 1, "mttaMinutes": null, "mttrMinutes": null }
  ],
  "noiseQuote": [
    { "day": "2026-09-02", "alerts": 38, "deduped": 29, "incidents": 4 }
  ],
  "onCallLoad": [
    { "userId": "u_abc123", "userName": "Jana Weber", "minutes": 10080 }
  ]
}
```

| Feld | Beschreibung |
|-------|-------------|
| `volumeTrend[].day` | UTC-Zeitpunkt der lokalen Mitternacht dieses Tages (um `tz` verschoben). Formatiere ihn in deiner eigenen Zeitzone. Nur Tage mit Incidents erscheinen. |
| `volumeTrend[].count` | An diesem Tag ausgelöste Incidents. Test-Incidents zählen nicht mit. |
| `volumeTrend[].mttaMinutes` | Durchschnittliche Minuten vom Auslösen bis zur Bestätigung, über die bestätigten Incidents. `null`, wenn keiner bestätigt wurde. |
| `volumeTrend[].mttrMinutes` | Durchschnittliche Minuten vom Auslösen bis zur Lösung, über die gelösten Incidents. `null`, wenn keiner gelöst wurde. |
| `noiseQuote[]` | Pro UTC-Kalendertag (`YYYY-MM-DD`, nicht um `tz` verschoben), summiert über alle Alert-Sources: eingehende `alerts`, `deduped` (in einen offenen Alert eingeflossen) und geöffnete `incidents`. Umfasst jeden Tag vom Datum von `from` bis zum Datum von `to`. |
| `onCallLoad[]` | On-Call-Minuten pro Person innerhalb des Zeitraums, dieselben Daten wie im [On-Call-Bericht](/de/api/incident-management/reports#on-call-bericht). |

## Häufige Fehler

- `401 Unauthorized` (`unauthorized`) wenn du nicht authentifiziert bist
- `403 Forbidden` (`customerScopedTokenForbidden`) bei einem kunden-gescopten Token
- `403 Forbidden` (`imAccessDenied`) wenn deine Session keine IM-berechtigte Rolle hat
- `403 Forbidden` (`imNotEnabled`) wenn Incident Management für die Organisation nicht aktiviert ist
- `400 Bad Request` (`imReportRangeRequired`) wenn `from` oder `to` fehlt oder kein gültiges Datum ist
- `400 Bad Request` (`imReportRangeInvalid`) wenn `from` nicht vor `to` liegt
- `400 Bad Request` (`imReportRangeTooLarge`) wenn der Zeitraum 400 Tage überschreitet
