import { DevPortalLayout, ApiEndpoint, CodeBlock, ParameterTable, InfoBox } from '@/components/developers/DevPortalLayout' export default function ExportApiPage() { return (

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
pdf 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

JSON Export

Request

{`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.json`}

Response

{`{ "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 -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.pdf`}

PDF Inhalt

Das generierte PDF enthaelt:

Das PDF folgt einem professionellen Audit-Layout mit Corporate Design. Enterprise-Kunden koennen ein Custom-Logo und Farbschema konfigurieren.

ZIP Export

Request

{`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.zip`}

ZIP Struktur

{`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.json`}

SDK Integration

{`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 (
) } // 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:

{`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:

{`# 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"`} 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

{`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) } }`}
) }