Settings
The Settings API manages user preferences organized into seven categories: appearance, notifications, chat, voice, privacy, integrations, and accessibility. Settings are deep-merged on update and fall back to platform defaults when unset. Rate limited to 100 requests per minute.
Get All Settings
/api/v2/settingsAuthenticatedReturns all settings for the authenticated user, merged with platform defaults for any unset values.
Request
400">curl -X 400">GET https:400">class="text-zinc-500">//api.lvng.ai/api/v2/settings \
-H 400">class="text-emerald-400">"Authorization: Bearer YOUR_JWT_TOKEN"Response 200
{
400">class="text-emerald-400">"success": true,
400">class="text-emerald-400">"settings": {
400">class="text-emerald-400">"appearance": {
400">class="text-emerald-400">"theme": 400">class="text-emerald-400">"system",
400">class="text-emerald-400">"fontSize": 400">class="text-emerald-400">"medium",
400">class="text-emerald-400">"compactMode": false,
400">class="text-emerald-400">"sidebarCollapsed": false,
400">class="text-emerald-400">"accentColor": 400">class="text-emerald-400">"#6366f1"
},
400">class="text-emerald-400">"notifications": {
400">class="text-emerald-400">"enabled": true,
400">class="text-emerald-400">"desktop": true,
400">class="text-emerald-400">"email": true,
400">class="text-emerald-400">"mentions": true,
400">class="text-emerald-400">"directMessages": true,
400">class="text-emerald-400">"workflowUpdates": true,
400">class="text-emerald-400">"soundEnabled": true,
400">class="text-emerald-400">"quietHoursEnabled": false,
400">class="text-emerald-400">"quietHoursStart": 400">class="text-emerald-400">"22:00",
400">class="text-emerald-400">"quietHoursEnd": 400">class="text-emerald-400">"08:00"
},
400">class="text-emerald-400">"chat": {
400">class="text-emerald-400">"defaultPersonality": 400">class="text-emerald-400">"lvng",
400">class="text-emerald-400">"streamResponses": true,
400">class="text-emerald-400">"showTimestamps": true,
400">class="text-emerald-400">"enterToSend": true,
400">class="text-emerald-400">"showAvatars": true,
400">class="text-emerald-400">"messageGrouping": true
},
400">class="text-emerald-400">"voice": {
400">class="text-emerald-400">"autoTranscribe": true,
400">class="text-emerald-400">"language": 400">class="text-emerald-400">"en-US",
400">class="text-emerald-400">"saveRecordings": true
},
400">class="text-emerald-400">"privacy": {
400">class="text-emerald-400">"shareAnalytics": true,
400">class="text-emerald-400">"activityStatus": 400">class="text-emerald-400">"online",
400">class="text-emerald-400">"readReceipts": true
},
400">class="text-emerald-400">"integrations": {
400">class="text-emerald-400">"connectedPlatforms": [],
400">class="text-emerald-400">"defaultExportFormat": 400">class="text-emerald-400">"json"
},
400">class="text-emerald-400">"accessibility": {
400">class="text-emerald-400">"reduceMotion": false,
400">class="text-emerald-400">"highContrast": false,
400">class="text-emerald-400">"screenReaderOptimized": false,
400">class="text-emerald-400">"keyboardShortcuts": true
}
}
}Update All Settings
/api/v2/settingsAuthenticatedDeep-merges the provided settings with existing user settings. Only the keys you include are changed; everything else is preserved.
Body Parameters
appearanceobjectAppearance settings (theme, fontSize, compactMode, sidebarCollapsed, accentColor).
notificationsobjectNotification preferences (enabled, desktop, email, mentions, directMessages, workflowUpdates, soundEnabled, quietHoursEnabled, quietHoursStart, quietHoursEnd).
chatobjectChat behavior (defaultPersonality, streamResponses, showTimestamps, enterToSend, showAvatars, messageGrouping).
voiceobjectVoice settings (autoTranscribe, language, saveRecordings).
privacyobjectPrivacy options (shareAnalytics, activityStatus, readReceipts). activityStatus is one of: online, away, dnd, invisible.
integrationsobjectIntegration config (connectedPlatforms, defaultExportFormat).
accessibilityobjectAccessibility options (reduceMotion, highContrast, screenReaderOptimized, keyboardShortcuts).
Request
400">curl -X 400">PUT https:400">class="text-zinc-500">//api.lvng.ai/api/v2/settings \
-H 400">class="text-emerald-400">"Authorization: Bearer YOUR_JWT_TOKEN" \
-H 400">class="text-emerald-400">"Content-Type: application/json" \
-d '{
400">class="text-emerald-400">"appearance": {
400">class="text-emerald-400">"theme": 400">class="text-emerald-400">"dark",
400">class="text-emerald-400">"compactMode": true
},
400">class="text-emerald-400">"notifications": {
400">class="text-emerald-400">"quietHoursEnabled": true,
400">class="text-emerald-400">"quietHoursStart": 400">class="text-emerald-400">"23:00",
400">class="text-emerald-400">"quietHoursEnd": 400">class="text-emerald-400">"07:00"
}
}'Response 200
{
400">class="text-emerald-400">"success": true,
400">class="text-emerald-400">"settings": {
400">class="text-emerald-400">"appearance": {
400">class="text-emerald-400">"theme": 400">class="text-emerald-400">"dark",
400">class="text-emerald-400">"fontSize": 400">class="text-emerald-400">"medium",
400">class="text-emerald-400">"compactMode": true,
400">class="text-emerald-400">"sidebarCollapsed": false,
400">class="text-emerald-400">"accentColor": 400">class="text-emerald-400">"#6366f1"
},
400">class="text-emerald-400">"notifications": {
400">class="text-emerald-400">"enabled": true,
400">class="text-emerald-400">"desktop": true,
400">class="text-emerald-400">"email": true,
400">class="text-emerald-400">"mentions": true,
400">class="text-emerald-400">"directMessages": true,
400">class="text-emerald-400">"workflowUpdates": true,
400">class="text-emerald-400">"soundEnabled": true,
400">class="text-emerald-400">"quietHoursEnabled": true,
400">class="text-emerald-400">"quietHoursStart": 400">class="text-emerald-400">"23:00",
400">class="text-emerald-400">"quietHoursEnd": 400">class="text-emerald-400">"07:00"
},
400">class="text-emerald-400">"chat": {
400">class="text-emerald-400">"defaultPersonality": 400">class="text-emerald-400">"lvng",
400">class="text-emerald-400">"streamResponses": true,
400">class="text-emerald-400">"showTimestamps": true,
400">class="text-emerald-400">"enterToSend": true,
400">class="text-emerald-400">"showAvatars": true,
400">class="text-emerald-400">"messageGrouping": true
},
400">class="text-emerald-400">"voice": {
400">class="text-emerald-400">"autoTranscribe": true,
400">class="text-emerald-400">"language": 400">class="text-emerald-400">"en-US",
400">class="text-emerald-400">"saveRecordings": true
},
400">class="text-emerald-400">"privacy": {
400">class="text-emerald-400">"shareAnalytics": true,
400">class="text-emerald-400">"activityStatus": 400">class="text-emerald-400">"online",
400">class="text-emerald-400">"readReceipts": true
},
400">class="text-emerald-400">"integrations": {
400">class="text-emerald-400">"connectedPlatforms": [],
400">class="text-emerald-400">"defaultExportFormat": 400">class="text-emerald-400">"json"
},
400">class="text-emerald-400">"accessibility": {
400">class="text-emerald-400">"reduceMotion": false,
400">class="text-emerald-400">"highContrast": false,
400">class="text-emerald-400">"screenReaderOptimized": false,
400">class="text-emerald-400">"keyboardShortcuts": true
}
}
}Get Category Settings
/api/v2/settings/:categoryAuthenticatedReturns settings for a single category. Returns 400 if the category is invalid.
Path Parameters
categorystringrequiredOne of: appearance, notifications, chat, voice, privacy, integrations, accessibility.
Request
400">curl -X 400">GET https:400">class="text-zinc-500">//api.lvng.ai/api/v2/settings/chat \
-H 400">class="text-emerald-400">"Authorization: Bearer YOUR_JWT_TOKEN"Response 200
{
400">class="text-emerald-400">"success": true,
400">class="text-emerald-400">"category": 400">class="text-emerald-400">"chat",
400">class="text-emerald-400">"settings": {
400">class="text-emerald-400">"defaultPersonality": 400">class="text-emerald-400">"lvng",
400">class="text-emerald-400">"streamResponses": true,
400">class="text-emerald-400">"showTimestamps": true,
400">class="text-emerald-400">"enterToSend": true,
400">class="text-emerald-400">"showAvatars": true,
400">class="text-emerald-400">"messageGrouping": true
}
}Update Category Settings
/api/v2/settings/:categoryAuthenticatedShallow-merges the request body into the specified category. Existing keys within the category that are not in the request body are preserved.
Path Parameters
categorystringrequiredThe settings category to update.
Body Parameters
...keysanyrequiredKey-value pairs for the category. Send only the fields you want to change.
Request
400">curl -X 400">PUT https:400">class="text-zinc-500">//api.lvng.ai/api/v2/settings/notifications \
-H 400">class="text-emerald-400">"Authorization: Bearer YOUR_JWT_TOKEN" \
-H 400">class="text-emerald-400">"Content-Type: application/json" \
-d '{
400">class="text-emerald-400">"email": false,
400">class="text-emerald-400">"soundEnabled": false
}'Response 200
{
400">class="text-emerald-400">"success": true,
400">class="text-emerald-400">"category": 400">class="text-emerald-400">"notifications",
400">class="text-emerald-400">"settings": {
400">class="text-emerald-400">"enabled": true,
400">class="text-emerald-400">"desktop": true,
400">class="text-emerald-400">"email": false,
400">class="text-emerald-400">"mentions": true,
400">class="text-emerald-400">"directMessages": true,
400">class="text-emerald-400">"workflowUpdates": true,
400">class="text-emerald-400">"soundEnabled": false,
400">class="text-emerald-400">"quietHoursEnabled": false,
400">class="text-emerald-400">"quietHoursStart": 400">class="text-emerald-400">"22:00",
400">class="text-emerald-400">"quietHoursEnd": 400">class="text-emerald-400">"08:00"
}
}Reset Setting to Default
/api/v2/settings/:category/:keyAuthenticatedResets a single setting key back to its platform default value. Returns 400 if the category or key is invalid.
Path Parameters
categorystringrequiredThe settings category (e.g. appearance, chat).
keystringrequiredThe specific setting key to reset (e.g. theme, streamResponses).
Request
400">curl -X 400">DELETE https:400">class="text-zinc-500">//api.lvng.ai/api/v2/settings/appearance/theme \
-H 400">class="text-emerald-400">"Authorization: Bearer YOUR_JWT_TOKEN"Response 200
{
400">class="text-emerald-400">"success": true,
400">class="text-emerald-400">"category": 400">class="text-emerald-400">"appearance",
400">class="text-emerald-400">"key": 400">class="text-emerald-400">"theme",
400">class="text-emerald-400">"value": 400">class="text-emerald-400">"system",
400">class="text-emerald-400">"message": 400">class="text-emerald-400">"Setting reset to 400">default"
}Export Settings
/api/v2/settings/exportAuthenticatedExports all user settings as a versioned JSON object. Use this for backups or migrating settings between accounts.
Request
400">curl -X 400">POST https:400">class="text-zinc-500">//api.lvng.ai/api/v2/settings/400">export \
-H 400">class="text-emerald-400">"Authorization: Bearer YOUR_JWT_TOKEN"Response 200
{
400">class="text-emerald-400">"success": true,
400">class="text-emerald-400">"400">export": {
400">class="text-emerald-400">"version": 400">class="text-emerald-400">"2.0",
400">class="text-emerald-400">"exportedAt": 400">class="text-emerald-400">"2026-03-19T10:30:00.000Z",
400">class="text-emerald-400">"settings": {
400">class="text-emerald-400">"appearance": { 400">class="text-emerald-400">"theme": 400">class="text-emerald-400">"dark", 400">class="text-emerald-400">"fontSize": 400">class="text-emerald-400">"medium", 400">class="text-emerald-400">"compactMode": true, 400">class="text-emerald-400">"sidebarCollapsed": false, 400">class="text-emerald-400">"accentColor": 400">class="text-emerald-400">"#6366f1" },
400">class="text-emerald-400">"notifications": { 400">class="text-emerald-400">"enabled": true, 400">class="text-emerald-400">"desktop": true, 400">class="text-emerald-400">"email": true, 400">class="text-emerald-400">"mentions": true, 400">class="text-emerald-400">"directMessages": true, 400">class="text-emerald-400">"workflowUpdates": true, 400">class="text-emerald-400">"soundEnabled": true, 400">class="text-emerald-400">"quietHoursEnabled": false, 400">class="text-emerald-400">"quietHoursStart": 400">class="text-emerald-400">"22:00", 400">class="text-emerald-400">"quietHoursEnd": 400">class="text-emerald-400">"08:00" },
400">class="text-emerald-400">"chat": { 400">class="text-emerald-400">"defaultPersonality": 400">class="text-emerald-400">"lvng", 400">class="text-emerald-400">"streamResponses": true, 400">class="text-emerald-400">"showTimestamps": true, 400">class="text-emerald-400">"enterToSend": true, 400">class="text-emerald-400">"showAvatars": true, 400">class="text-emerald-400">"messageGrouping": true },
400">class="text-emerald-400">"voice": { 400">class="text-emerald-400">"autoTranscribe": true, 400">class="text-emerald-400">"language": 400">class="text-emerald-400">"en-US", 400">class="text-emerald-400">"saveRecordings": true },
400">class="text-emerald-400">"privacy": { 400">class="text-emerald-400">"shareAnalytics": true, 400">class="text-emerald-400">"activityStatus": 400">class="text-emerald-400">"online", 400">class="text-emerald-400">"readReceipts": true },
400">class="text-emerald-400">"integrations": { 400">class="text-emerald-400">"connectedPlatforms": [], 400">class="text-emerald-400">"defaultExportFormat": 400">class="text-emerald-400">"json" },
400">class="text-emerald-400">"accessibility": { 400">class="text-emerald-400">"reduceMotion": false, 400">class="text-emerald-400">"highContrast": false, 400">class="text-emerald-400">"screenReaderOptimized": false, 400">class="text-emerald-400">"keyboardShortcuts": true }
}
}
}Import Settings
/api/v2/settings/importAuthenticatedImports settings from a previously exported payload. By default merges with existing settings. Set merge to false to replace all settings entirely.
Body Parameters
settingsobjectrequiredThe settings object to import, matching the export format structure.
mergebooleantrueWhen true (default), imported keys are merged with existing settings. When false, all settings are replaced.
Request
400">curl -X 400">POST https:400">class="text-zinc-500">//api.lvng.ai/api/v2/settings/400">import \
-H 400">class="text-emerald-400">"Authorization: Bearer YOUR_JWT_TOKEN" \
-H 400">class="text-emerald-400">"Content-Type: application/json" \
-d '{
400">class="text-emerald-400">"settings": {
400">class="text-emerald-400">"chat": {
400">class="text-emerald-400">"defaultPersonality": 400">class="text-emerald-400">"lvng",
400">class="text-emerald-400">"streamResponses": false,
400">class="text-emerald-400">"enterToSend": false
},
400">class="text-emerald-400">"appearance": {
400">class="text-emerald-400">"theme": 400">class="text-emerald-400">"light",
400">class="text-emerald-400">"accentColor": 400">class="text-emerald-400">"#ec4899"
}
},
400">class="text-emerald-400">"merge": true
}'Response 200
{
400">class="text-emerald-400">"success": true,
400">class="text-emerald-400">"message": 400">class="text-emerald-400">"Settings merged successfully",
400">class="text-emerald-400">"settings": {
400">class="text-emerald-400">"appearance": {
400">class="text-emerald-400">"theme": 400">class="text-emerald-400">"light",
400">class="text-emerald-400">"fontSize": 400">class="text-emerald-400">"medium",
400">class="text-emerald-400">"compactMode": true,
400">class="text-emerald-400">"sidebarCollapsed": false,
400">class="text-emerald-400">"accentColor": 400">class="text-emerald-400">"#ec4899"
},
400">class="text-emerald-400">"notifications": {
400">class="text-emerald-400">"enabled": true,
400">class="text-emerald-400">"desktop": true,
400">class="text-emerald-400">"email": true,
400">class="text-emerald-400">"mentions": true,
400">class="text-emerald-400">"directMessages": true,
400">class="text-emerald-400">"workflowUpdates": true,
400">class="text-emerald-400">"soundEnabled": true,
400">class="text-emerald-400">"quietHoursEnabled": false,
400">class="text-emerald-400">"quietHoursStart": 400">class="text-emerald-400">"22:00",
400">class="text-emerald-400">"quietHoursEnd": 400">class="text-emerald-400">"08:00"
},
400">class="text-emerald-400">"chat": {
400">class="text-emerald-400">"defaultPersonality": 400">class="text-emerald-400">"lvng",
400">class="text-emerald-400">"streamResponses": false,
400">class="text-emerald-400">"showTimestamps": true,
400">class="text-emerald-400">"enterToSend": false,
400">class="text-emerald-400">"showAvatars": true,
400">class="text-emerald-400">"messageGrouping": true
},
400">class="text-emerald-400">"voice": {
400">class="text-emerald-400">"autoTranscribe": true,
400">class="text-emerald-400">"language": 400">class="text-emerald-400">"en-US",
400">class="text-emerald-400">"saveRecordings": true
},
400">class="text-emerald-400">"privacy": {
400">class="text-emerald-400">"shareAnalytics": true,
400">class="text-emerald-400">"activityStatus": 400">class="text-emerald-400">"online",
400">class="text-emerald-400">"readReceipts": true
},
400">class="text-emerald-400">"integrations": {
400">class="text-emerald-400">"connectedPlatforms": [],
400">class="text-emerald-400">"defaultExportFormat": 400">class="text-emerald-400">"json"
},
400">class="text-emerald-400">"accessibility": {
400">class="text-emerald-400">"reduceMotion": false,
400">class="text-emerald-400">"highContrast": false,
400">class="text-emerald-400">"screenReaderOptimized": false,
400">class="text-emerald-400">"keyboardShortcuts": true
}
}
}