Manage users with the Admin API

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

i
Information

Enterprise plans only

The Admin API is available only on Enterprise plans, and access isn't self-serve. On other plans, you can't create an Admin API key, and a standard API key doesn't work with admin endpoints. To request access, contact your Mistral account team or our sales team.

Before you start

Before you start

All requests use the base URL https://api.mistral.ai/v1/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 /v1/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://api.mistral.ai/v1/admin/users?page=1&page_size=50" \
  -H "x-api-key: $ADMIN_API_KEY"
Get a single user

Get a single user

curl https://api.mistral.ai/v1/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://api.mistral.ai/v1/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://api.mistral.ai/v1/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://api.mistral.ai/v1/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://api.mistral.ai/v1/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://api.mistral.ai/v1/admin/users-invite \
  -H "x-api-key: $ADMIN_API_KEY"

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