> ## Documentation Index
> Fetch the complete documentation index at: https://docs.livingsecurity.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Fehlerreferenz

> Alle Fehler, die die öffentliche API /v1 von Living Security zurückgeben kann, mit stabilem maschinenlesbarem Code, HTTP-Status und Hinweisen zur Behebung.

Jede Fehlerantwort von `/v1` ist `application/problem+json` ([RFC 9457](https://www.rfc-editor.org/rfc/rfc9457)) mit einem festen Satz an Feldern:

```json theme={null}
{
  "type": "https://docs.livingsecurity.com/developers/v1/errors/resource_not_found",
  "title": "Not Found",
  "status": 404,
  "detail": "No such organization.",
  "code": "resource_not_found",
  "request_id": "req_...",
  "doc_url": "https://docs.livingsecurity.com/developers/v1/errors/resource_not_found",
  "retryable": false
}
```

Verzweigen Sie anhand von `code`, niemals anhand von `detail` – `code` ist ein stabiler maschinenlesbarer Vertrag; `detail` ist für Menschen lesbar und kann sich ändern. `param` ist vorhanden, wenn der Fehler einem bestimmten Anfrageparameter zugeordnet werden kann. Geben Sie `request_id` an, wenn Sie sich an den Support wenden.

## Fehlercodes

| Code | HTTP-Status | Wiederholbar |
| - | - | - |
| [`unauthorized`](/de/developers/v1/errors/unauthorized) | 401 | Nein |
| [`credential_inactive`](/de/developers/v1/errors/credential_inactive) | 401 | Nein |
| [`credential_expired`](/de/developers/v1/errors/credential_expired) | 401 | Nein |
| [`credential_revoked`](/de/developers/v1/errors/credential_revoked) | 401 | Nein |
| [`not_entitled`](/de/developers/v1/errors/not_entitled) | 403 | Nein |
| [`insufficient_permission`](/de/developers/v1/errors/insufficient_permission) | 403 | Nein |
| [`permission_denied`](/de/developers/v1/errors/permission_denied) | 403 | Nein |
| [`resource_not_found`](/de/developers/v1/errors/resource_not_found) | 404 | Nein |
| [`invalid_request`](/de/developers/v1/errors/invalid_request) | 400 oder 409 | Nein |
| [`invalid_filter`](/de/developers/v1/errors/invalid_filter) | 400 | Nein |
| [`unsupported_version`](/de/developers/v1/errors/unsupported_version) | 400 | Nein |
| [`idempotency_key_reuse`](/de/developers/v1/errors/idempotency_key_reuse) | 409 | Abhängig vom Konflikt |
| [`rate_limited`](/de/developers/v1/errors/rate_limited) | 429 | Ja |
| [`service_unavailable`](/de/developers/v1/errors/service_unavailable) | 503 | Ja |
| [`internal_error`](/de/developers/v1/errors/internal_error) | 500 | Ja |

Die Menge der Codes ist abgeschlossen: Neue Codes stellen eine Änderung des öffentlichen Vertrags dar und werden über das API-Changelog angekündigt. Eine `retryable: true`-Antwort bedeutet, dass sich die Bedingung möglicherweise von selbst auflöst; sie belegt nicht, dass ein Schreibvorgang keine Auswirkung hatte. Wiederholen Sie Lesevorgänge mit einem begrenzten Versuchs- und Zeitbudget, exponentiellem Backoff und Jitter. Beachten Sie `Retry-After`, sofern vorhanden, auch bei einem wiederholbaren `409` oder `429`.

Befolgen Sie bei Mutationen den dokumentierten Idempotenz- und Wiederherstellungsvertrag des jeweiligen Vorgangs. Behalten Sie, sofern unterstützt, den ursprünglichen Schlüssel und die ursprüngliche Anfrage bei. Erzeugen Sie nach einem Timeout oder `5xx` keinen neuen Schlüssel: Dadurch könnte ein erfolgreicher Schreibvorgang wiederholt werden. Ein `Idempotency-Key`-Header bietet bei einem Vorgang, der ihn nicht unterstützt, keinen Schutz.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.