# Getting Started (/docs)
While we do our best to keep things stable, endpoints and response shapes may occasionally change
during the beta period. If you run into any issues, please reach out to
[@rudnikov](https://telegram.me/rudnikov).
The CRMchat API gives you programmatic access to your contacts, organizations, workspaces, custom properties, and more. It follows REST conventions with JSON requests and responses.
**Base URL:**
```
https://api.crmchat.ai/v1
```
## Quick Start [#quick-start]
### 1. Get your API key [#1-get-your-api-key]
Go to [CRM Settings](https://app.crmchat.ai/mini-app/settings/api-keys) and generate a new API key. The key is only shown once — store it somewhere safe.
### 2. Make a request [#2-make-a-request]
Try listing your organizations — the simplest call you can make:
```bash
curl -H "Authorization: Bearer sk_your_api_key" \
https://api.crmchat.ai/v1/organizations
```
### 3. Explore the API [#3-explore-the-api]
API keys, rate limits, and security best practices
Cursor-based pagination across all list endpoints
How partial updates work with JSON Merge Patch
Define custom fields on contacts for your workflow
## OpenAPI Spec [#openapi-spec]
The full OpenAPI 3.x specification is available at [`/v1/spec.json`](https://api.crmchat.ai/v1/spec.json). Use it to generate client libraries, import into Postman, or integrate with any OpenAPI-compatible tooling.
## AI & LLM Integration [#ai--llm-integration]
The CRMchat API docs are available in machine-readable formats for AI agents and LLM-powered tools:
| Format | URL | Description |
| ------------- | --------------------------------------------------------------- | --------------------------------------- |
| llms.txt | [`/llms.txt`](https://developers.crmchat.ai/llms.txt) | Concise overview with links to sections |
| llms-full.txt | [`/llms-full.txt`](https://developers.crmchat.ai/llms-full.txt) | Complete documentation in a single file |
You can also view any page as raw Markdown by appending `.mdx` to its URL (e.g. `/docs/authentication.mdx`).
# Authentication (/docs/authentication)
## API Keys [#api-keys]
All API requests require authentication via API keys. Keys are scoped to your user account and grant access to all workspaces you belong to.
### Creating an API Key [#creating-an-api-key]
Generate API keys from the [CRM settings page](https://app.crmchat.ai/mini-app/settings/api-keys). Each key has a name for identification and a prefix (`sk_...`) shown after creation.
The full API key is only shown once at creation time.
Store it securely.
### Using Your API Key [#using-your-api-key]
Include the API key as a Bearer token in the `Authorization` header:
```bash
curl -H "Authorization: Bearer sk_your_api_key" \
https://api.crmchat.ai/v1/workspaces
```
## Error Responses [#error-responses]
If authentication fails, the API returns a `401 Unauthorized` response:
```json
{
"defined": true,
"code": "UNAUTHORIZED",
"status": 401,
"message": "Invalid or missing API key"
}
```
## Rate Limiting [#rate-limiting]
The API enforces a rate limit of 300 requests per minute per user. When exceeded, requests return `429 Too Many Requests`.
## Security Best Practices [#security-best-practices]
* Never commit API keys to version control
* Use environment variables to store keys
* Rotate keys periodically
* Revoke keys that are no longer needed
# Pagination (/docs/pagination)
All list endpoints return paginated results using cursor-based pagination. This approach provides stable results even when data changes between requests.
## Response Shape [#response-shape]
Every paginated endpoint returns the same structure:
```json
{
"data": [/* items */],
"hasMore": true,
"cursors": {
"next": "eyJzIjoiMjAyNi0wMy...",
"previous": null
}
}
```
| Field | Type | Description |
| ------------------ | -------------- | ---------------------------------------------------------- |
| `data` | array | The page of results |
| `hasMore` | boolean | Whether more results exist beyond this page |
| `cursors.next` | string \| null | Cursor to fetch the next page (pass as `startingAfter`) |
| `cursors.previous` | string \| null | Cursor to fetch the previous page (pass as `endingBefore`) |
## Query Parameters [#query-parameters]
| Parameter | Type | Default | Description |
| --------------- | ------ | ------- | ---------------------------------------------------- |
| `limit` | number | 20 | Items per page (1–100) |
| `startingAfter` | string | — | Cursor from `cursors.next` for the next page |
| `endingBefore` | string | — | Cursor from `cursors.previous` for the previous page |
You cannot use `startingAfter` and `endingBefore` in the same request.
## Example: Paginating Forward [#example-paginating-forward]
**First page** — no cursor needed:
```bash
curl -H "Authorization: Bearer sk_your_api_key" \
"https://api.crmchat.ai/v1/organizations?limit=2"
```
```json title="Response"
{
"data": [
{ "id": "org_1", "name": "Acme Corp", "...": "..." },
{ "id": "org_2", "name": "Globex", "...": "..." }
],
"hasMore": true,
"cursors": {
"next": "eyJzIjoiMjAyNi0wMy0xMlQxMDowMDowMC4wMDBaIiwiaSI6Im9yZ18yIiwidCI6ImYifQ",
"previous": null
}
}
```
**Next page** — pass `startingAfter`:
```bash
curl -H "Authorization: Bearer sk_your_api_key" \
"https://api.crmchat.ai/v1/organizations?limit=2&startingAfter=eyJzIjoiMjAyNi0wMy0xMlQxMDowMDowMC4wMDBaIiwiaSI6Im9yZ18yIiwidCI6ImYifQ"
```
**Last page** — `hasMore` is `false`, `cursors.next` is `null`:
```json title="Response"
{
"data": [{ "id": "org_3", "name": "Initech", "...": "..." }],
"hasMore": false,
"cursors": {
"next": null,
"previous": "eyJzIjoiMjAyNi0wMy0xMlQwOTowMDowMC4wMDBaIiwiaSI6Im9yZ18zIiwidCI6ImYifQ"
}
}
```
## Iterating All Pages [#iterating-all-pages]
To fetch every item, loop until `hasMore` is `false`:
```javascript
let cursor = undefined;
const allItems = [];
do {
const url = new URL("https://api.crmchat.ai/v1/organizations");
url.searchParams.set("limit", "100");
if (cursor) url.searchParams.set("startingAfter", cursor);
const res = await fetch(url, {
headers: { Authorization: "Bearer sk_your_api_key" },
});
const page = await res.json();
allItems.push(...page.data);
cursor = page.cursors.next;
} while (cursor);
```
## Cursors [#cursors]
Cursors are opaque strings — do not parse or construct them. They encode the position of the last item on the current page so the server can efficiently resume from the right spot.
* Cursors are tied to a specific sort order. Do not reuse cursors across different queries.
* Cursors do not expire, but they may become invalid if the underlying data is deleted.
# Updating Resources (/docs/patching-resources)
The CRMchat API uses [JSON Merge Patch (RFC 7396)](https://datatracker.ietf.org/doc/html/rfc7396) for partial updates via `PATCH` endpoints.
## TL;DR [#tldr]
* Send a PATCH request with `Content-Type: application/merge-patch+json`.
* Include only the fields you want to change.
* Send `null` to remove a field.
| Input | Effect |
| ----------------------------------- | ------------------------------------- |
| Field omitted | No change |
| `{ "name": "New" }` | Sets `name` to `"New"` |
| `{ "name": null }` | Removes `name` (optional fields only) |
| `{ "telegram": { "id": 123456 } }` | Updates only `telegram.id` |
| `{ "telegram": { "id": null } }` | Removes `telegram.id` |
| `{ "telegram": null }` | Removes all fields inside `telegram` |
| `{ "tags": ["vip", "enterprise"] }` | Replaces the entire `tags` array |
| `{ "tags": [] }` | Clears the `tags` array |
## Content Type [#content-type]
Per [RFC 7396](https://datatracker.ietf.org/doc/html/rfc7396), `PATCH` requests should use:
```
Content-Type: application/merge-patch+json
```
For convenience, `application/json` is also accepted with the same merge-patch semantics. Requests with any other `Content-Type` receive a `415 Unsupported Media Type` response.
## Example [#example]
```bash
curl -X PATCH https://api.crmchat.ai/v1/organizations/abc123 \
-H "Authorization: Bearer sk_your_api_key" \
-H "Content-Type: application/merge-patch+json" \
-d '{ "name": "New Name" }'
```
```json title="Response (200)"
{
"data": {
"id": "abc123",
"name": "New Name",
"createdAt": "2026-03-12T10:00:00.000Z",
"updatedAt": "2026-03-12T10:05:00.000Z"
}
}
```
## Removing Fields [#removing-fields]
Per RFC 7396, sending `null` for a key means "remove this field". Only optional fields can be set to `null` — required fields reject `null` values with a `400` error.
For nested objects, sending `null` for the parent removes all fields inside it. You can also target individual subfields:
```json title="Remove a single subfield"
{ "telegram": { "id": null } }
```
```json title="Remove all fields inside telegram"
{ "telegram": null }
```
## Updating Arrays [#updating-arrays]
JSON Merge Patch does not support partial array updates — there is no way to add, remove, or reorder individual items. When a field is an array, you must always send the **complete replacement array**.
```json title="Replace the full array"
{ "tags": ["vip", "enterprise"] }
```
Sending a partial array does not merge — it overwrites. If you send `["vip"]` when the current value is `["vip", "enterprise"]`, the result is `["vip"]`.
To remove all items, send an empty array:
```json title="Clear the array"
{ "tags": [] }
```
Sending `null` for an array field removes the field entirely (if it is optional). To keep the
field but empty it, send `[]` instead.
## Unknown Fields [#unknown-fields]
Unknown or non-writable fields in the request body are silently ignored, consistent with the merge-patch philosophy of "ignore what you don't understand".
## Error Responses [#error-responses]
| Status | Code | When |
| ------ | ------------------------ | -------------------------------------- |
| 400 | `BAD_REQUEST` | Malformed JSON or validation failure |
| 415 | `UNSUPPORTED_MEDIA_TYPE` | Missing or wrong `Content-Type` header |
Authorization errors (`401`, `403`, `404`) are the same as for other endpoints. See
[Authentication](/docs/authentication) for details.
# Webhooks (/docs/webhooks)
Receive real-time HTTP notifications when events occur in your CRM workspace.
## Supported Events [#supported-events]
| Event | Description |
| ----------------- | ------------------------- |
| `contact.created` | A new contact was created |
| `contact.updated` | A contact was updated |
| `contact.deleted` | A contact was deleted |
## Managing Webhooks [#managing-webhooks]
Webhooks are managed through the Settings → API Keys page in the CRM app. Each webhook requires:
* A name
* An HTTPS endpoint URL
* One or more event types to subscribe to
* One or more workspaces to receive events from
When you create a webhook, a signing secret is generated and shown once. Save it securely — you'll need it to verify webhook signatures.
## Payload Format [#payload-format]
All webhook payloads are sent as HTTP POST requests with `Content-Type: application/json`.
### Headers [#headers]
| Header | Description |
| --------------------- | ------------------------------------------ |
| `X-Webhook-Signature` | HMAC-SHA256 hex digest of the request body |
| `X-Webhook-Event` | The event type (e.g. `contact.created`) |
| `X-Webhook-Id` | Unique event ID for idempotency |
| `User-Agent` | `CRMChat-Webhooks/1.0` |
### Event payload [#event-payload]
For `contact.created` and `contact.deleted`:
```json
{
"eventId": "evt_abc123_wh456",
"eventType": "contact.created",
"eventDate": "2026-03-24T12:00:00.000Z",
"workspaceId": "workspace-id",
"data": {
"id": "contact-id",
"fullName": "John Doe",
"email": "john@example.com",
"createdAt": "2026-03-24T12:00:00.000Z",
"updatedAt": "2026-03-24T12:00:00.000Z"
}
}
```
For `contact.updated`, both current and previous state are included:
```json
{
"eventId": "evt_abc123_wh456",
"eventType": "contact.updated",
"eventDate": "2026-03-24T12:00:00.000Z",
"workspaceId": "workspace-id",
"data": {
"id": "contact-id",
"fullName": "Jane Doe"
},
"previousData": {
"id": "contact-id",
"fullName": "John Doe"
}
}
```
For `contact.deleted`, `data` contains the full contact snapshot before deletion.
## Verifying Signatures [#verifying-signatures]
Every webhook request includes an `X-Webhook-Signature` header containing an HMAC-SHA256 hex digest of the request body, signed with your webhook's signing secret.
```javascript
import { createHmac } from "crypto";
const signature = createHmac("sha256", signingSecret).update(rawBody).digest("hex");
const isValid = signature === req.headers["x-webhook-signature"];
```
Always verify signatures before processing webhook payloads to ensure they originate from CRM Chat.
## Failure Policy [#failure-policy]
If your webhook endpoint is unavailable or returns a non-2xx status code:
* Each delivery is attempted up to 10 times with exponential backoff (starting at 5 minutes, doubling each time) over approximately 24 hours
* If no successful delivery occurs within 3 days, the webhook is automatically disabled
* You'll receive a Telegram notification when a webhook is disabled
* You can re-enable disabled webhooks from Settings → API Keys
## Timeout [#timeout]
Webhook deliveries have a 30-second timeout. Ensure your endpoint responds within this window.
# List organizations (/docs/api/organizations/organizations.list)
Returns organizations accessible by the authenticated user.
# Get organization (/docs/api/organizations/organizations.get)
Returns a single organization by its ID.
# Update organization (/docs/api/organizations/organizations.patch)
Partially updates an organization using [JSON Merge Patch](/docs/patching-resources).
# List workspaces (/docs/api/workspaces/workspaces.list)
Returns workspaces accessible by the authenticated user within an organization.
# Get workspace (/docs/api/workspaces/workspaces.get)
Returns a single workspace by its ID.
# Create workspace (/docs/api/workspaces/workspaces.create)
# Update workspace (/docs/api/workspaces/workspaces.patch)
Partially updates a workspace using [JSON Merge Patch](/docs/patching-resources).
# Get workspace members (/docs/api/workspaces/workspaces.getMembers)
Returns all members of a workspace.
# Invite workspace member (/docs/api/workspaces/workspaces.invites.create)
# Custom Properties (/docs/api/custom-properties)
Custom properties let you extend contacts with fields tailored to your business. Each property defines a field type, display name, and validation rules. Property values are then stored on individual contacts using the property's key.
## How It Works [#how-it-works]
Properties are defined at the workspace level and scoped to an object type (currently `contacts`). Once a property is created, any contact in that workspace can store a value for it.
A property definition looks like this:
```json
{
"key": "custom.lead_status",
"type": "single-select",
"name": "Lead Status",
"options": [
{ "label": "New", "value": "new", "color": "blue" },
{ "label": "Contacted", "value": "contacted", "color": "yellow" },
{ "label": "Qualified", "value": "qualified", "color": "green" }
]
}
```
## Keys [#keys]
Every custom property key must start with `custom.` followed by a descriptive identifier. Keys are dot-separated paths and must be unique within the object type.
| Key | Description |
| ------------------------ | ---------------------------- |
| `custom.lead_status` | A lead qualification status |
| `custom.company_name` | The contact's company |
| `custom.deal_value` | The monetary value of a deal |
| `custom.referral_source` | How the contact found you |
Keys are immutable after creation — you cannot rename a property key, only delete and recreate.
Properties created from the UI have an auto-generated key (e.g., `custom.wRhEVPXBZiIEx2RImfmfG`).
When creating properties via the API, you choose your own key — use something descriptive like
`custom.lead_status`.
## Property Types [#property-types]
| Type | Description | Extra fields |
| --------------- | ---------------------------- | ------------------------- |
| `text` | Short text input | — |
| `textarea` | Multiline text | — |
| `single-select` | One option from a list | `options`, `defaultValue` |
| `multi-select` | Multiple options from a list | `options` |
| `user-select` | Workspace member picker | — |
| `url` | URL input | — |
| `email` | Email address | — |
| `tel` | Phone number | — |
| `amount` | Monetary value | — |
### Select Options [#select-options]
`single-select` and `multi-select` properties require an `options` array. Each option has:
| Field | Type | Description |
| ------- | ------- | ------------------------------------------------------------------------------------- |
| `label` | string | Display label |
| `value` | string | Stored value (immutable) |
| `color` | string? | One of: `gray`, `brown`, `orange`, `yellow`, `green`, `blue`, `purple`, `pink`, `red` |
## Common Fields [#common-fields]
Every property supports these fields:
| Field | Type | Description |
| ------------- | ------- | ------------------------------------------------ |
| `key` | string | Unique identifier (must start with `custom.`) |
| `type` | string | Property type (see above) |
| `name` | string | Display name shown in the UI |
| `description` | string? | Help text for the field |
| `placeholder` | string? | Input placeholder text |
| `required` | boolean | Whether the field is required (default: `false`) |
## Managing Properties [#managing-properties]
Use the endpoints below to create, update, list, and delete property definitions for a workspace.
Add a new custom property to a workspace
Retrieve all custom property definitions
Modify a property's name, options, or settings
Remove a custom property definition
Deleting a property removes only the definition — existing values on contacts are not cleaned up.
# List properties (/docs/api/custom-properties/properties.list)
Returns all property definitions for a workspace object type.
# Get property (/docs/api/custom-properties/properties.get)
Returns a single property definition by key.
# Create property (/docs/api/custom-properties/properties.create)
Creates a new custom property definition.
# Update property (/docs/api/custom-properties/properties.patch)
Partially updates a property definition using [JSON Merge Patch](/docs/patching-resources).
# Delete property (/docs/api/custom-properties/properties.delete)
Deletes a custom property definition.
# Contacts (/docs/api/contacts)
Contacts are the core object in the CRM. Each contact belongs to a workspace and stores profile information alongside custom property values defined for that workspace.
## Custom Properties [#custom-properties]
Custom property values are stored under the property's key (e.g. `custom.lead_status`). See [Custom Properties](/docs/api/custom-properties) for how to define and manage these fields.
## Endpoints [#endpoints]
Retrieve a paginated list of contacts in a workspace
Retrieve a single contact by ID
Create a new contact in a workspace
Partially update an existing contact
Delete a contact by ID
## Custom Properties Enrichment [#custom-properties-enrichment]
[Custom properties](/docs/api/custom-properties) store raw values (option keys, user IDs) on the contact. Contact responses include a `_meta` field that resolves these to human-readable labels and names — saving you from having to cross-reference option lists or look up workspace members separately.
```json title="Contact response"
{
"id": "abc123",
"fullName": "Jane Smith",
"custom": {
"status": "active",
"assignee": "usr_xyz"
},
"_meta": {
"properties": {
"custom.status": {
"type": "single-select",
"name": "Status",
"selected": { "label": "Active", "value": "active" }
},
"custom.assignee": {
"type": "user-select",
"name": "Assignee",
"selected": {
"label": "Alice Smith",
"value": "usr_xyz",
"avatarUrl": "https://..."
}
}
}
}
}
```
`_meta.properties` is a map keyed by the property's dot-path key (e.g. `"custom.status"`). Each entry includes the property `name` as configured in your workspace, the `type`, and type-specific resolved data.
### `single-select` [#single-select]
```json
{
"type": "single-select",
"name": "Status",
"selected": { "label": "Active", "value": "active" }
}
```
`selected` is `null` if the stored value no longer matches any configured option — for example, when an option has been deleted from the workspace after the contact was saved.
### `multi-select` [#multi-select]
```json
{
"type": "multi-select",
"name": "Tags",
"selected": [
{ "label": "VIP", "value": "vip" },
{ "label": "Enterprise", "value": "enterprise" }
]
}
```
Only values that match a currently configured option appear in `selected`. Deleted options are silently dropped — if a contact had `["vip", "lead"]` and the `"lead"` option was removed, `selected` will contain only `[{ "label": "VIP", "value": "vip" }]`.
### `user-select` [#user-select]
```json
{
"type": "user-select",
"name": "Assignee",
"selected": {
"label": "Alice Smith",
"value": "usr_xyz",
"avatarUrl": "https://..."
}
}
```
`selected` is `null` if the stored user ID is no longer a member of the workspace — for example, when a user has been removed after being assigned to a contact. `avatarUrl` is omitted when the user has no avatar.
### Text-like types [#text-like-types]
For `text`, `textarea`, `url`, `email`, `tel`, and `amount` properties, the entry contains only the name and type — the raw value is already on the contact object itself.
```json
{
"type": "email",
"name": "Email"
}
```
### Omitted Properties [#omitted-properties]
A property is omitted from `_meta.properties` entirely when its value is empty (`null`, `undefined`, `""`, or `[]`). Only properties with a non-empty value appear.
# List contacts (/docs/api/contacts/contacts.list)
Returns a paginated list of contacts in a workspace.
# Get contact (/docs/api/contacts/contacts.get)
Returns a single contact by its ID.
# Create contact (/docs/api/contacts/contacts.create)
Creates a new contact in a workspace.
# Update contact (/docs/api/contacts/contacts.patch)
Partially updates a contact using [JSON Merge Patch](/docs/patching-resources).
# Delete contact (/docs/api/contacts/contacts.delete)
Deletes a contact and all its associated activities.
# Contact created (/docs/api/contacts/contact.created)
Sent when a new contact is created in a watched workspace
# Contact updated (/docs/api/contacts/contact.updated)
Sent when a contact is updated in a watched workspace
# Contact deleted (/docs/api/contacts/contact.deleted)
Sent when a contact is deleted from a watched workspace. `data` contains the full contact snapshot before deletion.
# Telegram Accounts (/docs/api/telegram-accounts)
Telegram accounts represent Telegram user sessions connected to your workspace. Each account can participate in outreach campaigns.
## Account Status [#account-status]
An account can be in one of the following statuses:
| Status | Description |
| -------------- | ------------------------------------------- |
| `active` | Connected and operational |
| `offline` | Temporarily disconnected, will reconnect |
| `unauthorized` | Session expired, re-authentication required |
| `banned` | Account banned by Telegram |
| `frozen` | Account frozen by Telegram |
## Endpoints [#endpoints]
Retrieve a paginated list of Telegram accounts in a workspace
Retrieve a single Telegram account by ID
Update account settings
Disconnect a Telegram account from the workspace
# List Telegram accounts (/docs/api/telegram-accounts/telegramAccounts.list)
Returns a paginated list of Telegram accounts in a workspace.
# Get Telegram account (/docs/api/telegram-accounts/telegramAccounts.get)
Returns a single Telegram account by its ID.
# Update Telegram account (/docs/api/telegram-accounts/telegramAccounts.patch)
Partially updates a Telegram account using [JSON Merge Patch](/docs/patching-resources).
# Disconnect Telegram account (/docs/api/telegram-accounts/telegramAccounts.delete)
Disconnects a Telegram account from the workspace.
# Outreach Campaigns (/docs/api/campaigns)
Campaigns (outreach sequences) let you send automated message sequences to a list of leads. Each campaign belongs to a workspace and progresses through a defined set of steps.
## Creating and Starting a Campaign [#creating-and-starting-a-campaign]
1. **Create a lead list.** Use [Upload CSV list](/docs/api/campaigns/outreach.lists.uploadCsvList) or [Create CRM list](/docs/api/campaigns/outreach.lists.createCrmList), then save the returned list ID.
2. **Create the campaign.** Call [Create campaign](/docs/api/campaigns/outreach.sequences.create) with the list ID. The campaign is created with `status: "draft"`, and list processing starts asynchronously.
3. **Check whether duplicate resolution is required.** Poll [Get campaign](/docs/api/campaigns/outreach.sequences.get). When `duplicationResolutionNeeded` is `true`, resolve the duplicates before starting the campaign. If the field is absent, continue to the start step; a `409 Conflict` response means list processing is still running, so wait and retry.
4. **Resolve duplicates when required.** Call [List campaign leads](/docs/api/campaigns/outreach.sequences.listLeads) with `stopReason=duplicate` to retrieve all leads awaiting a decision. For each lead, choose `keep` or `remove`, then submit the decisions to [Resolve duplicate campaign leads](/docs/api/campaigns/outreach.sequences.resolveDuplicates). Continue until `duplicationResolutionNeeded` is no longer present.
5. **Start the campaign.** Call [Update campaign status](/docs/api/campaigns/outreach.sequences.updateStatus) with `{"status":"active"}`. The campaign can start only after list processing and duplicate resolution are complete.
## Campaign Status [#campaign-status]
A campaign moves through the following statuses:
| Status | Description |
| ----------- | ----------------------------------------------- |
| `draft` | Not yet started; steps and leads can be edited |
| `active` | Currently sending messages to leads |
| `paused` | Sending is suspended; can be resumed or deleted |
| `completed` | All messages have been sent |
## Deleting a Campaign [#deleting-a-campaign]
Only campaigns in `draft`, `paused`, or `completed` status can be deleted. Attempting to delete an `active` campaign returns a `409 Conflict` error. Pause or complete the campaign first.
## Endpoints [#endpoints]
Retrieve a paginated list of campaigns in a workspace
Retrieve a single campaign by ID
Create a new outreach campaign
Update an existing campaign
Start or pause a campaign
Retrieve all leads in a campaign
Keep or remove duplicate campaign leads
Delete a draft, paused, or completed campaign
# List campaigns (/docs/api/campaigns/outreach.sequences.list)
Returns a paginated list of outreach campaigns in a workspace.
# Get campaign (/docs/api/campaigns/outreach.sequences.get)
Returns a single outreach campaign by its ID.
# Create campaign (/docs/api/campaigns/outreach.sequences.create)
Creates an outreach campaign for an existing list and triggers list processing. A list must be created first using the lists endpoints. See [Creating and Starting a Campaign](/docs/api/campaigns#creating-and-starting-a-campaign) for the complete flow.
# Update campaign (/docs/api/campaigns/outreach.sequences.patch)
Partially updates a campaign using [JSON Merge Patch](/docs/patching-resources).
# Update campaign status (/docs/api/campaigns/outreach.sequences.updateStatus)
Starts or pauses a campaign.
# Delete campaign (/docs/api/campaigns/outreach.sequences.delete)
Deletes a campaign and its associated list, leads, and pending messages. Active campaigns cannot be deleted.
# List campaign leads (/docs/api/campaigns/outreach.sequences.listLeads)
Returns all campaign leads with their message delivery state and duplicate information in a single response.
# Resolve duplicate campaign leads (/docs/api/campaigns/outreach.sequences.resolveDuplicates)
Keeps or removes selected duplicate leads. The campaign remains blocked until every duplicate is resolved.
# Upload CSV list (/docs/api/campaigns/outreach.lists.uploadCsvList)
Uploads a CSV or TSV file and creates a list. Columns are automatically inferred from the file header.
# Create CRM list (/docs/api/campaigns/outreach.lists.createCrmList)
Creates a list from CRM contacts or groups with optional filters.
# Find dialogs (/docs/api/dialogs/dialogs.find)
Finds dialogs across Telegram accounts accessible to the authenticated user. Matches by peer ID, username, or either value when both are provided, and returns the most recently updated dialogs first.
# Telegram Raw API (/docs/telegram-api)
Access raw Telegram TL methods through REST endpoints. Each connected Telegram account can execute any of the 700+ available methods.
Incorrect or abusive usage of the Telegram API can result in your account being temporarily or
permanently banned by Telegram. Avoid bulk operations, rapid-fire requests, and unsolicited
messaging. CRMchat is not responsible for account restrictions caused by API misuse.
## Rate limits [#rate-limits]
Rate limits are enforced by Telegram, not by CRMchat. When you exceed Telegram's limits, the API returns a `FLOOD_WAIT_X` error with the number of seconds to wait:
```json
{
"code": "BAD_REQUEST",
"message": "FLOOD_WAIT_42",
"data": {
"code": "TELEGRAM_RPC_ERROR",
"tlErrorCode": 420,
"tlErrorMessage": "FLOOD_WAIT_42"
}
}
```
Your application should parse the wait duration from the error message and retry after that period. Different methods have different limits — there are no published numbers, but generally:
* **Messaging**: \~30 messages per second to different chats, slower for the same chat
* **Bulk reads** (e.g., `messages.getHistory`): a few requests per second
* **Resolve/search**: stricter limits, cache results when possible
* **Account-wide**: Telegram tracks overall activity per account, not per API key
## Endpoint [#endpoint]
All methods are called via:
```
POST /v1/workspaces/{workspaceId}/telegram-accounts/{accountId}/call/{method}
```
## Authentication [#authentication]
Use your API key as a Bearer token in the `Authorization` header.
## Request format [#request-format]
```json
{
"params": {
// Method-specific parameters
}
}
```
## Response format [#response-format]
```json
{
"result": {
// TL object response
}
}
```
## Type conventions [#type-conventions]
| TL Type | JSON Format |
| ----------- | --------------------------------------- |
| `long` | String (numeric, 64-bit safe) |
| `bytes` | Base64 string |
| `int128` | Hex string (32 chars) |
| `int256` | Hex string (64 chars) |
| `Bool` | Boolean |
| `Vector` | Array |
| Constructor | `{ "_": "constructorName", ...fields }` |
## Available schemas [#available-schemas]
## Available schemas [#available-schemas-1]
OpenAPI specs are available at three granularity levels for AI agent consumption:
* **Full spec**: `/v1/tl-spec/all.json` — All methods (\~700+)
* **Per namespace**: `/v1/tl-spec/{namespace}.json` — Methods grouped by namespace (e.g., `messages`, `channels`)
* **Per method**: `/v1/tl-spec/{namespace}/{method}.json` — Single method spec
# Agent Guide (/docs/telegram-api/agent-guide)
Optimized for AI agent consumption. For full documentation with examples, see the [Telegram Raw API reference](/docs/telegram-api).
## Bootstrap [#bootstrap]
You need a `workspaceId` and `accountId` before calling any Telegram method. Obtain them in order:
1. `GET /v1/organizations` → pick an `id` from the response
2. `GET /v1/workspaces?organizationId={orgId}` → pick a workspace `id`
3. `GET /v1/workspaces/{workspaceId}/telegram-accounts` → pick an account with `status: "active"`
4. Now call: `POST /v1/workspaces/{workspaceId}/telegram-accounts/{accountId}/call/{method}` with `{"params": {...}}`
See [Authentication](/docs/authentication) for API key usage. See [Pagination](/docs/pagination) for list responses.
## Core Concepts [#core-concepts]
### Peers and accessHash [#peers-and-accesshash]
Every method targeting a user, chat, or channel requires an **InputPeer** object — not a bare numeric ID. InputPeer has constructors: `inputPeerUser` (needs `userId` + `accessHash`), `inputPeerChat` (needs `chatId`), `inputPeerChannel` (needs `channelId` + `accessHash`), and `inputPeerSelf` (no params).
The **accessHash** is a security token Telegram assigns per user-to-peer relationship. You cannot guess it. Obtain one by:
* `contacts.resolveUsername` — when you know the @username
* `contacts.search` — when you know the display name
* `messages.getDialogs` — from existing conversations (users/chats arrays contain accessHash)
Cache the accessHash for your session — it doesn't change.
Some channel-specific methods (`joinChannel`, `leaveChannel`, `getFullChannel`) require **InputChannel** (`inputChannel` constructor) instead of InputPeer — same fields (`channelId` + `accessHash`), different type name.
### randomId [#randomid]
Methods that create messages (`sendMessage`, `sendMedia`, etc.) require a `randomId` — a unique numeric string used for deduplication. Reusing one silently drops the message.
### Response Joins [#response-joins]
Methods like `getDialogs` and `search` return **separate arrays** (`dialogs`, `messages`, `users`, `chats`) that must be joined client-side by ID. For example, a dialog's `peer.userId` matches a user's `id` in the `users` array, and a dialog's `topMessage` matches a message's `id` in the `messages` array. Extract accessHash from the matched user/chat object.
### Type Conventions [#type-conventions]
See the [type conversion table](/docs/telegram-api) for how TL types map to JSON (long → string, bytes → base64, constructors → `{"_": "constructorName", ...}`).
## Workflows [#workflows]
### Send a message by username [#send-a-message-by-username]
Resolve the username first: `contacts.resolveUsername` → extract `userId` and `accessHash` from `users[0]` in the response → `messages.sendMessage` with `inputPeerUser` peer + `message` + `randomId`.
### Send a message by display name [#send-a-message-by-display-name]
`contacts.search` with query → find the target in `users` array (check `myResults` for contacts, `results` for global) → `messages.sendMessage` with the resolved peer.
### Send a message to an existing conversation [#send-a-message-to-an-existing-conversation]
`messages.getDialogs` → find the target dialog → extract peer info from `users`/`chats` arrays by matching IDs → `messages.sendMessage`.
### Get unread conversations [#get-unread-conversations]
`messages.getDialogs` → filter dialogs where `unreadCount > 0` → join with `users`/`chats` arrays for names and `messages` array for last message text.
### Read chat history [#read-chat-history]
`messages.getHistory` with the `inputPeerUser`/`inputPeerChannel` and a `limit`.
### Mark messages as read [#mark-messages-as-read]
`messages.readHistory` with the peer and `maxId` (the ID of the last message to mark as read).
### Edit a sent message [#edit-a-sent-message]
`messages.editMessage` with the peer, message `id`, and new `message` text.
### Delete messages [#delete-messages]
In private chats / basic groups: `messages.deleteMessages` with `id` array and `revoke: true`. In channels / supergroups: `channels.deleteMessages` with `inputChannel` and `id` array.
### Search users or channels [#search-users-or-channels]
`contacts.search` with query and `limit`. Response separates `myResults` (your contacts) from `results` (global). Actual user/chat objects are in separate `users[]` and `chats[]` arrays.
### Search messages globally [#search-messages-globally]
`messages.searchGlobal` with query `q`, `limit`, and a `filter` (use `inputMessagesFilterEmpty` for all types).
### Join or leave a channel [#join-or-leave-a-channel]
`channels.joinChannel` / `channels.leaveChannel` with `inputChannel` (not inputPeerChannel). You need the channel's accessHash — obtain it via `contacts.resolveUsername` or `contacts.search`.
### Update own profile [#update-own-profile]
`account.updateProfile` with any combination of `firstName`, `lastName`, `about`. To change username: `account.updateUsername`.
### Get chat folder contents [#get-chat-folder-contents]
`messages.getDialogFilters` → find the target folder by title → extract `includePeers` from that folder.
## Essential Methods [#essential-methods]
**Messages:** `sendMessage`, `editMessage`, `deleteMessages`, `getHistory`, `getDialogs`, `readHistory`, `searchGlobal`, `sendMedia`
**Contacts:** `resolveUsername`, `search`, `getContacts`
**Channels:** `joinChannel`, `leaveChannel`, `getFullChannel`, `deleteMessages`
**Account:** `updateProfile`, `updateUsername`
**Users:** `getFullUser`, `getMe`
For parameter details on any method, fetch its OpenAPI spec: `/v1/tl-spec/{namespace}/{method}.json` (e.g. `/v1/tl-spec/messages/sendMessage.json`). Per-namespace: `/v1/tl-spec/{namespace}.json`. Full spec: `/v1/tl-spec/all.json`.
## Blocked Methods [#blocked-methods]
Entire namespaces `auth.*`, `updates.*`, `mtcute.*`, and `smsjobs.*` are blocked. Individual dangerous methods (`account.deleteAccount`, `account.resetAuthorization`, `account.changePhone`) are blocked. All methods requiring `InputFile` (file uploads) are blocked.
## Pitfalls [#pitfalls]
* **accessHash is always required** for users and channels — bare IDs won't work
* **randomId must be unique per message** — reuse causes silent dedup
* **Dialog/search responses need client-side joins** — data is split across parallel arrays
* **Channels use InputChannel, not InputPeer** — `joinChannel`, `leaveChannel`, `getFullChannel` take `inputChannel` constructor
* **Account must be active** — check `status` field from the bootstrap step 3 response
## External References [#external-references]
* [Telegram TL Schema Reference](https://corefork.telegram.org/) — deep dives into constructors and types
* [CRMchat API Docs](/docs) — REST API endpoints, authentication, pagination
# account.acceptAuthorization (/docs/telegram-api/account/account.acceptAuthorization)
Sends a Telegram Passport authorization form, effectively sharing data with the service
# account.cancelPasswordEmail (/docs/telegram-api/account/account.cancelPasswordEmail)
Cancel the code that was sent to verify an email to use as [2FA recovery method](https://core.telegram.org/api/srp).
# account.changeAuthorizationSettings (/docs/telegram-api/account/account.changeAuthorizationSettings)
Change settings related to a session.
# account.checkUsername (/docs/telegram-api/account/account.checkUsername)
Validates a username and checks availability.
# account.clearRecentEmojiStatuses (/docs/telegram-api/account/account.clearRecentEmojiStatuses)
Clears list of recently used [emoji statuses](https://core.telegram.org/api/emoji-status)
# account.confirmBotConnection (/docs/telegram-api/account/account.confirmBotConnection)
# account.confirmPasswordEmail (/docs/telegram-api/account/account.confirmPasswordEmail)
Verify an email to use as [2FA recovery method](https://core.telegram.org/api/srp).
# account.confirmPhone (/docs/telegram-api/account/account.confirmPhone)
Confirm a phone number to cancel account deletion, for more info [click here »](https://core.telegram.org/api/account-deletion)
# account.createBusinessChatLink (/docs/telegram-api/account/account.createBusinessChatLink)
Create a [business chat deep link »](https://core.telegram.org/api/business#business-chat-links).
# account.createTheme (/docs/telegram-api/account/account.createTheme)
Create a theme
# account.declinePasswordReset (/docs/telegram-api/account/account.declinePasswordReset)
Abort a pending 2FA password reset, [see here for more info »](https://core.telegram.org/api/srp#password-reset)
# account.deleteAutoSaveExceptions (/docs/telegram-api/account/account.deleteAutoSaveExceptions)
Clear all peer-specific autosave settings.
# account.deleteBusinessChatLink (/docs/telegram-api/account/account.deleteBusinessChatLink)
Delete a [business chat deep link »](https://core.telegram.org/api/business#business-chat-links).
# account.deletePasskey (/docs/telegram-api/account/account.deletePasskey)
Delete a passkey associated to the current account, see [here »](https://core.telegram.org/api/passkeys#delete-passkeys) for more info.
# account.deleteSecureValue (/docs/telegram-api/account/account.deleteSecureValue)
Delete stored [Telegram Passport](https://core.telegram.org/passport) documents, [for more info see the passport docs »](https://core.telegram.org/passport/encryption#encryption)
# account.deleteWebBrowserSettingsExceptions (/docs/telegram-api/account/account.deleteWebBrowserSettingsExceptions)
# account.disablePeerConnectedBot (/docs/telegram-api/account/account.disablePeerConnectedBot)
Permanently disconnect a specific chat from all [business bots »](https://core.telegram.org/api/bots/connected-business-bots) (equivalent to specifying it in recipients.exclude_users during initial configuration with `account.RawUpdateConnectedBotRequest`); to reconnect of a chat disconnected using this method the user must reconnect the entire bot by invoking `account.RawUpdateConnectedBotRequest`.
# account.editBusinessChatLink (/docs/telegram-api/account/account.editBusinessChatLink)
Edit a created [business chat deep link »](https://core.telegram.org/api/business#business-chat-links).
# account.finishTakeoutSession (/docs/telegram-api/account/account.finishTakeoutSession)
Terminate a [takeout session, see here » for more info](https://core.telegram.org/api/takeout).
# account.getAccountTTL (/docs/telegram-api/account/account.getAccountTTL)
Get days to live of account
# account.getAllSecureValues (/docs/telegram-api/account/account.getAllSecureValues)
Get all saved [Telegram Passport](https://core.telegram.org/passport) documents, [for more info see the passport docs »](https://core.telegram.org/passport/encryption#encryption)
# account.getAuthorizationForm (/docs/telegram-api/account/account.getAuthorizationForm)
Returns a Telegram Passport authorization form for sharing data with a service
# account.getAuthorizations (/docs/telegram-api/account/account.getAuthorizations)
Get logged-in sessions
# account.getAutoDownloadSettings (/docs/telegram-api/account/account.getAutoDownloadSettings)
Get media autodownload settings
# account.getAutoSaveSettings (/docs/telegram-api/account/account.getAutoSaveSettings)
Get autosave settings
# account.getBotBusinessConnection (/docs/telegram-api/account/account.getBotBusinessConnection)
Bots may invoke this method to re-fetch the `RawUpdateBotBusinessConnect` constructor associated with a specific [business connection_id, see here »](https://core.telegram.org/api/bots/connected-business-bots) for more info on connected business bots. This is needed for example for freshly logged in bots that are receiving some `RawUpdateBotNewBusinessMessage`, etc. updates because some users have already connected to the bot before it could login. In this case, the bot is receiving messages from the business connection, but it hasn't cached the associated `RawUpdateBotBusinessConnect` with info about the connection (can it reply to messages? etc.) yet, and cannot receive the old ones because they were sent when the bot wasn't logged into the session yet. This method can be used to fetch info about a not-yet-cached business connection, and should not be invoked if the info is already cached or to fetch changes, as eventual changes will automatically be sent as new `RawUpdateBotBusinessConnect` updates to the bot using the usual [update delivery methods »](https://core.telegram.org/api/updates).
# account.getBusinessChatLinks (/docs/telegram-api/account/account.getBusinessChatLinks)
List all created [business chat deep links »](https://core.telegram.org/api/business#business-chat-links).
# account.getChannelDefaultEmojiStatuses (/docs/telegram-api/account/account.getChannelDefaultEmojiStatuses)
Get a list of default suggested [channel emoji statuses](https://core.telegram.org/api/emoji-status).
# account.getChannelRestrictedStatusEmojis (/docs/telegram-api/account/account.getChannelRestrictedStatusEmojis)
Returns fetch the full list of [custom emoji IDs »](https://core.telegram.org/api/custom-emoji) that cannot be used in [channel emoji statuses »](https://core.telegram.org/api/emoji-status).
# account.getChatThemes (/docs/telegram-api/account/account.getChatThemes)
Get all available chat [themes »](https://core.telegram.org/api/themes).
# account.getCollectibleEmojiStatuses (/docs/telegram-api/account/account.getCollectibleEmojiStatuses)
Obtain a list of [emoji statuses »](https://core.telegram.org/api/emoji-status) for owned or [hosted collectible gifts »](https://core.telegram.org/api/gifts#hosted-collectible-gifts).
# account.getConnectedBots (/docs/telegram-api/account/account.getConnectedBots)
List all currently connected [business bots »](https://core.telegram.org/api/bots/connected-business-bots)
# account.getContactSignUpNotification (/docs/telegram-api/account/account.getContactSignUpNotification)
Whether the user will receive notifications when contacts sign up
# account.getContentSettings (/docs/telegram-api/account/account.getContentSettings)
Get sensitive content settings
# account.getDefaultBackgroundEmojis (/docs/telegram-api/account/account.getDefaultBackgroundEmojis)
Get a set of suggested [custom emoji stickers](https://core.telegram.org/api/custom-emoji) that can be used in an [accent color pattern](https://core.telegram.org/api/colors).
# account.getDefaultEmojiStatuses (/docs/telegram-api/account/account.getDefaultEmojiStatuses)
Get a list of default suggested [emoji statuses](https://core.telegram.org/api/emoji-status)
# account.getDefaultGroupPhotoEmojis (/docs/telegram-api/account/account.getDefaultGroupPhotoEmojis)
Get a set of suggested [custom emoji stickers](https://core.telegram.org/api/custom-emoji) that can be [used as group picture](https://core.telegram.org/api/files#sticker-profile-pictures)
# account.getDefaultProfilePhotoEmojis (/docs/telegram-api/account/account.getDefaultProfilePhotoEmojis)
Get a set of suggested [custom emoji stickers](https://core.telegram.org/api/custom-emoji) that can be [used as profile picture](https://core.telegram.org/api/files#sticker-profile-pictures)
# account.getGlobalPrivacySettings (/docs/telegram-api/account/account.getGlobalPrivacySettings)
Get global privacy settings
# account.getMultiWallPapers (/docs/telegram-api/account/account.getMultiWallPapers)
Get info about multiple [wallpapers](https://core.telegram.org/api/wallpapers)
# account.getNotifyExceptions (/docs/telegram-api/account/account.getNotifyExceptions)
Returns list of chats with non-default notification settings
# account.getNotifySettings (/docs/telegram-api/account/account.getNotifySettings)
Gets current notification settings for a given user/group, from all users/all groups.
# account.getPaidMessagesRevenue (/docs/telegram-api/account/account.getPaidMessagesRevenue)
Get the number of stars we have received from the specified user thanks to [paid messages »](https://core.telegram.org/api/paid-messages); the received amount will be equal to the sent amount multiplied by [stars_paid_message_commission_permille](https://core.telegram.org/api/config#stars-paid-message-commission-permille) divided by 1000.
# account.getPasskeys (/docs/telegram-api/account/account.getPasskeys)
List the passkeys associated to the current account that can be used to log in, see [here »](https://core.telegram.org/api/passkeys#list-passkeys) for more info on passkeys.
# account.getPassword (/docs/telegram-api/account/account.getPassword)
Obtain configuration for two-factor authorization with password
# account.getPasswordSettings (/docs/telegram-api/account/account.getPasswordSettings)
Get private info associated to the password info (recovery email, telegram [passport](https://core.telegram.org/passport) info & so on)
# account.getPrivacy (/docs/telegram-api/account/account.getPrivacy)
Get privacy settings of current account
# account.getReactionsNotifySettings (/docs/telegram-api/account/account.getReactionsNotifySettings)
Get the current [reaction notification settings »](https://core.telegram.org/api/reactions#notifications-about-reactions).
# account.getRecentEmojiStatuses (/docs/telegram-api/account/account.getRecentEmojiStatuses)
Get recently used [emoji statuses](https://core.telegram.org/api/emoji-status)
# account.getSavedMusicIds (/docs/telegram-api/account/account.getSavedMusicIds)
Fetch the full list of only the IDs of [songs currently added to the profile, see here »](https://core.telegram.org/api/profile#music) for more info.
# account.getSavedRingtones (/docs/telegram-api/account/account.getSavedRingtones)
Fetch saved notification sounds
# account.getSecureValue (/docs/telegram-api/account/account.getSecureValue)
Get saved [Telegram Passport](https://core.telegram.org/passport) document, [for more info see the passport docs »](https://core.telegram.org/passport/encryption#encryption)
# account.getTheme (/docs/telegram-api/account/account.getTheme)
Get theme information
# account.getThemes (/docs/telegram-api/account/account.getThemes)
Get installed themes
# account.getTmpPassword (/docs/telegram-api/account/account.getTmpPassword)
Get temporary payment password
# account.getUniqueGiftChatThemes (/docs/telegram-api/account/account.getUniqueGiftChatThemes)
Obtain all [chat themes »](https://core.telegram.org/api/themes#chat-themes) associated to owned or [hosted collectible gifts »](https://core.telegram.org/api/gifts#hosted-collectible-gifts).
# account.getWallPaper (/docs/telegram-api/account/account.getWallPaper)
Get info about a certain [wallpaper](https://core.telegram.org/api/wallpapers)
# account.getWallPapers (/docs/telegram-api/account/account.getWallPapers)
Returns a list of available [wallpapers](https://core.telegram.org/api/wallpapers).
# account.getWebAuthorizations (/docs/telegram-api/account/account.getWebAuthorizations)
Get web [login widget](https://core.telegram.org/widgets/login) authorizations
# account.getWebBrowserSettings (/docs/telegram-api/account/account.getWebBrowserSettings)
# account.initPasskeyRegistration (/docs/telegram-api/account/account.initPasskeyRegistration)
Initialize passkey registration for the current account, see [here »](https://core.telegram.org/api/passkeys#creating-a-passkey) for more info on the full flow.
# account.initTakeoutSession (/docs/telegram-api/account/account.initTakeoutSession)
Initialize a [takeout session, see here » for more info](https://core.telegram.org/api/takeout).
# account.installTheme (/docs/telegram-api/account/account.installTheme)
Install a theme
# account.installWallPaper (/docs/telegram-api/account/account.installWallPaper)
Install [wallpaper](https://core.telegram.org/api/wallpapers)
# account.invalidateSignInCodes (/docs/telegram-api/account/account.invalidateSignInCodes)
Invalidate the specified login codes, see [here »](https://core.telegram.org/api/auth#invalidating-login-codes) for more info.
# account.registerDevice (/docs/telegram-api/account/account.registerDevice)
Register device to receive [PUSH notifications](https://core.telegram.org/api/push-updates)
# account.registerPasskey (/docs/telegram-api/account/account.registerPasskey)
Complete passkey registration for the current account, see [here »](https://core.telegram.org/api/passkeys#creating-a-passkey) for more info on the full flow.
# account.reorderUsernames (/docs/telegram-api/account/account.reorderUsernames)
Reorder usernames associated with the currently logged-in user.
# account.reportPeer (/docs/telegram-api/account/account.reportPeer)
Report a peer for violation of telegram's Terms of Service
# account.reportProfilePhoto (/docs/telegram-api/account/account.reportProfilePhoto)
Report a profile photo of a dialog
# account.resendPasswordEmail (/docs/telegram-api/account/account.resendPasswordEmail)
Resend the code to verify an email to use as [2FA recovery method](https://core.telegram.org/api/srp).
# account.resetNotifySettings (/docs/telegram-api/account/account.resetNotifySettings)
Resets all notification settings from users and groups.
# account.resetPassword (/docs/telegram-api/account/account.resetPassword)
Initiate a 2FA password reset: can only be used if the user is already logged-in, [see here for more info »](https://core.telegram.org/api/srp#password-reset)
# account.resetWallPapers (/docs/telegram-api/account/account.resetWallPapers)
Delete all installed [wallpapers](https://core.telegram.org/api/wallpapers), reverting to the default wallpaper set.
# account.resetWebAuthorization (/docs/telegram-api/account/account.resetWebAuthorization)
Log out an active web [telegram login](https://core.telegram.org/widgets/login) session
# account.resetWebAuthorizations (/docs/telegram-api/account/account.resetWebAuthorizations)
Reset all active web [telegram login](https://core.telegram.org/widgets/login) sessions
# account.resolveBusinessChatLink (/docs/telegram-api/account/account.resolveBusinessChatLink)
Resolve a [business chat deep link »](https://core.telegram.org/api/business#business-chat-links).
# account.saveAutoDownloadSettings (/docs/telegram-api/account/account.saveAutoDownloadSettings)
Change media autodownload settings
# account.saveAutoSaveSettings (/docs/telegram-api/account/account.saveAutoSaveSettings)
Modify autosave settings
# account.saveMusic (/docs/telegram-api/account/account.saveMusic)
Adds or removes a song from the current user's profile [see here »](https://core.telegram.org/api/profile#music) for more info on the music tab of the profile page.
# account.saveRingtone (/docs/telegram-api/account/account.saveRingtone)
Save or remove saved notification sound. If the notification sound is already in MP3 format, `account.RawSavedRingtone` will be returned. Otherwise, it will be automatically converted and a `account.RawSavedRingtoneConverted` will be returned, containing a new `RawDocument` object that should be used to refer to the ringtone from now on (ie when deleting it using the unsave parameter, or when downloading it).
# account.saveSecureValue (/docs/telegram-api/account/account.saveSecureValue)
Securely save [Telegram Passport](https://core.telegram.org/passport) document, [for more info see the passport docs »](https://core.telegram.org/passport/encryption#encryption)
# account.saveTheme (/docs/telegram-api/account/account.saveTheme)
Save a theme
# account.saveWallPaper (/docs/telegram-api/account/account.saveWallPaper)
Install/uninstall [wallpaper](https://core.telegram.org/api/wallpapers)
# account.sendChangePhoneCode (/docs/telegram-api/account/account.sendChangePhoneCode)
Verify a new phone number to associate to the current account
# account.sendConfirmPhoneCode (/docs/telegram-api/account/account.sendConfirmPhoneCode)
Send confirmation code to cancel account deletion, for more info [click here »](https://core.telegram.org/api/account-deletion)
# account.sendVerifyEmailCode (/docs/telegram-api/account/account.sendVerifyEmailCode)
Send an email verification code.
# account.sendVerifyPhoneCode (/docs/telegram-api/account/account.sendVerifyPhoneCode)
Send the verification phone code for telegram [passport](https://core.telegram.org/passport).
# account.setAccountTTL (/docs/telegram-api/account/account.setAccountTTL)
Set account self-destruction period
# account.setAuthorizationTTL (/docs/telegram-api/account/account.setAuthorizationTTL)
Set time-to-live of current session
# account.setContactSignUpNotification (/docs/telegram-api/account/account.setContactSignUpNotification)
Toggle contact sign up notifications
# account.setContentSettings (/docs/telegram-api/account/account.setContentSettings)
Set sensitive content settings (for viewing or hiding NSFW content)
# account.setGlobalPrivacySettings (/docs/telegram-api/account/account.setGlobalPrivacySettings)
Set global privacy settings
# account.setMainProfileTab (/docs/telegram-api/account/account.setMainProfileTab)
Changes the main profile tab of the current user, see [here »](https://core.telegram.org/api/profile#tabs) for more info.
# account.setPrivacy (/docs/telegram-api/account/account.setPrivacy)
Change privacy settings of current account
# account.setReactionsNotifySettings (/docs/telegram-api/account/account.setReactionsNotifySettings)
Change the [reaction notification settings »](https://core.telegram.org/api/reactions#notifications-about-reactions).
# account.toggleConnectedBotPaused (/docs/telegram-api/account/account.toggleConnectedBotPaused)
Pause or unpause a specific chat, temporarily disconnecting it from all [business bots »](https://core.telegram.org/api/bots/connected-business-bots).
# account.toggleNoPaidMessagesException (/docs/telegram-api/account/account.toggleNoPaidMessagesException)
Allow a user to send us messages without paying if [paid messages »](https://core.telegram.org/api/paid-messages) are enabled.
# account.toggleSponsoredMessages (/docs/telegram-api/account/account.toggleSponsoredMessages)
Disable or re-enable Telegram ads for the current [Premium](https://core.telegram.org/api/premium) account. Useful for business owners that may want to launch and view their own Telegram ads via the [Telegram ad platform »](https://ads.telegram.org/).
# account.toggleUsername (/docs/telegram-api/account/account.toggleUsername)
Activate or deactivate a purchased [fragment.com](https://fragment.com/) username associated to the currently logged-in user.
# account.toggleWebBrowserSettingsException (/docs/telegram-api/account/account.toggleWebBrowserSettingsException)
# account.unregisterDevice (/docs/telegram-api/account/account.unregisterDevice)
Deletes a device by its token, stops sending PUSH-notifications to it.
# account.updateBirthday (/docs/telegram-api/account/account.updateBirthday)
Update our [birthday, see here »](https://core.telegram.org/api/profile#birthday) for more info.
# account.updateBusinessAwayMessage (/docs/telegram-api/account/account.updateBusinessAwayMessage)
Set a list of [Telegram Business away messages](https://core.telegram.org/api/business#away-messages).
# account.updateBusinessGreetingMessage (/docs/telegram-api/account/account.updateBusinessGreetingMessage)
Set a list of [Telegram Business greeting messages](https://core.telegram.org/api/business#greeting-messages).
# account.updateBusinessIntro (/docs/telegram-api/account/account.updateBusinessIntro)
Set or remove the [Telegram Business introduction »](https://core.telegram.org/api/business#business-introduction).
# account.updateBusinessLocation (/docs/telegram-api/account/account.updateBusinessLocation)
[Businesses »](https://core.telegram.org/api/business#location) may advertise their location using this method, see [here »](https://core.telegram.org/api/business#location) for more info. To remove business location information invoke the method without setting any of the parameters.
# account.updateBusinessWorkHours (/docs/telegram-api/account/account.updateBusinessWorkHours)
Specify a set of [Telegram Business opening hours](https://core.telegram.org/api/business#opening-hours). This info will be contained in `RawUserFull`.business_work_hours. To remove all opening hours, invoke the method without setting the business_work_hours field. Note that the opening hours specified by the user must be appropriately validated and transformed before invoking the method, as specified [here »](https://core.telegram.org/api/business#opening-hours).
# account.updateColor (/docs/telegram-api/account/account.updateColor)
Update the [accent color and background custom emoji »](https://core.telegram.org/api/colors) of the current account.
# account.updateConnectedBot (/docs/telegram-api/account/account.updateConnectedBot)
Connect a [business bot »](https://core.telegram.org/api/bots/connected-business-bots) to the current account, or to change the current connection settings.
# account.updateDeviceLocked (/docs/telegram-api/account/account.updateDeviceLocked)
When client-side passcode lock feature is enabled, will not show message texts in incoming [PUSH notifications](https://core.telegram.org/api/push-updates).
# account.updateEmojiStatus (/docs/telegram-api/account/account.updateEmojiStatus)
Set an [emoji status](https://core.telegram.org/api/emoji-status)
# account.updateNotifySettings (/docs/telegram-api/account/account.updateNotifySettings)
Edits notification settings from a given user/group, from all users/all groups.
# account.updatePasswordSettings (/docs/telegram-api/account/account.updatePasswordSettings)
Set a new 2FA password
# account.updatePersonalChannel (/docs/telegram-api/account/account.updatePersonalChannel)
Associate (or remove) a personal [channel »](https://core.telegram.org/api/channel), that will be listed on our personal [profile page »](https://core.telegram.org/api/profile#personal-channel). Changing it will emit an `RawUpdateUser` update.
# account.updateProfile (/docs/telegram-api/account/account.updateProfile)
Updates user profile.
# account.updateStatus (/docs/telegram-api/account/account.updateStatus)
Updates online user status.
# account.updateTheme (/docs/telegram-api/account/account.updateTheme)
Update theme
# account.updateUsername (/docs/telegram-api/account/account.updateUsername)
Changes username for the current user.
# account.updateWebBrowserSettings (/docs/telegram-api/account/account.updateWebBrowserSettings)
# account.verifyEmail (/docs/telegram-api/account/account.verifyEmail)
Verify an email address.
# account.verifyPhone (/docs/telegram-api/account/account.verifyPhone)
Verify a phone number for telegram [passport](https://core.telegram.org/passport).
# aicompose.createTone (/docs/telegram-api/aicompose/aicompose.createTone)
Create a new custom [AI composer tone »](https://core.telegram.org/api/ai#ai-compose-tones).
# aicompose.deleteTone (/docs/telegram-api/aicompose/aicompose.deleteTone)
Permanently delete a custom [AI composer tone »](https://core.telegram.org/api/ai#ai-compose-tones) created by the current user.
# aicompose.getTone (/docs/telegram-api/aicompose/aicompose.getTone)
Fetch information about a single [AI composer tone »](https://core.telegram.org/api/ai#ai-compose-tones), for example to resolve a shared tone deep link.
# aicompose.getToneExample (/docs/telegram-api/aicompose/aicompose.getToneExample)
Fetch an example showing how an [AI composer tone »](https://core.telegram.org/api/ai#ai-compose-tones) rephrases a sample message, used as a preview in the tone picker.
# aicompose.getTones (/docs/telegram-api/aicompose/aicompose.getTones)
Fetch the list of saved [AI composer tones »](https://core.telegram.org/api/ai#ai-compose-tones) of the current user.
# aicompose.saveTone (/docs/telegram-api/aicompose/aicompose.saveTone)
Install or uninstall an [AI composer tone »](https://core.telegram.org/api/ai#ai-compose-tones), adding it to or removing it from the list of saved tones of the current user. Non-[Premium](https://core.telegram.org/api/premium) users may install up to [aicompose_tone_saved_limit_default »](https://core.telegram.org/api/config#aicompose-tone-saved-limit-default) tones, [Premium](https://core.telegram.org/api/premium) users up to [aicompose_tone_saved_limit_premium »](https://core.telegram.org/api/config#aicompose-tone-saved-limit-premium) tones.
# aicompose.updateTone (/docs/telegram-api/aicompose/aicompose.updateTone)
Edit a custom [AI composer tone »](https://core.telegram.org/api/ai#ai-compose-tones) previously created by the current user. Only the fields whose flag is set will be modified.
# bots.addPreviewMedia (/docs/telegram-api/bots/bots.addPreviewMedia)
Add a [main mini app preview, see here »](https://core.telegram.org/api/bots/webapps#main-mini-app-previews) for more info. Only owners of bots with a configured Main Mini App can use this method, see [see here »](https://core.telegram.org/api/bots/webapps#main-mini-app-previews) for more info on how to check if you can invoke this method.
# bots.allowSendMessage (/docs/telegram-api/bots/bots.allowSendMessage)
Allow the specified bot to send us messages
# bots.answerWebhookJSONQuery (/docs/telegram-api/bots/bots.answerWebhookJSONQuery)
Answers a custom query; for bots only
# bots.canSendMessage (/docs/telegram-api/bots/bots.canSendMessage)
Check whether the specified bot can send us messages
# bots.checkDownloadFileParams (/docs/telegram-api/bots/bots.checkDownloadFileParams)
Check if a [mini app](https://core.telegram.org/api/bots/webapps) can request the download of a specific file: called when handling [web_app_request_file_download events »](https://core.telegram.org/api/web-events#web-app-request-file-download)
# bots.checkUsername (/docs/telegram-api/bots/bots.checkUsername)
Check whether a username is available and valid for use when [creating a managed bot »](https://core.telegram.org/api/bots/managed-bots#creating-a-managed-bot).
# bots.createBot (/docs/telegram-api/bots/bots.createBot)
Create a [managed bot »](https://core.telegram.org/api/bots/managed-bots#creating-a-managed-bot) owned by the current user and controlled by the specified manager bot.
# bots.deletePreviewMedia (/docs/telegram-api/bots/bots.deletePreviewMedia)
Delete a [main mini app preview, see here »](https://core.telegram.org/api/bots/webapps#main-mini-app-previews) for more info. Only owners of bots with a configured Main Mini App can use this method, see [see here »](https://core.telegram.org/api/bots/webapps#main-mini-app-previews) for more info on how to check if you can invoke this method.
# bots.editAccessSettings (/docs/telegram-api/bots/bots.editAccessSettings)
Edit the [access restriction settings »](https://core.telegram.org/api/bots/managed-bots#managing-a-managed-bot) of a managed bot; can only be called by the manager bot.
# bots.editPreviewMedia (/docs/telegram-api/bots/bots.editPreviewMedia)
Edit a [main mini app preview, see here »](https://core.telegram.org/api/bots/webapps#main-mini-app-previews) for more info. Only owners of bots with a configured Main Mini App can use this method, see [see here »](https://core.telegram.org/api/bots/webapps#main-mini-app-previews) for more info on how to check if you can invoke this method.
# bots.exportBotToken (/docs/telegram-api/bots/bots.exportBotToken)
Export the bot token of a [managed bot »](https://core.telegram.org/api/bots/managed-bots#managing-a-managed-bot); can only be called by the manager bot.
# bots.getAccessSettings (/docs/telegram-api/bots/bots.getAccessSettings)
Get the [access restriction settings »](https://core.telegram.org/api/bots/managed-bots#managing-a-managed-bot) of a managed bot; can only be called by the manager bot.
# bots.getAdminedBots (/docs/telegram-api/bots/bots.getAdminedBots)
Get a list of bots owned by the current user
# bots.getBotCommands (/docs/telegram-api/bots/bots.getBotCommands)
Obtain a list of bot commands for the specified bot scope and language code
# bots.getBotInfo (/docs/telegram-api/bots/bots.getBotInfo)
Get localized name, about text and description of a bot (or of the current account, if called by a bot).
# bots.getBotMenuButton (/docs/telegram-api/bots/bots.getBotMenuButton)
Gets the menu button action for a given user or for all users, previously set using `bots.RawSetBotMenuButtonRequest`; users can see this information in the `RawBotInfo` constructor.
# bots.getBotRecommendations (/docs/telegram-api/bots/bots.getBotRecommendations)
Obtain a list of similarly themed bots, selected based on similarities in their subscriber bases, see [here »](https://core.telegram.org/api/recommend) for more info.
# bots.getPopularAppBots (/docs/telegram-api/bots/bots.getPopularAppBots)
Fetch popular [Main Mini Apps](https://core.telegram.org/api/bots/webapps#main-mini-apps), to be used in the [apps tab of global search »](https://core.telegram.org/api/search#apps-tab).
# bots.getPreviewInfo (/docs/telegram-api/bots/bots.getPreviewInfo)
Bot owners only, fetch [main mini app preview information, see here »](https://core.telegram.org/api/bots/webapps#main-mini-app-previews) for more info. Note: technically non-owners may also invoke this method, but it will always behave exactly as `bots.RawGetPreviewMediasRequest`, returning only previews for the current language and an empty lang_codes array, regardless of the passed lang_code, so please only use `bots.RawGetPreviewMediasRequest` if you're not the owner of the bot.
# bots.getPreviewMedias (/docs/telegram-api/bots/bots.getPreviewMedias)
Fetch [main mini app previews, see here »](https://core.telegram.org/api/bots/webapps#main-mini-app-previews) for more info.
# bots.getRequestedWebViewButton (/docs/telegram-api/bots/bots.getRequestedWebViewButton)
Fetch the peer request button a bot prepared for a [Mini App](https://core.telegram.org/api/bots/webapps) with `bots.RawRequestWebViewButtonRequest`, invoked when the Mini App emits a [web_app_request_chat](https://core.telegram.org/api/web-events#web-app-request-chat) event, see [here »](https://core.telegram.org/api/bots/buttons#requesting-peers-via-mini-apps) for more info.
# bots.invokeWebViewCustomMethod (/docs/telegram-api/bots/bots.invokeWebViewCustomMethod)
Send a custom request from a [mini bot app](https://core.telegram.org/api/bots/webapps), triggered by a [web_app_invoke_custom_method event »](https://core.telegram.org/api/web-events#web-app-invoke-custom-method). The response should be sent using a [custom_method_invoked](https://core.telegram.org/api/bots/webapps#custom-method-invoked) event, [see here »](https://core.telegram.org/api/web-events#web-app-invoke-custom-method) for more info on the flow.
# bots.reorderPreviewMedias (/docs/telegram-api/bots/bots.reorderPreviewMedias)
Reorder a [main mini app previews, see here »](https://core.telegram.org/api/bots/webapps#main-mini-app-previews) for more info. Only owners of bots with a configured Main Mini App can use this method, see [see here »](https://core.telegram.org/api/bots/webapps#main-mini-app-previews) for more info on how to check if you can invoke this method.
# bots.reorderUsernames (/docs/telegram-api/bots/bots.reorderUsernames)
Reorder usernames associated to a bot we own.
# bots.requestWebViewButton (/docs/telegram-api/bots/bots.requestWebViewButton)
Bots may use this method to prepare a peer request button for a [Mini App](https://core.telegram.org/api/bots/webapps), see [here »](https://core.telegram.org/api/bots/buttons#requesting-peers-via-mini-apps) for more info.
# bots.resetBotCommands (/docs/telegram-api/bots/bots.resetBotCommands)
Clear bot commands for the specified bot scope and language code
# bots.sendCustomRequest (/docs/telegram-api/bots/bots.sendCustomRequest)
Sends a custom request; for bots only
# bots.setBotBroadcastDefaultAdminRights (/docs/telegram-api/bots/bots.setBotBroadcastDefaultAdminRights)
Set the default [suggested admin rights](https://core.telegram.org/api/rights#suggested-bot-rights) for bots being added as admins to channels, see [here for more info on how to handle them »](https://core.telegram.org/api/rights#suggested-bot-rights).
# bots.setBotCommands (/docs/telegram-api/bots/bots.setBotCommands)
Set bot command list
# bots.setBotGroupDefaultAdminRights (/docs/telegram-api/bots/bots.setBotGroupDefaultAdminRights)
Set the default [suggested admin rights](https://core.telegram.org/api/rights#suggested-bot-rights) for bots being added as admins to groups, see [here for more info on how to handle them »](https://core.telegram.org/api/rights#suggested-bot-rights).
# bots.setBotInfo (/docs/telegram-api/bots/bots.setBotInfo)
Set localized name, about text and description of a bot (or of the current account, if called by a bot).
# bots.setBotMenuButton (/docs/telegram-api/bots/bots.setBotMenuButton)
Sets the [menu button action »](https://core.telegram.org/api/bots/menu) for a given user or for all users
# bots.setCustomVerification (/docs/telegram-api/bots/bots.setCustomVerification)
Verify a user or chat [on behalf of an organization »](https://core.telegram.org/api/bots/verification).
# bots.setJoinChatResults (/docs/telegram-api/bots/bots.setJoinChatResults)
# bots.toggleUserEmojiStatusPermission (/docs/telegram-api/bots/bots.toggleUserEmojiStatusPermission)
Allow or prevent a bot from [changing our emoji status »](https://core.telegram.org/api/emoji-status#setting-an-emoji-status-from-a-bot)
# bots.toggleUsername (/docs/telegram-api/bots/bots.toggleUsername)
Activate or deactivate a purchased [fragment.com](https://fragment.com/) username associated to a bot we own.
# bots.updateStarRefProgram (/docs/telegram-api/bots/bots.updateStarRefProgram)
Create, edit or delete the [affiliate program](https://core.telegram.org/api/bots/referrals) of a bot we own
# bots.updateUserEmojiStatus (/docs/telegram-api/bots/bots.updateUserEmojiStatus)
Change the emoji status of a user (invoked by bots, see [here »](https://core.telegram.org/api/emoji-status#setting-an-emoji-status-from-a-bot) for more info on the full flow)
# channels.checkSearchPostsFlood (/docs/telegram-api/channels/channels.checkSearchPostsFlood)
Check if the specified [global post search »](https://core.telegram.org/api/search#posts-tab) requires payment.
# channels.checkUsername (/docs/telegram-api/channels/channels.checkUsername)
Check if a username is free and can be assigned to a channel/supergroup
# channels.convertToGigagroup (/docs/telegram-api/channels/channels.convertToGigagroup)
Convert a [supergroup](https://core.telegram.org/api/channel) to a [gigagroup](https://core.telegram.org/api/channel), when requested by [channel suggestions](https://core.telegram.org/api/config#channel-suggestions).
# channels.createChannel (/docs/telegram-api/channels/channels.createChannel)
Create a [supergroup/channel](https://core.telegram.org/api/channel).
# channels.deactivateAllUsernames (/docs/telegram-api/channels/channels.deactivateAllUsernames)
Disable all purchased usernames of a supergroup or channel
# channels.deleteChannel (/docs/telegram-api/channels/channels.deleteChannel)
Delete a [channel/supergroup](https://core.telegram.org/api/channel)
# channels.deleteHistory (/docs/telegram-api/channels/channels.deleteHistory)
Delete the history of a [supergroup](https://core.telegram.org/api/channel)
# channels.deleteMessages (/docs/telegram-api/channels/channels.deleteMessages)
Delete messages in a [channel/supergroup](https://core.telegram.org/api/channel)
# channels.deleteParticipantHistory (/docs/telegram-api/channels/channels.deleteParticipantHistory)
Delete all messages sent by a specific participant of a given supergroup
# channels.editAdmin (/docs/telegram-api/channels/channels.editAdmin)
Modify the admin rights of a user in a [supergroup/channel](https://core.telegram.org/api/channel).
# channels.editBanned (/docs/telegram-api/channels/channels.editBanned)
Ban/unban/kick a user in a [supergroup/channel](https://core.telegram.org/api/channel).
# channels.editLocation (/docs/telegram-api/channels/channels.editLocation)
Edit location of geo group, see [here »](https://core.telegram.org/api/nearby) for more info on geogroups.
# channels.editPhoto (/docs/telegram-api/channels/channels.editPhoto)
Change the photo of a [channel/supergroup](https://core.telegram.org/api/channel)
# channels.editTitle (/docs/telegram-api/channels/channels.editTitle)
Edit the name of a [channel/supergroup](https://core.telegram.org/api/channel)
# channels.exportMessageLink (/docs/telegram-api/channels/channels.exportMessageLink)
Get link and embed info of a message in a [channel/supergroup](https://core.telegram.org/api/channel)
# channels.getAdminedPublicChannels (/docs/telegram-api/channels/channels.getAdminedPublicChannels)
Get [channels/supergroups/geogroups](https://core.telegram.org/api/channel) we're admin in. Usually called when the user exceeds the `RawConfig` for owned public [channels/supergroups/geogroups](https://core.telegram.org/api/channel), and the user is given the choice to remove one of their channels/supergroups/geogroups.
# channels.getAdminLog (/docs/telegram-api/channels/channels.getAdminLog)
Get the admin log of a [channel/supergroup](https://core.telegram.org/api/channel)
# channels.getChannelRecommendations (/docs/telegram-api/channels/channels.getChannelRecommendations)
Obtain a list of similarly themed public channels, selected based on similarities in their subscriber bases.
# channels.getChannels (/docs/telegram-api/channels/channels.getChannels)
Get info about [channels/supergroups](https://core.telegram.org/api/channel)
# channels.getFullChannel (/docs/telegram-api/channels/channels.getFullChannel)
Get full info about a [supergroup](https://core.telegram.org/api/channel#supergroups), [gigagroup](https://core.telegram.org/api/channel#gigagroups) or [channel](https://core.telegram.org/api/channel#channels)
# channels.getGroupsForDiscussion (/docs/telegram-api/channels/channels.getGroupsForDiscussion)
Get all groups that can be used as [discussion groups](https://core.telegram.org/api/discussion). Returned [basic group chats](https://core.telegram.org/api/channel#basic-groups) must be first upgraded to [supergroups](https://core.telegram.org/api/channel#supergroups) before they can be set as a discussion group. To set a returned supergroup as a discussion group, access to its old messages must be enabled using `channels.RawTogglePreHistoryHiddenRequest`, first.
# channels.getInactiveChannels (/docs/telegram-api/channels/channels.getInactiveChannels)
Get inactive channels and supergroups
# channels.getLeftChannels (/docs/telegram-api/channels/channels.getLeftChannels)
Get a list of [channels/supergroups](https://core.telegram.org/api/channel) we left, requires a [takeout session, see here » for more info](https://core.telegram.org/api/takeout).
# channels.getMessageAuthor (/docs/telegram-api/channels/channels.getMessageAuthor)
Can only be invoked by non-bot admins of a [monoforum »](https://core.telegram.org/api/monoforum), obtains the original sender of a message sent by other monoforum admins to the monoforum, on behalf of the channel associated to the monoforum.
# channels.getMessages (/docs/telegram-api/channels/channels.getMessages)
Get [channel/supergroup](https://core.telegram.org/api/channel) messages
# channels.getParticipant (/docs/telegram-api/channels/channels.getParticipant)
Get info about a [channel/supergroup](https://core.telegram.org/api/channel) participant
# channels.getParticipants (/docs/telegram-api/channels/channels.getParticipants)
Get the participants of a [supergroup/channel](https://core.telegram.org/api/channel)
# channels.getSendAs (/docs/telegram-api/channels/channels.getSendAs)
Obtains a list of peers that can be displayed as the sender in a specific context. With for_live_stories, returns peers that may author [live story in-call messages »](https://core.telegram.org/api/group-calls#in-call-messages).
# channels.inviteToChannel (/docs/telegram-api/channels/channels.inviteToChannel)
Invite users to a channel/supergroup
# channels.joinChannel (/docs/telegram-api/channels/channels.joinChannel)
Join a channel/supergroup
# channels.leaveChannel (/docs/telegram-api/channels/channels.leaveChannel)
Leave a [channel/supergroup](https://core.telegram.org/api/channel)
# channels.readHistory (/docs/telegram-api/channels/channels.readHistory)
Mark [channel/supergroup](https://core.telegram.org/api/channel) history as read
# channels.readMessageContents (/docs/telegram-api/channels/channels.readMessageContents)
Mark [channel/supergroup](https://core.telegram.org/api/channel) message contents as read, emitting an `RawUpdateChannelReadMessagesContents`.
# channels.reorderUsernames (/docs/telegram-api/channels/channels.reorderUsernames)
Reorder active usernames
# channels.reportAntiSpamFalsePositive (/docs/telegram-api/channels/channels.reportAntiSpamFalsePositive)
Report a [native antispam](https://core.telegram.org/api/antispam) false positive
# channels.reportSpam (/docs/telegram-api/channels/channels.reportSpam)
Reports some messages from a user in a supergroup as spam; requires administrator rights in the supergroup
# channels.restrictSponsoredMessages (/docs/telegram-api/channels/channels.restrictSponsoredMessages)
Disable ads on the specified channel, for all users. Available only after reaching at least the [boost level »](https://core.telegram.org/api/boost) specified in the [channel_restrict_sponsored_level_min »](https://core.telegram.org/api/config#channel-restrict-sponsored-level-min) config parameter.
# channels.searchPosts (/docs/telegram-api/channels/channels.searchPosts)
Globally search for posts from public [channels »](https://core.telegram.org/api/channel) (including those we aren't a member of) containing either a specific hashtag, or a full text query. Exactly one of query and hashtag must be set.
# channels.setBoostsToUnblockRestrictions (/docs/telegram-api/channels/channels.setBoostsToUnblockRestrictions)
Admins with `RawChatAdminRights` may allow users that apply a certain number of [booosts »](https://core.telegram.org/api/boost) to the group to bypass `channels.RawToggleSlowModeRequest` and [other »](https://core.telegram.org/api/rights#default-rights) supergroup restrictions, see [here »](https://core.telegram.org/api/boost#bypass-slowmode-and-chat-restrictions) for more info.
# channels.setDiscussionGroup (/docs/telegram-api/channels/channels.setDiscussionGroup)
Associate a group to a channel as [discussion group](https://core.telegram.org/api/discussion) for that channel
# channels.setEmojiStickers (/docs/telegram-api/channels/channels.setEmojiStickers)
Set a [custom emoji stickerset](https://core.telegram.org/api/custom-emoji) for supergroups. Only usable after reaching at least the [boost level »](https://core.telegram.org/api/boost) specified in the [group_emoji_stickers_level_min »](https://core.telegram.org/api/config#group-emoji-stickers-level-min) config parameter.
# channels.setMainProfileTab (/docs/telegram-api/channels/channels.setMainProfileTab)
Changes the main profile tab of a channel, see [here »](https://core.telegram.org/api/profile#tabs) for more info.
# channels.setStickers (/docs/telegram-api/channels/channels.setStickers)
Associate a stickerset to the supergroup
# channels.toggleAntiSpam (/docs/telegram-api/channels/channels.toggleAntiSpam)
Enable or disable the [native antispam system](https://core.telegram.org/api/antispam).
# channels.toggleAutotranslation (/docs/telegram-api/channels/channels.toggleAutotranslation)
Toggle autotranslation in a channel, for all users: see [here »](https://core.telegram.org/api/translation#autotranslation-for-channels) for more info.
# channels.toggleForum (/docs/telegram-api/channels/channels.toggleForum)
Enable or disable [forum functionality](https://core.telegram.org/api/forum) in a supergroup.
# channels.toggleJoinRequest (/docs/telegram-api/channels/channels.toggleJoinRequest)
Set whether all users should [request admin approval to join the group »](https://core.telegram.org/api/invites#join-requests).
# channels.toggleJoinToSend (/docs/telegram-api/channels/channels.toggleJoinToSend)
Set whether all users [should join a discussion group in order to comment on a post »](https://core.telegram.org/api/discussion#requiring-users-to-join-the-group)
# channels.toggleParticipantsHidden (/docs/telegram-api/channels/channels.toggleParticipantsHidden)
Hide or display the participants list in a [supergroup](https://core.telegram.org/api/channel). The supergroup must have at least hidden_members_group_size_min participants in order to use this method, as specified by the [client configuration parameters »](https://core.telegram.org/api/config#client-configuration).
# channels.togglePreHistoryHidden (/docs/telegram-api/channels/channels.togglePreHistoryHidden)
Hide/unhide message history for new channel/supergroup users
# channels.toggleSignatures (/docs/telegram-api/channels/channels.toggleSignatures)
Enable/disable message signatures in channels
# channels.toggleSlowMode (/docs/telegram-api/channels/channels.toggleSlowMode)
Toggle supergroup slow mode: if enabled, users will only be able to send one message every seconds seconds
# channels.toggleUsername (/docs/telegram-api/channels/channels.toggleUsername)
Activate or deactivate a purchased [fragment.com](https://fragment.com/) username associated to a [supergroup or channel](https://core.telegram.org/api/channel) we own.
# channels.toggleViewForumAsMessages (/docs/telegram-api/channels/channels.toggleViewForumAsMessages)
Users may also choose to display messages from all topics of a [forum](https://core.telegram.org/api/forum) as if they were sent to a normal group, using a "View as messages" setting in the local client: this setting only affects the current account, and is synced to other logged in sessions using this method. Invoking this method will update the value of the view_forum_as_messages flag of `RawChannelFull` or `RawDialog` and emit an `RawUpdateChannelViewForumAsMessages`.
# channels.updateColor (/docs/telegram-api/channels/channels.updateColor)
Update the [accent color and background custom emoji »](https://core.telegram.org/api/colors) of a channel.
# channels.updateEmojiStatus (/docs/telegram-api/channels/channels.updateEmojiStatus)
Set an [emoji status](https://core.telegram.org/api/emoji-status) for a channel or supergroup.
# channels.updatePaidMessagesPrice (/docs/telegram-api/channels/channels.updatePaidMessagesPrice)
Enable or disable [paid messages »](https://core.telegram.org/api/paid-messages) in this [supergroup](https://core.telegram.org/api/channel) or [monoforum](https://core.telegram.org/api/monoforum). Also used to [enable or disable monoforums aka direct messages in a channel](https://core.telegram.org/api/monoforum). Note that passing the ID of the monoforum itself to channel will return a CHANNEL_MONOFORUM_UNSUPPORTED error: pass the ID of the associated channel to edit the settings of the associated monoforum, instead.
# channels.updateUsername (/docs/telegram-api/channels/channels.updateUsername)
Change or remove the username of a supergroup/channel
# chatlists.checkChatlistInvite (/docs/telegram-api/chatlists/chatlists.checkChatlistInvite)
Obtain information about a [chat folder deep link »](https://core.telegram.org/api/links#chat-folder-links).
# chatlists.deleteExportedInvite (/docs/telegram-api/chatlists/chatlists.deleteExportedInvite)
Delete a previously created [chat folder deep link »](https://core.telegram.org/api/links#chat-folder-links).
# chatlists.editExportedInvite (/docs/telegram-api/chatlists/chatlists.editExportedInvite)
Edit a [chat folder deep link »](https://core.telegram.org/api/links#chat-folder-links).
# chatlists.exportChatlistInvite (/docs/telegram-api/chatlists/chatlists.exportChatlistInvite)
Export a [folder »](https://core.telegram.org/api/folders), creating a [chat folder deep link »](https://core.telegram.org/api/links#chat-folder-links).
# chatlists.getChatlistUpdates (/docs/telegram-api/chatlists/chatlists.getChatlistUpdates)
Fetch new chats associated with an imported [chat folder deep link »](https://core.telegram.org/api/links#chat-folder-links). Must be invoked at most every chatlist_update_period seconds (as per the related [client configuration parameter »](https://core.telegram.org/api/config#chatlist-update-period)).
# chatlists.getExportedInvites (/docs/telegram-api/chatlists/chatlists.getExportedInvites)
List all [chat folder deep links »](https://core.telegram.org/api/links#chat-folder-links) associated to a folder
# chatlists.getLeaveChatlistSuggestions (/docs/telegram-api/chatlists/chatlists.getLeaveChatlistSuggestions)
Returns identifiers of pinned or always included chats from a chat folder imported using a [chat folder deep link »](https://core.telegram.org/api/links#chat-folder-links), which are suggested to be left when the chat folder is deleted.
# chatlists.hideChatlistUpdates (/docs/telegram-api/chatlists/chatlists.hideChatlistUpdates)
Dismiss new pending peers recently added to a [chat folder deep link »](https://core.telegram.org/api/links#chat-folder-links).
# chatlists.joinChatlistInvite (/docs/telegram-api/chatlists/chatlists.joinChatlistInvite)
Import a [chat folder deep link »](https://core.telegram.org/api/links#chat-folder-links), joining some or all the chats in the folder.
# chatlists.joinChatlistUpdates (/docs/telegram-api/chatlists/chatlists.joinChatlistUpdates)
Join channels and supergroups recently added to a [chat folder deep link »](https://core.telegram.org/api/links#chat-folder-links).
# chatlists.leaveChatlist (/docs/telegram-api/chatlists/chatlists.leaveChatlist)
Delete a folder imported using a [chat folder deep link »](https://core.telegram.org/api/links#chat-folder-links)
# communities.create (/docs/telegram-api/communities/communities.create)
# communities.getJoinedCommunities (/docs/telegram-api/communities/communities.getJoinedCommunities)
# communities.getParticipantJoinedChats (/docs/telegram-api/communities/communities.getParticipantJoinedChats)
# communities.getPeerLinkRequests (/docs/telegram-api/communities/communities.getPeerLinkRequests)
# communities.toggleAllPeerLinkRequestApproval (/docs/telegram-api/communities/communities.toggleAllPeerLinkRequestApproval)
# communities.toggleCommunityCollapsedInDialogs (/docs/telegram-api/communities/communities.toggleCommunityCollapsedInDialogs)
# communities.toggleParticipantBanned (/docs/telegram-api/communities/communities.toggleParticipantBanned)
# communities.togglePeerLink (/docs/telegram-api/communities/communities.togglePeerLink)
# communities.togglePeerLinkRequestApproval (/docs/telegram-api/communities/communities.togglePeerLinkRequestApproval)
# contacts.acceptContact (/docs/telegram-api/contacts/contacts.acceptContact)
If the [add contact action bar is active](https://core.telegram.org/api/action-bar#add-contact), add that user as contact
# contacts.addContact (/docs/telegram-api/contacts/contacts.addContact)
Add an existing telegram user as contact. Use `contacts.RawImportContactsRequest` to add contacts by phone number, without knowing their Telegram ID.
# contacts.block (/docs/telegram-api/contacts/contacts.block)
Adds a peer to a blocklist, see [here »](https://core.telegram.org/api/block) for more info.
# contacts.blockFromReplies (/docs/telegram-api/contacts/contacts.blockFromReplies)
Stop getting notifications about [discussion replies](https://core.telegram.org/api/discussion) of a certain user in @replies
# contacts.deleteByPhones (/docs/telegram-api/contacts/contacts.deleteByPhones)
Delete contacts by phone number
# contacts.deleteContacts (/docs/telegram-api/contacts/contacts.deleteContacts)
Deletes several contacts from the list.
# contacts.editCloseFriends (/docs/telegram-api/contacts/contacts.editCloseFriends)
Edit the [close friends list, see here »](https://core.telegram.org/api/privacy) for more info.
# contacts.exportContactToken (/docs/telegram-api/contacts/contacts.exportContactToken)
Generates a [temporary profile link](https://core.telegram.org/api/links#temporary-profile-links) for the currently logged-in user.
# contacts.getBirthdays (/docs/telegram-api/contacts/contacts.getBirthdays)
Fetch all users with birthdays that fall within +1/-1 days, relative to the current day: this method should be invoked by clients every 6-8 hours, and if the result is non-empty, it should be used to appropriately update locally cached birthday information in `RawUser`.birthday. [See here »](https://core.telegram.org/api/profile#birthday) for more info.
# contacts.getBlocked (/docs/telegram-api/contacts/contacts.getBlocked)
Returns the list of blocked users.
# contacts.getContactIDs (/docs/telegram-api/contacts/contacts.getContactIDs)
Get the telegram IDs of all contacts. Returns an array of Telegram user IDs for all contacts (0 if a contact does not have an associated Telegram account or have hidden their account using privacy settings).
# contacts.getContacts (/docs/telegram-api/contacts/contacts.getContacts)
Returns the current user's contact list.
# contacts.getLocated (/docs/telegram-api/contacts/contacts.getLocated)
Get users and geochats near you, see [here »](https://core.telegram.org/api/nearby) for more info.
# contacts.getSaved (/docs/telegram-api/contacts/contacts.getSaved)
Get all contacts, requires a [takeout session, see here » for more info](https://core.telegram.org/api/takeout).
# contacts.getSponsoredPeers (/docs/telegram-api/contacts/contacts.getSponsoredPeers)
Obtain a list of sponsored peer search results for a given query
# contacts.getStatuses (/docs/telegram-api/contacts/contacts.getStatuses)
Use this method to obtain the online statuses of all contacts with an accessible Telegram account.
# contacts.getTopPeers (/docs/telegram-api/contacts/contacts.getTopPeers)
Get most used peers
# contacts.importContacts (/docs/telegram-api/contacts/contacts.importContacts)
Imports contacts: saves a full list on the server, adds already registered contacts to the contact list, returns added contacts and their info. Use `contacts.RawAddContactRequest` to add Telegram contacts without actually using their phone number.
# contacts.importContactToken (/docs/telegram-api/contacts/contacts.importContactToken)
Obtain user info from a [temporary profile link](https://core.telegram.org/api/links#temporary-profile-links).
# contacts.resetSaved (/docs/telegram-api/contacts/contacts.resetSaved)
Removes all contacts without an associated Telegram account.
# contacts.resetTopPeerRating (/docs/telegram-api/contacts/contacts.resetTopPeerRating)
Reset [rating](https://core.telegram.org/api/top-rating) of top peer
# contacts.resolvePhone (/docs/telegram-api/contacts/contacts.resolvePhone)
Resolve a phone number to get user info, if their privacy settings allow it. Make sure to implement client-side ratelimiting/debounce for this method, allowing at most 1 call every 3 seconds.
# contacts.resolveUsername (/docs/telegram-api/contacts/contacts.resolveUsername)
Resolve a @username to get peer info
# contacts.search (/docs/telegram-api/contacts/contacts.search)
Returns users found by username substring.
# contacts.setBlocked (/docs/telegram-api/contacts/contacts.setBlocked)
Replace the contents of an entire [blocklist, see here for more info »](https://core.telegram.org/api/block).
# contacts.toggleTopPeers (/docs/telegram-api/contacts/contacts.toggleTopPeers)
Enable/disable [top peers](https://core.telegram.org/api/top-rating)
# contacts.unblock (/docs/telegram-api/contacts/contacts.unblock)
Deletes a peer from a blocklist, see [here »](https://core.telegram.org/api/block) for more info.
# contacts.updateContactNote (/docs/telegram-api/contacts/contacts.updateContactNote)
Update the private note associated to a contact; see [here »](https://core.telegram.org/api/contacts#private-notes-for-contacts) for more info.
# ephemeral.deleteMessage (/docs/telegram-api/ephemeral/ephemeral.deleteMessage)
# ephemeral.editMessage (/docs/telegram-api/ephemeral/ephemeral.editMessage)
# ephemeral.getCallbackAnswer (/docs/telegram-api/ephemeral/ephemeral.getCallbackAnswer)
# ephemeral.reportMessage (/docs/telegram-api/ephemeral/ephemeral.reportMessage)
# ephemeral.sendMessage (/docs/telegram-api/ephemeral/ephemeral.sendMessage)
# folders.editPeerFolders (/docs/telegram-api/folders/folders.editPeerFolders)
Edit peers in [peer folder](https://core.telegram.org/api/folders#peer-folders)
# fragment.getCollectibleInfo (/docs/telegram-api/fragment/fragment.getCollectibleInfo)
Fetch information about a [fragment collectible, see here »](https://core.telegram.org/api/fragment#fetching-info-about-fragment-collectibles) for more info on the full flow.
# help.acceptTermsOfService (/docs/telegram-api/help/help.acceptTermsOfService)
Accept the new terms of service
# help.dismissSuggestion (/docs/telegram-api/help/help.dismissSuggestion)
Dismiss a [suggestion, see here for more info »](https://core.telegram.org/api/config#suggestions).
# help.editUserInfo (/docs/telegram-api/help/help.editUserInfo)
Internal use
# help.getAppConfig (/docs/telegram-api/help/help.getAppConfig)
Get app-specific configuration, see [client configuration](https://core.telegram.org/api/config#client-configuration) for more info on the result.
# help.getAppUpdate (/docs/telegram-api/help/help.getAppUpdate)
Returns information on update availability for the current application.
# help.getCdnConfig (/docs/telegram-api/help/help.getCdnConfig)
Get configuration for [CDN](https://core.telegram.org/cdn) file downloads.
# help.getConfig (/docs/telegram-api/help/help.getConfig)
Returns current configuration, including data center configuration.
# help.getCountriesList (/docs/telegram-api/help/help.getCountriesList)
Get name, ISO code, localized name and phone codes/patterns of all available countries
# help.getDeepLinkInfo (/docs/telegram-api/help/help.getDeepLinkInfo)
Get info about an unsupported deep link, see [here for more info »](https://core.telegram.org/api/links#unsupported-links).
# help.getInviteText (/docs/telegram-api/help/help.getInviteText)
Returns localized text of a text message with an invitation.
# help.getNearestDc (/docs/telegram-api/help/help.getNearestDc)
Returns info on data center nearest to the user.
# help.getPassportConfig (/docs/telegram-api/help/help.getPassportConfig)
Get [passport](https://core.telegram.org/passport) configuration
# help.getPeerColors (/docs/telegram-api/help/help.getPeerColors)
Get the set of [accent color palettes »](https://core.telegram.org/api/colors) that can be used for message accents.
# help.getPeerProfileColors (/docs/telegram-api/help/help.getPeerProfileColors)
Get the set of [accent color palettes »](https://core.telegram.org/api/colors) that can be used in profile page backgrounds.
# help.getPremiumPromo (/docs/telegram-api/help/help.getPremiumPromo)
Get Telegram Premium promotion information
# help.getPromoData (/docs/telegram-api/help/help.getPromoData)
Returns a set of useful suggestions and PSA/MTProxy sponsored peers, see [here »](https://core.telegram.org/api/config#suggestions) for more info.
# help.getRecentMeUrls (/docs/telegram-api/help/help.getRecentMeUrls)
Get recently used t.me links. When installing official applications from "Download Telegram" buttons present in [t.me](https://t.me/) pages, a referral parameter is passed to applications after installation. If, after downloading the application, the user creates a new account (instead of logging into an existing one), the referral parameter should be imported using this method, which returns the [t.me](https://t.me/) pages the user recently opened, before installing Telegram.
# help.getSupport (/docs/telegram-api/help/help.getSupport)
Returns the support user for the "ask a question" feature.
# help.getSupportName (/docs/telegram-api/help/help.getSupportName)
Get localized name of the telegram support user
# help.getTermsOfServiceUpdate (/docs/telegram-api/help/help.getTermsOfServiceUpdate)
Look for updates of telegram's terms of service
# help.getTimezonesList (/docs/telegram-api/help/help.getTimezonesList)
Returns timezone information that may be used elsewhere in the API, such as to set [Telegram Business opening hours »](https://core.telegram.org/api/business#opening-hours).
# help.getUserInfo (/docs/telegram-api/help/help.getUserInfo)
Can only be used by TSF members to obtain internal information.
# help.hidePromoData (/docs/telegram-api/help/help.hidePromoData)
Hide MTProxy/Public Service Announcement information
# help.saveAppLog (/docs/telegram-api/help/help.saveAppLog)
Saves logs of application on the server.
# help.setBotUpdatesStatus (/docs/telegram-api/help/help.setBotUpdatesStatus)
Informs the server about the number of pending bot updates if they haven't been processed for a long time; for bots only
# langpack.getDifference (/docs/telegram-api/langpack/langpack.getDifference)
Get new strings in language pack
# langpack.getLangPack (/docs/telegram-api/langpack/langpack.getLangPack)
Get localization pack strings
# langpack.getLanguage (/docs/telegram-api/langpack/langpack.getLanguage)
Get information about a language in a localization pack
# langpack.getLanguages (/docs/telegram-api/langpack/langpack.getLanguages)
Get information about all languages in a localization pack
# langpack.getStrings (/docs/telegram-api/langpack/langpack.getStrings)
Get strings from a language pack
# messages.acceptEncryption (/docs/telegram-api/messages/messages.acceptEncryption)
Confirms creation of a secret chat
# messages.acceptUrlAuth (/docs/telegram-api/messages/messages.acceptUrlAuth)
Use this to accept a Seamless Telegram Login authorization request, for more info [click here »](https://core.telegram.org/api/url-authorization)
# messages.addChatUser (/docs/telegram-api/messages/messages.addChatUser)
Adds a user to a chat and sends a service message on it.
# messages.addPollAnswer (/docs/telegram-api/messages/messages.addPollAnswer)
Add an answer option to an [open-answer poll »](https://core.telegram.org/api/poll#open-answer-polls)
# messages.appendTodoList (/docs/telegram-api/messages/messages.appendTodoList)
Appends one or more items to a [todo list »](https://core.telegram.org/api/todo).
# messages.checkChatInvite (/docs/telegram-api/messages/messages.checkChatInvite)
Check the validity of a chat invite link and get basic info about it
# messages.checkHistoryImport (/docs/telegram-api/messages/messages.checkHistoryImport)
Obtains information about a chat export file, generated by a foreign chat app, [click here for more info about imported chats »](https://core.telegram.org/api/import).
# messages.checkHistoryImportPeer (/docs/telegram-api/messages/messages.checkHistoryImportPeer)
Check whether chat history exported from another chat app can be [imported into a specific Telegram chat, click here for more info »](https://core.telegram.org/api/import). If the check succeeds, and no RPC errors are returned, a [messages.CheckedHistoryImportPeer](https://core.telegram.org/type/messages.CheckedHistoryImportPeer) constructor will be returned, with a confirmation text to be shown to the user, before actually initializing the import.
# messages.checkQuickReplyShortcut (/docs/telegram-api/messages/messages.checkQuickReplyShortcut)
Before offering the user the choice to add a message to a [quick reply shortcut](https://core.telegram.org/api/business#quick-reply-shortcuts), to make sure that none of the limits specified [here »](https://core.telegram.org/api/business#quick-reply-shortcuts) were reached.
# messages.checkUrlAuthMatchCode (/docs/telegram-api/messages/messages.checkUrlAuthMatchCode)
Validate the match code selected by the user against the code shown on the login page, as part of the [OAuth authorization flow »](https://core.telegram.org/api/url-authorization#oauth-authorization). Only usable when both match_codes and match_codes_first are set in the `RawUrlAuthResultRequest` returned by `messages.RawRequestUrlAuthRequest`. If true is returned, proceed with the login flow and pass the verified code to `messages.RawAcceptUrlAuthRequest`.match_code.
# messages.clearAllDrafts (/docs/telegram-api/messages/messages.clearAllDrafts)
Clear all [drafts](https://core.telegram.org/api/drafts).
# messages.clearRecentReactions (/docs/telegram-api/messages/messages.clearRecentReactions)
Clear recently used [message reactions](https://core.telegram.org/api/reactions)
# messages.clearRecentStickers (/docs/telegram-api/messages/messages.clearRecentStickers)
Clear recent stickers
# messages.clickSponsoredMessage (/docs/telegram-api/messages/messages.clickSponsoredMessage)
Informs the server that the user has interacted with a sponsored message in [one of the ways listed here »](https://core.telegram.org/api/sponsored-messages#clicking-on-sponsored-messages).
# messages.composeMessageWithAI (/docs/telegram-api/messages/messages.composeMessageWithAI)
Invokes telegram's AI Editor that can translate, transform, fixup and/or emojify your message in a number of different ways, privately powered by [Cocoon](https://cocoon.org/), see [here »](https://core.telegram.org/api/ai#compose-messages) for more info! All of the modes specified below can be combined.
# messages.composeRichMessageWithAI (/docs/telegram-api/messages/messages.composeRichMessageWithAI)
# messages.createChat (/docs/telegram-api/messages/messages.createChat)
Creates a new chat.
# messages.createForumTopic (/docs/telegram-api/messages/messages.createForumTopic)
Create a [forum topic](https://core.telegram.org/api/forum).
# messages.declineUrlAuth (/docs/telegram-api/messages/messages.declineUrlAuth)
Decline an incoming [OAuth authorization request »](https://core.telegram.org/api/url-authorization#oauth-authorization), notifying the server that the user refused the login request.
# messages.deleteChat (/docs/telegram-api/messages/messages.deleteChat)
Delete a [chat](https://core.telegram.org/api/channel)
# messages.deleteChatUser (/docs/telegram-api/messages/messages.deleteChatUser)
Deletes a user from a chat and sends a service message on it.
# messages.deleteExportedChatInvite (/docs/telegram-api/messages/messages.deleteExportedChatInvite)
Delete a chat invite
# messages.deleteFactCheck (/docs/telegram-api/messages/messages.deleteFactCheck)
Delete a [fact-check](https://core.telegram.org/api/factcheck) from a message. Can only be used by independent fact-checkers as specified by the [appConfig.can_edit_factcheck](https://core.telegram.org/api/config#can-edit-factcheck) configuration flag.
# messages.deleteHistory (/docs/telegram-api/messages/messages.deleteHistory)
Deletes communication history.
# messages.deleteMessages (/docs/telegram-api/messages/messages.deleteMessages)
Deletes messages by their identifiers.
# messages.deleteParticipantReaction (/docs/telegram-api/messages/messages.deleteParticipantReaction)
As an admin, remove all of a specific participant's [reactions](https://core.telegram.org/api/reactions) from a single message.
# messages.deleteParticipantReactions (/docs/telegram-api/messages/messages.deleteParticipantReactions)
As an admin, remove all of a specific participant's [reactions](https://core.telegram.org/api/reactions) from every message in a group or channel.
# messages.deletePhoneCallHistory (/docs/telegram-api/messages/messages.deletePhoneCallHistory)
Delete the entire phone call history.
# messages.deletePollAnswer (/docs/telegram-api/messages/messages.deletePollAnswer)
Remove an answer option from an [open-answer poll »](https://core.telegram.org/api/poll#open-answer-polls)
# messages.deleteQuickReplyMessages (/docs/telegram-api/messages/messages.deleteQuickReplyMessages)
Delete one or more messages from a [quick reply shortcut](https://core.telegram.org/api/business#quick-reply-shortcuts). This will also emit an `RawUpdateDeleteQuickReplyMessages` update.
# messages.deleteQuickReplyShortcut (/docs/telegram-api/messages/messages.deleteQuickReplyShortcut)
Completely delete a [quick reply shortcut](https://core.telegram.org/api/business#quick-reply-shortcuts). This will also emit an `RawUpdateDeleteQuickReply` update to other logged-in sessions (and no `RawUpdateDeleteQuickReplyMessages` updates, even if all the messages in the shortcuts are also deleted by this method).
# messages.deleteRevokedExportedChatInvites (/docs/telegram-api/messages/messages.deleteRevokedExportedChatInvites)
Delete all revoked chat invites
# messages.deleteSavedHistory (/docs/telegram-api/messages/messages.deleteSavedHistory)
Deletes messages from a [monoforum topic »](https://core.telegram.org/api/monoforum), or deletes messages forwarded from a specific peer to [saved messages »](https://core.telegram.org/api/saved-messages).
# messages.deleteScheduledMessages (/docs/telegram-api/messages/messages.deleteScheduledMessages)
Delete scheduled messages
# messages.deleteTopicHistory (/docs/telegram-api/messages/messages.deleteTopicHistory)
Delete message history of a [forum topic](https://core.telegram.org/api/forum)
# messages.discardEncryption (/docs/telegram-api/messages/messages.discardEncryption)
Cancels a request for creation and/or delete info on secret chat.
# messages.editChatAbout (/docs/telegram-api/messages/messages.editChatAbout)
Edit the description of a [group/supergroup/channel](https://core.telegram.org/api/channel).
# messages.editChatAdmin (/docs/telegram-api/messages/messages.editChatAdmin)
Make a user admin in a [basic group](https://core.telegram.org/api/channel#basic-groups).
# messages.editChatCreator (/docs/telegram-api/messages/messages.editChatCreator)
Transfer the ownership of a basic group, supergroup or channel to another user, see [here »](https://core.telegram.org/api/channel#transferring-ownership-of-a-group-channel) for the full flow.
# messages.editChatDefaultBannedRights (/docs/telegram-api/messages/messages.editChatDefaultBannedRights)
Edit the default banned rights of a [channel/supergroup/group](https://core.telegram.org/api/channel).
# messages.editChatParticipantRank (/docs/telegram-api/messages/messages.editChatParticipantRank)
Edit a group participant's [tag »](https://core.telegram.org/api/rank).
# messages.editChatPhoto (/docs/telegram-api/messages/messages.editChatPhoto)
Changes chat photo and sends a service message on it
# messages.editChatTitle (/docs/telegram-api/messages/messages.editChatTitle)
Changes chat name and sends a service message on it.
# messages.editExportedChatInvite (/docs/telegram-api/messages/messages.editExportedChatInvite)
Edit an exported chat invite
# messages.editFactCheck (/docs/telegram-api/messages/messages.editFactCheck)
Edit/create a [fact-check](https://core.telegram.org/api/factcheck) on a message. Can only be used by independent fact-checkers as specified by the [appConfig.can_edit_factcheck](https://core.telegram.org/api/config#can-edit-factcheck) configuration flag.
# messages.editForumTopic (/docs/telegram-api/messages/messages.editForumTopic)
Edit [forum topic](https://core.telegram.org/api/forum).
# messages.editInlineBotMessage (/docs/telegram-api/messages/messages.editInlineBotMessage)
Edit an inline bot message
# messages.editMessage (/docs/telegram-api/messages/messages.editMessage)
Edit message
# messages.editQuickReplyShortcut (/docs/telegram-api/messages/messages.editQuickReplyShortcut)
Rename a [quick reply shortcut](https://core.telegram.org/api/business#quick-reply-shortcuts). This will emit an `RawUpdateQuickReplies` update to other logged-in sessions.
# messages.exportChatInvite (/docs/telegram-api/messages/messages.exportChatInvite)
Export an invite link for a chat
# messages.faveSticker (/docs/telegram-api/messages/messages.faveSticker)
Mark or unmark a sticker as favorite
# messages.forwardMessages (/docs/telegram-api/messages/messages.forwardMessages)
Forwards messages by their IDs.
# messages.getAdminsWithInvites (/docs/telegram-api/messages/messages.getAdminsWithInvites)
Get info about chat invites generated by admins.
# messages.getAllDrafts (/docs/telegram-api/messages/messages.getAllDrafts)
Return all message [drafts](https://core.telegram.org/api/drafts). Returns all the latest `RawUpdateDraftMessage` updates related to all chats with drafts.
# messages.getAllStickers (/docs/telegram-api/messages/messages.getAllStickers)
Get all installed stickers
# messages.getArchivedStickers (/docs/telegram-api/messages/messages.getArchivedStickers)
Get all archived stickers
# messages.getAttachedStickers (/docs/telegram-api/messages/messages.getAttachedStickers)
Get stickers attached to a photo or video
# messages.getAttachMenuBot (/docs/telegram-api/messages/messages.getAttachMenuBot)
Returns attachment menu entry for a [bot mini app that can be launched from the attachment menu »](https://core.telegram.org/api/bots/attach)
# messages.getAttachMenuBots (/docs/telegram-api/messages/messages.getAttachMenuBots)
Returns installed attachment menu [bot mini apps »](https://core.telegram.org/api/bots/attach)
# messages.getAvailableEffects (/docs/telegram-api/messages/messages.getAvailableEffects)
Fetch the full list of usable [animated message effects »](https://core.telegram.org/api/effects).
# messages.getAvailableReactions (/docs/telegram-api/messages/messages.getAvailableReactions)
Obtain available [message reactions »](https://core.telegram.org/api/reactions)
# messages.getBotApp (/docs/telegram-api/messages/messages.getBotApp)
Obtain information about a [direct link Mini App](https://core.telegram.org/api/bots/webapps#direct-link-mini-apps)
# messages.getBotCallbackAnswer (/docs/telegram-api/messages/messages.getBotCallbackAnswer)
Press an inline callback button and get a callback answer from the bot
# messages.getChatInviteImporters (/docs/telegram-api/messages/messages.getChatInviteImporters)
Get info about the users that joined the chat using a specific chat invite
# messages.getChats (/docs/telegram-api/messages/messages.getChats)
Returns chat basic info on their IDs.
# messages.getCommonChats (/docs/telegram-api/messages/messages.getCommonChats)
Get chats in common with a user
# messages.getCustomEmojiDocuments (/docs/telegram-api/messages/messages.getCustomEmojiDocuments)
Fetch [custom emoji stickers »](https://core.telegram.org/api/custom-emoji). Returns a list of `RawDocument` with the animated custom emoji in TGS format, and a `RawDocumentAttributeCustomEmoji` attribute with the original emoji and info about the emoji stickerset this custom emoji belongs to.
# messages.getDefaultHistoryTTL (/docs/telegram-api/messages/messages.getDefaultHistoryTTL)
Gets the default value of the Time-To-Live setting, applied to all new chats.
# messages.getDefaultTagReactions (/docs/telegram-api/messages/messages.getDefaultTagReactions)
Fetch a default recommended list of [saved message tag reactions](https://core.telegram.org/api/saved-messages#tags).
# messages.getDhConfig (/docs/telegram-api/messages/messages.getDhConfig)
Returns configuration parameters for Diffie-Hellman key generation. Can also return a random sequence of bytes of required length.
# messages.getDialogFilters (/docs/telegram-api/messages/messages.getDialogFilters)
Get [folders](https://core.telegram.org/api/folders)
# messages.getDialogs (/docs/telegram-api/messages/messages.getDialogs)
Returns the current user dialog list.
# messages.getDialogUnreadMarks (/docs/telegram-api/messages/messages.getDialogUnreadMarks)
Get dialogs manually marked as unread
# messages.getDiscussionMessage (/docs/telegram-api/messages/messages.getDiscussionMessage)
Get [discussion message](https://core.telegram.org/api/threads) from the [associated discussion group](https://core.telegram.org/api/discussion) of a channel to show it on top of the comment section, without actually joining the group
# messages.getDocumentByHash (/docs/telegram-api/messages/messages.getDocumentByHash)
Get a document by its SHA256 hash, mainly used for gifs
# messages.getEmojiGameInfo (/docs/telegram-api/messages/messages.getEmojiGameInfo)
Fetch dice game information.
# messages.getEmojiGroups (/docs/telegram-api/messages/messages.getEmojiGroups)
Represents a list of [emoji categories](https://core.telegram.org/api/emoji-categories).
# messages.getEmojiKeywords (/docs/telegram-api/messages/messages.getEmojiKeywords)
Get localized [emoji keywords »](https://core.telegram.org/api/custom-emoji#emoji-keywords).
# messages.getEmojiKeywordsDifference (/docs/telegram-api/messages/messages.getEmojiKeywordsDifference)
Get changed [emoji keywords »](https://core.telegram.org/api/custom-emoji#emoji-keywords).
# messages.getEmojiKeywordsLanguages (/docs/telegram-api/messages/messages.getEmojiKeywordsLanguages)
Obtain a list of related languages that must be used when fetching [emoji keyword lists »](https://core.telegram.org/api/custom-emoji#emoji-keywords). Usually the method will return the passed language codes (if localized) + en + some language codes for similar languages (if applicable).
# messages.getEmojiProfilePhotoGroups (/docs/telegram-api/messages/messages.getEmojiProfilePhotoGroups)
Represents a list of [emoji categories](https://core.telegram.org/api/emoji-categories), to be used when selecting custom emojis to set as [profile picture](https://core.telegram.org/api/files#sticker-profile-pictures).
# messages.getEmojiStatusGroups (/docs/telegram-api/messages/messages.getEmojiStatusGroups)
Represents a list of [emoji categories](https://core.telegram.org/api/emoji-categories), to be used when selecting custom emojis to set as [custom emoji status](https://core.telegram.org/api).
# messages.getEmojiStickerGroups (/docs/telegram-api/messages/messages.getEmojiStickerGroups)
Represents a list of [emoji categories](https://core.telegram.org/api/emoji-categories), to be used when choosing a sticker.
# messages.getEmojiStickers (/docs/telegram-api/messages/messages.getEmojiStickers)
Gets the list of currently installed [custom emoji stickersets](https://core.telegram.org/api/custom-emoji).
# messages.getEmojiURL (/docs/telegram-api/messages/messages.getEmojiURL)
Returns an HTTP URL which can be used to automatically log in into translation platform and suggest new [emoji keywords »](https://core.telegram.org/api/custom-emoji#emoji-keywords). The URL will be valid for 30 seconds after generation.
# messages.getExportedChatInvite (/docs/telegram-api/messages/messages.getExportedChatInvite)
Get info about a chat invite
# messages.getExportedChatInvites (/docs/telegram-api/messages/messages.getExportedChatInvites)
Get info about the chat invites of a specific chat
# messages.getExtendedMedia (/docs/telegram-api/messages/messages.getExtendedMedia)
Fetch updated information about [paid media, see here »](https://core.telegram.org/api/paid-media) for the full flow. This method will return an array of `RawUpdateMessageExtendedMedia` updates, only for messages containing already bought paid media. No information will be returned for messages containing not yet bought paid media.
# messages.getFactCheck (/docs/telegram-api/messages/messages.getFactCheck)
Fetch one or more [factchecks, see here »](https://core.telegram.org/api/factcheck) for the full flow.
# messages.getFavedStickers (/docs/telegram-api/messages/messages.getFavedStickers)
Get faved stickers
# messages.getFeaturedEmojiStickers (/docs/telegram-api/messages/messages.getFeaturedEmojiStickers)
Gets featured custom emoji stickersets.
# messages.getFeaturedStickers (/docs/telegram-api/messages/messages.getFeaturedStickers)
Get featured stickers
# messages.getForumTopics (/docs/telegram-api/messages/messages.getForumTopics)
Get [topics of a forum](https://core.telegram.org/api/forum)
# messages.getForumTopicsByID (/docs/telegram-api/messages/messages.getForumTopicsByID)
Get forum topics by their ID
# messages.getFullChat (/docs/telegram-api/messages/messages.getFullChat)
Get full info about a [basic group](https://core.telegram.org/api/channel#basic-groups).
# messages.getFutureChatCreatorAfterLeave (/docs/telegram-api/messages/messages.getFutureChatCreatorAfterLeave)
Group/channel owners only: returns the ID of the user that will become the new owner of the group if we decide to leave the group, see [here »](https://core.telegram.org/api/channel#leaving-groups-channels) for more info on the full flow.
# messages.getGameHighScores (/docs/telegram-api/messages/messages.getGameHighScores)
Get highscores of a game
# messages.getHistory (/docs/telegram-api/messages/messages.getHistory)
Returns the message history in a peer. Results are ordered by date (descending).
# messages.getInlineBotResults (/docs/telegram-api/messages/messages.getInlineBotResults)
Query an inline bot
# messages.getInlineGameHighScores (/docs/telegram-api/messages/messages.getInlineGameHighScores)
Get highscores of a game sent using an inline bot
# messages.getMaskStickers (/docs/telegram-api/messages/messages.getMaskStickers)
Get installed mask stickers
# messages.getMessageEditData (/docs/telegram-api/messages/messages.getMessageEditData)
Find out if a media message's caption can be edited
# messages.getMessageReactionsList (/docs/telegram-api/messages/messages.getMessageReactionsList)
Get [message reaction](https://core.telegram.org/api/reactions) list, along with the sender of each reaction.
# messages.getMessageReadParticipants (/docs/telegram-api/messages/messages.getMessageReadParticipants)
Get which users read a specific message: only available for groups and supergroups with less than [chat_read_mark_size_threshold members](https://core.telegram.org/api/config#chat-read-mark-size-threshold), read receipts will be stored for [chat_read_mark_expire_period seconds after the message was sent](https://core.telegram.org/api/config#chat-read-mark-expire-period), see [client configuration for more info »](https://core.telegram.org/api/config#client-configuration).
# messages.getMessages (/docs/telegram-api/messages/messages.getMessages)
Returns the list of messages by their IDs.
# messages.getMessagesReactions (/docs/telegram-api/messages/messages.getMessagesReactions)
Get [message reactions »](https://core.telegram.org/api/reactions)
# messages.getMessagesViews (/docs/telegram-api/messages/messages.getMessagesViews)
Get and increase the view counter of a message sent or forwarded from a [channel](https://core.telegram.org/api/channel)
# messages.getMyStickers (/docs/telegram-api/messages/messages.getMyStickers)
Fetch all [stickersets »](https://core.telegram.org/api/stickers) owned by the current user.
# messages.getOldFeaturedStickers (/docs/telegram-api/messages/messages.getOldFeaturedStickers)
Method for fetching previously featured stickers
# messages.getOnlines (/docs/telegram-api/messages/messages.getOnlines)
Get count of online users in a chat
# messages.getOutboxReadDate (/docs/telegram-api/messages/messages.getOutboxReadDate)
Get the exact read date of one of our messages, sent to a private chat with another user. Can be only done for private outgoing messages not older than [appConfig.pm_read_date_expire_period »](https://core.telegram.org/api/config#pm-read-date-expire-period). If the peer's `RawUserFull`.read_dates_private flag is set, we will not be able to fetch the exact read date of messages we send to them, and a USER_PRIVACY_RESTRICTED RPC error will be emitted. The exact read date of messages might still be unavailable for other reasons, see `RawGlobalPrivacySettings` for more info. To set `RawUserFull`.read_dates_private for ourselves invoke `account.RawSetGlobalPrivacySettingsRequest`, setting the settings.hide_read_marks flag.
# messages.getPaidReactionPrivacy (/docs/telegram-api/messages/messages.getPaidReactionPrivacy)
Fetches an `RawUpdatePaidReactionPrivacy` update with the current [default paid reaction privacy, see here »](https://core.telegram.org/api/reactions#paid-reactions) for more info.
# messages.getPeerDialogs (/docs/telegram-api/messages/messages.getPeerDialogs)
Get dialog info of specified peers
# messages.getPeerSettings (/docs/telegram-api/messages/messages.getPeerSettings)
Get peer settings
# messages.getPersonalChannelHistory (/docs/telegram-api/messages/messages.getPersonalChannelHistory)
Fetch the message history of a user's [personal channel »](https://core.telegram.org/api/profile#personal-channel).
# messages.getPinnedDialogs (/docs/telegram-api/messages/messages.getPinnedDialogs)
Get pinned dialogs
# messages.getPinnedSavedDialogs (/docs/telegram-api/messages/messages.getPinnedSavedDialogs)
Get pinned [saved dialogs, see here »](https://core.telegram.org/api/saved-messages) for more info.
# messages.getPollResults (/docs/telegram-api/messages/messages.getPollResults)
Get poll results
# messages.getPollVotes (/docs/telegram-api/messages/messages.getPollVotes)
Get poll results for non-anonymous polls
# messages.getPreparedInlineMessage (/docs/telegram-api/messages/messages.getPreparedInlineMessage)
Obtain a [prepared inline message](https://core.telegram.org/api/bots/inline#21-using-a-prepared-inline-message) generated by a [mini app](https://core.telegram.org/api/bots/webapps): invoked when handling [web_app_send_prepared_message events](https://core.telegram.org/api/web-events#web-app-send-prepared-message)
# messages.getQuickReplies (/docs/telegram-api/messages/messages.getQuickReplies)
Fetch basic info about all existing [quick reply shortcuts](https://core.telegram.org/api/business#quick-reply-shortcuts).
# messages.getQuickReplyMessages (/docs/telegram-api/messages/messages.getQuickReplyMessages)
Fetch (a subset or all) messages in a [quick reply shortcut »](https://core.telegram.org/api/business#quick-reply-shortcuts).
# messages.getRecentLocations (/docs/telegram-api/messages/messages.getRecentLocations)
Get all recent [live locations](https://core.telegram.org/api/live-location) sent to a specific chat: returns up to 1 location message (`RawMessageMediaGeoLive`) per chat participant.
# messages.getRecentReactions (/docs/telegram-api/messages/messages.getRecentReactions)
Get recently used [message reactions](https://core.telegram.org/api/reactions)
# messages.getRecentStickers (/docs/telegram-api/messages/messages.getRecentStickers)
Get recent stickers
# messages.getReplies (/docs/telegram-api/messages/messages.getReplies)
Get messages in a reply thread
# messages.getRichMessage (/docs/telegram-api/messages/messages.getRichMessage)
# messages.getSavedDialogs (/docs/telegram-api/messages/messages.getSavedDialogs)
Returns the current [saved dialog list »](https://core.telegram.org/api/saved-messages) or [monoforum topic list »](https://core.telegram.org/api/monoforum).
# messages.getSavedDialogsByID (/docs/telegram-api/messages/messages.getSavedDialogsByID)
Obtain information about specific [saved message dialogs »](https://core.telegram.org/api/saved-messages#saved-message-dialogs) or [monoforum topics »](https://core.telegram.org/api/monoforum).
# messages.getSavedGifs (/docs/telegram-api/messages/messages.getSavedGifs)
Get saved GIFs.
# messages.getSavedHistory (/docs/telegram-api/messages/messages.getSavedHistory)
Fetch [saved messages »](https://core.telegram.org/api/saved-messages) forwarded from a specific peer, or fetch messages from a [monoforum topic »](https://core.telegram.org/api/monoforum).
# messages.getSavedReactionTags (/docs/telegram-api/messages/messages.getSavedReactionTags)
Fetch the full list of [saved message tags](https://core.telegram.org/api/saved-messages#tags) created by the user.
# messages.getScheduledHistory (/docs/telegram-api/messages/messages.getScheduledHistory)
Get scheduled messages
# messages.getScheduledMessages (/docs/telegram-api/messages/messages.getScheduledMessages)
Get scheduled messages
# messages.getSearchCounters (/docs/telegram-api/messages/messages.getSearchCounters)
Get the number of results that would be found by a `messages.RawSearchRequest` call with the same parameters
# messages.getSearchResultsCalendar (/docs/telegram-api/messages/messages.getSearchResultsCalendar)
Returns information about the next messages of the specified type in the chat split by days. Returns the results in reverse chronological order. Can return partial results for the last returned day.
# messages.getSearchResultsPositions (/docs/telegram-api/messages/messages.getSearchResultsPositions)
Returns sparse positions of messages of the specified type in the chat to be used for shared media scroll implementation. Returns the results in reverse chronological order (i.e., in order of decreasing message_id).
# messages.getSplitRanges (/docs/telegram-api/messages/messages.getSplitRanges)
Get message ranges for saving the user's chat history
# messages.getSponsoredMessages (/docs/telegram-api/messages/messages.getSponsoredMessages)
Get a list of [sponsored messages for a peer, see here »](https://core.telegram.org/api/sponsored-messages) for more info.
# messages.getStickers (/docs/telegram-api/messages/messages.getStickers)
Get stickers by emoji
# messages.getStickerSet (/docs/telegram-api/messages/messages.getStickerSet)
Get info about a stickerset
# messages.getSuggestedDialogFilters (/docs/telegram-api/messages/messages.getSuggestedDialogFilters)
Get [suggested folders](https://core.telegram.org/api/folders)
# messages.getTopReactions (/docs/telegram-api/messages/messages.getTopReactions)
Got popular [message reactions](https://core.telegram.org/api/reactions)
# messages.getUnreadMentions (/docs/telegram-api/messages/messages.getUnreadMentions)
Get unread messages where we were mentioned
# messages.getUnreadPollVotes (/docs/telegram-api/messages/messages.getUnreadPollVotes)
Get messages containing polls with [unread votes »](https://core.telegram.org/api/poll#unread-poll-votes)
# messages.getUnreadReactions (/docs/telegram-api/messages/messages.getUnreadReactions)
Get unread reactions to messages you sent
# messages.getWebPage (/docs/telegram-api/messages/messages.getWebPage)
Get [instant view](https://instantview.telegram.org/) page
# messages.getWebPagePreview (/docs/telegram-api/messages/messages.getWebPagePreview)
Get preview of webpage
# messages.hideAllChatJoinRequests (/docs/telegram-api/messages/messages.hideAllChatJoinRequests)
Dismiss or approve all [join requests](https://core.telegram.org/api/invites#join-requests) related to a specific chat or channel.
# messages.hideChatJoinRequest (/docs/telegram-api/messages/messages.hideChatJoinRequest)
Dismiss or approve a chat [join request](https://core.telegram.org/api/invites#join-requests) related to a specific chat or channel.
# messages.hidePeerSettingsBar (/docs/telegram-api/messages/messages.hidePeerSettingsBar)
Should be called after the user hides the [report spam/add as contact bar](https://core.telegram.org/api/action-bar) of a new chat, effectively prevents the user from executing the actions specified in the [action bar »](https://core.telegram.org/api/action-bar).
# messages.importChatInvite (/docs/telegram-api/messages/messages.importChatInvite)
Import a chat invite and join a private chat/supergroup/channel
# messages.installStickerSet (/docs/telegram-api/messages/messages.installStickerSet)
Install a stickerset
# messages.markDialogUnread (/docs/telegram-api/messages/messages.markDialogUnread)
Manually mark dialog as unread
# messages.migrateChat (/docs/telegram-api/messages/messages.migrateChat)
Turn a [basic group into a supergroup](https://core.telegram.org/api/channel#migration)
# messages.prolongWebView (/docs/telegram-api/messages/messages.prolongWebView)
Indicate to the server (from the user side) that the user is still using a web app. If the method returns a QUERY_ID_INVALID error, the webview must be closed.
# messages.rateTranscribedAudio (/docs/telegram-api/messages/messages.rateTranscribedAudio)
Rate [transcribed voice message](https://core.telegram.org/api/transcribe)
# messages.readDiscussion (/docs/telegram-api/messages/messages.readDiscussion)
Mark a [thread](https://core.telegram.org/api/threads) as read
# messages.readEncryptedHistory (/docs/telegram-api/messages/messages.readEncryptedHistory)
Marks message history within a secret chat as read.
# messages.readFeaturedStickers (/docs/telegram-api/messages/messages.readFeaturedStickers)
Mark new featured stickers as read
# messages.readHistory (/docs/telegram-api/messages/messages.readHistory)
Marks message history as read.
# messages.readMentions (/docs/telegram-api/messages/messages.readMentions)
Mark mentions as read; can be used in [forums](https://core.telegram.org/api/forum) but cannot be used in [monoforums](https://core.telegram.org/api/monoforum).
# messages.readMessageContents (/docs/telegram-api/messages/messages.readMessageContents)
Notifies the sender about the recipient having listened a voice message or watched a video, emitting an `RawUpdateReadMessagesContents`.
# messages.readPollVotes (/docs/telegram-api/messages/messages.readPollVotes)
Mark all [unread poll votes »](https://core.telegram.org/api/poll#unread-poll-votes) in a chat as read
# messages.readReactions (/docs/telegram-api/messages/messages.readReactions)
Mark [message reactions »](https://core.telegram.org/api/reactions) as read
# messages.readSavedHistory (/docs/telegram-api/messages/messages.readSavedHistory)
Mark messages as read in a [monoforum topic »](https://core.telegram.org/api/monoforum).
# messages.receivedMessages (/docs/telegram-api/messages/messages.receivedMessages)
Confirms receipt of messages by a client, cancels PUSH-notification sending.
# messages.receivedQueue (/docs/telegram-api/messages/messages.receivedQueue)
Confirms receipt of messages in a secret chat by client, cancels push notifications. The method returns a list of random_ids of messages for which push notifications were cancelled.
# messages.reorderPinnedDialogs (/docs/telegram-api/messages/messages.reorderPinnedDialogs)
Reorder pinned dialogs
# messages.reorderPinnedForumTopics (/docs/telegram-api/messages/messages.reorderPinnedForumTopics)
Reorder pinned forum topics
# messages.reorderPinnedSavedDialogs (/docs/telegram-api/messages/messages.reorderPinnedSavedDialogs)
Reorder pinned [saved message dialogs »](https://core.telegram.org/api/saved-messages).
# messages.reorderQuickReplies (/docs/telegram-api/messages/messages.reorderQuickReplies)
Reorder [quick reply shortcuts](https://core.telegram.org/api/business#quick-reply-shortcuts). This will emit an `RawUpdateQuickReplies` update to other logged-in sessions.
# messages.reorderStickerSets (/docs/telegram-api/messages/messages.reorderStickerSets)
Reorder installed stickersets
# messages.report (/docs/telegram-api/messages/messages.report)
Report a message in a chat for violation of telegram's Terms of Service
# messages.reportEncryptedSpam (/docs/telegram-api/messages/messages.reportEncryptedSpam)
Report a secret chat for spam
# messages.reportMessagesDelivery (/docs/telegram-api/messages/messages.reportMessagesDelivery)
Used for [Telegram Gateway verification messages »](https://telegram.org/blog/star-messages-gateway-2-0-and-more#save-even-more-on-user-verification): indicate to the server that one or more `RawMessage`s were received by the client, if requested by the `RawMessage`.report_delivery_until_date flag or the equivalent flag in [push notifications](https://core.telegram.org/api/push-updates).
# messages.reportMusicListen (/docs/telegram-api/messages/messages.reportMusicListen)
Report the listening duration of a music track (audio document without the voice flag), see [here »](https://core.telegram.org/api/views#music-listens) for more info on the full flow.
# messages.reportReaction (/docs/telegram-api/messages/messages.reportReaction)
Report a [message reaction](https://core.telegram.org/api/reactions)
# messages.reportReadMetrics (/docs/telegram-api/messages/messages.reportReadMetrics)
Report viewport read metrics for visible messages, indicating how long each message stayed in the chat viewport, see [here »](https://core.telegram.org/api/views#read-metrics) for more info on the full flow.
# messages.reportSpam (/docs/telegram-api/messages/messages.reportSpam)
Report a new incoming chat for spam, if the `RawPeerSettings` of the chat allow us to do that
# messages.reportSponsoredMessage (/docs/telegram-api/messages/messages.reportSponsoredMessage)
Report a [sponsored message »](https://core.telegram.org/api/sponsored-messages), see [here »](https://core.telegram.org/api/sponsored-messages#reporting-sponsored-messages) for more info on the full flow.
# messages.requestAppWebView (/docs/telegram-api/messages/messages.requestAppWebView)
Open a [bot mini app](https://core.telegram.org/bots/webapps) from a [direct Mini App deep link](https://core.telegram.org/api/links#direct-mini-app-links), sending over user information after user confirmation. After calling this method, until the user closes the webview, `messages.RawProlongWebViewRequest` must be called every 60 seconds.
# messages.requestChatJoinWebView (/docs/telegram-api/messages/messages.requestChatJoinWebView)
# messages.requestEncryption (/docs/telegram-api/messages/messages.requestEncryption)
Sends a request to start a secret chat to the user.
# messages.requestMainWebView (/docs/telegram-api/messages/messages.requestMainWebView)
Open a [Main Mini App](https://core.telegram.org/api/bots/webapps#main-mini-apps).
# messages.requestSimpleWebView (/docs/telegram-api/messages/messages.requestSimpleWebView)
Open a [bot mini app](https://core.telegram.org/api/bots/webapps).
# messages.requestUrlAuth (/docs/telegram-api/messages/messages.requestUrlAuth)
Get more info about a Seamless Telegram Login authorization request, for more info [click here »](https://core.telegram.org/api/url-authorization)
# messages.requestWebView (/docs/telegram-api/messages/messages.requestWebView)
Open a [bot mini app](https://core.telegram.org/bots/webapps), sending over user information after user confirmation. After calling this method, until the user closes the webview, `messages.RawProlongWebViewRequest` must be called every 60 seconds.
# messages.saveDefaultSendAs (/docs/telegram-api/messages/messages.saveDefaultSendAs)
Change the default peer that should be used when sending messages, reactions, poll votes to a specific group
# messages.saveDraft (/docs/telegram-api/messages/messages.saveDraft)
Save a message [draft](https://core.telegram.org/api/drafts) associated to a chat.
# messages.saveGif (/docs/telegram-api/messages/messages.saveGif)
Add GIF to saved gifs list
# messages.savePreparedInlineMessage (/docs/telegram-api/messages/messages.savePreparedInlineMessage)
Save a [prepared inline message](https://core.telegram.org/api/bots/inline#21-using-a-prepared-inline-message), to be shared by the user of the mini app using a [web_app_send_prepared_message event](https://core.telegram.org/api/web-events#web-app-send-prepared-message)
# messages.saveRecentSticker (/docs/telegram-api/messages/messages.saveRecentSticker)
Add/remove sticker from recent stickers list
# messages.search (/docs/telegram-api/messages/messages.search)
Search for messages.
# messages.searchCustomEmoji (/docs/telegram-api/messages/messages.searchCustomEmoji)
Look for [custom emojis](https://core.telegram.org/api/custom-emoji) associated to a UTF8 emoji
# messages.searchEmojiStickerSets (/docs/telegram-api/messages/messages.searchEmojiStickerSets)
Search for [custom emoji stickersets »](https://core.telegram.org/api/custom-emoji)
# messages.searchGlobal (/docs/telegram-api/messages/messages.searchGlobal)
Search for messages and peers globally
# messages.searchSentMedia (/docs/telegram-api/messages/messages.searchSentMedia)
View and search recently sent media. This method does not support pagination.
# messages.searchStickers (/docs/telegram-api/messages/messages.searchStickers)
Search for stickers using AI-powered keyword search
# messages.searchStickerSets (/docs/telegram-api/messages/messages.searchStickerSets)
Search for stickersets
# messages.sendBotRequestedPeer (/docs/telegram-api/messages/messages.sendBotRequestedPeer)
Send one or more chosen peers, as requested by a `RawKeyboardButtonRequestPeer` button.
# messages.sendEncrypted (/docs/telegram-api/messages/messages.sendEncrypted)
Sends a text message to a secret chat.
# messages.sendEncryptedService (/docs/telegram-api/messages/messages.sendEncryptedService)
Sends a service message to a secret chat.
# messages.sendInlineBotResult (/docs/telegram-api/messages/messages.sendInlineBotResult)
Send a result obtained using `messages.RawGetInlineBotResultsRequest`.
# messages.sendMedia (/docs/telegram-api/messages/messages.sendMedia)
Send a media
# messages.sendMessage (/docs/telegram-api/messages/messages.sendMessage)
Sends a message to a chat
# messages.sendMultiMedia (/docs/telegram-api/messages/messages.sendMultiMedia)
Send an [album or grouped media](https://core.telegram.org/api/files#albums-grouped-media)
# messages.sendPaidReaction (/docs/telegram-api/messages/messages.sendPaidReaction)
Sends one or more [paid Telegram Star reactions »](https://core.telegram.org/api/reactions#paid-reactions), transferring [Telegram Stars »](https://core.telegram.org/api/stars) to a channel's balance.
# messages.sendQuickReplyMessages (/docs/telegram-api/messages/messages.sendQuickReplyMessages)
Send a [quick reply shortcut »](https://core.telegram.org/api/business#quick-reply-shortcuts).
# messages.sendReaction (/docs/telegram-api/messages/messages.sendReaction)
React to message. Starting from layer 159, the reaction will be sent from the peer specified using `messages.RawSaveDefaultSendAsRequest`.
# messages.sendScheduledMessages (/docs/telegram-api/messages/messages.sendScheduledMessages)
Send scheduled messages right away
# messages.sendScreenshotNotification (/docs/telegram-api/messages/messages.sendScreenshotNotification)
Notify the other user in a private chat that a screenshot of the chat was taken
# messages.sendVote (/docs/telegram-api/messages/messages.sendVote)
Vote in a `RawPoll` Starting from layer 159, the vote will be sent from the peer specified using `messages.RawSaveDefaultSendAsRequest`. Before voting, clients should check that the user is actually allowed to vote: voting is not possible if the poll is closed, if it is [subscriber-only »](https://core.telegram.org/api/poll#subscriber-only-polls) and the user is not an eligible subscriber, or if it is [country-restricted »](https://core.telegram.org/api/poll#country-restricted-polls) and the user's [phone_country_iso2 »](https://core.telegram.org/api/config#phone-country-iso2) is not in the poll's allowed country list. See [vote restrictions »](https://core.telegram.org/api/poll#vote-restrictions) for the full list of conditions.
# messages.sendWebViewData (/docs/telegram-api/messages/messages.sendWebViewData)
Used by the user to relay data from an opened [reply keyboard bot mini app](https://core.telegram.org/api/bots/webapps) to the bot that owns it.
# messages.sendWebViewResultMessage (/docs/telegram-api/messages/messages.sendWebViewResultMessage)
Terminate webview interaction started with `messages.RawRequestWebViewRequest`, sending the specified message to the chat on behalf of the user.
# messages.setBotCallbackAnswer (/docs/telegram-api/messages/messages.setBotCallbackAnswer)
Set the callback answer to a user button press (bots only)
# messages.setBotGuestChatResult (/docs/telegram-api/messages/messages.setBotGuestChatResult)
Bots may use this method to answer a [guest mode »](https://core.telegram.org/api/bots/guest-mode) query received via an `RawUpdateBotGuestChatQuery` update, providing the message to post into the chat as a guest, see [here »](https://core.telegram.org/api/bots/guest-mode#handling-guest-queries-bot-side) for more info.
# messages.setBotPrecheckoutResults (/docs/telegram-api/messages/messages.setBotPrecheckoutResults)
Once the user has confirmed their payment and shipping details, the bot receives an `RawUpdateBotPrecheckoutQuery` update. Use this method to respond to such pre-checkout queries. Note: Telegram must receive an answer within 10 seconds after the pre-checkout query was sent.
# messages.setBotShippingResults (/docs/telegram-api/messages/messages.setBotShippingResults)
If you sent an invoice requesting a shipping address and the parameter is_flexible was specified, the bot will receive an `RawUpdateBotShippingQuery` update. Use this method to reply to shipping queries.
# messages.setChatAvailableReactions (/docs/telegram-api/messages/messages.setChatAvailableReactions)
Change the set of [message reactions »](https://core.telegram.org/api/reactions) that can be used in a certain group, supergroup or channel
# messages.setChatTheme (/docs/telegram-api/messages/messages.setChatTheme)
Change the chat theme of a certain chat, see [here »](https://core.telegram.org/api/themes#chat-themes) for more info.
# messages.setChatWallPaper (/docs/telegram-api/messages/messages.setChatWallPaper)
Set a custom [wallpaper »](https://core.telegram.org/api/wallpapers) in a specific private chat with another user.
# messages.setDefaultHistoryTTL (/docs/telegram-api/messages/messages.setDefaultHistoryTTL)
Changes the default value of the Time-To-Live setting, applied to all new chats.
# messages.setDefaultReaction (/docs/telegram-api/messages/messages.setDefaultReaction)
Change default emoji reaction to use in the quick reaction menu: the value is synced across devices and can be fetched using `help.RawGetConfigRequest`.
# messages.setEncryptedTyping (/docs/telegram-api/messages/messages.setEncryptedTyping)
Send typing event by the current user to a secret chat.
# messages.setGameScore (/docs/telegram-api/messages/messages.setGameScore)
Use this method to set the score of the specified user in a game sent as a normal message (bots only).
# messages.setHistoryTTL (/docs/telegram-api/messages/messages.setHistoryTTL)
Set maximum Time-To-Live of all messages in the specified chat
# messages.setInlineBotResults (/docs/telegram-api/messages/messages.setInlineBotResults)
Answer an inline query, for bots only
# messages.setInlineGameScore (/docs/telegram-api/messages/messages.setInlineGameScore)
Use this method to set the score of the specified user in a game sent as an inline message (bots only).
# messages.setTyping (/docs/telegram-api/messages/messages.setTyping)
Sends a current user typing event (see [SendMessageAction](https://core.telegram.org/type/SendMessageAction) for all event types) to a conversation partner or group.
# messages.startBot (/docs/telegram-api/messages/messages.startBot)
Start a conversation with a bot using a [deep linking parameter](https://core.telegram.org/api/links#bot-links)
# messages.startHistoryImport (/docs/telegram-api/messages/messages.startHistoryImport)
Complete the [history import process](https://core.telegram.org/api/import), importing all messages into the chat. To be called only after initializing the import with `messages.RawInitHistoryImportRequest` and uploading all files using `messages.RawUploadImportedMediaRequest`.
# messages.summarizeText (/docs/telegram-api/messages/messages.summarizeText)
Summarize the contents of a message with AI, see [here »](https://core.telegram.org/api/ai#summarize-messages) for more info. Clients should use `RawMessage`.summary_from_language as a hint for showing a summarization button; its absence does not forbid invoking this method.
# messages.toggleBotInAttachMenu (/docs/telegram-api/messages/messages.toggleBotInAttachMenu)
Enable or disable [web bot attachment menu »](https://core.telegram.org/api/bots/attach)
# messages.toggleDialogFilterTags (/docs/telegram-api/messages/messages.toggleDialogFilterTags)
Enable or disable [folder tags »](https://core.telegram.org/api/folders#folder-tags).
# messages.toggleDialogPin (/docs/telegram-api/messages/messages.toggleDialogPin)
Pin/unpin a dialog
# messages.toggleNoForwards (/docs/telegram-api/messages/messages.toggleNoForwards)
Enable or disable [content protection](https://core.telegram.org/api/content-protection) on a channel, group or private chat.
# messages.togglePaidReactionPrivacy (/docs/telegram-api/messages/messages.togglePaidReactionPrivacy)
Changes the privacy of already sent [paid reactions](https://core.telegram.org/api/reactions#paid-reactions) on a specific message.
# messages.togglePeerTranslations (/docs/telegram-api/messages/messages.togglePeerTranslations)
Show or hide the [real-time chat translation popup](https://core.telegram.org/api/translation) for a certain chat
# messages.toggleSavedDialogPin (/docs/telegram-api/messages/messages.toggleSavedDialogPin)
Pin or unpin a [saved message dialog »](https://core.telegram.org/api/saved-messages).
# messages.toggleStickerSets (/docs/telegram-api/messages/messages.toggleStickerSets)
Apply changes to multiple stickersets
# messages.toggleSuggestedPostApproval (/docs/telegram-api/messages/messages.toggleSuggestedPostApproval)
Approve or reject a [suggested post »](https://core.telegram.org/api/suggested-posts).
# messages.toggleTodoCompleted (/docs/telegram-api/messages/messages.toggleTodoCompleted)
Mark one or more items of a [todo list »](https://core.telegram.org/api/todo) as completed or not completed.
# messages.transcribeAudio (/docs/telegram-api/messages/messages.transcribeAudio)
[Transcribe voice message](https://core.telegram.org/api/transcribe)
# messages.translateRichMessage (/docs/telegram-api/messages/messages.translateRichMessage)
# messages.translateText (/docs/telegram-api/messages/messages.translateText)
Translate a given text. [Styled text entities](https://core.telegram.org/api/entities) will only be preserved for [Telegram Premium](https://core.telegram.org/api/premium) users.
# messages.uninstallStickerSet (/docs/telegram-api/messages/messages.uninstallStickerSet)
Uninstall a stickerset
# messages.unpinAllMessages (/docs/telegram-api/messages/messages.unpinAllMessages)
[Unpin](https://core.telegram.org/api/pin) all pinned messages
# messages.updateDialogFilter (/docs/telegram-api/messages/messages.updateDialogFilter)
Update [folder](https://core.telegram.org/api/folders)
# messages.updateDialogFiltersOrder (/docs/telegram-api/messages/messages.updateDialogFiltersOrder)
Reorder [folders](https://core.telegram.org/api/folders)
# messages.updatePinnedForumTopic (/docs/telegram-api/messages/messages.updatePinnedForumTopic)
Pin or unpin [forum topics](https://core.telegram.org/api/forum)
# messages.updatePinnedMessage (/docs/telegram-api/messages/messages.updatePinnedMessage)
Pin a message
# messages.updateSavedReactionTag (/docs/telegram-api/messages/messages.updateSavedReactionTag)
Update the [description of a saved message tag »](https://core.telegram.org/api/saved-messages#tags).
# messages.uploadImportedMedia (/docs/telegram-api/messages/messages.uploadImportedMedia)
Upload a media file associated with an [imported chat, click here for more info »](https://core.telegram.org/api/import).
# messages.uploadMedia (/docs/telegram-api/messages/messages.uploadMedia)
Upload a file and associate it to a chat (without actually sending it to the chat) May also be used in a [business connection](https://core.telegram.org/api/bots/connected-business-bots), not by wrapping the query in `RawInvokeWithBusinessConnectionRequest`, but rather by specifying the business connection ID in the business_connection_id parameter.
# messages.viewSponsoredMessage (/docs/telegram-api/messages/messages.viewSponsoredMessage)
Mark a specific [sponsored message »](https://core.telegram.org/api/sponsored-messages) as read
# payments.applyGiftCode (/docs/telegram-api/payments/payments.applyGiftCode)
Apply a [Telegram Premium giftcode »](https://core.telegram.org/api/giveaways)
# payments.assignAppStoreTransaction (/docs/telegram-api/payments/payments.assignAppStoreTransaction)
Informs server about a purchase made through the App Store: for official applications only.
# payments.assignPlayMarketTransaction (/docs/telegram-api/payments/payments.assignPlayMarketTransaction)
Informs server about a purchase made through the Play Store: for official applications only.
# payments.botCancelStarsSubscription (/docs/telegram-api/payments/payments.botCancelStarsSubscription)
Cancel a [bot subscription](https://core.telegram.org/api/subscriptions#bot-subscriptions)
# payments.canPurchaseStore (/docs/telegram-api/payments/payments.canPurchaseStore)
Checks whether a purchase is possible. Must be called before in-store purchase, official apps only.
# payments.changeStarsSubscription (/docs/telegram-api/payments/payments.changeStarsSubscription)
Activate or deactivate a [Telegram Star subscription »](https://core.telegram.org/api/invites#paid-invite-links).
# payments.checkCanSendGift (/docs/telegram-api/payments/payments.checkCanSendGift)
Check if the specified [gift »](https://core.telegram.org/api/gifts) can be sent.
# payments.checkGiftCode (/docs/telegram-api/payments/payments.checkGiftCode)
Obtain information about a [Telegram Premium giftcode »](https://core.telegram.org/api/giveaways)
# payments.clearSavedInfo (/docs/telegram-api/payments/payments.clearSavedInfo)
Clear saved payment information
# payments.connectStarRefBot (/docs/telegram-api/payments/payments.connectStarRefBot)
Join a bot's [affiliate program, becoming an affiliate »](https://core.telegram.org/api/bots/referrals#becoming-an-affiliate)
# payments.convertStarGift (/docs/telegram-api/payments/payments.convertStarGift)
Convert a [received gift »](https://core.telegram.org/api/gifts) into Telegram Stars: this will permanently destroy the gift, converting it into `RawStarGift`.convert_stars [Telegram Stars](https://core.telegram.org/api/stars), added to the user's balance. Note that `RawStarGift`.convert_stars will be less than the buying price (`RawStarGift`.stars) of the gift if it was originally bought using Telegram Stars bought a long time ago.
# payments.craftStarGift (/docs/telegram-api/payments/payments.craftStarGift)
Craft a new [collectible gift »](https://core.telegram.org/api/gifts#collectible-gifts) by combining 1 to 4 owned collectible gifts of the same base gift type. The passed gifts must all have the same `RawStarGiftUnique`.gift_id, must be usable for crafting, and must not be blocked by a future can_craft_at timestamp. The first passed gift must not be [located on the TON blockchain](https://core.telegram.org/api/gifts#hosted-collectible-gifts).
# payments.createStarGiftCollection (/docs/telegram-api/payments/payments.createStarGiftCollection)
Create a [star gift collection »](https://core.telegram.org/api/gifts#gift-collections).
# payments.deleteStarGiftCollection (/docs/telegram-api/payments/payments.deleteStarGiftCollection)
Delete a [star gift collection »](https://core.telegram.org/api/gifts#gift-collections).
# payments.editConnectedStarRefBot (/docs/telegram-api/payments/payments.editConnectedStarRefBot)
Leave a bot's [affiliate program »](https://core.telegram.org/api/bots/referrals#becoming-an-affiliate)
# payments.exportInvoice (/docs/telegram-api/payments/payments.exportInvoice)
Generate an [invoice deep link](https://core.telegram.org/api/links#invoice-links)
# payments.fulfillStarsSubscription (/docs/telegram-api/payments/payments.fulfillStarsSubscription)
Re-join a private channel associated to an active [Telegram Star subscription »](https://core.telegram.org/api/invites#paid-invite-links).
# payments.getBankCardData (/docs/telegram-api/payments/payments.getBankCardData)
Get info about a credit card
# payments.getConnectedStarRefBot (/docs/telegram-api/payments/payments.getConnectedStarRefBot)
Fetch info about a specific [bot affiliation »](https://core.telegram.org/api/bots/referrals)
# payments.getConnectedStarRefBots (/docs/telegram-api/payments/payments.getConnectedStarRefBots)
Fetch all affiliations we have created for a certain peer
# payments.getCraftStarGifts (/docs/telegram-api/payments/payments.getCraftStarGifts)
Obtain owned [collectible gifts »](https://core.telegram.org/api/gifts#collectible-gifts) of a specific type that can be used for [crafting »](https://core.telegram.org/api/gifts#crafting-collectible-gifts).
# payments.getGiveawayInfo (/docs/telegram-api/payments/payments.getGiveawayInfo)
Obtain information about a [Telegram Premium giveaway »](https://core.telegram.org/api/giveaways).
# payments.getPaymentForm (/docs/telegram-api/payments/payments.getPaymentForm)
Get a payment form
# payments.getPaymentReceipt (/docs/telegram-api/payments/payments.getPaymentReceipt)
Get payment receipt
# payments.getPremiumGiftCodeOptions (/docs/telegram-api/payments/payments.getPremiumGiftCodeOptions)
Obtain a list of Telegram Premium [giveaway/gift code »](https://core.telegram.org/api/giveaways) options.
# payments.getResaleStarGifts (/docs/telegram-api/payments/payments.getResaleStarGifts)
Get [collectible gifts](https://core.telegram.org/api/gifts#collectible-gifts) of a specific type currently on resale, see [here »](https://core.telegram.org/api/gifts#reselling-collectible-gifts) for more info. sort_by_price and sort_by_num are mutually exclusive, if neither are set results are sorted by the unixtime (descending) when their resell price was last changed. See [here »](https://core.telegram.org/api/gifts#sending-gifts) for detailed documentation on this method.
# payments.getSavedInfo (/docs/telegram-api/payments/payments.getSavedInfo)
Get saved payment information
# payments.getSavedStarGift (/docs/telegram-api/payments/payments.getSavedStarGift)
Fetch info about specific [gifts](https://core.telegram.org/api/gifts) owned by a peer we control. Note that unlike what the name suggests, the method can be used to fetch both "saved" and "unsaved" gifts (aka gifts both pinned and not pinned to the profile).
# payments.getSavedStarGifts (/docs/telegram-api/payments/payments.getSavedStarGifts)
Fetch the full list of [gifts »](https://core.telegram.org/api/gifts#list-all-received-gifts) owned, received or [hosted »](https://core.telegram.org/api/gifts#hosted-collectible-gifts) by a peer. Note that unlike what the name suggests, the method can be used to fetch both "saved" and "unsaved" gifts (aka gifts both pinned and not pinned) to the profile, depending on the passed flags.
# payments.getStarGiftActiveAuctions (/docs/telegram-api/payments/payments.getStarGiftActiveAuctions)
Fetches all currently active [gift auctions](https://core.telegram.org/api/auctions) the user has ever bid on (including auctions where the user was outbid and their bid was returned), as long as the auction hasn't ended yet. This method is primarily used to display an auction badge in the chat list immediately on app startup, without waiting for real-time `RawUpdateStarGiftAuctionState` updates to arrive: the client calls it to discover which auctions the user is participating in and show the badge proactively. To instead fetch the full state of a single auction, subscribe to its real-time updates and render the detailed auction UI (typically when the user opens a specific auction), use `payments.RawGetStarGiftAuctionStateRequest`.
# payments.getStarGiftAuctionAcquiredGifts (/docs/telegram-api/payments/payments.getStarGiftAuctionAcquiredGifts)
Fetches all the gifts that the current user won in an [auction](https://core.telegram.org/api/auctions).
# payments.getStarGiftAuctionState (/docs/telegram-api/payments/payments.getStarGiftAuctionState)
Returns info about a [collectible gift auction »](https://core.telegram.org/api/auctions); also subscribes the user to auction updates, see [here »](https://core.telegram.org/api/auctions) for more info on the full flow.
# payments.getStarGiftCollections (/docs/telegram-api/payments/payments.getStarGiftCollections)
Fetches all [star gift collections »](https://core.telegram.org/api/gifts#gift-collections) of a peer.
# payments.getStarGifts (/docs/telegram-api/payments/payments.getStarGifts)
Get a list of available [gifts, see here »](https://core.telegram.org/api/gifts) for more info.
# payments.getStarGiftUpgradeAttributes (/docs/telegram-api/payments/payments.getStarGiftUpgradeAttributes)
Obtains the full list of just the collectible attributes that may appear for a gift type once it's upgraded to a [collectible gift »](https://core.telegram.org/api/gifts#collectible-gifts). The result may also include `RawStarGiftAttributeModel` constructors with the crafted flag set: these models are reserved for [crafting »](https://core.telegram.org/api/gifts#crafting-collectible-gifts) and should be filtered out from regular upgrade previews (and vice versa).
# payments.getStarGiftUpgradePreview (/docs/telegram-api/payments/payments.getStarGiftUpgradePreview)
Obtain a preview of the possible attributes (chosen randomly) a [gift »](https://core.telegram.org/api/gifts) can receive after upgrading it to a [collectible gift »](https://core.telegram.org/api/gifts#collectible-gifts), see [here »](https://core.telegram.org/api/gifts#collectible-gifts) for more info.
# payments.getStarGiftWithdrawalUrl (/docs/telegram-api/payments/payments.getStarGiftWithdrawalUrl)
Convert a [collectible gift »](https://core.telegram.org/api/gifts) to an NFT on the TON blockchain.
# payments.getStarsGiftOptions (/docs/telegram-api/payments/payments.getStarsGiftOptions)
Obtain a list of [Telegram Stars gift options »](https://core.telegram.org/api/stars#buying-or-gifting-stars) as `RawStarsGiftOption` constructors.
# payments.getStarsGiveawayOptions (/docs/telegram-api/payments/payments.getStarsGiveawayOptions)
Fetch a list of [star giveaway options »](https://core.telegram.org/api/giveaways#star-giveaways).
# payments.getStarsRevenueAdsAccountUrl (/docs/telegram-api/payments/payments.getStarsRevenueAdsAccountUrl)
Returns a URL for a Telegram Ad platform account that can be used to set up advertisements for channel/bot in peer, paid using the Telegram Stars owned by the specified peer, see [here »](https://core.telegram.org/api/stars#paying-for-ads) for more info.
# payments.getStarsRevenueStats (/docs/telegram-api/payments/payments.getStarsRevenueStats)
Get [Telegram Star revenue statistics »](https://core.telegram.org/api/stars).
# payments.getStarsRevenueWithdrawalUrl (/docs/telegram-api/payments/payments.getStarsRevenueWithdrawalUrl)
Withdraw funds from a channel or bot's [star balance »](https://core.telegram.org/api/stars#withdrawing-revenue).
# payments.getStarsStatus (/docs/telegram-api/payments/payments.getStarsStatus)
Get the current [Telegram Stars balance](https://core.telegram.org/api/stars) of the current account (with peer=`RawInputPeerSelf`), or the stars balance of the bot or channel specified in peer.
# payments.getStarsSubscriptions (/docs/telegram-api/payments/payments.getStarsSubscriptions)
Obtain a list of active, expired or cancelled [Telegram Star subscriptions »](https://core.telegram.org/api/invites#paid-invite-links).
# payments.getStarsTopupOptions (/docs/telegram-api/payments/payments.getStarsTopupOptions)
Obtain a list of [Telegram Stars topup options »](https://core.telegram.org/api/stars#buying-or-gifting-stars) as `RawStarsTopupOption` constructors.
# payments.getStarsTransactions (/docs/telegram-api/payments/payments.getStarsTransactions)
Fetch [Telegram Stars transactions](https://core.telegram.org/api/stars#balance-and-transaction-history). The inbound and outbound flags are mutually exclusive: if none of the two are set, both incoming and outgoing transactions are fetched.
# payments.getStarsTransactionsByID (/docs/telegram-api/payments/payments.getStarsTransactionsByID)
Obtain info about [Telegram Star transactions »](https://core.telegram.org/api/stars#balance-and-transaction-history) using specific transaction IDs.
# payments.getSuggestedStarRefBots (/docs/telegram-api/payments/payments.getSuggestedStarRefBots)
Obtain a list of suggested [mini apps](https://core.telegram.org/api/bots/webapps) with available [affiliate programs](https://core.telegram.org/api/bots/referrals) order_by_revenue and order_by_date are mutually exclusive: if neither is set, results are sorted by profitability.
# payments.getUniqueStarGift (/docs/telegram-api/payments/payments.getUniqueStarGift)
Obtain info about a [collectible gift »](https://core.telegram.org/api/gifts#collectible-gifts) using a slug obtained from a [collectible gift link »](https://core.telegram.org/api/links#collectible-gift-link).
# payments.getUniqueStarGiftValueInfo (/docs/telegram-api/payments/payments.getUniqueStarGiftValueInfo)
Get information about the value of a [collectible gift »](https://core.telegram.org/api/gifts#collectible-gifts).
# payments.launchPrepaidGiveaway (/docs/telegram-api/payments/payments.launchPrepaidGiveaway)
Launch a [prepaid giveaway »](https://core.telegram.org/api/giveaways).
# payments.refundStarsCharge (/docs/telegram-api/payments/payments.refundStarsCharge)
Refund a [Telegram Stars](https://core.telegram.org/api/stars) transaction, see [here »](https://core.telegram.org/api/payments#6-refunds) for more info.
# payments.reorderStarGiftCollections (/docs/telegram-api/payments/payments.reorderStarGiftCollections)
Reorder the [star gift collections »](https://core.telegram.org/api/gifts#gift-collections) on an owned peer's profile.
# payments.resolveStarGiftOffer (/docs/telegram-api/payments/payments.resolveStarGiftOffer)
Accept or decline a previously received [collectible gift purchase offer »](https://core.telegram.org/api/gifts#collectible-gift-purchase-offers), see [here »](https://core.telegram.org/api/gifts#collectible-gift-purchase-offers) for the full flow.
# payments.saveStarGift (/docs/telegram-api/payments/payments.saveStarGift)
Display or remove a [received or hosted gift »](https://core.telegram.org/api/gifts#hosted-collectible-gifts) from our profile.
# payments.sendPaymentForm (/docs/telegram-api/payments/payments.sendPaymentForm)
Send compiled payment form
# payments.sendStarGiftOffer (/docs/telegram-api/payments/payments.sendStarGiftOffer)
Send an offer to purchase a [collectible gift »](https://core.telegram.org/api/gifts#collectible-gift-purchase-offers), see [here »](https://core.telegram.org/api/gifts#collectible-gift-purchase-offers) for the full flow.
# payments.sendStarsForm (/docs/telegram-api/payments/payments.sendStarsForm)
Make a payment using [Telegram Stars, see here »](https://core.telegram.org/api/stars#using-stars) for more info.
# payments.toggleChatStarGiftNotifications (/docs/telegram-api/payments/payments.toggleChatStarGiftNotifications)
Enables or disables the reception of notifications every time a [gift »](https://core.telegram.org/api/gifts) is received by the specified channel, can only be invoked by admins with post_messages `RawChatAdminRights`.
# payments.toggleStarGiftsPinnedToTop (/docs/telegram-api/payments/payments.toggleStarGiftsPinnedToTop)
Pins a received gift on top of the profile of the user or owned channels by using `payments.RawToggleStarGiftsPinnedToTopRequest`.
# payments.transferStarGift (/docs/telegram-api/payments/payments.transferStarGift)
Transfer a [collectible gift](https://core.telegram.org/api/gifts#collectible-gifts) to another user or channel: can only be used if transfer is free (i.e. `RawMessageActionStarGiftUnique`.transfer_stars is not set); see [here »](https://core.telegram.org/api/gifts#transferring-collectible-gifts) for more info on the full flow (including the different flow to use in case the transfer isn't free).
# payments.updateStarGiftCollection (/docs/telegram-api/payments/payments.updateStarGiftCollection)
Add or remove gifts from a [star gift collection »](https://core.telegram.org/api/gifts#gift-collections), or rename the collection.
# payments.updateStarGiftPrice (/docs/telegram-api/payments/payments.updateStarGiftPrice)
A [collectible gift we own »](https://core.telegram.org/api/gifts#collectible-gifts) can be put up for sale on the [gift marketplace »](https://telegram.org/blog/gift-marketplace-and-more) with this method, see [here »](https://core.telegram.org/api/gifts#reselling-collectible-gifts) for more info.
# payments.upgradeStarGift (/docs/telegram-api/payments/payments.upgradeStarGift)
Upgrade a [gift](https://core.telegram.org/api/gifts) to a [collectible gift](https://core.telegram.org/api/gifts#collectible-gifts): can only be used if the upgrade was already paid by the gift sender; see [here »](https://core.telegram.org/api/gifts#upgrade-a-gift-to-a-collectible-gift) for more info on the full flow (including the different flow to use in case the upgrade was not paid by the gift sender).
# payments.validateRequestedInfo (/docs/telegram-api/payments/payments.validateRequestedInfo)
Submit requested order information for validation
# phone.acceptCall (/docs/telegram-api/phone/phone.acceptCall)
Accept incoming call, see [here »](https://core.telegram.org/api/calls#one-to-one-calls) for more info on the full flow.
# phone.checkGroupCall (/docs/telegram-api/phone/phone.checkGroupCall)
Check which of the specified source IDs the server still recognizes as joined to a group call. This method can be used with all group call types, see [here »](https://core.telegram.org/api/group-calls#maintaining-group-call-connections) for more info. After joining the main connection with `phone.RawJoinGroupCallRequest`, pass its non-zero SSRC/source ID to this method periodically. If a presentation connection is also active, include the separate source registered using `phone.RawJoinGroupCallPresentationRequest`. The method returns the subset of the supplied sources that are still joined. A missing source means that the corresponding connection must be recreated and joined again; it does not indicate whether media packets are currently flowing. If the method returns GROUPCALL_JOIN_MISSING, the main connection must be rejoined.
# phone.confirmCall (/docs/telegram-api/phone/phone.confirmCall)
[Complete phone call E2E encryption key exchange »](https://core.telegram.org/api/end-to-end/voice-calls), see [here »](https://core.telegram.org/api/calls#one-to-one-calls) for more info on the full flow.
# phone.createConferenceCall (/docs/telegram-api/phone/phone.createConferenceCall)
Create and optionally join a new [conference call »](https://core.telegram.org/api/group-calls#conference-calls).
# phone.createGroupCall (/docs/telegram-api/phone/phone.createGroupCall)
Create a video chat or livestream, see [here »](https://core.telegram.org/api/group-calls#video-chats-livestreams) for the full flow.
# phone.declineConferenceCallInvite (/docs/telegram-api/phone/phone.declineConferenceCallInvite)
Decline a [conference call](https://core.telegram.org/api/group-calls#conference-calls) invite.
# phone.deleteConferenceCallParticipants (/docs/telegram-api/phone/phone.deleteConferenceCallParticipants)
Remove participants from a [conference call »](https://core.telegram.org/api/end-to-end/group-calls#removing-a-participant). Exactly one of the only_left and kick flags must be set.
# phone.deleteGroupCallMessages (/docs/telegram-api/phone/phone.deleteGroupCallMessages)
Delete specific messages from the [in-call message overlay »](https://core.telegram.org/api/group-calls#in-call-messages) of a video chat/livestream or live story, including in RTMP mode. Non-admin participants may delete messages they sent; admins may delete any message.
# phone.deleteGroupCallParticipantMessages (/docs/telegram-api/phone/phone.deleteGroupCallParticipantMessages)
As an admin, delete all messages from a specific participant in the [in-call message overlay »](https://core.telegram.org/api/group-calls#in-call-messages) of a video chat/livestream or live story, including in RTMP mode.
# phone.discardCall (/docs/telegram-api/phone/phone.discardCall)
Refuse or end running call, see [here »](https://core.telegram.org/api/calls#one-to-one-calls) for more info on the full flow.
# phone.discardGroupCall (/docs/telegram-api/phone/phone.discardGroupCall)
Terminate a group call, ending the room for all participants. This method can be used with all group call types, see [here »](https://core.telegram.org/api/group-calls#managing-an-active-group-call) for more info.
# phone.editGroupCallParticipant (/docs/telegram-api/phone/phone.editGroupCallParticipant)
Edit information about a participant of a non-RTMP video chat/livestream or conference. The raise_hand field is only supported in video chats/livestreams, see [here »](https://core.telegram.org/api/group-calls#managing-an-active-group-call) for more info. Note: [flags](https://core.telegram.org/mtproto/TL-combinators#conditional-fields).N?[Bool](https://core.telegram.org/type/Bool) parameters can have three possible values:
# phone.editGroupCallTitle (/docs/telegram-api/phone/phone.editGroupCallTitle)
Edit the title of a video chat or livestream. This method cannot be used with live stories or conferences, see [here »](https://core.telegram.org/api/group-calls#video-chats-livestreams) for more info.
# phone.exportGroupCallInvite (/docs/telegram-api/phone/phone.exportGroupCallInvite)
Get an invite link for a public [video chat/livestream »](https://core.telegram.org/api/group-calls#video-chats-livestreams). Non-admin members or subscribers may export a link with can_self_unmute omitted. Only group call admins may set can_self_unmute to export a link that allows users to speak. Cannot be used for video chats/livestreams associated with private groups/channels, [conference calls »](https://core.telegram.org/api/group-calls#conference-calls) or [live stories »](https://core.telegram.org/api/group-calls#live-stories).
# phone.getCallConfig (/docs/telegram-api/phone/phone.getCallConfig)
DEPRECATED: Get phone call configuration to be passed to the libtgvoip (deprecated) shared config.
# phone.getGroupCall (/docs/telegram-api/phone/phone.getGroupCall)
Get info about a [group call](https://core.telegram.org/api/group-calls#getting-info-about-a-group-call) and its participants.
# phone.getGroupCallChainBlocks (/docs/telegram-api/phone/phone.getGroupCallChainBlocks)
Fetch blocks from a conference call [subchain »](https://core.telegram.org/api/end-to-end/group-calls#subchains); handle the returned `RawUpdateGroupCallChainBlocks` as [specified here »](https://core.telegram.org/api/end-to-end/group-calls#handling-updates). If the number of blocks returned by any call to this method is equal to limit, this method must be re-invoked immediately after processing the returned `RawUpdateGroupCallChainBlocks`, with the newly committed offset (usually equal to the returned next_offset).
# phone.getGroupCallJoinAs (/docs/telegram-api/phone/phone.getGroupCallJoinAs)
Get a list of peers that can be used to join a [video chat or livestream »](https://core.telegram.org/api/group-calls#joining-a-group-call-on-behalf-of-owned-channels), presenting yourself as a specific user/channel. This method cannot be used for live stories or conference calls. To comment or react in a live story as another peer, use `channels.RawGetSendAsRequest` with for_live_stories set and pass one of the returned peers to `phone.RawSendGroupCallMessageRequest`.send_as.
# phone.getGroupCallStars (/docs/telegram-api/phone/phone.getGroupCallStars)
Fetch a live story's total donations and top donors, see [paid live story donations »](https://core.telegram.org/api/group-calls#paid-live-story-donations).
# phone.getGroupCallStreamChannels (/docs/telegram-api/phone/phone.getGroupCallStreamChannels)
Get the available stream channels and current playback timestamp of an RTMP-mode video chat, livestream or live story, see [here »](https://core.telegram.org/api/group-calls#rtmp-mode) for the full flow. The group call must be joined before invoking this method. Send the request to the media DC specified by `RawGroupCall`.stream_dc_id.
# phone.getGroupCallStreamRtmpUrl (/docs/telegram-api/phone/phone.getGroupCallStreamRtmpUrl)
Get the RTMP URL and stream key used by the single external streamer that publishes all audio and video for an RTMP-mode video chat, livestream or live story. See [here »](https://core.telegram.org/api/group-calls#creating-and-publishing-an-rtmp-livestream) for the full flow.
# phone.getGroupParticipants (/docs/telegram-api/phone/phone.getGroupParticipants)
Get [group call](https://core.telegram.org/api/group-calls#getting-info-about-a-group-call) participants.
# phone.inviteConferenceCallParticipant (/docs/telegram-api/phone/phone.inviteConferenceCallParticipant)
Invite a user to a [conference call](https://core.telegram.org/api/group-calls#conference-calls).
# phone.inviteToGroupCall (/docs/telegram-api/phone/phone.inviteToGroupCall)
Invite a set of users to a [video chat/livestream »](https://core.telegram.org/api/group-calls#video-chats-livestreams); cannot be used for [live stories »](https://core.telegram.org/api/group-calls#live-stories) or [conference calls »](https://core.telegram.org/api/group-calls#conference-calls).
# phone.joinGroupCall (/docs/telegram-api/phone/phone.joinGroupCall)
Join any [group call type »](https://core.telegram.org/api/group-calls#group-call-types). Conference calls additionally require the [E2E joining flow »](https://core.telegram.org/api/end-to-end/group-calls#joining-a-call). The params field must contain a join payload generated by the local tgcalls group-call engine. It contains a random non-zero audio ssrc, ICE ufrag and pwd, DTLS fingerprints, and, when publishing video, ssrc-groups. For example, a join payload without published video has the following shape: When joining an RTMP-mode call, generate the payload without published video source groups.
# phone.joinGroupCallPresentation (/docs/telegram-api/phone/phone.joinGroupCallPresentation)
Start screen sharing in a non-RTMP video chat/livestream or conference. Presentations are not supported in live stories or RTMP-mode video chats/livestreams, see [here »](https://core.telegram.org/api/group-calls#presentations) for more info.
# phone.leaveGroupCall (/docs/telegram-api/phone/phone.leaveGroupCall)
Leave a group call without ending it for other participants. This method can be used with all group call types, see [here »](https://core.telegram.org/api/group-calls#managing-an-active-group-call) for more info.
# phone.leaveGroupCallPresentation (/docs/telegram-api/phone/phone.leaveGroupCallPresentation)
Stop screen sharing in a non-RTMP video chat/livestream or conference. Presentations are not supported in live stories or RTMP-mode video chats/livestreams, see [here »](https://core.telegram.org/api/group-calls#presentations) for more info.
# phone.receivedCall (/docs/telegram-api/phone/phone.receivedCall)
Optional: notify the server that the user is currently busy in a call: this will automatically refuse all incoming phone calls until the current phone call is ended, see [here »](https://core.telegram.org/api/calls#one-to-one-calls) for more info on the full flow.
# phone.requestCall (/docs/telegram-api/phone/phone.requestCall)
Start a telegram phone call, see [here »](https://core.telegram.org/api/calls#one-to-one-calls) for more info on the full flow.
# phone.saveCallDebug (/docs/telegram-api/phone/phone.saveCallDebug)
Send [phone call](https://core.telegram.org/api/calls#call-debug) debug data to server.
# phone.saveDefaultGroupCallJoinAs (/docs/telegram-api/phone/phone.saveDefaultGroupCallJoinAs)
Set the default peer used to join a [video chat/livestream »](https://core.telegram.org/api/group-calls#joining-a-group-call-on-behalf-of-owned-channels) associated with a specific dialog.
# phone.saveDefaultSendAs (/docs/telegram-api/phone/phone.saveDefaultSendAs)
Save the default peer displayed as the author of live story comments and reactions, see [in-call messages »](https://core.telegram.org/api/group-calls#in-call-messages). It cannot be used for normal video chats/livestreams, where in-call messages are sent as the peer used to join the call (join_as).
# phone.sendConferenceCallBroadcast (/docs/telegram-api/phone/phone.sendConferenceCallBroadcast)
Submit a verification message to conference call subchain 1, see [subchains »](https://core.telegram.org/api/end-to-end/group-calls#subchains).
# phone.sendGroupCallEncryptedMessage (/docs/telegram-api/phone/phone.sendGroupCallEncryptedMessage)
Send an E2E-encrypted message or emoji reaction to all participants of a conference call. This method can only be used with conferences; see [here »](https://core.telegram.org/api/end-to-end/group-calls#conference-in-call-messages) for the serialization and encryption process.
# phone.sendGroupCallMessage (/docs/telegram-api/phone/phone.sendGroupCallMessage)
Send an in-call message to all participants of a video chat/livestream or live story, including in RTMP mode, see [here »](https://core.telegram.org/api/group-calls#in-call-messages) for more info. The send_as field can only be populated for live stories, where it optionally selects the displayed author. If omitted, the server automatically selects the appropriate author. Do not populate it for video chats/livestreams. Video chats/livestreams and live stories support [animated emoji reactions »](https://core.telegram.org/api/group-calls#in-call-reactions), encoded as messages containing only a standard available reaction emoji or a single custom emoji entity. For a paid live story comment, pass the user-confirmed donation amount in allow_paid_stars. For commenters other than the live story owner, this amount must be at least the current `RawGroupCall`.send_paid_messages_stars minimum. A higher amount may be donated to highlight the comment. The live story owner may comment without populating allow_paid_stars. To send a standalone paid live story donation, pass a positive allow_paid_stars value and an empty message, see [here »](https://core.telegram.org/api/group-calls#paid-live-story-donations) for the full flow.
# phone.sendSignalingData (/docs/telegram-api/phone/phone.sendSignalingData)
Send VoIP [signaling data](https://core.telegram.org/api/calls#signaling-data) for an ongoing phone call.
# phone.setCallRating (/docs/telegram-api/phone/phone.setCallRating)
Rate a call, returns info about the rating message sent to the official VoIP bot, see [here »](https://core.telegram.org/api/calls#call-rating) for more info on the full flow.
# phone.startScheduledGroupCall (/docs/telegram-api/phone/phone.startScheduledGroupCall)
Start a scheduled [group call](https://core.telegram.org/api/group-calls#video-chats-livestreams).
# phone.toggleGroupCallRecord (/docs/telegram-api/phone/phone.toggleGroupCallRecord)
Start or stop recording a video chat/livestream, see [here »](https://core.telegram.org/api/group-calls#video-chats-livestreams) for more info. The recorded audio and video streams will be automatically sent to Saved Messages (the chat with ourselves).
# phone.toggleGroupCallSettings (/docs/telegram-api/phone/phone.toggleGroupCallSettings)
Change group call settings. Each setting supports different group call types, see [here »](https://core.telegram.org/api/group-calls#managing-an-active-group-call) for more info.
# phone.toggleGroupCallStartSubscription (/docs/telegram-api/phone/phone.toggleGroupCallStartSubscription)
Subscribe or unsubscribe to a scheduled [group call](https://core.telegram.org/api/group-calls#video-chats-livestreams).
# photos.deletePhotos (/docs/telegram-api/photos/photos.deletePhotos)
Deletes profile photos. The method returns a list of successfully deleted photo IDs.
# photos.getUserPhotos (/docs/telegram-api/photos/photos.getUserPhotos)
Returns the list of user photos.
# photos.updateProfilePhoto (/docs/telegram-api/photos/photos.updateProfilePhoto)
Installs a previously uploaded photo as a profile photo.
# premium.applyBoost (/docs/telegram-api/premium/premium.applyBoost)
Apply one or more [boosts »](https://core.telegram.org/api/boost) to a peer.
# premium.getBoostsList (/docs/telegram-api/premium/premium.getBoostsList)
Obtains info about the boosts that were applied to a certain channel or supergroup (admins only)
# premium.getBoostsStatus (/docs/telegram-api/premium/premium.getBoostsStatus)
Gets the current [number of boosts](https://core.telegram.org/api/boost) of a channel/supergroup.
# premium.getMyBoosts (/docs/telegram-api/premium/premium.getMyBoosts)
Obtain which peers are we currently [boosting](https://core.telegram.org/api/boost), and how many [boost slots](https://core.telegram.org/api/boost) we have left.
# premium.getUserBoosts (/docs/telegram-api/premium/premium.getUserBoosts)
Returns the lists of boost that were applied to a channel/supergroup by a specific user (admins only)
# stats.getBroadcastStats (/docs/telegram-api/stats/stats.getBroadcastStats)
Get [channel statistics](https://core.telegram.org/api/stats)
# stats.getMegagroupStats (/docs/telegram-api/stats/stats.getMegagroupStats)
Get [supergroup statistics](https://core.telegram.org/api/stats)
# stats.getMessagePublicForwards (/docs/telegram-api/stats/stats.getMessagePublicForwards)
Obtains a list of messages, indicating to which other public channels was a channel message forwarded. Will return a list of `RawMessage` with peer_id equal to the public channel to which this message was forwarded.
# stats.getMessageStats (/docs/telegram-api/stats/stats.getMessageStats)
Get [message statistics](https://core.telegram.org/api/stats)
# stats.getPollStats (/docs/telegram-api/stats/stats.getPollStats)
Get [statistics](https://core.telegram.org/api/stats#poll-statistics) for a poll sent in a message.
# stats.getStoryPublicForwards (/docs/telegram-api/stats/stats.getStoryPublicForwards)
Obtain forwards of a [story](https://core.telegram.org/api/stories) as a message to public chats and reposts by public channels.
# stats.getStoryStats (/docs/telegram-api/stats/stats.getStoryStats)
Get [statistics](https://core.telegram.org/api/stats) for a certain [story](https://core.telegram.org/api/stories).
# stats.loadAsyncGraph (/docs/telegram-api/stats/stats.loadAsyncGraph)
Load [channel statistics graph](https://core.telegram.org/api/stats) asynchronously
# stickers.addStickerToSet (/docs/telegram-api/stickers/stickers.addStickerToSet)
Add a sticker to a stickerset. The sticker set must have been created by the current user/bot.
# stickers.changeSticker (/docs/telegram-api/stickers/stickers.changeSticker)
Update the keywords, emojis or [mask coordinates](https://core.telegram.org/api/stickers#mask-stickers) of a sticker.
# stickers.changeStickerPosition (/docs/telegram-api/stickers/stickers.changeStickerPosition)
Changes the absolute position of a sticker in the set to which it belongs. The sticker set must have been created by the current user/bot.
# stickers.checkShortName (/docs/telegram-api/stickers/stickers.checkShortName)
Check whether the given short name is available
# stickers.createStickerSet (/docs/telegram-api/stickers/stickers.createStickerSet)
Create a stickerset.
# stickers.deleteStickerSet (/docs/telegram-api/stickers/stickers.deleteStickerSet)
Deletes a stickerset we created.
# stickers.removeStickerFromSet (/docs/telegram-api/stickers/stickers.removeStickerFromSet)
Remove a sticker from the set where it belongs. The sticker set must have been created by the current user/bot.
# stickers.renameStickerSet (/docs/telegram-api/stickers/stickers.renameStickerSet)
Renames a stickerset.
# stickers.replaceSticker (/docs/telegram-api/stickers/stickers.replaceSticker)
Replace a sticker in a [stickerset »](https://core.telegram.org/api/stickers).
# stickers.setStickerSetThumb (/docs/telegram-api/stickers/stickers.setStickerSetThumb)
Set stickerset thumbnail
# stickers.suggestShortName (/docs/telegram-api/stickers/stickers.suggestShortName)
Suggests a short name for a given stickerpack name
# stories.activateStealthMode (/docs/telegram-api/stories/stories.activateStealthMode)
Activates [stories stealth mode](https://core.telegram.org/api/stories#stealth-mode), see [here »](https://core.telegram.org/api/stories#stealth-mode) for more info. Will return an `RawUpdateStoriesStealthMode`.
# stories.canSendStory (/docs/telegram-api/stories/stories.canSendStory)
Check whether we can post stories as the specified peer.
# stories.createAlbum (/docs/telegram-api/stories/stories.createAlbum)
Creates a [story album](https://core.telegram.org/api/stories#story-albums).
# stories.deleteAlbum (/docs/telegram-api/stories/stories.deleteAlbum)
Delete a [story album](https://core.telegram.org/api/stories#story-albums).
# stories.deleteStories (/docs/telegram-api/stories/stories.deleteStories)
Deletes some posted [stories](https://core.telegram.org/api/stories).
# stories.editStory (/docs/telegram-api/stories/stories.editStory)
Edit an uploaded [story](https://core.telegram.org/api/stories) May also be used in a [business connection](https://core.telegram.org/api/bots/connected-business-bots), not by wrapping the query in `RawInvokeWithBusinessConnectionRequest`, but rather by specifying the ID of a controlled business user in peer: in this context, the method can only be used to edit stories posted by the same business bot on behalf of the user with `stories.RawSendStoryRequest`.
# stories.exportStoryLink (/docs/telegram-api/stories/stories.exportStoryLink)
Generate a [story deep link](https://core.telegram.org/api/links#story-links) for a specific story
# stories.getAlbums (/docs/telegram-api/stories/stories.getAlbums)
Get [story albums](https://core.telegram.org/api/stories#story-albums) created by a peer.
# stories.getAlbumStories (/docs/telegram-api/stories/stories.getAlbumStories)
Get stories in a [story album »](https://core.telegram.org/api/stories#story-albums).
# stories.getAllReadPeerStories (/docs/telegram-api/stories/stories.getAllReadPeerStories)
Obtain the latest read story ID for all peers when first logging in, returned as a list of `RawUpdateReadStories` updates, see [here »](https://core.telegram.org/api/stories#watching-stories) for more info.
# stories.getAllStories (/docs/telegram-api/stories/stories.getAllStories)
Fetch the List of active (or active and hidden) stories, see [here »](https://core.telegram.org/api/stories#watching-stories) for more info on watching stories.
# stories.getChatsToSend (/docs/telegram-api/stories/stories.getChatsToSend)
Obtain a list of channels where the user can post [stories](https://core.telegram.org/api/stories)
# stories.getPeerMaxIDs (/docs/telegram-api/stories/stories.getPeerMaxIDs)
Get compact [active story summaries »](https://core.telegram.org/api/stories#recent-story-summaries) for a set of peers.
# stories.getPeerStories (/docs/telegram-api/stories/stories.getPeerStories)
Fetch the full active [story list](https://core.telegram.org/api/stories#watching-stories) of a specific peer.
# stories.getPinnedStories (/docs/telegram-api/stories/stories.getPinnedStories)
Fetch the [stories](https://core.telegram.org/api/stories#pinned-or-archived-stories) pinned on a peer's profile.
# stories.getStoriesArchive (/docs/telegram-api/stories/stories.getStoriesArchive)
Fetch the [story archive »](https://core.telegram.org/api/stories#pinned-or-archived-stories) of a peer we control.
# stories.getStoriesByID (/docs/telegram-api/stories/stories.getStoriesByID)
Obtain full info about a set of [stories](https://core.telegram.org/api/stories) by their IDs.
# stories.getStoriesViews (/docs/telegram-api/stories/stories.getStoriesViews)
Obtain info about the view count, forward count, reactions and recent viewers of one or more [stories](https://core.telegram.org/api/stories).
# stories.getStoryReactionsList (/docs/telegram-api/stories/stories.getStoryReactionsList)
Get the [reaction](https://core.telegram.org/api/reactions) and interaction list of a [story](https://core.telegram.org/api/stories) posted to a channel, along with the sender of each reaction. Can only be used by channel admins.
# stories.getStoryViewsList (/docs/telegram-api/stories/stories.getStoryViewsList)
Obtain the list of users that have viewed a specific [story we posted](https://core.telegram.org/api/stories)
# stories.incrementStoryViews (/docs/telegram-api/stories/stories.incrementStoryViews)
Increment the view counter of one or more stories.
# stories.readStories (/docs/telegram-api/stories/stories.readStories)
Mark all stories up to a certain ID as read, for a given peer; will emit an `RawUpdateReadStories` update to all logged-in sessions.
# stories.reorderAlbums (/docs/telegram-api/stories/stories.reorderAlbums)
Reorder [story albums on a profile »](https://core.telegram.org/api/stories#story-albums).
# stories.report (/docs/telegram-api/stories/stories.report)
Report a story.
# stories.searchPosts (/docs/telegram-api/stories/stories.searchPosts)
Globally search for [stories](https://core.telegram.org/api/stories) using a hashtag or a [location media area](https://core.telegram.org/api/stories#location-tags), see [here »](https://core.telegram.org/api/stories#searching-stories) for more info on the full flow. Either hashtag or area must be set when invoking the method.
# stories.sendReaction (/docs/telegram-api/stories/stories.sendReaction)
React to a story.
# stories.sendStory (/docs/telegram-api/stories/stories.sendStory)
Uploads a [Telegram Story](https://core.telegram.org/api/stories). May also be used in a [business connection](https://core.telegram.org/api/bots/connected-business-bots), not by wrapping the query in `RawInvokeWithBusinessConnectionRequest`, but rather by specifying the ID of a controlled business user in peer.
# stories.startLive (/docs/telegram-api/stories/stories.startLive)
Start a live story, optionally using RTMP livestream mode, see [here »](https://core.telegram.org/api/group-calls#live-stories) for the full flow.
# stories.toggleAllStoriesHidden (/docs/telegram-api/stories/stories.toggleAllStoriesHidden)
Hide the active stories of a specific peer, preventing them from being displayed on the action bar on the homescreen.
# stories.togglePeerStoriesHidden (/docs/telegram-api/stories/stories.togglePeerStoriesHidden)
Hide the active stories of a user, preventing them from being displayed on the action bar on the homescreen, see [here »](https://core.telegram.org/api/stories#hiding-stories-of-other-users) for more info.
# stories.togglePinned (/docs/telegram-api/stories/stories.togglePinned)
Pin or unpin one or more stories
# stories.togglePinnedToTop (/docs/telegram-api/stories/stories.togglePinnedToTop)
Pin some stories to the top of the profile, see [here »](https://core.telegram.org/api/stories#pinned-or-archived-stories) for more info.
# stories.updateAlbum (/docs/telegram-api/stories/stories.updateAlbum)
Rename a [story albums »](https://core.telegram.org/api/stories#story-albums), or add, delete or reorder stories in it.
# upload.getCdnFile (/docs/telegram-api/upload/upload.getCdnFile)
Download a [CDN](https://core.telegram.org/cdn) file.
# upload.getCdnFileHashes (/docs/telegram-api/upload/upload.getCdnFileHashes)
Get SHA256 hashes for verifying downloaded [CDN](https://core.telegram.org/cdn) files
# upload.getFile (/docs/telegram-api/upload/upload.getFile)
Returns content of a whole file or its part.
# upload.getFileHashes (/docs/telegram-api/upload/upload.getFileHashes)
Get SHA256 hashes for verifying downloaded files
# upload.getWebFile (/docs/telegram-api/upload/upload.getWebFile)
Returns content of a web file, by proxying the request through telegram, see the [webfile docs for more info](https://core.telegram.org/api/files#downloading-webfiles). Note: the query must be sent to the DC specified in the webfile_dc_id [MTProto configuration field](https://core.telegram.org/api/config#mtproto-configuration).
# upload.reuploadCdnFile (/docs/telegram-api/upload/upload.reuploadCdnFile)
Request a reupload of a certain file to a [CDN DC](https://core.telegram.org/cdn).
# upload.saveBigFilePart (/docs/telegram-api/upload/upload.saveBigFilePart)
Saves a part of a large file (over 10 MB in size) to be later passed to one of the methods.
# upload.saveFilePart (/docs/telegram-api/upload/upload.saveFilePart)
Saves a part of file for further sending to one of the methods.
# users.getFullUser (/docs/telegram-api/users/users.getFullUser)
Returns extended user info by ID.
# users.getRequirementsToContact (/docs/telegram-api/users/users.getRequirementsToContact)
Check whether we can write to the specified users, used to implement bulk checks for [Premium-only messages »](https://core.telegram.org/api/privacy#require-premium-for-new-non-contact-users) and [paid messages »](https://core.telegram.org/api/paid-messages). For each input user, returns a [RequirementToContact](https://core.telegram.org/type/RequirementToContact) constructor (at the same offset in the vector) containing requirements to contact them.
# users.getSavedMusic (/docs/telegram-api/users/users.getSavedMusic)
Get songs [pinned to the user's profile, see here »](https://core.telegram.org/api/profile#music) for more info.
# users.getSavedMusicByID (/docs/telegram-api/users/users.getSavedMusicByID)
Check if the passed songs are still pinned to the user's profile, or refresh the file references of songs pinned on a user's profile [see here »](https://core.telegram.org/api/profile#music) for more info.
# users.getUsers (/docs/telegram-api/users/users.getUsers)
Returns basic user info according to their identifiers.
# users.setSecureValueErrors (/docs/telegram-api/users/users.setSecureValueErrors)
Notify the user that the sent [passport](https://core.telegram.org/passport) data contains some errors The user will not be able to re-submit their Passport data to you until the errors are fixed (the contents of the field for which you returned the error must change). Use this if the data submitted by the user doesn't satisfy the standards your service requires for any reason. For example, if a birthday date seems invalid, a submitted document is blurry, a scan shows evidence of tampering, etc. Supply some details in the error message to make sure the user knows how to correct the issues.
# users.suggestBirthday (/docs/telegram-api/users/users.suggestBirthday)
Suggest a birthday to another user, see [here »](https://core.telegram.org/api/profile#birthday) for more info on birthdays in the API.