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/jsonRequest:
{ "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 ContentSetting 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, ors3adapter.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." } ] }}