What Plaid IDV covers
Plaid Identity Verification (IDV) stitches document capture, Data Source Verification (kyc_check), selfie liveness, SMS verification, and Monitor watchlist screening into configurable templates. Plaid markets verification in as little as 10 seconds for data-source-only flows, 90%+ pass rates, and support for 16,000+ ID types across 200 countries (IDV product page).
Unlike Auth or Transactions, IDV is configured primarily in the Template Editor dashboard—not purely via API. Request Production access (or contact sales) to unlock Sandbox IDV if you already use other Plaid products.
Core API lifecycle
| Endpoint | Purpose |
|---|---|
/identity_verification/create | Start session with template_id + client_user_id |
/identity_verification/get | Poll status, steps, kyc_check, documents |
/identity_verification/list | Audit history per user |
/identity_verification/retry | Allow user retry after failure |
/link/token/create | Client UI with products: ["identity_verification"] |
Use is_idempotent: true on create when you must not spawn duplicate active sessions for the same user + template (API docs).
Quickstart reference implementation
Plaid maintains plaid/idv-quickstart—Node backend + vanilla JS frontend demonstrating Link and backend-only Data Source flows. Clone it to validate template IDs before wiring your apply portal BFF.
const { data } = await client.identityVerificationCreate({
template_id: process.env.PLAID_IDV_TEMPLATE_ID,
is_idempotent: true,
gave_consent: true,
user: {
client_user_id: applicantId,
email_address: applicant.email,
phone_number: applicant.phone,
date_of_birth: applicant.dob,
name: { given_name: applicant.first, family_name: applicant.last },
},
});
// Redirect user to data.shareable_url or launch Link with identity_verification session
Template design decisions
- Data Source Only — fastest; good for low-friction pre-qualification
- Document + Selfie — higher assurance; guided capture improves success ~10% per Plaid marketing
- Watchlist screening — integrate Monitor for PEP/sanctions alongside IDV
- Financial Account Matching — tie bank Link to IDV profile (see Identity Match guide)
Document verification fees are additive to base verification attempts—model unit economics before enabling selfie on every template revision.
Webhooks and compliance records
Subscribe to IDV webhooks; store redacted session payloads with identity_verification_id, template version, step transitions, and reviewer overrides from the Compliance Agent Dashboard. Regulators and underwriters should replay timelines without production DB access—mirror webhook bodies to immutable storage (S3 + Glacier, or your SIEM).
Production launch checklist
- Complete Plaid Dashboard application profile
- Separate sandbox/production template IDs and webhook URLs
- Pen-test shareable URL flows for session fixation
- Load-test
/identity_verification/createidempotency under double-submit - Train ops on
/identity_verification/retrycriteria - Connect passed IDV
client_user_idto downstream Plaid Auth Link
Integration with underwriting MVPs
For MVP in 2 days FinTech scopes, ship Data Source template + webhook + manual review queue first; add document/selfie when fraud rates justify friction. On Revenued, IDV gates merchant onboarding before Plaid Items fund underwriting models—fail closed, never “soft pass” without audit trail.
Illustrative KPIs
| Metric | Range to validate |
|---|---|
| Median completion time (data source) | 10–45 sec |
| Pass rate (tuned templates) | 88–93% |
| Document retry rate | 8–15% |
| Manual override rate | 2–5% |
Pitfalls
- Assuming Sandbox IDV without explicit access grant
- Mixing IDV Link (
products: [identity_verification]) with Auth products in one token—mutually exclusive - Not versioning templates—audit trails must cite
template.version - Skipping Monitor when compliance requires watchlists
Sandbox vs production template hygiene
Maintain separate template IDs per environment; never copy sandbox template_id into production .env. Version breaking template changes with comms to mobile app teams—deep links to IDV sessions break if shareable URL keys rotate without app updates.
Ops teams should export monthly IDV pass/fail dashboards by template version for compliance committees.
Nitin Rachabathuni delivers Plaid IDV + Auth + webhook pipelines for global FinTech clients—portfolio contact.
Metrics snapshot

Illustrative Plaid IDV program KPIs from product documentation and FinTech launches—measure your template mix.
Architecture flow

Approach comparison
| Approach | Signal | Risk | Best for |
|---|---|---|---|
| Data Source Only template | Fastest UX; lowest friction | Lower document assurance | Pre-qualification MVPs |
| Document + Selfie template | Stronger fraud resistance | Higher drop-off; extra fees | Regulated onboarding |
| No-code dashboard links | Ops-led verification | Not scalable for app flows | Manual pilot programs |
Code sketches
/* Idempotent IDV session create */
const { data } = await client.identityVerificationCreate({
template_id: process.env.PLAID_IDV_TEMPLATE_ID,
is_idempotent: true,
gave_consent: true,
user: { client_user_id: applicantId, email_address: email },
});
const sessionId = data.id;
const shareUrl = data.shareable_url;
Official references
Related on this site
Article slug: plaid-identity-verification-idv-production-guide · Engineering notes by Nitin Rachabathuni — MVP in 2 days specialist.

Plaid Auth: instant account verification in production (2026 guide)
FinTech

Plaid Identity Match and kyc_check: production identity verification guide
FinTech

Plaid update mode and relink when Item login is required
FinTech

Plaid Auth and Identity for underwriting — production guide
FinTech

Plaid webhooks — verification, idempotency, and FinTech handlers
FinTech

Plaid Hosted Link and EU open banking — implementation guide
FinTech
