---
title: "Ausfälle auflisten (Organisation)"
description: "Listet Incidents für eine Organisation auf. Die Daten sind durch deine Session/Permissions eingeschränkt."
---

`GET /api/incidents?organizationId=:organizationId`

Readonly-User sehen nur Incidents für Kunden, denen sie zugewiesen sind.

## Authentifizierung

Erfordert eine gültige Session.

- Header: `Authorization: Bearer <token>`

## Query Parameter

- `organizationId` (optional): Wenn nicht gesetzt, wird die `organizationId` aus deiner Session verwendet.
- `source` (optional): Filtert nach Incident-Quelle. `manual` liefert von einem Admin erstellte Statusseiten-Ankündigungen; `monitor` liefert automatisch von den Monitoring-Workern erzeugte Incidents. Jeder andere Wert wird ignoriert und alle Quellen werden zurückgegeben. Nützlich, da manuelle Incidents deutlich älter sein können als die neuesten Monitor-Incidents und sonst außerhalb des `limit`-Fensters liegen würden.
- `limit` (optional, Standard: `100`, max: `500`): Maximale Anzahl an Incidents.
- `offset` (optional, Standard: `0`): Pagination-Offset.
- `includeTotal` (optional, Standard: `0`): Wenn `1` (oder `true`), enthält die Response zusätzlich `total`, `limit` und `offset`.

## Beispiel (cURL)

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

curl -X GET "$BASE_URL/api/incidents?organizationId=1" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Accept: application/json"
```

Pagination:

```bash
curl -X GET "$BASE_URL/api/incidents?organizationId=1&limit=100&offset=0" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Accept: application/json"
```

Nur manuell erstellte (Statusseiten-)Incidents auflisten:

```bash
curl -X GET "$BASE_URL/api/incidents?organizationId=1&source=manual" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Accept: application/json"
```

## Antwort (Auszug)

```json
[
  {
    "id": 123,
    "websiteId": 101,
    "status": "open",
    "severity": "downtime",
    "started_at": "2026-02-26T12:10:00.000Z",
    "resolved_at": null,
    "last_notified_at": "2026-02-26T12:11:00.000Z",
    "error_message": "Timeout",
    "status_code": null,
    "response_time_ms": null,
    "website": {
      "id": 101,
      "name": "Main Marketing Site",
      "url": "https://deinkunde.com",
      "status": "active"
    },
    "customer": {
      "id": 12,
      "email": "ops@deinkunde.com",
      "company": "Acme Corp"
    }
  }
]
```

Wenn `includeTotal=1`, ändert sich das Response-Format zu:

```json
{
  "incidents": [],
  "total": 1234,
  "limit": 100,
  "offset": 0
}
```

## Häufige Fehler

- `400 Organization ID is required` wenn keine Organisation ermittelt werden kann
- `401 Unauthorized` wenn du nicht angemeldet bist
- `403 Forbidden` wenn du keine Leserechte für die Organisation hast
- `500 Failed to fetch incidents` bei unerwarteten Fehlern

