Optimaite

Datenexport

3 Min. LesezeitAktualisiert 27. Mai 2026Also available in English

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

MethodPathBeschreibung
GET/api/v1/exports/configsAlle Export-Konfigurationen auflisten
POST/api/v1/exports/configsExport-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}/executeExport ausführen (liefert Daten)
GET/api/v1/exports/configs/{id}/previewExport-Daten in Vorschau (begrenzte Zeilen)
POST/api/v1/exports/configs/{id}/generate-tokenToken für externen Zugriff erzeugen
GET/api/v1/exports/configs/{id}/retrieveExport 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:

FormatContent-TypeExtension
jsonapplication/json.json
csvtext/csv.csv
xlsxapplication/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

SourceBeschreibungWichtige Filter
invoicesRechnungsdatendate, status, case, party
time_entriesZeiterfassungsdatendate, user, case, billable
casesAkten-Metadatenstatus, type, dezernat, date
partiesKontaktdatentype, date
documentsDokument-Metadatendate, case, folder
deadlinesFristendatendate, status, case

Fehlerantworten

StatusCodeBedeutung
400INVALID_SOURCEExport-Quelle nicht unterstützt
400INVALID_FILTERFilterwert für die Quelle ungültig
403AUTH_INSUFFICIENT_SCOPEFehlender Scope reports:read
404CONFIG_NOT_FOUNDExport-Konfiguration existiert nicht
410TOKEN_EXPIREDToken für externen Zugriff abgelaufen

Nächste Schritte

Was this helpful?