---
title: "Exchange public token for an access token"
method: POST
path: "/item/public_token/exchange"
tags: ["plaid"]
---

# Exchange public token for an access token

`POST /item/public_token/exchange`

Exchange a Link `public_token` for an API `access_token`. Link hands off the `public_token` client-side via the `onSuccess` callback once a user has successfully created an Item. The `public_token` is ephemeral and expires after 30 minutes. An `access_token` does not expire, but can be revoked by calling `/item/remove`.

The response also includes an `item_id` that should be stored with the `access_token`. The `item_id` is used to identify an Item in a webhook. The `item_id` can also be retrieved by making an `/item/get` request.

## Request body

- ItemPublicTokenExchangeRequest — ItemPublicTokenExchangeRequest defines the request schema for `/item/public_token/exchange`
  - `client_id` string — 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` string — 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.
  - `public_token` string, required — Your `public_token`, obtained from the Link `onSuccess` callback or `/sandbox/public_token/create`.

## Response `200`

OK

- ItemPublicTokenExchangeResponse — ItemPublicTokenExchangeResponse defines the response schema for `/item/public_token/exchange`
  - `access_token` string, required — The access token associated with the Item for which data is being requested.
  - `item_id` string, required — The `item_id` value of the Item associated with the returned `access_token`
  - `request_id` string, required — A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.

## Other responses

- `default` — Error response

---

[API](https://skmtc.net/plaid/apis/the-plaid-api.md) · [All operations](https://skmtc.net/plaid/apis/the-plaid-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/plaid/the-plaid-api/versions/64c4514ea59b/schema)
