Docs / Integrate
WebSocket events
One WebSocket connection carries scan and workflow events for the dashboard and any custom integration. The dashboard auto-reconnects and falls back to HTTP polling.
Connecting
ws://host/ws/workflow?scan_id={scan_id}Event types
| job_started | A scan job began |
| job_progress | Progress updates as repos are processed |
| repo_complete | A repository finished scanning |
| job_completed / job_failed | Terminal job states |
| findings_upgraded | Findings changed state (e.g. validation results arrived) |
Log replay fallback
If a client connects late or drops, stored log lines are available over REST — GET /scan/{id}/logs — so no events are lost to a flaky connection. Events fan out through the platform's shared EventBus; all three products publish to the same stream.
Source: api/websocket/ · ws_manager.py · backend/README.md