Zum Hauptinhalt springen
Version: 1.0.0

Fehlerreferenz

Diese Seite dokumentiert jeden Fehler, den die Cert-IX Scan-API zurückgeben kann, organisiert nach Kategorie.

Antwortformat

{
"success": false,
"error": "Lesbare Fehlerbeschreibung",
"code": "MASCHINENLESBARER_CODE"
}

HTTP-Statuscodes

StatusKategorieBedeutung
400Client-FehlerUngültige Anfrage — fehlerhaftes JSON, fehlende Pflichtfelder
401AuthentifizierungAPI-Schlüssel fehlt, ungültig, abgelaufen oder widerrufen
403AutorisierungSchlüssel gültig, aber unzureichender Bereich, IP nicht erlaubt oder Scan-Typ nicht erlaubt
404Nicht gefundenRessource existiert nicht oder gehört nicht zu Ihrem Mandanten
409KonfliktRessourcenstatus-Konflikt (z.B.: Abschluss eines bereits abgeschlossenen Scans abbrechen)
429Rate-LimitRate-Limit oder Kontingent überschritten
500Server-FehlerInterner Fehler — kontaktieren Sie den Support, wenn es fortbesteht
503Nicht verfügbarDienst vorübergehend nicht verfügbar — mit Backoff wiederholen

Authentifizierungsfehler (401)

CodeNachrichtUrsacheLösung
MISSING_API_KEYAPI-Schlüssel erforderlichKein X-API-Key-Header angegebenFügen Sie den X-API-Key-Header zu Ihrer Anfrage hinzu
INVALID_API_KEYUngültiger API-SchlüsselFormat ist falsch oder Schlüssel existiert nichtStellen Sie sicher, dass der Schlüssel mit cix_sk_ beginnt
KEY_EXPIREDAPI-Schlüssel ist abgelaufenSchlüssel hat sein expiresAt-Datum überschrittenErstellen Sie einen neuen Schlüssel oder führen Sie eine Rotation durch
KEY_REVOKEDAPI-Schlüssel wurde widerrufenSchlüssel wurde explizit widerrufenErstellen Sie einen neuen Schlüssel
KEY_SUSPENDEDAPI-Schlüssel wurde gesperrtSchlüssel wurde von einem Administrator gesperrtKontaktieren Sie den Administrator Ihrer Organisation

Autorisierungsfehler (403)

CodeNachrichtUrsacheLösung
INSUFFICIENT_SCOPEUnzureichender Bereich: erfordert {scope}Schlüssel hat nicht den erforderlichen BereichErstellen Sie einen neuen Schlüssel mit dem benötigten Bereich
SCAN_TYPE_NOT_ALLOWEDScan-Typ {type} nicht erlaubtallowedScanTypes des Schlüssels enthält diese Engine nichtAktualisieren Sie den Schlüssel oder erstellen Sie einen, der diesen Typ erlaubt
IP_NOT_ALLOWEDQuell-IP ist nicht in der AllowlistIP der Anfrage ist nicht in allowedIpAddressesFügen Sie die Quell-IP zur Allowlist hinzu oder entfernen Sie die Einschränkung
TENANT_SUSPENDEDMandantenkonto ist gesperrtDas Konto Ihrer Organisation wurde gesperrtKontaktieren Sie [email protected]

Scan-Fehler (400 / 404 / 409)

CodeHTTPNachrichtLösung
SCAN_NOT_FOUND404Scan nicht gefundenÜberprüfen Sie die Scan-ID und den scanType-Parameter
INVALID_SCAN_TYPE400Ungültiger Scan-Typ: {type}Verwenden Sie eine gültige Engine: nmap, zap, trivy, nuclei, nikto, sqlmap, wapiti, harvester, sublist3r, sentinel
INVALID_TARGET400Ungültiges ZielformatStellen Sie sicher, dass das Ziel dem erwarteten Format entspricht
INVALID_PRIORITY400Ungültige Priorität: {value}Verwenden Sie: critical, high, normal oder low
SCAN_ALREADY_COMPLETED409Scan ist bereits abgeschlossenEin Scan in einem Terminalzustand kann nicht abgebrochen werden
SCAN_ALREADY_CANCELLED409Scan ist bereits abgebrochenDer Scan wurde bereits abgebrochen
SCAN_ALREADY_FAILED409Scan ist bereits fehlgeschlagenEin fehlgeschlagener Scan kann nicht abgebrochen werden
RESULTS_NOT_READY409Ergebnisse sind noch nicht verfügbarWarten Sie, bis der Scan den Status completed erreicht

