Users
Get Current User
Section titled “Get Current User”GET /api/v1/meReturns the authenticated user’s profile.
Headers: Authorization: Bearer <token>
Response 200 OK:
{ "id": 1, "username": "alice", "email": "alice@example.com", "bio": "Hello!", "avatar_url": "https://cdn.example.com/avatar.png", "profile_background_url": ""}Update Current User
Section titled “Update Current User”PATCH /api/v1/meUpdate the authenticated user’s profile fields.
Headers: Authorization: Bearer <token>
Request body (all fields optional):
{ "username": "alice_updated", "bio": "New bio text"}Response 200 OK: Returns the updated user object.
Get Layout
Section titled “Get Layout”GET /api/v1/me/layoutReturns the user’s saved guild and channel ordering.
Headers: Authorization: Bearer <token>
Response 200 OK:
{ "guild_order": [1, 3, 2], "channel_order": { "1": [10, 11, 12], "3": [30, 31] }}Save Layout
Section titled “Save Layout”PUT /api/v1/me/layoutSave the user’s guild and channel ordering.
Headers: Authorization: Bearer <token>
Request body:
{ "guild_order": [1, 3, 2], "channel_order": { "1": [10, 11, 12] }}Response 200 OK: Returns the saved layout object.
Upload Avatar
Section titled “Upload Avatar”POST /api/v1/me/avatar-uploadUpload a new avatar image. Requires multipart/form-data with a file field. Max 10MB, max 1000x1000px.
Headers: Authorization: Bearer <token>
Response 200 OK:
{ "avatar_url": "https://cdn.example.com/new-avatar.png"}Upload Profile Background
Section titled “Upload Profile Background”POST /api/v1/me/profile-background-uploadUpload a profile background image. Same format as avatar upload.
Headers: Authorization: Bearer <token>
Response 200 OK:
{ "profile_background_url": "https://cdn.example.com/bg.png"}List Users
Section titled “List Users”GET /api/v1/usersList all registered users. Supports search with the q query parameter.
Headers: Authorization: Bearer <token>
Query parameters:
| Parameter | Description |
|---|---|
q | Search by username (optional) |
limit | Max results to return (optional) |
Response 200 OK:
[ { "id": 1, "username": "alice", "avatar_url": "https://cdn.example.com/avatar.png" }]Get User by ID
Section titled “Get User by ID”GET /api/v1/users/:id/profileFetch a specific user’s public profile.
Headers: Authorization: Bearer <token>
Query parameters:
| Parameter | Description |
|---|---|
guild_id | Optional guild context for member info |
Response 200 OK:
{ "id": 1, "username": "alice", "bio": "Hello!", "avatar_url": "https://cdn.example.com/avatar.png", "profile_background_url": ""}