Uptimeify Docs

Ausfall-Details abrufen

Gibt Details zu einem bestimmten Vorfall zurück.

GET /api/incidents/:incidentPublicId

Enthält neben den Incident-Basisdaten auch eine Timeline (Checks/Alert-Events) sowie optional einen Evidence-Check.

Authentifizierung

Erfordert eine gültige Session.

  • Header: Authorization: Bearer <token>

Parameter

  • incidentPublicId (Path, required): Öffentliche UUID des Incidents.

Beispiel (cURL)

BASE_URL="https://uptimeify.io"
TOKEN="<dein-api-token>"

curl -X GET "$BASE_URL/api/incidents/6bfec6f6-245a-47ce-843b-157d97d56f88" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Accept: application/json"

Hinweis: evidenceCheck kann null sein. screenshotUrl ist nur gesetzt, wenn hasScreenshot true ist.

Auflösung der Timeline

Jeder Eintrag in outageStartedCheck, failedChecks und recoveryChecks trägt ein Feld resolution:

  • raw: eine einzelne Prüfung an einem einzelnen Standort. location, statusCode und errorMessage sind die Werte, die dieser Standort gemeldet hat.
  • 1min: eine Minute aus dem Monitoring-Aggregat. Sie wird verwendet, sobald ein Vorfall älter ist als die Aufbewahrungsfrist der Rohdaten (48 Stunden). location, statusCode und errorMessage sind dann null, responseTimeMs ist der Mittelwert der Minute, und zwei zusätzliche Felder nennen die Standorte dahinter: totalLocations und failedLocations. Die id eines solchen Eintrags ist synthetisch (1min-<Zeitstempel>) und lässt sich nicht als Prüfung nachschlagen.

Die drei Listen werden unabhängig voneinander aufgelöst. Ein Vorfall, der die Grenze überspannt, kann für seinen jüngeren Teil raw-Einträge und für den älteren 1min-Einträge liefern.

Antwort (Auszug)

{
  "incident": {
    "id": 123,
    "websiteId": 101,
    "type": "downtime",
    "status": "open",
    "startedAt": "2026-02-26T12:10:00.000Z",
    "resolvedAt": null,
    "statusCode": null,
    "errorMessage": "Timeout",
    "responseTimeMs": null,
    "falseAlarmAt": null,
    "falseAlarmReason": null
  },
  "timeline": {
    "outageStartedAt": "2026-02-26T12:08:00.000Z",
    "outageStartedCheck": {
      "id": "chk_01H...",
      "checkedAt": "2026-02-26T12:08:00.000Z",
      "status": "failure",
      "statusCode": 503,
      "errorMessage": "Timeout",
      "responseTimeMs": null,
      "location": { "id": 7, "code": "de-nbg", "name": "Nuremberg (DE)" },
      "resolution": "raw"
    },
    "confirmationAt": "2026-02-26T12:10:00.000Z",
    "failedChecks": [
      {
        "id": "1min-2026-02-26T12:09:00.000Z",
        "checkedAt": "2026-02-26T12:09:00.000Z",
        "status": "failure",
        "statusCode": null,
        "errorMessage": null,
        "responseTimeMs": 246,
        "location": null,
        "resolution": "1min",
        "totalLocations": 3,
        "failedLocations": 2
      }
    ],
    "failedChecksTotal": 2,
    "alertEvents": [
      {
        "id": 987,
        "sentAt": "2026-02-26T12:11:00.000Z",
        "type": "email",
        "status": "sent",
        "channelName": "Ops Email",
        "errorMessage": null
      }
    ],
    "recoveryChecks": [],
    "recoveryChecksTotal": 0
  },
  "evidenceCheck": {
    "id": "chk_01H...",
    "checkedAt": "2026-02-26T12:08:00.000Z",
    "diagnostics": null,
    "hasScreenshot": false,
    "screenshotUrl": null
  }
}

Fehlalarm-Markierung

Ein Vorfall kann als Fehlalarm markiert werden (POST /api/incidents/{id}/false-alarm). Zwei Felder auf incident geben diese Markierung wieder, nur lesend:

FeldTypBedeutung
falseAlarmAtstring | nullWann markiert wurde, ISO 8601. null heißt: nicht markiert.
falseAlarmReasonstring | nullDer beim Markieren angegebene freie Grund, oder null.

Die Markierung ist rücknehmbar, falseAlarmAt kann also wieder null werden. Sie ändert den status nicht: ein als Fehlalarm markierter Vorfall ist trotzdem als Alarm hinausgegangen, und genau das hält die Markierung fest.

Wer markiert hat, steht nicht in der Antwort.

Häufige Fehler

  • 400 Incident public ID (UUID) required wenn :incidentPublicId ungültig ist
  • 401 Unauthorized wenn du nicht angemeldet bist
  • 403 Forbidden wenn der Incident existiert, du aber keinen Zugriff hast
  • 404 Incident not found wenn der Incident nicht existiert

Auf dieser Seite