UI Variables โ
The UI customization surface: a set of typed variables (logos, colors, copy strings, feature toggles) grouped into categories, plus a couple of top-level endpoints for the bundled "style" and "menu" config that drives the UI shell. Where Themes capture branding as a whole package, UI Variables let you tweak individual values without swapping themes.
Scopes โ
| Scope | Reach |
|---|---|
ui:read | Reading style config, menu config, variables, categories, filters. |
ui:write | Creating/updating/deleting variables and categories. |
Top-level Endpoints โ
Get Style Config โ
GET /api/ui/
Returns the combined style configuration the UI shell uses on boot. This is essentially "active theme + active UI variables" composed into a single payload.
Required scope: ui:read
Response 200 โ ThemeRead
Get Menu Config โ
GET /api/ui/menu
Returns the navigation menu configuration the UI shell uses to render its main menus.
Required scope: ui:read
Response 200 โ menu configuration payload.
UI Categories โ
Categories group related UI variables (e.g., "Login screen", "Email footer", "Brand colors") for display in the admin UI.
List UI Categories โ
GET /api/ui/categories/
Returns a page of UI categories.
Required scope: ui:read ยท also accepts API key
Query parameters โ standard pagination set; see Conventions โบ Pagination. Defaults: sort_by=created, sort_order=desc, hydrate=true.
Response 200 โ UiCategoryInDbCursorPage
Get UI Category Filter Metadata โ
GET /api/ui/categories/filters
Returns filter/operator/sort options for List UI Categories.
Required scope: ui:read
Response 200 โ open metadata object.
Get UI Category by ID โ
GET /api/ui/categories/{id}
Returns a single UI category record.
Required scope: ui:read ยท also accepts API key
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string | yes | Category ID. |
Response 200 โ UiCategoryRead
Create UI Category โ
POST /api/ui/categories/
Creates a new UI category.
Required scope: ui:write
Request body โ UiCategoryWriteCreate
Response 201 โ UiCategoryRead
Update UI Category by ID โ
PUT /api/ui/categories/categories/{id}
Replaces the UI category.
WARNING
The path segment /categories/categories/ is doubled โ this is intentional in the current API and should be sent verbatim. The same applies to UI Variables (see below).
Required scope: ui:write
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string | yes | Category ID. |
Request body โ UiCategoryWriteReplace
Response 200 โ UiCategoryRead
Patch UI Category โ
PATCH /api/ui/categories/categories/{id}
Partial UI category update. Path segment is doubled โ see the warning under Update UI Category by ID.
Required scope: ui:write
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string | yes | Category ID. |
Request body โ UiCategoryWriteUpdate
Response 200 โ UiCategoryRead
Delete UI Category by ID โ
DELETE /api/ui/categories/categories/{id}
Removes the UI category. Path segment is doubled โ see the warning under Update UI Category by ID.
Required scope: ui:write
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string | yes | Category ID. |
Response 204 โ empty.
UI Variables โ
Individual configurable values that the UI shell consumes.
List UI Variables โ
GET /api/ui/variables/
Returns a page of UI variables.
Required scope: ui:read ยท also accepts API key
Query parameters โ standard pagination set; see Conventions โบ Pagination. Defaults: sort_by=created, sort_order=desc, hydrate=true.
Response 200 โ UiVariableInDbCursorPage
Get UI Variable Filter Metadata โ
GET /api/ui/variables/filters
Returns filter/operator/sort options for List UI Variables.
Required scope: ui:read
Response 200 โ open metadata object.
Get UI Variable by ID โ
GET /api/ui/variables/{id}
Returns a single UI variable.
Required scope: ui:read ยท also accepts API key
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string | yes | Variable ID. |
Response 200 โ UiVariableRead
Create UI Variable โ
POST /api/ui/variables/
Creates a new UI variable.
Required scope: ui:write
Request body โ UiVariableWriteCreate
Response 201 โ UiVariableRead
Update UI Variable by ID โ
PUT /api/ui/variables/variables/{id}
Replaces a UI variable. Path segment is doubled โ /variables/variables/{id} is the literal path.
Required scope: ui:write
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string | yes | Variable ID. |
Request body โ UiVariableWriteReplace
Response 200 โ UiVariableRead
Patch UI Variable โ
PATCH /api/ui/variables/variables/{id}
Partial UI variable update. Path segment is doubled.
Required scope: ui:write
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string | yes | Variable ID. |
Request body โ UiVariableWriteUpdate
Response 200 โ UiVariableRead
Delete UI Variable by ID โ
DELETE /api/ui/variables/variables/{id}
Deletes a UI variable. Path segment is doubled.
Required scope: ui:write
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string | yes | Variable ID. |
Response 204 โ empty.
See also โ
- Themes โ whole-package branding (selected via
POST /api/themes/{id_or_name}/activate). - Mail Templates โ branded transactional emails.
