Fetch Score Data

An introduction to fetching onboarding score data

What is score data?

The score data contains all of the results associated with the different checks and validations included in a given flow configuration. Score data can be visually obtained by opening a session within the Dashboard's Session tab. Scores are calculated once an onboarding is finished and after rules have been applied. Score data can be fetched once the onboarding session has been marked as complete via the finish-status endpoint

How is score data fetched?

To fetch score data for a given onboarding session, you will need to pass the session's unique interview ID to the fetch scores API endpoint. You can test the endpoint yourself by visiting our API documentation. If you do not pass the interview ID, we will attempt to extract the interview ID from the session token. See below for a description of all data that is returned in the API response.

Additionally, our dashboard uses the fetch scores API. You can visually review how a session scored by selecting a session within the Dashboard's Session tab.

How to interpret score data?

The way to interpret score data is to envision a traffic signal. There is "green" for go, "yellow" for caution and "red" for stop. This is how Incode scores work. While there may be dozens of scores and tests in every session, the most important score is the Overall status. The Overall status is a composite score which factors in all the tests included in the flow settings.

You might get tempted to check against the numeric value of validations, please don't. The overall status should be your guide on what the outcome of the session was once the session is completed.

The overall status can be: OK, WARN or FAIL.

You can check the onboarding's session overall status, or the overall status per module validation:

{
  ..., // subscores fields
  "idValidation": {
    "photoSecurityAndQuality": [
      ...
    ],
    "idSpecific": [
 			...
    ],
    "overall": {
      "value": "100.0", // avoid validating against this value
      "status": "OK" // this is the value you care about
    }
  },
	"liveness": {
    ...,
    "overall": {
      "value": "100.0", // avoid validating against this value
      "status": "OK" // this is the value you care about
    }
  },
  "faceRecognition": {
    "existingUser": true, // If true. this tells you if the user had a previous approved onboarding session
    "existingInterviewId": "", // this is the original approved session from this user
    ...,
    "overall": {
      "value": "83.2", // avoid validating against this value
      "status": "OK" // this is the value you care about
    }
  },
  "appliedRule": { // When a rule is applied it appears here
    "name": "Undeage Rule", // Name of the rule that got applied
    "expression": "underageCheck_STATUS == 'FAIL'", // The expression that got applied
    "ruleType": "total", // Type of the rule
    "status": "FAIL", // The new score that got applied
    "incodeScoreOverall": { // The score before it got triggered
      "value": "94.4",
      "status": "OK"
    }
  },
  "overall": {
    "value": "94.4", // avoid validating against this value
    "status": "OK" // this is the value you care about
  },
  "reasonMsg": "" // reason for the obtained overall score
}

📘

Scores and OCR-data

It's important to notice that while the OCR data shows in the dashboard with some scoring, this scoring is related to the level of confidence on the data extracted given the captured image of the ID.

This level of confidence of the OCR data does not directly affect or alter the score of a session