Use the Plaid server-side SDK with your client_id and secret to call the /identity_verification/create endpoint, passing the user object (client_user_id, email address) and the template_id from your Plaid dashboard.
Return the link_token (or shareable_url) from the response to your frontend; use Plaid Link to launch the hosted Identity Verification flow.
Subscribe to Plaid webhooks; listen for the IDENTITY_VERIFICATION webhook with code STEP_UPDATED or STATUS_UPDATED to track progress.
When the STATUS_UPDATED event indicates a terminal status (success, failed, expired), call /identity_verification/get with the identity_verification_id to retrieve the full result including document checks, selfie checks, and watchlist screening results.
Map the overall status and individual step statuses to your onboarding decision; store the identity_verification_id for audit purposes.
For failed users, inspect the steps object to determine which step failed and whether the user is eligible to retry.
Known gotchas
The template_id controls which steps are included (document, selfie, KBA, watchlist); create and configure templates in the Plaid dashboard before coding.
Plaid Identity Verification and Plaid Monitor (ongoing screening) are separate products; do not conflate the one-time IDV result with ongoing watchlist monitoring.
Shareable URLs bypass Link and can be sent via email; they expire and are tied to a single user, so never reuse them.
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