Skip to main content

Configuration Reference

info

This reference is generated from the core server's configuration structs and pulled from jsonschema/api-docs.md at build time — it always reflects the current configuration surface. For how configuration loads and where secrets belong, see Config and Secrets.

object

Config contains the configuration for the core server

Properties

NameTypeDescriptionRequired
domainstringDomain provides a global domain value for other modules to inherit
refreshintervalintegerRefreshInterval determines how often to reload the config
serverobjectServer settings for the echo server
yes
entconfigobjectConfig holds the configuration for the ent server
authobjectAuth settings including oauth2 providers and token configuration
yes
authzobjectyes
dbobjectyes
jobqueueobject
redisobject
sessionsobject
totpobject
ratelimitobjectConfig defines the configuration settings for the rate limiter middleware.
ratelimitunmatchedobjectConfig defines the configuration settings for the rate limiter middleware.
objectstorageobjectProviderConfig contains configuration for object storage providers
subscriptionobject
keywatcherobjectKeyWatcher contains settings for the key watcher that manages JWT signing keys
integrationsobject
workflowsobject
cloudflareobjectCloudflareConfig contains configuration for Cloudflare integration.
shortlinksobject
backfillobjectBackfill configures one-time startup data backfill routines that populate fields introduced by recent

Additional Properties: not allowed 
Example

{
"server": {
"tls": {},
"cors": {
"prefixes": {}
},
"secure": {},
"cachecontrol": {
"nocacheheaders": {}
},
"mime": {},
"graphpool": {},
"csrfprotection": {}
},
"entconfig": {
"summarizer": {
"llm": {
"anthropic": {},
"cloudflare": {},
"openai": {}
}
},
"modules": {},
"emailvalidation": {
"allowedemailtypes": {}
},
"billing": {},
"notifications": {}
},
"auth": {
"token": {
"keys": {},
"redis": {
"config": {}
},
"apitokens": {
"keys": {}
}
},
"providers": {
"github": {},
"google": {},
"webauthn": {}
},
"supportaccess": {}
},
"authz": {
"credentials": {},
"parentcontextconditions": [
{
"context": {}
}
]
},
"db": {},
"jobqueue": {
"riverconf": {
"Logger": {},
"PeriodicJobs": [
{}
],
"Queues": {},
"Test": {},
"Workers": {}
},
"metrics": {}
},
"redis": {},
"sessions": {},
"totp": {},
"ratelimit": {
"options": [
{}
]
},
"ratelimitunmatched": {
"options": [
{}
]
},
"objectstorage": {
"providers": {
"s3": {
"backup": {},
"credentials": {}
},
"r2": {
"backup": {},
"credentials": {}
},
"gcs": {
"backup": {}
},
"disk": {
"backup": {}
},
"database": {
"backup": {}
}
}
},
"subscription": {
"stripewebhooksecrets": {}
},
"keywatcher": {},
"integrations": {
"awssecurityhub": {},
"cloudflareruntime": {
"domainscan": {}
},
"githubapp": {},
"slack": {},
"slackruntime": {},
"googledrive": {},
"googleworkspace": {},
"azureentraid": {},
"microsoftteams": {},
"onedrive": {},
"oidclocal": {},
"email": {
"resend": {},
"postmark": {}
},
"paymentreminder": {
"paymentmethodinterval": 30,
"deletiondays": 7,
"enabled": false,
"dryrun": true
},
"organizationdelete": {
"maxdeletesperrun": 25
},
"integrationlifecycle": {
"enabled": true,
"dryrun": true,
"maxperrun": 100
}
},
"workflows": {
"cel": {},
"gala": {}
},
"cloudflare": {},
"shortlinks": {},
"backfill": {}
}

 

$defs/config.Server: object​

Server settings for the echo server

Properties

NameTypeDescriptionRequired
devbooleanDev enables echo's dev mode options
no
listenstringListen sets the listen address to serve the echo server on
yes
metricsportstringMetricsPort sets the port for the metrics endpoint
no
shutdowngraceperiodintegerShutdownGracePeriod sets the grace period for in flight requests before shutting down
no
readtimeoutintegerReadTimeout sets the maximum duration for reading the entire request including the body
no
writetimeoutintegerWriteTimeout sets the maximum duration before timing out writes of the response
no
idletimeoutintegerIdleTimeout sets the maximum amount of time to wait for the next request when keep-alives are enabled
no
readheadertimeoutintegerReadHeaderTimeout sets the amount of time allowed to read request headers
no
tlsobjectTLS settings for the server for secure connections
corsobjectConfig holds the cors configuration settings
secureobjectConfig contains the types used in the mw middleware
cachecontrolobjectConfig is the config values for the cache-control middleware
mimeobjectConfig defines the config for Mime middleware
graphpoolobjectPoolConfig contains the settings for the goroutine pool
enablegraphextensionsbooleanEnableGraphExtensions enables the graph extensions for the graph resolvers
no
enablegraphsubscriptionsbooleanEnableGraphSubscriptions enables graphql subscriptions to the server using websockets or sse
no
complexitylimitintegerComplexityLimit sets the maximum complexity allowed for a query
no
maxresultlimitintegerMaxResultLimit sets the maximum number of results allowed for a query
no
csrfprotectionobjectConfig defines configuration for the CSRF middleware wrapper.
secretmanagerstringSecretManagerSecret is the name of the GCP Secret Manager secret containing the JWT signing key
no
defaulttrustcenterdomainstringDefaultTrustCenterDomain is the default domain to use for the trust center if no custom domain is set
no
trustcentercnametargetstringTrustCenterCnameTarget is the cname target for the trust center
Used for mapping the vanity domains to the trust centers
no
trustcenterpreviewzoneidstringTrustCenterPreviewZoneID is the cloudflare zone id that holds trust center preview domain records
no
notificationlookbackdaysintegerNotificationLookbackDays is the number of days of read notifications to pull when starting a notification subscription
Unread notifications are always pulled regardless of this setting
no

Additional Properties: not allowed 
Example

{
"tls": {},
"cors": {
"prefixes": {}
},
"secure": {},
"cachecontrol": {
"nocacheheaders": {}
},
"mime": {},
"graphpool": {},
"csrfprotection": {}
}

 

$defs/config.TLS: object​

