---
title: "Link Telegram"
method: POST
path: "/cabinet/auth/account/link/telegram"
tags: ["Cabinet Account Linking"]
---

# Link Telegram

`POST /cabinet/auth/account/link/telegram`

## Request

- The document declares no server URL.
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/bedolagam/apis/remnawave-bot-admin-api/docs/cabinet/auth/account/link/telegram/post.ts> (a function with typed inputs; its response is checked against the schema)

Link Telegram account via WebApp initData, OIDC id_token, or Login Widget.

## Request body

- LinkTelegramRequest: Request for linking Telegram account. Supply EITHER init_data, id_token, OR widget fields.
  - `init_data` string, nullable: Telegram WebApp initData string
  - `id_token` string, nullable: Telegram OIDC id_token (JWT)
  - `id` integer, nullable: Telegram user ID from Login Widget
  - `first_name` string, nullable: User's first name
  - `last_name` string, nullable: User's last name
  - `username` string, nullable: User's username
  - `photo_url` string, nullable: User's photo URL
  - `auth_date` integer, nullable: Unix timestamp of authentication
  - `hash` string, nullable: Authentication hash (SHA-256 hex)

## Response `200`

Successful Response

- LinkCallbackResponse
  - `success` boolean, required
  - `message` string, nullable
  - `merge_required` boolean
  - `merge_token` string, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/bedolagam/apis/remnawave-bot-admin-api.md) - [All operations](https://skmtc.dev/bedolagam/apis/remnawave-bot-admin-api/llms.txt) - [OpenAPI document](https://skmtc.dev/bedolagam/apis/remnawave-bot-admin-api/revisions/2360876ff9c5?raw)
