Betrieb

Fehler und Fehlercodes

Jeder Fehler kommt mit einem festen Code, einer Erklärung auf Deutsch und, wo es passt, dem betroffenen Parameter.

Aufbau einer Fehlerantwort

#

Jeder Fehler kommt als JSON mit einem Objekt fehler und dem passenden HTTP-Status:

Antwort (400)
{
  "fehler": {
    "code": "ungueltiger_parameter",
    "nachricht": "Der Parameter datum muss ein Datum im Format JJJJ-MM-TT sein, zum Beispiel 2027-01-15.",
    "parameter": "datum",
    "doku": "https://quellenkontor.dev/docs/fehler"
  }
}
FeldBedeutung
codeFester, maschinenlesbarer Code. Darauf reagiert dein Code.
nachrichtErklärung auf Deutsch für Menschen. Der Wortlaut kann sich ändern, verlass dich nicht darauf.
parameterBetroffener Parameter, falls es einen gibt
dokuLink auf diese Seite

Alle Fehlercodes

#
StatusCodeUrsacheLösung
400parameter_fehltEin Pflichtparameter fehlt.Parameter ergänzen. Die Meldung nennt ihn.
400ungueltiger_parameterFalsches Format, Wert außerhalb des erlaubten Bereichs oder nicht in der Liste der erlaubten Werte. Auch: CSV für einen Einzelwert angefragt.Format und Bereich in der Referenz des Datensatzes nachsehen.
400unbekannter_parameterDen Parameter gibt es für diesen Datensatz nicht, meist ein Tippfehler.Die Meldung zählt die erlaubten Namen auf.
401schluessel_fehltKein Header Authorization oder kein Bearer-Schlüssel darin.Header setzen, Umgebungsvariable prüfen.
401schluessel_ungueltigSchlüssel unbekannt, unvollständig oder gesperrt.Im Konto prüfen, bei Bedarf neuen Schlüssel erzeugen.
404kein_wertFür diesen Stichtag gibt es keinen amtlichen Wert: vor Beginn des Verlaufs oder noch nicht verkündet.Deinen Nutzern einen Hinweis zeigen, nicht raten. Siehe Stichtage.
404unbekannter_datensatzDen Datensatz im Pfad gibt es nicht.Schreibweise prüfen, Liste unter /datensaetze.
404unbekannter_endpunktDer Pfad passt zu keinem Endpunkt, etwa /verlauf bei einem Rechner.Endpunkte in der REST-Doku nachsehen.
429kontingent_erreichtDas Kontingent des Monats ist aufgebraucht.Bis zum Monatsersten warten oder Tarif wechseln.
500interner_fehlerFehler auf unserer Seite.Mit Pause erneut versuchen. Tritt er dauerhaft auf, schreib uns.

Fehler im Code behandeln

#
  • 400: Die Anfrage ist falsch. Wiederholen hilft nicht, korrigiere sie.
  • 401: Schlüssel prüfen. Wiederholen hilft nicht.
  • 404 mit kein_wert: Kein Fehler deiner Software. Zeig deinen Nutzern, dass der Wert noch nicht feststeht, statt einen alten oder geschätzten Wert zu nehmen.
  • 429: Das Kontingent ist erst am Monatsersten wieder frei. Ein Tarifwechsel hebt es sofort an.
  • 500 und Netzfehler: Mit wachsender Pause erneut versuchen, zum Beispiel nach 0,3 und 0,6 Sekunden.
JavaScript
const res = await fetch(url, { headers: { Authorization: `Bearer ${schluessel}` } });
if (res.ok) return await res.json();

const { fehler } = await res.json();
if (fehler.code === "kein_wert") return null;                       // Hinweis zeigen, nicht raten
if (res.status === 429) throw new Error("Kontingent aufgebraucht"); // erst im nächsten Monat wieder
if (res.status >= 500) throw new Error("Später erneut versuchen");  // mit Pause wiederholen
throw new Error(`${fehler.code}: ${fehler.nachricht}`);           // 400 und 401: Anfrage oder Schlüssel korrigieren

Fehler in SDK, CLI und MCP

#
ZugangSo kommt der Fehler an
SDK JavaScriptQuellenkontorFehler mit status, code und parameter. Ohne Verbindung: status 0, code netzwerk. Antwortet der Server ohne lesbaren Fehler: code unbekannt
SDK PythonQuellenkontorFehler mit status, code und parameter. Ohne Verbindung: status 0, code netzwerk
CLIZeile auf stderr: Fehler, Status, Code und Meldung. Rückgabewert 1
MCP-ServerWerkzeugergebnis mit isError und denselben Codes, bei fehlendem Schlüssel HTTP 401

Wenn ein Wert falsch aussieht

#

Wenn ein Wert nicht zu der amtlichen Quelle passt, die du kennst, melde es über das Kontaktformular. Nenne Abfrage, Wert und die Quelle, die etwas anderes zeigt. Wir prüfen gegen die Primärquelle und tragen jede Korrektur ins Änderungsprotokoll ein. Mit Webhooks erfährt deine Software davon als Ereignis korrektur.

Fehlt etwas oder ist etwas unklar? Schreib uns, wir ergänzen die Doku.