Properties in Higson

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
  studio-api:
    image: decerto/higson:4.2.0
    container_name: higson-studio-api
    ports:
      - "48282:8282"
    volumes:
      - ./application.yml:/application.yml  # << here properties are passed from host in yaml file
    environment:
      - "HIGSON_DATABASE_URL=jdbc:postgresql..." # << this section let us define environment properties which has precedence over the yaml file.
      - "HIGSON_DATABASE_USERNAME=higson"
      - "HIGSON_DATABASE_PASSWORD=higson"
      - "HIGSON_DATABASE_DIALECT=postgresql" 

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
MCP
higson.studio.mcp.enabled Enables the MCP server. When set to false, the MCP endpoint is not exposed. false
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