Skip to content
Abo -25% LAUNCH-SUB
Claws -25% LAUNCH-CLAWS

API: Fehlercodes

4 min Lesezeit API Zuletzt aktualisiert 10. February 2026

Fehlerantwort-Format

Alle API-Fehler geben ein JSON-Objekt mit einem error-Schlüssel zurück, der einen maschinenlesbaren code und eine menschenlesbare message enthält.

json
{
  "error": {
    "code": "error_code_string",
    "message": "Description of what went wrong"
  }
}

Einige Validierungsfehler enthalten ein details-Feld mit feldspezifischen Informationen:

json
{
  "error": {
    "code": "unprocessable_entity",
    "message": "Validation failed",
    "details": {
      "name": "is required"
    }
  }
}

HTTP-Statuscodes

Status Bedeutung Wann er auftritt
200 Erfolg Anfrage abgeschlossen
201 Erstellt Ressource erstellt
401 Nicht autorisiert Fehlender, ungültiger oder abgelaufener API-Schlüssel
403 Verboten Gültiger Schlüssel, aber unzureichende Berechtigungen
404 Nicht gefunden Ressource existiert nicht oder gehört zu einem anderen Account
422 Nicht verarbeitbar Validierungsfehler oder ungültige Anfrage
429 Zu viele Anfragen Rate-Limit überschritten
500 Interner Serverfehler Unerwarteter serverseitiger Fehler

Fehlercode-Referenz

unauthorized

HTTP-Status: 401

Wird zurückgegeben, wenn der API-Schlüssel fehlt, ungültig oder abgelaufen ist.

Mögliche Ursachen: - Kein Authorization-Header in der Anfrage - Das Bearer-Token stimmt mit keinem aktiven API-Schlüssel überein - Der API-Schlüssel wurde im Dashboard widerrufen - Der API-Schlüssel hat sein Ablaufdatum überschritten

json
{
  "error": {
    "code": "unauthorized",
    "message": "Invalid or missing API key"
  }
}

So behebst du das: - Stelle sicher, dass dein API-Schlüssel im Authorization-Header als Bearer oc_live_... enthalten ist - Prüfe, ob der Schlüssel nicht unter Dashboard > Einstellungen > API-Schlüssel widerrufen wurde - Erstelle einen neuen Schlüssel, wenn der aktuelle abgelaufen ist

forbidden

HTTP-Status: 403

Wird zurückgegeben, wenn dein API-Schlüssel gültig ist, aber die Berechtigungen für die angefragte Aktion fehlen.

json
{
  "error": {
    "code": "forbidden",
    "message": "Access denied"
  }
}

So behebst du das: - Überprüfe, ob dein Account Zugriff auf die angeforderte Ressource hat - Kontaktiere den Support, falls du glaubst, dass es sich um einen Fehler handelt

not_found

HTTP-Status: 404

Die angeforderte Ressource existiert nicht oder gehört zu einem anderen Account. Aus Sicherheitsgründen unterscheidet die API nicht zwischen "existiert nicht" und "gehört jemand anderem".

json
{
  "error": {
    "code": "not_found",
    "message": "Resource not found"
  }
}

So behebst du das: - Überprüfe die Ressourcen-ID in deiner Anfrage-URL - Verwende die Listen-Endpunkte, um gültige Ressourcen-IDs zu finden - Stelle sicher, dass die Ressource nicht gelöscht wurde

unprocessable_entity

HTTP-Status: 422

Die Anfrage wurde verstanden, kann aber nicht verarbeitet werden. Dies umfasst Validierungsfehler und Geschäftslogik-Einschränkungen.

Häufige Szenarien:

Starten einer Instanz, die bereits läuft: json { "error": { "code": "unprocessable_entity", "message": "Instance is already running" } }

Löschen einer Abo-basierten Instanz über die API: json { "error": { "code": "unprocessable_entity", "message": "This instance cannot be deleted. Only daily billing instances can be deleted via API." } }

Ungültige Paketauswahl beim Kauf: json { "error": { "code": "unprocessable_entity", "message": "Invalid package index. Please select a valid Claw package." } }

Wiederherstellen eines Backups, während die Instanz läuft: json { "error": { "code": "unprocessable_entity", "message": "Instance must be stopped or paused before restoring a backup." } }

So behebst du das: - Lies das message-Feld für spezifische Hinweise - Prüfe den aktuellen Zustand der Ressource, bevor du Aktionen ausführst - Nutze den Instanz-Details abrufen Endpunkt, um die Felder can_start, can_stop und can_restart zu prüfen

ratelimitexceeded

HTTP-Status: 429

Du hast das Rate-Limit von 100 Anfragen pro Minute für deinen API-Schlüssel überschritten.

json
{
  "error": {
    "code": "rate_limit_exceeded",
    "message": "Rate limit exceeded. Try again later."
  }
}

Rate-Limit-Header sind in jeder Antwort enthalten:

Header Beschreibung
X-RateLimit-Limit Maximale Anfragen pro Minute (100)
X-RateLimit-Remaining Verbleibende Anfragen im aktuellen Fenster
X-RateLimit-Reset Unix-Zeitstempel, wann das Fenster zurückgesetzt wird

So behebst du das: - Warte bis zum X-RateLimit-Reset-Zeitstempel, bevor du es erneut versuchst - Füge Verzögerungen zwischen Anfragen in automatisierten Skripten hinzu - Nutze den X-RateLimit-Remaining-Header, um das Limit nicht zu erreichen

internal_error

HTTP-Status: 500

Ein unerwarteter Fehler ist auf dem Server aufgetreten. Die Fehlerdetails werden intern protokolliert, aber aus Sicherheitsgründen nicht in der Antwort offengelegt.

json
{
  "error": {
    "code": "internal_error",
    "message": "An internal error occurred"
  }
}

So behebst du das: - Versuche die Anfrage nach einer kurzen Verzögerung erneut - Wenn der Fehler weiterhin auftritt, kontaktiere den Support mit dem Zeitstempel und dem aufgerufenen Endpunkt

Fehlerbehebung - Kurzreferenz

Problem Prüfe
401 bei jeder Anfrage Ist der Authorization-Header als Bearer oc_live_... formatiert?
404 für eine bekannte Ressource Wurde die Ressource gelöscht? Verwende den Listen-Endpunkt zur Überprüfung.
422 bei Power-Aktionen Prüfe can_start/can_stop/can_restart über den Instanz-Details-Endpunkt.
429 häufig Reduziere die Anfragefrequenz oder füge Backoff-Logik hinzu. Prüfe X-RateLimit-Remaining.
500-Fehler Versuche es nach einer kurzen Verzögerung erneut. Melde anhaltende 500-Fehler dem Support.

Verwandte Dokumentation

Verwandte Dokumentation