---
title: "Mint a Plaid link token and start the parked add-account workflow"
method: POST
path: "/api/plaid/createLinkToken"
tags: ["Plaid"]
---

# Mint a Plaid link token and start the parked add-account workflow

`POST /api/plaid/createLinkToken`

## Request body

- object
  - `institutionId` string

## Response `200`

Link token minted; workflow parked on hook. Client must echo the Plaid Link outcome via /resolveLink

- object
  - `hookToken` string, required
  - `institutionLogo` string, nullable
  - `institutionName` string, nullable
  - `institutionUrl` string, nullable
  - `link_token` string, required
  - `mode` 'update' | 'reauth'
  - `plaidItemId` string
  - `runId` string, required

## Other responses

- `401` — Unauthorized
- `402` — Free-tier connection limit reached — upgrade required
- `403` — Not available in demo mode
- `422` — Validation failed
- `502` — Plaid API failed

---

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