Credential Issuance Rules
Use the Credentials Issuance Rules operations to create, read, and update rules for issuing, updating, and revoking credentials by credential type. Rules are defined for:
-
A specific Credential Type in the endpoint
-
A specific Digital Wallet App in the request body
-
A specific set of users defined by one, and only one, of these filters in the request body:
-
Membership in one or more Groups.
-
Membership in one or more Populations.
-
Satisfying a SCIM query. For information about SCIM syntax and operators, refer to Filtering collections.
-
A credential rule contains an automation object with available actions as keys: issue, revoke, and update. If an action is set to PERIODIC, the service performs the action at the end of the period. If an action is set to ON_DEMAND, you must use Apply Credential Issuance Rule Staged Changes to perform staged changes for those ON_DEMAND actions.
The general procedure for rules is:
-
Create - create a new rule to stage actions for for the credential by user
-
Update - update an existing rule to stage actions for the credential by user
-
Staged Changes - show actions staged for execution
-
Apply - act upon credentials staged for actions.
You can also monitor credential rules:
-
All Rules - view all rules defined for a credential type
-
One Rule - view a specific rule for a credential
-
Usage Counts - show counts by action applied to the credential by user
-
Usage Details - show details by action applied to the credential by user
You can, finally, remove a rule for a credential type:
-
Delete - remove a rule from a credential type
For actions set to PERIODIC, an improper credential could cause endless repetitious errors. The service monitors staged changes for errors. When an error occurs during processing, the service adds details of the error to the staged change so that errors can be tracked, counted, and returned to the user. If more than 3 errors occur for the same scheduled staged change, the service unschedules (changes stagedChanges.scheduled from true to false) that staged change so that the service no longer attempts to process it. The user can manually trigger the staged change with Apply Credential Issuance Rule Staged Changes.
Credentials unscheduled due to errors are reported. Some errors are known but there can also be unexpected errors. The errors.errorDetail object provides an error code and message. If the error was related to processing a specific credential field, the field name will be in errors.errorDetail.target. This includes the staged changes that exist when the request is made with 1 or more errors. It does not include a staged change that was failed in the past, but has since completed successfully or was deleted (because the user no longer matches the issuance rule). Requests that report errors include:
|
Credential Issuance Rules data model
| Property | Type | Required? | Mutable? | Description |
|---|---|---|---|---|
|
Object |
Required |
Mutable |
Contains a list of actions, as key names, and the update method for each action. |
|
String |
Required |
Mutable |
The method the service uses to issue credentials with the credential issuance rule. Can be |
|
String |
Required |
Mutable |
The method the service uses to revoke credentials with the credential issuance rule. Can be |
|
String |
Required |
Mutable |
The method the service uses to update credentials with the credential issuance rule. Can be |
|
DateTime |
N/A |
Read-only |
Date and time the credential issuance rule was created. |
|
String |
N/A |
Read-only |
Identifier (UUID) of the credential type with which this credential issuance rule is associated. |
|
String |
Optional |
Mutable |
Identifier (UUID) of the customer’s Digital Wallet App that will interact with the user’s Digital Wallet. Optional, and if present, digital wallet pairing automatically starts when a user matches the credential issuance rule. |
|
String |
N/A |
Read-only |
PingOne environment identifier (UUID) in which the credential issuance rule exists. |
|
Object |
Optional |
Mutable |
Contains one and only one filter ( |
|
String[] |
Required/Optional |
Mutable |
Array of one or more identifiers (UUIDs) of groups, any of which a user must belong for the credential issuance rule to apply. One and only one filter is required in |
|
String[] |
Required/Optional |
Mutable |
Array of one or more identifiers (UUIDs) of populations, any of which a user must belong for the credential issuance rule to apply. One and only one filter is required in |
|
String |
Required/Optional |
Mutable |
A SCIM query that selects users to which the credential issuance rule applies. One and only one filter is required in |
|
String |
N/A |
Read-only |
Identifier (UUID) of the credential issuance rule. |
|
Object |
Optional |
Immutable |
Contains notification information. When this property is supplied, the information within is used to create a custom notification. |
|
String[] |
Optional |
Immutable |
Array of methods for notifying the user; can be |
|
Object |
Optional |
Immutable |
Contains template parameters. |
|
String |
Optional |
Immutable |
The ISO 2-character language code used for the notification; for example, |
|
Object[] |
Required/Optional |
Immutable |
An object of name-value pairs that defines the dynamic variables used by the content variant. Required if the template requires variables, otherwise ignored. For more information on dynamic variables, refer to Dynamic variables. |
|
String |
Optional |
Immutable |
The unique user-defined name for the content variant that contains the message text used for the notification. For more information on variants, refer to Creating custom contents. |
|
String |
Required |
Mutable |
Status of the credential issuance rule. Can be |
|
DateTime |
N/A |
Read-only |
Date and time the credential issuance rule was last updated; can be null. |
Actions within automation (.issue, .update, and .revoke) can be PERIODIC, the service applies the rule frequently every hour, or ON_DEMAND, the service applies the rule only with an Apply Credential Issuance Rule Staged Changes request. For ON_DEMAND, use Read Credential Issuance Rule Staged Changes to determine staged changes.
The one notification.template object applies a variant and locale to all three credential notification templates: credential_issued, credential_updated, and credential_revoked. When adding a variant or locale to any of the three notification templates, consider adding the same variant or locale to the other notification templates. If a requested variant is not defined, the notification uses the default notification template. If a requested locale is not defined, the notification uses the user’s preferred language or, if the user has no preferred language, the default language of the environment.
Credential Issuance Rules staged changes data model
| Property | Type | Required? | Mutable? | Description |
|---|---|---|---|---|
|
String |
N/A |
Read-only |
Action determined by the service that should be taken for the credential based on the request that staged it. Can be |
|
DateTime |
N/A |
Read-only |
Date and time the change was staged by the service. |
|
String |
N/A |
Read-only |
Identifier (UUID) of the credential type with which this credential issuance rule is associated. |
|
String |
N/A |
Read-only |
PingOne environment identifier (UUID) in which the credential issuance rule exists. |
|
String |
N/A |
Read-only |
Identifier (UUID) of the credential issuance rule. |
|
String |
N/A |
Read-only |
Whether or not the staged change is scheduled: |
|
String |
N/A |
Read-only |
Identifier (UUID) of the user identified by the filter on the credential issuance rule. |
|
Object[] |
N/A |
Read-only |
Array of objects representing credentials that had errors when attempting an action on it. Refer to Credential Issuance Rules errors object. |
Credential Issuance Rules apply staged changes data model
This data model applies only to Read Credential Issuance Rule Staged Changes and Apply Credential Issuance Rule Staged Changes.
| Property | Type | Required? | Mutable? | Description |
|---|---|---|---|---|
|
String[] |
Optional |
Mutable |
Array of one or more identifiers (UUIDs) of users whose credentials are in an |
|
String[] |
Optional |
Mutable |
Array of one or more identifiers (UUIDs) of users whose credentials are in a |
|
String[] |
Optional |
Mutable |
Array of one or more identifiers (UUIDs) of users whose credentials are in an |
|
Object[] |
N/A |
Read-only |
Array of objects representing credentials that had errors when attempting an action on it. Refer to Credential Issuance Rules errors object. |
Credential Issuance Rules usage counts data model
| Property | Type | Required? | Mutable? | Description |
|---|---|---|---|---|
|
Integer |
N/A |
Read-only |
Count of credentials issued by the rule since the time the credential issuance rule was created. |
|
Integer |
N/A |
Read-only |
Count of credentials accepted by users of credentials issued by the credential issuance rule since the time the credential issuance rule was created. |
|
Integer |
N/A |
Read-only |
Count of credentials updated by the rule since the time the credential issuance rule was created. |
|
Integer |
N/A |
Read-only |
Count of credentials revoked by the rule since the time the credential issuance rule was created. |
|
Integer |
N/A |
Read-only |
Count of credentials that caused errors since the time the credential issuance rule was created. |
Credential Issuance Rules usage details data model
| Property | Type | Required? | Mutable? | Description |
|---|---|---|---|---|
|
Object[] |
N/A |
Read-only |
Credentials issued by the rule since the time the credential issuance rule was created. |
|
String |
N/A |
Read-only |
Identifier (UUID) of the user identified by the filter on the credential issuance rule. |
|
String |
N/A |
Read-only |
Identifier (UUID) of the credential subject to the issue action identified by the credential issuance rule. |
|
DateTime |
N/A |
Read-only |
Date and time the credential was issued by the service. |
|
Object[] |
N/A |
Read-only |
Credentials updated by the rule since the time the credential issuance rule was created. |
|
String |
N/A |
Read-only |
Identifier (UUID) of the user identified by the filter on the credential issuance rule. |
|
String |
N/A |
Read-only |
Identifier (UUID) of the credential subject to the update action identified by the credential issuance rule. |
|
DateTime |
N/A |
Read-only |
Date and time the credential was updated by the service. |
|
Object[] |
N/A |
Read-only |
Credentials revoked by the rule since the time the credential issuance rule was created. |
|
String |
N/A |
Read-only |
Identifier (UUID) of the user identified by the filter on the credential issuance rule. |
|
String |
N/A |
Read-only |
Identifier (UUID) of the credential subject to the revoke action identified by the credential issuance rule. |
|
DateTime |
N/A |
Read-only |
Date and time the credential was revoked by the service. |
|
Object[] |
N/A |
Read-only |
Array of objects representing credentials that had errors when attempting an action on it. Refer to Credential Issuance Rules errors object. |
Credential Issuance Rules errors object
| Property | Type | Required? | Mutable? | Description |
|---|---|---|---|---|
|
Object[] |
N/A |
Read-only |
Array of objects representing errors recorded when attempting an action on a credential. |
|
DateTime |
N/A |
Read-only |
Date and time the error was recorded by the service. |
|
String |
N/A |
Read-only |
A code that indicates the error encountered by the service. Refer to Credential Issuance Rules staged changes error codes. |
|
String |
N/A |
Read-only |
The part of the credential that caused the error encountered by the service. |
|
String |
N/A |
Read-only |
A message that describes the error encountered by the service. |
|
String |
N/A |
Read-only |
Identifier (UUID) of the credential type with which this credential issuance rule is associated. |
|
String |
N/A |
Read-only |
PingOne environment identifier (UUID) in which the credential issuance rule exists. |
|
String |
N/A |
Read-only |
Identifier (UUID) of the credential issuance rule. |
|
String |
N/A |
Read-only |
Identifier (UUID) of the user identified by the filter on the credential issuance rule. |
|
String |
N/A |
Read-only |
Identifier (UUID) of the error. |
|
String |
N/A |
Read-only |
Action determined by the service that should be taken for the credential based on the request that staged it. Can be |
|
String |
N/A |
Read-only |
Whether or not the staged change is scheduled: |
|
DateTime |
N/A |
Read-only |
Date and time the error was created by the service. |
|
DateTime |
N/A |
Read-only |
Date and time the error was updated by the service. |
Credential Issuance Rules staged changes error codes
| Error Code | Description |
|---|---|
|
An error in the template placeholders of the |
|
An error in the syntax of the |
|
Credential Type was invalid when the staged change was performed. |
|
User attribute for a field with |
|
Size of data collected for the credential exceeds the maximum that can be stored in a credential. |
|
An unexpected error occurred. |