State models
Status State Model Action Description

ID_VERIFICATION_REQUIRED

  • verifyAppName
  • qrUrl
  • verificationCode
  • errorDetails
  • poll
  • cancelAuthentication
Indicates that verification is required.

ID_VERIFICATION_DEVICE

  • cancelAuthentication
  • deviceAuthentication
Indicates whether to use this device or another device to start verification.

ID_VERIFICATION_OPTIONS

  • retryVerification
  • cancelAuthentication
  • optionsAuthentication

Indicates whether or not an email or phone number is selected for the notification option.

ID_VERIFICATION_IN_PROGRESS

  • poll
Indicates that ID verification is in progress.

ID_VERIFICATION_COMPLETED

  • continueAuthentication
Indicates that ID verification completed successfully.

ID_VERIFICATION_FAILED

  • errorDetails
  • cancelAuthentication
Indicates that ID verification failed and a retry is not allowed.

ID_VERIFICATION_TIMED_OUT

  • retryVerification
  • cancelAuthentication
Indicates that ID verification timed out.
Action models
Action Action Model Error Description

poll

(void)

Gets the current ID transaction status.

retryVerification

(void)

Retries verification after a time out or after selecting cancel on any screen.

deviceAuthentication

(void)

Select a device to start verification.

optionsAuthentication

(void)

Select email, phone, or QR-only for sending the web link to the user.

cancelAuthentication

Cancels the current authentication step.

Attribute models
Attribute name Type Description

qrUrl

String

The URL of the QR code image associated with the verification session.

Use this URL to show the QR code to the user. The user scans the QR code with the verification app to begin the verification process.

To display the QR code, your app needs to perform a GET request to the URL provided in qrUrl. Include an <img> element, and use the result of the GET request as the source.

For example:

QR URL provided by PingFederate:
"qrUrl":"https://api.pingone.com/v1/idValidations/shortcode/008030285946/qr"
GET request to get the QR code image:
GET "https://api.pingone.com/v1/idValidations/shortcode/008030285946/qr"
GET request response:
data:image/jpeg;base64,9j4AAQSkZJRgABAgAAAQABAAD
IsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL...2wBDAQkJCQwL
DBgNDRgyIRwhMjIyMjIyMj
HTML element that displays the image in your app:
<img src="data:image/jpegbase64,9j4AAQSkZJRgABAgAAAQABAAD
IsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL...2wBDAQkJCQwL
DBgNDRgyIRwhMjIyMjIyMj"/>

verificationCode

String

A code that the user can enter instead of scanning the QR code image.

errorDetails

List<CustomAuthnErrorDetail>

A list of errors.