# Fehlercodes: Geräte, Wiedergabe, Meldungen, Betrieb

Die Codes der Bereiche Fleet, Playback, Realtime, Notifications, Analytics und Audit — und die der Betriebskonsole, die nur auf Routen des Plattformbetriebs entstehen.

> **Typ:** nachschlagen
> **Für wen:** Wer Geräte und Displays steuert, Webhooks betreibt, Auswertungen abruft oder das Prüfprotokoll liest.
> **Voraussetzung:** das Fehlerformat kennen — siehe [Das Fehlerformat](/de/api/error-format)

## So lesen Sie die Tabellen

Die Tabellen lesen Sie so: **Code** ist der Wert im Feld `code` des Fehlerrumpfs — darauf schaltet Ihre Logik, nie auf `message`. **Bedeutung** und **Typischer Auslöser** ordnen den Fall ein. **HTTP** ist der tatsächlich gesendete Status. **Erwartete Reaktion** ist die Antwort Ihres Clients in einem festen Wortschatz, der auf allen sieben Fehlercode-Seiten gleich ist: „Ausweis prüfen“ (401), „Recht oder Paket prüfen“ (402, 403), „Eingabe korrigieren“ (400, 413, 415, 422), „neu laden, erneut senden“ (Versionskonflikte), „nicht wiederholen, Vorgang prüfen“ (404, 409, 410, 426), „warten (Retry-After)“ (429) und „später erneut, bei Wiederholung Trace-Id melden“ (5xx).

## Die Codes

### Geräte und Displays (Fleet)

Displays, Kopplung, Befehle, Etiketten, Leinwände, Standorte und Aktualisierungen. `Device.NotPaired` (409) ist ein Zustand, der von selbst vergeht: Das Gerät ist registriert, aber noch keiner Organisation zugeordnet.

