openapi: 3.1.1 info: title: PingOne Platform Configuration Management API version: 2026.01.07-beta description: PingOne is a cloud-based framework for secure identity access management. The PingOne API gives developers the tools to integrate enterprise and third-party applications with the PingOne platform. contact: name: Ping Identity Developer Experiences url: https://developer.pingidentity.com email: devex@pingidentity.com license: identifier: Apache-2.0 name: Apache 2.0 servers: - url: https://api.pingone.{tld}/{basePath} variables: basePath: default: v1 tld: enum: - eu - com - asia - com.au - ca - sg default: com security: - bearerAuth: [] - oauth2: [] tags: - name: Configuration Management description: Operations for managing PingOne configuration management actions. paths: /environments/{environmentID}/snapshots: post: operationId: createSnapshot parameters: - $ref: '#/components/parameters/com.pingidentity.path.environments.environmentID' - name: expand in: query required: false schema: type: string - $ref: '#/components/parameters/com.pingidentity.header.ExternalSessionID' - $ref: '#/components/parameters/com.pingidentity.header.ExternalTransactionID' requestBody: content: application/json: schema: $ref: '#/components/schemas/com.pingidentity.pingone.configmanagement.snapshots.data.SnapshotRequest' required: true responses: '201': description: Created content: '*/*': schema: $ref: '#/components/schemas/com.pingidentity.pingone.configmanagement.snapshots.data.SnapshotView' '400': $ref: '#/components/responses/http.400.BadRequest' '401': $ref: '#/components/responses/http.401.Unauthorized' '403': $ref: '#/components/responses/http.403.Forbidden.P14C63085.DOCS8830' '429': $ref: '#/components/responses/http.429.TooManyRequests' '500': $ref: '#/components/responses/http.500.InternalServerError' '502': $ref: '#/components/responses/http.502.BadGateway' '503': $ref: '#/components/responses/http.503.ServiceUnavailable' x-feature-flag: p1ax-1984-configuration-promotion x-permission: promotion:create:snapshot tags: - Configuration Management /environments/{environmentID}/snapshots/{snapshotID}: get: operationId: getSnapshotById parameters: - $ref: '#/components/parameters/com.pingidentity.path.environments.environmentID' - $ref: '#/components/parameters/com.pingidentity.path.environments.snapshots.snapshotID' - name: expand in: query required: false schema: type: string - name: filter in: query schema: type: string - $ref: '#/components/parameters/com.pingidentity.header.ExternalSessionID' - $ref: '#/components/parameters/com.pingidentity.header.ExternalTransactionID' responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/com.pingidentity.pingone.configmanagement.snapshots.data.SnapshotView' '400': $ref: '#/components/responses/http.400.BadRequest' '401': $ref: '#/components/responses/http.401.Unauthorized' '403': $ref: '#/components/responses/http.403.Forbidden.P14C63085.DOCS8830' '429': $ref: '#/components/responses/http.429.TooManyRequests' '500': $ref: '#/components/responses/http.500.InternalServerError' '502': $ref: '#/components/responses/http.502.BadGateway' '503': $ref: '#/components/responses/http.503.ServiceUnavailable' x-feature-flag: p1ax-1984-configuration-promotion x-permission: promotion:read:snapshot tags: - Configuration Management /environments/{environmentID}/snapshots/{snapshotID}/versions: get: operationId: getVersionsBySnapshotId parameters: - $ref: '#/components/parameters/com.pingidentity.path.environments.environmentID' - $ref: '#/components/parameters/com.pingidentity.path.environments.snapshots.snapshotID' - $ref: '#/components/parameters/com.pingidentity.header.ExternalSessionID' - $ref: '#/components/parameters/com.pingidentity.header.ExternalTransactionID' responses: '200': description: OK content: application/hal+json: schema: $ref: '#/components/schemas/com.pingidentity.pingone.configmanagement.snapshots.data.SnapshotsVersionsResponse' application/json: schema: $ref: '#/components/schemas/com.pingidentity.pingone.configmanagement.snapshots.data.SnapshotsVersionsResponse' '400': $ref: '#/components/responses/http.400.BadRequest' '401': $ref: '#/components/responses/http.401.Unauthorized' '403': $ref: '#/components/responses/http.403.Forbidden.P14C63085' '429': $ref: '#/components/responses/http.429.TooManyRequests' '500': $ref: '#/components/responses/http.500.InternalServerError' '502': $ref: '#/components/responses/http.502.BadGateway' '503': $ref: '#/components/responses/http.503.ServiceUnavailable' x-feature-flag: p1ax-1984-configuration-promotion x-permission: promotion:read:snapshot tags: - Configuration Management /environments/{environmentID}/snapshots/{snapshotID}/versions/{versionID}: get: operationId: getVersionByIdUsingSnapshotId parameters: - $ref: '#/components/parameters/com.pingidentity.path.environments.environmentID' - $ref: '#/components/parameters/com.pingidentity.path.environments.snapshots.snapshotID' - $ref: '#/components/parameters/com.pingidentity.path.environments.snapshots.versions.versionID' - name: expand in: query required: false schema: type: string - name: attributes in: query required: true schema: type: string - name: filter in: query schema: type: string - $ref: '#/components/parameters/com.pingidentity.header.ExternalSessionID' - $ref: '#/components/parameters/com.pingidentity.header.ExternalTransactionID' responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/com.pingidentity.pingone.configmanagement.snapshots.data.SnapshotView' '400': $ref: '#/components/responses/http.400.BadRequest' '401': $ref: '#/components/responses/http.401.Unauthorized' '403': $ref: '#/components/responses/http.403.Forbidden.P14C63085' '429': $ref: '#/components/responses/http.429.TooManyRequests' '500': $ref: '#/components/responses/http.500.InternalServerError' '502': $ref: '#/components/responses/http.502.BadGateway' '503': $ref: '#/components/responses/http.503.ServiceUnavailable' x-feature-flag: p1ax-1984-configuration-promotion x-permission: promotion:read:snapshot tags: - Configuration Management components: parameters: com.pingidentity.path.environments.snapshots.versions.versionID: name: versionID in: path required: true schema: type: string format: uuid com.pingidentity.path.environments.snapshots.snapshotID: name: snapshotID in: path required: true schema: type: string format: uuid com.pingidentity.path.environments.environmentID: name: environmentID in: path required: true schema: type: string format: uuid com.pingidentity.header.ExternalSessionID: schema: type: string minLength: 1 name: X-Ping-External-Session-ID in: header com.pingidentity.header.ExternalTransactionID: schema: type: string minLength: 1 name: X-Ping-External-Transaction-ID in: header responses: http.403.Forbidden.P14C63085: description: 'Forbidden - Note: This may occur if the environment doesn''t exist. Check for environment existence with GET /environments/{environmentID} first.' content: '*/*': schema: $ref: '#/components/schemas/com.pingidentity.ApiErrorResponse.403' x-pingone-p14c-63085: true http.502.BadGateway: description: Bad Gateway content: '*/*': schema: $ref: '#/components/schemas/com.pingidentity.ApiErrorResponse' http.403.Forbidden.P14C63085.DOCS8830: description: 'Forbidden - Note: This may occur if the environment doesn''t exist. Check for environment existence with GET /environments/{environmentID} first. - Note: This may be due to eventual consistency if the environment was recently created. Try again after a short delay.' content: '*/*': schema: $ref: '#/components/schemas/com.pingidentity.ApiErrorResponse.403' x-pingone-p14c-63085: true x-pingone-docs-8830: true http.400.BadRequest: description: Bad Request content: '*/*': schema: $ref: '#/components/schemas/com.pingidentity.ApiErrorResponse.400' http.503.ServiceUnavailable: description: Service Unavailable headers: Retry-After: $ref: '#/components/headers/http.RetryAfter' content: '*/*': schema: $ref: '#/components/schemas/com.pingidentity.ApiErrorResponse' http.401.Unauthorized: description: Unauthorized content: '*/*': schema: $ref: '#/components/schemas/com.pingidentity.ApiErrorResponse.401' http.500.InternalServerError: description: Internal Server Error content: '*/*': schema: $ref: '#/components/schemas/com.pingidentity.ApiErrorResponse.500' http.429.TooManyRequests: description: Too Many Requests headers: Retry-After: $ref: '#/components/headers/http.RetryAfter' content: '*/*': schema: $ref: '#/components/schemas/com.pingidentity.ApiErrorResponse.429' schemas: com.pingidentity.ApiErrorResponse: type: object properties: code: type: string title: General Error Code details: type: array items: $ref: '#/components/schemas/com.pingidentity.ErrorDetail' title: General Error Details id: type: string title: General Error Id message: type: string title: General Error Message title: General Error com.pingidentity.ApiErrorResponse.400: $schema: http://json-schema.org/draft/2020-12/schema# type: object properties: id: type: string format: uuid minLength: 1 title: Bad Request Error Id code: type: string enum: - INVALID_DATA - INVALID_REQUEST - REQUEST_FAILED minLength: 1 title: Bad Request Error Code message: type: string minLength: 1 title: Bad Request Error Message details: type: array items: type: object properties: code: type: string enum: - ACCOUNT_NOT_USABLE - CONSTRAINT_VIOLATION - EMPTY_VALUE - INVALID_FILTER - INVALID_OTP - INVALID_PARAMETER - INVALID_VALUE - MFA_AUTH_METHODS_CONFLICT - NO_PASSWORD - OUT_OF_RANGE - REQUIRED_VALUE - SIZE_LIMIT_EXCEEDED - UNIQUENESS_VIOLATION minLength: 1 title: Bad Request Error Detail Code message: type: string minLength: 1 title: Bad Request Error Detail Message innerError: type: object properties: allowedPattern: type: string title: Bad Request Error Detail Inner Error Allowed Pattern allowedValues: type: array items: type: string title: Bad Request Error Detail Inner Error Allowed Value title: Bad Request Error Detail Inner Error Allowed Values claim: type: string title: Bad Request Error Detail Inner Error Claim existingId: type: string format: uuid title: Bad Request Error Detail Inner Error Existing Id maximumValue: type: number title: Bad Request Error Detail Inner Error Maximum Value quotaLimit: type: number title: Bad Request Error Detail Inner Error Quota Limit quotaResetTime: type: string format: date-time title: Bad Request Error Detail Inner Error Quota Reset Time rangeMaximumValue: type: number title: Bad Request Error Detail Inner Error Range Maximum Value rangeMinimumValue: type: number title: Bad Request Error Detail Inner Error Range Minimum Value supportedAttributes: type: array items: type: string title: Bad Request Error Detail Inner Error Supported Attribute title: Bad Request Error Detail Inner Error Supported Attributes supportedOperators: type: array items: type: string title: Bad Request Error Detail Inner Error Supported Operator title: Bad Request Error Detail Inner Error Supported Operators additionalProperties: true title: Bad Request Error Detail Inner Error target: type: string title: Bad Request Error Detail Target required: - code - message title: Bad Request Error Detail title: Bad Request Error Details required: - id - code - message title: Bad Request Error com.pingidentity.ErrorDetail: type: object properties: code: type: string title: General Error Detail Code innerError: type: object additionalProperties: type: object title: General Error Detail Inner Error Additional Properties title: General Error Detail Inner Error message: type: string title: General Error Detail Message target: type: string title: General Error Detail Target title: General Error Detail com.pingidentity.ApiErrorResponse.403: $schema: http://json-schema.org/draft/2020-12/schema# type: object properties: code: type: string enum: - ACCESS_FAILED minLength: 1 title: Forbidden Error Code message: type: string minLength: 1 title: Forbidden Error Message details: type: array items: type: object properties: code: type: string enum: - INSUFFICIENT_PERMISSIONS - LICENSE_EXCEEDED minLength: 1 title: Forbidden Error Detail Code message: type: string minLength: 1 title: Forbidden Error Detail Message innerError: type: object properties: quotaLimit: type: number title: Forbidden Error Detail Inner Error Quota Limit additionalProperties: true title: Forbidden Error Detail Inner Error target: type: string title: Forbidden Error Detail Target required: - code - message title: Forbidden Error Detail title: Forbidden Error Details id: type: string format: uuid title: Forbidden Error Id required: - code - message title: Forbidden Error com.pingidentity.pingone.configmanagement.snapshots.data.SnapshotRequest: required: - baseResourceURL type: object properties: baseResourceURL: type: string minLength: 1 title: Snapshot Request Base Resource URL title: Snapshot Request com.pingidentity.pingone.configmanagement.snapshots.data.SnapshotsVersionsResponse: type: object properties: _embedded: type: object properties: versions: type: array items: allOf: - $ref: '#/components/schemas/com.pingidentity.pingone.configmanagement.snapshots.data.SnapshotView' title: Snapshot Version Collection Response _embedded Version title: Snapshot Version Collection Response _embedded Versions title: Snapshot Version Collection Response _embedded _links: type: object properties: self: $ref: '#/components/schemas/com.pingidentity.api.response.Link' additionalProperties: $ref: '#/components/schemas/com.pingidentity.api.response.Link' title: Snapshot Version Collection Response _links count: type: integer format: int32 title: Snapshot Version Collection Response Count size: type: integer format: int32 title: Snapshot Version Collection Response Size title: Snapshot Version Collection Response com.pingidentity.api.response.Link: type: object properties: href: type: string format: uri minLength: 1 title: JSON HAL Link Href name: type: string title: JSON HAL Link Name profile: type: string format: uri title: JSON HAL Link Profile title: type: string format: uri title: JSON HAL Link Title type: type: string title: JSON HAL Link Type required: - href readOnly: true title: JSON HAL Link com.pingidentity.api.Relationship.PingOne.RO: type: object properties: id: type: string format: uuid readOnly: true minLength: 1 title: Resource Relationship Read-Only Id required: - id title: Resource Relationship Read-Only com.pingidentity.pingone.configmanagement.snapshots.data.ResourceInformation: type: object properties: category: type: string title: Snapshot Resource Information Category id: type: string title: Snapshot Resource Information Id name: type: string title: Snapshot Resource Information Name title: Snapshot Resource Information com.pingidentity.pingone.configmanagement.snapshots.data.SnapshotView: type: object properties: _embedded: type: object additionalProperties: type: object readOnly: true title: Snapshot View _embedded Additional Properties readOnly: true title: Snapshot View _embedded _links: type: object properties: self: $ref: '#/components/schemas/com.pingidentity.api.response.Link' additionalProperties: $ref: '#/components/schemas/com.pingidentity.api.response.Link' readOnly: true title: Snapshot View _links completedAt: type: string format: date-time title: Snapshot View Completed At configuration: type: string title: Snapshot View Configuration createdAt: type: string format: date-time title: Snapshot View Created At environment: $ref: '#/components/schemas/com.pingidentity.api.Relationship.PingOne.RO' error: type: string title: Snapshot View Error errorCode: type: integer format: int32 title: Snapshot View Error Code id: type: string format: uuid readOnly: true title: Snapshot View Id importMetadata: type: object additionalProperties: type: object title: Snapshot View Import Metadata Additional Properties title: Snapshot View Import Metadata referencedResources: uniqueItems: true type: array items: type: string title: Snapshot View Referenced Resource title: Snapshot View Referenced Resources resource: $ref: '#/components/schemas/com.pingidentity.pingone.configmanagement.snapshots.data.ResourceInformation' resourceUrl: type: string title: Snapshot View Resource Url snapshotId: type: string format: uuid title: Snapshot View Snapshot Id startedAt: type: string format: date-time title: Snapshot View Started At status: type: string enum: - COMPLETE - ERROR - IN_PROGRESS - WAITING title: Snapshot View Status versionedAt: type: string format: date-time title: Snapshot View Versioned At title: Snapshot View com.pingidentity.ApiErrorResponse.500: $schema: http://json-schema.org/draft/2020-12/schema# type: object properties: id: type: string format: uuid minLength: 1 title: Internal Server Error Id code: type: string enum: - UNEXPECTED_ERROR minLength: 1 title: Internal Server Error Code message: type: string minLength: 1 title: Internal Server Error Message details: type: array items: type: object properties: code: type: string minLength: 1 title: Internal Server Error Detail Code message: type: string minLength: 1 title: Internal Server Error Detail Message innerError: type: object additionalProperties: true title: Internal Server Error Detail Inner Error target: type: string title: Internal Server Error Detail Target required: - code - message title: Internal Server Error Detail title: Internal Server Error Details required: - id - code - message title: Internal Server Error com.pingidentity.ApiErrorResponse.401: $schema: http://json-schema.org/draft/2020-12/schema# type: object properties: id: type: string format: uuid minLength: 1 title: Unauthorized Error Id code: type: string enum: - ACCESS_FAILED minLength: 1 title: Unauthorized Error Code message: type: string minLength: 1 title: Unauthorized Error Message details: type: array items: type: object properties: code: type: string enum: - INSUFFICIENT_PERMISSIONS - INVALID_TOKEN minLength: 1 title: Unauthorized Error Detail Code message: type: string minLength: 1 title: Unauthorized Error Detail Message innerError: type: object additionalProperties: true title: Unauthorized Error Detail Inner Error target: type: string title: Unauthorized Error Detail Target required: - code - message title: Unauthorized Error Detail title: Unauthorized Error Details required: - id - code - message title: Unauthorized Error com.pingidentity.ApiErrorResponse.429: $schema: http://json-schema.org/draft/2020-12/schema# type: object properties: code: type: string enum: - REQUEST_LIMITED minLength: 1 title: Too Many Requests Error Code message: type: string minLength: 1 title: Too Many Requests Error Message details: type: array items: type: object properties: code: type: string enum: - LIMIT_EXCEEDED - QUOTA_EXCEEDED minLength: 1 title: Too Many Requests Error Detail Code message: type: string minLength: 1 title: Too Many Requests Error Detail Message innerError: type: object properties: quotaLimit: type: number title: Too Many Requests Error Detail Inner Error Quota Limit quotaResetTime: type: string format: date-time title: Too Many Requests Error Detail Inner Error Quota Reset Time retryAfter: type: string format: date-time title: Too Many Requests Error Detail Inner Error Retry After additionalProperties: true title: Too Many Requests Error Detail Inner Error target: type: string title: Too Many Requests Error Detail Target required: - code - message title: Too Many Requests Error Detail title: Too Many Requests Error Details id: type: string format: uuid title: Too Many Requests Error Id required: - code - message title: Too Many Requests Error headers: http.RetryAfter: schema: oneOf: - type: integer format: int32 - type: string title: Retry-After Header securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT oauth2: type: oauth2 flows: clientCredentials: tokenUrl: /as/token scopes: {} authorizationCode: authorizationUrl: /as/authorize tokenUrl: /as/token refreshUrl: /as/token scopes: {} x-permissions: - name: davinci:create:applications - name: davinci:create:connections - name: davinci:create:constructs - name: davinci:create:dvFlows - name: davinci:create:flowPolicies - name: davinci:delete:applications - name: davinci:delete:connections - name: davinci:delete:constructs - name: davinci:delete:dvFlows - name: davinci:delete:flowPolicies - name: davinci:delete:flowVersions - name: davinci:read:applications - name: davinci:read:connections - name: davinci:read:connectors - name: davinci:read:constructs - name: davinci:read:dvFlows - name: davinci:read:flowPolicies - name: davinci:read:flowVersions - name: davinci:update:applications - name: davinci:update:connections - name: davinci:update:constructs - name: davinci:update:dvFlows - name: davinci:update:flowPolicies - name: davinci:update:flowVersions - name: flowPolicies:read:flowPolicy - name: orgmgt:create:environment - name: orgmgt:delete:environment - name: orgmgt:read:environment - name: orgmgt:update:environment - name: promotion:create:snapshot - name: promotion:read:snapshot