--- method: PUT path: /api/system/config auth: jwt+admin area: system --- # Update System Configuration Updates one or more system-wide configuration keys. Admin only. When `base_url` is provided, derived keys (`opds_base_url`, `api_base_url`) are updated automatically. `default_timezone` is validated as a timezone. ## Example request ```json example-request { "base_url": "https://books.example.com", "default_timezone": "UTC" } ``` ## Example response ```json example-response { "status": "success", "message": "System configuration updated" } ``` ## Fields | Field | Type | Required | Notes | | ----- | ---- | -------- | ----- | | (any key) | string | No | Arbitrary config key/value pairs | ## Errors | Status | Body | When | | ------ | ---- | ---- | | 400 | `{"error": "invalid request format"}` / `{"error": "invalid timezone"}` | malformed body or bad timezone | | 401 | `{"error": "unauthorized"}` | no/invalid JWT | | 403 | `{"error": "admin access required"}` | non-admin | | 500 | `{"error": "failed to update config key: ..."}` / `{"error": "failed to update default timezone"}` / `{"error": "failed to update derived config key: ..."}` | unexpected server error |