> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify.com/open-webui/open-webui/llms.txt
> Use this file to discover all available pages before exploring further.

# Create User

Creates a new user account. Note: User creation is typically handled through the authentication endpoints (`/api/v1/auths/signup`). This documentation is for reference.

## Authentication

User creation through signup endpoints requires appropriate signup configuration.

## Request Body

<ParamField body="email" type="string" required>
  User email address (will be converted to lowercase)
</ParamField>

<ParamField body="name" type="string" required>
  User display name
</ParamField>

<ParamField body="password" type="string" required>
  User password (will be hashed)
</ParamField>

<ParamField body="profile_image_url" type="string" default="/user.png">
  URL to user's profile image
</ParamField>

<ParamField body="role" type="string" default="pending">
  User role: `admin`, `user`, or `pending`
</ParamField>

<ParamField body="username" type="string" optional>
  Username (optional)
</ParamField>

<ParamField body="oauth" type="object" optional>
  OAuth provider information for OAuth-based signups
</ParamField>

## Response

<ResponseField name="id" type="string">
  Unique user identifier (auto-generated UUID)
</ResponseField>

<ResponseField name="email" type="string">
  User email address
</ResponseField>

<ResponseField name="username" type="string" optional>
  Username
</ResponseField>

<ResponseField name="role" type="string">
  User role
</ResponseField>

<ResponseField name="name" type="string">
  User display name
</ResponseField>

<ResponseField name="profile_image_url" type="string">
  URL to user's profile image
</ResponseField>

<ResponseField name="last_active_at" type="integer">
  Unix timestamp of last activity (set to creation time)
</ResponseField>

<ResponseField name="updated_at" type="integer">
  Unix timestamp of last update
</ResponseField>

<ResponseField name="created_at" type="integer">
  Unix timestamp of creation
</ResponseField>

## Example Request

```bash theme={null}
curl -X POST "https://your-domain.com/api/v1/auths/signup" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "newuser@example.com",
    "name": "New User",
    "password": "securePassword123!"
  }'
```

## Example Response

```json theme={null}
{
  "id": "user-abc123",
  "email": "newuser@example.com",
  "role": "pending",
  "name": "New User",
  "profile_image_url": "/api/v1/users/user-abc123/profile/image",
  "last_active_at": 1709424000,
  "updated_at": 1709424000,
  "created_at": 1709424000
}
```

## Notes

* Email addresses are automatically converted to lowercase
* First user created automatically becomes an admin
* Subsequent users are created with `pending` role by default unless configured otherwise
* Profile image URL defaults to `/api/v1/users/{id}/profile/image`
* Password is hashed using secure password hashing before storage
* User creation is handled by the authentication system at `/api/v1/auths/signup`
