---
title: Verification Metrics
description: Retrieve application events generated by the PingOne Verify verification service for a specified verification transaction
component: pingone-api
page_id: pingone-api:verify:verification-metrics/index
canonical_url: https://developer.pingidentity.com/pingone-api/verify/verification-metrics/index.html
llms_txt: https://developer.pingidentity.com/pingone-api/llms.txt
docs_for_agents: https://developer.pingidentity.com/build-with-ai/docs-for-agents.md
revdate: 2026-08-11
section_ids:
  assigning-admin-roles-and-permissions-to-this-service: Assigning admin roles and permissions to this service
  verify-verification-metrics-object-data-model: Verification metrics object data model
  verify-additional-information-data-object: ADDITIONAL_INFORMATION data object
  verify-camera-data-object: CAMERA data object
  verify-data-capture-data-object: DATA_CAPTURE data object
  verify-device-metadata-data-object: DEVICE_METADATA data object
  verify-errors-data-object: ERRORS data object
  capture-flow-errors: Capture flow errors
  network-errors: Network errors
  other-errors: Other errors
  verify-id-capture-data-object: ID_CAPTURE data object
  verify-qr-scanner-data-object: QR_SCANNER data object
  verify-selfie-capture-data-object: SELFIE_CAPTURE data object
---

# Verification Metrics

For each verification transaction, you can retrieve all application events for the transaction that were generated by the verification service. Use the `appEvents` endpoint, `/v1/environments/{{envID}}/users/{{userID}}/verifyTransactions/{{transactionID}}/appEvents` to retrieve application events associated with the verification transaction.

## Assigning admin roles and permissions to this service

Admin role assignments determine access to PingOne APIs. When assigning admin roles to this service, refer to [PingOne Permissions by Service](../../platform/reference/roles-and-permissions-in-pingone/permissions-by-service.html) for the service-specific permissions.

You can also choose to assign admin roles based on particular service resources. Refer to [PingOne Permissions by Resource](../../platform/reference/roles-and-permissions-in-pingone/permissions-by-resource.html) when assigning admin roles per service resources.

Admin assignments to roles are set by:

