---
title: "Exchange Plaid Public Token"
method: POST
path: "/api/tradfi/v1/plaid/link/token/exchange"
tags: ["Plaid"]
---

# Exchange Plaid Public Token

`POST /api/tradfi/v1/plaid/link/token/exchange`

Exchanges a public token received from Plaid Link for secure storage.
After a user completes the Plaid Link flow, the client receives a public
token which must be exchanged using this endpoint to complete the bank
account linking process.

## Request body

- object
  - `enterpriseId` string, required — The ID of the enterprise
  - `publicToken` string, required — The public token received from the Plaid Link Widget
  - `linkToken` string, required — The link token used to initiate the Plaid Link flow
  - `ipAddress` string, ipv4 — IP address of the end-user who completed the Plaid Link flow. Although optional, it is highly recommended to provide this value as it may impact the user's trust score.

## Response `200`

OK

- object
  - `data` object, required
    - `publicToken` string, required — The public token that was exchanged
    - `linkToken` string, required — The link token associated with this exchange

## Other responses

- `400` — Bad Request - Missing required parameters
- `404` — Not Found - Enterprise or link token not found
- `500` — Internal Server Error

---

[API](https://skmtc.net/bitgo/apis/bitgo-api.md) · [All operations](https://skmtc.net/bitgo/apis/bitgo-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bitgo/bitgo-api/revisions/e445c15e5bee/schema)
