Higson gives user a possibility to configure and overwrite internal application properties. They are stored in dedicated file, named application.yml . File should be placed in container or may be pass using environment properties
|
|
Configurable Properties#
| Property | Description | Default value |
|---|---|---|
| Database | ||
| higson.database.dialect | Database dialect to use. Predefined dialects available in Higson: oracle,hsqldb, h2, mssql2012, postgresql, mysql | oracle |
| higson.database.hbm2ddl-mode | proxy for hibernate property hibernate.hbm2ddl.auto | validate |
| higson.database.autoddl-action | Action to be taken during Higson Studio startup with respect to database schema update:check - verify whether schema is correctupdate - chcek database schema and update, if neededskip - do nothing | update |
| higson.database.url | JDBC connection url | THIS PROPERTY MUST BE SET AT SYSTEM START BY THE USER |
| higson.database.username | Username that Higson will use to connect to database defined in mpp.database.url | THIS PROPERTY MUST BE SET AT SYSTEM START BY THE USER |
| higson.database.password | Password that Higson will use to connect to database defined in mpp.database.url | THIS PROPERTY MUST BE SET AT SYSTEM START BY THE USER |
| higson.database.schema | Database schema wherein Higson tables exist | |
| Environment | ||
| higson.studio.instance-name | Id identifying specific Higson Studio Instance. It is visible in Higson Studio below menu toolbar | |
| higson.studio.url | Higson Studio url used in few places, for example to create url for authentication token reset, CAS authentication etc. | http://localhost:8080/higson/app |
| higson.studio.region.updater.task-cron | CRON expression used to schedule job updating system region versions in Higson Studio | 0 1 0 * * * |
| Security | ||
| higson.security.basic.password-encode | Name of using password encoder | bcrypt |
| higson.security.basic.bcrypt.complexity | Password encoder complexity | 5 |
| higson.security.jwt.secret-key | Secret to decode JWT token (up to 256-bytes chars). To communicate with Runtime Rest client. | |
| higson.studio.security.token.verification.secret-key | Secret to verify JWT token (up to 256-bytes chars). To communicate with UI. | THIS PROPERTY MUST BE SET AT SYSTEM START BY THE USER |
| higson.studio.security.token.verification.algorithm | Determines JWT token verification algorithm (only HMAC256 supported) | HMAC256 |
| higson.studio.security.token.verification.studio-token-secured-paths | Comma-separated list of URL paths secured by Studio token verification. Required to protect MCP endpoints. | |
| higson.studio.security.token.generation.enabled | Determines if studio server works as authentication provider | true |
| higson.studio.security.token.generation.secret-key | Secret to sign JWT token (up to 256-bytes chars). To communicate with UI. | ${higson.studio.security.token.verification.secret-key} |
| higson.studio.security.token.generation.algorithm | Determines JWT token sign algorithm (only HMAC256 supported) | ${higson.studio.security.token.verification.algorithm} |
| higson.studio.security.token.generation.access-token-lifetime.value | Access token lifetime value | 5 |
| higson.studio.security.token.generation.access-token-lifetime.unit | Access token lifetime unit | Minutes |
| higson.studio.security.token.generation.refresh-token-lifetime.value | Refresh token lifetime value | 7 |
| higson.studio.security.token.generation.refresh-token-lifetime.unit | Refresh token lifetime unit | Days |
| higson.studio.security.token.generation.persist-refresh-token | Should persist refresh token to database (session idempotent) | true |
| higson.studio.security.login.attempts-limit | Limit of failed login attempts | 3 |
| higson.studio.security.login.attempts-cooldown | Time (in seconds) to freeze the ability to log in after reaching the limit of failed attempts | 20 |
| higson.studio.security.password.policy.min-length | Specifies the length of the password. Can take values between 10 and 128 | 10 |
| Features | ||
| higson.studio.mail.host | Mailer server host. If host and port are not set - mailer is not loaded | "" |
| higson.studio.mail.port | Mailer server port. If host and port are not set - mailer is not loaded | "" |
| higson.studio.mail.username | Mailer server username | "" |
| higson.studio.mail.password | Mailer server username’s password | "" |
| higson.studio.mail.from | Mailer from metadata | "" |
| higson.studio.snapshot.param.matrix.writer.order-by-all-level | Should sort by all levels during export decision table to file. Available: true/false | true |
| higson.studio.groovy.secured | Groovy function verification. Available: true/false. If set to true it is not possible to use a class of type System or Exception. If set to false the function body is not validated and possible security problems will not be caught. | true |
| higson.studio.function.validate-arguments | Flag determining whether function arguments data types should be validated before test execution | false |
| higson.studio.max-file-size | Specifies the size of the snapshot that can be uploaded | 100MB |
| higson.persistence.ui.enabled | Enables GMO in Higson Studio UI | false |
| higson.studio.global-search.matrix-scan.enabled | Determines whether Global Search scans decision table matrices (cell values). When false, matrix cell values are not searched (decision table definitions, domain, functions, flows and context are still searched) and the Matrix option is removed from the Decision tables dropdown in Global Search on the Dashboard. The same applies to find-usages in AI features (chat / AI decision table): results from matrices are not returned. |
true |
| MCP | ||
| higson.studio.mcp.enabled | Enables the MCP server. When set to false, the MCP endpoint is not exposed. |
false |
| higson.studio.mcp.export.dir | Directory where MCP export tools write result files. Created automatically at startup — if the directory cannot be created, startup fails. Also acts as the default read location for import tools when import.dirs is empty. See File I/O Sandbox. |
<java.io.tmpdir>/higson-mcp-workspace (OS-dependent) |
| higson.studio.mcp.import.dirs | Indexed list of directories from which MCP import tools are allowed to read files (e.g. higson.studio.mcp.import.dirs[0]). When empty, reads are allowed only from the export directory. Import directories are not created automatically; if one does not exist, the server logs a WARN. See File I/O Sandbox. |
(empty) |
| Snapshot Async | ||
| higson.studio.snapshot.async.poll.interval-ms | How often (in ms) the poller checks the job queue for pending imports. | 5000 |
| higson.studio.snapshot.async.poll.initial-delay-ms | Delay (in ms) before the import poller starts after application launch. | 10000 |
| higson.studio.snapshot.async.poll.batch-size | Number of QUEUED import jobs fetched from the database in a single polling tick. | 10 |
| higson.studio.snapshot.async.poll.max-concurrent-jobs | Maximum number of snapshot imports running in parallel on a single instance. | 3 |
| higson.studio.snapshot.async.orphan.threshold-minutes | Number of minutes without a heartbeat after which a RUNNING import job is considered orphaned and reset to QUEUED. | 5 |
| higson.studio.snapshot.async.orphan.interval-ms | How often (in ms) the orphan watcher checks for orphaned import jobs (fixed delay). | 60000 |
| higson.studio.snapshot.async.orphan.initial-delay-ms | Delay (in ms) before the orphan watcher starts after application launch. | 60000 |
| Deduplication | ||
| higson.studio.deduplication.enabled | Enables or disables the hard link feature. See Background Deduplication Process. | false |
| higson.studio.deduplication.job-enabled | Enables or disables the background deduplication process. | false |
| higson.studio.deduplication.job-interval | Interval between consecutive runs of the deduplication process (if enabled). Format: number followed by a unit (s, m, h, d). |
30m |
| higson.studio.deduplication.matrix.min-size | The minimum number of matrix rows required for a matrix to qualify for deduplication by the background process. | |
| AI Assistant (beta) | ||
| higson.studio.ai.features.enabled | Enables the AI Assistant — the Documentation Assistant chat panel and AI actions (Explain / Generate) in Functions and Decision Tables. When false, all AI controllers and adapters are not loaded. See AI Assistant Configuration. |
false |
| higson.studio.ai.features.thinking-budget | Global override for the reasoning budget of models that support reasoning mode. 0 disables reasoning, a positive value sets the token limit, empty value uses the default settings of each feature. |
|
| higson.studio.ai.provider.code | Unique identifier for the provider (e.g., vertex-ai, openai). |
|
| higson.studio.ai.provider.name | Display name of the provider, used in logs and the interface. | |
| higson.studio.ai.provider.type | Adapter type: VERTEX_AI or OPENAI_COMPATIBLE. |
|
| higson.studio.ai.provider.base-url | Base URL of the provider API. | |
| higson.studio.ai.provider.api-key | API key / access token. Required for OPENAI_COMPATIBLE. |
|
| higson.studio.ai.provider.auth-header-name | Name of the authentication header. | Authorization |
| higson.studio.ai.provider.auth-header-prefix | Prefix for the header value (with a trailing space). | Bearer |
| higson.studio.ai.provider.additional-headers | Map of additional headers appended to every request. | |
| higson.studio.ai.provider.connection-timeout | Connection timeout in seconds. | 10 |
| higson.studio.ai.provider.response-timeout | Timeout for waiting for a response in seconds. | 300 |
| higson.studio.ai.provider.read-timeout | Data read timeout in seconds. | 120 |
| higson.studio.ai.provider.vertex-project-id | Google Cloud project ID. Required when type is VERTEX_AI. |
|
| higson.studio.ai.provider.vertex-credentials-path | Path to the service account key file (JSON). If not set, Application Default Credentials (ADC) are used. Required when type is VERTEX_AI. |
|
| higson.studio.ai.model.name | Display name of the model. | |
| higson.studio.ai.model.model-id | Model identifier used in the provider API (e.g., gemini-2.5-flash, gpt-4o-mini). |
|
| higson.studio.ai.model.max-output-tokens | Maximum number of tokens the model can generate in a single response. | 4096 |
| higson.studio.ai.model.context-window | Context window size of the model. Informational value. | |
| higson.studio.ai.model.supports-streaming | Whether the model supports streaming responses. | true |
| higson.studio.ai.model.supports-json-mode | Whether the model supports structured JSON output mode. | false |
| higson.studio.ai.model.supports-tools | Whether the model supports tool-calling. Required by the Documentation Assistant. | true |
Runtime#
Available for Higson Runtime Spring Boot Starter or Higson Runtime REST apps
| Property Name | Description | Default Value |
|---|---|---|
| Database | ||
| higson.database.dialect | Database dialect to use. Available values: oracle, hsqldb, h2, mssql2012, postgresql, mysql. |
oracle |
| higson.database.url | JDBC connection URL. | THIS PROPERTY MUST BE SET AT SYSTEM START BY THE USER |
| higson.database.username | Username that Higson will use to connect to the database defined in higson.database.url. |
THIS PROPERTY MUST BE SET AT SYSTEM START BY THE USER |
| higson.database.password | Password that Higson will use to connect to the database defined in higson.database.url. |
THIS PROPERTY MUST BE SET AT SYSTEM START BY THE USER |
| higson.database.schema | Database schema wherein Higson tables exist. | |
| Environment | ||
| higson.runtime-rest.url | URL of Higson Runtime REST. | |
| Authentication | ||
| higson.runtime-rest.security.type | Defines security type for Runtime REST. Possible values: jwt, active-directory. When not set, basic authentication is enabled. |
|
| higson.security.jwt.secret-key | Secret key to decrypt Runtime REST token. | THIS PROPERTY MUST BE SET AT SYSTEM START BY THE USER |
| higson.security.active-directory.domain | Active Directory main root. | |
| higson.security.active-directory.url | Active Directory server URL. | |
| higson.security.active-directory.root-dn | Active Directory root domain. | |
| Watchers | ||
| higson.runtime.watcher.param-watcher-config.delay | Time after which the watcher starts following application launch [s]. | 10 |
| higson.runtime.watcher.param-watcher-config.pause | Interval at which the watcher monitors the state of decision tables. | 3 |
| higson.runtime.watcher.param-watcher-config.errorPause | Duration for which the watcher is suspended after a watcher error occurs. | 30 |
| higson.runtime.watcher.param-watcher-config.force | Time after which the watcher will force a full cache synchronization of decision tables. Currently only the param-watcher supports this setting. | 60 |
| higson.runtime.watcher.function-watcher-config.delay | Time after which the watcher starts following application launch [s]. | 10 |
| higson.runtime.watcher.function-watcher-config.pause | Interval at which the watcher monitors the state of functions. | 3 |
| higson.runtime.watcher.function-watcher-config.errorPause | Duration for which the watcher is suspended after a watcher error occurs. | 30 |
| higson.runtime.watcher.version-watcher-config.delay | Time after which the watcher starts following application launch [s]. | 10 |
| higson.runtime.watcher.version-watcher-config.pause | Interval at which the watcher monitors the state of versions. | 3 |
| higson.runtime.watcher.version-watcher-config.errorPause | Duration for which the watcher is suspended after a watcher error occurs. | 30 |
| higson.runtime.watcher.profile-watcher-config.delay | Time after which the watcher starts following application launch [s]. | 10 |
| higson.runtime.watcher.profile-watcher-config.pause | Interval at which the watcher monitors the state of profiles. | 3 |
| higson.runtime.watcher.profile-watcher-config.errorPause | Duration for which the watcher is suspended after a watcher error occurs. | 30 |
| higson.runtime.watcher.user-region-version-watcher-config.delay | Time after which the watcher starts following application launch [s]. | 10 |
| higson.runtime.watcher.user-region-version-watcher-config.pause | Interval at which the watcher monitors the state of users’ perspective (in Higson Studio, set under the “My View” button). | 3 |
| higson.runtime.watcher.user-region-version-watcher-config.errorPause | Duration for which the watcher is suspended after a watcher error occurs. | 30 |
| higson.runtime.watcher.domain-watcher-config.delay | Time after which the watcher starts following application launch [s]. | 10 |
| higson.runtime.watcher.domain-watcher-config.pause | Interval at which the watcher monitors the state of the domain. | 3 |
| higson.runtime.watcher.domain-watcher-config.errorPause | Duration for which the watcher is suspended after a watcher error occurs. | 30 |
| higson.runtime.watcher.domain-watcher-config.invalidate | Duration the domain value may remain unchanged in the cache. Works with domain-watcher-config.time-unit. |
24 |
| higson.runtime.watcher.domain-watcher-config.time-unit | Time unit for domain cache invalidation. Works with domain-watcher-config.invalidate. Possible values: HOURS, MINUTES, etc. |
HOURS |
| higson.runtime.watcher.dev-mode-watcher-config.delay | Time after which the watcher starts following application launch [s]. | 10 |
| higson.runtime.watcher.dev-mode-watcher-config.pause | Interval at which the watcher monitors the state of objects modified in session. | 1 |
| higson.runtime.watcher.dev-mode-watcher-config.errorPause | Duration for which the watcher is suspended after a watcher error occurs. | 30 |
| higson.runtime.watcher.schedule-runtime-watcher-config.delay | Time after which the watcher starts following application launch [s]. | 10 |
| higson.runtime.watcher.schedule-runtime-watcher-config.pause | Interval at which the watcher monitors the state of the version timeline. | 10 |
| higson.runtime.watcher.schedule-runtime-watcher-config.errorPause | Duration for which the watcher is suspended after a watcher error occurs. | 30 |
| higson.runtime.watcher.refresh-watcher-config.delay | Time after which the watcher starts following application launch [s]. | 15 |
| higson.runtime.watcher.refresh-watcher-config.pause | Checks each cached decision table (in-memory index). Evicts decision table if: - auto-refresh period has expired - max idle time exceeded |
10 |
| higson.runtime.watcher.refresh-watcher-config.errorPause | Duration for which the watcher is suspended after a watcher error occurs. | 30 |
| Diagnostic Watchers | ||
| higson.runtime.watcher.diagnosticHeartbeatWatcherConfig.delay | Time after which the watcher starts following application launch [s]. Always active — cannot be disabled by higson.runtime.watchers.enabled=false. |
10 |
| higson.runtime.watcher.diagnosticHeartbeatWatcherConfig.pause | Interval at which the heartbeat watcher runs. | 3 |
| higson.runtime.watcher.diagnosticHeartbeatWatcherConfig.errorPause | Duration for which the watcher is suspended after a watcher error occurs. | 30 |
| higson.runtime.watcher.diagnosticRuntimeMetricWatcherConfig.delay | Time after which the watcher starts following application launch [s]. Always active — cannot be disabled by higson.runtime.watchers.enabled=false. |
10 |
| higson.runtime.watcher.diagnosticRuntimeMetricWatcherConfig.pause | Interval at which the runtime metric watcher collects metrics. | 3 |
| higson.runtime.watcher.diagnosticRuntimeMetricWatcherConfig.errorPause | Duration for which the watcher is suspended after a watcher error occurs. | 30 |
| higson.runtime.watcher.diagnosticFlushWatcherConfig.delay | Time after which the watcher starts following application launch [s]. Always active — cannot be disabled by higson.runtime.watchers.enabled=false. |
10 |
| higson.runtime.watcher.diagnosticFlushWatcherConfig.pause | Interval at which the flush watcher sends collected diagnostic data. | 3 |
| higson.runtime.watcher.diagnosticFlushWatcherConfig.errorPause | Duration for which the watcher is suspended after a watcher error occurs. | 30 |
| Other | ||
| higson.runtime.function.validate-arguments | Flag determining whether function argument data types should be validated before execution. | false |
| higson.runtime.normalization.throw-on-exception | Flag determining whether an exception should be thrown when a matrix value can’t be normalized. | false |
| higson.runtime.external-datasource.sql.names | List of external SQL data source names. | |
| higson.runtime.external-datasource.sql.%s.url | URL to data source. %s is a placeholder for the name of the data source. |
|
| higson.runtime.external-datasource.sql.%s.username | Username for data source. %s is a placeholder for the name of the data source. |
|
| higson.runtime.external-datasource.sql.%s.password | Password for data source. %s is a placeholder for the name of the data source. |
|
| higson.runtime.external-datasource.sql.%s.min-pool-size | Minimum size of connection thread pool. %s is a placeholder for the name of the data source. |
1 |
| higson.runtime.external-datasource.sql.%s.max-pool-size | Maximum size of connection thread pool. %s is a placeholder for the name of the data source. |
8 |
| higson.runtime.parameter.value-never-null | If true, decision tables return EmptyParamValue when no match is found; if false, decision tables return null. |
true |
| higson.runtime.ai-model.enabled | Enables the AI Model Source feature (ONNX-based decision tables). When false, the ONNX runtime is not initialized and decision tables backed by an AI model cannot be evaluated. Requires the com.microsoft.onnxruntime:onnxruntime dependency on the classpath. See the Implementation of AI in decision tables instruction. |
false |
| higson.runtime.watchers.enabled | Flag determining whether runtime watchers should start automatically. Does not affect diagnostic watchers (diagnosticHeartbeatWatcherConfig, diagnosticRuntimeMetricWatcherConfig, diagnosticFlushWatcherConfig) — those are always active. |
|
| Diagnostics | ||
| higson.runtime.diagnostic.profiler.enabled | Enables runtime profiling (call statistics collection for functions, flows, decision tables, and domain operations visible in the Diagnostic Panel). Enabling this property reduces runtime performance. Recommended for diagnostic purposes only — disable in production environments where performance is critical. | false |