---
title: "Resolve telegram_id to internal_id"
method: GET
path: "/v1/utils/resolve_telegram_id"
tags: ["Utils"]
---

# Resolve telegram_id to internal_id

`GET /v1/utils/resolve_telegram_id`

## Request

- Base URL: `https://api.tlmtr.io`
- URL: `https://api.tlmtr.io/v1/utils/resolve_telegram_id`
- Auth: API key in header `x-api-key`
- TypeScript: <https://skmtc.dev/tlmtr/apis/telemetr-io-public-api/docs/v1/utils/resolve_telegram_id/get.ts> (a function with typed inputs; its response is checked against the schema)

## Query parameters

- `telegram_id` integer, required

## Response `200`

Resolved id

- ResolvedId
  - `internal_id` string, required: Telemetr io internal id
  - `tracked` boolean, required: Is channel tracked by Telemetr io

## Other responses

- `400`: **Bad Request:** The request sent to the server is invalid. Request parameters are missing, incorrect, or in the wrong format.
- `401`: **Unauthorized:** The provided API key is invalid or absent. Provided in the request API key is not valid or is missing.
- `402`: **Payment Required:** Not enough credits to perform this request. The plan allows this call but the credit balance does not cover it. Top up credits and retry. Amounts are in milli-credits (1 credit = 1000).
- `403`: **Forbidden:** Access to this resource is not allowed. User does not have permission to access this feature.
- `404`: **Not Found:** Requested resource could not be found on the server. Specific resource with the provided ID cannot be found.
- `412`: **Inactive Subscription:** The user's subscription is not currently active. User subscription has expired or is otherwise inactive.
- `426`: **Quota Reached:** The user's subscription limit has been reached. User has exceeded their monthly limit for unique channels or total requests. For higher limits please contact us via Telegram [@telemetrio_contact](https://t.me/telemetrio_contact) or write to contact@telemetr.io.
- `429`: **Too Many Requests:** The request rate limit has been reached. Retry after the interval indicated by the response headers.
- `503`: **Service Unavailable:** Credit accounting is temporarily unreachable. The request was refused rather than served without being billed. This is transient — retry with backoff. Carries the standard message envelope, with a constant message: the underlying failure is ours and its text names internal machinery, so it is never forwarded.

## Changes

- **2026-10-09** `6c2bfd66c5f2`: 8 breaking, 2 info
  - the response's body type changed from `object` to no type for status `402`
  - the response's body type changed from `object` to no type for status `426`
  - removed the required property `available_mc` from the response with the `402` status
  - removed the required property `limit` from the response with the `426` status
  - …6 more
- **2026-09-10** `80951ad7b3fb`: 2 info
  - added the media type `application/json` for the response with the status `412`
  - added the non-success response with the status `429`

[Operation history](https://skmtc.dev/tlmtr/apis/telemetr-io-public-api/changes/v1/utils/resolve_telegram_id/get.md)

---

[API](https://skmtc.dev/tlmtr/apis/telemetr-io-public-api.md) - [All operations](https://skmtc.dev/tlmtr/apis/telemetr-io-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/tlmtr/apis/telemetr-io-public-api/revisions/98f399867856?raw)
