Creates a Plaid Link token for the caller's extraction code, used to open Plaid Link on the client. Returns 409 while the organization's Plaid onboarding is not complete.
Body
Required
-
Plaid products to require. Defaults to [transactions, liabilities].
Values are
assets,auth,beacon,employment,identity,income_verification,identity_verification,investments,liabilities,payment_initiation,standing_orders,signal,statements,transactions,transfer,cra_base_report,cra_income_insights,cra_cashflow_insights,cra_lend_score,cra_partner_insights,cra_network_insights,cra_monitoring,layer, orprotect_linked_bank. Default value is["transactions"]. -
Language for Plaid Link UI (en, es, fr, etc.)
Default value is
en. -
ISO-3166-1 alpha-2 country codes.
Default value is
["US"]. -
URL to receive Plaid webhooks
-
Redirect URI for OAuth flows
-
Existing access token — use only for update mode
-
Default value is
false. -
Products to enable only if supported by the institution. Defaults to [investments, statements]. These will not block Link if the institution does not support them.
Values are
assets,auth,beacon,employment,identity,income_verification,identity_verification,investments,liabilities,payment_initiation,standing_orders,signal,statements,transactions,transfer,cra_base_report,cra_income_insights,cra_cashflow_insights,cra_lend_score,cra_partner_insights,cra_network_insights,cra_monitoring,layer, orprotect_linked_bank. Default value is["investments", "liabilities"]. -
Date range for statements extraction. Plaid maximum is 2 years. Defaults to 2 years ago → today.
-
Products that improve UX but do not block item creation
Values are
assets,auth,beacon,employment,identity,income_verification,identity_verification,investments,liabilities,payment_initiation,standing_orders,signal,statements,transactions,transfer,cra_base_report,cra_income_insights,cra_cashflow_insights,cra_lend_score,cra_partner_insights,cra_network_insights,cra_monitoring,layer, orprotect_linked_bank. -
Products to collect consent for without immediate billing
Values are
assets,auth,beacon,employment,identity,income_verification,identity_verification,investments,liabilities,payment_initiation,standing_orders,signal,statements,transactions,transfer,cra_base_report,cra_income_insights,cra_cashflow_insights,cra_lend_score,cra_partner_insights,cra_network_insights,cra_monitoring,layer, orprotect_linked_bank.
curl \
--request POST 'http://api.example.com/extraction/financial-data/link/token/create' \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header "Content-Type: application/json" \
--header "extraction-code: string" \
--data '{
"products": [
"transactions"
],
"language": "en",
"countryCodes": [
"US"
],
"webhook": "string",
"redirectUri": "string",
"linkCustomizationName": "string",
"accessToken": "string",
"enableMultiItemLink": false,
"user": {
"legalName": "string",
"phoneNumber": "string",
"emailAddress": "string",
"dateOfBirth": "string"
},
"requiredIfSupportedProducts": [
"investments",
"liabilities"
],
"statementsConfig": {
"startDate": "string",
"endDate": "string"
},
"optionalProducts": [
"assets"
],
"additionalConsentedProducts": [
"assets"
],
"accountFilters": {
"depository": {
"accountSubtypes": [
"string"
]
},
"credit": {
"accountSubtypes": [
"string"
]
},
"loan": {
"accountSubtypes": [
"string"
]
},
"investment": {
"accountSubtypes": [
"string"
]
}
}
}'
# Headers
extraction-code: string
# Payload
{
"products": [
"transactions"
],
"language": "en",
"countryCodes": [
"US"
],
"webhook": "string",
"redirectUri": "string",
"linkCustomizationName": "string",
"accessToken": "string",
"enableMultiItemLink": false,
"user": {
"legalName": "string",
"phoneNumber": "string",
"emailAddress": "string",
"dateOfBirth": "string"
},
"requiredIfSupportedProducts": [
"investments",
"liabilities"
],
"statementsConfig": {
"startDate": "string",
"endDate": "string"
},
"optionalProducts": [
"assets"
],
"additionalConsentedProducts": [
"assets"
],
"accountFilters": {
"depository": {
"accountSubtypes": [
"string"
]
},
"credit": {
"accountSubtypes": [
"string"
]
},
"loan": {
"accountSubtypes": [
"string"
]
},
"investment": {
"accountSubtypes": [
"string"
]
}
}
}
{
"data": {
"linkToken": "link-sandbox-af1a0311-da53-4636-b754-dd15cc058176",
"expiration": "2026-01-15T18:30:00Z",
"requestId": "XQVgFigpGHXkb0b",
"hostedLinkUrl": "https://secure.plaid.com/hl/example-session",
"userId": "usr_8c3ZbDBYjaqUXZ"
},
"statusCode": 201,
"timestamp": "2026-01-15T10:15:00.000Z"
}