Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/metabase/metabase/llms.txt

Use this file to discover all available pages before exploring further.

The User API manages user accounts, profiles, and preferences. This API includes 7 endpoints for user management.

List users

Get all users in the Metabase instance.
GET /api/user
curl -X GET \
  https://your-metabase.com/api/user \
  -H 'X-Metabase-Session: SESSION_TOKEN'
Requires admin permissions to see all users. Non-admins can only see themselves.

Response

[
  {
    "id": 1,
    "email": "user@example.com",
    "first_name": "John",
    "last_name": "Doe",
    "common_name": "John Doe",
    "is_superuser": false,
    "is_qbnewb": false,
    "last_login": "2024-03-01T10:00:00Z"
  }
]
is_qbnewb
boolean
Whether user has completed onboarding

Get current user

Get details about the currently authenticated user.
GET /api/user/current
curl -X GET \
  https://your-metabase.com/api/user/current \
  -H 'X-Metabase-Session: SESSION_TOKEN'

Response

id
integer
User ID
email
string
User email address
first_name
string
First name
last_name
string
Last name
common_name
string
Full name (first + last)
is_superuser
boolean
Whether user has admin privileges
permissions
object
User’s permissions across the instance
user_group_memberships
array
Groups the user belongs to

Get user

Get details about a specific user.
GET /api/user/{id}
curl -X GET \
  https://your-metabase.com/api/user/1 \
  -H 'X-Metabase-Session: SESSION_TOKEN'

Parameters

id
integer
required
User ID (minimum: 1)
Requires admin permissions or must be the user themselves.

Create user

Create a new user account.
POST /api/user
curl -X POST \
  https://your-metabase.com/api/user \
  -H 'Content-Type: application/json' \
  -H 'X-Metabase-Session: SESSION_TOKEN' \
  -d '{
    "email": "newuser@example.com",
    "first_name": "Jane",
    "last_name": "Smith",
    "password": "SecurePassword123!"
  }'

Request body

email
string
required
User email address (must be unique)
first_name
string
required
First name
last_name
string
required
Last name
password
string
Password (required unless using SSO)
group_ids
array
Array of group IDs to add user to
Requires admin permissions to create users.

Update user

Update user details.
PUT /api/user/{id}
curl -X PUT \
  https://your-metabase.com/api/user/1 \
  -H 'Content-Type: application/json' \
  -H 'X-Metabase-Session: SESSION_TOKEN' \
  -d '{
    "first_name": "Updated",
    "last_name": "Name"
  }'

Parameters

id
integer
required
User ID

Request body

All fields are optional.
email
string
Updated email address
first_name
string
Updated first name
last_name
string
Updated last name
is_superuser
boolean
Update admin status (admin only)
locale
string
User’s preferred locale
Only admins can modify other users. Users can modify their own profile.

Update password

Change a user’s password.
PUT /api/user/{id}/password
curl -X PUT \
  https://your-metabase.com/api/user/1/password \
  -H 'Content-Type: application/json' \
  -H 'X-Metabase-Session: SESSION_TOKEN' \
  -d '{
    "password": "CurrentPassword123!",
    "new_password": "NewPassword456!"
  }'

Request body

password
string
required
Current password (required when changing own password)
new_password
string
required
New password
Admins can reset passwords without providing the current password.

Delete user

Deactivate a user account.
DELETE /api/user/{id}
curl -X DELETE \
  https://your-metabase.com/api/user/1 \
  -H 'X-Metabase-Session: SESSION_TOKEN'
This deactivates the user account. Use reactivate endpoint to restore access.

Reactivate user

Reactivate a deactivated user account.
PUT /api/user/{id}/reactivate
curl -X PUT \
  https://your-metabase.com/api/user/1/reactivate \
  -H 'X-Metabase-Session: SESSION_TOKEN'
Requires admin permissions.

Update user modal

Update which onboarding modals a user has seen.
PUT /api/user/{id}/modal/{modal}
curl -X PUT \
  https://your-metabase.com/api/user/1/modal/qbnewb \
  -H 'X-Metabase-Session: SESSION_TOKEN'

Parameters

id
integer
required
User ID
modal
string
required
Modal identifier (e.g., “qbnewb” for onboarding)

Get recipients

Get a list of users who can receive subscriptions and alerts.
GET /api/user/recipients
curl -X GET \
  https://your-metabase.com/api/user/recipients \
  -H 'X-Metabase-Session: SESSION_TOKEN'

Response

Returns active users who can receive email notifications:
[
  {
    "id": 1,
    "email": "user@example.com",
    "common_name": "John Doe"
  }
]

Error codes

400 Bad Request
error
Invalid user data or validation error
401 Unauthorized
error
Not authenticated
403 Forbidden
error
Insufficient permissions to manage users
404 Not Found
error
User not found
409 Conflict
error
Email already exists