---
title: Managing Configuration Profiles
description: Ping CLI supports setting multiple configuration profiles to allow the developer to manage multiple environments based on their context.
component: pingcli
page_id: pingcli::general/cli-configuration-managing-configuration-profiles
canonical_url: https://developer.pingidentity.com/pingcli/general/cli-configuration-managing-configuration-profiles.html
revdate: March 23, 2025
section_ids:
  configuring-a-new-configuration-profile: Configuring a new configuration profile
  viewing-and-setting-the-current-active-profile: Viewing and setting the current active profile
  setting-configuration-values-to-a-profile: Setting configuration values to a profile
  deleting-a-configuration-profile: Deleting a configuration profile
---

# Managing Configuration Profiles

Ping CLI supports setting multiple configuration profiles to allow the developer to manage multiple environments based on their context.

When Ping CLI is first installed, there is a predefined default profile set as the active profile. The default profile can be confirmed with the command:

```console
pingcli config list-profiles
```

Configuration can be set to this profile using the `pingcli config set` command without specifying the `--profile` / `-P` command-line global parameter.

You can use the default profile when the developer is always going to manage a single environment at a time.

However, if the developer is working in multiple environments, new configuration profiles can be created. Examples for when to use multiple configuration profiles might be:

* When managing the configuration of more than one environment. For example, a development and a test environment.

* When experimenting with a sandboxed environment and porting configuration to a shared development environment.

* When managing multiple demonstration environments.

* When applying a concept of workspaces to development activities.

## Configuring a new configuration profile

To configure a new configuration profile, use the `pingcli config add-profile` command.

If the name and description of the new profile is not supplied as parameter arguments, Ping CLI prompts the developer for suitable values. The command also prompts the developer as to whether to set the profile as the current active profile, described below.

```console
pingcli config add-profile
```

The creation of the new profile can be confirmed with the `pingcli config list-profiles` command:

```console
pingcli config list-profiles
```

## Viewing and setting the current active profile

For any Ping CLI command, where the `--profile` / `-P` global flag is not specified in the command syntax, Ping CLI will use the configuration profile defined as the "Current Active Profile".

|   |                                                                                                                                                                                                    |
| - | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|   | When the `--profile` / `-P` global flag is defined for any Ping CLI command, this flag overrides the current active profile setting and Ping CLI uses the specified configuration profile instead. |

Developers can quickly see which configuration profile is set as the current active profile with the `pingcli config list-profiles` command:

```console
pingcli config list-profiles
```

Should the developer need to change the current active profile, the `pingcli config set-active-profile` command can be used (replacing `default` with the name of the configuration profile in the example):

```console
pingcli config set-active-profile default
```

## Setting configuration values to a profile

Configuration values can be set to a configuration profile using the `pingcli config set` command. Where the `--profile` / `-P` global flag is not specified in the command syntax, Ping CLI will use the configuration profile defined as the "Current Active Profile".

For example, the following commands set the current active profile to a previously created configuration profile and then sets a configuration value to it. In this case, setting the default output format to `json`:

```console
pingcli config set-active-profile my-new-profile
pingcli config set "outputFormat=json"
```

Since the current active profile is `my-new-profile`, if the developer wanted to set a configuration value to a different profile without changing the current active profile, the `--profile` / `-P` option can be used:

```console
pingcli config set --profile default "outputFormat=text"
```

To view the stored configuration of a profile, use the `pingcli config view-profile` command:

```console
pingcli config view-profile
```

You can find a full list of available configuration settings in the [Configuration Settings Reference](cli-configuration-settings-reference.html).

## Deleting a configuration profile

When a Ping CLI configuration profile is no longer needed, you can use the `pingcli config delete-profile` command.

After using this option, all configuration settings for that configuration profile will be removed from the filesystem.