| Code | Bedeutung | Typischer Auslöser | HTTP | Erwartete Reaktion |
|---|---|---|---|---|
| `Device.NotPaired` | Gerät noch keiner Organisation zugeordnet | Selbstmeldung eines frisch registrierten Agenten (Fähigkeiten, Ereignisse, Bildschirmfotos), bevor jemand im Portal den Kopplungscode eingelöst hat. Eigener Code, weil dieser Vorlauf als `Player.NotFound` nicht von einem Ausfall zu unterscheiden war — er vergeht von selbst | 409 | nicht wiederholen, Vorgang prüfen |
| `Player.NotFound` | Display nicht gefunden | Unbekannte Display-Kennung | 404 | nicht wiederholen, Vorgang prüfen |
| `Player.AlreadyDecommissioned` | Display bereits entfernt | Aktion auf ein entferntes Display, auch ein zweites Entfernen | 409 | nicht wiederholen, Vorgang prüfen |
| `Player.ConfigInvalid` | Display-Konfiguration ungültig | Fehlerhafte Konfiguration | 422 | Eingabe korrigieren |
| `Player.OutputNotAvailable` | Kein gemeldeter Anschluss an dieser Stelle | „Display hinzufügen“ an einem Ausgang, den das Gerät nicht als belegt gemeldet hat (Kabel fehlt, oder die Fähigkeits-Meldung steht noch aus) | 409 | nicht wiederholen, Vorgang prüfen |
| `Player.ScreenIndexTaken` | Stelle bereits belegt | „Display hinzufügen“ an einem Anschluss, an dem schon ein Display hängt | 409 | nicht wiederholen, Vorgang prüfen |
| `Player.ScreenshotNotFound` | Keine Aufnahme abgelegt | Abruf des Bildschirmfotos als Bytes zu einem Display, das noch keine geschickt hat oder dessen Aufnahme aufgeräumt wurde | 404 | erst eine Aufnahme anfordern, dann erneut |
| `Player.KeepDeviceNotAllowed` | Gerät ohne Display nicht vorgesehen | `DELETE /v1/players/:id?device=keep` am letzten Display eines Geräts, ohne die Fähigkeit `multiDisplayPerDevice` | 422 | Eingabe korrigieren |
| `Pairing.SessionNotFound` | Kopplungs-Sitzung nicht gefunden | Unbekannte Kopplungs-Sitzung | 404 | nicht wiederholen, Vorgang prüfen |
| `Pairing.CodeInvalid` | Kopplungscode ungültig | Falscher 6-Zeichen-Code | 404 | nicht wiederholen, Vorgang prüfen |
| `Pairing.CodeExpired` | Kopplungscode abgelaufen | Abgelaufener Code | 410 | nicht wiederholen, Vorgang prüfen |
| `Pairing.SessionAlreadyClaimed` | Kopplung bereits beansprucht | Doppelte Kopplung | 409 | nicht wiederholen, Vorgang prüfen |
| `Command.NotFound` | Befehl nicht gefunden | Unbekannte Befehls-Kennung | 404 | nicht wiederholen, Vorgang prüfen |
| `Command.InvalidPayload` | Befehlsdaten ungültig | Fehlerhafte Befehlsdaten | 422 | Eingabe korrigieren |
| `Command.InvalidTransition` | Ungültiger Befehls-Übergang | Unzulässiger Statuswechsel | 409 | nicht wiederholen, Vorgang prüfen |
| `Command.OutputNotAvailable` | Befehl ohne abgelegte Ausgabe | Abruf des Ausgabe-Artefakts (Bildschirmfoto, Protokoll) zu einem existierenden Befehl: nie ausgeführt, Ergebnis kam inline, oder der Upload steht noch aus. Eigener Code, sonst wäre der Fall vom unbekannten Befehl nicht zu unterscheiden | 404 | nicht wiederholen, Vorgang prüfen |
| `Command.NotSupportedByDevice` | Befehl passt nicht zum Gerät | Neustart gegen ein Display ohne Agent. `display-power` gegen einen Bildschirm, der auf die CEC-Probe nicht geantwortet hat (dort ist **fehlendes Wissen** ausnahmsweise eine Absage — ein Schalter, der nichts tut, ist schlimmer als ein fehlender) | 422 | Eingabe korrigieren |
| `Command.WrongScope` | Befehlsart am falschen Anker | Neustart über die Bildschirm-Route oder Bildschirmfoto über die Geräte-Route. Die Antwort nennt die richtige Route. Früher still angenommen — dann machte ein Neustart den zweiten Bildschirm desselben Geräts ohne Vorwarnung schwarz | 422 | Eingabe korrigieren |
| `PlayerTag.NotFound` | Tag nicht gefunden | Unbekannte Tag-Kennung | 404 | nicht wiederholen, Vorgang prüfen |
| `PlayerTag.NameAlreadyExists` | Tag-Name vergeben | Doppelter Tag-Name | 409 | nicht wiederholen, Vorgang prüfen |
| `DisplayGroup.NotFound` | Leinwand nicht gefunden | Unbekannte Leinwand-Kennung | 404 | nicht wiederholen, Vorgang prüfen |
| `DisplayGroup.NameAlreadyExists` | Leinwand-Name vergeben | Doppelter Name in der Organisation | 409 | nicht wiederholen, Vorgang prüfen |
| `DisplayGroup.RectOutOfCanvas` | Aufbau ergibt keine Fläche | Rechteck ragt über die Fläche hinaus, ein Display doppelt, oder kein Mitglied | 422 | Eingabe korrigieren |
| `Player.AlreadyInDisplayGroup` | Display hängt schon auf einer Fläche | Anlage oder Umbau mit einem Display, das bereits zu einer anderen Leinwand gehört | 409 | nicht wiederholen, Vorgang prüfen |
| `Location.NotFound` | Standort nicht gefunden | Eine Kennung, die zu keinem Standort dieser Organisation gehört | 404 | nicht wiederholen, Vorgang prüfen |
| `Location.NameAlreadyExists` | Standort-Name vergeben | Anlage oder Umbenennung auf einen Namen, den es in der Organisation schon gibt | 409 | nicht wiederholen, Vorgang prüfen |
| `Location.HasPlayers` | Standort ist belegt | Löschen eines Standorts, an dem noch Displays hängen. Die Antwort nennt ihre Zahl | 409 | nicht wiederholen, Vorgang prüfen |
| `WebDisplay.NotABrowserDisplay` | Kein Display ohne Gerät | Löschen oder neue Anschluss-Adresse über `/v1/web-displays`, wo hinter der Kennung ein Display mit Gerät steht. Weder ein Rechte- noch ein Kennungsproblem, sondern die falsche Tür: Für ein Gerät gibt es `DELETE /v1/players/{id}` und `POST /v1/devices/{id}/reconnect-link` | 409 | nicht wiederholen, Vorgang prüfen |
| `Ota.AlreadyInProgress` | Aktualisierung bereits aktiv | Zweite Aktualisierung zugleich | 409 | nicht wiederholen, Vorgang prüfen |
| `Ota.InvalidTransition` | Ungültiger Aktualisierungs-Übergang | Unzulässiger Statuswechsel der Aktualisierung | 409 | nicht wiederholen, Vorgang prüfen |
| `Timeline.WindowOutOfRange` | Zeitachsen-Fenster außerhalb der Spanne | Abfrage, die zu weit in Vergangenheit oder Zukunft reicht. Rückblick ist nicht der Zweck der Zeitachse, und jenseits der Vorausschau-Grenze setzte jede Auflösung unveränderte Zeitpläne voraus. Die Grenze hängt an der Uhr — deshalb geprüft beim Auswerten, nicht im Abfrage-Schema | 422 | Eingabe korrigieren |
| `PlaybackHistory.DateOutOfRange` | Tag außerhalb der Aufzeichnung | Zukunft oder älter als 90 Tage | 422 | Eingabe korrigieren |

