Guide
Sandbox and test data
Test numbers, the test person, simulated outages and test selfies.
Test keys (vk_test_…) only ever reach these fictional identities. Any other number is “not found”. Nothing is charged.
Test numbers
| Type | Test number | What happens |
|---|---|---|
| NIN | 70000000006 | Ngozi Lagbaja: found |
| NIN | 70000000001 | Ada Okafor: found |
| NIN | 70000000002 | Not found |
| NIN | 70000000003 | Registry down on the first try: pending, then found on the automatic retry |
| NIN | 70000000004 | Registry times out: fails over to licensed source B, found |
| NIN | 70000000005 | Never resolves: verification.failed after 72 hours, never billed |
| vNIN | VT00000000000003 | Ngozi Lagbaja: found |
| vNIN | VT00000000000001 | Ada Okafor: found |
| BVN | 22200000004 | Ngozi Lagbaja: found |
| BVN | 22200000001 | Ada Okafor: found |
| BVN | 22200000002 | Not found |
| BVN | 22200000003 | Pending, then found |
The test person
Ngozi Lagbaja is fictional. Use her details anywhere your app asks for them: the email can’t receive mail and the phone number is for the sandbox only.
| Field | Value |
|---|---|
| First name / last name | Ngozi / Lagbaja |
| Date of birth | 1994-05-14 (14 May 1994) |
| Gender / nationality | Female / Nigerian |
| NIN / vNIN / BVN | 70000000006 / VT00000000000003 / 22200000004 |
| ngozi.lagbaja@example.com | |
| Phone | 0803 000 0006 (+234 803 000 0006) |
| Address | Plot 42, Example Crescent, Off Admiralty Way, Lekki Phase 1, Eti-Osa, Lagos State 106104 |
Test selfies and AML names
For NIN + selfie, send one of these words as selfie_image instead of a photo:
| selfie_image | What happens |
|---|---|
| test_match | A live person whose face matches the NIN photo |
| test_other_person | A live person, but a different face |
| test_spoof | Fails liveness: a photo of a photo or a screen |
For AML screen, the last name Sanctioned returns a sanctions hit and Politico returns a politically exposed person. Any other name is clear.
Simulating an outage
With a test key, add the X-Simulate-Outage header to see what your app does when sources go down:
| Header value | What happens |
|---|---|
| registry | The first source fails and the next one answers. route shows both. |
| all | Nothing answers: you get 424 with status: "pending", then a verification.completed webhook when the retry succeeds. |
