---
title: "Wer hat Bereitschaft"
description: "Liefert, wer gerade Bereitschaft hat, ein Eintrag pro Schedule deiner Organisation."
---

`GET /api/im/on-call`

Liefert, wer **gerade jetzt** Bereitschaft hat: ein Eintrag pro [Schedule](./schedules) deiner Organisation. Dies ist eine Zeitstempel-Abfrage gegen die materialisierten Schichten (`im_schedule_shift`), also dieselbe Tabelle, die auch die Eskalations-Engine liest, um zu entscheiden, wer alarmiert wird; es wird keine Rotationslogik live neu berechnet.

## Authentifizierung

Erfordert den Basis-IM-Zugriff, den jeder Endpunkt dieser API benötigt (eine der IM-berechtigten Rollen `admin`, `editor` oder `responder`, oder einen organisationsweiten API-Token; Incident Management muss für die Organisation aktiviert sein).

## Beispiel (cURL)

```bash
curl -X GET "$BASE_URL/api/im/on-call" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Accept: application/json"
```

## Antwort (Response)

`200 OK`: ein Array, ein Eintrag pro Schedule mit aktueller Abdeckung. Ein Schedule ohne aktuelle Abdeckung (eine Lücke) fehlt schlicht im Array. Er wird nicht als `null` oder Fehler zurückgegeben.

```json
[
  {
    "teamId": 3,
    "scheduleId": 7,
    "userId": "u_abc123",
    "userName": "Jane Doe",
    "shiftEndsAt": "2026-07-18T09:00:00.000Z"
  }
]
```

Überlappen sich bei einem Schedule mehrere Rotationsschichten, gewinnt die gerade aktive höchste Schicht. Es gilt dieselbe Regel „höhere Schicht sticht niedrigere", nach der auch die Eskalations-Engine auflöst, sodass dieser Endpunkt nie widersprüchlich zu dem ist, wer tatsächlich alarmiert wird. `shiftEndsAt` ist der Zeitpunkt, zu dem die aktuelle Schicht (oder der Override) endet, also die nächste Übergabe für diesen Schedule.

## Häufige Fehler

- `401 Unauthorized` wenn du nicht authentifiziert bist
- `403 Forbidden` (`imAccessDenied`) bei Verwendung eines kunden-gescopten Tokens, oder wenn deine Session keine IM-berechtigte Rolle hat
- `403 Forbidden` (`imNotEnabled`) wenn Incident Management für die Organisation nicht aktiviert ist
