# customer: Customer Accounts

The `customer` utility is designed for managing customer accounts. The following operations are supported by the utility:

- creating and removing customer accounts
- changing the owner account of a customer account
- converting customer accounts to reseller accounts
- enabling and disabling existing customer accounts
- editing customer’s credentials and personal data
- applying APS applications filter

## Usage

    customer <command> [<login_name>] [
    <option_1> [<param>]
    [<option_2> [<param>]]
    ... [<option_N> [<param>]]

## Example

The following command creates a customer account with the contact name John Doe `,` Plesk login name JDoe, and password sample for Plesk administrator, specifies the Unites States as the customer’s country, and prevents automatic sending of standard Plesk mail notifications (if they are enabled) about the account creation.

    plesk bin customer --create JDoe -name "John Doe" -passwd sample -country US -notify false

## Commands

Command | Parameter | Description | Example
--- | --- | --- | ---
`--create` or `-c` | `<login_name>` | Creates a customer account. The argument of the command must begin with an alphabetic symbol. If customer owner is not specified, a created customer belongs to Plesk administrator. | To create a customer account named John Doe with login name JDoe and password sample for the reseller RichardRoe:
    plesk bin customer --create JDoe -name "John Doe" -passwd sample -owner RichardRoe
or
    plesk bin customer -c JDoe -name "John Doe" -passwd sample -owner RichardRoe
`--update` or `-u` | `<login_name>` | Updates settings of an existing customer account. | To change a customer login to John and set password to mypass for the customer with current login JDoe :
    plesk bin customer --update JDoe -login John -passwd mypass
or
    plesk bin customer -u JDoe -login John -passwd mypass
`--remove` or `-r` | `<login_name>` | Deletes a customer account. | To remove the customer account with the login JDoe:
    plesk bin customer --remove JDoe
or
    plesk bin customer -r JDoe
`--info` or `-i` | `<login_name>` | Displays information about customer account settings. | To view information about the customer account with the login John:
    plesk bin customer --info John
or
    plesk bin customer -i John
`--on` | `<login_name>` | Enables a customer account. | To enable the customer account with the login John:
    plesk bin customer --on John
`--off` | `<login_name>` | Disables a customer account. | To disable the customer account with the login John:
    plesk bin customer --off John
`--list` or `-l` |  | Displays the list of customers. | To display the list of customers:
    plesk bin customer --list
`--convert-to-reseller` | `<login_name>` | Converts a customer account to a reseller account. | To convert the customer JDoe into a reseller with hosting plan “Default Reseller”:
    plesk bin customer --convert-to-reseller JDoe -reseller-plan "Default Reseller"
`--change-owner` | `<login_name>` | Moves the customer to another owner (reseller or administrator). | To move the customer JDoe to a reseller RichardRoe and assign IP address 10.25.43.125 to the customer:
    plesk bin customer --change-owner JDoe -owner RichardRoe -ip 10.52.43.125 -plan "Default Domain"
`--add-aps-filter-item` | `<customer_name>` | Adds an application to the list of applications allowed for installation. This command can be used with the following options: `-aps-filter-item-name` `-aps-filter-item-value` | To add the application AdvancedPoll identified by the system by the name “advancedpoll” to the list of applications allowed for installation by customer JDoe:
    plesk bin customer --add-aps-filter-item "JDoe" -aps-filter-item-name name -aps-filter-item-value "advancedpoll"
`--remove-aps-filter-item` | `<customer_name>` | Removes an APS application from the list of applications available for installation. | To remove the application named “advancedpoll” from the list of applications available for installation by customer JDoe:
    plesk bin customer --remove-aps-filter-item "JDoe" -aps-filter-item-name name -aps-filter-item-value "advancedpoll"
`--enable-aps-filter` | `<customer_name>` | Enables the APS applications filter for the specified customer. The filter restricts the list of applications available for installation on websites. If an applications filter is not enabled (configured), then the customer can install all applications available from the Application Catalog + those that were uploaded to the server by the administrator and marked as available for installation. | To switch on the application filter and restrict the number of applications available for installation by customer JDoe to a single application named WordPress, use the following two commands:
    plesk bin customer --enable-aps-filter "JDoe"

    plesk bin customer --add-aps-filter-item "JDoe" -aps-filter-item-name name -aps-filter-item-value "wordpress"
`--disable-aps-filter` | `<customer_name>` | Disables the APS applications filter for the specified customer. | To switch off the application filter for the customer JDoe:
    plesk bin customer --disable-aps-filter "JDoe"
`--show-aps-filter-info` | `<customer_name>` | Shows information on the active APS applications filter. If an applications filter is disabled, then the customer can install all applications available from the Application Catalog + those that were uploaded to the server by the administrator and marked as available for installation. | To check if application filtering is enabled for the customer JDoe:
    plesk bin customer --show-aps-filter-info "JDoe"
`--help` or `-h` |  | Displays help page on the use of the utility. | To view help on the client utility:
    plesk bin customer --help
or
    plesk bin customer  -h

## Options

Option | Parameter | Description | Example
--- | --- | --- | ---
`-company` | `<string>` | Specifies customer’s company name. | To set the company name in the personal info of the customer with the login name John to MegaCompany Inc.:
    plesk bin customer -u John -company "MegaCompany Inc."
`-name` | `<string>` | Specifies customer’s contact name. Required with `--create`. | To create the John Doe customer account with the customer login name JDoe and password sample:
    plesk bin customer -c JDoe -name "John Doe" -passwd sample
`-login` | `<customer_login_name>` | Specifies customer’s login name used to entering Plesk. Used with `--update` only. | To set customer login name to John for the customer account with current login name JDoe:
    plesk bin customer -u JDoe -login John
`-passwd` | `<password>` | Specifies customer’s password used to entering Plesk. Required with `--create`. Required with `-passwd_type` option. For additional comments, see the Note below. | To create the John Doe customer account with the login name JDoe and password sample:
    plesk bin customer -c JDoe -name "John Doe" -passwd sample
`-passwd_type` | `plain|encrypted` | Specifies the type of customer password. Requires `-passwd` option. Is `plain` by default. | To set the type of the password for the customer account with the login name JDoe and password sample to encrypted:
    plesk bin customer -u JDoe -passwd_type encrypted -passwd '$1$R0x0hAmB$haReJwgGDaGOuFETdjv3P0'
`-phone` | `<number>` | Specifies customer’s phone number. | To set the phone number for the customer with the login name JDoe to 5552345:
    plesk bin customer -u JDoe -phone 5552345
`-fax` | `<number>` | Specifies customer’s fax number. | To set the fax number for the customer with the login name JDoe to 5552337:
    plesk bin customer -u JDoe -fax 5552337
`-email` | `<string>` | Specifies customer’s email address. | To set the email address for the customer with login name JDoe to JDoe@example.com:
    plesk bin customer -u JDoe -email JDoe@example.com
`-address` | `<string>` | Specifies customer’s postal address. | To set the postal address for the customer with the login name JDoe to 8 Main street:
    plesk bin customer -u JDoe -address "8 Main street"
`-city` | `<string>` | Specifies customer’s city. | To set the city address for the customer with login name JDoe to New York:
    plesk bin customer -u JDoe -city "New York"
`-state` | `<string>` | Specifies customer’s state/province. | To set the state for the customer with login name JDoe to NY:
    plesk bin customer -u JDoe -state NY
`-zip` | `<string>` | Specifies customer’s zip/postal code. | To set the postal code for the customer with login name JDoe to 52345:
    plesk bin customer -u JDoe -zip 52345
`-country` | `<country_code>` | Specifies customer’s country: a two-letters upper-case code in compliance with ISO 3166. | To set the country for the customer with login name JDoe to United States:
    plesk bin customer -u JDoe -country US
`-notify` | `true|false` | Allows/Prevents standard email notifications on customer account creation. Used with the `--create` only. | To prevent sending standard email notifications on creation of John Doe customer account with the login name JDoe and password sample:
    plesk bin customer -c JDoe -name "John Doe" -passwd sample -notify false
`-creation-date` | `<YYYY-MM-DD>` | Sets the account creation date (can be arbitrary). Used only with the `--create` command. | To set the creation date for the new John Doe account with the login name JDoe and password sample for Plesk administrator to 2010-08-25:
    plesk bin customer -c JDoe -name "John Doe" -passwd sample -creation-date 2010-08-25
`-owner` | `<login_name>` | Specifies the owner’s login. Used with the `--create` and `--change-owner` commands. | To create a customer account named John Doe with the login name JDoe and password sample for the reseller RichardRoe:
    plesk bin customer -c JDoe -name "John Doe" -passwd sample -owner RichardRoe
`-reseller-plan` | `<string>` | Specifies the reseller plan that will be used for a reseller that was converted from a customer. | To convert the customer JDoe into a reseller with hosting plan “Default Reseller”:
    plesk bin customer --convert-to-reseller JDoe -reseller-plan "Default Reseller"
`-plan` | `<string>` | Specifies a plan that will be assigned to the customer’s after moving to another owner. | To move the customer JDoe to a reseller RichardRoe and assign IP address 10.25.43.125 to the customer:
    plesk bin customer --change-owner JDoe -owner RichardRoe -ip 10.52.43.125 -plan "Default Domain"
`-ip` | `<IP address>[,<IP address>,..]` | Specifies the list of IP addresses that will be assigned to the customer’s subscriptions after moving the customer to another owner. |
`-description` | `<string>` | Specifies a description of the customer to be displayed in Plesk. | To add a description to the customer account JDoe:
    plesk bin customer -u JDoe -description "Notes about John Doe"
`-aps-filter-item-name` | `<name|uri>` | Specifies identifier of APS applications filter item: whether the filtered app is identified by name or URI. | To add an application AdvancedPoll identified by the system by the name “advancedpoll” to the list of applications allowed for installation by the customer JDoe:
    plesk bin customer --add-aps-filter-item "JDoe" -aps-filter-item-name name -aps-filter-item-value "advancedpoll"
`-aps-filter-item-value` | `<value>` | Specifies the actual name or URI of the filtered APS app. |

Note

Use of this option is not recommended. Passing passwords through CLI as parameters of the `-passwd` option may potentially compromise the system’s security as command line can be observed by other users of the system. It is more secure to pass passwords through the environment variables. You can transfer non-encrypted passwords by using environment variable `PSA_PASSWORD` while using single quotes to specify the empty values in the command line for the argument of the `-passwd` option.

Similarly, you can transfer encrypted passwords through the environment variable `PSA_CRYPTED_PASSWORD` while using single quotes to specify the empty values in the command line for the argument of the `-passwd` option.