---
title: "POST /development/accounts/link"
method: POST
path: "/development/accounts/link"
---

# POST /development/accounts/link

`POST /development/accounts/link`

Link a merchant account in development.

## Request body

- union
  - object
    - `external_user_id` string, required — Your unique identifier for the user.
    - `merchant_id` integer, required — Unique identifier for the merchant.
    - `card_switcher` boolean, required — When set to true, simulates the card switcher flow.
    - `card_id` string, required — Your unique identifier for a specific card. Required when `card_switcher` is `true`.
    - `metadata` object, nullable — Optional key-value pairs to include in webhook payloads. Maximum 10 keys, 500 characters per value.
  - object
    - `external_user_id` string, required — Your unique identifier for the user.
    - `merchant_id` integer, required — Unique identifier for the merchant.
    - `transactions` object, required — Configuration for whether to receive transactions when linking the account.
      - `new` boolean, required — Whether to generate new transactions and receive notification of them via the [`NEW_TRANSACTIONS_AVAILABLE`](/transaction-link/webhook-events/new-transactions-available) event to your webhook for testing.
      - `updated` boolean — Whether to update newly-generated transactions and receive notification of them via the [`UPDATED_TRANSACTIONS_AVAILABLE`](/transaction-link/webhook-events/updated-transactions-available) event to your webhook for testing. You must pass `new: true` in the request to use this parameter.
    - `metadata` object, nullable — Optional key-value pairs to include in webhook payloads. Maximum 10 keys, 500 characters per value.
  - object
    - `external_user_id` string, required — Your unique identifier for the user.
    - `merchant_id` integer, required — Unique identifier for the merchant.
    - `metadata` object, nullable — Optional key-value pairs to include in webhook payloads. Maximum 10 keys, 500 characters per value.

## Response `200`

Successful request.

- object
  - `message` string — Success message.

## Other responses

- `400` — Bad request.
- `401` — Unauthorized request.
- `500` — Internal server error.

---

[API](https://skmtc.net/knotapi/apis/knot-api.md) · [All operations](https://skmtc.net/knotapi/apis/knot-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/knotapi/knot-api/versions/4610832c2087/schema)
