AppSettingsManager
Application Settings Manager
Manages high-level application settings with a structured API. Provides type-safe access to authentication, features, email, and security settings.
Example
Section titled “Example”const settings = client.admin.settings.app
// Get all app settingsconst appSettings = await settings.get()console.log(appSettings.authentication.enable_signup)
// Update specific settingsconst updated = await settings.update({ authentication: { enable_signup: true, password_min_length: 12 }})
// Reset to defaultsawait settings.reset()Constructors
Section titled “Constructors”new AppSettingsManager()
Section titled “new AppSettingsManager()”new AppSettingsManager(
fetch):AppSettingsManager
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
fetch | FluxbaseFetch |
Returns
Section titled “Returns”Methods
Section titled “Methods”configureMailgun()
Section titled “configureMailgun()”configureMailgun(
apiKey,domain,options?):Promise<AppSettings>
Configure Mailgun email provider
Convenience method to set up Mailgun email delivery.
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
apiKey | string | Mailgun API key |
domain | string | Mailgun domain |
options? | object | Optional EU region flag and email addresses |
options.eu_region? | boolean | - |
options.from_address? | string | - |
options.from_name? | string | - |
options.reply_to_address? | string | - |
Returns
Section titled “Returns”Promise<AppSettings>
Promise resolving to AppSettings
Example
Section titled “Example”await client.admin.settings.app.configureMailgun('key-xxx', 'mg.yourapp.com', { eu_region: false, from_address: 'noreply@yourapp.com', from_name: 'Your App'})configureSendGrid()
Section titled “configureSendGrid()”configureSendGrid(
apiKey,options?):Promise<AppSettings>
Configure SendGrid email provider
Convenience method to set up SendGrid email delivery.
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
apiKey | string | SendGrid API key |
options? | object | Optional from address, name, and reply-to |
options.from_address? | string | - |
options.from_name? | string | - |
options.reply_to_address? | string | - |
Returns
Section titled “Returns”Promise<AppSettings>
Promise resolving to AppSettings
Example
Section titled “Example”await client.admin.settings.app.configureSendGrid('SG.xxx', { from_address: 'noreply@yourapp.com', from_name: 'Your App'})configureSES()
Section titled “configureSES()”configureSES(
accessKeyId,secretAccessKey,region,options?):Promise<AppSettings>
Configure AWS SES email provider
Convenience method to set up AWS SES email delivery.
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
accessKeyId | string | AWS access key ID |
secretAccessKey | string | AWS secret access key |
region | string | AWS region (e.g., ‘us-east-1’) |
options? | object | Optional email addresses |
options.from_address? | string | - |
options.from_name? | string | - |
options.reply_to_address? | string | - |
Returns
Section titled “Returns”Promise<AppSettings>
Promise resolving to AppSettings
Example
Section titled “Example”await client.admin.settings.app.configureSES( 'AKIAIOSFODNN7EXAMPLE', 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY', 'us-east-1', { from_address: 'noreply@yourapp.com', from_name: 'Your App' })configureSMTP()
Section titled “configureSMTP()”configureSMTP(
config):Promise<AppSettings>
Configure SMTP email provider
Convenience method to set up SMTP email delivery.
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
config | object | SMTP configuration |
config.from_address? | string | - |
config.from_name? | string | - |
config.host | string | - |
config.password | string | - |
config.port | number | - |
config.reply_to_address? | string | - |
config.use_tls | boolean | - |
config.username | string | - |
Returns
Section titled “Returns”Promise<AppSettings>
Promise resolving to AppSettings
Example
Section titled “Example”await client.admin.settings.app.configureSMTP({ host: 'smtp.gmail.com', port: 587, username: 'your-email@gmail.com', password: 'your-app-password', use_tls: true, from_address: 'noreply@yourapp.com', from_name: 'Your App'})deleteSetting()
Section titled “deleteSetting()”deleteSetting(
key):Promise<void>
Delete a custom setting
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
key | string | Setting key to delete |
Returns
Section titled “Returns”Promise<void>
Promise
Example
Section titled “Example”await client.admin.settings.app.deleteSetting('billing.tiers')disableSignup()
Section titled “disableSignup()”disableSignup():
Promise<AppSettings>
Disable user signup
Convenience method to disable user registration.
Returns
Section titled “Returns”Promise<AppSettings>
Promise resolving to AppSettings
Example
Section titled “Example”await client.admin.settings.app.disableSignup()enableSignup()
Section titled “enableSignup()”enableSignup():
Promise<AppSettings>
Enable user signup
Convenience method to enable user registration.
Returns
Section titled “Returns”Promise<AppSettings>
Promise resolving to AppSettings
Example
Section titled “Example”await client.admin.settings.app.enableSignup()get():
Promise<AppSettings>
Get all application settings
Returns structured settings for authentication, features, email, and security.
Returns
Section titled “Returns”Promise<AppSettings>
Promise resolving to AppSettings
Example
Section titled “Example”const settings = await client.admin.settings.app.get()
console.log('Signup enabled:', settings.authentication.enable_signup)console.log('Realtime enabled:', settings.features.enable_realtime)console.log('Email provider:', settings.email.provider)getSetting()
Section titled “getSetting()”getSetting(
key):Promise<any>
Get a specific custom setting’s value only (without metadata)
Convenience method that returns just the value field instead of the full CustomSetting object.
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
key | string | Setting key (e.g., ‘billing.tiers’, ‘features.beta_enabled’) |
Returns
Section titled “Returns”Promise<any>
Promise resolving to the setting’s value
Example
Section titled “Example”const tiers = await client.admin.settings.app.getSetting('billing.tiers')console.log(tiers) // { free: 1000, pro: 10000, enterprise: 100000 }getSettings()
Section titled “getSettings()”getSettings(
keys):Promise<Record<string,any>>
Get multiple custom settings’ values by keys
Fetches multiple settings in a single request and returns only their values.
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
keys | string[] | Array of setting keys to fetch |
Returns
Section titled “Returns”Promise<Record<string, any>>
Promise resolving to object mapping keys to values
Example
Section titled “Example”const values = await client.admin.settings.app.getSettings([ 'billing.tiers', 'features.beta_enabled'])console.log(values)// {// 'billing.tiers': { free: 1000, pro: 10000 },// 'features.beta_enabled': { enabled: true }// }listSettings()
Section titled “listSettings()”listSettings():
Promise<CustomSetting[]>
List all custom settings
Returns
Section titled “Returns”Promise<CustomSetting[]>
Promise resolving to array of CustomSetting objects
Example
Section titled “Example”const settings = await client.admin.settings.app.listSettings()settings.forEach(s => console.log(s.key, s.value))reset()
Section titled “reset()”reset():
Promise<AppSettings>
Reset all application settings to defaults
This will delete all custom settings and return to default values.
Returns
Section titled “Returns”Promise<AppSettings>
Promise resolving to AppSettings - Default settings
Example
Section titled “Example”const defaults = await client.admin.settings.app.reset()console.log('Settings reset to defaults:', defaults)setEmailEnabled()
Section titled “setEmailEnabled()”setEmailEnabled(
enabled):Promise<AppSettings>
Enable or disable email functionality
Convenience method to toggle email system on/off.
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
enabled | boolean | Whether to enable email |
Returns
Section titled “Returns”Promise<AppSettings>
Promise resolving to AppSettings
Example
Section titled “Example”await client.admin.settings.app.setEmailEnabled(true)setEmailVerificationRequired()
Section titled “setEmailVerificationRequired()”setEmailVerificationRequired(
required):Promise<AppSettings>
Enable or disable email verification requirement
Convenience method to require email verification for new signups.
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
required | boolean | Whether to require email verification |
Returns
Section titled “Returns”Promise<AppSettings>
Promise resolving to AppSettings
Example
Section titled “Example”await client.admin.settings.app.setEmailVerificationRequired(true)setFeature()
Section titled “setFeature()”setFeature(
feature,enabled):Promise<AppSettings>
Enable or disable a feature
Convenience method to toggle feature flags.
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
feature | "functions" | "realtime" | "storage" | Feature name (‘realtime' |
enabled | boolean | Whether to enable or disable the feature |
Returns
Section titled “Returns”Promise<AppSettings>
Promise resolving to AppSettings
Example
Section titled “Example”// Enable realtimeawait client.admin.settings.app.setFeature('realtime', true)
// Disable storageawait client.admin.settings.app.setFeature('storage', false)setPasswordComplexity()
Section titled “setPasswordComplexity()”setPasswordComplexity(
requirements):Promise<AppSettings>
Configure password complexity requirements
Convenience method to set password validation rules.
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
requirements | object | Password complexity requirements |
requirements.min_length? | number | - |
requirements.require_lowercase? | boolean | - |
requirements.require_number? | boolean | - |
requirements.require_special? | boolean | - |
requirements.require_uppercase? | boolean | - |
Returns
Section titled “Returns”Promise<AppSettings>
Promise resolving to AppSettings
Example
Section titled “Example”await client.admin.settings.app.setPasswordComplexity({ min_length: 12, require_uppercase: true, require_lowercase: true, require_number: true, require_special: true})setPasswordMinLength()
Section titled “setPasswordMinLength()”setPasswordMinLength(
length):Promise<AppSettings>
Update password minimum length
Convenience method to set password requirements.
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
length | number | Minimum password length (8-128 characters) |
Returns
Section titled “Returns”Promise<AppSettings>
Promise resolving to AppSettings
Example
Section titled “Example”await client.admin.settings.app.setPasswordMinLength(12)setRateLimiting()
Section titled “setRateLimiting()”setRateLimiting(
enabled):Promise<AppSettings>
Enable or disable global rate limiting
Convenience method to toggle global rate limiting.
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
enabled | boolean | Whether to enable rate limiting |
Returns
Section titled “Returns”Promise<AppSettings>
Promise resolving to AppSettings
Example
Section titled “Example”await client.admin.settings.app.setRateLimiting(true)setSessionSettings()
Section titled “setSessionSettings()”setSessionSettings(
timeoutMinutes,maxSessionsPerUser):Promise<AppSettings>
Configure session settings
Convenience method to set session timeout and limits.
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
timeoutMinutes | number | Session timeout in minutes (0 for no timeout) |
maxSessionsPerUser | number | Maximum concurrent sessions per user (0 for unlimited) |
Returns
Section titled “Returns”Promise<AppSettings>
Promise resolving to AppSettings
Example
Section titled “Example”// 30 minute sessions, max 3 devices per userawait client.admin.settings.app.setSessionSettings(30, 3)setSetting()
Section titled “setSetting()”setSetting(
key,value,options?):Promise<CustomSetting>
Set or create a custom setting
Creates a new custom setting or updates an existing one.
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
key | string | Setting key |
value | any | Setting value (any JSON-serializable value) |
options? | object | Optional configuration (description, is_public, is_secret, etc.) |
options.description? | string | - |
options.is_public? | boolean | - |
options.is_secret? | boolean | - |
options.value_type? | string | - |
Returns
Section titled “Returns”Promise<CustomSetting>
Promise resolving to CustomSetting
Example
Section titled “Example”await client.admin.settings.app.setSetting('billing.tiers', { free: 1000, pro: 10000, enterprise: 100000}, { description: 'API quotas per billing tier', is_public: false})update()
Section titled “update()”update(
request):Promise<AppSettings>
Update application settings
Supports partial updates - only provide the fields you want to change.
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
request | UpdateAppSettingsRequest | Settings to update (partial update supported) |
Returns
Section titled “Returns”Promise<AppSettings>
Promise resolving to AppSettings - Updated settings
Example
Section titled “Example”// Update authentication settingsconst updated = await client.admin.settings.app.update({ authentication: { enable_signup: true, password_min_length: 12 }})
// Update multiple categoriesawait client.admin.settings.app.update({ authentication: { enable_signup: false }, features: { enable_realtime: true }, security: { enable_global_rate_limit: true }})