Avatar Management
Upload, retrieve, and delete user profile images.
GET /api/users/{username}/avatar
Get user's avatar image.
Authentication: Required (publicly accessible endpoint)
Path Parameters:
| Parameter | Type | Description |
|---|---|---|
username | string | Username |
Query Parameters:
| Parameter | Type | Description |
|---|---|---|
t | integer | Timestamp for cache busting |
Response:
Returns the avatar image file (JPEG, PNG, etc.) or default avatar if none set.
Content-Type: image/jpeg, image/png, etc.
GET /api/users/{username}/avatar-full
Get user's full-size avatar image.
Authentication: Required
Response:
Returns the original uploaded avatar without resizing.
PUT /api/users/{username}/avatar
Upload a new avatar image.
Authentication: Required
Permissions: User can update own avatar; admins can update any user's avatar
Path Parameters:
| Parameter | Type | Description |
|---|---|---|
username | string | Username |
Request:
Multipart form upload with image file.
Response:
{
"username": "john.doe",
"avatarUrl": "/api/users/john.doe/avatar?t=1707484800000"
}
DELETE /api/users/{username}/avatar
Remove user's avatar.
Authentication: Required
Permissions: User can delete own avatar; admins can delete any user's avatar
Path Parameters:
| Parameter | Type | Description |
|---|---|---|
username | string | Username |
Response:
204 No Content on success.
Behavior:
Removes custom avatar; subsequent requests return default avatar.
POST /api/users/{username}/_upload/{uploadId}/avatar-upload
Upload avatar via chunked upload.
Authentication: Required
Path Parameters:
| Parameter | Type | Description |
|---|---|---|
username | string | Username |
uploadId | string | Upload session ID |
Use Case:
For large avatar files or resumable uploads.