Base URL: http://localhost:8000
Authentication: Include X-API-Key: <your-key> header on all protected endpoints.
Check API health (no auth required).
Response:
{"status": "healthy", "version": "1.0.0"}Get the main dashboard data.
curl -H "X-API-Key: $KEY" http://localhost:8000/api/dashboardResponse:
{
"security_score": {
"overall_score": 67.5,
"grade": "B",
"color": "yellow",
"status_text": "Good",
"dimensions": [...]
},
"alert_summary": {
"total": 12,
"open": 5,
"by_severity": {"critical": 1, "high": 2, "medium": 2}
},
"compliance_status": {
"nis2": {"name": "NIS2 Directive", "score_percent": 40},
...
},
"recent_alerts": [...],
"recent_incidents": [...]
}List alerts with optional filters.
Query params: status (open/acknowledged/resolved), severity (critical/high/medium/low), limit (default 100)
curl -H "X-API-Key: $KEY" "http://localhost:8000/api/alerts?status=open&severity=critical"Get a single alert.
Acknowledge an alert.
Resolve an alert.
Mark an alert as a false positive.
List incident tickets.
List all available playbooks.
Trigger a playbook.
curl -X POST \
-H "X-API-Key: $KEY" \
-H "Content-Type: application/json" \
-d '{"playbook_id": "PB-RANSOMWARE", "context": {"source_ip": "10.0.0.1", "hostname": "server-01"}}' \
http://localhost:8000/api/incidents/triggerAdd a note to an incident ticket.
List all compliance frameworks with scores.
Get a specific framework with all controls.
Framework IDs: nis2, bsi_grundschutz, iso27001, gdpr
Update a control's implementation status.
curl -X PUT \
-H "X-API-Key: $KEY" \
-H "Content-Type: application/json" \
-d '{"status": "implemented", "evidence": ["Policy v2.0"]}' \
http://localhost:8000/api/compliance/frameworks/nis2/controls/NIS2-21-2-AGet gap analysis for a framework.
Generate a compliance report.
Query params: format (text/json, default: json)
Get identity and access report.
Response includes: total users, MFA coverage, dormant users, over-privileged accounts.
Import VAPT scan results.
curl -X POST \
-H "X-API-Key: $KEY" \
-H "Content-Type: application/json" \
-d '{"scan_id": "scan-001", "scan_date": "2024-01-01T00:00:00", "findings": [...]}' \
http://localhost:8000/api/vapt/importFinding schema:
{
"id": "vuln-001",
"title": "SQL Injection",
"severity": "critical",
"description": "...",
"cvss_score": 9.8,
"cve_ids": ["CVE-2024-0001"],
"affected_host": "10.0.0.1",
"affected_port": 80,
"remediation_steps": "Use parameterized queries"
}List all findings with optional filters.
Query params: severity, status
Get VAPT summary statistics.
Update a finding's remediation status.
curl -X PUT \
-H "X-API-Key: $KEY" \
-H "Content-Type: application/json" \
-d '{"status": "fixed", "notes": "Patched in deploy 2024-01-15"}' \
http://localhost:8000/api/vapt/findings/vuln-001/statusGet collector status and statistics.
Get current platform configuration (non-sensitive fields only).