POST /beta/partner/customer/v1/create

The /beta/partner/customer/v1/create endpoint creates a new end customer record. You can provide as much information as you have available. If any required information is missing for the products you intend to use, it will be listed in the requirements_due field of the response.

Servers

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
client_id String No

Your Plaid API client_id. The client_id is required and may be provided either in the PLAID-CLIENT-ID header or as part of a request body.

questionnaires Object No

The questionnaires for the end customer.

questionnaires.cra Object No

The CRA questionnaire for the end customer.

questionnaires.cra.is_third_party_involved Boolean No

Denotes whether the third party is involved.

questionnaires.cra.purposes Object No

A map of permissible purposes to their corresponding use cases.

questionnaires.cra.purposes.EMPLOYMENT Object No

The list of use cases associated with a given permissible purpose.

questionnaires.cra.purposes.EMPLOYMENT.use_cases[] Array No

List of use cases for the given permissible purpose.

questionnaires.cra.purposes.INSURANCE_UNDERWRITING Object No

The list of use cases associated with a given permissible purpose.

questionnaires.cra.purposes.INSURANCE_UNDERWRITING.use_cases[] Array No

List of use cases for the given permissible purpose.

questionnaires.cra.purposes.WRITTEN_INSTRUCTION Object No

The list of use cases associated with a given permissible purpose.

questionnaires.cra.purposes.WRITTEN_INSTRUCTION.use_cases[] Array No

List of use cases for the given permissible purpose.

questionnaires.cra.purposes.EXTENSION_OF_CREDIT_OR_ACCOUNT_REVIEW Object No

The list of use cases associated with a given permissible purpose.

questionnaires.cra.purposes.EXTENSION_OF_CREDIT_OR_ACCOUNT_REVIEW.use_cases[] Array No

List of use cases for the given permissible purpose.

questionnaires.cra.purposes.LICENSE_ELIGIBILITY Object No

The list of use cases associated with a given permissible purpose.

questionnaires.cra.purposes.LICENSE_ELIGIBILITY.use_cases[] Array No

List of use cases for the given permissible purpose.

questionnaires.cra.purposes.BUSINESS_NEED_ACCOUNT_REVIEW Object No

The list of use cases associated with a given permissible purpose.

questionnaires.cra.purposes.BUSINESS_NEED_ACCOUNT_REVIEW.use_cases[] Array No

List of use cases for the given permissible purpose.

questionnaires.cra.purposes.BUSINESS_NEED_TRANSACTION Object No

The list of use cases associated with a given permissible purpose.

questionnaires.cra.purposes.BUSINESS_NEED_TRANSACTION.use_cases[] Array No

List of use cases for the given permissible purpose.

questionnaires.cra.purposes.RISK_ASSESSMENT Object No

The list of use cases associated with a given permissible purpose.

questionnaires.cra.purposes.RISK_ASSESSMENT.use_cases[] Array No

List of use cases for the given permissible purpose.

questionnaires.cra.is_technical_service_provider_involved Boolean No

Denotes whether the technical service provider is involved.

application_name String Yes

The name of the end customer's application. This will be shown to end users when they go through the Plaid Link flow. The application name must be unique and cannot match the name of another application already registered with Plaid.

website String Yes

The end customer's website.

legal_entity_name String No

The end customer's legal name. This will be shared with financial institutions as part of the OAuth registration process. It will not be shown to end users.

billing_contact Object No

The billing contact for the end customer. Defaults to partner's billing contact if omitted.

billing_contact.family_name String No
billing_contact.given_name String No
billing_contact.email String No
bank_addendum_acceptance Object No

The bank addendum acceptance for the end customer.

bank_addendum_acceptance.customer_agreement_timestamp String No

The timestamp of when the end customer accepted the bank addendum in ISO 8601 format (YYYY-MM-DDTHH:mm:ssZ).

bank_addendum_acceptance.customer_accepted Boolean No

Denotes whether the end customer has accepted the bank addendum terms.

bank_addendum_acceptance.customer_ip_address String No

The IP address of the end customer when they accepted the bank addendum.

customer_support_info Object Yes

This information is public. Users of your app will see this information when managing connections between your app and their bank accounts in Plaid Portal. Defaults to partner's customer support info if omitted. This field is mandatory for partners whose Plaid accounts were created after November 26, 2024 and will be mandatory for all partners by the 1033 compliance deadline.

customer_support_info.contact_url String No
customer_support_info.email String No

This field is mandatory for partners whose Plaid accounts were created after November 26, 2024 and will be mandatory for all partners by the 1033 compliance deadline.

customer_support_info.link_update_url String No
customer_support_info.phone_number String No
products[] Array No

The products to be enabled for the end customer. If empty or null, this field will default to the products enabled for the reseller at the time this endpoint is called.

logo String No

Base64-encoded representation of the end customer's logo. Must be a PNG of size 1024x1024 under 4MB. The logo will be shared with financial institutions and shown to the end user during Link flows. A logo is required if create_link_customization is true. If create_link_customization is false and the logo is omitted, the partner's logo will be used if one exists, otherwise a stock logo will be used.

is_diligence_attested Boolean No

Denotes whether or not the partner has completed attestation of diligence for the end customer to be created.

company_name String Yes

The company name of the end customer being created. This will be used to display the end customer in the Plaid Dashboard. It will not be shown to end users.

create_link_customization Boolean No

If true, the end customer's default Link customization will be set to match the partner's. You can always change the end customer's Link customization in the Plaid Dashboard. See the Link Customization docs for more information. If you require the ability to programmatically create end customers using multiple different Link customization profiles, contact your Plaid Account Manager for assistance.

Important: Data Transparency Messaging (DTM) use cases will not be copied to the end customer's Link customization unless the Publish changes button is clicked after the use cases are applied. Link will not work in Production unless the end customer's DTM use cases are configured. For more details, see Data Transparency Messaging.

secret String No

Your Plaid API secret. The secret is required and may be provided either in the PLAID-SECRET header or as part of a request body.

technical_contact Object No

The technical contact for the end customer. Defaults to partner's technical contact if omitted.

technical_contact.family_name String No
technical_contact.given_name String No
technical_contact.email String No
address Object Yes

The end customer's address.

address.region String No
address.postal_code String No
address.country_code String No

ISO-3166-1 alpha-2 country code standard.

address.street String No
address.city String No
redirect_uris[] Array No

A list of URIs indicating the destination(s) where a user can be forwarded after completing the Link flow; used to support OAuth authentication flows when launching Link in the browser or another app. URIs should not contain any query parameters. When used in Production, URIs must use https. To specify any subdomain, use * as a wildcard character, e.g. https://*.example.com/oauth.html. To modify redirect URIs for an end customer after creating them, go to the end customer's API page in the Dashboard.

How to start integrating

  1. Add HTTP Task to your workflow definition.
  2. 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.
  3. Click Test request to test run your request to the API and see the API's response.