Fehlerbehandlung

API-Fehlercodes verstehen und richtig behandeln.

Format von Fehlerantworten

Alle Fehler folgen einem einheitlichen Format:

{
  "error": {
    "code": "invalid_request",
    "message": "The 'message' field is required.",
    "param": "message"
  },
  "meta": {
    "request_id": "req_abc123"
  }
}

HTTP-Statuscodes

StatusBeschreibung
200Erfolgreich
400Ungültige Anfrage – ungültige Parameter
401Nicht authentifiziert – API-Schlüssel fehlt oder ist ungültig
403Verboten – unzureichende Berechtigungen
404Nicht gefunden – Ressource existiert nicht
429Zu viele Anfragen – Ratenbegrenzung überschritten
500Interner Serverfehler

Fehlercodes

CodeStatusBeschreibung
invalid_request400Anfragekörper ist ungültig oder Pflichtfelder fehlen
invalid_api_key401API-Schlüssel ist ungültig oder abgelaufen
insufficient_permissions403API-Schlüssel besitzt nicht die nötigen Rechte
not_found404Angeforderte Ressource wurde nicht gefunden
rate_limit_exceeded429Zu viele Anfragen in einem Zeitraum
internal_error500Unerwarteter Fehler

Wiederholungsstrategie

Verwende bei 429- und 5xx-Fehlern exponentiell steigende Wartezeiten:

async function fetchWithRetry(url, options, maxRetries = 3) {
  for (let i = 0; i < maxRetries; i++) {
    const response = await fetch(url, options);

    if (response.ok) return response;

    if (response.status === 429 || response.status >= 500) {
      const delay = Math.pow(2, i) * 1000;
      await new Promise((r) => setTimeout(r, delay));
      continue;
    }

    throw new Error(`API error: ${response.status}`);
  }
  throw new Error("Max retries exceeded");
}

Auf dieser Seite