---
title: "POST /session/create"
method: POST
path: "/session/create"
---

# POST /session/create

`POST /session/create`

Create a session and use it to initialize the SDK.

## Request body

- object
  - `type` 'card_switcher' | 'transaction_link' | 'link' | 'vault', required — Product to associate the session with.
  - `external_user_id` string, required — Your unique identifier for the user.
  - `card_id` string, nullable — Your unique identifier for a specific card. **Required when `type = card_switcher`.** Optionally accepted when `type = vault`.
  - `email` string, nullable — User's email address. When provided, Knot will automatically detect the user's online merchant accounts to personalize the experience in the SDK.
  - `phone_number` string, nullable — User's phone number in E.164 format. When provided, Knot will automatically detect the user's online merchant accounts to personalize the experience in the SDK.
  - `processor_token` string, nullable — Plaid processor_token if using transaction data from Plaid to detect merchants.
  - `metadata` object, nullable — Optional key-value pairs to include in webhook payloads. Maximum 10 keys, 500 characters per value.

## Response `200`

Successful request.

- object
  - `session` string — A session.

## Other responses

- `400` — Bad request.
- `401` — Unauthorized request.
- `403` — Forbidden 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)
