POST
/v1/definitions/{key}/rows/{rowId}/plaid/exchangeFinish a bank link for a deal
Trades the public token Plaid Link handed the browser for a long-lived access token, seals it, reads the item's accounts, and records who consented from where. Re-running it for a bank already linked repairs that link rather than adding a second one.
Access class: def:read.
Send request
Use the documented inputs to call this endpoint directly.
API serverbase URL
Bearer tokensessionoptional
Stored only in this browser for the session security scheme and reused on every API page in this group.
Parameters
Values are applied to the request and the example on the right.
keypath · stringrequired
rowIdpath · stringrequired
Request body
application/jsonrequiredbodyoptional
paramsoptional
queryobjectoptional
Responses
201application/json
the action's answer
{
"data": {
"accounts": [
{
"availableBalanceMinor": "string",
"currency": "string",
"currentBalanceMinor": "string",
"id": "",
"mask": "string",
"name": "string",
"officialName": "string",
"plaidAccountId": "",
"subtype": "string",
"type": "string"
}
],
"consentedAt": "string",
"consentedByEmail": "string",
"consentedByKind": "string",
"consentedByUserId": 1,
"consentedIp": "string",
"createdAt": "string",
"dealId": "",
"environment": "string",
"id": "",
"institutionId": "",
"institutionName": "string",
"lastError": "string",
"lastSyncedAt": "string",
"plaidItemId": "",
"status": "string"
}
}dataoptional
defaultapplication/json
a refusal: {"error": "<what a person needs to read>"}. 401 no credential, 402 the plan does not include this, 403 the seat does not, 404 the thing does not exist or is not yours to see.
{
"error": "string"
}errorstringrequired