Instance Properties
Instance properties configure the runtime behavior of this microservice per tenant instance. Schemas are defined in the
instance_attributesMongoDB collection (instanceId:"-1"= platform-wide defaults). Managed via Webbox migrations only — never modified directly via API.
Source:webbox/v1.0.1/migration files +src/domain/validator/userExtensions.tsInstancePropertiesinterface.
| # | Key | Type | Default | Description |
|---|---|---|---|---|
| 1 | auth |
STRING | "default" |
Login strategy for the instance. default — credential-based; facebook — Facebook OAuth; google — Google OAuth |
| 2 | searchEnabled |
BOOLEAN | false |
true — indexes users in Typesense for full-text search; false — no search indexing, MongoDB lookup only |
| 3 | minUsernameLength |
STRING | "3" |
Minimum chars required for a valid username; enforced at registration and profile update |
| 4 | list |
OBJECT | {} |
Controls wish-list / save-for-later behavior; empty {} disables list features |
| 5 | pluginConfig |
OBJECT | {} |
Plugin configuration (IAM connectors, SSO, validators, notification mappings). See pluginConfig. |
| 6 | idpConfig |
OBJECT | {} |
External IdP settings for federated login; empty {} disables IdP-based authentication |
| 7 | allowedIdentities |
ARRAY | ["email","phone","username"] |
Identity types accepted for registration; requests using unlisted types are rejected |
| 8 | allowedUpdates |
ARRAY | ["email","phone","username"] |
Identity fields users can modify post-registration; unlisted fields are read-only |
| 9 | defaultGroupName |
STRING | "" |
IAM group automatically assigned on user creation; empty "" skips group assignment |
| 10 | isUserMergeEnabled |
BOOLEAN | true |
true — guest session merges into registered account on login; false — guest and registered sessions remain separate |
| 11 | enableBlacklistValidation |
BOOLEAN | false |
true — rejects user creation if identity matches the GLOBAL blacklist; false — global blacklist not enforced |
| 12 | enableInstanceBlacklistValidation |
BOOLEAN | false |
true — rejects user creation if identity matches the instance-scoped blacklist; false — instance blacklist not enforced |
| 13 | maxUsernameLength |
STRING | "255" |
Maximum chars allowed for a username; enforced at registration and profile update |
| 14 | excludedProviderList |
ARRAY | [] |
OAuth providers blocked from login; takes precedence over allowedProviderList; empty [] blocks none |
| 15 | allowedProviderList |
ARRAY | [] |
Explicit whitelist of OAuth providers for login; empty [] allows all configured providers |
| 16 | userAddressLimit |
NUMBER | 10 |
Max shipping/billing addresses a user can store; address creation fails once limit is reached |
| 17 | defaultLocale |
STRING | "en" |
Locale applied to messages and content when no user preference is set (e.g., en_US, fr_FR) |
| 18 | guestUserExpiryInMins |
NUMBER | 1440 |
Minutes before a guest user record expires and is purged; default 1440 = 24 hours |
| 19 | guestUserPrivilege |
STRING | "guest" |
Privilege level assigned to unauthenticated/guest users; determines their accessible operations |
| 20 | storeId |
STRING | "" |
Legacy store identifier retained for backward compatibility; empty "" if not in use |
| 21 | paymentAppId |
STRING | "" |
App ID used to scope payment tokens to this instance; empty "" disables payment-app association |
| 22 | providerConfig |
OBJECT | {} |
Per-provider payment gateway settings (keys, endpoints); empty {} uses platform defaults |
| 23 | allowedCardBrands |
ARRAY | [] |
Card brands accepted for payment (e.g., visa, mastercard); empty [] allows all brands |
| 24 | allowedPaymentTypes |
ARRAY | [] |
Payment method types accepted (e.g., card, wallet); empty [] allows all types |
| 25 | maxPaymentMethods |
NUMBER | 10 |
Max payment methods a user can save; addition fails once limit is reached |
| 26 | siteUrl |
STRING | — | Public URL of the tenant storefront; used in email links and OAuth redirects |
| 27 | identifierType |
STRING | — | Primary identity field used for login and lookup; one of email, phone, or username |
| 28 | emailConfirmationRequired |
BOOLEAN | false |
true — account access blocked until email is verified; false — account active immediately after self-registration |
| 29 | userActivationMethod |
STRING | — | LINK — sends a clickable email URL to activate account; OTP — sends a one-time code |
| 30 | otpMaxResendLimit |
NUMBER | — | Times a user can request a new OTP before the session is locked |
| 31 | otpMaxFailLimit |
NUMBER | — | Failed OTP entries allowed before the verification session is invalidated |
| 32 | userLimit |
NUMBER | — | Hard cap on total registered users for the instance; user creation fails when reached |
| 33 | passwordMinLength |
NUMBER | — | Minimum chars required for a valid password; enforced at registration and password change |
| 34 | passwordMaxLength |
NUMBER | — | Maximum chars allowed for a password; enforced at registration and password change |
| 35 | emailVerificationTokenTtlHours |
NUMBER | 24 |
Hours before an email verification link expires and must be re-requested |
| 36 | activationTokenTtlHours |
NUMBER | 48 |
Hours before an invite/activation link expires and must be re-sent |
pluginConfig SSO Sub-Keys
| Sub-key | Description |
|---|---|
pluginConfig.cognito.enabled |
true — activates AWS Cognito Hosted UI for authentication; false — Cognito login disabled |
pluginConfig.cognito.userPoolId |
Cognito User Pool ID |
pluginConfig.cognito.clientId |
Cognito App Client ID |
pluginConfig.cognito.clientSecret |
Cognito App Client Secret |
pluginConfig.cognito.region |
AWS region where the Cognito User Pool is hosted (e.g., us-east-1) |
pluginConfig.cognito.domain |
Cognito Hosted UI domain |
pluginConfig.cognito.redirectUri |
URI registered in Cognito that receives the authorization code after login |
pluginConfig.oidc.enabled |
true — activates OIDC/OAuth2 login flow; false — OIDC provider disabled |
pluginConfig.oidc.issuer |
OIDC issuer URL |
pluginConfig.oidc.clientId |
OIDC client ID |
pluginConfig.oidc.clientSecret |
OIDC client secret |
pluginConfig.oidc.redirectUri |
OIDC callback URL |
pluginConfig.oidc.authorizationEndpoint |
Authorization endpoint |
pluginConfig.oidc.tokenEndpoint |
Token endpoint |
pluginConfig.oidc.userInfoEndpoint |
UserInfo endpoint |
pluginConfig.oidc.jwksUri |
JWKS URI for token validation |
pluginConfig.saml.enabled |
true — activates SAML 2.0 SSO login; false — SAML provider disabled |
pluginConfig.saml.entryPoint |
IdP URL the SP redirects to for SAML authentication initiation |
pluginConfig.saml.issuer |
SP entity ID |
pluginConfig.saml.cert |
IdP certificate (PEM) |
pluginConfig.saml.callbackUrl |
SP ACS (callback) URL |
pluginConfig.saml.signatureAlgorithm |
Signature algorithm (e.g., sha256) |
pluginConfig.tokenExpirationHours |
SSO JWT token expiry (default: 24 hours) |
pluginConfig.lifecycle.preHandlers |
Plugin hooks executed before user lifecycle events (create, update, delete) |
pluginConfig.lifecycle.postHandlers |
Plugin hooks executed after user lifecycle events (create, update, delete) |
Revision History
2026-08-04 | JP – Created the page and added the content.