Incident lösen
Löst einen Incident-Management-Incident aus jedem nicht geschlossenen Status. Das 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). Das ist der einzige Endpunkt, der einen Incident auf resolved setzen kann; Status ändern lehnt resolved als Ziel bewusst ab.
Das Lösen stoppt die Eskalation, schickt den alarmierten Personen die Entwarnung, aktualisiert Statusseiten, die über eine Statusseiten-Regel gesteuert werden, und benachrichtigt ausgehende Integrationen. Bei einem Test-Incident (isTest: true) entfallen Entwarnung, Statusseiten-Aktualisierung und ausgehende Benachrichtigung.
Authentifizierung
Jede IM-berechtigte Rolle (admin, editor, responder) oder ein organisationsweiter API-Token, siehe Authentifizierung. Incident Management muss für die Organisation aktiviert sein.
Dem Team des Incidents vorbehalten: du musst Mitglied im Team des Incidents (teamId) oder Organisations-Admin sein. Ein organisationsweiter API-Token gilt dabei als Organisations-Admin. Das Bestätigen ist nicht so eingeschränkt.
Anfrage (Request Body)
| Feld | Typ | Erforderlich | Standard | Beschreibung |
|---|---|---|---|---|
note | string | Nein | null | Optionale Lösungsnotiz als Freitext, höchstens 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, ohne die Ergänzungsfelder).
{
"id": 42,
"organizationId": 1,
"teamId": 3,
"title": "Database connection pool exhausted",
"customerId": null,
"primarySourceId": 7,
"severity": "sev1",
"severityManual": false,
"status": "resolved",
"mergedIntoId": null,
"escalationPolicyId": null,
"currentTier": null,
"escalationEpoch": 2,
"escalationCycle": 0,
"acknowledgedBy": "MFcTjWmYq2LpzR8vK1sXo",
"acknowledgedAt": "2026-07-17T09:20:00.000Z",
"snoozedUntil": null,
"autoResolve": true,
"resolvedBy": null,
"resolveNote": "Restarted the connection pool, monitoring for recurrence.",
"statuspageUpdate": null,
"createdBy": null,
"sourceKind": "alert",
"isTest": false,
"triggeredAt": "2026-07-17T09:12:00.000Z",
"resolvedAt": "2026-07-17T09:45:00.000Z"
}Häufige Fehler
401 Unauthorizedwenn du nicht authentifiziert bist403 Forbidden(customerScopedTokenForbidden) bei Verwendung eines kunden-gescopten Tokens403 Forbidden(imAccessDenied) wenn die angemeldete Person keine IM-berechtigte Rolle hat403 Forbidden(imNotEnabled) wenn Incident Management für die Organisation nicht aktiviert ist403 Forbidden(imTeamMembershipRequired) wenn du weder Mitglied im Team des Incidents noch Organisations-Admin bist400 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
Berichte
Incident-Bericht (Volumen, MTTA, MTTR nach Team, Schweregrad, Kategorie oder Monat) und On-Call-Bericht (Minuten pro Person) für einen Zeitraum, als JSON oder CSV, und der NIS-2-Leitungsbericht als JSON oder PDF.
Routing-Regeln
Routing-Regeln im Incident Management auflisten, anlegen, ändern und löschen: welchem Team ein neuer Incident zugeordnet wird, optional mit überschriebener Severity.