Zum Inhalt springen

Scan-Status

Anfrage

GEThttps://api.red-check.de/v1/scans/{id}

Anfrage
curl -X GET https://api.red-check.de/v1/scans/{id} \
  -H "Authorization: Bearer rc_live_••••••••"
Antwort
{
  "id": "3f9a1c20-5e4b-4d8a-9a11-0c21e7b4c21e",
  "domain": "",
  "status": "queued",
  "phase": "Aktive Prüfungen",
  "phase_detail": "nuclei-Templates",
  "progress": 0,
  "counts": {
    "critical": 0,
    "high": 0,
    "medium": 0,
    "low": 0,
    "info": 0
  },
  "duration_ms": 0
}

progress ist ein Prozentwert von 0 bis 100, phase die grobe Stufe und phase_detail der Unterschritt darin. Die Web-App zeigt dieselben Werte im Fortschrittsbalken.

Zustände

StatusBedeutung
queuedwartet in der Queue
leasedeinem Worker zugeteilt, gleich geht es los
runningläuft
donefertig, Artefakte liegen bereit
failedabgebrochen wegen eines Fehlers; error_kind sagt, welchem
canceledauf Wunsch abgebrochen, beim KI-Scan von Redcheck abgelehnt
awaiting_reviewnur beim KI-Scan (Beta): wartet auf den Prüfer

Nur done bedeutet, dass ein Bericht existiert. Fehlgeschlagene und abgebrochene Läufe zählen nicht gegen das Kontingent und werden bei Abrechnung je Lauf nicht berechnet.

Live über SSE

GEThttps://api.red-check.de/v1/scans/{id}/stream

Server-Sent Events mit drei Ereignistypen: progress (Phase, Detail, Prozent, vorläufige Zähler), audit (eine Protokollzeile) und done (Endzustand, danach schließt der Strom).

Ereignisse mitlesen
curl -N https://api.red-check.de/v1/scans/$SCAN/stream \
-H "Authorization: Bearer $KEY" \
-H "Accept: text/event-stream"

Abbrechen

POSThttps://api.red-check.de/v1/scans/{id}/cancel

Der Abbruch ist kooperativ: Wartende Läufe verschwinden sofort aus der Queue, laufende bekommen die Bitte im nächsten Heartbeat und beenden sich sauber. Ein bereits beendeter Lauf lässt sich nicht abbrechen, die API antwortet dann mit 409 scan_not_cancelable. Abbrechen dürfen Schlüssel mit den Rechten start_scans und full.

202
Abbruch angefordert.
400
Eingabe ungültig (`validation_failed`).
409
Nicht mehr abbrechbar (`scan_not_cancelable`), oder ein KI-Scan, den nur Redcheck abschließt (`conflict`).