Configuration Automation - Ping CLI

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 init subcommand. For example, to configure only the PingOne connection for the active profile:

pingcli pingone init

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

pingcli init

Run the guided setup wizard to connect Ping CLI to services.

pingcli auth

Authenticate to all configured services, or check and revoke authentication.

pingcli pingone

Administration tools for the PingOne platform and its universal services.

pingcli davinci

Administration tools for the DaVinci universal service.

pingcli config

Manage the CLI configuration and profiles.

pingcli agent-skills

Find and install agent skills for Ping CLI.

pingcli completion

Generate shell completion scripts.

pingcli feedback

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

-h, --help

Display help for the command.

-O, --output-format

Set the output format: text (default), json, or ndjson.

-P, --profile

Specify a named configuration profile to use for the command.

-C, --config

Path to a custom configuration file (default: $HOME/.pingcli/config.yaml).

--no-color

Disable colored text output.

-D, --detailed-exitcode

Return distinct exit codes for success (0), errors (1), and warnings (2).

--debug

Enable debug output, including stack traces and transaction IDs.

--log-level

Set the console log level: DEBUG, INFO, WARN (default), or ERROR.

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.