Get Settings
GET /api/server/settings
Retrieve all server configuration settings.
Request
Response
Complete server configuration object containing all settings categories
Array of setting keys that have been overridden by environment variables. These settings cannot be changed via the API.
Example Response (Partial)
Settings Categories
Settings are organized into the following categories:Core Settings
coreReturnHttpsUrls: Return HTTPS URLscoreDefaultDomain: Default domain for file URLscoreTempDirectory: Temporary file directorycoreTrustProxy: Trust proxy headers
Chunked Uploads
chunksEnabled: Enable chunked uploadschunksMax: Maximum total upload sizechunksSize: Size of each chunk
Task Intervals
tasksDeleteInterval: Interval for delete tasktasksClearInvitesInterval: Interval for clearing expired invitestasksMaxViewsInterval: Interval for max views checktasksThumbnailsInterval: Interval for thumbnail generationtasksMetricsInterval: Interval for metrics collectiontasksCleanThumbnailsInterval: Interval for thumbnail cleanup
Files
filesRoute: URL route for filesfilesLength: Filename lengthfilesDefaultFormat: Default filename format (random,date,uuid,name,gfycat)filesDisabledExtensions: Blocked file extensionsfilesMaxFileSize: Maximum file sizefilesDefaultExpiration: Default file expirationfilesMaxExpiration: Maximum allowed expirationfilesAssumeMimetypes: Assume MIME types from extensionsfilesDefaultDateFormat: Date format for filenamesfilesRemoveGpsMetadata: Strip GPS metadata from imagesfilesRandomWordsNumAdjectives: Number of adjectives in random namesfilesRandomWordsSeparator: Separator for random wordsfilesDefaultCompressionFormat: Default image compression format
URLs
urlsRoute: URL route for shortened URLsurlsLength: Short URL code length
Features
featuresImageCompression: Enable image compressionfeaturesRobotsTxt: Enable robots.txtfeaturesHealthcheck: Enable healthcheck endpointfeaturesUserRegistration: Allow user registrationfeaturesOauthRegistration: Allow OAuth registrationfeaturesDeleteOnMaxViews: Delete files when max views reachedfeaturesThumbnailsEnabled: Enable thumbnail generationfeaturesThumbnailsNumberThreads: Number of thumbnail threadsfeaturesThumbnailsFormat: Thumbnail formatfeaturesMetricsEnabled: Enable metrics collectionfeaturesMetricsAdminOnly: Restrict metrics to adminsfeaturesMetricsShowUserSpecific: Show user-specific metricsfeaturesVersionChecking: Check for updatesfeaturesVersionAPI: Version check API URL
Invites
invitesEnabled: Enable invite systeminvitesLength: Invite code length
Website
websiteTitle: Site titlewebsiteTitleLogo: Logo URLwebsiteExternalLinks: External links in navigationwebsiteLoginBackground: Login background imagewebsiteLoginBackgroundBlur: Blur login backgroundwebsiteDefaultAvatar: Default avatar pathwebsiteTos: Terms of Service file pathwebsiteThemeDefault: Default themewebsiteThemeDark: Dark theme IDwebsiteThemeLight: Light theme ID
OAuth
oauthBypassLocalLogin: Bypass local loginoauthLoginOnly: OAuth-only login- Discord, Google, GitHub, OIDC OAuth settings
MFA
mfaTotpEnabled: Enable TOTPmfaTotpIssuer: TOTP issuer namemfaPasskeysEnabled: Enable passkeysmfaPasskeysRpID: Passkey relying party IDmfaPasskeysOrigin: Passkey origin
Rate Limiting
ratelimitEnabled: Enable rate limitingratelimitMax: Max requestsratelimitWindow: Time windowratelimitAdminBypass: Allow admins to bypassratelimitAllowList: IP allowlist
Webhooks
httpWebhookOnUpload: HTTP webhook on uploadhttpWebhookOnShorten: HTTP webhook on shorten- Discord webhook settings
PWA
pwaEnabled: Enable Progressive Web App- PWA configuration (title, colors, etc.)
Domains
domains: Allowed domains for file URLs
Update Settings
PATCH /api/server/settings
Update server configuration. Only provided fields will be updated.
Request
Send a partial settings object with only the fields you want to update. All fields are optional.Enable user registration
Update file settings
Configure TOTP
Update domains
Response
Returns the complete updated settings object in the same format as GET.Validation
Settings are strictly validated:- Routes must start with
/and not conflict with reserved routes (/dashboard,/api,/auth, etc.) - File sizes must be valid (e.g.,
"100mb","5gb") - Time intervals must be valid duration strings (e.g.,
"30m","1h","7d") - URLs must be properly formatted
- Numbers must be within acceptable ranges
- File paths must exist on the server
- OAuth settings must be complete (all fields required if any are provided)
Errors
- 400 Bad Request: Validation failed
- 429 Too Many Requests: Rate limit exceeded (1 request per second)
Example Validation Error
Rate Limiting
This endpoint is rate-limited to 1 request per second.Settings overridden by environment variables appear in the
tampered array and cannot be modified via the API. You must change the environment variable and restart the server.Reserved Routes
The following routes are reserved and cannot be used forfilesRoute or urlsRoute:
/dashboard/auth/api/raw/r/invite/view/robots.txt/manifest.json/favicon.ico