### Wiedergabe (Playback)

Wiedergabepakete und die Meldungen der Anzeige.

| Code | Bedeutung | Typischer Auslöser | HTTP | Erwartete Reaktion |
|---|---|---|---|---|
| `Snapshot.NotFound` | Wiedergabepaket nicht gefunden | Unbekanntes Wiedergabepaket eines Displays | 404 | nicht wiederholen, Vorgang prüfen |
| `Renderer.DiagnosticsRateLimited` | Diagnose-Häufigkeit überschritten | Zu häufige Diagnose-Meldungen | 429 | warten (Retry-After) |

### Echtzeit-Verbindungen (Realtime)

Nur `Connection.NotFound` tritt regulär als HTTP-Fehler auf. Die übrigen vier Codes sind Ablehnungsgründe der Echtzeit-Verbindung ohne Fehlerrumpf. Die HTTP-Spalte nennt ihr Äquivalent, falls sie doch einen HTTP-Pfad erreichen. Mit einem API-Schlüssel ist die Echtzeit-Verbindung nicht erreichbar.

| Code | Bedeutung | Typischer Auslöser | HTTP | Erwartete Reaktion |
|---|---|---|---|---|
| `Connection.AuthFailed` | Anmeldung der Verbindung fehlgeschlagen | Aufbau der Echtzeit-Verbindung ohne gültigen Ausweis | 401 | Ausweis prüfen |
| `Connection.NotFound` | Verbindung nicht gefunden | Unbekannte Verbindungs-Kennung | 404 | nicht wiederholen, Vorgang prüfen |
| `Connection.RateLimited` | Verbindungs-Rate überschritten | Zu viele Verbindungsversuche | 429 | warten (Retry-After) |
| `Subscription.PermissionDenied` | Recht auf das Thema fehlt | Kein Zugriff auf das Thema | 403 | Recht oder Paket prüfen |
| `Topic.InvalidFormat` | Themen-Format ungültig | Fehlerhafter Themen-Name | 422 | Eingabe korrigieren |

### Benachrichtigungen und Webhooks (Notifications)

Postfach, Zustellwege, E-Mail und Webhooks. Die fünf Webhook-Codes — `WebhookEndpoint.NotFound` (404), `WebhookEndpoint.Disabled` (409), `WebhookEndpoint.UrlInvalid` (422), `WebhookEndpoint.EventUnknown` (422), `WebhookDelivery.NotFound` (404) — treffen die Verwaltung der Endpunkte. Was bei ausbleibenden Zustellungen zu tun ist, steht unter [Wenn keine Zustellung ankommt](/de/webhooks/troubleshooting). `Email.ProviderUnavailable` ist ein bewusster 502 unter den Fachcodes.

