# Prefill + Onboarding

## Prefill + Onboarding
[This flow](/client-spec/identity-verification-(prefill-+-onboarding)) is **phone-number driven** — you don't need a specific SSN, just the demo phone numbers below.
> **Note —** The name must contain `SNA`. Silent Network Authentication runs first, and in the sandbox it succeeds only when `SNA` appears in **both the first and the last name** — for example `SNA` / `SNA`, or `SNAtest` / `testSNA`. Any other name returns `SNA Unsuccessful` among the reason codes and the run ends there, so the scenario below is never reached. Set the names first, then pick the phone number for the case you want.

| Scenario | Mobile | Decision | Notes |
|  --- | --- | --- | --- |
| Accept (with OTP) | `333-573-4442` | `ACCEPT` (OTP) | Submit any random 6-digit OTP via `POST /users/identity-submit-otp` to pass verification (use `000000` to force a `FAILED` decision), then call `POST /users/identity-onboarding`. |
| Reject — no match | `206-789-0036` | `REJECT` | Identity could not be found in the prefill provider. |
| Reject — risky phone | `979-979-1111` | `REJECT` | Phone flagged as high-risk. |
| Reject — bad device | `607-368-0976` | `REJECT` | Device signals indicate fraud risk. |
| **Mocked end-to-end (EFX 1-bureau)** | `555-555-1201` | `ACCEPT` (no OTP) | Enrolled (mocked) — `1B` feature flags |
| **Mocked end-to-end (EFX 3-bureau)** | `555-555-1203` | `ACCEPT` (no OTP) | Enrolled (mocked) — `3B` feature flags |
| **Mocked end-to-end (multi-bureau)** | `555-555-1204` | `ACCEPT` (no OTP) | Enrolled (mocked) — enrolled with the host's bureaus |
| **Mocked end-to-end (partial data)** | `555-555-1205` | `ACCEPT` (no OTP) | Enrolled (mocked) — receives [partial reports and scores](#partial-data) |

> **Mocked test users.** The reserved numbers `555-555-1201`, `555-555-1203`, `555-555-1204` and `555-555-1205` **bypass the prefill provider entirely**. The whole number must match — a number that merely ends in those digits goes through real verification. `POST /users/identity-prefill` returns `ACCEPT` with mocked prefill data, the OTP step is skipped, and `POST /users/identity-onboarding` enrolls the user immediately with the appropriate bureau feature flags. The flow is identical to the other scenarios — same endpoints, same `IDPASS` → `ACCREG` webhook sequence, same response shapes — but everything is stable and always available, even when the prefill provider is down or flaky. Use these when you need a reliable, repeatable test against real-looking enrollment.

Pass `diSessionToken` from the [Device Risk SDK](/client-spec/prefill-onboarding-sdk) on every Prefill and Onboarding request to enable Silent Network Authentication. Without it, every Accept decision falls back to OTP.
**Happy-path identities.** For the `333-573-4442` Accept scenario, use one of the following test names:
| First name | Last name |
|  --- | --- |
| Marika | Smitholson |
| Giulia | Fortina |
| Maria | Godina |
| Henrique | Obusa |
| Patricia | Oliver |

> **More cases coming soon** — additional Prefill + Onboarding scenarios are being added. Check back here for updates.

Version: v3

## Description:

  - `Prefill + Onboarding` ()
    This flow is phone-number driven — you don't need a specific SSN, just the demo phone numbers below. Note — The name must contain SNA. Silent Network Authentication runs first, and in the sandbox it succeeds only when SNA appears in both the first and the last name — for example SNA / SNA, or SNAtest / testSNA. Any other name returns SNA Unsuccessful among the reason codes and the run ends there, so the scenario below is never reached. Set the names first, then pick the phone number for the case you want. ScenarioMobileDecisionNotesAccept (with OTP)333-573-4442ACCEPT (OTP)Submit any random 6-digit OTP via POST /users/identity-submit-otp to pass verification (use 000000 to force a FAILED decision), then call POST /users/identity-onboarding.Reject — no match206-789-0036REJECTIdentity could not be found in the prefill provider.Reject — risky phone979-979-1111REJECTPhone flagged as high-risk.Reject — bad device607-368-0976REJECTDevice signals indicate fraud risk.Mocked end-to-end (EFX 1-bureau)555-555-1201ACCEPT (no OTP)Enrolled (mocked) — 1B feature flagsMocked end-to-end (EFX 3-bureau)555-555-1203ACCEPT (no OTP)Enrolled (mocked) — 3B feature flagsMocked end-to-end (multi-bureau)555-555-1204ACCEPT (no OTP)Enrolled (mocked) — enrolled with the host's bureausMocked end-to-end (partial data)555-555-1205ACCEPT (no OTP)Enrolled (mocked) — receives partial reports and scores Mocked test users. The reserved numbers 555-555-1201, 555-555-1203, 555-555-1204 and 555-555-1205 bypass the prefill provider entirely. The whole number must match — a number that merely ends in those digits goes through real verification. POST /users/identity-prefill returns ACCEPT with mocked prefill data, the OTP step is skipped, and POST /users/identity-onboarding enrolls the user immediately with the appropriate bureau feature flags. The flow is identical to the other scenarios — same endpoints, same IDPASS → ACCREG webhook sequence, same response shapes — but everything is stable and always available, even when the prefill provider is down or flaky. Use these when you need a reliable, repeatable test against real-looking enrollment. Pass diSessionToken from the Device Risk SDK on every Prefill and Onboarding request to enable Silent Network Authentication. Without it, every Accept decision falls back to OTP. Happy-path identities. For the 333-573-4442 Accept scenario, use one of the following test names: First nameLast nameMarikaSmitholsonGiuliaFortinaMariaGodinaHenriqueObusaPatriciaOliver More cases coming soon — additional Prefill + Onboarding scenarios are being added. Check back here for updates.

