pub struct LinkTokenCreateRequest {
Show 21 fields pub client_id: Option<APIClientID>, pub secret: Option<APISecret>, pub client_name: String, pub language: String, pub country_codes: Vec<CountryCode>, pub user: LinkTokenCreateRequestUser, pub products: Option<Vec<Products>>, pub webhook: Option<String>, pub access_token: Option<String>, pub link_customization_name: Option<String>, pub redirect_uri: Option<String>, pub android_package_name: Option<String>, pub account_filters: Option<LinkTokenAccountFilters>, pub eu_config: Option<LinkTokenEUConfig>, pub institution_id: Option<String>, pub payment_initiation: Option<LinkTokenCreateRequestPaymentInitiation>, pub deposit_switch: Option<LinkTokenCreateRequestDepositSwitch>, pub income_verification: Option<LinkTokenCreateRequestIncomeVerification>, pub auth: Option<LinkTokenCreateRequestAuth>, pub transfer: Option<LinkTokenCreateRequestTransfer>, pub update: Option<LinkTokenCreateRequestUpdate>,
}

Fields

client_id: Option<APIClientID>

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.

secret: Option<APISecret>

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.

client_name: String

The name of your application, as it should be displayed in Link. Maximum length of 30 characters. If a value longer than 30 characters is provided, Link will display “This Application” instead.

language: String

The language that Link should be displayed in.

Supported languages are:

  • English ('en')
  • French ('fr')
  • Spanish ('es')
  • Dutch ('nl')
  • German('de')

When using a Link customization, the language configured here must match the setting in the customization, or the customization will not be applied.

country_codes: Vec<CountryCode>

Specify an array of Plaid-supported country codes using the ISO-3166-1 alpha-2 country code standard. Institutions from all listed countries will be shown. Supported country codes are: US, CA, DE, ES, FR, GB, IE, NL. For a complete mapping of supported products by country, see https://plaid.com/global/.

If Link is launched with multiple country codes, only products that you are enabled for in all countries will be used by Link. Note that while all countries are enabled by default in Sandbox and Development, in Production only US and Canada are enabled by default. To gain access to European institutions in the Production environment, file a product access Support ticket via the Plaid dashboard. If you initialize with a European country code, your users will see the European consent panel during the Link flow.

If using a Link customization, make sure the country codes in the customization match those specified in country_codes. If both country_codes and a Link customization are used, the value in country_codes may override the value in the customization.

If using the Auth features Instant Match, Same-day Micro-deposits, or Automated Micro-deposits, country_codes must be set to ['US'].

user: LinkTokenCreateRequestUser

An object specifying information about the end user who will be linking their account.

products: Option<Vec<Products>>

List of Plaid product(s) you wish to use. If launching Link in update mode, should be omitted; required otherwise.

balance is not a valid value, the Balance product does not require explicit initialization and will automatically be initialized when any other product is initialized.

Only institutions that support all requested products will be shown in Link; to maximize the number of institutions listed, it is recommended to initialize Link with the minimal product set required for your use case. Additional products can be added after Link initialization by calling the relevant endpoints. For details and exceptions, see Choosing when to initialize products.

Note that, unless you have opted to disable Instant Match support, institutions that support Instant Match will also be shown in Link if auth is specified as a product, even though these institutions do not contain auth in their product array.

In Production, you will be billed for each product that you specify when initializing Link. Note that a product cannot be removed from an Item once the Item has been initialized with that product. To stop billing on an Item for subscription-based products, such as Liabilities, Investments, and Transactions, remove the Item via /item/remove.

webhook: Option<String>

The destination URL to which any webhooks should be sent.

access_token: Option<String>

The access_token associated with the Item to update, used when updating or modifying an existing access_token. Used when launching Link in update mode, when completing the Same-day (manual) Micro-deposit flow, or (optionally) when initializing Link as part of the Payment Initiation (UK and Europe) flow.

link_customization_name: Option<String>

The name of the Link customization from the Plaid Dashboard to be applied to Link. If not specified, the default customization will be used. When using a Link customization, the language in the customization must match the language selected via the language parameter, and the countries in the customization should match the country codes selected via country_codes.

redirect_uri: Option<String>

A URI indicating the destination where a user should be forwarded after completing the Link flow; used to support OAuth authentication flows when launching Link in the browser or via a webview. The redirect_uri should not contain any query parameters. When used in Production or Development, must be an https URI. To specify any subdomain, use * as a wildcard character, e.g. https://*.example.com/oauth.html. If android_package_name is specified, this field should be left blank. Note that any redirect URI must also be added to the Allowed redirect URIs list in the developer dashboard.

android_package_name: Option<String>

The name of your app’s Android package. Required if using the link_token to initialize Link on Android. When creating a link_token for initializing Link on other platforms, this field must be left blank. Any package name specified here must also be added to the Allowed Android package names setting on the developer dashboard.

account_filters: Option<LinkTokenAccountFilters>

By default, Link will provide limited account filtering: it will only display Institutions that are compatible with all products supplied in the products parameter of /link/token/create, and, if auth is specified in the products array, will also filter out accounts other than checking and savings accounts on the Account Select pane. You can further limit the accounts shown in Link by using account_filters to specify the account subtypes to be shown in Link. Only the specified subtypes will be shown. This filtering applies to both the Account Select view (if enabled) and the Institution Select view. Institutions that do not support the selected subtypes will be omitted from Link. To indicate that all subtypes should be shown, use the value "all". If the account_filters filter is used, any account type for which a filter is not specified will be entirely omitted from Link. For a full list of valid types and subtypes, see the Account schema.

For institutions using OAuth, the filter will not affect the list of accounts shown by the bank in the OAuth window.

eu_config: Option<LinkTokenEUConfig>

Configuration parameters for EU flows

institution_id: Option<String>

Used for certain Europe-only configurations, as well as certain legacy use cases in other regions.

payment_initiation: Option<LinkTokenCreateRequestPaymentInitiation>

Specifies options for initializing Link for use with the Payment Initiation (Europe) product. This field is required if payment_initiation is included in the products array.

deposit_switch: Option<LinkTokenCreateRequestDepositSwitch>

Specifies options for initializing Link for use with the Deposit Switch (beta) product. This field is required if deposit_switch is included in the products array.

income_verification: Option<LinkTokenCreateRequestIncomeVerification>

Specifies options for initializing Link for use with the Income (beta) product. This field is required if income_verification is included in the products array.

auth: Option<LinkTokenCreateRequestAuth>

Specifies options for initializing Link for use with the Auth product. This field is currently only required if using the Flexible Auth product (currently in closed beta).

transfer: Option<LinkTokenCreateRequestTransfer>

Specifies options for initializing Link for use with the Transfer product.

update: Option<LinkTokenCreateRequestUpdate>

Specifies options for initializing Link for update mode.

Trait Implementations

Formats the value using the given formatter. Read more

Deserialize this value from the given Serde deserializer. Read more

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more