HomeGuidesAPI Reference
Log In
Guides

Getting your Verification Report

Fetch the account verification report and interpret the name-match affinity result.

Authorization

Use the access_token from step 2 and the id from step 1 (or flow_id from the callback) to fetch the report.


Fetch the report

GET https://api.finx-s.qwist.cloud/rest/account-verifications/{id}

Authorization: Bearer {access_token}

Response:

{
  "id": "a9c2e4f8-1b3d-4e7a-9f2c-8d1e3b5a7c9e",
  "provided": {
    "name": "Maria Müller",
    "iban": "DE89370400440532013000"
  },
  "matched": {
    "name": "Maria Müller",
    "affinity": "VERY_HIGH"
  },
  "account": {
    "name": "Girokonto",
    "type": "Giro account",
    "owners": ["Maria Müller"],
    "iban": "DE89370400440532013000",
    "currency": "EUR"
  }
}

Understanding the affinity score

The affinity field indicates how closely the provided.name matches the best account holder name found at the bank.

AffinityMeaningExample
VERY_HIGHExact match (case-insensitive)"Maria Müller" vs "Maria Müller"
HIGHMinor deviations only"Müller, Maria" vs "Maria Müller" or "Hans Muller" vs "Hans Müller"
MEDIUMPartial similarity"Maria Schmidt" vs "Maria Müller"
LOWNo meaningful match"Thomas Wagner" vs "Maria Müller"

Recommended decision logic

  • VERY_HIGH or HIGH → Accept as verified.
  • MEDIUM → Flag for manual review.
  • LOW → Reject or require alternative identification.

Using readout data

If you passed "ACCOUNTS" or "TRANSACTIONS" in the readout parameter during step 1, you can also fetch account and transaction data using the same access token via the standard /rest/accounts/ and /rest/transactions endpoints.



Error handling

The nrich API uses standard HTTP status codes and returns a structured error object in the response body.

Error response structure

{
  "error": {
    "code": 1000,
    "group": "client",
    "description": "Request body doesn't match input schema.",
    "data": {
      "redirect_uri": ["Not a valid URL."]
    }
  }
}
FieldDescription
codenrich-specific numeric error code.
groupError category: client, user, bank, general, or connectivity.
descriptionShort human-readable summary.
dataField-level validation details (on 400 errors).

HTTP status codes

CodeMeaningWhat to do
200 OKSuccess.Parse the response body.
400 Bad RequestInvalid or missing parameters.Check error.data for the specific field.
401 UnauthorizedToken missing or expired.Refresh using your refresh_token and retry.
403 ForbiddenValid token, insufficient scope.Verify your credentials have the required scopes.
404 Not FoundResource not found or not yet created.Confirm the ID is correct; some resources only exist after the user completes the flow.
423 Resource LockedResource temporarily locked during migration.Retry with exponential backoff (seconds → minutes).
500 Internal Server ErrorUnexpected server error.Retry with backoff; contact support if it persists.
🚧

Implement 423 retry logic

423 can occur after system updates. Your application must handle it with incremental backoff - do not surface it directly to users.

Common nrich error codes
CodeGroupDescription
1000clientInvalid request - check data for field details
1002clientEntity not found
1008clientResource busy - implement retry with backoff
10000userLogin credentials are invalid
10001userPIN is invalid
10004userTAN is invalid
10007userPIN change required at the bank
20000bankProcessing at the bank not possible
20003bankBank under maintenance
30000generalProcessing at nrich not possible
30005generalTask has expired
40000connectivityBank not supported