---
title: "Get a public user profile"
method: GET
path: "/api/v1/users/{username}"
tags: ["Users & Profiles"]
---

# Get a public user profile

`GET /api/v1/users/{username}`

## Request

- Base URL: `https://api.skills-hub.ai`
- URL: `https://api.skills-hub.ai/api/v1/users/{username}`
- Auth: one of:
  - HTTP bearer
  - API key in header `Authorization`

Public. Returns the public profile for `:username` (never exposes `email` or other PII). Optionally authenticated: when a valid token is supplied, the response reflects the viewer (for example, follow state).

## Path parameters

- `username` string, required

## Response `200`

Successful response. The returned fields are described in this endpoint's summary/description; typed per-field response schemas are being added incrementally.

- object: Public profile — never exposes email or other PII. `userFollowing` reflects the authenticated viewer when a token is supplied.
  - `id` string, required
  - `username` string, required
  - `displayName` string, nullable, required
  - `avatarUrl` string, nullable, required
  - `bio` string, nullable, required
  - `githubUrl` string, nullable, required
  - `trustLevel` 'NEW' | 'ESTABLISHED' | 'TRUSTED', required
  - `isAdmin` boolean, required
  - `createdAt` string, date-time, required
  - `skillCount` integer, required
  - `totalInstalls` integer, required
  - `followerCount` integer, required
  - `followingCount` integer, required
  - `userFollowing` boolean, required

---

[API](https://skmtc.dev/skills-hub/apis/skills-hub-ai-api.md) · [All operations](https://skmtc.dev/skills-hub/apis/skills-hub-ai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/skills-hub/apis/skills-hub-ai-api/revisions/cb5d46d80300?raw)
