---
title: "Incident lösen"
description: "Löst einen Incident-Management-Incident aus jedem nicht-geschlossenen Status. Dies ist der einzige Endpunkt, der einen Incident auf resolved setzen kann."
---

`POST /api/im/incidents/:id/resolve`

Löst einen Incident aus jedem nicht-geschlossenen Status (`triggered`, `acknowledged`, `investigating`, `identified`, `monitoring`). Dies ist der einzige Endpunkt, der einen Incident auf `resolved` setzen kann. [Incident bestätigen / Status ändern](./acknowledge-incident) lehnt `resolved` als Ziel bewusst ab.

## Authentifizierung

Wie bei [Incidents auflisten](./list-incidents): jede IM-berechtigte Rolle (`admin`, `editor`, `responder`), oder ein organisationsweiter API-Token. Incident Management muss für die Organisation aktiviert sein.

## Anfrage (Request Body)

| Feld | Typ | Erforderlich | Standard | Beschreibung |
|-------|------|----------|---------|-------------|
| `note` | string | Nein | `null` | Optionale Freitext-Lösungsnotiz, bis zu 10.000 Zeichen. |

## Beispiel (cURL)

```bash
curl -X POST "$BASE_URL/api/im/incidents/42/resolve" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "note": "Restarted the connection pool, monitoring for recurrence." }'
```

## Antwort (Response)

`200 OK`: der aktualisierte Incident-Datensatz (gleiche Form wie die `items` von [Incidents auflisten](./list-incidents)).

```json
{
  "id": 42,
  "organizationId": 1,
  "teamId": 3,
  "title": "Database connection pool exhausted",
  "customerId": null,
  "primarySourceId": 7,
  "severity": "sev1",
  "severityManual": false,
  "status": "resolved",
  "mergedIntoId": null,
  "escalationPolicyId": 5,
  "currentTier": null,
  "escalationEpoch": 1,
  "acknowledgedBy": "u_abc123",
  "acknowledgedAt": "2026-07-17T09:20:00.000Z",
  "snoozedUntil": null,
  "autoResolve": true,
  "resolvedBy": "u_abc123",
  "resolveNote": "Restarted the connection pool, monitoring for recurrence.",
  "createdBy": null,
  "sourceKind": "alert",
  "triggeredAt": "2026-07-17T09:12:00.000Z",
  "resolvedAt": "2026-07-17T09:45:00.000Z"
}
```

Das Lösen bricht außerdem alle anstehenden Eskalations-Jobs des aktuellen Eskalationszyklus des Incidents ab.

## 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
- `400 Bad Request` (`invalidRequestBody`) wenn `:id` keine positive Ganzzahl ist, oder `note` kein String ist oder 10.000 Zeichen überschreitet
- `404 Not Found` (`imIncidentNotFound`) wenn der Incident nicht existiert oder zu einer anderen Organisation gehört
- `422 Unprocessable Entity` (`imIncidentAlreadyClosed`) wenn der Incident bereits `resolved` oder `merged` ist
- `409 Conflict` (`imIncidentStatusConflict`) wenn der Incident zwischen Lesen und Schreiben gleichzeitig geschlossen wurde, sicher wiederholbar
