Incident lösen
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 lehnt resolved als Ziel bewusst ab.
Authentifizierung
Wie bei Incidents auflisten: jede IM-berechtigte Rolle (admin, editor, responder), oder ein organisationsweiter API-Token. Incident Management muss für die Organisation aktiviert sein.
Das Auflösen ist zusätzlich auf das Team des Incidents beschränkt: Ein Session-Nutzer muss Mitglied des Teams sein, zu dem der Incident gehört (teamId), Organisations-admin oder globaler Admin. Organisationsweite API-Tokens handeln wie ein Organisations-Admin und dürfen jeden Incident der Organisation auflösen. Ein IM-Nutzer, der nicht im Team des Incidents ist, erhält 403 (imTeamMembershipRequired). Das Bestätigen (Acknowledge) ist davon nicht betroffen.
Anfrage (Request Body)
| Feld | Typ | Erforderlich | Standard | Beschreibung |
|---|---|---|---|---|
note | string | Nein | null | Optionale Freitext-Lösungsnotiz, bis zu 10.000 Zeichen. |
Beispiel (cURL)
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).
{
"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 Unauthorizedwenn du nicht authentifiziert bist403 Forbidden(imAccessDenied) bei Verwendung eines kunden-gescopten Tokens, oder wenn deine Session keine IM-berechtigte Rolle hat403 Forbidden(imNotEnabled) wenn Incident Management für die Organisation nicht aktiviert ist403 Forbidden(imTeamMembershipRequired) wenn der Session-Nutzer weder Mitglied des Incident-Teams noch Organisations-Admin ist400 Bad Request(invalidRequestBody) wenn:idkeine positive Ganzzahl ist, odernotekein String ist oder 10.000 Zeichen überschreitet404 Not Found(imIncidentNotFound) wenn der Incident nicht existiert oder zu einer anderen Organisation gehört422 Unprocessable Entity(imIncidentAlreadyClosed) wenn der Incident bereitsresolvedodermergedist409 Conflict(imIncidentStatusConflict) wenn der Incident zwischen Lesen und Schreiben gleichzeitig geschlossen wurde, sicher wiederholbar