Create Credential Verification Presentation Session (NATIVE - Push Notification)
POST {{apiPath}}/environments/{{envID}}/presentationSessions
Use the POST {{apiPath}}/environments/{{envID}}/presentationSessions
to initiate verification of a user credential using the native protocol of the PingOne Credentials service and use a push notification to the user's digital wallet. Each presentation session silently times out after 5 minutes.
Prerequisites
- See PingOne Credentials and Credential Verifications for important overview information.
See Credential Verifications presentation session data model for full property descriptions.
Property | Type | Required |
---|---|---|
applicationInstance.id | String | N/A |
digitalWalletApplication.id | String | N/A |
issuerFilter.environmentIds | String[] | Optional |
message | String | Optional |
notification | Object | Optional |
notification.template | Object | Optional |
notification.template.locale | String | Optional |
notification.template.variables | Object[] | Required/Optional |
notification.template.variant | String | Optional |
protocol | String | Optional |
requestedCredentials | Object[] | Required |
requestedCredentials.keys | String[] | Optional |
requestedCredentials.type | String | Required |
After receipt of this request, the credential service uses the credential_verification
notification template to send a push notification to a digital wallet. The notification.template
object can define a variant and locale for the notifications, if needed.
Important: Content of requestedCredentials
differs by protocol
. The protocol
of NATIVE
permits multiple credential types per request and uses requestedCredentials.keys
to return only those selected data fields for each credential type.
Note: The service searches all environments listed in issuerFilter.environmentIds
for the issuer of the presented credential. If the user presents a credential that is not from one of these issuers, the verification fails with status
of VERIFICATION_FAILED
.
Request Body
{"protocol"=>"NATIVE", "message"=>"Requesting a Verifiable Credential", "applicationInstance"=>{"id"=>"{{applicationInstanceID}}"}, "digitalWalletApplication"=>{"id"=>"{{digitalWalletApplicationID}}"}, "notification"=>{"template"=>{"locale"=>"en", "variant"=>"variant_B"}}, "requestedCredentials"=>[{"type"=>"Driver License", "keys"=>["First Name", "Last Name"]}]}