Configurations
A configuration is one per-tenant setting: a dotted code and a JSON value. A new tenant is
given its baseline rows; a setting a tenant has no row for takes the platform's default.
Rules for every value
- Saving replaces the whole value. Send all of it, including the parts you aren't changing.
- A value can't be larger than 64 KB. A real one is far smaller; a picture belongs in assets, referenced by id.
- Many values are cleaned rather than refused: a field the apps don't recognise, or one in the wrong shape, falls back to its default while the rest is kept, and a number outside its range is pulled to the nearest end. The pages below say which; when a change doesn't show, check the field's spelling and limits first.
- The apps pick up a change on their next sync, and an open app within seconds.
The settings
| Code | Page |
|---|---|
brand.theme, brand.strings, brand.attribution, legal.pages, home.header | Theme and branding |
nav.tabs, home.action, settings.links, explore.tabs | Navigation |
notifications.quiet_hours, email.<template>, sms.countries | Notifications |
signup.mode | Users |
cohorts.source | Cohorts |
mcp.enabled | MCP |
practice.system | Practice systems |
assets.generator | The outside model a tenant's authors can generate images with, and its key. |
security.tls_pinning_enabled | The kill switch for the apps' certificate pinning, set once for the deployment on the DEFAULT tenant. |
Some settings are the platform's, not the tenant's: mcp.enabled, practice.system,
assets.generator, kinestex.account and security.tls_pinning_enabled need the platform
admin's configurations.administer permission to change. A tenant's admins can read them.