TLS settings for the server for secure connections

Properties

NameTypeDescriptionRequired
enabledbooleanEnabled turns on TLS settings for the server
certfilestringCertFile location for the TLS server
certkeystringCertKey file location for the TLS server
autocertbooleanAutoCert generates the cert with letsencrypt, this does not work on localhost

Additional Properties: not allowed 
 

$defs/cors.Config: object​

Config holds the cors configuration settings

Properties

NameTypeDescriptionRequired
enabledbooleanEnable or disable the CORS middleware
prefixesobject
alloworiginsstring[]
cookieinsecurebooleanCookieInsecure sets the cookie to be insecure

Additional Properties: not allowed 
Example

{
"prefixes": {}
}

 

$defs/map[string][]string: object​

Additional Properties

NameTypeDescriptionRequired
Additional Propertiesstring[]

 

$defs/[]string: array​

Items

Item Type: string 
 

$defs/[]string: array​

Items

Item Type: string 
 

$defs/secure.Config: object​

Config contains the types used in the mw middleware

Properties

NameTypeDescriptionRequired
enabledbooleanEnabled indicates if the secure middleware should be enabled
xssprotectionstringXSSProtection is the value to set the X-XSS-Protection header to - default is 1; mode=block
contenttypenosniffstringContentTypeNosniff is the value to set the X-Content-Type-Options header to - default is nosniff
xframeoptionsstringXFrameOptions is the value to set the X-Frame-Options header to - default is SAMEORIGIN
hstspreloadenabledbooleanHSTSPreloadEnabled is a boolean to enable HSTS preloading - default is false
hstsmaxageintegerHSTSMaxAge is the max age to set the HSTS header to - default is 31536000
contentsecuritypolicystringContentSecurityPolicy is the value to set the Content-Security-Policy header to - default is default-src 'self'
referrerpolicystringReferrerPolicy is the value to set the Referrer-Policy header to - default is same-origin
cspreportonlybooleanCSPReportOnly is a boolean to enable the Content-Security-Policy-Report-Only header - default is false

Additional Properties: not allowed 
 

$defs/cachecontrol.Config: object​

Config is the config values for the cache-control middleware

Properties

NameTypeDescriptionRequired
enabledboolean
nocacheheadersobject
etagheadersstring[]

Additional Properties: not allowed 
Example

{
"nocacheheaders": {}
}

 

$defs/map[string]string: object​

Additional Properties

NameTypeDescriptionRequired
Additional Propertiesstring

 

$defs/[]string: array​

Items

Item Type: string 
 

$defs/mime.Config: object​

Config defines the config for Mime middleware

Properties

NameTypeDescriptionRequired
enabledbooleanEnabled indicates if the mime middleware should be enabled
mimetypesfilestringMimeTypesFile is the file to load mime types from
defaultcontenttypestringDefaultContentType is the default content type to set if no mime type is found

Additional Properties: not allowed 
 

$defs/config.PoolConfig: object​

PoolConfig contains the settings for the goroutine pool

Properties

NameTypeDescriptionRequired
maxworkersintegerMaxWorkers is the maximum number of workers in the pool

Additional Properties: not allowed 
 

$defs/csrf.Config: object​

Config defines configuration for the CSRF middleware wrapper.

Properties

NameTypeDescriptionRequired
enabledbooleanEnabled indicates whether CSRF protection is enabled.
headerstringHeader specifies the header name to look for the CSRF token.
cookiestringCookie specifies the cookie name used to store the CSRF token.
securebooleanSecure sets the Secure flag on the CSRF cookie.
samesitestringSameSite configures the SameSite attribute on the CSRF cookie. Valid
values are "Lax", "Strict", "None" and "Default".
cookiehttponlybooleanCookieHTTPOnly indicates whether the CSRF cookie is HTTP only.
cookiedomainstringCookieDomain specifies the domain for the CSRF cookie, default to no domain
cookiepathstringCookiePath specifies the path for the CSRF cookie, default to "/"

Additional Properties: not allowed 
 

$defs/entconfig.Config: object​

Config holds the configuration for the ent server

Properties

NameTypeDescriptionRequired
entitytypesstring[]
summarizerobjectConfig holds configuration for the text summarization functionality
maxpoolsizeintegerMaxPoolSize is the max worker pool size that can be used by the ent client
modulesobjectModules settings for features access
maxschemaimportsizeintegerMaxSchemaImportSize is the maximum size allowed for schema imports in bytes
emailvalidationobjectEmailVerificationConfig is the configuration for email verification
billingobjectBilling settings for feature access
notificationsobjectNotifications settings for notifications sent to users based on events
questionnaireproducturlstringQuestionnaireProductURL is the product URL used to build questionnaire access links

Additional Properties: not allowed 
Example

{
"summarizer": {
"llm": {
"anthropic": {},
"cloudflare": {},
"openai": {}
}
},
"modules": {},
"emailvalidation": {
"allowedemailtypes": {}
},
"billing": {},
"notifications": {}
}

 

$defs/[]string: array​

Items

Item Type: string 
 

$defs/summarizer.Config: object​

Config holds configuration for the text summarization functionality

Properties

NameTypeDescriptionRequired
typestringType specifies the summarization algorithm to use
llmobjectLLM contains configuration for multiple LLM providers
maximumsentencesintegerMaximumSentences specifies the maximum number of sentences in the summary

Additional Properties: not allowed 
Example

{
"llm": {
"anthropic": {},
"cloudflare": {},
"openai": {}
}
}

 

$defs/summarizer.LLM: object​

LLM contains configuration for multiple LLM providers

Properties

NameTypeDescriptionRequired
providerstringProvider specifies which LLM service to use
anthropicobjectAnthropicConfig contains Anthropic specific configuration
cloudflareobjectCloudflareConfig contains Cloudflare specific configuration
openaiobjectOpenAIConfig contains OpenAI specific configuration

Additional Properties: not allowed 
Example

{
"anthropic": {},
"cloudflare": {},
"openai": {}
}

 

$defs/summarizer.AnthropicConfig: object​

AnthropicConfig contains Anthropic specific configuration

Properties

