---
title: "Exchange Portfolio Token"
method: POST
path: "/api/portfolios/exchange"
tags: ["Portfolios"]
---

# Exchange Portfolio Token

`POST /api/portfolios/exchange`

## Request

- Base URL: `https://alpha-bazaar-signal-server.onrender.com`
- URL: `https://alpha-bazaar-signal-server.onrender.com/api/portfolios/exchange`
- Auth: HTTP bearer

Exchange Plaid public token for access token and create portfolio.

This endpoint:
1. Exchanges the public token for an access token
2. Creates the linked_portfolio record
3. Triggers initial sync (24-month history import)

## Request body

- PortfolioExchangeRequest: Request to exchange public token and create portfolio
  - `public_token` string, required
  - `display_name` string, required
  - `account_id` string, required
  - `institution_name` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/alphabazaar/apis/alpha-bazaar-signal-server.md) · [All operations](https://skmtc.dev/alphabazaar/apis/alpha-bazaar-signal-server/llms.txt) · [OpenAPI document](https://skmtc.dev/alphabazaar/apis/alpha-bazaar-signal-server/revisions/01654ec03d07?raw)
