# Change CLI configuration

The CLI configuration contains the information required to communicate with the akamas server. It can be easily created and updated with a configuration wizard. This page describes the main options of the Akamas CLI and how to modify them.

## API Address

The CLI, as well as the UI, interacts with the akamas server via APIs. The `apiAddress` configuration contains the information required in order to communicate with the server.

The Akamas Server provides two different listeners to interact with APIs:

* a **HTTP** listener on port **8000**
* a **HTTPS** listener on port **8443**

For improved security, it is recommended to configure CLI communications with the Akamas Server over HTTPS. Notice that you need to have a valid certificate installed on your Akamas server (at least a self-signed one) in order to enable HTTPS communication between CLI and the Akamas Server.

## Changing CLI protocol <a href="#installingakamascommand-lineinterface-cli-configurationusingthecli" id="installingakamascommand-lineinterface-cli-configurationusingthecli"></a>

The CLI can be configured either directly via the CLI itself or via the YAML configuration file `akamasconf`.

### Using the CLI <a href="#installingakamascommand-lineinterface-cli-configurationusingthecli" id="installingakamascommand-lineinterface-cli-configurationusingthecli"></a>

Issue the following command to change the configuration of the Akamas CLI:

```bash
akamas init config
```

and then follow the wizard to provide the required CLI configuration:

enable HTTPS communications:

```
Api address [http://localhost:8000]: https://<akamas server dns name>:8443
Workpace [default]: Workspace1
Verify SSL: [True]: True
Is external certificate CA required? [y/N]: N
```

* enable HTTP communications:

```
Api address [http://localhost:8000]: http://<akamas server dns name>:8000
Workspace [default]: Workspace1
```

Please notice that `Verify SSL` must be set to True only if you are using a valid certificate. If you are using a self-signed one, please set it to `False`. This will mimic the behavior of accepting a not valid HTTPS certificate on your favorite browser.

### Using the `akamasconf` file <a href="#installingakamascommand-lineinterface-cli-configurationusingtheakamasconffile" id="installingakamascommand-lineinterface-cli-configurationusingtheakamasconffile"></a>

Create a file and name it `akamasconf` to be located in the following location:

* Linux: `~/.akamas/akamasconf`
* Windows: `C:\Users\<username>\.akamas` (where C: is the drive where the OS is installed)

The file location can be customized by setting an `$AKAMASCONF` environment variable.

Here is an example `akamasconf` file provided as a sample:

{% code lineNumbers="true" %}

```
apiAddress: http[s]://<akamas server dns name>:8000[8443]
verifySsl: [true|false]
organization: akamas
workspace: default
```

{% endcode %}

The SSL certificate is only required if verifySsl is set to true. In this case the SSL certificate requires an external CA to be validated.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.akamas.io/akamas-docs/3.1.2/installing-akamas/install-the-akamas-cli/change-cli-config.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
