canonical: https://jentic.com/apis/pingidentity.com/pingone

# Ping Identity PingOne API

PingOne provides cloud-based identity and access management with single sign-on, multi-factor authentication, directory services, and user lifecycle management. The API exposes full control over users, groups, applications, authentication policies, MFA configuration, directory synchronization, and identity verification workflows. Built for enterprises requiring CIAM (Customer Identity and Access Management) and workforce IAM at scale with OAuth 2.0, OIDC, and SAML support.

## For AI agents

Manage users, groups, applications, MFA policies, SSO configuration, and authentication workflows in PingOne's cloud identity platform. Supports OAuth 2.0, OIDC, and SAML for enterprise IAM and CIAM.

## Scope

Does not handle application hosting, infrastructure provisioning, or privileged access management - use for cloud identity, SSO, MFA, and user lifecycle management only.

## Capabilities

- Create and manage users with profile attributes, group memberships, and lifecycle states
- Configure multi-factor authentication policies with SMS, email, TOTP, and biometric verification
- Provision and manage SSO applications with OIDC, SAML, and OAuth 2.0 integrations
- Define authentication policies with risk-based adaptive MFA and step-up authentication
- Synchronize directories from Active Directory, LDAP, and SCIM sources
- Manage API clients and OAuth 2.0 authorization grants programmatically
- Configure password policies, account lockout rules, and session management
- Track authentication events, security incidents, and user activity logs

## Use cases

### AI Agent Identity Automation

AI agents use PingOne through Jentic to automate user provisioning, MFA enrollment, and access policy enforcement without manual identity administration. An agent discovers user and MFA endpoints via Jentic's intent search, provisions new employees, enrolls them in MFA, assigns SSO applications, and responds to authentication events - all programmatically in real time.

Example prompt: Create a new user 'john.doe@acme.com' with firstName, lastName, and mobilePhone attributes, then enroll them in TOTP MFA and assign to the 'Engineering' group

### Adaptive Authentication Workflows

Implement risk-based authentication that adapts MFA requirements based on login context such as device fingerprint, IP reputation, geolocation, and behavior analytics. The API allows creating authentication policies with step-up MFA triggers, passwordless flows, and device trust signals. Combined with event webhooks, agents can enforce dynamic access controls in response to threat intelligence.

Example prompt: Configure an authentication policy for the 'Admin Portal' application requiring TOTP step-up when login risk score exceeds threshold or user accesses from new device

### Enterprise SSO Application Provisioning

Automate the provisioning of SAML and OIDC SSO applications for SaaS integrations across the organization. The API supports creating application connections with metadata URLs, ACS endpoints, attribute mappings, and user assignment rules. IT teams can onboard new SaaS apps programmatically without manual dashboard configuration.

Example prompt: Create a new SAML application for 'Salesforce' with ACS URL, entity ID, and attribute statements mapping email, firstName, and lastName claims

### Directory Synchronization and User Lifecycle

Synchronize user identities from Active Directory, LDAP, or HR systems into PingOne and manage the full user lifecycle including onboarding, attribute updates, role changes, and offboarding. The API supports SCIM provisioning, bulk user import, and scheduled directory sync jobs. User state transitions (active, disabled, archived) can be automated based on external triggers.

Example prompt: Trigger a directory sync job from Active Directory, retrieve the sync status, then query newly created users and assign them to default applications based on department attribute

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/v1/environments/{envId}/users` | Create a new user |
| GET | `/v1/environments/{envId}/users` | List all users with filtering |
| PUT | `/v1/environments/{envId}/users/{userId}` | Update user profile attributes |
| POST | `/v1/environments/{envId}/users/{userId}/mfaSettings` | Enroll user in MFA |
| POST | `/v1/environments/{envId}/applications` | Create SSO application |
| GET | `/v1/environments/{envId}/events` | Query authentication events |
| POST | `/v1/environments/{envId}/policies` | Create authentication policy |

## Key resources

- **Users** — Create, update, list, and delete users with profile attributes and lifecycle states
- **Groups** — Manage user groups with nested memberships and role assignments
- **Applications** — Configure SSO applications with SAML, OIDC, and OAuth 2.0 settings
- **MFA Policies** — Define multi-factor authentication requirements and verification methods
- **Authentication Policies** — Set risk-based and step-up authentication rules per application
- **OAuth Clients** — Manage API clients for OAuth 2.0 authorization flows
- **Events** — Query authentication events, security incidents, and audit logs

## Why Jentic

- **Setup:** Wiring PingOne by hand means implementing its OAuth 2.0 client-credentials flow, threading the environment id through every `/v1/environments/{envId}`/ path, and handling token refresh and retries yourself. Through Jentic you install once, import PingOne from the API Directory, store the client id and secret once, and your agent calls it.
- **Permission scoping:** PingOne puts the environment id in the URL path (`/v1/environments/{envId}/users/{userId}`), so a rule can pin your agent to one environment and the users and applications inside it. You choose the operations it may call, so destructive ones like deleting a user or rewriting a policy are not included unless you add them.
- **Credential handling:** Your PingOne client id and secret are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create a user in PingOne' or 'enroll a user in MFA', and Jentic returns the matching PingOne operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Okta API** — Identity platform with user management, SSO, and MFA similar to PingOne
- **Auth0 API** — CIAM platform with authentication, authorization, and user management for developers

## FAQ

### What authentication does the PingOne API use?

The API uses OAuth 2.0 client credentials flow. You create an API client (worker app) in the PingOne console with required scopes, then exchange client_id and client_secret for an access token at the `/as/token` endpoint. Through Jentic, credentials are stored encrypted and agents receive authenticated requests without raw tokens in context.

### Can I provision users with MFA enrollment via the API?

Yes. POST `/v1/environments/{envId}/users` creates the user, then POST `/v1/environments/{envId}/users/{userId}/mfaSettings` enrolls them in MFA methods like TOTP, SMS, or email. You can also enforce MFA policies at the authentication policy level to require enrollment on first login.

### What are the rate limits for the PingOne API?

PingOne enforces rate limits per environment and API client: typically 600 requests per minute for user operations and 120 requests per minute for authentication policy changes. Rate limit headers are returned in responses. Higher limits are available on Enterprise plans.

### How do I configure SSO for a new application through Jentic?

Search Jentic for 'create SSO application in PingOne' to find POST `/v1/environments/{envId}/applications.` Load the schema which includes protocol (SAML or OIDC), ACS URL, redirect URIs, and attribute mappings. Execute with your application details - Jentic handles OAuth 2.0 authentication automatically.

### Does PingOne support webhooks for authentication events?

Yes. You can configure webhooks to receive real-time notifications for authentication events, user lifecycle changes, and security incidents. Configure webhook endpoints in the PingOne console or via the API, and your endpoint will receive signed HTTP POST payloads for subscribed event types.

### Is the PingOne API included in all plans?

API access is included with PingOne paid plans (Workforce, Customer) starting at custom enterprise pricing. Free trial environments include full API access with rate limits. Developer accounts are available for testing and proof-of-concept work.

### Can I limit what my agent is allowed to do with the PingOne API?

Yes. Because Jentic One is self-hosted and governed by your own rules, you decide which PingOne operations your agent may call, and destructive ones like deleting a user or rewriting an authentication policy are excluded unless you add them. Since PingOne puts the environment id in the URL path, such as `/v1/environments/{envId}/users/{userId}`, your rules can pin the agent to a single environment and only the users and applications inside it. Your client id and secret stay stored encrypted by your own instance and are injected at execution time, so the agent can reach only the endpoints you have allowed.
