Openapi
OpenAPI Configuration
Root OpenAPI settings (extensible for future OpenAPI features)
This configuration provides defaults for OpenAPI documentation endpoints across all channels (REST, Observe). Channel-specific UI configs inherit from openapi.ui.
openapi.enabled
Section titled “openapi.enabled”Master switch for OpenAPI doc endpoints When false, disables all OpenAPI spec endpoints (JSON/YAML/UI) across all channels. Note: This does NOT disable the actual REST API endpoints (e.g., /api/entries/*), only the documentation endpoints.
Priority: SCRIBE_OPENAPI_ENABLED > config
| Property | Value |
|---|---|
| Default | true |
| Override | SCRIBE_OPENAPI_ENABLED (optional) |
openapi.enabled = trueopenapi.enabled = ${?SCRIBE_OPENAPI_ENABLED}openapi.ui
Section titled “openapi.ui”Scalar UI defaults (inherited by channels.rest.ui and monitoring.observe.ui) Scalar provides a modern, interactive API documentation UI. By default, assets are bundled with the app (offline-safe, no external network). Settings marked AUTO resolve based on app.mode:
- Dev/test/local: developer-friendly (show tools, enable requests)
- Production/staging: production-safe (hide tools, disable requests)
openapi.ui.asset
Section titled “openapi.ui.asset”External asset configuration (CDN override). By default, Scalar assets are bundled with the app. If configured, both url and sri are required. SRI (Subresource Integrity) hash prevents supply-chain attacks.
openapi.ui.asset.sri
Section titled “openapi.ui.asset.sri”Subresource Integrity hash for the asset URL.
Example: "sha384-..."
| Property | Value |
|---|---|
| Default | null |
openapi.ui.asset.sri = nullopenapi.ui.asset.url
Section titled “openapi.ui.asset.url”CDN URL for Scalar standalone JavaScript bundle.
Example: "https://cdn.jsdelivr.net/npm/@scalar/api-reference@1.43.1/dist/browser/standalone.min.js"
| Property | Value |
|---|---|
| Default | null |
openapi.ui.asset.url = nullopenapi.ui.dark-mode
Section titled “openapi.ui.dark-mode”Enable dark mode by default
| Property | Value |
|---|---|
| Default | false |
openapi.ui.dark-mode = falseopenapi.ui.enabled
Section titled “openapi.ui.enabled”Enable OpenAPI UI (Scalar API Reference)
auto = enabled in dev/test, disabled in prod (prod-safe default)true = always enabled, false = always disabledPriority: SCRIBE_OPENAPI_UI_ENABLED > config
| Property | Value |
|---|---|
| Default | "auto" |
| Override | SCRIBE_OPENAPI_UI_ENABLED (optional) |
openapi.ui.enabled = "auto"openapi.ui.enabled = ${?SCRIBE_OPENAPI_UI_ENABLED}openapi.ui.force-dark-mode-state
Section titled “openapi.ui.force-dark-mode-state”Force dark mode state Options: “dark”, “light”, null (auto-detect from system preference)
| Property | Value |
|---|---|
| Default | null |
openapi.ui.force-dark-mode-state = nullopenapi.ui.hide-dark-mode-toggle
Section titled “openapi.ui.hide-dark-mode-toggle”Hide the dark mode toggle
| Property | Value |
|---|---|
| Default | false |
openapi.ui.hide-dark-mode-toggle = falseopenapi.ui.hide-test-request-button
Section titled “openapi.ui.hide-test-request-button”Hide test request button
auto = hide in prod, show in devtrue = always hide, false = always show| Property | Value |
|---|---|
| Default | "auto" |
openapi.ui.hide-test-request-button = "auto"openapi.ui.layout
Section titled “openapi.ui.layout”Layout mode
Options: “modern”, “classic”
| Property | Value |
|---|---|
| Default | "modern" |
openapi.ui.layout = "modern"openapi.ui.search-hot-key
Section titled “openapi.ui.search-hot-key”Search hotkey (keyboard shortcut)
Default: “k”
| Property | Value |
|---|---|
| Default | "k" |
openapi.ui.search-hot-key = "k"openapi.ui.show-developer-tools
Section titled “openapi.ui.show-developer-tools”Show developer tools
auto = show in dev, hide in prodtrue = always show, false = never show| Property | Value |
|---|---|
| Default | "auto" |
openapi.ui.show-developer-tools = "auto"openapi.ui.show-sidebar
Section titled “openapi.ui.show-sidebar”Show sidebar navigation
| Property | Value |
|---|---|
| Default | true |
openapi.ui.show-sidebar = trueopenapi.ui.theme
Section titled “openapi.ui.theme”Scalar theme (appearance)
Options: “alternate”, “default”, “moon”, “purple”, “solarized”, “bluePlanet”, “saturn”, “kepler”, “mars”, “deepSpace”, “laserwave”, “none”
| Property | Value |
|---|---|
| Default | "default" |
openapi.ui.theme = "default"