Datenexport
Die Export API ermöglicht wiederverwendbare Export-Konfigurationen, Ausführung auf Abruf und Abruf von Daten im JSON-, CSV- oder Excel-Format. Exporte können extern über zeitlich begrenzte Tokens abgerufen werden -- ideal, um Optimaite-Daten in BI-Tools, CRM-Systeme oder Buchhaltungssoftware einzuspeisen.
Endpunkte
| Method | Path | Beschreibung |
|---|---|---|
GET | /api/v1/exports/configs | Alle Export-Konfigurationen auflisten |
POST | /api/v1/exports/configs | Export-Konfiguration erstellen |
GET | /api/v1/exports/configs/{id} | Export-Konfiguration abrufen |
PUT | /api/v1/exports/configs/{id} | Export-Konfiguration aktualisieren |
DELETE | /api/v1/exports/configs/{id} | Export-Konfiguration löschen |
GET | /api/v1/exports/configs/{id}/execute | Export ausführen (liefert Daten) |
GET | /api/v1/exports/configs/{id}/preview | Export-Daten in Vorschau (begrenzte Zeilen) |
POST | /api/v1/exports/configs/{id}/generate-token | Token für externen Zugriff erzeugen |
GET | /api/v1/exports/configs/{id}/retrieve | Export per Token abrufen (öffentlich) |
Erforderlicher Scope: reports:read zum Auflisten und Ausführen von Exporten, reports:write zum Erstellen von Konfigurationen.
Das Export-Konfigurations-Objekt
{
"id": "exp_01ABCDEFG",
"name": "Monthly Revenue Report",
"description": "Revenue grouped by case for the current month",
"source": "invoices",
"format": "xlsx",
"filters": {
"date_from": "2026-05-01",
"date_to": "2026-05-31",
"status": "paid"
},
"columns": [
{ "field": "invoice_number", "label": "Invoice #" },
{ "field": "case_name", "label": "Case" },
{ "field": "party_name", "label": "Client" },
{ "field": "total_gross", "label": "Amount (EUR)" },
{ "field": "paid_at", "label": "Paid Date" }
],
"schedule": null,
"last_executed_at": "2026-05-20T08:00:00Z",
"created_at": "2026-01-15T10:00:00Z"
}
Export-Konfiguration erstellen
POST /api/v1/exports/configs
{
"name": "Monthly Revenue Report",
"source": "invoices",
"format": "xlsx",
"filters": {
"date_from": "2026-05-01",
"date_to": "2026-05-31"
},
"columns": [
{ "field": "invoice_number", "label": "Invoice #" },
{ "field": "case_name", "label": "Case" },
{ "field": "total_gross", "label": "Amount (EUR)" }
]
}
Export ausführen
GET /api/v1/exports/configs/{config_id}/execute
Liefert die Export-Daten im konfigurierten Format. Der Response-Content-Type hängt vom Format ab:
| Format | Content-Type | Extension |
|---|---|---|
json | application/json | .json |
csv | text/csv | .csv |
xlsx | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet | .xlsx |
Beispiel: JSON-Antwort
{
"meta": {
"config_id": "exp_01ABCDEFG",
"executed_at": "2026-05-27T09:00:00Z",
"row_count": 42
},
"data": [
{
"invoice_number": "RE-2026-042",
"case_name": "Smith v. Jones",
"total_gross": 2677.50
}
]
}
Export-Vorschau
GET /api/v1/exports/configs/{config_id}/preview
Liefert eine begrenzte Vorschau (erste 10 Zeilen) der Export-Daten. Nützlich zur Validierung der Konfiguration vor einem vollständigen Export.
Externer Zugriff (Token-authentisiert)
Zeitlich begrenztes Token erzeugen, damit externe Systeme Exporte ohne API-Key abrufen können:
POST /api/v1/exports/configs/{config_id}/generate-token
{
"expires_in_hours": 24
}
Antwort
{
"token": "exp_tok_abc123def456",
"expires_at": "2026-05-28T09:00:00Z"
}
Externe Systeme können den Export dann abrufen:
GET /api/v1/exports/configs/{config_id}/retrieve?token=exp_tok_abc123def456
Nutzen Sie token-authentisierte Exporte, um Daten in BI-Dashboards (Metabase, Tableau), Buchhaltungssoftware (DATEV, SevDesk) oder CRM-Systeme (Salesforce, HubSpot) per geplanten HTTP-Requests einzuspeisen.
Verfügbare Export-Quellen
| Source | Beschreibung | Wichtige Filter |
|---|---|---|
invoices | Rechnungsdaten | date, status, case, party |
time_entries | Zeiterfassungsdaten | date, user, case, billable |
cases | Akten-Metadaten | status, type, dezernat, date |
parties | Kontaktdaten | type, date |
documents | Dokument-Metadaten | date, case, folder |
deadlines | Fristendaten | date, status, case |
Fehlerantworten
| Status | Code | Bedeutung |
|---|---|---|
| 400 | INVALID_SOURCE | Export-Quelle nicht unterstützt |
| 400 | INVALID_FILTER | Filterwert für die Quelle ungültig |
| 403 | AUTH_INSUFFICIENT_SCOPE | Fehlender Scope reports:read |
| 404 | CONFIG_NOT_FOUND | Export-Konfiguration existiert nicht |
| 410 | TOKEN_EXPIRED | Token für externen Zugriff abgelaufen |
Nächste Schritte
- Rechnungen -- Rechnungsdaten für Exporte
- Akten -- Akten-Daten für Exporte
- Dokumente -- Dokument-Daten für Exporte