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
  },
  "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
  }
}

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