POST /user/create
This endpoint should be called for each of your end users before they begin a Plaid Check or Income flow, or a Multi-Item Link flow. This provides you a single token to access all data associated with the user. You should only create one per end user.
The consumer_report_user_identity object must be present in order to create a Plaid Check Consumer Report for a user. If it is not provided during the /user/create call, it can be added later by calling /user/update. Plaid Check Consumer Reports can only be created for US-based users; the user's address country must be US.
If you call the endpoint multiple times with the same client_user_id, the first creation call will succeed and the rest will fail with an error message indicating that the user has been created for the given client_user_id.
Ensure that you store the user_token along with your user's identifier in your database, as it is not possible to retrieve a previously created user_token.
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" |
Plaid-New-User-API-Enabled |
Boolean | No |
The HTTP header used in API requests to determine which set of User APIs to invoke: the legacy CRA version or the new User API version. Default value: false |
Request body fields
| Name | Type | Required | Description |
|---|---|---|---|
client_id |
String | No |
Your Plaid API |
end_customer |
String | No |
A unique ID representing a CRA reseller's end customer. Maximum of 128 characters. |
identity |
Object | No |
ClientUserIdentity is the shared user identity construct across /user/* routes. |
identity.name |
Object | No |
User name information. |
identity.name.family_name |
String | Yes |
User's family name. |
identity.name.given_name |
String | Yes |
User's given name. |
identity.date_of_birth |
String | No |
The user's date of birth, to be provided in the format "yyyy-mm-dd". |
identity.phone_numbers[] |
Array | No |
The user's phone numbers, in E.164 format: +{countrycode}{number}. For example: "+14157452130". Phone numbers provided in other formats will be parsed on a best-effort basis. Phone number input is validated against valid number ranges; number strings that do not match a real-world phone numbering scheme may cause the request to fail, even in the Sandbox test environment. |
identity.phone_numbers[].data |
String | Yes |
User's phone number. |
identity.phone_numbers[].primary |
Boolean | Yes |
Indicates whether this is the primary phone number for the User. |
identity.addresses[] |
Array | No |
The user's addresses. |
identity.addresses[].region |
String | No |
State, province or region. |
identity.addresses[].street_2 |
String | No |
Second line of street address. |
identity.addresses[].primary |
Boolean | Yes |
Indicates whether this is the primary address for the User. |
identity.addresses[].street_1 |
String | No |
First line of street address. |
identity.addresses[].postal_code |
String | No |
Postal or ZIP code. |
identity.addresses[].country |
String | Yes |
Country code. |
identity.addresses[].city |
String | No |
City name. |
identity.id_numbers[] |
Array | No |
The user's ID numbers. |
identity.id_numbers[].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. Valid values:
|
identity.id_numbers[].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. |
identity.emails[] |
Array | No |
The user's emails. |
identity.emails[].data |
String | Yes |
User's email. |
identity.emails[].primary |
Boolean | Yes |
Indicates whether this is the primary email for the User. |
secret |
String | No |
Your Plaid API |
client_user_id |
String | Yes |
A unique ID representing the end user. Maximum of 128 characters. Typically this will be a user ID number from your application. Personally identifiable information, such as an email address or phone number, should not be used in the |
consumer_report_user_identity |
Object | No |
To create a Plaid Check Consumer Report for a user, this field must be present on the user token. If this field is not provided during user token creation, you can add it to the user later by calling |
consumer_report_user_identity.date_of_birth |
String | Yes |
To be provided in the format "yyyy-mm-dd". This field is required for all Plaid Check customers. |
consumer_report_user_identity.primary_address |
Object | Yes |
Data about the components comprising an address. |
consumer_report_user_identity.primary_address.region |
String | Yes |
The region or state. In API versions 2018-05-22 and earlier, this field is called |
consumer_report_user_identity.primary_address.postal_code |
String | Yes |
The postal code. In API versions 2018-05-22 and earlier, this field is called |
consumer_report_user_identity.primary_address.country |
String | Yes |
The ISO 3166-1 alpha-2 country code |
consumer_report_user_identity.primary_address.street |
String | Yes |
The full street address
Example: |
consumer_report_user_identity.primary_address.city |
String | Yes |
The full city name |
consumer_report_user_identity.last_name |
String | Yes |
The user's last name |
consumer_report_user_identity.ssn_last_4 |
String | No |
The last 4 digits of the user's social security number. |
consumer_report_user_identity.phone_numbers[] |
Array | Yes |
The user's phone number, in E.164 format: +{countrycode}{number}. For example: "+14157452130". Phone numbers provided in other formats will be parsed on a best-effort basis. Phone number input is validated against valid number ranges; number strings that do not match a real-world phone numbering scheme may cause the request to fail, even in the Sandbox test environment. |
consumer_report_user_identity.ssn_full |
String | No |
The user's full social security number. This field should only be provided by lenders intending to share the resulting consumer report with a Government-Sponsored Enterprise (GSE), such as Fannie Mae or Freddie Mac. Format: "ddd-dd-dddd" |
consumer_report_user_identity.first_name |
String | Yes |
The user's first name |
consumer_report_user_identity.emails[] |
Array | Yes |
The user's emails |
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.