Public profile by username (the human-facing permalink)
GET /users/by-username/{username}
Public user-profile page (#478, ADR 0070). Anonymous-visible when public mode is on (ADR 0063 — gated centrally); requires auth when public mode is off. Anonymous viewers get only the display-layer fields (no real name), and a 404 when the owner has opted out of anonymous exposure (ADR 0024). The profile’s content lists are fetched separately through the standard gated browse endpoints (/assets, /collections, /posts) filtered by owner_ref, so there is no new enforcement plane here.
Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”Responses
Section titled “ Responses ”Public profile
Merged user + profile view. display_name is the resolved
display string (profile.display_name → user.fullname →
user.username, first non-empty). avatar_url is null for
users without an uploaded avatar; the frontend renders a
generated initials disc in that case.
object
The raw user.fullname value, for the rare case a caller needs the unresolved string (account settings page). Most UI surfaces should use display_name instead.
Resolved display string ready to render — never empty.
Free-form platform → handle map. Frontend renders known platforms (twitter, instagram, artstation, …) as icon links; unknown keys are ignored.
object
IETF BCP47 language tag (e.g. “en”, “es-AR”). Empty string = “use system / browser default”. Drives the i18n switcher in the user menu.
UI theme preference. Empty string = follow system / OS. Persisted alongside the profile so it follows the user across browsers.
Total live posts authored by this user.
Set on profiles mirroring a remote site’s user. NULL = locally-owned account.
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"}Resource not found
object
Human-readable error summary
Example
the request could not be completed