> ## Documentation Index
> Fetch the complete documentation index at: https://nango.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# PingOne

> Access the PingOne API in 2 minutes 💨

> [tab] 🚀 Quickstart
>
> **1. Create an integration**
>
> In Nango ([free signup](https://app.nango.dev)), go to [Integrations](https://app.nango.dev/dev/integrations) -> *Configure New Integration* -> *PingOne*.  Nango doesn't have a Nango-managed OAuth app for PingOne yet. You'll need to set up your own by following these [instructions](#🧑%E2%80%8D💻-oauth-app-setup). After that, make sure to add the OAuth client ID, secret, and scopes in the integration settings in Nango.
>
> **2. Authorize PingOne**
>
> Go to [Connections](https://app.nango.dev/dev/connections) -> *Add Test Connection* -> *Authorize*, then log in to PingOne. Later, you'll let your users do the same directly from your app.
>
> **3. Call the PingOne API**
>
> Let's make your first request to the PingOne API (fetch a list of all environments). Replace the placeholders below with your [Environment API key](https://nango.dev/docs/reference/backend/http-api/api-keys.md), [integration ID](https://app.nango.dev/dev/integrations), and [connection ID](https://app.nango.dev/dev/connections):
>
> > [tab] cURL
> >
> > ```bash theme={null}
> > curl "https://api.nango.dev/proxy/v1/environments?limit=10" \
> >   -H "Authorization: Bearer <NANGO-API-KEY>" \
> >   -H "Provider-Config-Key: <INTEGRATION-ID>" \
> >   -H "Connection-Id: <CONNECTION-ID>"
> > ```
>
> > [tab] Node
> >
> > Install Nango's backend SDK with `npm i @nangohq/node`. Then run:
> >
> > ```typescript theme={null}
> > import { Nango } from '@nangohq/node';
> >
> > const nango = new Nango({ apiKey: '<NANGO-API-KEY>' });
> >
> > const res = await nango.get({
> >     endpoint: '/v1/environments',
> >     providerConfigKey: '<INTEGRATION-ID>',
> >     params: {
> >       limit: 10
> >     },
> >     connectionId: '<CONNECTION-ID>'
> > });
> >
> > console.log(JSON.stringify(res.data, null, 2));
> > ```
>
> Or fetch credentials dynamically via the [Node SDK](https://nango.dev/docs/reference/backend/backend-sdk/node.md#get-a-connection-with-credentials) or [API](https://nango.dev/docs/reference/backend/http-api/connections/get.md).
>
> ✅ You're connected! Check the [Logs](https://app.nango.dev/dev/logs) tab in Nango to inspect requests.
>
> > [!TIP]
> >
> > Next step: [Embed the auth flow](https://nango.dev/docs/guides/primitives/auth.md) in your app to let your users connect their PingOne accounts.

> [tab] 🧑‍💻 OAuth app setup
>
> **1. Sign in to the PingOne admin console**
>
> If you don't have a PingOne account, you can sign up for a [free trial](https://www.pingidentity.com/en/try-ping.html).
>
> Once your account is ready, sign in to your PingOne admin console.
>
> **2. Add an OIDC Web App**
>
> 1. In the admin console, select **Applications** → **Applications**.
> 2. Click the **+** icon next to Applications to add a new app.
> 3. In the **Application Name** field, enter a name for your application.
> 4. Select **OIDC Web App** as the **Application Type**.
> 5. Click **Save**.
>
> **3. Configure the OIDC Web App**
>
> 1. Click on the **Configuration** tab, then click on the pencil icon to edit configuration settings.
> 2. Check the **Refresh Token** checkbox, then add `https://api.nango.dev/oauth/callback` as your **Redirect URIs**.
> 3. From the **Token Endpoint Authentication Method** dropdown, select **Client Secret Post**.
> 4. Click the **Save** button.
> 5. Navigate to the **Resources** tab, then click the pencil icon. Select the scopes your app needs from the list. You can refer to the [PingOne scopes documentation](https://apidocs.pingidentity.com/pingone/main/v1/api/#pingone-self-management-scopes) for details.
> 6. Click **Save** to apply your changes.
>
> **4. Obtain OAuth credentials**
>
> 1. Click the toggle at the upper right to enable the application.
> 2. Navigate to the **Overview** tab and copy your **Client ID** and **Client Secret** as you will need them when configuring your integration in Nango.
>
> **5. Next**
>
> Follow the [*Quickstart*](https://nango.dev/docs/getting-started/quickstart.md) to start using your PingOne integration.
>
> ## Common Scopes
>
> | Scope | Description |
> | - | - |
> | `p1:read:user` | Allows an application to retrieve user profile information and attributes. |
> | `p1:update:user` | Allows updating user identity attributes, such as name, email, or custom fields. |
> | `p1:read:userPassword` | Allows reading the password state (e.g., expired, needs reset) for a user. |
> | `p1:reset:userPassword` | Allows resetting the user’s password. |
> | `p1:read:device` | Allows retrieving the user’s registered MFA devices. |
> | `p1:update:userMfaEnabled` | Allows enabling or disabling multi-factor authentication (MFA) for a user. |

> [tab] 🔗 Useful links
>
> | Topic | Links |
> | - | - |
> | Authorization | [Guide to connect to PingOne using Connect UI](https://nango.dev/docs/integrations/all/pingone/connect) |
> | General | [PingOne Website](https://www.pingidentity.com/) |
> | | [How to access your instance Admin console home page](https://docs.pingidentity.com/pingone/getting_started_with_pingone/p1_access_admin_console.html?_gl=1*1izhtt*_gcl_au*MzY3MzQ2ODA0LjE3NTgwNDY2NDg.*_ga*MTM4OTI2Mjk1NS4xNzU4MDQ2NjQ4*_ga_V94KKVLZPT*czE3NjAzNjE0NzAkbzQkZzEkdDE3NjAzNjI4ODAkajM0JGwwJGg3NzQ1MDEyNjI.) |
> | Developer | [PingOne API Documentation](https://apidocs.pingidentity.com/pingone/platform/v1/api/#top) |
> | | [OAuth 2.0 Authorization code grant type Guide](https://apidocs.pingidentity.com/pingone/main/v1/api/#authorization-code-grant-type) |
> | | [Access services through scopes](https://apidocs.pingidentity.com/pingone/main/v1/api/#access-services-through-scopes-and-roles) |
> | | [Application Management](https://apidocs.pingidentity.com/pingone/platform/v1/api/#application-management) |
> | | [Working with PingOne APIs](https://apidocs.pingidentity.com/pingone/platform/v1/api/#working-with-pingone-apis) |
> | | [API Rate Limiting](https://apidocs.pingidentity.com/pingone/platform/v1/api/#rate-limiting) |
>
> > [!NOTE]
> >
> > Contribute useful links by [editing this page](https://github.com/nangohq/nango/tree/master/docs-v2/integrations/all/pingone.mdx)

> [tab] 🚨 API gotchas
>
> *None yet, add yours!*
>
> > [!NOTE]
> >
> > Contribute API gotchas by [editing this page](https://github.com/nangohq/nango/tree/master/docs-v2/integrations/all/pingone.mdx)

> [!NOTE]
>
> Questions? Join us in the [Slack community](https://nango.dev/slack).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.