Dashboard Settings
Zelavis exposes runtime-editable dashboard settings through:
GET /zelavis/api/v1/runtime/settingsPATCH /zelavis/api/v1/runtime/settingsWhen rootPath, API prefix, or API version are customized, the mounted path changes with them.
Current response shape
Section titled “Current response shape”GET returns:
interface ZelavisDashboardSettings { rootPath: string; pendingRootPath?: string; apiBasePath: string; theme: "light" | "dark" | "auto"; pageBuilderEnabled: boolean; preferences: { content?: { pinnedTypes?: string[]; labels?: Record<string, string>; }; media?: { orderedPaths?: string[]; }; }; persistence: "runtime" | "read-only"; editable: { rootPath: boolean; theme: boolean; pageBuilder: boolean; }; restartRequired: boolean;}Current update shape
Section titled “Current update shape”PATCH accepts any subset of:
interface ZelavisDashboardSettingsUpdate { rootPath?: string; theme?: "light" | "dark" | "auto"; pageBuilderEnabled?: boolean; preferences?: { content?: { pinnedTypes?: string[]; labels?: Record<string, string>; }; media?: { orderedPaths?: string[]; }; };}The endpoint returns the full normalized settings object after the update is written.
rootPathupdates are stored as pending settings and setrestartRequired: trueuntil the runtime restarts with the new mounted path.pendingRootPathonly appears when the stored root path differs from the active mounted root path.pageBuilderEnabledis stored but has no effect yet: there is no page builder or website service to switch on.preferences.content.pinnedTypeskeeps editor-facing content types pinned and ordered at the top of the dashboard Content screen.preferences.content.labelsstores editor-facing labels while the lower-level database collection slug stays unchanged.preferences.media.orderedPathspersists project Media ordering through the runtime-backed dashboard settings store.- Persistence depends on the configured settings store. In-memory fallback behavior is runtime-local.