Application Operations
The Applications service implements operations to create, read, update, and delete, applications resources.
|
You need the Client Application Developer role to perform operations on application resources. |
Refer also to Authorization and authentication by application type
Cross-origin resource sharing
PingOne supports cross-origin resource sharing (CORS), which gives applications running at different domains permission to access resources on PingOne servers. For example, an application at https://myapp.com that uses PingOne to authenticate users needs to request permission to access resources at https://auth.pingone.com before authentication operations are executed. In this case, a request is made to the resource owner (auth.pingone.com) from the requestor (myapp.com) using CORS headers to ask for access privileges. The response from auth.pingone.com returns the CORS Access-Control-Allow-Origin header with a value that confirms the requestor’s access rights.
PingOne servers are configured to trust all origins when using access tokens. However, when requesting sensitive resources that use PingOne session cookies for authentication, only specified origins will be trusted. The following endpoints require session cookies for authentication, and only the origins specified in the application’s corsSettings property will be trusted when calling these endpoints:
/{envId}/as/authorize
/{envId}/as/resume
/{envId}/as/signoff
/{envId}/rp/authenticate
/{envId}/rp/callback/{callbackId}
/{envId}/saml20/idp/sso
/{envId}/saml20/idp/startsso
/{envId}/saml20/resume
/{envId}/saml20/idp/slo
/{envId}/wsf/sts/{appId}
/{envId}/wsf/mex/{appId}
/{envId}/wsf/prp/{appId}
/{envId}/wsf/prp/resume
When using session cookies for authentication, no origins will be trusted when calling these endpoints:
/{envId}/as/txs
/{envId}/saml20/sp/sso
/{envId}/saml20/sp/acs
/{envId}/saml20/sp/jwtacs
Consequently, when defining an application’s connection to PingOne, you generally do not need to add your application’s domain to a list of trusted origins. Cross-origin requests that use HTTP methods to modify the resource, such as PUT, PATCH, POST, and DELETE, trigger a preflight request to ensure that the initial request can be sent. The browser initiates a preflight HTTP OPTIONS request to verify that the HTTP method used in the actual request is allowed. In these cases, the response from auth.pingone.com to the preflight request returns a response with the CORS Access-Control-Allow-Methods header to specify the allowed methods.
When making CORS requests, only these headers can be used:
-
Accept -
Accept-Language -
Content-Language -
Content-Type -
Range -
Authorization -
Content-Length -
Cookie -
Correlation-Id -
Origin -
Origin-Cookies -
RefererorReferrer -
X-Amz-Date -
X-Amz-Security-Token -
X-Api-Key -
X-client-version -
X-Content-Type-Options
When accessing CORS responses, you’re restricted to reading only the Correlation-Id header (as well as the request body).
Attempting to submit or access headers that are not listed above may prevent you from making CORS requests or reading the responses.
Applications data models
The following applications properties tables show the base data model for properties that apply to all application protocols, and the specific properties for the OpenID Connect (OIDC), SAML, and WS-Federation application protocols.
Applications base data model
| Property | Type | Required? | Mutable? | Description |
|---|---|---|---|---|
|
String |
Optional |
Mutable |
The user role required to access the application. Options are |
|
String |
Optional |
Mutable |
The group type required to access the application. Options are |
|
String[] |
Optional |
Mutable |
The group IDs for the groups the actor must belong to for access to the application. |
|
Date |
N/A |
Read-only |
The time the resource was created. |
|
String |
Optional |
Mutable |
The description of the application. |
|
Boolean |
Required |
Mutable |
The current enabled state of the application. Options are |
|
String |
Required |
Read-only |
The PingOne environment associated with the application. |
|
String |
Optional |
Mutable |
For applications whose |
|
Boolean |
Optional |
Mutable |
Whether the application is hidden in the application portal despite the configured group access policy. |
|
String |
Optional |
Mutable |
The custom home page URL for the application. |
|
Object |
Optional |
Mutable |
The HREF and the ID for the application icon. |
|
String |
Required |
Read-only |
The application UUID. |
|
String |
Optional |
Mutable |
The custom login page URL for the application. If you set the |
|
String |
Required |
Mutable |
The name of the application. |
|
String |
Required |
Immutable |
The protocol used by the application. Options are |
|
String |
Required |
Mutable |
The application type. Options are |
|
Date |
N/A |
Read-only |
The time the resource was last updated. |
Applications OIDC settings data model
| Property | Type | Required? | Mutable? | Description |
|---|---|---|---|---|
|
Boolean |
Optional |
Mutable |
PingOne detects a replay attack when a refresh token is reused outside of its specified grace period (refer to below for information on |
|
Boolean |
Optional |
Mutable |
Whether wildcards are allowed in redirect URIs. For more information, refer to Wildcards in Redirect URIs. |
|
Boolean |
Optional |
Mutable |
Indicates whether the permissions service should assign to the application the roles of the actor creating the application (defaults to true). This property is set only on the |
|
Object |
Optional |
Mutable |
Enables you to customize how the Authorization and Authentication APIs interact with CORS requests that reference the application. If omitted, the application allows CORS requests from any origin except for operations that expose sensitive information (such as, operations from |
|
String |
Required |
Mutable |
Options are "ALLOW_NO_ORIGINS" and "ALLOW_SPECIFIC_ORIGINS". ALLOWS_NO_ORIGINS rejects all CORS requests. ALLOW_SPECIFIC_ORIGINS rejects all CORS requests except those listed in |
|
String[] |
Optional |
Mutable |
This must be specified when |
|
String |
Optional |
Mutable |
A string that specifies a unique identifier within an environment for a device authorization grant flow to provide a short identifier to the application. This property is ignored when the |
|
String |
Optional |
Mutable |
A string that specifies an optional custom verification URI that is returned for the |
|
Integer |
Required |
Mutable |
An integer that specifies the length of time (in seconds) that the |
|
Integer |
Required |
Mutable |
An integer that specifies the frequency (in seconds) for the client to poll the |
|
String[] |
Optional |
Mutable |
The grant type for the authorization request. Options are |
|
Boolean |
Optional |
Mutable |
Set this to true to allow an application to request to terminate a user session using only the ID token. The application is not required to have access to the session token cookie. Refer to GET IdP Signoff for more information. |
|
Boolean |
Optional |
Mutable |
Specifies whether tokens signed for this application include the |
|
String |
Optional |
Mutable |
The URI to use for third-parties to begin the sign-on process for the application. If specified, PingOne redirects users to this URI to initiate SSO to PingOne. The application is responsible for implementing the relevant OIDC flow when the initiate login URI is requested. This property is required if you want the application to appear in the PingOne Application Portal. Refer to the OIDC specification section Initiating Login from a Third Party for more information. |
|
String |
Optional |
Mutable |
A JWKS string that validates the signature of signed JWTs for applications that use the |
|
String |
Optional |
Mutable |
A URL (supports |
|
Object |
Optional |
Mutable |
A Relationship object containing the certificate issuer (root CA). |
|
String |
Optional |
Immutable |
The unique identifier for the Kerberos key. Required if |
|
String |
Optional |
Immutable |
The bundle associated with the application, for push notifications in native apps. The value of the |
|
String |
Optional |
Immutable |
The unique identifier for the app on the device and in the Huawei Mobile Service AppGallery. The value of the |
|
String |
Optional |
Immutable |
The package name associated with the application, for push notifications in native apps. The value of the |
|
Object |
Optional |
Mutable |
Object that contains the credentials required for using Google’s Play Integrity API for integrity detection. |
|
String |
Optional |
Mutable |
The type of verification that should be used. The possible values are GOOGLE and INTERNAL. Using internal verification will not count against your Google API call quota. The value you select for |
|
String |
Optional |
Mutable |
Contents of the JSON file that represents your Service Account Credentials. This parameter must be provided if you have set |
|
String |
Optional |
Mutable |
Play Integrity verdict decryption key from your Google Play Services account. This parameter must be provided if you have set |
|
String |
Optional |
Mutable |
Play Integrity verdict signature verification key from your Google Play Services account. This parameter must be provided if you have set |
|
String |
Optional |
Mutable |
Indicates whether device integrity detection takes place on mobile devices, for the application’s enrollment and authentication events. The possible values are |
|
Array |
Optional |
Mutable |
You can enable device integrity checking separately for Android and iOS by setting |
|
Integer |
Optional |
Mutable |
The duration between successful integrity detection calls. Every attestation request entails a certain time tradeoff. You can choose to cache successful integrity detection calls for a predefined duration, between a minimum of 1 minute and a maximum of 48 hours. If |
|
String |
Optional |
Mutable |
The time units used for |
|
String |
Optional |
Immutable |
The package name associated with the application, for push notifications in native apps. The value of the |
|
Integer |
Optional |
Mutable |
To cover time synchronization issues, you can use |
|
Integer |
Optional |
Mutable |
The amount of time a passcode should be displayed before being replaced with a new passcode. Must be between 30 and 60 (seconds). |
|
String |
Optional |
Mutable |
The type of time unit for |
|
String |
Optional |
Mutable |
This option is used to specify the type of number matching that should be used in MFA policies where number matching has been enabled for the application (refer to the |
|
String |
Optional |
Mutable |
A URI prefix that enables direct triggering of the mobile application when scanning a QR code. The URI prefix can be set to a universal link with a valid value (which can be a URL address that starts with |
|
Boolean |
Optional |
Mutable |
When enabled, PingOne includes the |
|
Enum |
Optional |
Mutable |
Whether pushed authorization requests (PAR) are required. Options are |
|
Integer |
Optional |
Mutable |
PAR timeout in seconds. Must be between |
|
String |
Optional |
Mutable |
Specifies how PKCE request parameters are handled on the authorize request. Options are: |
|
String[] |
Optional |
Mutable |
The URLs that the browser can be redirected to after logout. |
|
String[] |
Optional |
Mutable |
The callback URI for the authentication response. |
|
Integer |
Optional |
Mutable |
The lifetime in seconds of the refresh token. If a value is not provided, the default value is 2592000, or 30 days. Valid values are between |
|
Integer |
Optional |
Mutable |
The number of seconds a refresh token can be exchanged before re-authentication is required. If a value is not provided, the refresh token is valid forever. Valid values are between |
|
Integer |
Optional |
Mutable |
The number of seconds that a refresh token may be reused after having been exchanged for a new set of tokens. This is useful in the case of network errors on the client. Valid values are between 0 and 86400 seconds. Null is treated the same as 0. |
|
Boolean |
Optional |
Mutable |
Specifies whether the application can request scopes from multiple custom resources. The default value is |
|
Boolean |
Optional |
Mutable |
Indicates that the Java Web Token (JWT) for the request query parameter is required to be signed. If false or null (default), a signed request object is not required. Both |
|
String[] |
Optional |
Mutable |
The code or token type returned by an authorization request. Options are |
|
Object |
Optional |
Mutable |
Configuration for the signing key. If absent, application tokens will be signed and verified by the PingOne default key at runtime. This property only applies to OIDC applications of type |
|
Object |
Required |
Mutable |
Contains the Key Rotation Policy (KRP) ID. This property is required if |
|
String |
Required |
Mutable |
Reference to a KRP ID from certificate management. This property is required if |
|
Boolean |
Optional |
Mutable |
Indicates whether the Java Web Token (JWT) for the request query parameter is allowed to be unsigned. If false or null (default), an unsigned request object is not allowed. Both |
|
String[] |
Optional |
Mutable |
An array that specifies the list of labels associated with the application. Options are |
|
String |
Optional |
Mutable |
The URI for the application. If specified, PingOne will redirect application users to this URI after a user is authenticated. In the PingOne admin console, this becomes the value of the |
|
Object |
Optional |
Mutable |
Valid only when the application |
|
Object |
Required |
Mutable |
Contains a key/value map of the parameters required by the integration in Integration Catalog. |
|
String |
Required |
Mutable |
The UUID of the integration in Integration Catalog. |
|
String |
Required |
Mutable |
The UUID of the integration version in Integration Catalog. |
|
String |
Optional |
Mutable |
The client authentication methods supported by the token endpoint. Options are |
Applications OIDC settings data model for PING_ONE_SELF_SERVICE
For applications of type PING_ONE_SELF_SERVICE only. Ignored for all other application types.
| Property | Type | Required? | Mutable? | Description |
|---|---|---|---|---|
|
Boolean |
Required |
Mutable |
If |
|
Boolean |
Required |
Mutable |
If |
|
String |
Optional |
Mutable |
The logout type for the self service application. This can be either |
|
Boolean |
Optional |
Mutable |
When set to |
Applications OIDC settings data model for PING_ONE_PORTAL
For applications of type PING_ONE_PORTAL only. Ignored for all other application types.
| Property | Type | Required? | Mutable? | Description |
|---|---|---|---|---|
|
Boolean |
Required |
Mutable |
If |
|
String |
Optional |
Mutable |
The logout type for the app portal application. This can be either |
Applications SAML settings data model
| Property | Type | Required? | Mutable? | Description |
|---|---|---|---|---|
|
String[] |
Required |
Mutable |
The Assertion Consumer Service URLs. The first URL in the list is used as default (there must be at least one URL). |
|
Integer |
Required |
Mutable |
The assertion validity duration in seconds. |
|
Boolean |
Optional |
Mutable |
Indicates whether the SAML assertion itself should be signed. The default value is |
|
Object |
Optional |
Mutable |
Enables you to customize how the Authorization and Authentication APIs interact with CORS requests that reference the application. If omitted, the application allows CORS requests from any origin except for operations that expose sensitive information (such as, operations from |
|
String |
Required |
Mutable |
Options are "ALLOW_NO_ORIGINS" and "ALLOW_SPECIFIC_ORIGINS". ALLOWS_NO_ORIGINS rejects all CORS requests. ALLOW_SPECIFIC_ORIGINS rejects all CORS requests except those listed in |
|
String[] |
Optional |
Mutable |
This must be specified when |
|
String |
Optional |
Mutable |
This is used as the RelayState parameter by the IdP to deep link into the application after authentication. This value can be overridden by the |
|
Boolean |
Optional |
Mutable |
Indicates whether |
|
Boolean |
Optional |
Mutable |
If enabled ( |
|
String |
Optional |
Mutable |
The algorithm used by the IdP signing key. Algorithms supported: SHA256withRSA, SHA384withRSA, SHA512withRSA, SHA256withECDSA, SHA384withECDSA, and SHA512withECDSA. |
|
String |
Optional |
Mutable |
The certificate to be used by the identity provider to sign assertions and responses. If this property is omitted, the default signing certificate for the environment is used. |
|
String |
Optional |
Mutable |
The format of the Subject
|
|
Boolean |
Optional |
Mutable |
Indicates whether the SAML assertion response itself should be signed. The default value is |
|
Integer |
Optional |
Mutable |
Update this value if the SAML application requires a different |
|
String |
Optional |
Mutable |
The binding protocol to be used for the logout response. Options are |
|
String |
Optional |
Mutable |
The logout endpoint URL. This is an optional property. However, if a |
|
String |
Optional |
Mutable |
The endpoint URL to submit the logout response. If a value is not provided, the |
|
Integer |
Optional |
Mutable |
Defines how long PingOne can exchange logout messages with the application, specifically a |
|
Object |
Optional |
Mutable |
Enables PingOne to encrypt SAML assertions to be sent to the application. Assertions are not encrypted by default. |
|
String |
Required |
Mutable |
The algorithm for encrypting the assertions (AES_128, AES_256, or TRIPLEDES). |
|
Object |
Required |
Mutable |
Contains the ID of the encryption public certificate that has been uploaded to PingOne. |
|
String |
Required |
Mutable |
The unique identifier of the encryption public certificate that has been uploaded to PingOne. |
|
String |
Required |
Immutable |
The service provider entity ID used to lookup the application. This must be unique within the environment. |
|
Boolean |
Optional |
Mutable |
Whether the Authn Request signing should be enforced. Default is |
|
String[] |
Optional |
Mutable |
An array that specifies the certificate IDs used to verify the service provider signature. |
|
Object |
Optional |
Mutable |
Valid only when the application |
|
Object |
Required |
Mutable |
Contains a key/value map of the parameters required by the integration in Integration Catalog. |
|
String |
Required |
Mutable |
The UUID of the integration in Integration Catalog. |
|
String |
Required |
Mutable |
The UUID of the integration version in Integration Catalog. |
|
Object |
Optional |
Mutable |
Contains the virtual server ID or IDs to be used. |
|
Boolean |
Optional |
Mutable |
Indicates whether the virtual server ID or IDs specified are to be used. Defaults to |
|
Object[] |
Optional* |
Mutable |
*Required if |
|
String |
Optional* |
Mutable |
*Required if |
|
Boolean |
Optional |
Mutable |
Indicates whether the virtual server identified by the associated |
Applications SAML metadata settings data model
| Property | Type | Required? | Mutable? | Description |
|---|---|---|---|---|
|
String |
Optional |
Mutable |
The assertion consumer service binding protocol. Options are: |
|
String[] |
Optional |
Mutable |
The assertion consumer service URLs. |
|
Boolean |
Optional |
Mutable |
Indicates whether the SAML authentication request is signed. |
|
Byte[] |
Optional |
Mutable |
The PKCS7 encryption certificate in DER format. |
|
String |
Optional |
Mutable |
The SAML single logout binding protocol used for logout response. Options are: |
|
String |
Required |
Mutable |
The SAML single logout endpoint URL. |
|
Byte[] |
Optional |
Mutable |
The PKCS7 signing certificates in DER format. |
Applications WS-Federation settings data model
|
These settings are for applications of type |
| Property | Type | Required? | Mutable? | Description |
|---|---|---|---|---|
|
Integer |
Optional |
Mutable |
The assertion validity duration in seconds. The default value is 300 seconds (5 minutes). Valid values are between |
|
String |
Optional |
Mutable |
The service provider ID. Defaults to |
|
Object |
Optional |
Mutable |
Enables you to customize how the Authorization and Authentication APIs interact with CORS requests that reference the application. If omitted, the application allows CORS requests from any origin except for operations that expose sensitive information (such as, operations from |
|
String |
Required |
Mutable |
Options are "ALLOW_NO_ORIGINS" and "ALLOW_SPECIFIC_ORIGINS". ALLOWS_NO_ORIGINS rejects all CORS requests. ALLOW_SPECIFIC_ORIGINS rejects all CORS requests except those listed in |
|
String[] |
Optional |
Mutable |
This must be specified when |
|
String |
Required |
Mutable |
The federated domain name (for example, the Azure custom domain). |
|
Object |
Required |
Mutable |
Contains the information about the signing of requests by the identity provider (IdP). |
|
String |
Required |
Mutable |
The signature algorithm to be used for signing. Algorithms supported: SHA256withRSA, SHA384withRSA, SHA512withRSA, SHA256withECDSA, SHA384withECDSA, and SHA512withECDSA. |
|
String |
Required |
Mutable |
The key pair to be used by the IdP to sign requests. If this isn’t specified, the default signing certificate for the environment is used. |
|
String |
Required |
Mutable |
The ID of the key specified for |
|
Object |
Optional |
Mutable |
Contains the Kerberos authentication settings. Set this to null to disable Kerberos authentication. |
|
Object[] |
Optional |
Mutable |
Contains the gateway properties. |
|
String |
Required |
Mutable |
The UUID of the LDAP gateway. |
|
String |
Required |
Mutable |
The gateway type. This must be "LDAP". |
|
String |
Required |
Mutable |
The UUID of a user type in the list of |
|
String |
Required |
Mutable |
The URL that the replying party (such as, Office365) uses to accept submissions of RequestSecurityTokenResponse messages that are a result of SSO requests. |
|
String |
Optional |
Mutable |
The single logout endpoint URL. |
|
String |
Optional |
Mutable |
The format to use for the SubjectNameIdentifier element. This value must be one of the following:
|
|
String |
Optional |
Mutable |
The WS-Trust (Web Services Trust) version to use. Valid values are |
Applications WS-Federation settings data model for Microsoft Entra ID hybrid join
Hybrid join simplifies device management and allows organizations to join devices to on-premises Active Directory and the cloud with Entra ID.
|
Device authentication using hybrid join is available as a limited access release for customers who are licensed with PingOne for Workforce Plus or Premium in the North America region only and isn’t covered under standard Support service level agreements (SLAs). You can open support cases for feedback, bug reports, configuration questions, or other inquiries related, but resolution times for these cases will vary. These cases often require collaboration with our Engineering and Product teams, so response times might exceed the usual SLAs for your Support package. Topics for this feature are draft documentation for limited access purposes only and aren’t complete or final. |
| Property | Type | Required? | Mutable? | Description |
|---|---|---|---|---|
|
String |
Optional |
Mutable |
Required for Entra ID hybrid join. The value must be the name of a custom user attribute that an administrator has created. See Creating attributes and a population for hybrid joined devices for more information. |
|
String |
Optional |
Mutable |
The type of token to use. Valid values:
|
|
Boolean |
Optional |
Mutable |
Must be |
Application events generated
Refer to Audit Reporting Events for the events generated.
Response codes
| Code | Message |
|---|---|
200 |
Successful operation. |
201 |
Successfully created. |
204 |
Successfully removed. No content. |
400 |
The request could not be completed. |
401 |
You do not have access to this resource. |
403 |
You do not have permissions or are not licensed to make this request, or your license is exceeded. |
404 |
The requested resource was not found. |
500 |
An unexpected error occurred. |