Tenant Settings
Configure tenant-wide authentication and security settings.
Tenant settings control the behavior of authentication, security policies, and branding across your entire tenant. These settings apply to all users and applications within the tenant.
Get Settings
bash
curl https://app.lumoauth.dev/t/acme-corp/api/v1/admin/settings \
-H "Authorization: Bearer sk_live_xxxxx"
The Tenant Settings Object
Authentication Settings
passwordPolicy
object Password requirements configuration
mfaPolicy
object Multi-factor authentication settings
sessionPolicy
object Session timeout and management settings
loginPolicy
object Login attempt limits and lockout settings
Branding Settings
displayName
string Tenant display name
logoUrl
string | null URL to tenant logo
primaryColor
string Primary brand color (hex)
supportEmail
string | null Support contact email
Settings Response
json
{
"passwordPolicy": {
"minLength": 12,
"requireUppercase": true,
"requireNumbers": true,
"requireSymbols": true,
"preventReuse": 5
},
"mfaPolicy": {
"required": false,
"allowedMethods": ["totp", "webauthn"],
"gracePeriodDays": 7
},
"sessionPolicy": {
"maxAge": 86400,
"idleTimeout": 3600,
"singleSession": false
},
"branding": {
"displayName": "Acme Corp",
"primaryColor": "#635bff"
}
}
Get Tenant Settings
GET /t/{tenant}/api/v1/admin/settings
Returns all current tenant settings.
Update Tenant Settings
PUT /t/{tenant}/api/v1/admin/settings
Updates tenant settings. Only provided fields are updated.
Password Policy
passwordPolicy.minLength integer
Minimum password length (default: 8)
passwordPolicy.requireUppercase boolean
Require uppercase letters
passwordPolicy.requireNumbers boolean
Require numeric characters
passwordPolicy.requireSymbols boolean
Require special characters
passwordPolicy.preventReuse integer
Number of previous passwords to check (0 to disable)
Update Password Policy
bash
curl -X PUT https://app.lumoauth.dev/t/acme-corp/api/v1/admin/settings \
-H "Authorization: Bearer sk_live_xxxxx" \
-H "Content-Type: application/json" \
-d '{
"passwordPolicy": {
"minLength": 14,
"requireSymbols": true,
"preventReuse": 10
}
}'
MFA Policy
mfaPolicy.required boolean
Require MFA for all users
mfaPolicy.allowedMethods array
Allowed MFA methods: totp, sms, email, webauthn
mfaPolicy.gracePeriodDays integer
Days to set up MFA before enforcement (0 for immediate)
Enable Required MFA
python
import requests
# Require MFA for all users
response = requests.put(
"https://app.lumoauth.dev/t/acme-corp/api/v1/admin/settings",
headers={"Authorization": "Bearer sk_live_xxxxx"},
json={
"mfaPolicy": {
"required": True,
"gracePeriodDays": 14, # Give users 2 weeks
"allowedMethods": ["totp", "webauthn"]
}
}
)
print("MFA now required for all users")
Session Policy
sessionPolicy.maxAge integer
Session lifetime in seconds
sessionPolicy.idleTimeout integer
Inactivity timeout in seconds
sessionPolicy.singleSession boolean
Allow only one active session per user
Branding Settings
Customize the look and feel of your tenant's login pages and emails.
Update Branding
json
{
"branding": {
"displayName": "Acme Corporation",
"logoUrl": "https://cdn.acme.com/logo.png",
"primaryColor": "#0066cc",
"supportEmail": "support@acme.com"
}
}
Get Tenant Info
GET /t/{tenant}/api/v1/admin/info
Returns tenant metadata including plan, usage, and limits.