Zum Inhalt springen

System-REST-API

Alle Funktionen der Systemverwaltung stehen auch als REST-API zur Verfügung — für Provisionierung, Monitoring und Automatisierung.

Die System-Endpunkte verlangen einen der folgenden Nachweise:

  • System-API-Schlüssel im Header X-System-Api-Key (empfohlen für Automatisierung; siehe Kapitel „System-API-Schlüssel“), oder
  • die Cookie-Sitzung eines angemeldeten System-Administrators (wird von der Web-Oberfläche selbst genutzt).
curl -H "X-System-Api-Key: vk_sys_…" https://redact.example.com/api/system/health
Methode Pfad Zweck
GET /api/system/tenants Liste aller Mandanten (Kürzel, Name, Status, Erstellt)
POST /api/tenants Mandant anlegen; Antwort 201 mit dem neuen Mandanten
GET /api/tenants/{kürzel} Einzelnen Mandanten lesen
PUT /api/tenants/{kürzel} Name und/oder Aktiv-Status ändern
DELETE /api/tenants/{kürzel} Leeren Mandanten löschen (409 bei Dokumenten/Benutzern/reserviertem Kürzel)

Beispiel — Mandant per Skript anlegen:

curl -X POST https://redact.example.com/api/tenants \
-H "X-System-Api-Key: vk_sys_…" \
-H "Content-Type: application/json" \
-d '{ "name": "Muster GmbH", "slug": "muster-gmbh" }'

Antwort (201 Created):

{ "id": "…", "name": "Muster GmbH", "slug": "muster-gmbh",
"isActive": true, "createdAt": "2026-08-02T19:05:00Z" }

Ein bereits vergebenes oder reserviertes Kürzel liefert 409 mit { "error": "…", "code": "slug-reserved" }.

Methode Pfad Zweck
GET /api/system/api-keys Metadaten aller Schlüssel (nie der Klartext)
POST /api/system/api-keys Schlüssel anlegen — die Antwort enthält den Klartext einmalig im Feld key
PUT /api/system/api-keys/{id} Name/Aktiv-Status ändern
DELETE /api/system/api-keys/{id} Schlüssel löschen
Methode Pfad Zweck
GET /api/system/settings Alle Einträge (key, value, isEncrypted, writable)
GET /api/system/settings/{key} Einzelnen Eintrag lesen
PUT /api/system/settings/{key} Wert setzen; Body { "value": "…", "isEncrypted": false }
DELETE /api/system/settings/{key} Eintrag löschen (Standard greift wieder)

Schreibzugriffe sind auf die Präfixe Pii., DemoMode., UI., Tracking., Auth., Export. begrenzt; andere Schlüssel liefern 403.

Beispiel — Standardsprache installationsweit auf Englisch stellen:

curl -X PUT https://redact.example.com/api/system/settings/UI.DefaultLanguage \
-H "X-System-Api-Key: vk_sys_…" \
-H "Content-Type: application/json" \
-d '{ "value": "en", "isEncrypted": false }'
Methode Pfad Zweck
GET /api/system/pii/wordlists Liste aller Sprachen mit Quelle/Anzahl/Zeitstempel
GET /api/system/pii/wordlists/{sprache} Wörterliste als JSON herunterladen (UTF-8)
PUT /api/system/pii/wordlists/{sprache} Wörterliste ersetzen (JSON-Body, max. 8 MB)
DELETE /api/system/pii/wordlists/{sprache} Anpassung entfernen (Datei-Standard greift wieder)
GET /api/system/pii/wordlists/{sprache}/diff Unterschied Anpassung ↔ Standard
Methode Pfad Zweck
GET /api/system/health Health-Snapshot (Datengrundlage des Dashboards)
GET /api/system/audit-logs Audit-Log abfragen (from, to, action, entityType, adminUsername, limit, offset)
GET /api/system/demo-sessions Demo-Sessions auflisten
POST /api/system/cleanup/demo-sessions?dryRun=true Abgelaufene Demo-Sessions aufräumen (Probelauf mit dryRun=true)
POST /api/system/impersonate/{kürzel} Impersonierung starten (Cookie-basiert; für reine API-Skripte ungeeignet)
POST /api/system/ocr-enrichment/reindex/{kürzel} OCR-Anreicherung eines Mandanten neu aufbauen