NameTypeDescriptionRequired
betaheaderstringBetaHeader specifies the beta API features to enable
legacytextcompletionbooleanLegacyTextCompletion enables legacy text completion API
baseurlstringBaseURL specifies the API endpoint
modelstringModel specifies the model name to use
apikeystringAPIKey contains the authentication key for the service

Additional Properties: not allowed 
 

$defs/summarizer.CloudflareConfig: object​

CloudflareConfig contains Cloudflare specific configuration

Properties

NameTypeDescriptionRequired
modelstringModel specifies the model name to use
apikeystringAPIKey contains the authentication key for the service
accountidstringAccountID specifies the Cloudflare account ID
serverurlstringServerURL specifies the API endpoint

Additional Properties: not allowed 
 

$defs/summarizer.OpenAIConfig: object​

OpenAIConfig contains OpenAI specific configuration

Properties

NameTypeDescriptionRequired
modelstringModel specifies the model name to use
apikeystringAPIKey contains the authentication key for the service
urlstringURL specifies the API endpoint
organizationidstringOrganizationID specifies the OpenAI organization ID

Additional Properties: not allowed 
 

$defs/entconfig.Modules: object​

Modules settings for features access

Properties

NameTypeDescriptionRequired
enabledbooleanEnabled indicates whether to check and verify module access
usesandboxbooleanUseSandbox indicates whether to use the sandbox catalog for module access checks
devmodebooleanDevMode enables all modules for local development regardless of trial status

Additional Properties: not allowed 
 

$defs/validator.EmailVerificationConfig: object​

EmailVerificationConfig is the configuration for email verification

Properties

NameTypeDescriptionRequired
enabledbooleanEnabled indicates whether email verification is enabled
enableautoupdatedisposablebooleanEnableAutoUpdateDisposable indicates whether to automatically update disposable email addresses
enablegravatarcheckbooleanEnableGravatarCheck indicates whether to check for Gravatar existence
enablesmtpcheckbooleanEnableSMTPCheck indicates whether to check email by smtp
allowedemailtypesobjectAllowedEmailTypes defines the allowed email types for verification
blockeddomainsstring[]

Additional Properties: not allowed 
Example

{
"allowedemailtypes": {}
}

 

$defs/validator.AllowedEmailTypes: object​

AllowedEmailTypes defines the allowed email types for verification

Properties

NameTypeDescriptionRequired
disposablebooleanDisposable indicates whether disposable email addresses are allowed
freebooleanFree indicates whether free email addresses are allowed
rolebooleanRole indicates whether role-based email addresses are allowed

Additional Properties: not allowed 
 

$defs/[]string: array​

Items

Item Type: string 
 

$defs/entconfig.Billing: object​

Billing settings for feature access

Properties

NameTypeDescriptionRequired
requirepaymentmethodbooleanRequirePaymentMethod indicates whether to check if a payment method
exists for orgs before they can access some resource
bypassemaildomainsstring[]

Additional Properties: not allowed 
 

$defs/[]string: array​

Items

Item Type: string 
 

$defs/entconfig.Notifications: object​

Notifications settings for notifications sent to users based on events

Properties

NameTypeDescriptionRequired
consoleurlstringConsoleURL for ui links used in notifications

Additional Properties: not allowed 
 

$defs/config.Auth: object​

Auth settings including oauth2 providers and token configuration

Properties

NameTypeDescriptionRequired
enabledbooleanEnabled authentication on the server, not recommended to disable
no
tokenobjectyes
supportedprovidersstring[]
providersobjectOauthProviderConfig represents the configuration for OAuth providers such as Github and Google
supportaccessobjectSupportAccessConfig contains configuration for the Openlane support access flow. The support

Additional Properties: not allowed 
Example

{
"token": {
"keys": {},
"redis": {
"config": {}
},
"apitokens": {
"keys": {}
}
},
"providers": {
"github": {},
"google": {},
"webauthn": {}
},
"supportaccess": {}
}

 

$defs/tokens.Config: object​

Properties

NameTypeDescriptionRequired
kidstringyes
audiencestringyes
refreshaudiencestringno
issuerstringyes
accessdurationintegerno
refreshdurationintegerno
refreshoverlapintegerno
jwksendpointstringno
keysobject
generatekeysbooleanno
jwkscachettlintegerno
redisobject
apitokensobject
assessmentaccessdurationintegerno
trustcenterndarequestaccessdurationintegerno

Additional Properties: not allowed 
Example

{
"keys": {},
"redis": {
"config": {}
},
"apitokens": {
"keys": {}
}
}

 

$defs/map[string]string: object​

Additional Properties

NameTypeDescriptionRequired
Additional Propertiesstring

 

$defs/tokens.RedisConfig: object​

Properties

NameTypeDescriptionRequired
enabledboolean
configobject
blacklistprefixstring

Additional Properties: not allowed 
Example

{
"config": {}
}

 

$defs/cache.Config: object​

Properties

NameTypeDescriptionRequired
enabledboolean
addressstring
namestring
usernamestring
passwordstring
dbinteger
dialtimeoutinteger
readtimeoutinteger
writetimeoutinteger
maxretriesinteger
minidleconnsinteger
maxidleconnsinteger
maxactiveconnsinteger

Additional Properties: not allowed 
 

$defs/tokens.APITokenConfig: object​

Properties

NameTypeDescriptionRequired
enabledboolean
envprefixstring
keysobject
secretsizeinteger
delimiterstring
prefixstring

Additional Properties: not allowed 
Example

{
"keys": {}
}

 

$defs/map[string]tokens.APITokenKeyConfig: object​

Additional Properties

NameTypeDescriptionRequired
Additional Propertiesobject

 

$defs/tokens.APITokenKeyConfig: object​

Properties

NameTypeDescriptionRequired
secretstring
statusstring

Additional Properties: not allowed 
 

$defs/[]string: array​

Items

Item Type: string 
 

$defs/handlers.OauthProviderConfig: object​

OauthProviderConfig represents the configuration for OAuth providers such as Github and Google

Properties

NameTypeDescriptionRequired
redirecturlstringRedirectURL is the URL that the OAuth2 client will redirect to after authentication is complete
githubobjectyes
googleobjectyes
webauthnobjectyes

Additional Properties: not allowed 
Example

{
"github": {},
"google": {},
"webauthn": {}
}

 

$defs/github.ProviderConfig: object​