| Code | Bedeutung | Typischer Auslöser | HTTP | Erwartete Reaktion |
|---|---|---|---|---|
| `Notification.NotFound` | Benachrichtigung nicht gefunden | Unbekannte Benachrichtigungs-Kennung | 404 | nicht wiederholen, Vorgang prüfen |
| `Preferences.InvalidChannel` | Ungültiger Kanal | Unbekannter Benachrichtigungskanal | 422 | Eingabe korrigieren |
| `WebhookEndpoint.NotFound` | Webhook-Endpunkt nicht gefunden | Unbekannte Endpunkt-Kennung | 404 | nicht wiederholen, Vorgang prüfen |
| `WebhookEndpoint.Disabled` | Webhook-Endpunkt deaktiviert | Nutzung eines deaktivierten Endpunkts | 409 | nicht wiederholen, Vorgang prüfen |
| `WebhookEndpoint.UrlInvalid` | Webhook-URL ungültig | Fehlerhafte Ziel-URL | 422 | Eingabe korrigieren |
| `WebhookEndpoint.EventUnknown` | Ereignisart unbekannt | Ein Eintrag in `events` steht nicht im Ereignis-Katalog und hat auch nicht die Form `<bereich>.*` oder `*`. Die Antwort nennt die unbekannten Namen unter `details.unknownEvents` | 422 | Eingabe korrigieren |
| `WebhookDelivery.NotFound` | Zustellung nicht gefunden | Unbekannte Zustellungs-Kennung | 404 | nicht wiederholen, Vorgang prüfen |
| `Email.ProviderUnavailable` | E-Mail-Anbieter nicht erreichbar | Ausfall des Mail-Versands | 502 | später erneut, bei Wiederholung Trace-Id melden |
| `Email.TemplateNotFound` | E-Mail-Vorlage nicht gefunden | Unbekannte Vorlage | 404 | nicht wiederholen, Vorgang prüfen |

### Auswertungen (Analytics)

Berichte und Abfragen. `Dimension.Unknown` ersetzt eine stille Leere: Das Detail nennt die erlaubten Achsen. Die freie Auswertung prüft jede Abfrage gegen den Kennzahlen-Katalog: `AnalyticsQuery.NotAllowed` nennt in `details.reason` denselben Grund, den `GET /v1/analytics/catalog` je Kombination aus Kennzahl und Dimension liefert. Ein abgelaufener oder widerrufener Verweis antwortet mit 410 und nicht mit 404: Den Verweis gab es, er gilt nur nicht mehr.

