Skip to main content

Rejection reasons

Understanding detailed decision information in data blocks

As explained in the Core Concept section, each flow session provides an outcome parameter representing the final flow result. While this high-level outcome is always available, certain steps provide additional detailed information about how that outcome was reached.


Where to find

Detailed decision information is typically available in data blocks generated by decision-making steps that produce verdicts and may trigger flow branching. You can access this information as part of the data block produced when calling, for example, the GET /v1/{environment}/sessions/{sessionId}/datablocks endpoint.


Data structure

Data blocks from decision-making steps include fields indicating the outcome and, where available, the reasons behind it. The exact field names and structure vary by data block type:

  • Some use verdict (e.g., DocumentVerification, ComparisonResults), others use result (e.g., AuthenticationResult, DeviceSignals, DigitalSignals)
  • Reasons may be a singular reason object or a reasons array depending on the data block type
  • A score field is present only in certain data blocks (e.g., DigitalSignals)
info

Data blocks may provide varying levels of detail. Some steps return complete decision information, while others provide only partial results or no detailed breakdown. The available data depends on the step type, IDnow's internal logic, and any availability of third-party results .:::


Examples

Failed Biometric Authentication

A flow uses the Biometric Authentication step to authenticate a user, but the captured face does not match the enrolled one. The flow reaches an outcome of "rejected", and the AuthenticationResult data block contains additional details.

{
"result": "failure",
"reason": {
"code": "FACE_NOT_MATCHED",
"details": "SERVER_FACE_DOES_NOT_MATCH"
}
}

Untrusted Digital Signals

The Email & phone verification step detects that a user is connecting through a proxy or VPN while attempting identity verification. The step flags this as suspicious, and the DigitalSignals data block contains multiple risk factors.

{
"result": "not_trusted",
"score": 28.3,
"reasons": [
{
"code": "RC004",
"details": "The country associated to the ip address does not match with the country of the phone number"
},
{
"code": "RE011",
"details": "This email address is present in much more data breach than usual, indicating a shared email"
}
]
}

Detailed rejection and failure reasons

For detailed reasons such as available parameters, possible values, third-party providers, and links to external documentation, please refer to the Data block overview.