Properties

NameTypeDescriptionRequired
clientidstringyes
clientsecretstringyes
clientendpointstringno
scopesstring[]
redirecturlstringyes

Additional Properties: not allowed 
 

$defs/[]string: array​

Items

Item Type: string 
 

$defs/google.ProviderConfig: object​

Properties

NameTypeDescriptionRequired
clientidstringyes
clientsecretstringyes
clientendpointstringno
scopesstring[]
redirecturlstringyes

Additional Properties: not allowed 
 

$defs/[]string: array​

Items

Item Type: string 
 

$defs/webauthn.ProviderConfig: object​

Properties

NameTypeDescriptionRequired
enabledbooleanno
displaynamestringyes
relyingpartyidstringyes
requestoriginsstring[]
maxdevicesintegerno
enforcetimeoutbooleanno
timeoutintegerno
debugbooleanno

Additional Properties: not allowed 
 

$defs/[]string: array​

Items

Item Type: string 
 

$defs/handlers.SupportAccessConfig: object​

SupportAccessConfig contains configuration for the Openlane support access flow. The support identity is virtual and authenticated entirely from these values, never from the database. This is the single place that holds the support identity, its shared password, and the second factor identity provider configuration, since both authentications must occur together

Properties

NameTypeDescriptionRequired
enabledbooleanEnabled toggles the support access endpoints
emailstringEmail is the email of the virtual support identity, used as the first factor username
displaynamestringDisplayName is the display name of the virtual support identity, used for record attribution
subjectidstringSubjectID is the stable subject id of the virtual support identity used for created_by/updated_by
attribution. It must be a valid ULID and is consistent without a backing user row. Default should match auth.SupportSubjectID
passwordstringPassword is the shared password for the virtual support identity, validated against this value
clientidstringClientID is the client ID for the second factor identity provider
clientsecretstringClientSecret is the client secret for the second factor identity provider
issuerurlstringIssuerURL is the issuer URL of the second factor identity provider
discoveryendpointstringDiscoveryEndpoint is the optional OIDC discovery endpoint of the second factor identity provider
redirecturlstringRedirectURL is the callback URL registered with the second factor identity provider
alloweddomainstringAllowedDomain restricts which email domain may complete the second factor (e.g. theopenlane.io)

Additional Properties: not allowed 
 

$defs/fgax.Config: object​

Properties

NameTypeDescriptionRequired
enabledbooleanenables authorization checks with openFGA
no
storenamestringname of openFGA store
no
hosturlstringhost url with scheme of the openFGA API
yes
storeidstringid of openFGA store
no
modelidstringid of openFGA model
no
createnewmodelbooleanforce create a new model
no
modelfilestringpath to the fga model file
no
modulefilestringpath to the fga module file
no
credentialsobject
maxbatchwritesizeintegermaximum number of writes per batch in a transaction
no
enableparentcontextbooleandisables the automatic addition of parent context tuples
no
parentcontextskipkindsstring[]
parentcontextconditionsarray

Additional Properties: not allowed 
Example

{
"credentials": {},
"parentcontextconditions": [
{
"context": {}
}
]
}

 

$defs/fgax.Credentials: object​

Properties

NameTypeDescriptionRequired
apitokenstringapi token for the openFGA client
clientidstringclient id for the openFGA client
clientsecretstringclient secret for the openFGA client
audiencestringaudience for the openFGA client
issuerstringissuer for the openFGA client
scopesstringscopes for the openFGA client

Additional Properties: not allowed 
 

$defs/[]string: array​

Items

Item Type: string 
 

$defs/[]fgax.ParentContextConditionConfig: array​

Items

Example

[
{
"context": {}
}
]

 

$defs/entx.Config: object​

Properties

NameTypeDescriptionRequired
debugbooleandebug enables printing the debug database logs
no
databasenamestringthe name of the database to use with otel tracing
no
drivernamestringsql driver name
no
multiwritebooleanenables writing to two databases simultaneously
no
primarydbsourcestringdsn of the primary database
yes
secondarydbsourcestringdsn of the secondary database if multi-write is enabled
no
cachettlintegercache results for subsequent requests
no
runmigrationsbooleanrun migrations on startup
no
migrationproviderstringmigration provider to use for running migrations
no
enablehistorybooleanenable history data to be logged to the database
no
maxconnectionsintegermaximum number of connections to the database
no
maxidleconnectionsintegermaximum number of idle connections to the database
no

Additional Properties: not allowed 
 

$defs/riverqueue.Config: object​

Properties

NameTypeDescriptionRequired
connectionuristring
runmigrationsboolean
riverconfobject
metricsobject

Additional Properties: not allowed 
Example

{
"riverconf": {
"Logger": {},
"PeriodicJobs": [
{}
],
"Queues": {},
"Test": {},
"Workers": {}
},
"metrics": {}
}

 

$defs/river.Config: object​

Properties

NameTypeDescriptionRequired
AdvisoryLockPrefixinteger
CancelledJobRetentionPeriodinteger
CompletedJobRetentionPeriodinteger
DiscardedJobRetentionPeriodinteger
ErrorHandler
FetchCooldowninteger
FetchPollIntervalinteger
IDstring
JobCleanerTimeoutinteger
JobInsertMiddlewarearray
JobStuckHandler
JobStuckThresholdinteger
JobTimeoutinteger
Hooksarray
Loggerobject
MaxAttemptsinteger
Middlewarearray
Pluginsarray
PeriodicJobsarray
PollOnlyboolean
Queuesobject
ReindexerSchedule
ReindexerIndexNamesstring[]
ReindexerTimeoutinteger
RescueStuckJobsAfterinteger
RetryPolicy
Schemastring
SoftStopTimeoutinteger
SkipJobKindValidationboolean
SkipUnknownJobCheckboolean
Testobject
TestOnlyboolean
Workersobject
WorkerMiddlewarearray

Additional Properties: not allowed 
Example

{
"Logger": {},
"PeriodicJobs": [
{}
],
"Queues": {},
"Test": {},
"Workers": {}
}

 

$defs/[]rivertype.JobInsertMiddleware: array​

Items

 

$defs/[]rivertype.Hook: array​

Items

 

$defs/slog.Logger: object​

No properties.

Additional Properties: not allowed 
 

$defs/[]rivertype.Middleware: array​

Items

 

$defs/[]rivertype.Plugin: array​

Items

 

$defs/[]*river.PeriodicJob: array​

Items

Example

[
{}
]

 

$defs/map[string]river.QueueConfig: object​

Additional Properties

NameTypeDescriptionRequired
Additional Propertiesobject

 

$defs/river.QueueConfig: object​

Properties

NameTypeDescriptionRequired
FetchCooldowninteger
FetchPollIntervalinteger
MaxWorkersinteger

Additional Properties: not allowed 
 

$defs/[]string: array​

Items

Item Type: string 
 

$defs/river.TestConfig: object​

Properties

NameTypeDescriptionRequired
DisableUniqueEnforcementboolean
Time

Additional Properties: not allowed 
 

$defs/river.Workers: object​

No properties.

Additional Properties: not allowed 
 

$defs/[]rivertype.WorkerMiddleware: array​

Items

 

$defs/riverqueue.MetricsConfig: object​

Properties

NameTypeDescriptionRequired
enablemetricsboolean
metricsdurationunitstring
enablesemanticmetricsboolean

Additional Properties: not allowed 
 

$defs/cache.Config: object​

Properties

NameTypeDescriptionRequired
enabledboolean
addressstring
namestring
usernamestring
passwordstring
dbinteger
dialtimeoutinteger
readtimeoutinteger
writetimeoutinteger
maxretriesinteger
minidleconnsinteger
maxidleconnsinteger
maxactiveconnsinteger

Additional Properties: not allowed 
 

$defs/sessions.Config: object​

Properties

NameTypeDescriptionRequired
signingkeystring
encryptionkeystring
domainstring
maxageinteger
secureboolean
httponlyboolean
samesitestring

Additional Properties: not allowed 
 

$defs/totp.Config: object​

Properties

NameTypeDescriptionRequired
enabledboolean
codelengthinteger
issuerstring
redisboolean
secretstring
recoverycodecountinteger
recoverycodelengthinteger

Additional Properties: not allowed 
 

$defs/ratelimit.Config: object​

Config defines the configuration settings for the rate limiter middleware.

Properties

NameTypeDescriptionRequired
enabledboolean
optionsarray
headersstring[]
forwardedindexfrombehindintegerForwardedIndexFromBehind selects which IP from X-Forwarded-For should be used.
0 means the closest client, 1 the proxy behind it, etc.
includepathbooleanIncludePath appends the request path to the limiter key when true.
includemethodbooleanIncludeMethod appends the request method to the limiter key when true.
keyprefixstringKeyPrefix allows scoping the limiter key space with a static prefix.
denystatusintegerDenyStatus overrides the HTTP status code returned when a rate limit is exceeded.
denymessagestringDenyMessage customises the error payload when a rate limit is exceeded.
sendretryafterheaderbooleanSendRetryAfterHeader toggles whether the Retry-After header should be added when available.
dryrunbooleanDryRun enables logging rate limit decisions without blocking requests.

Additional Properties: not allowed 
Example

{
"options": [
{}
]
}

 

$defs/[]ratelimit.RateOption: array​

Items

Example

[
{}
]

 

$defs/[]string: array​

Items

Item Type: string 
 

$defs/storage.ProviderConfig: object​

ProviderConfig contains configuration for object storage providers

Properties

NameTypeDescriptionRequired
enabledbooleanEnabled indicates if object storage is enabled
keysstring[]
maxsizembintegerMaxSizeMB is the maximum file size allowed in MB
maxmemorymbintegerMaxMemoryMB is the maximum memory to use for file uploads in MB
devmodebooleanDevMode automatically configures a local disk storage provider (and ensures directories exist) and ignores other provider configs
providersobjectProviders contains the configuration for each storage provider

Additional Properties: not allowed 
Example

{
"providers": {
"s3": {
"backup": {},
"credentials": {}
},
"r2": {
"backup": {},
"credentials": {}
},
"gcs": {
"backup": {}
},
"disk": {
"backup": {}
},
"database": {
"backup": {}
}
}
}

 

$defs/[]string: array​

Items

Item Type: string 
 

$defs/storage.Providers: object​

Providers contains the configuration for each storage provider

Properties

NameTypeDescriptionRequired
s3objectS3Config configures the Amazon S3 provider
r2objectR2Config configures the Cloudflare R2 provider
gcsobjectGCSConfig configures the Google Cloud Storage provider
diskobjectDiskConfig configures the local filesystem provider
databaseobjectDatabaseConfig configures the provider that stores file bytes in the database

Additional Properties: not allowed 
Example

{
"s3": {
"backup": {},
"credentials": {}
},
"r2": {
"backup": {},
"credentials": {}
},
"gcs": {
"backup": {}
},
"disk": {
"backup": {}
},
"database": {
"backup": {}
}
}

 

$defs/storage.S3Config: object​

S3Config configures the Amazon S3 provider

Properties