| Code | Bedeutung | Typischer Auslöser | HTTP | Erwartete Reaktion |
|---|---|---|---|---|
| `AnalyticsReport.NotFound` | Bericht nicht gefunden | Unbekannte Berichts-Kennung | 404 | nicht wiederholen, Vorgang prüfen |
| `GeneratedReport.NotFound` | Generierter Bericht nicht gefunden | Unbekannter Berichtslauf | 404 | nicht wiederholen, Vorgang prüfen |
| `GeneratedReport.Expired` | Erzeugter Bericht abgelaufen | Abgelaufener Download | 410 | nicht wiederholen, Vorgang prüfen |
| `AnalyticsQuery.Invalid` | Abfrage ungültig | Fehlerhafte Auswertungs-Abfrage | 422 | Eingabe korrigieren |
| `Metric.Unknown` | Kennzahl unbekannt | Kennzahl existiert nicht | 422 | Eingabe korrigieren |
| `Dimension.Unknown` | Achse trägt die Kennzahl nicht | Aufschlüsselung nach einer Dimension, die der Metrik-Katalog für diese Kennzahl nicht führt. Der Code ersetzt **stille Leere** — vorher kam ein leeres Ergebnis ohne Hinweis. Das Detail nennt die erlaubten Achsen | 422 | Eingabe korrigieren |
| `AnalyticsQuery.CardinalityExceeded` | Zu viele Wertekombinationen | Abfrage mit zu vielen Achsen | 422 | Eingabe korrigieren |
| `AnalyticsQuery.NotAllowed` | Kombination nicht erlaubt | Kennzahl und Dimension oder Filter, die der Kennzahlen-Katalog nicht zusammen rechnet — etwa die Erfüllung ohne Einschränkung auf eine Werbekampagne | 422 | Abfrage nach `details.reason` anpassen |
| `AnalyticsQuery.WindowInvalid` | Zeitfenster ungültig | Fenster leer, verkehrt herum oder länger, als eine Abfrage reicht | 422 | Eingabe korrigieren |
| `AnalyticsQuery.PerspectiveDenied` | Sicht nicht erlaubt | Eine Sicht, die dem Aufrufer nicht zusteht — etwa die Netz-Sicht für eine Organisation | 403 | Recht oder Paket prüfen |
| `AnalyticsCampaign.NotFound` | Werbekampagne nicht gefunden | Unbekannte Kampagne oder eine Kampagne in fremdem Eigentum | 404 | nicht wiederholen, Vorgang prüfen |
| `Proof.NotFound` | Nachweis nicht gefunden | Unbekannte Nachweis-Kennung, ein Nachweis in fremdem Eigentum oder einer, den der Verweis nicht umfasst | 404 | nicht wiederholen, Vorgang prüfen |
| `ProofFile.NotFound` | Datei nicht gefunden | Die Art der Datei hat dieser Nachweis nicht, die Aufnahme gehört nicht zu ihm, oder seine Dateien entstehen noch | 404 | Liste der Dateien neu laden, später erneut |
| `Proof.BookingLineNotFound` | Buchung nicht gefunden | Zwischenstand für eine unbekannte Buchung oder eine Buchung in fremdem Eigentum | 404 | nicht wiederholen, Vorgang prüfen |
| `Proof.InterimWindowInvalid` | Zeitraum des Zwischenstands ungültig | Zeitraum verkehrt herum, außerhalb der Laufzeit der Buchung oder über gestern hinaus | 422 | Zeitraum nach `details.reason` anpassen |
| `Proof.AdvertiserNotFound` | Werbepartner nicht gefunden | Verweis für einen unbekannten Werbepartner oder einen in fremdem Eigentum | 404 | nicht wiederholen, Vorgang prüfen |
| `ProofShareLink.NotFound` | Verweis nicht gefunden | Unbekannter Schlüssel oder eine Verweis-Kennung in fremdem Eigentum | 404 | nicht wiederholen, Adresse prüfen |
| `ProofShareLink.Expired` | Verweis abgelaufen | Der Verweis hat sein Ablaufdatum überschritten | 410 | nicht wiederholen, neuen Verweis anfordern |
| `ProofShareLink.Revoked` | Verweis widerrufen | Die Organisation oder der Betreiber hat den Verweis zurückgenommen | 410 | nicht wiederholen, neuen Verweis anfordern |

### Prüfprotokoll (Audit)

Protokolleinträge, Exporte und Pseudonymisierung aus Sicht der Organisation.

| Code | Bedeutung | Typischer Auslöser | HTTP | Erwartete Reaktion |
|---|---|---|---|---|
| `AuditEntry.NotFound` | Protokolleintrag nicht gefunden | Unbekannte Eintrags-Kennung | 404 | nicht wiederholen, Vorgang prüfen |
| `AuditExport.NotFound` | Protokoll-Export nicht gefunden | Unbekannte Export-Kennung | 404 | nicht wiederholen, Vorgang prüfen |
| `AuditExport.NotReady` | Protokoll-Export nicht fertig | Download vor Fertigstellung | 409 | nicht wiederholen, Vorgang prüfen |
| `Audit.CrossTenantForbidden` | Organisationsübergreifend verboten | Zugriff auf das Prüfprotokoll einer fremden Organisation | 403 | Recht oder Paket prüfen |
| `Pseudonymization.ReasonRequired` | Begründung erforderlich | Pseudonymisierung ohne Grund (≥20 Zeichen) | 422 | Eingabe korrigieren |
| `Pseudonymization.JobNotFound` | Pseudonymisierungs-Auftrag fehlt | Unbekannte Auftrags-Kennung | 404 | nicht wiederholen, Vorgang prüfen |
| `Pseudonym.NotFound` | Pseudonym nicht gefunden | Abfrage ohne Treffer | 404 | nicht wiederholen, Vorgang prüfen |

