Einstellungen aktualisieren
Returns the full settings map after the update (same shape as GET).
Bearer-Token, erhalten über den Login-Endpunkt (POST /rest/login).
Ort: header
Request-Body
application/json
TypeScript-Definitionen
TypeScript-Typ für request body.
Validation for the bulk settings update.
export_format is validated against {@see ExportFormat}, the single source of
truth for export formats. The previous hardcoded list (csv,lodas,zucchetti)
predates that enum: lodas was the C++/stamp.json spelling for DATEV LODAS,
which the enum encodes as datev ({@see ExportFormat::DatevLodas}). The list
was therefore both too narrow (no csv_extended, datev_lug, agenda,
projects) and inconsistent with every other consumer of the format value
(ExportController resolves ?format= through the enum).
Decision: accept the enum values, and keep the legacy spelling working by
normalizing lodas to datev in {@see prepareForValidation()} instead of
rejecting it. Old clients (and tenants whose value was imported from
stamp.json as lodas) keep saving successfully, while every new write stores
the canonical enum value. Stored legacy lodas values are read-only strings
(Tenant::exportFormat()) and are intentionally left untouched — no data
migration is performed here.
language is a deliberate subset of {@see Locale}: only the two locales the
tenant-wide default is offered for today. It references the enum cases so a
renamed/removed locale breaks at compile time instead of silently drifting.
Response-Body
application/json
application/json
application/json
curl -X PUT "https://example.com/settings" \ -H "Content-Type: application/json" \ -d '{}'{ "data": { "property1": "string", "property2": "string" }}