Getting started
Ping CLI is a cross-platform command-line tool for managing the configuration of Ping Identity services. This guide walks you through verifying your installation, connecting to services, and running your first commands.
Install the CLI
To begin, select the appropriate method of installation instructions for your platform:
|
Ping CLI can also be run as a container. Refer to Docker installation for setup instructions. |
Confirm Ping CLI is installed and check the version:
pingcli --version
If the command returns a version number, Ping CLI is ready to use. If the command is not found, return to the installation instructions for your platform and ensure the executable is in your system’s PATH.
Connect to Ping Identity services
Ping CLI supports connections to multiple Ping Identity products and services simultaneously. Connection settings are organized into profiles: each profile represents a distinct logical environment, such as sandbox, development, or testing.
Within a profile, one instance of each supported product can be connected. For example, a development profile might point to your PingOne development tenant and a PingFederate development instance, while a separate sandbox profile connects to sandbox tenants of the same products. Switching the active profile redirects all CLI commands to the corresponding set of product instances without changing any individual service configuration.
This model lets you maintain separate credentials and service endpoints for each environment and switch between them quickly with a single command:
pingcli config profiles use sandbox
The active profile is used automatically by every command that does not specify --profile explicitly.
To configure your first profile, use the interactive setup wizard:
pingcli init
The wizard prompts you to select the services you want to connect, choose an authentication method, and enter the required credentials. Your answers are saved to .pingcli/config.yaml in your home directory.
|
Individual service connectors expose their own
|
For advanced setup (including scripted environments, multiple profiles, and CI/CD pipelines), see Configure CLI settings. For a full guide to creating and switching between profiles, see Managing Configuration Profiles.
Authenticate
After configuring your connections, log in to all configured services at once:
pingcli auth login
Verify that authentication succeeded:
pingcli auth status
The status command shows which services are authenticated, which have expired tokens, and which are not yet configured. When you are done, revoke and clear stored tokens with:
pingcli auth logout
For token storage options and per-connector authentication, see Authenticating to services.
Understand command structure
Ping CLI commands follow a consistent pattern:
pingcli [global options] <command> [subcommand] [flags]
Top-level commands correspond to functional areas:
| Command | Purpose |
|---|---|
|
Run the guided setup wizard to connect Ping CLI to services. |
|
Authenticate to all configured services, or check and revoke authentication. |
|
Administration tools for the PingOne platform and its universal services. |
|
Administration tools for the DaVinci universal service. |
|
Manage the CLI configuration and profiles. |
|
Find and install agent skills for Ping CLI. |
|
Generate shell completion scripts. |
|
Report issues and send feedback on the CLI. |
Service connectors expose their own subcommands for operations, API requests, and authentication. For example, pingcli pingone environments list lists all PingOne environments, and pingcli pingone api sends a custom REST request to the PingOne management API.
Get help for any command
Append --help to any command or subcommand to see its options and examples:
pingcli --help
pingcli pingone --help
pingcli pingone environments --help
The help output lists available subcommands, flags, and usage examples. For a complete reference of every command and parameter, see the Command reference.
Global options
The following options are available on all Ping CLI commands:
| Option | Description |
|---|---|
|
Display help for the command. |
|
Set the output format: |
|
Specify a named configuration profile to use for the command. |
|
Path to a custom configuration file (default: |
|
Disable colored text output. |
|
Return distinct exit codes for success (0), errors (1), and warnings (2). |
|
Enable debug output, including stack traces and transaction IDs. |
|
Set the console log level: |
You can find a full list of configuration keys and their environment variable equivalents in Configuration settings reference.
Enable shell completion
Ping CLI supports tab completion for bash, zsh, fish, and PowerShell. To enable it for your current session:
-
bash
-
zsh
-
fish
-
PowerShell
source <(pingcli completion bash)
source <(pingcli completion zsh)
pingcli completion fish | source
pingcli completion powershell | Out-String | Invoke-Expression
For instructions on making completion persistent across sessions, see pingcli completion.
Output formats
By default, Ping CLI outputs results as human-readable text. For machine processing or scripting, switch to JSON or newline-delimited JSON:
pingcli --output-format json pingone environments list
The --output-format flag is available on all commands and can be set as a persistent default in your configuration:
pingcli config set "outputFormat=json"
For more on the different output formats available, see Output formats and for examples of handling and filtering output, see Filtering and transforming output.
Send feedback
To report issues or share feedback directly from the CLI:
pingcli feedback
The command prints links to the Ping CLI issue tracker and feedback channels.