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.