---
title: "Attach an anonymous account to a Telegram identity"
method: POST
path: "/api/v1/claim/{token}/telegram"
---

# Attach an anonymous account to a Telegram identity

`POST /api/v1/claim/{token}/telegram`

## Request

- Base URL: `https://roamzy.io`
- URL: `https://roamzy.io/api/v1/claim/{token}/telegram`
- Auth: none declared

Same two-factor rule as the Google variant: claim_token in the path plus the eSIM MSISDN. `payload` is the Telegram Login Widget object, HMAC-verified server-side.

## Path parameters

- `token` string, required

## Request body

- object
  - `payload` object, required: Telegram Login Widget payload (id, auth_date, hash, ...)
  - `msisdn` string, required: Second factor — the eSIM phone number

## Response `200`

Claimed — { ok, user_id, provider, merge_mode, next }

## Other responses

- `400`: Invalid body
- `401`: claim_token + msisdn mismatch, or invalid Telegram payload
- `404`: Unknown or already-claimed token
- `409`: A suspended account already uses this Telegram identity

---

[API](https://skmtc.dev/roamzy/apis/roamzy-agent-api.md) · [All operations](https://skmtc.dev/roamzy/apis/roamzy-agent-api/llms.txt) · [OpenAPI document](https://skmtc.dev/roamzy/apis/roamzy-agent-api/revisions/8757b8d0b779?raw)
