= gerrit create-account

== NAME
gerrit create-account - Create a new user account.

== SYNOPSIS
[verse]
--
_ssh_ -p <port> <host> _gerrit create-account_
  [--group <GROUP>]
  [--full-name <FULLNAME>]
  [--email <EMAIL>]
  [--ssh-key - | <KEY>]
  [--http-password <PASSWORD>]
  [--token <TOKEN>]
  <USERNAME>
--

== DESCRIPTION
Creates a new internal-only user account.

If the account is created without an email address, it may only be
used for batch/role access, such as from an automated build system
or event monitoring over link:cmd-stream-events.html[gerrit stream-events].

Note, however, that in this case the account is not implicitly added
to the 'Service Users' group.  The account must be explicitly
added to the group with the `--group` option.

If LDAP authentication is being used, the user account is created
without checking the LDAP directory.  Consequently users can be
created in Gerrit that do not exist in the underlying LDAP directory.

== ACCESS
Caller must be a member of the privileged 'Administrators' group,
or have been granted
link:access-control.html#capability_createAccount[the 'Create Account' global capability].

== SCRIPTING
This command is intended to be used in scripts.

== OPTIONS
<USERNAME>::
	Required; SSH username of the user account.

--ssh-key::
	Content of the public SSH key to load into the account's
	keyring.  If `-` the key is read from stdin, rather than
	from the command line.

--group::
	Name of the group to put the user into.  Multiple --group
	options may be specified to add the user to multiple groups.

--full-name::
	Display name of the user account.
+
Names containing spaces should be quoted in single quotes (').
This most likely requires double quoting the value, for example
`--full-name "'A description string'"`.

--email::
	Preferred email address for the user account.

--http-password::
    HTTP password for the user account. (deprecated)
    **NOTE** The password is limited to 71 characters.

--token::
    Authentication token for the user account.
    **NOTE** The token is limited to 71 characters.

--token-id::
    ID used for the provided token. If not provided, the token id will
    be generated based on the timestamp.

== EXAMPLES
Create a new batch/role access user account called `watcher` in
the 'Service Users' group.

----
$ cat ~/.ssh/id_watcher.pub | ssh -p 29418 review.example.com gerrit create-account --group "'Service Users'" --ssh-key - watcher
----

GERRIT
------
Part of link:index.html[Gerrit Code Review]

SEARCHBOX
---------
