Appearance
GET /api/branding
The panel name, logo, colours, fonts, login page and links that every screen uses (cached for a few seconds)
- Access: No authentication
PUT /api/branding
Save the appearance (browser session only). A stale baseRevision answers 409
- Access: Administrator
- Body: branding {...}, baseRevision?, reason?
GET /api/branding/admin
The full appearance document with warnings, history and upload limits
- Access: Administrator
GET /api/branding/announcement
The announcement banner for the signed-in user, or null
- Access: Signed-in user (browser session)
POST /api/branding/assets
Upload an image (multipart: field kind first, then file). It is stored but not used until the appearance is saved
- Access: Administrator
GET /api/branding/assets/{kind}
A custom image: mark, wordmark, favicon or login (404 when none was uploaded)
- Access: No authentication
- Path parameters:
kind
GET /api/branding/blobs/{kind}/{sha}
Preview an uploaded image that has not been saved yet
- Access: Administrator
- Path parameters:
kind,sha
GET /api/branding/export
Download the appearance as a fledge-theme file, images included
- Access: Administrator
GET /api/branding/history/{id}
One saved version of the appearance
- Access: Administrator
- Path parameters:
id
POST /api/branding/history/{id}/restore
Restore a saved version as a new version
- Access: Administrator
- Path parameters:
id
POST /api/branding/import
Read a fledge-theme file and return it for review; nothing is saved
- Access: Administrator
- Body: format, formatVersion, branding, images
POST /api/branding/reset
Go back to the Fledge look (kept in the history)
- Access: Administrator
POST /api/branding/validate
Dry run: derived colours, contrast report and checked CSS, nothing saved
- Access: Administrator
- Body: branding
