Settings
Application settings and configuration management endpoints.
Public Settings
Section titled “Public Settings”Get Public Settings
Section titled “Get Public Settings”Endpoint: GET /api/settings/public
Authentication: None required
Response:
{ "user": { "allowRegistration": true }, "access": { "allowGuestUploads": true, "allowUnauthenticatedAccess": false }}
Global Settings (Admin only)
Section titled “Global Settings (Admin only)”Get Global Settings
Section titled “Get Global Settings”Endpoint: GET /api/settings/global
Authentication: JWT Token with Admin role required
Headers:
Authorization: Bearer <jwt_access_token>
Response:
{ "storage": { "provider": "local", "adapter": { "local": { "dir": "/app/storage" }, "smb": { "host": "", "share": "", "workgroup": "", "username": "", "password": "" }, "s3": { "region": "", "bucket": "", "key": "", "secret": "" } } }, "user": { "allowRegistration": true, "approvalRequired": false, "password": { "minLength": 8, "requirements": 3 } }, "image": { "maxSize": "10MB", "stripExifMetadata": true, "allowOnlyPublicImages": false }, "access": { "allowGuestUploads": true, "allowUnauthenticatedAccess": false }}
Update Settings
Section titled “Update Settings”Endpoint: POST /api/settings
Authentication: JWT Token with Admin role required
Headers:
Authorization: Bearer <jwt_access_token>Content-Type: application/json
Request:
{ "category": "user", "settings": { "allowRegistration": false, "approvalRequired": true, "password": { "minLength": 12, "requirements": 4 } }}
Valid Categories:
user
- User registration and password settingsimage
- Image upload and processing settingsstorage
- Storage provider and configurationaccess
- Guest access and authentication settings
Response:
HTTP 204 No Content
Setting Categories
Section titled “Setting Categories”User Settings
Section titled “User Settings”allowRegistration
(boolean) - Enable user registrationapprovalRequired
(boolean) - Require admin approval for new userspassword.minLength
(number) - Minimum password lengthpassword.requirements
(number) - Number of character type requirements
Image Settings
Section titled “Image Settings”maxSize
(string) - Maximum file size (e.g., “10MB”)stripExifMetadata
(boolean) - Remove EXIF data from uploadsallowOnlyPublicImages
(boolean) - Force all images to be public
Storage Settings
Section titled “Storage Settings”provider
(string) - Storage provider:local
,smb
, ors3
adapter.local.dir
(string) - Local storage directoryadapter.smb.*
(object) - SMB/CIFS configurationadapter.s3.*
(object) - AWS S3 configuration
Access Settings
Section titled “Access Settings”allowGuestUploads
(boolean) - Allow uploads without authenticationallowUnauthenticatedAccess
(boolean) - Allow access without authentication
Error Responses
Section titled “Error Responses”Validation Errors
Section titled “Validation Errors”Invalid Category (HTTP 422):
{ "error": { "title": "Symfony.Component.HttpKernel.Exception.HttpException", "message": "Validation Error", "violations": [ { "property": "category", "message": "The value you selected is not a valid choice." } ] }}
Invalid Settings (HTTP 422):
{ "error": { "title": "Symfony.Component.HttpKernel.Exception.HttpException", "message": "Validation Error", "violations": [ { "property": "settings", "message": "This value should not be blank." } ] }}