---
title: "NIS-2-Einstellungen"
description: "NIS-2-Meldefälle für Ihre Organisation einschalten, die Einstufung der Einrichtung setzen und die Meldeverantwortlichen festlegen."
---

`GET /api/im/nis2/settings` · `PUT /api/im/nis2/settings`

Meldefälle helfen, die NIS-2-Meldefristen einzuhalten (Frühwarnung nach 24 h, Meldung nach 72 h, Abschlussmeldung nach einem Monat). Sie sind standardmäßig aus. Jede Meldung geben Sie selbst im BSI-Portal ab; Uptimeify übermittelt nichts und stuft keinen Vorfall selbst ein.

## Authentifizierung

Nur mit Sitzung (Dashboard-Anmeldung). API-Tokens, auch organisationsweite, werden mit `403` (`nis2OfficerRequired`) abgewiesen. Voraussetzung ist Zugang zum Incident Management (`admin`, `editor` oder `responder`). Lesen dürfen Organisations-Admins und die eingetragenen Meldeverantwortlichen, auch wenn Meldefälle ausgeschaltet sind (dann können Admins und die eingetragenen Meldeverantwortlichen die Einstellungen weiterhin lesen; ändern dürfen nur Admins). **Ändern** verlangt die Rolle `admin`.

## Einstellungen lesen

`GET /api/im/nis2/settings`

### Beispiel (cURL)

```bash
curl "$BASE_URL/api/im/nis2/settings" \
  -H "Cookie: $SESSION_COOKIE" \
  -H "Accept: application/json"
```

### Antwort

`200 OK`

```json
{
  "enabled": true,
  "entityClass": "important",
  "officers": [
    { "userId": "u_8f2c", "name": "Jana Weber", "email": "jana.weber@example.com" }
  ],
  "canEdit": true
}
```

| Feld | Beschreibung |
|------|--------------|
| `enabled` | Meldefälle sind eingeschaltet. Standard `false`. |
| `entityClass` | `important` (wichtige Einrichtung), `essential` (besonders wichtige Einrichtung) oder `kritis` (Betreiber kritischer Anlagen). Bei `kritis` enthalten die Berichtsentwürfe zusätzlich Anlage und kritische Dienstleistung. |
| `officers` | Meldeverantwortliche. Sie bekommen die Fristerinnerungen. Admins haben immer Zugriff und stehen nicht in der Liste. |
| `canEdit` | `true` für Organisations-Admins. |

## Einstellungen ändern

`PUT /api/im/nis2/settings`

Ersetzt die Einstellungen und die Liste der Meldeverantwortlichen. Jeder andere Schlüssel ist ein `400`.

### Request-Body

| Feld | Typ | Pflicht | Beschreibung |
|------|-----|---------|--------------|
| `enabled` | boolean | Ja | Meldefälle ein- oder ausschalten. |
| `entityClass` | string | Ja | `important`, `essential` oder `kritis`. |
| `officerUserIds` | string[] | Ja | Nutzer-IDs dieser Organisation mit der Rolle `admin`, `editor` oder `responder`, höchstens 100. Einem Kunden zugeordnete Editoren sind Kundenseite und werden abgelehnt. `[]` leert die Liste. |

### Beispiel (cURL)

```bash
curl -X PUT "$BASE_URL/api/im/nis2/settings" \
  -H "Cookie: $SESSION_COOKIE" \
  -H "Content-Type: application/json" \
  -d '{ "enabled": true, "entityClass": "kritis", "officerUserIds": ["u_8f2c"] }'
```

### Antwort

`200 OK`: die gespeicherten Einstellungen, gleiche Form wie bei GET.

## Häufige Fehler

- `401 Unauthorized` (`unauthorized`) ohne Anmeldung
- `403 Forbidden` (`imAccessDenied`) für einen Kunden-Login oder eine Rolle ohne Incident-Management-Zugang
- `403 Forbidden` (`nis2OfficerRequired`) für ein API-Token oder eine Person, die weder Admin noch Meldeverantwortliche ist
- `403 Forbidden` (`nis2AdminRequired`) beim Ändern ohne die Rolle `admin`
- `400 Bad Request` (`invalidRequestBody`), wenn ein Feld fehlt, den falschen Typ hat, `entityClass` keinen erlaubten Wert hat oder der Body einen unbekannten Schlüssel enthält
- `400 Bad Request` (`nis2InvalidOfficer`), wenn eine verantwortliche Person kein Nutzer Ihrer Organisation mit der Rolle `admin`, `editor` oder `responder` ist
