Dashboard Settings
Zelavis exposes runtime-editable dashboard settings through:
GET /zelavis/api/v1/dashboard/settingsPATCH /zelavis/api/v1/dashboard/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 only editable when the website core service is available.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 Media Gallery ordering through the runtime-backed dashboard settings store.- Persistence depends on the configured settings store. In-memory fallback behavior is runtime-local.