* [Automatic assignment for some roles](../../platform/roles/predefined-roles/index.html#automatic-role-assignment).

* [Group Role Assignments](../../platform/group-role-assignments/group-role-assignments.html).

* [User Role Assignments](../../platform/users/user-role-assignments/index.html).

Refer to [Roles Management](../../platform/roles/index.html) for more information.

## Verification metrics object data model

When retrieving the collection of application events for a specified transaction, the application event objects described in these data model tables are contained in an `appEvents` object array.

| Property         | Type   | Required | Mutable   | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| ---------------- | ------ | -------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `collectionDate` | String | N/A      | Read-only | Date that the application event was collected                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `data`           | Object | N/A      | Read-only | Contains the application event objects where the key is the type of application event. Refer to [ADDITIONAL_INFORMATION](#verify-additional-information-data-object), [CAMERA](#verify-camera-data-object), [DATA_CAPTURE](#verify-data-capture-data-object), [DEVICE_METADATA](#verify-device-metadata-data-object), [ERRORS](#verify-errors-data-object), [ID_CAPTURE](#verify-id-capture-data-object), [QR_SCANNER](#verify-qr-scanner-data-object), or [SELFIE_CAPTURE](#verify-selfie-capture-data-object). |
| `id`             | String | N/A      | Read-only | Identifier (UUID) of the application event                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |

### ADDITIONAL_INFORMATION data object

| Property                       | Type   | Required | Mutable   | Description                                                                                                         |
| ------------------------------ | ------ | -------- | --------- | ------------------------------------------------------------------------------------------------------------------- |
| `custom_app_theme`             | String | N/A      | Read-only | Whether or not the SDK is using a custom AppTheme. Can be `TRUE` or `FALSE`.                                        |
| `document_submission_complete` | String | N/A      | Read-only | Epoch seconds of when submission completed                                                                          |
| `sdk_initialization_type`      | String | N/A      | Read-only | How the SDK was initialized, from a QR code (`qrScanner`) or a string from an already parsed QR code (`qrString`)   |
| `sdk_initialization`           | String | N/A      | Read-only | Epoch seconds of when SDK initialized                                                                               |
| `sdk_resuming_flow`            | String | N/A      | Read-only | Whether or not the SDK dropped a previous session and is resuming from where it left off. Can be `TRUE` or `FALSE`. |

### CAMERA data object

| Property               | Type   | Required | Mutable   | Description                                                                             |
| ---------------------- | ------ | -------- | --------- | --------------------------------------------------------------------------------------- |
| `config_flash_enabled` | String | N/A      | Read-only | Whether or not the camera's flash is enabled. Can be `TRUE` or `FALSE`.                 |
| `config_focus_mode`    | String | N/A      | Read-only | Camera focus mode. Can be `AUTO_FOCUS`, `CONTINUOUS_FOCUS`, `MANUAL_FOCUS`.             |
| `config_resolution`    | String | N/A      | Read-only | Resolution of the camera preview                                                        |
| `permission_granted`   | String | N/A      | Read-only | Whether or not the user granted permission to use the camera. Can be `TRUE` or `FALSE`. |

### DATA_CAPTURE data object

| Property         | Type    | Required | Mutable   | Description                                                                                                                             |
| ---------------- | ------- | -------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| `number_of_otps` | Integer | N/A      | Read-only | Count of one time passwords (OTP) sent                                                                                                  |
| `otp_canceled`   | String  | N/A      | Read-only | Whether or not the user canceled a one time password (OTP) attempt. Can be `email_TRUE`, `email_FALSE`, `phone_TRUE`, or `phone_FALSE`. |
| `otp_result`     | String  | N/A      | Read-only | Whether or not a one time password (OTP) attempt succeeded. Can be `email_TRUE`, `email_FALSE`, `phone_TRUE`, or `phone_FALSE`.         |
| `otp_start`      | String  | N/A      | Read-only | Epoch seconds of when one time password (OTP) collection started                                                                        |
| `otp_stop`       | String  | N/A      | Read-only | Epoch seconds of when one time password (OTP) collection ended                                                                          |
| `otp_timeout`    | String  | N/A      | Read-only | Whether or not a one time password (OTP) attempt timed out. Can be `email_TRUE`, `email_FALSE`, `phone_TRUE`, or `phone_FALSE`.         |
| `otp_tries`      | Integer | N/A      | Read-only | Count of one time password (OTP) attempts                                                                                               |
| `requirements`   | String  | N/A      | Read-only | Whether or not data capture was required. Can be `email_TRUE`, `email_FALSE`, `phone_TRUE`, or `phone_FALSE`.                           |
| `skipped`        | String  | N/A      | Read-only | Whether or not the user skipped one time password (OTP) capture. Can be `email_TRUE`, `email_FALSE`, `phone_TRUE`, or `phone_FALSE`.    |
| `start`          | String  | N/A      | Read-only | Epoch seconds of when selection of email or SMS for a one time password (OTP) started                                                   |
| `stop`           | String  | N/A      | Read-only | Epoch seconds of when selection of email or SMS for a one time password (OTP) ended                                                     |

### DEVICE_METADATA data object

| Property              | Type   | Required | Mutable   | Description                                                                                                   |
| --------------------- | ------ | -------- | --------- | ------------------------------------------------------------------------------------------------------------- |
| `app_package`         | String | N/A      | Read-only | Bundle identifier or application package (URI) embedding the SDK                                              |
| `browser`             | String | N/A      | Read-only | Name of the browser. Can be `Chrome`, `Firefox`, `Safari`, `Opera`, `Edge`, or `Other`.                       |
| `device_manufacturer` | String | N/A      | Read-only | Manufacturer of the device used for the transaction, if applicable, such as `Apple` or `Samsung`              |
| `device_model`        | String | N/A      | Read-only | Model of the device used for the transaction, if applicable, such as `iPhone14` or `GalaxyS22`                |
| `device_type`         | String | N/A      | Read-only | Type of device used for the transaction. Can be `IOS`, `ANDROID`, `MOBILE_WEB`, or `DESKTOP_WEB`.             |
| `os_version`          | String | N/A      | Read-only | Version of the operating system on the device used for the transaction, if applicable, such as `14.3` or `13` |
| `sdk_version`         | String | N/A      | Read-only | Version of the SDK                                                                                            |
| `user_agent`          | String | N/A      | Read-only | User-Agent HTTP header returned by the browser                                                                |

### ERRORS data object

#### Capture flow errors

| Property                               | Type    | Required | Mutable   | Description                                                                              |
| -------------------------------------- | ------- | -------- | --------- | ---------------------------------------------------------------------------------------- |
| `camera_permission_not_granted`        | String  | N/A      | Read-only | Whether or not the user refused to grant permission to use the camera. Always `TRUE`.    |
| `config_flash_enabled`                 | String  | N/A      | Read-only | Whether or not the camera's flash is enabled. Can be `TRUE` or `FALSE`.                  |
| `config_focus_mode`                    | String  | N/A      | Read-only | Camera focus mode. Can be `AUTO_FOCUS`, `CONTINUOUS_FOCUS`, `MANUAL_FOCUS`.              |
| `config_resolution`                    | String  | N/A      | Read-only | Resolution of the camera preview                                                         |
| `data_mismatch_between_front_and_back` | Integer | N/A      | Read-only | Count of occurrences of data mismatch between front and back                             |
| `id_capture_camera_start_error`        | String  | N/A      | Read-only | Text of any camera start errors returned by the service during identity document capture |
| `id_flashlight_glare`                  | Integer | N/A      | Read-only | Count of occurrences of glare from the camera flash on the identity document             |
| `id_full_side_not_visible`             | Integer | N/A      | Read-only | Count of occurrences where the full side of the identity document was not visible        |
| `id_too_far`                           | Integer | N/A      | Read-only | Count of occurrences where the identity document was too far from the camera             |
| `id_type_categorization_error`         | String  | N/A      | Read-only | Text of any type categorization errors returned by the service                           |
| `id_type_unsupported`                  | String  | N/A      | Read-only | Whether or not the camera's flash is enabled. Always `TRUE`.                             |
| `selfie_camera_start_error`            | String  | N/A      | Read-only | Text of any camera start errors returned by the service during selfie capture            |
| `selfie_face_not_aligned_x_axis`       | Integer | N/A      | Read-only | Count of occurrences where the face was turned too far left or right                     |
| `selfie_face_not_aligned_y_axis`       | Integer | N/A      | Read-only | Count of occurrences where the face was turned too far up or down                        |
| `selfie_face_not_aligned_z_axis`       | Integer | N/A      | Read-only | Count of occurrences where the face was tipped too far clockwise or counterclockwise     |
| `selfie_face_too_close`                | Integer | N/A      | Read-only | Count of occurrences where the face was too close to the camera                          |
| `selfie_face_too_far`                  | Integer | N/A      | Read-only | Count of occurrences where the face was too far from the camera                          |
| `selfie_multiple_faces`                | Integer | N/A      | Read-only | Count of occurrences where multiple faces were discerned in the image                    |
| `selfie_no_face_present`               | Integer | N/A      | Read-only | Count of occurrences where no faces were discernible in the image                        |

#### Network errors

| Property       | Type   | Required | Mutable   | Description                            |
| -------------- | ------ | -------- | --------- | -------------------------------------- |
| `network_lost` | String | N/A      | Read-only | Epoch seconds of when network was lost |

#### Other errors

| Property          | Type   | Required | Mutable   | Description                                                                                                    |
| ----------------- | ------ | -------- | --------- | -------------------------------------------------------------------------------------------------------------- |
| `sdk_error`       | String | N/A      | Read-only | Description of uncategorized errors from the SDK with the epoch seconds of when the error occurred             |
| `app_event_error` | String | N/A      | Read-only | Description of errors while initializing an app event object with the epoch seconds of when the error occurred |

### ID_CAPTURE data object

| Property                 | Type    | Required | Mutable   | Description                                                                                                                                                                                                                                                                                                                  |
| ------------------------ | ------- | -------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `barcode_captured`       | String  | N/A      | Read-only | Epoch seconds of when capture of the barcode of the identity document ended                                                                                                                                                                                                                                                  |
| `camera_params`          | String  | N/A      | Read-only | Camera parameters used for capture such as focus mode, resolution, and face detection service                                                                                                                                                                                                                                |
| `canceled`               | String  | N/A      | Read-only | Whether or not the user canceled identity document capture. Can be `TRUE` or `FALSE`.                                                                                                                                                                                                                                        |
| `classification`         | String  | N/A      | Read-only | Classification of the identity document. Can be `Driver License` or `Passport`.                                                                                                                                                                                                                                              |
| `image_#NUMBER_has_face` | String  | N/A      | Read-only | Whether or not the image (where `#NUMBER` is the page number of the image) has a face. Can be `TRUE` or `FALSE`.                                                                                                                                                                                                             |
| `image_#NUMBER_score`    | Double  | N/A      | Read-only | Identity document image (where `#NUMBER` is the page number of the image) quality score in the range of 0 to 1                                                                                                                                                                                                               |
| `image_#NUMBER_size`     | String  | N/A      | Read-only | Resolution of the identity document image (where `#NUMBER` is the page number of the image)                                                                                                                                                                                                                                  |
| `image_blurred`          | String  | N/A      | Read-only | Whether or not the image is blurry. Can be `TRUE` or `FALSE`.                                                                                                                                                                                                                                                                |
| `mrz_captured`           | String  | N/A      | Read-only | Epoch seconds of when capture of the machine readable zone (MRZ) of the identity document ended                                                                                                                                                                                                                              |
| `page_captured`          | String  | N/A      | Read-only | Page number and epoch seconds, separated by an underscore, for when capture of an identity document image ended. Those with front and back images have pages 1 and 2, such as `1_1650507635` and `2_1650507657`. For passports, when capturing more than one page, page numbers are sequential until all pages are captured. |
| `skipped`                | String  | N/A      | Read-only | Whether or not the user skipped identity document capture. Can be `TRUE` or `FALSE`.                                                                                                                                                                                                                                         |
| `start`                  | String  | N/A      | Read-only | Epoch seconds of when identity document capture started                                                                                                                                                                                                                                                                      |
| `stop`                   | String  | N/A      | Read-only | Epoch seconds of when identity document capture ended                                                                                                                                                                                                                                                                        |
| `timeout`                | String  | N/A      | Read-only | Epoch seconds of when identity document capture timed out                                                                                                                                                                                                                                                                    |
| `total_images`           | Integer | N/A      | Read-only | Count of captured pages of the identity document                                                                                                                                                                                                                                                                             |
| `vendor`                 | String  | N/A      | Read-only | Vendor used for capturing the identity document. Can be `MicroBlink`, `Mitek`, or `Ping`.                                                                                                                                                                                                                                    |

### QR_SCANNER data object

| Property   | Type   | Required | Mutable   | Description                                                                    |
| ---------- | ------ | -------- | --------- | ------------------------------------------------------------------------------ |
| `canceled` | String | N/A      | Read-only | Whether or not QR scanning was canceled by the user. Can be `TRUE` or `FALSE`. |
| `result`   | String | N/A      | Read-only | Result of scanning a QR code. Can be `VALID` OR `INVALID`.                     |
| `start`    | String | N/A      | Read-only | Start time for scanning a QR code                                              |
| `stop`     | String | N/A      | Read-only | Stop time for scanning a QR code                                               |

### SELFIE_CAPTURE data object

| Property                     | Type    | Required | Mutable   | Description                                                                                           |
| ---------------------------- | ------- | -------- | --------- | ----------------------------------------------------------------------------------------------------- |
| `canceled`                   | String  | N/A      | Read-only | Whether or not the user canceled selfie capture. Can be `TRUE` or `FALSE`.                            |
| `face_detection_service`     | String  | N/A      | Read-only | Service used for capturing the selfie. Can be `VisionKit`, `CoreImage`, or `FirebaseMLKit`.           |
| `liveness_check_requested`   | String  | N/A      | Read-only | Whether or not the SDK requested a liveness check. Can be `TRUE` or `FALSE`.                          |
| `number_of_selfies_captured` | Integer | N/A      | Read-only | Count of captured selfies                                                                             |
| `original_selfie_size`       | String  | N/A      | Read-only | Resolution of the selfie image                                                                        |
| `selfie_face_size`           | String  | N/A      | Read-only | Percentage size of the face in the final captured selfie (includes the percent sign, %)               |
| `selfie_pitch_angle`         | Integer | N/A      | Read-only | Pitch angle in degrees (rotation around x-axis) where the face was turned left or right               |
| `selfie_roll_angle`          | Integer | N/A      | Read-only | Roll angle in degrees (rotation around y-axis) where the face was turned up or down                   |
| `selfie_score`               | Double  | N/A      | Read-only | Selfie image quality score in the range of 0 to 1                                                     |
| `selfie_yaw_angle`           | Integer | N/A      | Read-only | Yaw angle in degrees (rotation around z-axis) where the face was tipped clockwise or counterclockwise |
| `skipped`                    | String  | N/A      | Read-only | Whether or not the user skipped selfie capture. Can be `TRUE` or `FALSE`.                             |
| `start`                      | String  | N/A      | Read-only | Epoch seconds of when selfie capture started                                                          |
| `stop`                       | String  | N/A      | Read-only | Epoch seconds of when selfie capture ended                                                            |
| `timeout`                    | String  | N/A      | Read-only | Epoch seconds of when identity document capture timed out                                             |
| `vendor`                     | String  | N/A      | Read-only | Vendor used for capturing the selfie. Can be `MicroBlink`, `Mitek`, or `Ping`.                        |
