> For the complete documentation index, see [llms.txt](https://docs.voveid.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.voveid.com/docs/kyc-api/government-registry-check.md).

# Government Registry Check: NIN and BVN

Use Government Registry Check to verify a customer's Nigerian identity against a registry record within a Vove ID verification flow. You can optionally compare the customer's selfie with the registry photo.

For Ghana Card, Voter ID and Passport checks, use the separate [Ghana Government Registry Check guide](/docs/kyc-api/government-registry-check-ghana.md).

## Supported checks

| Registry                             | Identifier        | Supported collection sources |
| ------------------------------------ | ----------------- | ---------------------------- |
| NIN — National Identification Number | Exactly 11 digits | API, document extraction     |
| BVN — Bank Verification Number       | Exactly 11 digits | API                          |

Document extraction is available only for NIN and requires an earlier `ID_DOCUMENT` or `DRIVING_LICENSE` flow step that supplies a usable NIN. BVN document extraction is not supported.

A registry lookup verifies information against the registry. A lookup without face matching does not establish that the person presenting the number is the record holder. Use the check alongside the other verification steps and review the whole-session decision.

## Before you start

* Configure a matching Government Registry Check step in the customer dashboard.
* If face matching is required, collect an eligible selfie through the session enrollment flow before the registry lookup.
* Handle NIN, BVN, selfie, and returned identity information as sensitive data. Keep identifiers out of application logs and analytics.

## 1. Configure the flow in the customer dashboard

Configure Government Registry Check in your Vove ID customer dashboard:

1. Open the verification flow you want to configure.
2. Add a Government Registry Check step and choose NIN or BVN.
3. Choose the identifier source: API for a number supplied by your backend, or document extraction for NIN from an earlier supported document step.
4. Choose whether to require face matching.
5. Save the flow configuration before using it to create sessions.

Add separate steps if you want to check both NIN and BVN. Select only sources supported by the registry.

## 2. Supply the identifier

For API collection, add `governmentRegistryChecks` to your existing [`POST /v2/sessions`](/docs/kyc-api/verification-session.md) request alongside its other required session fields. This example shows only the additional fields:

```json
{
  "governmentRegistryChecks": [
    {
      "country": "NG",
      "registry": "NIN",
      "identifier": "12345678901"
    }
  ]
}
```

The number is illustrative, not a test credential or a guaranteed valid record. Send identifiers as strings to preserve leading zeroes.

The flow must contain the matching check and allow `api` collection. Supply an identifier for every API-only check when creating a new session. A compatible active session can reuse an identifier already stored on its step.

For NIN document collection, the earlier document step supplies the identifier.

## 3. Complete the check

Checks using only API or document sources execute automatically when they become current. Required face matching still needs an eligible selfie.

## 4. Review the result

Retrieve `governmentRegistryChecks` through `GET /v2/users/{refId}` for the check lifecycle, last persisted verdict, and available normalized registry data. See the [response examples, fields, and data rules](/docs/kyc-api/get-user-verification.md#government-registry-checks).

Review the registry-check outcome and verification reason in the session details. When face matching is enabled, confidence is normalized to 0–1. A successful face match requires confidence at or above the configured threshold. Completing a lookup does not necessarily mean that the customer passed verification.

Read the whole-session verdict before making an onboarding decision. A completed lookup that does not pass the required face match contributes a caution outcome and can still be billable. Government Registry Check usage is billed separately; confirm your organization's applicable rate with Vove ID.

## Troubleshooting

| Condition or reason           | What to do                                                                                    |
| ----------------------------- | --------------------------------------------------------------------------------------------- |
| Invalid or missing identifier | Supply an 11-digit string for the matching country/registry and configured source.            |
| Missing selfie                | Complete the session enrollment capture before a face-required check.                         |
| Registry record not found     | Verify the supplied identifier with the customer; a missing record is not a successful check. |
| Check temporarily unavailable | Check the session result and contact Vove ID support if the issue persists.                   |

Retry only when the returned failure permits it and the flow has attempts remaining. If the outcome is unclear, contact Vove ID support before retrying. Do not create repeated sessions to work around it.

Share session references and error codes with support. Do not paste a customer's NIN, BVN, selfie, session token, or identity payload into tickets.
