Uptimeify Docs

Incidents gesammelt ändern

Wendet eine Aktion (bestätigen, lösen, Schweregrad, zuweisen) auf bis zu 200 Incident-Management-Incidents gleichzeitig an, mit Ergebnis je Incident.

POST /api/im/incidents/bulk

Wendet eine Aktion auf viele Incidents an, etwa um während eines großen Ausfalls Dutzende Incidents auf einmal zu bestätigen oder zu lösen. Jeder Incident durchläuft genau dieselbe Logik wie beim Einzel-Endpunkt, mit denselben Nebenwirkungen (Eskalation stoppen oder neu scharf schalten, Statusseiten, ausgehende Integrationen). Die Incidents werden einzeln und unabhängig voneinander verarbeitet: ein scheiternder Incident macht die anderen weder rückgängig noch blockiert er sie, die Anfrage ist also nicht atomar.

Authentifizierung

Jede IM-berechtigte Rolle (admin, editor, responder) oder ein organisationsweiter API-Token, siehe Authentifizierung. Incident Management muss für die Organisation aktiviert sein.

Jede Aktion außer acknowledge ist den Teams der Incidents vorbehalten: du musst Mitglied im Team jedes ausgewählten Incidents oder Organisations-Admin sein. Das wird für alle IDs geprüft, bevor irgendetwas geändert wird; gehört auch nur ein Incident nicht zu dir, wird die ganze Anfrage mit 403 abgelehnt und die betroffenen IDs stehen in data.deniedIncidentIds. Ein organisationsweiter API-Token gilt dabei als Organisations-Admin.

Anfrage (Request Body)

FeldTypErforderlichBeschreibung
idsnumber[]Ja1 bis 200 Incident-IDs, eindeutige positive Ganzzahlen.
actionstringJaEiner von acknowledge, resolve, severity, assign, team.
payloadobjectJe nach actionSiehe unten.
actionpayloadEntspricht
acknowledgekeinsBestätigen. Ein bereits bestätigter Incident zählt als ok.
resolvenote (string, optional, höchstens 10.000 Zeichen)Incident lösen
severityseverity (Pflicht, sev1 bis sev4)Schweregrad ändern
assignuserId (Pflicht: eine User-ID, oder null, um die Rolle zu leeren), role (optional, Standard assignee)Rolle zuweisen
teamteamId (Pflicht)Nicht umgesetzt, antwortet immer mit 501

Beispiel (cURL)

curl -X POST "$BASE_URL/api/im/incidents/bulk" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "ids": [42, 43, 44],
    "action": "resolve",
    "payload": { "note": "Upstream provider outage resolved." }
  }'

Antwort (Response)

200 OK, auch wenn einzelne Incidents gescheitert sind. ok listet die geänderten IDs, failed die übrigen mit einem reason: dem data.code, den der Einzel-Endpunkt geliefert hätte (z. B. imIncidentNotFound, imIncidentAlreadyClosed, imIncidentStatusConflict, invalidUserId), oder unknown.

{
  "ok": [42, 43],
  "failed": [
    { "id": 44, "reason": "imIncidentAlreadyClosed" }
  ]
}

Häufige Fehler

  • 401 Unauthorized wenn du nicht authentifiziert bist
  • 403 Forbidden (customerScopedTokenForbidden) bei Verwendung eines kunden-gescopten Tokens
  • 403 Forbidden (imAccessDenied) wenn die angemeldete Person keine IM-berechtigte Rolle hat
  • 403 Forbidden (imNotEnabled) wenn Incident Management für die Organisation nicht aktiviert ist
  • 403 Forbidden (imTeamMembershipRequired) wenn die Aktion nicht acknowledge ist und mindestens ein ausgewählter Incident zu einem Team gehört, in dem du nicht Mitglied bist (und du nicht Organisations-Admin bist); data.deniedIncidentIds listet sie, geändert wurde nichts
  • 400 Bad Request (invalidRequestBody) wenn ids leer ist, mehr als 200 Einträge, Duplikate oder keine positiven Ganzzahlen enthält, action unbekannt ist, oder das Payload zur Aktion ungültig ist (fehlende oder unbekannte severity, fehlende userId, unbekannte role, note kein String oder zu lang, fehlende teamId)
  • 501 Not Implemented (imBulkActionNotImplemented) bei action: "team"; das Verschieben von Incidents zwischen Teams wird nicht unterstützt

Auf dieser Seite