Read the appearance configuration for the frontend boot path
GET /appearance
Unauthenticated read of the brand / display / body / mono font slot IDs. The frontend calls this at boot to know which fonts to load before the user has signed in. Returns the same shape as the admin endpoint — there are no admin-only fields in AppearanceConfig.
Responses
Section titled “ Responses ”Current appearance config (public)
Per-install brand and typography choices. Each field holds a
font catalogue ID (e.g. limelight, inter-variable,
system-sans); the frontend resolves the ID to an
@font-face declaration at boot. Empty string means the slot
uses the frontend’s default.
object
Logo / hero font slot. Recommended for display faces (Limelight, Bebas Neue, Playfair Display); body text never uses this slot.
H1–H3 heading slot. Falls back to the body font when empty.
Body / UI text slot. Falls back to the system sans-serif stack when empty.
Code / tabular numerics slot. Falls back to the system monospace stack when empty.
Display name of this install. Read-only here — it is owned
and edited via the Site config (/admin/system/site); it is
surfaced on this public boot path so the wordmark, login
card, and document titles can render the configured name
before the user has signed in. Defaults to “Artist Alley”
when the operator hasn’t set one.
Example
Artist AlleyTrue when this install runs in demo mode (env
AA_DEMO_MODE=1). Surfaced on the public boot path so the
login card can advertise the shared demo credentials and a
read-only banner can render once signed in. Absent/false in
a normal install — zero footprint when off.