NameTypeDescriptionRequired
enabledbooleanEnabled indicates if this provider is enabled
ensureavailablebooleanEnsureAvailable enforces provider availability before completing server startup
bucketstringBucket is the bucket name, or the directory path for the disk provider
backupobjectBackupConfig defines an asynchronous replication target for a provider's objects. It only
proxypresignenabledbooleanProxyPresignEnabled toggles proxy-signed download URL generation
baseurlstringBaseURL is the prefix for proxy download URLs (e.g., http://localhost:17608/v1/files)
regionstringRegion the bucket lives in
endpointstringEndpoint overrides the AWS endpoint for S3 compatible services
credentialsobjectAccessKeyCredentials is the access key pair used by S3 compatible providers

Additional Properties: not allowed 
Example

{
"backup": {},
"credentials": {}
}

 

$defs/storage.BackupConfig: object​

BackupConfig defines an asynchronous replication target for a provider's objects. It only names whether backups run and where they go; the destination provider's own configuration supplies the region, endpoint, and credentials

Properties

NameTypeDescriptionRequired
enabledbooleanEnabled indicates if this backup target is enabled
providerstringProvider names the destination backend type, e.g. s3; empty replicates to the source
provider itself, which writes the backup to the suffixed bucket alongside the live one
readfrombackupbooleanReadFromBackup serves reads from this backup target instead of the source provider, intended
to be enabled during a disaster recovery event when the source provider storage is lost
regionstringRegion optionally overrides the destination provider's region, so a backup can replicate
into a region other than the one holding the live objects

Additional Properties: not allowed 
 

$defs/storage.AccessKeyCredentials: object​

AccessKeyCredentials is the access key pair used by S3 compatible providers

Properties

NameTypeDescriptionRequired
accesskeyidstringAccessKeyID for the bucket
secretaccesskeystringSecretAccessKey for the bucket

Additional Properties: not allowed 
 

$defs/storage.R2Config: object​

R2Config configures the Cloudflare R2 provider

Properties

NameTypeDescriptionRequired
enabledbooleanEnabled indicates if this provider is enabled
ensureavailablebooleanEnsureAvailable enforces provider availability before completing server startup
bucketstringBucket is the bucket name, or the directory path for the disk provider
backupobjectBackupConfig defines an asynchronous replication target for a provider's objects. It only
proxypresignenabledbooleanProxyPresignEnabled toggles proxy-signed download URL generation
baseurlstringBaseURL is the prefix for proxy download URLs (e.g., http://localhost:17608/v1/files)
endpointstringEndpoint overrides the account endpoint derived from the account ID
credentialsobjectR2Credentials is the access key pair plus the Cloudflare account that owns the bucket

Additional Properties: not allowed 
Example

{
"backup": {},
"credentials": {}
}

 

$defs/storage.BackupConfig: object​

BackupConfig defines an asynchronous replication target for a provider's objects. It only names whether backups run and where they go; the destination provider's own configuration supplies the region, endpoint, and credentials

Properties

NameTypeDescriptionRequired
enabledbooleanEnabled indicates if this backup target is enabled
providerstringProvider names the destination backend type, e.g. s3; empty replicates to the source
provider itself, which writes the backup to the suffixed bucket alongside the live one
readfrombackupbooleanReadFromBackup serves reads from this backup target instead of the source provider, intended
to be enabled during a disaster recovery event when the source provider storage is lost
regionstringRegion optionally overrides the destination provider's region, so a backup can replicate
into a region other than the one holding the live objects

Additional Properties: not allowed 
 

$defs/storage.R2Credentials: object​

R2Credentials is the access key pair plus the Cloudflare account that owns the bucket

Properties

NameTypeDescriptionRequired
accesskeyidstringAccessKeyID for the bucket
secretaccesskeystringSecretAccessKey for the bucket
accountidstringAccountID for Cloudflare R2

Additional Properties: not allowed 
 

$defs/storage.GCSConfig: object​

GCSConfig configures the Google Cloud Storage provider

Properties

NameTypeDescriptionRequired
enabledbooleanEnabled indicates if this provider is enabled
ensureavailablebooleanEnsureAvailable enforces provider availability before completing server startup
bucketstringBucket is the bucket name, or the directory path for the disk provider
backupobjectBackupConfig defines an asynchronous replication target for a provider's objects. It only
proxypresignenabledbooleanProxyPresignEnabled toggles proxy-signed download URL generation
baseurlstringBaseURL is the prefix for proxy download URLs (e.g., http://localhost:17608/v1/files)
endpointstringEndpoint overrides the Google API endpoint, for an emulator
projectidstringProjectID is the Google Cloud project that owns the bucket

Additional Properties: not allowed 
Example

{
"backup": {}
}

 

$defs/storage.BackupConfig: object​

BackupConfig defines an asynchronous replication target for a provider's objects. It only names whether backups run and where they go; the destination provider's own configuration supplies the region, endpoint, and credentials

Properties

NameTypeDescriptionRequired
enabledbooleanEnabled indicates if this backup target is enabled
providerstringProvider names the destination backend type, e.g. s3; empty replicates to the source
provider itself, which writes the backup to the suffixed bucket alongside the live one
readfrombackupbooleanReadFromBackup serves reads from this backup target instead of the source provider, intended
to be enabled during a disaster recovery event when the source provider storage is lost
regionstringRegion optionally overrides the destination provider's region, so a backup can replicate
into a region other than the one holding the live objects

Additional Properties: not allowed 
 

$defs/storage.DiskConfig: object​

DiskConfig configures the local filesystem provider

Properties

NameTypeDescriptionRequired
enabledbooleanEnabled indicates if this provider is enabled
ensureavailablebooleanEnsureAvailable enforces provider availability before completing server startup
bucketstringBucket is the bucket name, or the directory path for the disk provider
backupobjectBackupConfig defines an asynchronous replication target for a provider's objects. It only
proxypresignenabledbooleanProxyPresignEnabled toggles proxy-signed download URL generation
baseurlstringBaseURL is the prefix for proxy download URLs (e.g., http://localhost:17608/v1/files)
endpointstringEndpoint is the URL files are served from when proxy presigning is disabled

Additional Properties: not allowed 
Example

{
"backup": {}
}

 

$defs/storage.BackupConfig: object​

BackupConfig defines an asynchronous replication target for a provider's objects. It only names whether backups run and where they go; the destination provider's own configuration supplies the region, endpoint, and credentials

Properties

NameTypeDescriptionRequired
enabledbooleanEnabled indicates if this backup target is enabled
providerstringProvider names the destination backend type, e.g. s3; empty replicates to the source
provider itself, which writes the backup to the suffixed bucket alongside the live one
readfrombackupbooleanReadFromBackup serves reads from this backup target instead of the source provider, intended
to be enabled during a disaster recovery event when the source provider storage is lost
regionstringRegion optionally overrides the destination provider's region, so a backup can replicate
into a region other than the one holding the live objects

Additional Properties: not allowed 
 

$defs/storage.DatabaseConfig: object​

DatabaseConfig configures the provider that stores file bytes in the database

Properties

NameTypeDescriptionRequired
enabledbooleanEnabled indicates if this provider is enabled
ensureavailablebooleanEnsureAvailable enforces provider availability before completing server startup
bucketstringBucket is the bucket name, or the directory path for the disk provider
backupobjectBackupConfig defines an asynchronous replication target for a provider's objects. It only
baseurlstringBaseURL is the prefix for proxy download URLs (e.g., http://localhost:17608/v1/files)

Additional Properties: not allowed 
Example

{
"backup": {}
}

 

$defs/storage.BackupConfig: object​

BackupConfig defines an asynchronous replication target for a provider's objects. It only names whether backups run and where they go; the destination provider's own configuration supplies the region, endpoint, and credentials

Properties

NameTypeDescriptionRequired
enabledbooleanEnabled indicates if this backup target is enabled
providerstringProvider names the destination backend type, e.g. s3; empty replicates to the source
provider itself, which writes the backup to the suffixed bucket alongside the live one
readfrombackupbooleanReadFromBackup serves reads from this backup target instead of the source provider, intended
to be enabled during a disaster recovery event when the source provider storage is lost
regionstringRegion optionally overrides the destination provider's region, so a backup can replicate
into a region other than the one holding the live objects

Additional Properties: not allowed 
 

$defs/entitlements.Config: object​

Properties

NameTypeDescriptionRequired
enabledbooleanEnabled determines if the entitlements service is enabled
privatestripekeystringPrivateStripeKey is the key for the stripe service
stripewebhooksecretstringStripeWebhookSecret is the secret for the stripe service (legacy, use StripeWebhookSecrets for version-specific secrets)
stripewebhooksecretsobject
stripewebhookurlstringStripeWebhookURL is the URL for the stripe webhook
stripebillingportalsuccessurlstringStripeBillingPortalSuccessURL
stripecancellationreturnurlstringStripeCancellationReturnURL is the URL for the stripe cancellation return
stripewebhookeventsstring[]
stripewebhookapiversionstringStripeWebhookAPIVersion is the Stripe API version currently accepted by the webhook handler
stripewebhookdiscardapiversionstringStripeWebhookDiscardAPIVersion is the Stripe API version to discard during migration

Additional Properties: not allowed 
Example

{
"stripewebhooksecrets": {}
}

 

$defs/map[string]string: object​

Additional Properties

NameTypeDescriptionRequired
Additional Propertiesstring

 

$defs/[]string: array​

Items

Item Type: string 
 

$defs/config.KeyWatcher: object​

KeyWatcher contains settings for the key watcher that manages JWT signing keys

Properties

NameTypeDescriptionRequired
enabledbooleanEnabled indicates whether the key watcher is enabled
keydirstringKeyDir is the path to the directory containing PEM keys for JWT signing

Additional Properties: not allowed 
 

$defs/catalog.Config: object​

Properties

NameTypeDescriptionRequired
consoleintegrationpathstring
awssecurityhubobject
cloudflareruntimeobject
githubappobject
slackobject
slackruntimeobject
googledriveobject
googleworkspaceobject
azureentraidobject
microsoftteamsobject
onedriveobject
oidclocalobject
emailobjectyes
paymentreminderobject
organizationdeleteobject
integrationlifecycleobject

Additional Properties: not allowed 
Example

{
"awssecurityhub": {},
"cloudflareruntime": {
"domainscan": {}
},
"githubapp": {},
"slack": {},
"slackruntime": {},
"googledrive": {},
"googleworkspace": {},
"azureentraid": {},
"microsoftteams": {},
"onedrive": {},
"oidclocal": {},
"email": {
"resend": {},
"postmark": {}
},
"paymentreminder": {
"paymentmethodinterval": 30,
"deletiondays": 7,
"enabled": false,
"dryrun": true
},
"organizationdelete": {
"maxdeletesperrun": 25
},
"integrationlifecycle": {
"enabled": true,
"dryrun": true,
"maxperrun": 100
}
}

 

$defs/awssecurityhub.Config: object​

Properties

NameTypeDescriptionRequired
accesskeyidstring
secretaccesskeystring
arnstring

Additional Properties: not allowed 
 

$defs/cloudflare.RuntimeConfig: object​

Properties

NameTypeDescriptionRequired
apitokenstringCloudflare API token for the operator-owned account
accountidstringCloudflare account ID for the operator-owned account
domainscanobject

Additional Properties: not allowed 
Example

{
"domainscan": {}
}

 

$defs/domainscan.ReportConfig: object​

Properties

NameTypeDescriptionRequired
bulkscanboolean
nonvendorcategoriesstring[]
deniedvendornamesstring[]
scanttlinteger

Additional Properties: not allowed 
 

$defs/[]string: array​

Items

Item Type: string 
 

$defs/githubapp.Config: object​

Properties

NameTypeDescriptionRequired
appidstring
privatekeystring
webhooksecretstring
appslugstring

Additional Properties: not allowed 
 

$defs/slack.Config: object​

Properties

NameTypeDescriptionRequired
clientidstring
clientsecretstring
redirecturlstring
appidstring

Additional Properties: not allowed 
 

$defs/slack.RuntimeSlackConfig: object​

Properties

NameTypeDescriptionRequired
webhookURLstringSlack incoming webhook URL for fire-and-forget system notifications
botTokenstringBot User OAuth Token for full Web API access to the platform workspace
defaultChannelstringDefault channel id for system messages when no explicit channel is provided

Additional Properties: not allowed 
 

$defs/googledrive.Config: object​

Properties

NameTypeDescriptionRequired
clientidstring
clientsecretstring
redirecturlstring

Additional Properties: not allowed 
 

$defs/googleworkspace.Config: object​

Properties

NameTypeDescriptionRequired
clientidstring
clientsecretstring
redirecturlstring

Additional Properties: not allowed 
 

$defs/azureentraid.Config: object​

Properties

NameTypeDescriptionRequired
clientidstring
clientsecretstring
redirecturlstring
defaulttenantstring
applicationidstring

Additional Properties: not allowed 
 

$defs/microsoftteams.Config: object​

Properties

NameTypeDescriptionRequired
clientidstring
clientsecretstring
redirecturlstring
applicationidstring

Additional Properties: not allowed 
 

$defs/onedrive.Config: object​

Properties

NameTypeDescriptionRequired
clientidstring
clientsecretstring
redirecturlstring
contentmodestring
applicationidstring

Additional Properties: not allowed 
 

$defs/oidclocal.Config: object​

Properties

NameTypeDescriptionRequired
enabledboolean
clientidstring
clientsecretstring
discoveryurlstring
redirecturlstring

Additional Properties: not allowed 
 

$defs/email.RuntimeEmailConfig: object​

Properties

NameTypeDescriptionRequired
testdirstringDirectory for dev-mode email output
no
providerstringEmail service provider
Enum: "resend", "postmark"
yes
resendobjectyes
postmarkobjectyes
fromemailstringSender email address
yes
supportemailstringSupport contact email address
no
questionnaireemailstringSender override for questionnaire auth emails
no
rooturlstringRoot application URL used to construct email action links
no
producturlstringProduct home URL
no
docsurlstringDocumentation URL
no
apiurlstringPublic base URL of the API for email links that hit the API directly
no
CompanyNamestringCompany display name
no
CompanyAddressstringCompany mailing address
no
CorporationstringLegal corporation name
no
LogoURLstringHero logo URL displayed in the email body
no
HeaderLogoURLstringSmall logo or icon displayed in the top header bar
no
CopyrightstringCopyright override for email footers; when empty the template renders a dynamic notice from Corporation and the current year
no
TroubleTextstringFallback help text shown below action buttons; {ACTION} is replaced with the button text at render time
no
TermsURLstringTerms of service link for email footers
no
PrivacyURLstringPrivacy policy link for email footers
no
UnsubscribeURLstringUnsubscribe link override for email footers; when empty the template constructs one from ProductURL and the recipient email
no
HeaderTextstringText displayed in the upper-right corner of the modern theme header
no
CardStylestringCard visual style
Enum: "flat", "elevated"
no
BodyBackgroundColorstringOuter page background color
no
CardBackgroundColorstringCard container background color
no
HeroBackgroundColorstringHero banner section background color
no
ButtonColorstringCall-to-action button background color
no
ButtonTextColorstringCall-to-action button text color
no
HeadingColorstringHeading and title text color
no
TextColorstringBody paragraph text color
no
FooterTextColorstringMuted text color for headers footers and secondary content
no
AccentBorderColorstringDecorative accent color applied to borders only
no
TaglinestringShort descriptive footer line rendered above the social row in modern themes
no

Additional Properties: not allowed 
Example

{
"resend": {},
"postmark": {}
}

 

$defs/email.ResendConfig: object​

Properties

NameTypeDescriptionRequired
apikeystringResend API key
yes
webhooksecretstringResend webhook signing secret
no

Additional Properties: not allowed 
 

$defs/email.PostmarkConfig: object​

Properties

NameTypeDescriptionRequired
servertokenstringPostmark server API token
yes
messagestreamstringPostmark message stream ID (defaults to outbound)
no
trackopensbooleanEnable Postmark open tracking
no
tracklinksstringPostmark link tracking mode
Enum: "None", "HtmlAndText", "HtmlOnly", "TextOnly"
no
webhooksecretstringPostmark webhook basic auth password
no

Additional Properties: not allowed 
 

$defs/system.PaymentReminderConfig: object​

Properties

NameTypeDescriptionRequired
paymentmethodintervalintegerDays after org creation before marking for deletion
Default: 30
deletiondaysintegerDays between marking and actual deletion
Default: 7
enabledbooleanWhether the payment reminder listener is enabled
Default: false
dryrunbooleanIf true only log organization IDs that would be processed
Default: true

Additional Properties: not allowed 
Example

{
"paymentmethodinterval": 30,
"deletiondays": 7,
"enabled": false,
"dryrun": true
}

 

$defs/system.OrganizationDeleteConfig: object​

Properties

NameTypeDescriptionRequired
maxdeletesperrunintegerMaximum overdue organizations to delete per run
Default: 25
enabledbooleanWhether the organization deletion listener is enabled

Additional Properties: not allowed 
Example

{
"maxdeletesperrun": 25
}

 

$defs/system.IntegrationLifecycleConfig: object​

Properties

NameTypeDescriptionRequired
enabledbooleanWhether the integration lifecycle sweep is enabled
Default: true
dryrunbooleanIf true only log integration IDs and actions that would be dispatched
Default: true
maxperrunintegerMaximum integrations to evaluate per run
Default: 100

Additional Properties: not allowed 
Example

{
"enabled": true,
"dryrun": true,
"maxperrun": 100
}

 

$defs/workflows.Config: object​

Properties

NameTypeDescriptionRequired
enabledboolean
celobject
galaobject
webhookallowprivateaddressesboolean

Additional Properties: not allowed 
Example

{
"cel": {},
"gala": {}
}

 

$defs/workflows.CELConfig: object​

Properties

NameTypeDescriptionRequired
timeoutinteger
costlimitinteger
interruptcheckfrequencyinteger
parserrecursionlimitinteger
parserexpressionsizelimitinteger
comprehensionnestinglimitinteger
extendedvalidationsboolean
optionaltypesboolean
identifierescapesyntaxboolean
crosstypenumericcomparisonsboolean
macrocalltrackingboolean
evaloptimizeboolean
trackstateboolean

Additional Properties: not allowed 
 

$defs/workflows.GalaConfig: object​

Properties

NameTypeDescriptionRequired
enabledboolean
workercountinteger
maxretriesinteger
failonenqueueerrorboolean
queuenamestring

Additional Properties: not allowed 
 

$defs/handlers.CloudflareConfig: object​

CloudflareConfig contains configuration for Cloudflare integration.

Properties

NameTypeDescriptionRequired
enabledbooleanEnabled toggles the Cloudflare snapshot handler
apitokenstringAPIToken is the API token used for Cloudflare client initialization
accountidstringAccountID is the Cloudflare account ID to use for snapshot operations
clientidstringClientID is the Cloudflare Access client ID for shortlink API requests
clientsecretstringClientSecret is the Cloudflare Access client secret for shortlink API requests

Additional Properties: not allowed 
 

$defs/shortlinks.Config: object​

Properties

NameTypeDescriptionRequired
enabledboolean
clientidstring
clientsecretstring
endpointurlstring
linkttlinteger

Additional Properties: not allowed 
 

$defs/config.Backfill: object​

Backfill configures one-time startup data backfill routines that populate fields introduced by recent migrations for organizations and memberships that pre-date them

Properties

NameTypeDescriptionRequired
enabledbooleanEnabled runs the backfill routines on server startup, this only setups up the main job, all configured backfills will run based on their settings

Additional Properties: not allowed