Call POST /identity_verification/create with the required fields (client_user_id and template_id at minimum) to create an Identity Verification session; the response returns an IDV object containing id, status, steps, shareable_url, and related metadata.
To open the verification flow in the Plaid Link UI, make a separate call to POST /link/token/create including 'identity_verification' in the products array and the same template_id; this returns a link_token.
Initialize Plaid Link in your frontend using the link_token obtained in the previous step; the user completes identity verification steps within the Link flow.
Listen for the onSuccess callback from Link; use the returned public_token if needed, or reference the IDV session id from step 1 to retrieve results.
Call GET /identity_verification/get with the session id to retrieve the full IDV result including status, individual step outcomes, and any document or selfie data.
Handle status values such as 'success', 'failed', and 'expired'; implement webhook handling for idv_status_updated events to receive asynchronous status changes.
Known gotchas
POST /identity_verification/create does NOT return a link_token — it returns the IDV session object. The link_token must be obtained from a separate /link/token/create call that references the identity_verification product and template_id.
The template_id must be consistent between /identity_verification/create and /link/token/create; mismatching templates will cause the Link flow to open the wrong verification configuration.
IDV sessions have expiration windows; if the user does not complete verification before expiry, you must create a new session rather than reusing the old session id.
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