Manage users with the Admin API

Manage the members of your Organization programmatically. For an end-to-end onboarding flow, see User provisioning.

Before you start

Before you start

All requests use the base URL https://console.mistral.ai/api/admin and an Admin API key in the x-api-key header. See Authentication and Admin API keys.

Organization roles

Organization roles

Assign Organization roles with the plural role_names field. Accepted names: member, billing_manager, organization_admin. You can also pass role UUIDs in roles. List them with GET /api/admin/roles.

Note

The singular role and role_name fields are deprecated. Prefer the plural roles / role_names, which support assigning multiple roles.

List users

List users

Supports the page, page_size, and email query parameters.

curl "https://console.mistral.ai/api/admin/users?page=1&page_size=50" \
  -H "x-api-key: $ADMIN_API_KEY"
Get a single user

Get a single user

curl https://console.mistral.ai/api/admin/users/<USER_UUID> \
  -H "x-api-key: $ADMIN_API_KEY"
Create users

Create users

Send an array of users. Each entry requires email, first_name, and last_name. Set roles with role_names and product access with subscription_types (CHAT, MISTRAL_CODE).

curl -X POST https://console.mistral.ai/api/admin/users \
  -H "Content-Type: application/json" \
  -H "x-api-key: $ADMIN_API_KEY" \
  -d '[
    {"email": "ada@example.com", "first_name": "Ada", "last_name": "Lovelace", "role_names": ["organization_admin"]},
    {"email": "alan@example.com", "first_name": "Alan", "last_name": "Turing", "role_names": ["member"], "subscription_types": ["CHAT", "MISTRAL_CODE"]}
  ]'

The response maps each email to its created user ID. Created users sign in by entering their email and completing the account recovery flow.

Update a user

Update a user

Change a user's roles or product subscriptions.

curl -X PATCH https://console.mistral.ai/api/admin/users/<USER_UUID> \
  -H "Content-Type: application/json" \
  -H "x-api-key: $ADMIN_API_KEY" \
  -d '{"role_names": ["member"], "subscription_types": ["CHAT"]}'
Delete a user

Delete a user

curl -X DELETE https://console.mistral.ai/api/admin/users/<USER_UUID> \
  -H "x-api-key: $ADMIN_API_KEY"
Invitations

Invitations

Invite users by email instead of creating them directly. email is required and accepts one address, or several separated by commas or new lines. Optional fields include role_names, subscription_types, workspace_uuids, and email_language.

# Create an invitation
curl -X POST https://console.mistral.ai/api/admin/users-invite \
  -H "Content-Type: application/json" \
  -H "x-api-key: $ADMIN_API_KEY" \
  -d '{"email": "grace@example.com", "role_names": ["member"], "workspace_uuids": ["<WORKSPACE_UUID>"]}'

# List invitations
curl https://console.mistral.ai/api/admin/users-invite \
  -H "x-api-key: $ADMIN_API_KEY"

# Delete an invitation
curl -X DELETE https://console.mistral.ai/api/admin/users-invite/<INVITATION_UUID> \
  -H "x-api-key: $ADMIN_API_KEY"