Anypoint CLI 3.x | MuleSoft Documentation
# Anypoint CLI 3.x
Anypoint Platform provides a scripting and command-line tool for both Anypoint Platform and Anypoint Platform Private Cloud Edition (Anypoint Platform PCE). The command-line interface (CLI) supports both the interactive shell and standard CLI modes and works with:
  *   * Anypoint DataGraph
  *   * Anypoint Runtime Manager
  * Use Runtime Manager to manage Mule applications deployed to CloudHub (hosted by MuleSoft) and locally hosted Mule servers.
  * CloudHub Load Balancers
  * API Manager 2.x (Crowd Release)
  * 

## Prerequisites
  * Download and install NodeJS and npm (node package manager) on your system.
Minimum versions required are:
  * Node.js LTS version 18.0.0 and later
  * npm 6.14.8
See the NodeJS download page.
  * Download and install the Git version management on your system.
See the Git download site.


Depending on the configuration of your system, you might need to run these commands using administrator credentials.   
---  
## Installation
```
$ npm install -g anypoint-cli@latest
```

Depending on the configuration of your system, you might need to run these commands using administrator credentials.   
---  
## Authentication
You can configure Anypoint CLI authentication with username and password, client ID and client secret, or a bearer token. At least one method is required.
As a part of Multi-factor authentication (MFA) enablement for all users, starting October 2022, the only way to use Anypoint CLI will be through Connected Apps.   
---  
### Username and Password
If you don’t log in using single sign-on (SSO), you can use your username and password to log into the CLI directly.
Parameter | Description  
---|---  
Your Anypoint Platform username You can also pass this value using the environment variable `export ANYPOINT_USERNAME=<name>`.  
Your Anypoint Platform password You can also pass this value using the environment variable `export ANYPOINT_PASSWORD=<pwd>`.  
For information about logging in using SSO, see About Identity Management.
### Client ID and Client Secret
You can configure a Connected App with the `client_credentials` grant type to use with the CLI.
Parameter | Description  
---|---  
The ID of the Connected App You can also pass this value using the environment variable `export ANYPOINT_CLIENT_ID=<client_id>`.  
`client_secret` |  The client secret of the Connected App You can also pass this value using the environment variable `export ANYPOINT_CLIENT_SECRET=<client_secret>`.  
For more information about Connected Apps, see Connected Apps.
### Bearer Token
If you have already generated a bearer token, you can pass it to the CLI directly. When you provide a bearer token, the CLI ignores any provided user or client credentials.
Parameter | Description  
---|---  
A bearer token for the Anypoint Platform Your CLI session expires when the bearer token expires.  
For information about generating a bearer token, see How to generate your Authorization Bearer token for Anypoint Platform.
## Optional Arguments
The Anypoint CLI takes the following optional arguments:
Parameter | Description  
---|---  
`organization` |  Your organization within Anypoint Platform You can also pass this value using the environment variable `export ANYPOINT_ORG=<name>`.  
Your Anypoint Platform environment You can also pass this value using the environment variable `export ANYPOINT_ENV=<name>`.  
The host of your Anypoint Platform Installation By default, this value points to `anypoint.mulesoft.com`.
  * If you are using Anypoint Platform PCE, pass the address where you are hosting the platform.
  * If you are using Anypoint Platform EU Cloud, pass your EU control plane address.

You can also pass this value using a dedicated environment variable `ANYPOINT_HOST=<name>`.  
## Usage
Keep the following in mind while using the Anypoint CLI:
  1. Environment variables override credentials file parameters and command-line parameters override environment variables. If you don’t pass a command-line parameter, the default profile properties are used.
  2. If not specified, the default environment is production.
  3. Your Anypoint session expires based on the **Default session timeout** configured in your Organization settings.
For information about your Organization settings, see Manage Root Organization Settings.
  4. The Anypoint CLI works with autocomplete.
You can start typing the name of the command or parameter and press Tab for autocomplete or press Tab+Tab for a list of options.


### Credentials File
The recommended way of passing these options to your Anypoint Platform CLI installation is using the `credentials` file located inside the `~/.anypoint` directory, which is not automatically created during installation. Follow these steps to create your credentials file:
  1. Create a directory called `.anypoint` in the `~/` directory for Linux and OSx, or `C:\Users\USERNAME \` in Windows.
  2. Navigate to your `.anypoint` directory and create a blank file named `credentials` with the following structure:
```
{
 "default": {
 "username": "yourAnypointUserName",
 "password": "yourAnypointPassword",
 "organization": "",
 "environment": "",
 "host": ""
 },
 "otherProfile": {
 "username": "",
 "password": "",
 "organization": "",
 "environment": "",
 "host": ""
 },
 "connAppProfile": {
 "client_id": "",
 "client_secret": "",
 "organization": "",
 "environment": "",
 "host": ""
 }
}
```

Note that the `default` profile is used unless the `ANYPOINT_PROFILE` environment variable is set:
```
> export ANYPOINT_PROFILE="otherProfile"
> anypoint-cli
```



Then run the `anypoint-cli` command without any options:
```
> anypoint-cli
```

### Dedicated Environment Variables
If you choose to pass the credentials when running `anypoint-cli`, pass both parameters as environment variables: `ANYPOINT_USERNAME` and `ANYPOINT_PASSWORD`.
```
> export ANYPOINT_USERNAME="username"
> export ANYPOINT_PASSWORD="password"
> anypoint-cli
```

### CLI Options
If you pass only your username, the Anypoint CLI prompts for your password.
```
> anypoint-cli --username="user"
Password: ****
```

### Pass Commands
After setting up a proper way to access Anypoint Platform from the CLI, you can start passing commands. See Anypoint Platform CLI 3.x List of Commands for instructions on how to use them.
### Use Anypoint CLI Through a Network Proxy
To use the Anypoint CLI through a proxy server, configure the `HTTP_PROXY` and `HTTPS_PROXY` (uppercase) environment variables with the hostname or IP addresses of your proxy servers.
Depending on your operating system, use the following commands:
  * Linux, macOS, or Unix
`$ export HTTP_PROXY=http://_proxy-server_:80`
`$ export HTTPS_PROXY=https://_proxy-server_:443`
  * Windows
`> set HTTP_PROXY=http://_proxy-server_:80`
`> set HTTPS_PROXY=https//_proxy-server_:443`


If the proxy server requires authentication, use these commands:
  * Linux, macOS, or Unix
`$ export HTTP_PROXY=http://_username_:_password_@_proxy-server_:80`
`$ export HTTPS_PROXY=https://_username_:_password_@_proxy-server_:443`
  * Windows
`> set HTTP_PROXY=http://_username_:_password_@_proxy-server_:80`
`> set HTTPS_PROXY=https://_username_:_password_@_proxy-server_:443`


## Notes
  * To improve the Anypoint CLI experience, we gather anonymized usage data. You can opt out by setting `collectMetrics` to false in the `credentials` file.


## See Also
  * Anypoint Platform CLI List of Commands