Complete E-Verify enrollment at e-verify.gov as an Employer Agent (not an individual employer) and sign the Memorandum of Understanding (MOU).
Submit a Web Services access request through your E-Verify account; USCIS will provide an Interface Control Agreement (ICA) containing the WSDL, XSD schemas, and test environment credentials.
Develop a SOAP client using the provided WSDL; the core operation is CreateCase, which accepts employee I-9 data fields (name, DOB, SSN, document type and number, hire date) and returns a CaseNumber.
Poll GetCaseStatus using the returned CaseNumber; valid terminal statuses include Employment Authorized, DHS Tentative Nonconfirmation (TNC), SSA Tentative Nonconfirmation, and Case in Continuance.
For a TNC result, notify the employee within the required timeframe; if the employee contests, call ReferCase to refer to DHS or SSA, then continue polling for Final Nonconfirmation or Employment Authorized.
In production, request production credentials from USCIS after completing integration testing in the test environment; production cases must be created no later than the third business day after the employee's first day of employment.
Known gotchas
The E-Verify Web Services API uses SOAP/XML, not REST/JSON; most modern HTTP client libraries require a dedicated SOAP framework or manual XML envelope construction.
This route covers the Employer Agent (acting on behalf of clients) pathway — direct employer Web Services integration uses a separate account type with different MOU terms.
Never create E-Verify cases before an employee accepts a job offer; pre-screening is prohibited and a compliance violation. The avoid-list already covers the TNC route; this route focuses on agent enrollment and case creation mechanics.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp