Users API
Manage user profiles and team membership.
Endpoints Overview
| Method | Endpoint | Description |
|---|---|---|
| GET | /users/me | Current user profile |
| PATCH | /users/me | Update profile |
| GET | /users | List users (admin) |
| GET | /users/{id} | Get user details |
Current User
Get Profile
GET /users/me
Response
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"email": "jane@example.com",
"first_name": "Jane",
"last_name": "Developer",
"avatar_url": "https://api.qarion.com/avatars/jane.jpg",
"is_superadmin": false,
"spaces": [
{
"id": "...",
"name": "Marketing Analytics",
"slug": "marketing-analytics",
"role": "admin"
}
],
"created_at": "2025-01-15T00:00:00Z",
"last_login": "2026-01-15T08:00:00Z"
}
Update Profile
PATCH /users/me
{
"first_name": "Jane",
"last_name": "Smith",
"avatar_style": "initials",
"avatar_color": "#3b82f6"
}
Avatar Styles
| Style | Description |
|---|---|
initials | First letter of name with color |
gravatar | Gravatar based on email |
upload | Custom uploaded image |
List Users
GET /users
Requires: Admin role
Query Parameters
| Parameter | Type | Description |
|---|---|---|
space_id | uuid | Filter by space membership |
search | string | Search by name/email |
role | string | Filter by role |
page | integer | Page number |
size | integer | Items per page |
Response
{
"items": [
{
"id": "...",
"email": "bob@example.com",
"name": "Bob Smith",
"is_active": true,
"spaces_count": 3,
"last_login": "2026-01-14T12:00:00Z"
}
],
"total": 25,
"page": 1,
"size": 20
}
Get User Details
GET /users/{id}
Response
{
"id": "...",
"email": "bob@example.com",
"first_name": "Bob",
"last_name": "Smith",
"is_active": true,
"is_superadmin": false,
"spaces": [
{
"id": "...",
"name": "Finance Data",
"role": "viewer"
}
],
"governance_roles": [
{
"product_id": "...",
"product_name": "Revenue Metrics",
"role": "owner"
}
],
"created_at": "2025-03-01T00:00:00Z"
}
User Preferences
Get Preferences
GET /preferences
{
"notifications": {
"email_alerts": true,
"email_digest": "daily",
"slack_enabled": false
},
"ui": {
"theme": "system",
"default_space": "marketing-analytics",
"compact_mode": false
}
}
Update Preferences
PATCH /preferences
{
"notifications": {
"email_digest": "weekly"
}
}
User Search (Autocomplete)
For user pickers in forms:
GET /users/search?q=jane&space_id=...
Response
[
{
"id": "...",
"name": "Jane Developer",
"email": "jane@example.com",
"avatar_url": "..."
}
]
Limited to 10 results for performance.