POST /identity_verification/create
Create a new Identity Verification for the user specified by the client_user_id
field. The requirements and behavior of the verification are determined by the template_id
provided.
If you don't know whether the associated user already has an active Identity Verification, you can specify "is_idempotent": true
in the request body. With idempotency enabled, a new Identity Verification will only be created if one does not already exist for the associated client_user_id
and template_id
. If an Identity Verification is found, it will be returned unmodified with an 200 OK
HTTP status code.
You can also use this endpoint to supply information you already have collected about the user; if any of these fields are specified, the screens prompting the user to enter them will be skipped during the Link flow.
Servers
- https://production.plaid.com
- https://sandbox.plaid.com
Request headers
Name | Type | Required | Description |
---|---|---|---|
Content-Type |
String | Yes |
The media type of the request body.
Default value: "application/json" |
Request body fields
Name | Type | Required | Description |
---|---|---|---|
is_idempotent |
Boolean | No |
An optional flag specifying how you would like Plaid to handle attempts to create an Identity Verification when an Identity Verification already exists for the provided |
client_id |
String | No |
Your Plaid API |
user |
Object | No |
User information collected outside of Link, most likely via your own onboarding process. Each of the following identity fields are optional:
Specifically, these fields are optional in that they can either be fully provided (satisfying every required field in their subschema) or omitted from the request entirely by not providing the key or value.
Providing these fields via the API will result in Link skipping the data collection process for the associated user. All verification steps enabled in the associated Identity Verification Template will still be run. Verification steps will either be run immediately, or once the user completes the |
user.date_of_birth |
String | No |
A date in the format YYYY-MM-DD (RFC 3339 Section 5.6). |
user.name |
Object | No |
You can use this field to pre-populate the user's legal name; if it is provided here, they will not be prompted to enter their name in the identity verification attempt. |
user.name.family_name |
String | Yes |
A string with at least one non-whitespace character, with a max length of 100 characters. |
user.name.given_name |
String | Yes |
A string with at least one non-whitespace character, with a max length of 100 characters. |
user.email_address |
String | No |
A valid email address. Must not have leading or trailing spaces and address must be RFC compliant. For more information, see RFC 3696. |
user.id_number |
Object | No |
ID number submitted by the user, currently used only for the Identity Verification product. If the user has not submitted this data yet, this field will be |
user.id_number.type |
String | Yes |
A globally unique and human readable ID type, specific to the country and document category. For more context on this field, see Hybrid Input Validation. Possible values:
|
user.id_number.value |
String | Yes |
Value of identity document value typed in by user. Alpha-numeric, with all formatting characters stripped. For specific format requirements by ID type, see Hybrid Input Validation. |
user.address |
Object | No |
Home address for the user. Supported values are: not provided, address with only country code or full address. For more context on this field, see Input Validation by Country. |
user.address.street2 |
String | No |
Extra street information, like an apartment or suite number. If provided, a string with at least one non-whitespace character, with a max length of 50 characters. |
user.address.region |
String | No |
An ISO 3166-2 subdivision code. Related terms would be "state", "province", "prefecture", "zone", "subdivision", etc. |
user.address.postal_code |
String | No |
The postal code for the associated address. Between 2 and 10 alphanumeric characters. For US-based addresses this must be 5 numeric digits. |
user.address.country |
String | Yes |
Valid, capitalized, two-letter ISO code representing the country of this object. Must be in ISO 3166-1 alpha-2 form. |
user.address.street |
String | No |
The primary street portion of an address. If an address is provided, this field will always be filled. A string with at least one non-whitespace alphabetical character, with a max length of 80 characters. |
user.address.city |
String | No |
City from the end user's address. A string with at least one non-whitespace alphabetical character, with a max length of 100 characters." |
user.client_user_id |
String | No |
Specifying |
user.phone_number |
String | No |
A valid phone number in E.164 format. |
gave_consent |
Boolean | Yes |
A flag specifying whether the end user has already agreed to a privacy policy specifying that their data will be shared with Plaid for verification purposes. If Default value: false |
is_shareable |
Boolean | Yes |
A flag specifying whether you would like Plaid to expose a shareable URL for the verification being created. |
client_user_id |
String | No |
A unique ID that identifies the end user in your system. This ID can also be used to associate user-specific data from other Plaid products. Financial Account Matching requires this field and the |
secret |
String | No |
Your Plaid API |
template_id |
String | Yes |
ID of the associated Identity Verification template. |
How to start integrating
- Add HTTP Task to your workflow definition.
- Search for the API you want to integrate with and click on the name.
- This loads the API reference documentation and prepares the Http request settings.
- Click Test request to test run your request to the API and see the API's response.