Skip to main content

Users API

Manage user profiles and team membership.

Endpoints Overview

MethodEndpointDescription
GET/users/meCurrent user profile
PATCH/users/meUpdate profile
GET/usersList 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

StyleDescription
initialsFirst letter of name with color
gravatarGravatar based on email
uploadCustom uploaded image

List Users

GET /users

Requires: Admin role

Query Parameters

ParameterTypeDescription
space_iduuidFilter by space membership
searchstringSearch by name/email
rolestringFilter by role
pageintegerPage number
sizeintegerItems 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.