### Betriebskonsole (Ops-Console)

Diese Codes entstehen ausschließlich auf Routen des Plattformbetriebs: die Gerätesoftware samt dem Kanal eines Geräts, Wartungsfenster und Störungen. Ein Schlüssel einer Organisation erreicht diese Routen nicht. Die Tabelle steht hier der Vollständigkeit halber.

| Code | Bedeutung | Typischer Auslöser | HTTP | Erwartete Reaktion |
|---|---|---|---|---|
| `DeviceSoftware.ComponentNotSupported` | Baustein ohne Lieferweg | Holen, Freigeben oder Ausliefern für einen Baustein, den diese Fassung der Plattform noch nicht ausliefert. Heute ist das alles außer der Anzeige | 422 | Eingabe korrigieren |
| `DeviceSoftware.BuildNotFound` | Bau nicht in der Ablage | Freigabe eines Baus, den die Umgebung noch nicht aus der Registry geholt hat | 404 | nicht wiederholen, Vorgang prüfen |
| `DeviceSoftware.ArtifactNotFound` | Archiv nicht in der Ablage | Abruf eines Archivs mit unbekanntem Baustein, Bau oder Namen | 404 | nicht wiederholen, Vorgang prüfen |
| `DeviceSoftware.RegistryArtifactNotFound` | Bau nicht in der Registry | Der Tag existiert nicht (mehr) in der Registry | 404 | nicht wiederholen, Vorgang prüfen |
| `DeviceSoftware.RegistryImportFailed` | Holen aus der Registry gescheitert | Zugang fehlt, das Manifest ist unvollständig, eine Prüfsumme weicht ab, ein Profil fehlt oder die Beschreibung im Archiv widerspricht dem Manifest. Das Detail nennt die Ursache | 422 | Eingabe korrigieren |
| `DeviceSoftware.NotReleasable` | Bau nicht freigebbar | Der Bau verlangt eine Fassung der Schnittstelle, die die Umgebung nicht spricht, oder ein Profil oder Archiv fehlt | 422 | Eingabe korrigieren |
| `DeviceSoftware.SigningKeyNotConfigured` | Kein Signaturschlüssel | Die Umgebung hat keinen Schlüssel, mit dem sie Freigaben unterschreibt. Ohne Signatur nimmt kein Gerät eine Freigabe an | 422 | Eingabe korrigieren |
| `DeviceSoftware.EnvironmentNotConfigured` | Welt unbekannt | Die Umgebung kennt ihre Welt nicht, und eine Freigabe ohne Welt könnte kein Gerät zuordnen | 422 | Eingabe korrigieren |
| `DeviceSoftware.BuildNotReady` | Bau noch nicht bereit | Freigabe eines Baus von SzeneraOS, dessen Bündel noch aus der Registry geholt und geprüft wird | 409 | nicht wiederholen, Vorgang prüfen |
| `DeviceSoftware.VersionAlreadyExists` | Fassung schon vergeben | Import eines Bündels von SzeneraOS, dessen Fassung in der Ablage schon unter einem anderen Bau liegt | 409 | nicht wiederholen, Vorgang prüfen |
| `DeviceSoftware.WorldMismatch` | Bündel für eine andere Welt gebaut | Die Welt des Bündels weicht von der Welt dieses Servers (`PLATTFORM_WELT`) ab, geprüft beim Import | 422 | Eingabe korrigieren |
| `DeviceSoftware.ReleaseNotFound` | Freigabe nicht gefunden | Anstoßen einer Freigabe, die es für diesen Baustein nicht gibt | 404 | nicht wiederholen, Vorgang prüfen |
| `DeviceSoftware.ReleaseNotCurrent` | Freigabe gilt nicht mehr | Anstoßen einer Freigabe, die im Kanal von einer neueren abgelöst ist | 409 | nicht wiederholen, Vorgang prüfen |
| `DeviceSoftware.ImageNotFound` | Kein Abbild in der Registry | Bezug des Abbilds zu einer Version von SzeneraOS, zu der die Registry keines führt | 404 | nicht wiederholen, Vorgang prüfen |
| `DeviceSoftware.BuildDeleted` | Bau gelöscht | Release eines Baus, dessen Bytes gelöscht sind. Der Datensatz bleibt als Grabstein | 409 | nicht wiederholen, Vorgang prüfen |
| `DeviceSoftware.BuildInUse` | Bau lässt sich nicht löschen | Löschen eines Baus, der in einem Channel gilt oder auf den eine offene Anfrage zeigt | 409 | nicht wiederholen, Vorgang prüfen |
| `DeviceSoftware.PullAlongInvalid` | Channel lässt sich nicht nachziehen | `pullAlong` nennt einen Channel, der nicht tiefer liegt als das Ziel oder den das Package nicht führt | 422 | Eingabe korrigieren |
| `ReleaseApproval.NotFound` | Anfrage nicht gefunden | Unbekannte Kennung einer Anfrage an eine zweite Person | 404 | nicht wiederholen, Vorgang prüfen |
| `ReleaseApproval.AlreadyOpen` | Anfrage wartet schon | Für dasselbe Ziel und denselben Vorgang wartet schon eine Anfrage | 409 | nicht wiederholen, Vorgang prüfen |
| `ReleaseApproval.NotOpen` | Anfrage wartet nicht mehr | Bestätigen oder Zurückziehen einer Anfrage, die bestätigt, zurückgezogen oder nach sieben Tagen verfallen ist. `details.state` nennt den Stand | 409 | nicht wiederholen, Vorgang prüfen |
| `ReleaseApproval.SamePerson` | Bestätigen nur durch eine zweite Person | Die Person, die angefragt hat, will ihre Anfrage selbst bestätigen | 403 | Recht oder Paket prüfen |
| `ReleaseApproval.NotPermitted` | Ablehnen nicht erlaubt | Eine Person ohne das Recht zum Bestätigen will eine fremde Anfrage ablehnen | 403 | Recht oder Paket prüfen |
| `ReleaseApproval.ReasonRequired` | Begründung fehlt | Die Plattform verlangt für das Release nach stable eine zweite Person, und der Aufruf nennt keine Begründung (`reason`) | 422 | Eingabe korrigieren |
| `Device.ChannelNotApplicable` | Kein Kanal für diesen Bildschirm | Kanal setzen an einem Web-Display oder einem anderen Bildschirm ohne Fernwartung. Er hat keinen Kanal und bekommt die Anzeige immer aus `stable` | 409 | nicht wiederholen, Vorgang prüfen |
| `Device.ChannelNotFollowed` | Fernwartung liest den Kanal noch nicht | Kanal setzen an einem Gerät, dessen Fernwartung noch dem Kanal ihrer Einrichtungsdatei folgt. Ein gesetzter Wert stünde nur im Portal. Die Absage vergeht mit dem nächsten Paket der Fernwartung | 409 | nicht wiederholen, Vorgang prüfen |
| `MaintenanceWindow.NotFound` | Wartungsfenster nicht gefunden | Unbekannte Fenster-Kennung | 404 | nicht wiederholen, Vorgang prüfen |
| `MaintenanceWindow.InvalidSchedule` | Wartungsfenster-Zeit ungültig | Fehlerhafte Zeitangaben | 422 | Eingabe korrigieren |
| `IncidentRecord.NotFound` | Störung nicht gefunden | Unbekannte Störungs-Kennung | 404 | nicht wiederholen, Vorgang prüfen |

## Zählsatz

Diese Seite führt **102 Codes**. Zusammen mit den übrigen sechs Fehlercode-Seiten ergeben sich 493 fachliche Codes (4xx) und 119 Serverfehler (5xx), also 612 Codes — der vollständige Katalog der Plattform.

## Weiterführendes

- [Das Fehlerformat](/de/api/error-format)
- [Wenn keine Zustellung ankommt](/de/webhooks/troubleshooting)
