E-Verify Mock Server

Last updated: April 27, 2026

Summary

This short guide explains how to configure Onboarded to use the E-Verify Mock Server, how to run supported I-9 + E-Verify test flows, and a quick way to iterate on different flows without recreating employees. The mock is name-driven and intentionally limited: it covers a small subset of E-Verify outcomes.

The E-Verify Mock API is not an exact replication of the actual E-Verify API

Pre-requirements

  • An Onboarded account (Test or Live) with admin rights to configure integrations.

  • I-9 + E-Verify form included on your account and assigned to an employee

  • Ability to create or edit employees and to generate onboarding/task links (UI or API).

  • Access to the E-Verify configuration page

  • (Optional) Read about the Onboarded task lifecycle for guidance on task states and change requests


Configure E-Verify

  1. Go to Integrations → Configure E-Verify.

  2. Type: select External Account (important).

  3. Username / Password: enter the credentials you want to use for the integration. The mock accepts configured credentials for testing.

  4. Endpoint: paste the mock URL exactly.

    https://mock.apidog.com/m1/806230-785042-default
  5. Click Save.


Quick step-by-step — what to do and what to expect

Basic flow (create new employee)

  1. Create a test employee and use one exact first + last name from the list below. Exact spelling and spacing are required.

  2. Submit the I-9 + E-Verify form for the employee (complete doc type, DOB, SSN, etc.). The mock uses the first + last name to determine the mocked outcome.

  3. Generate an employer link to test the employer experience:

    • UI: Create Link → Assignee: Employer → Create Link

    • Or generate an onboarding URL via the API.

  4. Observe case states in the Onboarded UI; the mock will respond as the user clicks through case management actions in the E-Verify integration UI.

Supported test names & expected results

  • Alaina SmithEmployment authorized (happy path)

  • Tim SalekUnconfirmed data → Manual review → Employment authorized (manual-review flow)

  • David CookUnconfirmed data → Pending referral (FAN) → Final nonconfirmation → Employment NOT authorized

    • Note: the mock indicates the FAN/referral state but does not provide a downloadable FAN/referral PDF.


Fast iteration method — test different flows without recreating employees

If you don’t want to repeatedly create new employees and run the full I-9 sequence, you can reuse a single employee by changing its name and re-creating a case:

  1. Complete the I-9 + E-Verify task for a test employee so the task status is Completed.

  2. Edit the employee’s First and Last name on the employee detail page to one of the exact test names above.

  3. Submit a Task Change Request for the completed task (see Task Lifecycle docs for how change requests work). This tells the system you want to re-run or change the task state.

  4. Return to the E-Verify step via Create Link → Assignee: Employer → Create Link. Once at the E-Verify step, you can Create Case, which will create a new E-Verify case for the employee under the new name.

  5. Observe the resulting E-Verify flow/state — you’ve triggered a new case without going through the entire I-9 again.

This approach is helpful when you only want to exercise different E-Verify responses and employer views quickly.


Known limitations & notes

  • Limited coverage. The mock implements a small, name-driven subset of E-Verify outcomes — it does not reproduce every production nuance.

  • No FAN PDFs. Referral/FAN PDFs cannot be downloaded from the mock.

  • Endpoint payload fidelity. Some endpoints may return invalid or incomplete payloads because the mock cannot perfectly replicate E-Verify’s exact responses.

  • UI quirks. In the test environment, you may see issues such as an inability to reopen a case after a FAN/mismatch, missing language options for referral exports, or transient UI elements disappearing. These are generally mock-environment limitations.

  • Exactness matters. The mock is name-driven. If the first + last name is not exact, the mock will typically not return the intended mocked response.


Troubleshooting checklist

  1. Endpoint: Confirm the E-Verify endpoint equals: https://mock.apidog.com/m1/806230-785042-default.

  2. Type: Verify Type = External Account in the E-Verify configuration.

  3. Name: Confirm you used the exact first + last name spelled and spaced as shown above.

  4. Support: If the flow cannot be reproduced, provide Onboarded support with account ID, employee ID, exact inputs (name)


Short FAQ

Q — Does my Onboarded account need to be in Test Mode?
A — No. Use Test or Live accounts; what matters is the E-Verify endpoint configured. If you want to avoid sending data to USCIS, set the endpoint to the mock URL.

Q — Why didn’t I get the expected result?
A — Common reasons: endpoint not set to the mock, Type not set to External Account, the task lacks the Verify form, name not exact, or the mock does not cover that scenario.

Q — Can the mock produce FAN PDFs?
A — No. The mock indicates FAN/referral states but does not provide downloadable FAN/referral PDFs.