System-REST-API
Alle Funktionen der Systemverwaltung stehen auch als REST-API zur Verfügung — für Provisionierung, Monitoring und Automatisierung.
Authentifizierung
Abschnitt betitelt „Authentifizierung“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/healthMandanten
Abschnitt betitelt „Mandanten“| 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" }.
API-Schlüssel
Abschnitt betitelt „API-Schlüssel“| 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 |
System-Einstellungen
Abschnitt betitelt „System-Einstellungen“| 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 }'PII-Wörterlisten
Abschnitt betitelt „PII-Wörterlisten“| 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 |
Überwachung und Betrieb
Abschnitt betitelt „Überwachung und Betrieb“| 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 |