Vorlagen-Fehler (400 / 404)

CodeHTTPNachrichtLösung
TEMPLATE_NOT_FOUND404Scan-Vorlage nicht gefundenÜberprüfen Sie die Vorlagen-ID
TEMPLATE_NAME_REQUIRED400Vorlagenname ist erforderlichGeben Sie ein name-Feld an
DUPLICATE_TEMPLATE_NAME400Vorlagenname existiert bereitsVerwenden Sie einen eindeutigen Namen

Webhook-Fehler (400 / 404)

CodeHTTPNachrichtLösung
WEBHOOK_NOT_FOUND404Webhook nicht gefundenÜberprüfen Sie die Webhook-ID
INVALID_WEBHOOK_URL400Webhook-URL muss HTTPS verwendenStellen Sie sicher, dass Ihre URL mit https:// beginnt
WEBHOOK_URL_UNREACHABLE400Webhook-URL ist nicht erreichbarStellen Sie sicher, dass Ihr Endpunkt öffentlich zugänglich ist
INVALID_WEBHOOK_EVENT400Ungültiger Ereignistyp: {event}Verwenden Sie gültige Ereignisse: scan.completed, scan.failed, scan.started, scan.cancelled
WEBHOOK_DISABLED409Webhook durch aufeinanderfolgende Fehler deaktiviertReaktivieren Sie mit PATCH und beheben Sie Ihren Endpunkt

Rate-Limit- und Kontingent-Fehler (429)

CodeNachrichtLösung
RATE_LIMIT_EXCEEDEDRate-Limit überschritten. Versuchen Sie es in {N} Sekunden erneut.Implementieren Sie exponentiellen Backoff; prüfen Sie den Retry-After-Header
QUOTA_EXCEEDEDMonatliches Scan-Kontingent überschrittenUpgraden Sie Ihren Plan oder warten Sie auf den nächsten Abrechnungszeitraum

Validierungsfehler (400)

CodeNachrichtLösung
INVALID_JSONAnfragekörper ist kein gültiges JSONÜberprüfen Sie Ihre JSON-Syntax
MISSING_REQUIRED_FIELDPflichtfeld fehlt: {field}Fügen Sie alle erforderlichen Felder hinzu
INVALID_FIELD_TYPEFeld {field} muss vom Typ {type} seinKorrigieren Sie den Datentyp des Feldes
INVALID_PAGESeite muss eine positive Ganzzahl seinVerwenden Sie page ≥ 1
INVALID_LIMITLimit muss zwischen 1 und 100 liegenVerwenden Sie limit zwischen 1 und 100

Server-Fehler (500 / 503)

CodeNachrichtLösung
INTERNAL_ERROREin interner Serverfehler ist aufgetretenMit Backoff wiederholen; Support kontaktieren, wenn es fortbesteht
SERVICE_UNAVAILABLEDienst vorübergehend nicht verfügbarMit Backoff wiederholen; status.cert-ix.com prüfen
DATABASE_ERRORDatenbankoperation fehlgeschlagenWiederholen; Support kontaktieren, wenn es fortbesteht
KAFKA_ERRORNachrichtenwarteschlange-Operation fehlgeschlagenWiederholen; die Warteschlange kann vorübergehend überlastet sein

Fehlerbehebungsleitfaden

« 401 — MISSING_API_KEY »

# ✅ Korrekt
curl -H "X-API-Key: cix_sk_..." https://api.cert-ix.com/scan-api/api/v1/scans

# ❌ Falsch — Schlüssel in URL-Parametern
curl "https://api.cert-ix.com/scan-api/api/v1/scans?apiKey=cix_sk_..."

« 404 — SCAN_NOT_FOUND »

Häufigste Ursachen:

  1. Falscher scanType — Wenn Sie einen zap-Scan erstellt haben, müssen Sie mit ?scanType=zap abfragen
  2. Falsche Scan-ID — Überprüfen Sie die UUID
  3. Anderer Mandant — Schlüssel verschiedener Organisationen können die Scans der jeweils anderen nicht einsehen

« 429 — RATE_LIMIT_EXCEEDED »

Implementieren Sie exponentiellen Backoff:

import time

def anfrage_mit_backoff(func, max_versuche=5):
for versuch in range(max_versuche):
response = func()
if response.status_code != 429:
return response
retry_after = int(response.headers.get("Retry-After", 2 ** versuch))
time.sleep(retry_after)
raise Exception("Maximale Anzahl an Versuchen überschritten")

Nächste Schritte: