Identity Verification (2024)

Verify the identity of your users for global KYC and anti-fraud.

API ReferenceView Identity Verification requests, responses, and example codeView Identity Verification APIRequest AccessRequest Sandbox access for Identity VerificationGet started

Quickstart

Run starter code and see common Identity Verification scenarios

Get coding
Overview

Plaid Identity Verification lets you verify the identity of your customers and seamlessly stitches together verification methods. Using Identity Verification, you can verify identification documents, phone numbers, name, date of birth, ID numbers, addresses, and more. Identity Verification also integrates directly with Monitor for an end-to-end verification and KYC solution.

Identity Verification (1)

Plaid Identity Verification can also be used together with Plaid Identity in a single workflow to provide full identity verification and fraud reduction. Identity Verification is used to verify that the user of your app is the person they claim to be, while Identity is used to confirm that the ownership information on their linked bank or credit card account matches this verified identity.

Identity Verification can be used to verify end users in nearly 190 countries. To integrate with Identity Verification, your company must be based in the US, Canada, or UK (support for additional countries coming soon).

Identity Verification checks

Plaid offers a variety of verification checks to choose from. You can combine multiple verification checks within a single Identity Verification template via the Workflow Management editor, and even run certain checks conditionally, such as only running a particular verification if another verification fails, or running different checks based on your user's country of origin.

For a more in-depth view of Identity Verification checks, including details on what each check verifies and how to handle failures, see Identity Verification Manual.

Data Source Verification

Data Source Verification (formerly known as Lightning Verification) verifies a user's name, address, date of birth, phone number, and ID number (such as SSN) against available records. These records are sourced from high-quality, trusted databases such as voter and driver registration records, property records, and credit bureau records. You can configure the level of matching required for each field in your template’s Identity Rules. The results of this check will be summarized in the kyc_check object in the API.

Document Verification

Document Verification prompts the user to upload an image of an identity document. Plaid will use anti-fraud checks to verify that the document appears to be legitimate and is unexpired. Plaid will also verify the date of birth and name on the document against the data provided by the user (other fields that may be present on the document, such as address or national ID number, will not be verified). You can review and configure which document types are supported for each country.

Selfie Check

When Selfie Check is enabled, the user will be asked to take a selfie as part of the verification process. Plaid will verify that the selfie submitted is a live video of a real human. If Document Verification is enabled, Selfie Check will also verify that the selfie matches the photo in the document.

SMS Verification

SMS Verification will verify a user's phone number by asking them to enter a code sent via SMS.

AML Screening

If you're also using Monitor, AML Screening allows you to screen a user against government watchlists during an IDV session by incorporating one of your Monitor screening programs into an IDV template.

Risk Check

Plaid automatically runs anti-fraud checks in the background of a user’s verification session and summarizes the results into several categories. The data collected in each category is analyzed and assigned a risk level. Whether the overall risk check passes or fails is determined by the template’s Risk Rules, which you can configure. For more details on the risk check process, see Anti-fraud monitoring.

Identity Verification integration process

Identity Verification is not available by default in the Sandbox environment. To obtain Sandbox access, request full Production access for Identity Verification, which will automatically grant Sandbox access, or, if you are not ready for Production access, contact Sales. To obtain Sandbox access for Identity Verification if you are already using another Plaid product, you can also contact your account manager or submit an access request ticket.

The steps below explain how to set up the standard Identity Verification flow. For details on other flow options, including the backend-only flow and hosted UI flow, see Integration options for Identity Verification.

Note that unlike other Plaid products, which are configured primarily via the API, most options for Identity Verification are configured on the web, via the Template Editor within the Identity Verification Dashboard. Detailed documentation on configuring Identity Verification templates is available via in-app help within the Template Editor. To request access to the Template Editor and Identity Verification Dashboard, contact your Plaid Account Manager, or file a Product Access request.

  1. Visit the Plaid Dashboard and select Identity Verification from the left sidebar. If you don't see this option, you may need to talk to your Plaid Account Manager and ask them to enable this product for you, or file a Product access request.
  2. Select or create the template you want to use, click the Integration button, and copy the template_id.
    • (Optional) If you plan to integrate with Monitor, make sure to enable the AML Screening option and select the appropriate Monitor program within the IDV template editor.
  3. (Optional) Call /identity_verification/create if you already have information about your user that you can fill out on their behalf. See pre-populating user information for more details.
  4. Call /link/token/create. In addition to the required parameters, you will need to provide the following:
    • For identity_verification.template_id, use the template_id you copied in step 2.
    • For products, use ["identity_verification"]. Identity Verification is mutually exclusive with other products.
    • Provide user.client_user_id and optionally user.email_address. See below for details on these fields.
  5. On your web or mobile client, create an instance of Link using the link_token returned by /link/token/create; for more details, see the Link documentation.
  6. When the user has successfully completed the client-side Link flow, you will receive an onSuccess callback and be able to review the session in the dashboard. The onSuccess callback will return a Link session ID that can be used as the identity_verification_id in the next step. Unlike some other Plaid products, Identity Verification will not return a public token in onSuccess.
  7. To retrieve the status of your user's verification attempt, make a call to /identity_verification/get, passing in the verification session ID. You can retrieve this session ID from the metadata in the Link callbacks, from the /identity_verification/create response, or from the Identity Verification webhooks that Plaid sends during the process.
  8. You can retrieve a list of all of your user's verification attempts by making a call to /identity_verification/list, passing in the client_user_id and the template_id.
Events and callbacks

You can optionally track the progress of users through the Link flow via client-side callbacks and events. For more information, see Link callbacks.

Mobile support

Identity Verification is fully supported by Plaid's mobile SDKs. Because the end user may need to use the camera during the Identity Verification flow, your app must request certain permissions in order to fully support Identity Verification flows on mobile. For more details, see the documentation for the Android and iOS SDKs.

Client User Id

The mandatory client_user_id field should be a unique and persistent identifier for your customer, such as the id field on your users table.

Identity Verification intelligently handles sessions being started with the same client_user_id multiple times. If your customer starts a Link session, closes it, reopens it, and reopens your Link integration, their session will resume from where they left off. Likewise, if your customer has completed their Link session in the past (by either failing verification or passing), Plaid will not serve them another session unless you've manually authorized another attempt from the dashboard or made a call to /identity_verification/retry.

Plaid indexes the client_user_id you provide, allowing you to look up users using your internal id.

If you do not want to expose your internal id to Plaid directly, you can symmetrically encrypt the identifier with a secret key that only your servers know.

Supplementing with email

During /link/token/create or /identity_verification/create, Identity Verification accepts email_address as an optional additional parameter. While the field is optional, we highly recommend providing it. Identity Verification will include the user's email in the Link session and perform a number of anti-fraud related checks, including analyzing social networks, abusive emails, and email address trustworthiness.

Integration options for Identity Verification

Identity Verification offers several options for streamlined flows.

Streamlining Link by pre-populating user information (hybrid Link flow)

If you already know some information about your user (such as their name, phone number, or address), you can simplify the verification process by making a call to /identity_verification/create, passing in any information you know about your user, including their client_user_id. When you open up a Link session against this same client_user_id, Identity Verification can make use of the information that you passed in. Any fields or screens requesting information you already provided will be skipped (not shown) in the UI. For data format specifications, see Hybrid Input Validation.

Data Source Checks without UI (backend flow)

If you have already obtained a user's information and their consent to share it with Plaid, and do not need interactive capabilities such as Document Check, Selfie Check, or SMS verification, you can bypass the Identity Verification UI entirely and run an entirely programmatic verification:

  1. Create a template that requires only Data Source (KYC) check and does not use SMS verification.
  2. Call /identity_verification/create with all the user data required by this template and gave_consent: true.
  3. Wait for the STATUS_UPDATED webhook to fire for the id returned by /identity_verification/create. Alternatively, you can poll /identity_verification/get with this id until the status is no longer active.
  4. Call /identity_verification/get with the id returned by /identity_verification/create to retrieve the status of the verification.
Verification links (hosted flow)

Identity Verification offers the option to generate Plaid-hosted verification links. These links can be used in scenarios where your user signed up for your service outside of an app or website -- for example if a user is opening a bank account or applying for a loan in person at a brick-and-mortar retail location. To generate a verification link, click Create verification from the Identity Verification template view in the dashboard. Alternatively, you can call /identity_verification/create with is_shareable: true; a verification link will be returned in the shareable_url field of the response. Once you have shared the verification link, the user can open the link and complete the verification on their phone or other device.

Note that verification links are intended to be sent directly to your users; hosting verification links via iframe will be blocked.

Auto-fill

When auto-fill is enabled, Plaid will use the user's phone number and date of birth to attempt to auto-fill other fields. The user will be asked to confirm their auto-filled information is accurate before submitting. Auto-fill can only be enabled when using SMS Verification and Data Source Verification and is only available for US verifications.

Retries

If you want to give a user another attempt to verify their identity -- for example, if they failed verification due to a typo -- you can issue them a retry. This can be done from the dashboard when reviewing a verification by clicking Request Retry and selecting the steps to include, or via API by calling /identity_verification/retry with their client_user_id, template_id, and the strategy you want to use.

Retries can be issued from any verification check. Any steps included in the retry will be reset and cleared of any PII entered by the user or passed via API in previous verification attempts. Data Source data can be passed programmatically for a retry by calling /identity_verification/retry and passing the user’s data in the user object. /identity_verification/create should only be used to create an initial session for users who have never been verified before.

Each retry will generate a new session_id, with the same client_user_id and template_id used in the original session. Retries will use the most recent version of the template, which may be different from the version used in the original verification session.

Financial Account Matching

If you are a customer of Identity or Assets, you can seamlessly compare a user's financial accounts with their Identity Verification profile. When a user verifies their identity and links their accounts with Plaid, we detect if they are linking a bank account that belongs to them. In the Plaid Dashboard, you’ll see "match" scores against the account owner’s name, email, phone number, and address.

To turn on this feature, you will need to enable it in the template editor and call /identity/get, /identity/match, or /asset_report/create with the same client_user_id that was used for Identity Verification.

Supported languages

Identity Verification currently supports flows in English, French, Spanish, Japanese, and Portuguese. Link will attempt to auto-detect the correct language based on the user's browser settings. Users can also manually change the language of their session through a dropdown in the Link UI. Unlike other Plaid products, Identity Verification does not use the language setting in /link/token/create.

Supported countries

Identity Verification supports end users in all countries, with the exception of North Korea, Libya, DR Congo, Iran, Cuba, and Syria.

Testing Identity Verification

For more information about testing Identity Verification in Sandbox, see Testing Identity Verification.

Sample app and additional resources

For a sample integration, see the Identity Verification Quickstart on GitHub.

The PDF resources below provide an in-depth view of IDV integration and configuration options. Note that they are not updated as frequently as the docs and may not reflect the most recent updates to Identity Verification capabilities.

  • Identity Verification and Monitor solution guide: A detailed, step-by-step walkthrough for integrating and configuring Identity Verification and Monitor.
  • Identity Verification and Monitor no-code guide: A walkthrough of setting up a Identity Verification and Monitor integration with no code, using the verification links option. This demo flow can help you quickly work with Identity Verification and Monitor and try out the end-user and admin experiences.
  • Identity Verification Manual: Shows the different verification checks available, what each one checks, and how to handle failures.
  • Anti-fraud monitoring: Shows details on how risk checks are performed.
Identity Verification pricing

Identity Verification has a base fee for every verification attempted, as well as separate fees for Data Source verification, Selfie checks, and Document checks. For more details, see the Identity Verification fee model. To view the exact pricing you may be eligible for, apply for Production access or contact Sales.

Next steps

To learn more about building with Identity Verification, see the Identity Verification API Reference.

If you're ready to launch to Production, see the Launch checklist.

Launch checklistRecommended steps to take before launching in ProductionLaunch
Identity Verification (2024)
Top Articles
Western Digital Hard Disk Errors
How to invest like a Boglehead in Belgium
Lengua With A Tilde Crossword
Truist Bank Near Here
Pixel Speedrun Unblocked 76
Places 5 Hours Away From Me
Stretchmark Camouflage Highland Park
Best Team In 2K23 Myteam
Mychart Mercy Lutherville
Federal Fusion 308 165 Grain Ballistics Chart
Seething Storm 5E
Mohawkind Docagent
My Vidant Chart
Shuiby aslam - ForeverMissed.com Online Memorials
Mens Standard 7 Inch Printed Chappy Swim Trunks, Sardines Peachy
Discover Westchester's Top Towns — And What Makes Them So Unique
Shreveport Active 911
Munich residents spend the most online for food
Craigslist Free Stuff Greensboro Nc
Po Box 35691 Canton Oh
Sound Of Freedom Showtimes Near Cinelux Almaden Cafe & Lounge
Average Salary in Philippines in 2024 - Timeular
St Maries Idaho Craigslist
Honda cb750 cbx z1 Kawasaki kz900 h2 kz 900 Harley Davidson BMW Indian - wanted - by dealer - sale - craigslist
Missed Connections Dayton Ohio
Effingham Bookings Florence Sc
Recap: Noah Syndergaard earns his first L.A. win as Dodgers sweep Cardinals
Weve Got You Surrounded Meme
Troy Gamefarm Prices
Dexter Gomovies
Big Boobs Indian Photos
Dubois County Barter Page
Craigslist Free Puppy
Teenbeautyfitness
#scandalous stars | astrognossienne
Craigslist Com Humboldt
Craigslist Hamilton Al
Www Violationinfo Com Login New Orleans
Best Workers Compensation Lawyer Hill & Moin
Laff Tv Passport
Housing Intranet Unt
Cygenoth
Lake Andes Buy Sell Trade
Joey Gentile Lpsg
Unveiling Gali_gool Leaks: Discoveries And Insights
Ssc South Carolina
Ups Customer Center Locations
Waco.craigslist
The Jazz Scene: Queen Clarinet: Interview with Doreen Ketchens – International Clarinet Association
Image Mate Orange County
Lsreg Att
Mazda 3 Depreciation
Latest Posts
Article information

Author: Otha Schamberger

Last Updated:

Views: 5614

Rating: 4.4 / 5 (55 voted)

Reviews: 86% of readers found this page helpful

Author information

Name: Otha Schamberger

Birthday: 1999-08-15

Address: Suite 490 606 Hammes Ferry, Carterhaven, IL 62290

Phone: +8557035444877

Job: Forward IT Agent

Hobby: Fishing, Flying, Jewelry making, Digital arts, Sand art, Parkour, tabletop games

Introduction: My name is Otha Schamberger, I am a vast, good, healthy, cheerful, energetic, gorgeous, magnificent person who loves writing and wants to share my knowledge and understanding with you.