---
title: "Create Plaid Link token (Investments)"
method: POST
path: "/plaid/link-token"
tags: ["Plaid Integration"]
---

# Create Plaid Link token (Investments)

`POST /plaid/link-token`

## Request

- Base URL: `https://riskmodels.app/api`
- URL: `https://riskmodels.app/api/plaid/link-token`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://riskmodels.app/oauth/authorize`, token URL `https://riskmodels.app/api/oauth/token`, scopes: `mcp:read`)

One-time `link_token` for Plaid Link in the browser. Requires an authenticated user. After Link succeeds, exchange the `public_token` via `POST /plaid/exchange-public-token`. **No per-request charge.**

## Response `200`

Link token for Plaid Link SDK.

- object
  - `link_token` string
  - `expiration` string: RFC-3339 datetime when the link_token expires.

## Other responses

- `401`: Unauthorized.
- `500`: Plaid or configuration error.

---

[API](https://skmtc.dev/riskmodels/apis/riskmodels-api.md) · [All operations](https://skmtc.dev/riskmodels/apis/riskmodels-api/llms.txt) · [OpenAPI document](https://skmtc.dev/riskmodels/apis/riskmodels-api/revisions/1a034cad408a?raw)
