Read the per-install appearance configuration
GET /admin/system/appearance
Returns the admin-chosen font slots (brand / display / body / mono). Each slot holds a font catalogue ID; empty means the slot uses the frontend default.
Authorizations
Section titled “Authorizations ”Responses
Section titled “ Responses ”Current appearance config
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.
Authentication required, missing, or invalid
object
Human-readable error summary
Example
the request could not be completedExample
{ "error": "authentication required: sign in and retry with a valid session or API token"}Authenticated but missing required capabilities
object
Human-readable error summary
Example
the request could not be completed