Scans API
Erstellen, verwalten und überwachen Sie Schwachstellen-Scans programmatisch.
Endpunkte
| Method | Endpoint | Beschreibung |
|---|---|---|
| GET | /api/v1/scans | Alle Scans auflisten |
| POST | /api/v1/scans | Neuen Scan erstellen |
| GET | /api/v1/scans/{id} | Scan-Details abrufen |
| DELETE | /api/v1/scans/{id} | Scan abbrechen/löschen |
| GET | /api/v1/scans/{id}/findings | Scan-Findings abrufen |
Scans auflisten
Alle Scans für Ihre Organisation abrufen.
bash
GET /api/v1/scansQuery-Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
page | integer | Seitennummer (Standard: 1) |
per_page | integer | Einträge pro Seite (Standard: 20, max: 100) |
status | string | Nach Status filtern: pending, running, completed, failed |
target | string | Nach Ziel-Domain filtern |
from_date | string | Scans nach Datum filtern (ISO 8601) |
to_date | string | Scans vor Datum filtern (ISO 8601) |
Antwort
json
{
"items": [
{
"id": "scan_abc123",
"target": "example.com",
"scan_type": "full",
"status": "completed",
"progress": 100,
"phase": "complete",
"created_at": "2025-12-21T10:00:00Z",
"completed_at": "2025-12-21T10:45:00Z",
"vulnerabilities_found": 12,
"critical_count": 1,
"high_count": 3,
"medium_count": 5,
"low_count": 3
}
],
"total": 45,
"page": 1,
"per_page": 20,
"pages": 3
}Scan erstellen
Einen neuen Schwachstellen-Scan starten.
bash
POST /api/v1/scans
Content-Type: application/jsonRequest Body
json
{
"target": "example.com",
"scan_type": "full",
"frameworks": ["soc2", "pci-dss"],
"ports": "1-1000",
"authorized": true
}Parameter
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
target | string | Ja | Domain, IP oder CIDR-Bereich |
scan_type | string | Nein | quick, full oder compliance (Standard: full) |
frameworks | array | Nein | Zu prüfende Compliance-Frameworks |
ports | string | Nein | Port-Bereich (Standard: häufige Ports) |
authorized | boolean | Ja | Bestätigung der Scan-Autorisierung |
Scan-Typen
| Typ | Dauer | Abdeckung |
|---|---|---|
quick | 5-10 Min | Top-Schwachstellen, häufige Ports |
full | 30-60 Min | Alle 11 Phasen, umfassende Abdeckung |
compliance | 15-30 Min | Framework-spezifische Prüfungen |
Antwort
json
{
"id": "scan_xyz789",
"target": "example.com",
"scan_type": "full",
"status": "pending",
"created_at": "2025-12-21T14:00:00Z",
"estimated_duration": 2700
}Scan-Details abrufen
Details für einen bestimmten Scan abrufen.
bash
GET /api/v1/scans/{scan_id}Antwort
json
{
"id": "scan_abc123",
"target": "example.com",
"scan_type": "full",
"status": "running",
"progress": 45,
"phase": "vulnerability_scanning",
"current_tool": "nuclei",
"created_at": "2025-12-21T10:00:00Z",
"started_at": "2025-12-21T10:01:00Z",
"phases_completed": [
"discovery",
"enumeration"
],
"phases_remaining": [
"vulnerability_scanning",
"web_analysis",
"cloud_analysis",
"threat_intelligence",
"correlation",
"ai_analysis",
"remediation_planning",
"reporting"
]
}Scan abbrechen
Einen laufenden Scan stoppen.
bash
DELETE /api/v1/scans/{scan_id}Antwort
json
{
"id": "scan_abc123",
"status": "cancelled",
"message": "Scan cancelled successfully"
}Scan-Findings abrufen
Während eines Scans gefundene Schwachstellen abrufen.
bash
GET /api/v1/scans/{scan_id}/findingsQuery-Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
severity | string | Filter: critical, high, medium, low, info |
status | string | Filter: open, in_progress, resolved, false_positive |
Antwort
json
{
"items": [
{
"id": "finding_123",
"title": "SQL Injection in Login Form",
"severity": "critical",
"cvss_score": 9.8,
"status": "open",
"tool": "sqlmap",
"affected_component": "https://example.com/login",
"description": "...",
"remediation": "...",
"cve_ids": ["CVE-2024-1234"],
"detected_at": "2025-12-21T10:30:00Z"
}
],
"total": 12
}Scan-Kontingent
Verbleibendes Scan-Kontingent prüfen.
bash
GET /api/v1/scans/quotaAntwort
json
{
"plan": "professional",
"monthly_limit": 150,
"used_this_month": 45,
"remaining": 105,
"resets_at": "2026-01-01T00:00:00Z"
}Geplante Scans
Professional und Enterprise
Geplante Scans sind in den Professional und Enterprise Tarifen verfügbar.
Zeitplan erstellen
bash
POST /api/v1/scans/schedules
Content-Type: application/json
{
"target": "example.com",
"scan_type": "full",
"frequency": "weekly",
"day_of_week": 1,
"hour": 2,
"timezone": "UTC"
}Zeitpläne auflisten
bash
GET /api/v1/scans/schedulesZeitplan löschen
bash
DELETE /api/v1/scans/schedules/{schedule_id}Webhooks für Scans
Für Scan-Ereignisbenachrichtigungen registrieren:
bash
POST /api/v1/webhooks
Content-Type: application/json
{
"url": "https://your-server.com/webhook",
"events": [
"scan.started",
"scan.completed",
"scan.failed",
"vulnerability.critical"
]
}Rate Limits
| Tarif | Gleichzeitige Scans | Scans/Monat |
|---|---|---|
| Startup | 1 | 25 |
| Professional | 3 | 150 |
| Enterprise | Unbegrenzt | Unbegrenzt |