# Create a user Create a new user in a realm. **Note**: The requesting user must be an administrator. `POST {{ api_url }}/v1/users` ## Usage examples
``` curl {{ api_url }}/v1/users \ -u BOT_EMAIL_ADDRESS:BOT_API_KEY \ -d "email=newbie@zulip.com" \ -d "full_name=New User" \ -d "short_name=newbie" \ -d "password=temp" ```
```python #!/usr/bin/env python import zulip # You need a zuliprc-admin with administrator credentials client = zulip.Client(config_file="~/zuliprc-admin") # Create a user print(client.create_user({ 'email': 'newbie@zulip.com', 'password': 'temp', 'full_name': 'New User', 'short_name': 'newbie' })) ```
More examples and documentation can be found [here](https://github.com/zulip/zulip-js). ```js const zulip = require('zulip-js'); // You need a zuliprc-admin with administrator credentials const config = { zuliprc: 'zuliprc-admin', }; zulip(config).then((client) => { // Create a user const params = { email: 'newbie@zulip.com', password: 'temp', full_name: 'New User', short_name: 'newbie' }; client.users.create(params).then(console.log); }); ```
## Arguments {generate_api_arguments_table|arguments.json|create-user.md} ## Response #### Example response A typical successful JSON response may look like: ``` { 'result':'success', 'msg':'' } ``` A typical JSON response for when another user with the same email address already exists in the realm: ``` { 'msg':"Email 'newbie@zulip.com' already in use", 'result':'error' } ``` {!invalid-api-key-json-response.md!}