Export API
Exportieren Sie Compliance-Daten in verschiedenen Formaten
Uebersicht
Die Export API ermoeglicht den Download aller Compliance-Daten in verschiedenen Formaten fuer Audits, Dokumentation und Archivierung.
Unterstuetzte Formate
| Format | Beschreibung | Use Case |
|---|---|---|
| json | Kompletter State als JSON | Backup, Migration, API-Integration |
| Formatierter PDF-Report | Audits, Management-Reports | |
| zip | Alle Dokumente als ZIP-Archiv | Vollstaendige Dokumentation |
GET /export
Exportiert den aktuellen State im gewuenschten Format.
Query-Parameter
| Parameter | Type | Required | Description |
|---|---|---|---|
format | string | Yes | Export-Format: json, pdf, zip |
tenantId | string | Yes | Tenant-ID |
sections | string | No | Kommaseparierte Liste: useCases,risks,controls,dsfa,toms,vvt (default: alle) |
phase | number | No | Nur bestimmte Phase exportieren: 1 oder 2 |
language | string | No | Sprache fuer PDF: de, en (default: de) |
JSON Export
Request
cURL
curl -X GET "https://api.breakpilot.io/sdk/v1/export?format=json&tenantId=your-tenant-id" \
-H "Authorization: Bearer YOUR_API_KEY" \
-o compliance-export.jsonResponse
compliance-export.json
{
"exportedAt": "2026-02-04T12:00:00Z",
"version": "1.0.0",
"tenantId": "your-tenant-id",
"state": {
"currentPhase": 2,
"currentStep": "dsfa",
"completedSteps": [...],
"useCases": [...],
"risks": [...],
"controls": [...],
"dsfa": {...},
"toms": [...],
"vvt": [...]
},
"meta": {
"completionPercentage": 75,
"lastModified": "2026-02-04T11:55:00Z"
}
}PDF Export
Request
cURL
curl -X GET "https://api.breakpilot.io/sdk/v1/export?format=pdf&tenantId=your-tenant-id§ions=dsfa,toms" \
-H "Authorization: Bearer YOUR_API_KEY" \
-o compliance-report.pdfPDF Inhalt
Das generierte PDF enthaelt:
- Deckblatt mit Tenant-Info und Exportdatum
- Inhaltsverzeichnis
- Executive Summary mit Fortschritt
- Use Case Uebersicht
- Risikoanalyse mit Matrix-Visualisierung
- DSFA (falls generiert)
- TOM-Katalog
- VVT-Auszug
- Checkpoint-Status
PDF Styling
Das PDF folgt einem professionellen Audit-Layout mit Corporate Design. Enterprise-Kunden koennen ein Custom-Logo und Farbschema konfigurieren.
ZIP Export
Request
cURL
curl -X GET "https://api.breakpilot.io/sdk/v1/export?format=zip&tenantId=your-tenant-id" \
-H "Authorization: Bearer YOUR_API_KEY" \
-o compliance-export.zipZIP Struktur
compliance-export.zip
compliance-export/
├── README.md
├── state.json # Kompletter State
├── summary.pdf # Executive Summary
├── use-cases/
│ ├── uc-1-ki-analyse.json
│ └── uc-2-chatbot.json
├── risks/
│ ├── risk-matrix.pdf
│ └── risks.json
├── documents/
│ ├── dsfa.pdf
│ ├── dsfa.json
│ ├── toms.pdf
│ ├── toms.json
│ ├── vvt.pdf
│ └── vvt.json
├── checkpoints/
│ └── checkpoint-status.json
└── audit-trail/
└── changes.jsonSDK Integration
export-examples.ts
import { useSDK, exportToPDF, exportToZIP, downloadExport } from '@breakpilot/compliance-sdk'
// Option 1: Ueber den Hook
function ExportButton() {
const { exportState } = useSDK()
const handlePDFExport = async () => {
const blob = await exportState('pdf')
downloadExport(blob, 'compliance-report.pdf')
}
const handleZIPExport = async () => {
const blob = await exportState('zip')
downloadExport(blob, 'compliance-export.zip')
}
const handleJSONExport = async () => {
const blob = await exportState('json')
downloadExport(blob, 'compliance-state.json')
}
return (
<div className="flex gap-2">
<button onClick={handlePDFExport}>PDF Export</button>
<button onClick={handleZIPExport}>ZIP Export</button>
<button onClick={handleJSONExport}>JSON Export</button>
</div>
)
}
// Option 2: Direkte Funktionen
async function exportManually(state: SDKState) {
// PDF generieren
const pdfBlob = await exportToPDF(state)
downloadExport(pdfBlob, `compliance-${Date.now()}.pdf`)
// ZIP generieren
const zipBlob = await exportToZIP(state)
downloadExport(zipBlob, `compliance-${Date.now()}.zip`)
}Command Bar Integration
Exporte sind auch ueber die Command Bar verfuegbar:
Command Bar
Cmd+K → "pdf" → "Als PDF exportieren"
Cmd+K → "zip" → "Als ZIP exportieren"
Cmd+K → "json" → "Als JSON exportieren"Automatisierte Exports
Fuer regelmaessige Backups oder CI/CD-Integration:
Cron Job
# Taeglicher Backup-Export um 02:00 Uhr
0 2 * * * curl -X GET "https://api.breakpilot.io/sdk/v1/export?format=zip&tenantId=my-tenant" \
-H "Authorization: Bearer $API_KEY" \
-o "/backups/compliance-$(date +%Y%m%d).zip"Dateigröße
ZIP-Exporte koennen bei umfangreichen States mehrere MB gross werden. Die API hat ein Timeout von 60 Sekunden. Bei sehr grossen States verwenden Sie den asynchronen Export-Endpoint (Enterprise).
Fehlerbehandlung
error-handling.ts
import { exportState } from '@breakpilot/compliance-sdk'
try {
const blob = await exportState('pdf')
downloadExport(blob, 'report.pdf')
} catch (error) {
if (error.code === 'EMPTY_STATE') {
console.error('Keine Daten zum Exportieren vorhanden')
} else if (error.code === 'GENERATION_FAILED') {
console.error('PDF-Generierung fehlgeschlagen:', error.message)
} else if (error.code === 'TIMEOUT') {
console.error('Export-Timeout - versuchen Sie ZIP fuer grosse States')
} else {
console.error('Unbekannter Fehler:', error)
}
}