# Create User [ADMIN]

**POST** `/v1/users`

Creates or reuses a direct-registration user identity without an OTP verification step.

### [ADMIN]

Use this endpoint for trusted back-office or server-side onboarding flows where the platform should create the user immediately.

If `user.username` does not already exist as a direct-registration identity, the API creates a new user and session. If it already exists, the API reuses that identity, refreshes the session for the supplied `user.uuid`, and appends the requested user type when needed.

Set `user.key` to `true` if you want the response to include `auth_key` and `refresh_key`. When omitted or `false`, the endpoint returns the user object without session keys.

### Notes

- `user.type` currently accepts only `customer`.
- `user.auth_type` defaults to `6` (`AUTH_TYPE_DIRECT_REGISTRATION`) when omitted.
- This endpoint does not send OTP, email verification, or SMS verification messages.

### Response fields

**user.id** unique user id.  
**user.first_name** first name of the user.  
**user.last_name** last name of the user.  
**user.username** direct-registration username stored for the user.  
**user.email** email address stored on the user profile.  
**user.profile_pic** profile picture URL.  
**user.email_verified** states whether the email is verified.  
**user.metadata** custom metadata stored for the user.  
**user.type** assigned user types.  
**user.mobile** mobile number if stored on the identity.  
**user.dial_code** dial code if stored on the identity.

**user.key** returned only when `user.key=true`.  
 **auth_key** authorization key of the user. expires in 30 minutes.  
 **refresh_key** refresh key to refresh the auth token when auth key is expired.