API-Referenz

Fehler

Fehler kommen als JSON mit einem kurzen, stabilen Text im Feld detail.

429 Too Many Requests
{ "detail": "rate limit exceeded" }

Alle Fehler

StatusdetailUrsacheWiederholen
401unauthorizedSchlüssel fehlt, ist falsch oder widerrufen, oder das Konto ist nicht freigegeben.Nein
403batch is not in this plan/v1/checks ist im Tarif nicht enthalten oder der Batch ist zu groß.Nein
403model is not in this planDas gewählte Modell ist in deinem Tarif nicht enthalten.Nein
403model is not enabledaxo-large ist ein Early Preview. Ein Superadmin muss den Zugang freigeben.Nein
422invalid requestLeerer Text, mehr als 2.000 Zeichen, ungültiges level, unbekanntes Modell oder kaputtes JSON.Nein
429rate limit exceededMehr Anfragen pro Sekunde, als dein Tarif erlaubt.Ja, nach kurzer Pause
429monthly quota exceededGuthaben des Monats aufgebraucht.Erst nach dem Monatsersten
503model is not loadedDas Modell startet gerade.Ja, nach ein paar Sekunden

Abgelehnte Anfragen kosten kein Guthaben.

Wiederholen mit Pause

Bei 503 und rate limit exceeded lohnt ein neuer Versuch mit wachsender Pause. Alle anderen Fehler ändern sich durch Wiederholen nicht.

async function check(text, attempt = 0) {
  const response = await fetch(url, { method: "POST", headers, body: JSON.stringify({ text }) });
  if (response.ok) return response.json();
  const { detail } = await response.json();
  const retryable = response.status === 503 || detail === "rate limit exceeded";
  if (retryable && attempt < 3) {
    await new Promise((r) => setTimeout(r, 250 * 2 ** attempt));
    return check(text, attempt + 1);
  }
  return null; // durchlassen und später prüfen, statt den Chat zu blockieren
}

Wenn die API nicht antwortet

Lass Nachrichten im Zweifel durch und prüfe sie nach, statt den Chat anzuhalten. Ein Timeout von etwa fünf Sekunden reicht in der Regel. Den aktuellen Zustand zeigt die Statusseite.