---
title: pingcli pingone identity-providers replace
description: Replace an identity provider
component: pingcli
version: 1.0
page_id: pingcli:command_reference:pingcli_pingone_identity-providers_replace
canonical_url: https://developer.pingidentity.com/pingcli/1.0/command_reference/pingcli_pingone_identity-providers_replace.html
revdate: June 5, 2026
section_ids:
  synopsis: Synopsis
  examples: Examples
  options: Options
  options-inherited-from-parent-commands: Options inherited from parent commands
  more-information: More information
---

# pingcli pingone identity-providers replace

Replace an identity provider

## Synopsis

Replace (PUT) an identity provider in a PingOne environment.

The body supplied via --from-file must use the IdentityProviderBody wrapper shape: exactly one nested type block — "saml", "oidc", "apple", "facebook", "microsoft", "paypal", or "clientIdClientSecret" — containing all fields (including name and enabled).

Output from get/list uses the SDK flat polymorphic shape where "type" and all variant fields are at the top level. Because the input and output shapes differ, piping a get result directly into replace requires a manual reshape: move all fields under the appropriate nested block and remove server-set read-only fields (id, \_links, createdAt, updatedAt, environment).

```
pingcli pingone identity-providers replace [flags]
```

## Examples

```
  # Replace an identity provider from a JSON file (IdentityProviderBody wrapper shape: one nested type block)
  # Note: get/list output uses the SDK flat shape; reshape before piping into replace.
  pingcli pingone identity-providers replace --environment-id <env-id> --identity-provider-id <idp-id> --from-file identity-provider.json

  # Replace an identity provider from stdin
  pingcli pingone identity-providers replace --environment-id <env-id> --identity-provider-id <idp-id> --from-file - < identity-provider.json
```

## Options

```
  -e, --environment-id string         The PingOne environment ID
  -h, --help                          help for replace
  -f, --from-file string              Path to a JSON file containing the request body, or "-" to read from stdin.
  -i, --identity-provider-id string   The identity provider ID
```

## Options inherited from parent commands

```
  -C, --config string           The relative or full path to a custom Ping CLI configuration file. (default $HOME/.pingcli/config.yaml)
  -D, --detailed-exitcode       Enable detailed exit code output. (default false) 0 - pingcli command succeeded with no errors or warnings. 1 - pingcli command failed with errors. 2 - pingcli command succeeded with warnings.
  -O, --output-format string    Specify the console output format. (default text) Options are: json, ndjson, ndjson-wrapped, text.
  -P, --profile string          The name of a configuration profile to use.
      --debug                   Enable debug output for error messages, including stack traces and transaction IDs. (default false)
      --log-file string         Write logs to a file at the given path. File logging is disabled when not set.
      --log-file-level string   Set the file log level. Options are: DEBUG, INFO, WARN, ERROR. (default DEBUG)
      --log-level string        Set the console log level. Options are: DEBUG, INFO, WARN, ERROR. (default WARN)
      --no-color                Disable text output in color. (default false)
      --query string            JMESPath expression to filter JSON output. Requires -O json, ndjson, or ndjson-wrapped. Example: --query 'data[?enabled].name'
```

## More information

* [pingcli pingone identity-providers](pingcli_pingone_identity-providers.html) - Identity Providers
