Exchanges the public token from Plaid Link, saves the bank connection for the caller's extraction code, updates the case's data-source status and queues fetching the accounts. The Plaid access token is never returned. Returns 409 while the organization's Plaid onboarding is not complete.
POST
/extraction/financial-data/item/public_token/exchange
curl \
--request POST 'http://api.example.com/extraction/financial-data/item/public_token/exchange' \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header "Content-Type: application/json" \
--header "extraction-code: string" \
--data '{
"publicToken": "string"
}'
Request examples
# Headers
extraction-code: string
# Payload
{
"publicToken": "string"
}
Response examples (201)
{
"data": {
"financialAccountProviderId": "507f1f77bcf86cd799439011",
"plaidItemId": "65a1b2c3d4e5f6a7b8c9d0e2",
"plaidExternalItemId": "M5eVJqLnv3tbzdngLDp9FL5OlDNxlNhlE55op",
"requestId": "Aim3b"
},
"statusCode": 201,
"timestamp": "2026-01-15T10:15:00.000Z"
}