# Layer changelog


Below you will find information on schema changes. For more details on the use of layers, see [Invoking API methods](/api/invoking.md#layers).

### [Layer 225](/schema?layer=225)

To view all changes since the last documentation refresh, start reading at [layer 215](#layer-215).

This documentation release includes the following new and substantially overhauled articles, documenting pre-existing features:

- [Group calls, video chats, live stories, conferences and livestreams »](/api/group-calls.md)
- [One-to-one calls »](/api/calls.md)
- [Completely overhauled the E2E conference documentation »](/api/end-to-end/group-calls.md)
- [Completely overhauled the file reference database schema, making it significantly easier to autogenerate the file reference database »](/api/file-references.md)
- [Applying basic group updates »](/api/peers.md#basic-group-updates)
- [Applying group call updates »](/api/end-to-end/group-calls.md#handling-updates)
- [Message ID sequences »](/api/updates.md#message-id-sequences)
- [More detailed instructions for update gap handling (also considering gaps beyond the max message box size) »](/api/updates.md#recovering-gaps-for-very-old-messages)
- [Parallel sessions »](/api/datacenter.md#parallel-sessions)
- [updateMessageID handling »](/api/updates.md#updatemessageid-updates)
- [Documented rate limits for live drafts »](/api/bots/ai.md#live-response-streaming)
- [Content protection »](/api/content-protection.md)
- [Message views »](/api/views.md)
- [Sending messages on behalf of owned channels and groups »](/api/channel.md#sending-messages-on-behalf-of-owned-channels-and-groups)
- [Working with basic group participants »](/api/channel.md#basic-group-participants)
- [Leaving groups/channels (full flow) »](/api/channel.md#leaving-groups-channels)
- [Added the layer number to the RPC error DB »](/api/errors.md)
- [Improved the takeout documentation »](/api/takeout.md)
- Documented the [`navigationBarColor` »](/api/web-events.md#navigationbarcolor), [`actionBarColor` »](/api/web-events.md#actionbarcolor), [`allowScroll` »](/api/web-events.md#allowscroll), [`siteName` »](/api/web-events.md#sitename) event types
- [`whitelisted_bots` »](/api/config.md#whitelisted-bots)
- Detailed changelogs for API configuration keys, web events, limits, suggested actions and other API constants will now be automatically listed in the appropriate layer changelog, instead of the latest layer.
- Published an aggregated, machine-readable index of all [API constants and push updates »](/api/config.md#machine-readable-configuration-index) at the new [/api/config.json »](/api/config.json.md) permalink.
- The [RPC error database »](/api/errors.md#error-database) is now also published as a machine-readable [/api/errors.json »](/api/errors.json.md) permalink, replacing the previous embedded file link.
- Multiple other improvements and fixes across the board.

And documenting the following new features (a brief overview of features introduced since [layer 215](#layer-215)):

- AI features: [message composition »](/api/ai.md#compose-messages), [AI compose tones »](/api/ai.md#ai-compose-tones) and [message summarization »](/api/ai.md#summarize-messages)
- Bot AI features: [live drafts »](/api/bots/ai.md#live-response-streaming)
- [Bot forums »](/api/forum.md#bot-forums)
- [Managed bots »](/api/bots/managed-bots.md)
- [Improved styled text entities »](/api/entities.md)
- [Guest mode for bots »](/api/bots/guest-mode.md)
- [Gift auctions »](/api/auctions.md)
- [Passkeys »](/api/passkeys.md)
- [Live stories »](/api/group-calls.md#live-stories), [in-call messages »](/api/group-calls.md#in-call-messages), [paid live story comments »](/api/group-calls.md#paid-live-story-comments) and [paid live story donations »](/api/group-calls.md#paid-live-story-donations)
- [Recent story summaries »](/api/stories.md#recent-story-summaries)
- [Repeating scheduled messages »](/api/scheduled-messages.md#repeating-scheduled-messages)
- [Message views »](/api/views.md#view-counters) and [read metrics »](/api/views.md#read-metrics)
- [Open-answer polls »](/api/poll.md#open-answer-polls), [unread poll votes »](/api/poll.md#unread-poll-votes), [poll answer media attachments »](/api/poll.md#sending-a-poll), [replies to poll options »](/api/poll.md#replying-to-poll-options), [poll search »](/api/poll.md#searching-for-polls) and [poll statistics »](/api/stats.md#poll-statistics)
- [Group member/admin tags »](/api/rank.md)
- [Group/channel ownership transfer »](/api/channel.md#transferring-ownership-of-a-group-channel) and [leave handoff flows »](/api/channel.md#leaving-groups-channels)
- [Date styled text entities »](/api/entities.md#date-entities) and [diff styled text entities »](/api/entities.md#diff-entities)
- [Collectible gifts »](/api/gifts.md#collectible-gifts): [crafting »](/api/gifts.md#crafting-collectible-gifts), [purchase offers »](/api/gifts.md#collectible-gift-purchase-offers), [hosted gifts »](/api/gifts.md#hosted-collectible-gifts), [collectible message palettes »](/api/colors.md#collectible-message-palettes) and [collectible profile palettes »](/api/colors.md#collectible-profile-palettes).
- [Private contact notes »](/api/contacts.md#private-notes-for-contacts)
- [Birthdays »](/api/profile.md#birthday), [music profile tab »](/api/profile.md#music), [managed bot manager info »](/api/profile.md#managed-bot-manager), [personal channels »](/api/profile.md#personal-channel) and [unofficial client warnings »](/api/profile.md#unofficial-client-warning)
- [Private chat content protection »](/api/content-protection.md#for-users)
- [Button styles »](/api/bots/buttons.md#button-styles)
- [Peer requests for Mini Apps »](/api/bots/buttons.md#requesting-peers-via-mini-apps)
- [Anonymous group admins »](/api/rights.md#anonymous-admins) can now [toggle checklist items »](/api/todo.md#mark-items-as-completed)
- [Removing participant reactions »](/api/reactions.md#removing-participant-reactions)
- [Message effects »](/api/effects.md) support for forwarded messages
- [Login email setup suggestions »](/api/auth.md#email-verification) and [passkey setup suggestions »](/api/config.md#setup-passkey)
- [OAuth login »](/api/url-authorization.md)
- [`blur_enabled` in `fullscreen_changed` events »](/api/bots/webapps.md#fullscreen-changed)
- New [deep link »](/api/links.md) types: 
    - [Parameterized settings deep links, with support for opening a specific settings page or subsection »](/api/links.md#settings-links)
    - [Contact list deep links »](/api/links.md#contacts-links)
    - [Chat creation deep links »](/api/links.md#new-chat-links)
    - [Chat list deep links »](/api/links.md#chat-list-links)
    - [Live story deep links »](/api/links.md#live-story-links)
    - [Story composer deep links »](/api/links.md#post-story-links)
    - [Timestamp links »](/api/links.md#timestamp-links)
    - [Highlighting of a specific checklist task or poll option in message deep links »](/api/links.md#message-links)

This layer introduces the following features:

- [Custom AI compose tones »](/api/ai.md#ai-compose-tones)
- [Guest mode for bots »](/api/bots/guest-mode.md)
- [Poll statistics »](/api/stats.md#poll-statistics)
- [Participant reaction moderation »](/api/reactions.md#removing-participant-reactions)
- [Allowed bots to fetch the history of the personal channel of any user »](/api/profile.md#personal-channel)

#### API constants

##### Premium limits

[Telegram Premium limit identifiers &raquo;](/api/premium.md#double-limits).

- Added [`double_limits__aicompose_tone_saved` &raquo;](/api/premium.md#double-limits-aicompose-tone-saved)

##### Web page type values

Web page type values from the [webPage](/constructor/webPage.md) constructor.

- Added `telegram_aicomposetone` - Preview of an [AI compose tone link »](/api/links.md#ai-compose-tone-links), shared when previewing a [custom AI composer tone »](/api/ai.md#ai-compose-tones). The `attributes` field contains a [webPageAttributeAiComposeTone](/constructor/webPageAttributeAiComposeTone.md) with the [custom emoji »](/api/custom-emoji.md) representing the tone; clients render a button that applies the shared tone.

#### [Schema](/schema.md) changes

##### New Methods

* Added [messages.setBotGuestChatResult](/method/messages.setBotGuestChatResult.md) - Bots may use this method to answer a [guest mode »](/api/bots/guest-mode.md) query received via an [updateBotGuestChatQuery](/constructor/updateBotGuestChatQuery.md) update, providing the message to post into the chat as a guest, see [here »](/api/bots/guest-mode.md#handling-guest-queries-bot-side) for more info.
* Added [messages.deleteParticipantReactions](/method/messages.deleteParticipantReactions.md) - As an admin, remove all of a specific participant's [reactions](/api/reactions.md) from every message in a group or channel.
* Added [messages.deleteParticipantReaction](/method/messages.deleteParticipantReaction.md) - As an admin, remove all of a specific participant's [reactions](/api/reactions.md) from a single message.
* Added [messages.getPersonalChannelHistory](/method/messages.getPersonalChannelHistory.md) - Fetch the message history of a user's [personal channel »](/api/profile.md#personal-channel).
* Added [bots.getAccessSettings](/method/bots.getAccessSettings.md) - Get the [access restriction settings »](/api/bots/managed-bots.md#managing-a-managed-bot) of a managed bot; can only be called by the manager bot.
* Added [bots.editAccessSettings](/method/bots.editAccessSettings.md) - Edit the [access restriction settings »](/api/bots/managed-bots.md#managing-a-managed-bot) of a managed bot; can only be called by the manager bot.
* Added [stats.getPollStats](/method/stats.getPollStats.md) - Get [statistics](/api/stats.md#poll-statistics) for a poll sent in a message.
* Added [aicompose.createTone](/method/aicompose.createTone.md) - Create a new custom [AI composer tone »](/api/ai.md#ai-compose-tones).
* Added [aicompose.updateTone](/method/aicompose.updateTone.md) - Edit a custom [AI composer tone »](/api/ai.md#ai-compose-tones) previously created by the current user. Only the fields whose flag is set will be modified.
* Added [aicompose.saveTone](/method/aicompose.saveTone.md) - Install or uninstall an [AI composer tone »](/api/ai.md#ai-compose-tones), adding it to or removing it from the list of saved tones of the current user.
* Added [aicompose.deleteTone](/method/aicompose.deleteTone.md) - Permanently delete a custom [AI composer tone »](/api/ai.md#ai-compose-tones) created by the current user.
* Added [aicompose.getTone](/method/aicompose.getTone.md) - Fetch information about a single [AI composer tone »](/api/ai.md#ai-compose-tones), for example to resolve a shared tone deep link.
* Added [aicompose.getTones](/method/aicompose.getTones.md) - Fetch the list of saved [AI composer tones »](/api/ai.md#ai-compose-tones) of the current user.
* Added [aicompose.getToneExample](/method/aicompose.getToneExample.md) - Fetch an example showing how an [AI composer tone »](/api/ai.md#ai-compose-tones) rephrases a sample message, used as a preview in the tone picker.

##### Changed Methods

* Added **bots_guestchat** parameter in [contacts.getTopPeers](/method/contacts.getTopPeers.md)
* Added **tone** parameter, removed **change_tone** parameter in [messages.composeMessageWithAI](/method/messages.composeMessageWithAI.md)

##### New Constructors

* Added [updateBotGuestChatQuery](/constructor/updateBotGuestChatQuery.md) - Sent to [guest bots »](/api/bots/guest-mode.md) when a user invokes the bot as a guest in a chat. The bot should reply by invoking [messages.setBotGuestChatResult](/method/messages.setBotGuestChatResult.md), see [here »](/api/bots/guest-mode.md#handling-guest-queries-bot-side) for more info.
* Added [updateAiComposeTones](/constructor/updateAiComposeTones.md) - The list of saved [AI composer tones »](/api/ai.md#ai-compose-tones) of the current user has changed, and should be refetched using [aicompose.getTones](/method/aicompose.getTones.md).
* Added [topPeerCategoryBotsGuestChat](/constructor/topPeerCategoryBotsGuestChat.md) - Top [guest bots »](/api/bots/guest-mode.md), i.e. bots most frequently invoked as guests in chats.
* Added [webPageAttributeAiComposeTone](/constructor/webPageAttributeAiComposeTone.md) - [Webpage attribute](/type/WebPageAttribute.md) attached to a [webPage](/constructor/webPage.md) of type `telegram_aicomposetone`, generated when previewing a shared [AI composer tone »](/api/ai.md#ai-compose-tones) via an [AI compose tone link »](/api/links.md#ai-compose-tone-links).
* Added [stats.pollStats](/constructor/stats.pollStats.md) - [Statistics](/api/stats.md#poll-statistics) for a poll sent in a message.
* Added [inputAiComposeToneDefault](/constructor/inputAiComposeToneDefault.md) - References a built-in, default [AI composer tone »](/api/ai.md#ai-compose-tones) by its string identifier.
* Added [inputAiComposeToneID](/constructor/inputAiComposeToneID.md) - References a custom [AI composer tone »](/api/ai.md#ai-compose-tones) by its ID and access hash.
* Added [inputAiComposeToneSlug](/constructor/inputAiComposeToneSlug.md) - References a custom [AI composer tone »](/api/ai.md#ai-compose-tones) by its public slug, used when opening an [AI compose tone link »](/api/links.md#ai-compose-tone-links).
* Added [aiComposeTone](/constructor/aiComposeTone.md) - A custom [AI composer tone »](/api/ai.md#ai-compose-tones), used to rephrase messages in a specific style with the [AI message composer](/api/ai.md#compose-messages).
* Added [aiComposeToneDefault](/constructor/aiComposeToneDefault.md) - A built-in, default [AI composer tone »](/api/ai.md#ai-compose-tones), identified by a string identifier rather than by a numeric ID.
* Added [aicompose.tonesNotModified](/constructor/aicompose.tonesNotModified.md) - The list of saved [AI composer tones »](/api/ai.md#ai-compose-tones) hasn't changed since the last time it was fetched (i.e. the `hash` passed to [aicompose.getTones](/method/aicompose.getTones.md) is still valid).
* Added [aicompose.tones](/constructor/aicompose.tones.md) - The list of saved [AI composer tones »](/api/ai.md#ai-compose-tones) of the current user.
* Added [aiComposeToneExample](/constructor/aiComposeToneExample.md) - An example showing how an [AI composer tone »](/api/ai.md#ai-compose-tones) rephrases a message, used as a preview in the tone picker.
* Added [bots.accessSettings](/constructor/bots.accessSettings.md) - Access restriction settings for a [managed bot »](/api/bots/managed-bots.md#managing-a-managed-bot).

##### Changed Constructors

* Added **bot_guestchat** parameter in [user](/constructor/user.md)
* Added **guestchat_via_from** parameter in [message](/constructor/message.md)
* Added **premium_days** parameter in [auth.sentCodePaymentRequired](/constructor/auth.sentCodePaymentRequired.md)
* Added **subscribers_only**, **countries_iso2** parameters in [poll](/constructor/poll.md)
* Added **can_view_stats** parameter in [pollResults](/constructor/pollResults.md)
* Added **send_reactions** parameter in [chatBannedRights](/constructor/chatBannedRights.md)
* Added **premium_days** parameter in [inputStorePaymentAuthCode](/constructor/inputStorePaymentAuthCode.md)

#### [Changes in the file reference database map file &raquo;](/api/file-references.md)

##### New traversers incoming

* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/updateBotGuestChatQuery'>updateBotGuestChatQuery</a>, params: [message, reference_messages], type: <a href='/type/Update'>Update</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getPersonalChannelHistory'>messages.getPersonalChannelHistory</a>}</code></pre>

##### New traversers outgoing

* Added <pre><code>traverseMethodCall{name: <a href='/method/messages.setBotGuestChatResult'>messages.setBotGuestChatResult</a>, params: [result]}</code></pre>

#### [Schema](/schema.md)

<div><pre><code><a href="/constructor/user">user</a>#31774388 flags:<a href="/type/%23">#</a> self:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> contact:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> mutual_contact:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> deleted:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/constructor/true">true</a> bot:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/constructor/true">true</a> bot_chat_history:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/constructor/true">true</a> bot_nochats:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/constructor/true">true</a> verified:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/constructor/true">true</a> restricted:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/constructor/true">true</a> min:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/constructor/true">true</a> bot_inline_geo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/constructor/true">true</a> support:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/constructor/true">true</a> scam:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.24?<a href="/constructor/true">true</a> apply_min_photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.25?<a href="/constructor/true">true</a> fake:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.26?<a href="/constructor/true">true</a> bot_attach_menu:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.27?<a href="/constructor/true">true</a> premium:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.28?<a href="/constructor/true">true</a> attach_menu_enabled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.29?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> bot_can_edit:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.1?<a href="/constructor/true">true</a> close_friend:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.2?<a href="/constructor/true">true</a> stories_hidden:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.3?<a href="/constructor/true">true</a> stories_unavailable:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.4?<a href="/constructor/true">true</a> contact_require_premium:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.10?<a href="/constructor/true">true</a> bot_business:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.11?<a href="/constructor/true">true</a> bot_has_main_app:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.13?<a href="/constructor/true">true</a> bot_forum_view:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.16?<a href="/constructor/true">true</a> bot_forum_can_manage_topics:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.17?<a href="/constructor/true">true</a> bot_can_manage_bots:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.18?<a href="/constructor/true">true</a> bot_guestchat:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.19?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> access_hash:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/long">long</a> first_name:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> last_name:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> username:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/string">string</a> phone:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/string">string</a> photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/UserProfilePhoto">UserProfilePhoto</a> status:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/UserStatus">UserStatus</a> bot_info_version:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/int">int</a> restriction_reason:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/RestrictionReason">RestrictionReason</a>&gt; bot_inline_placeholder:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/type/string">string</a> lang_code:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/type/string">string</a> emoji_status:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.30?<a href="/type/EmojiStatus">EmojiStatus</a> usernames:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Username">Username</a>&gt; stories_max_id:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.5?<a href="/type/RecentStory">RecentStory</a> color:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.8?<a href="/type/PeerColor">PeerColor</a> profile_color:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.9?<a href="/type/PeerColor">PeerColor</a> bot_active_users:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.12?<a href="/type/int">int</a> bot_verification_icon:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.14?<a href="/type/long">long</a> send_paid_messages_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.15?<a href="/type/long">long</a> = <a href="/type/User">User</a>;\

<a href="/constructor/message">message</a>#95ef6f2b flags:<a href="/type/%23">#</a> out:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> mentioned:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> media_unread:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> silent:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/constructor/true">true</a> post:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/constructor/true">true</a> from_scheduled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/constructor/true">true</a> legacy:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/constructor/true">true</a> edit_hide:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/constructor/true">true</a> pinned:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.24?<a href="/constructor/true">true</a> noforwards:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.26?<a href="/constructor/true">true</a> invert_media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.27?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> offline:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.1?<a href="/constructor/true">true</a> video_processing_pending:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.4?<a href="/constructor/true">true</a> paid_suggested_post_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.8?<a href="/constructor/true">true</a> paid_suggested_post_ton:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.9?<a href="/constructor/true">true</a> id:<a href="/type/int">int</a> from_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/Peer">Peer</a> from_boosts_applied:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.29?<a href="/type/int">int</a> from_rank:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.12?<a href="/type/string">string</a> peer_id:<a href="/type/Peer">Peer</a> saved_peer_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.28?<a href="/type/Peer">Peer</a> fwd_from:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/MessageFwdHeader">MessageFwdHeader</a> via_bot_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/long">long</a> via_business_bot_id:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.0?<a href="/type/long">long</a> guestchat_via_from:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.19?<a href="/type/Peer">Peer</a> reply_to:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/MessageReplyHeader">MessageReplyHeader</a> date:<a href="/type/int">int</a> message:<a href="/type/string">string</a> media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/MessageMedia">MessageMedia</a> reply_markup:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/ReplyMarkup">ReplyMarkup</a> entities:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; views:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/int">int</a> forwards:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/int">int</a> replies:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/type/MessageReplies">MessageReplies</a> edit_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/int">int</a> post_author:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/type/string">string</a> grouped_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/long">long</a> reactions:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/type/MessageReactions">MessageReactions</a> restriction_reason:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/RestrictionReason">RestrictionReason</a>&gt; ttl_period:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.25?<a href="/type/int">int</a> quick_reply_shortcut_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.30?<a href="/type/int">int</a> effect:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.2?<a href="/type/long">long</a> factcheck:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.3?<a href="/type/FactCheck">FactCheck</a> report_delivery_until_date:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.5?<a href="/type/int">int</a> paid_message_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.6?<a href="/type/long">long</a> suggested_post:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.7?<a href="/type/SuggestedPost">SuggestedPost</a> schedule_repeat_period:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.10?<a href="/type/int">int</a> summary_from_language:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.11?<a href="/type/string">string</a> = <a href="/type/Message">Message</a>;\

<a href="/constructor/auth.sentCodePaymentRequired">auth.sentCodePaymentRequired</a>#f8827ebf store_product:<a href="/type/string">string</a> phone_code_hash:<a href="/type/string">string</a> support_email_address:<a href="/type/string">string</a> support_email_subject:<a href="/type/string">string</a> premium_days:<a href="/type/int">int</a> currency:<a href="/type/string">string</a> amount:<a href="/type/long">long</a> = <a href="/type/auth.SentCode">auth.SentCode</a>;\

<a href="/constructor/updateBotGuestChatQuery">updateBotGuestChatQuery</a>#cdd4093d flags:<a href="/type/%23">#</a> query_id:<a href="/type/long">long</a> message:<a href="/type/Message">Message</a> reference_messages:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Message">Message</a>&gt; qts:<a href="/type/int">int</a> = <a href="/type/Update">Update</a>;
<a href="/constructor/updateAiComposeTones">updateAiComposeTones</a>#8c0f91fb = <a href="/type/Update">Update</a>;\

<a href="/constructor/topPeerCategoryBotsGuestChat">topPeerCategoryBotsGuestChat</a>#6c24f3dd = <a href="/type/TopPeerCategory">TopPeerCategory</a>;\

<a href="/constructor/poll">poll</a>#966e2dbf id:<a href="/type/long">long</a> flags:<a href="/type/%23">#</a> closed:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> public_voters:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> multiple_choice:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> quiz:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> open_answers:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> revoting_disabled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> shuffle_answers:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/constructor/true">true</a> hide_results_until_close:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/constructor/true">true</a> creator:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> subscribers_only:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> question:<a href="/type/TextWithEntities">TextWithEntities</a> answers:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/PollAnswer">PollAnswer</a>&gt; close_period:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/int">int</a> close_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/int">int</a> countries_iso2:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/string">string</a>&gt; hash:<a href="/type/long">long</a> = <a href="/type/Poll">Poll</a>;
<a href="/constructor/pollResults">pollResults</a>#ba7bb15e flags:<a href="/type/%23">#</a> min:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> has_unread_votes:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> can_view_stats:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> results:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/PollAnswerVoters">PollAnswerVoters</a>&gt; total_voters:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/int">int</a> recent_voters:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Peer">Peer</a>&gt; solution:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/string">string</a> solution_entities:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; solution_media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/MessageMedia">MessageMedia</a> = <a href="/type/PollResults">PollResults</a>;\

<a href="/constructor/chatBannedRights">chatBannedRights</a>#9f120418 flags:<a href="/type/%23">#</a> view_messages:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> send_messages:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> send_media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> send_stickers:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> send_gifs:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> send_games:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> send_inline:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> embed_links:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> send_polls:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/constructor/true">true</a> change_info:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> invite_users:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/constructor/true">true</a> pin_messages:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/constructor/true">true</a> manage_topics:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/constructor/true">true</a> send_photos:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/constructor/true">true</a> send_videos:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/constructor/true">true</a> send_roundvideos:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/constructor/true">true</a> send_audios:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/constructor/true">true</a> send_voices:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/constructor/true">true</a> send_docs:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.24?<a href="/constructor/true">true</a> send_plain:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.25?<a href="/constructor/true">true</a> edit_rank:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.26?<a href="/constructor/true">true</a> send_reactions:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.27?<a href="/constructor/true">true</a> until_date:<a href="/type/int">int</a> = <a href="/type/ChatBannedRights">ChatBannedRights</a>;\

<a href="/constructor/webPageAttributeAiComposeTone">webPageAttributeAiComposeTone</a>#7781fe18 emoji_id:<a href="/type/long">long</a> = <a href="/type/WebPageAttribute">WebPageAttribute</a>;\

<a href="/constructor/inputStorePaymentAuthCode">inputStorePaymentAuthCode</a>#3fc18057 flags:<a href="/type/%23">#</a> restore:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> phone_number:<a href="/type/string">string</a> phone_code_hash:<a href="/type/string">string</a> premium_days:<a href="/type/int">int</a> currency:<a href="/type/string">string</a> amount:<a href="/type/long">long</a> = <a href="/type/InputStorePaymentPurpose">InputStorePaymentPurpose</a>;\

<a href="/constructor/stats.pollStats">stats.pollStats</a>#2999beed votes_graph:<a href="/type/StatsGraph">StatsGraph</a> = <a href="/type/stats.PollStats">stats.PollStats</a>;\

<a href="/constructor/inputAiComposeToneDefault">inputAiComposeToneDefault</a>#1fe9a9bf tone:<a href="/type/string">string</a> = <a href="/type/InputAiComposeTone">InputAiComposeTone</a>;
<a href="/constructor/inputAiComposeToneID">inputAiComposeToneID</a>#0773c080 id:<a href="/type/long">long</a> access_hash:<a href="/type/long">long</a> = <a href="/type/InputAiComposeTone">InputAiComposeTone</a>;
<a href="/constructor/inputAiComposeToneSlug">inputAiComposeToneSlug</a>#1fa01357 slug:<a href="/type/string">string</a> = <a href="/type/InputAiComposeTone">InputAiComposeTone</a>;\

<a href="/constructor/aiComposeTone">aiComposeTone</a>#cff63ea9 flags:<a href="/type/%23">#</a> creator:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> access_hash:<a href="/type/long">long</a> slug:<a href="/type/string">string</a> title:<a href="/type/string">string</a> emoji_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/long">long</a> prompt:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/string">string</a> installs_count:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/int">int</a> author_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/long">long</a> example_english:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/AiComposeToneExample">AiComposeToneExample</a> = <a href="/type/AiComposeTone">AiComposeTone</a>;
<a href="/constructor/aiComposeToneDefault">aiComposeToneDefault</a>#9bad6414 tone:<a href="/type/string">string</a> emoji_id:<a href="/type/long">long</a> title:<a href="/type/string">string</a> = <a href="/type/AiComposeTone">AiComposeTone</a>;
<a href="/constructor/aicompose.tonesNotModified">aicompose.tonesNotModified</a>#c1f46103 = <a href="/type/aicompose.Tones">aicompose.Tones</a>;
<a href="/constructor/aicompose.tones">aicompose.tones</a>#6c9d0efe hash:<a href="/type/long">long</a> tones:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/AiComposeTone">AiComposeTone</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/aicompose.Tones">aicompose.Tones</a>;
<a href="/constructor/aiComposeToneExample">aiComposeToneExample</a>#f1d628ec from:<a href="/type/TextWithEntities">TextWithEntities</a> to:<a href="/type/TextWithEntities">TextWithEntities</a> = <a href="/type/AiComposeToneExample">AiComposeToneExample</a>;\

<a href="/constructor/bots.accessSettings">bots.accessSettings</a>#dd1fbf93 flags:<a href="/type/%23">#</a> restricted:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> add_users:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/bots.AccessSettings">bots.AccessSettings</a>;\

---functions---\

<a href="/method/contacts.getTopPeers">contacts.getTopPeers</a>#973478b6 flags:<a href="/type/%23">#</a> correspondents:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> bots_pm:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> bots_inline:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> phone_calls:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> forward_users:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> forward_chats:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> groups:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> channels:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/constructor/true">true</a> bots_app:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/constructor/true">true</a> bots_guestchat:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/constructor/true">true</a> offset:<a href="/type/int">int</a> limit:<a href="/type/int">int</a> hash:<a href="/type/long">long</a> = <a href="/type/contacts.TopPeers">contacts.TopPeers</a>;\

<a href="/method/messages.composeMessageWithAI">messages.composeMessageWithAI</a>#daecc589 flags:<a href="/type/%23">#</a> proofread:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> emojify:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> text:<a href="/type/TextWithEntities">TextWithEntities</a> translate_to_lang:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> tone:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/InputAiComposeTone">InputAiComposeTone</a> = <a href="/type/messages.ComposedMessageWithAI">messages.ComposedMessageWithAI</a>;
<a href="/method/messages.setBotGuestChatResult">messages.setBotGuestChatResult</a>#b8f106e3 query_id:<a href="/type/long">long</a> result:<a href="/type/InputBotInlineResult">InputBotInlineResult</a> = <a href="/type/InputBotInlineMessageID">InputBotInlineMessageID</a>;
<a href="/method/messages.deleteParticipantReactions">messages.deleteParticipantReactions</a>#a0b80cf8 peer:<a href="/type/InputPeer">InputPeer</a> participant:<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/messages.deleteParticipantReaction">messages.deleteParticipantReaction</a>#e3b7f82c peer:<a href="/type/InputPeer">InputPeer</a> msg_id:<a href="/type/int">int</a> participant:<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.getPersonalChannelHistory">messages.getPersonalChannelHistory</a>#55fb0996 user_id:<a href="/type/InputUser">InputUser</a> limit:<a href="/type/int">int</a> max_id:<a href="/type/int">int</a> min_id:<a href="/type/int">int</a> hash:<a href="/type/long">long</a> = <a href="/type/messages.Messages">messages.Messages</a>;\

<a href="/method/bots.getAccessSettings">bots.getAccessSettings</a>#213853a3 bot:<a href="/type/InputUser">InputUser</a> = <a href="/type/bots.AccessSettings">bots.AccessSettings</a>;
<a href="/method/bots.editAccessSettings">bots.editAccessSettings</a>#31813cd8 flags:<a href="/type/%23">#</a> restricted:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> bot:<a href="/type/InputUser">InputUser</a> add_users:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputUser">InputUser</a>&gt; = <a href="/type/Bool">Bool</a>;\

<a href="/method/stats.getPollStats">stats.getPollStats</a>#c27dfa68 flags:<a href="/type/%23">#</a> dark:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> msg_id:<a href="/type/int">int</a> = <a href="/type/stats.PollStats">stats.PollStats</a>;\

<a href="/method/aicompose.createTone">aicompose.createTone</a>#4aa83913 flags:<a href="/type/%23">#</a> display_author:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> emoji_id:<a href="/type/long">long</a> title:<a href="/type/string">string</a> prompt:<a href="/type/string">string</a> = <a href="/type/AiComposeTone">AiComposeTone</a>;
<a href="/method/aicompose.updateTone">aicompose.updateTone</a>#903bcf59 flags:<a href="/type/%23">#</a> tone:<a href="/type/InputAiComposeTone">InputAiComposeTone</a> display_author:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/Bool">Bool</a> emoji_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/long">long</a> title:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> prompt:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/string">string</a> = <a href="/type/AiComposeTone">AiComposeTone</a>;
<a href="/method/aicompose.saveTone">aicompose.saveTone</a>#1782cbb1 tone:<a href="/type/InputAiComposeTone">InputAiComposeTone</a> unsave:<a href="/type/Bool">Bool</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/aicompose.deleteTone">aicompose.deleteTone</a>#dd39316a tone:<a href="/type/InputAiComposeTone">InputAiComposeTone</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/aicompose.getTone">aicompose.getTone</a>#b2e8ba03 tone:<a href="/type/InputAiComposeTone">InputAiComposeTone</a> = <a href="/type/aicompose.Tones">aicompose.Tones</a>;
<a href="/method/aicompose.getTones">aicompose.getTones</a>#abd59201 hash:<a href="/type/long">long</a> = <a href="/type/aicompose.Tones">aicompose.Tones</a>;
<a href="/method/aicompose.getToneExample">aicompose.getToneExample</a>#d1b4ab14 tone:<a href="/type/InputAiComposeTone">InputAiComposeTone</a> num:<a href="/type/int">int</a> = <a href="/type/AiComposeToneExample">AiComposeToneExample</a>;\

</code></pre></div>

### [Layer 224](/schema?layer=224)

This layer introduces the following features:

- [AI message editor »](/api/ai.md#compose-messages)
- [Diff styled text entities »](/api/entities.md#diff-entities)
- [Message views and read metrics »](/api/views.md)
- [Managed bots »](/api/bots/managed-bots.md)
- [Managed bot manager info »](/api/profile.md#managed-bot-manager)
- [Peer requests for mini apps »](/api/bots/buttons.md#requesting-peers-via-mini-apps)
- [Detailed message metrics »](/api/views.md#read-metrics)
- [Open-answer polls »](/api/poll.md#open-answer-polls)
- [Unread poll votes »](/api/poll.md#unread-poll-votes)
- [Poll answer media attachments »](/api/poll.md#sending-a-poll)
- [Replies to poll options »](/api/poll.md#replying-to-poll-options)
- [Search for poll messages »](/api/poll.md#searching-for-polls)
- [Unofficial client warning »](/api/profile.md#unofficial-client-warning)

#### API constants

##### Incoming web events

Incoming web events documented [here &raquo;](/api/web-events.md#event-types).

- Added [`web_app_request_chat` &raquo;](/api/web-events.md#web-app-request-chat)

##### Mini app outgoing events

Outgoing mini app events documented [here &raquo;](/api/bots/webapps.md#incoming-events-client-to-mini-app).

- Added [`requested_chat_failed` &raquo;](/api/bots/webapps.md#requested-chat-failed)
- Added [`requested_chat_sent` &raquo;](/api/bots/webapps.md#requested-chat-sent)

##### Premium features

[Telegram Premium feature identifiers &raquo;](/api/premium.md#telegram-premium-features).

- Added [`ai_compose` &raquo;](/api/premium.md#ai-compose)

##### Premium limits

[Telegram Premium limit identifiers &raquo;](/api/premium.md#double-limits).

- Added [`double_limits__bots_create` &raquo;](/api/premium.md#double-limits-bots-create)

##### Web page type values

Web page type values from the [webPage](/constructor/webPage.md) constructor.

- Added `telegram_newbot`

#### [Schema](/schema.md) changes

##### New Methods

* Added [messages.composeMessageWithAI](/method/messages.composeMessageWithAI.md) - 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 »](/api/ai.md#compose-messages) for more info!
* Added [messages.reportReadMetrics](/method/messages.reportReadMetrics.md) - Report viewport read metrics for visible messages, indicating how long each message stayed in the chat viewport, see [here »](/api/views.md#read-metrics) for more info on the full flow.
* Added [messages.reportMusicListen](/method/messages.reportMusicListen.md) - Report the listening duration of a music track (audio document without the `voice` flag), see [here »](/api/views.md#music-listens) for more info on the full flow.
* Added [messages.addPollAnswer](/method/messages.addPollAnswer.md) - Add an answer option to an [open-answer poll »](/api/poll.md#open-answer-polls)
* Added [messages.deletePollAnswer](/method/messages.deletePollAnswer.md) - Remove an answer option from an [open-answer poll »](/api/poll.md#open-answer-polls)
* Added [messages.getUnreadPollVotes](/method/messages.getUnreadPollVotes.md) - Get messages containing polls with [unread votes »](/api/poll.md#unread-poll-votes)
* Added [messages.readPollVotes](/method/messages.readPollVotes.md) - Mark all [unread poll votes »](/api/poll.md#unread-poll-votes) in a chat as read
* Added [bots.checkUsername](/method/bots.checkUsername.md) - Check whether a username is available and valid for use when [creating a managed bot »](/api/bots/managed-bots.md#creating-a-managed-bot).
* Added [bots.createBot](/method/bots.createBot.md) - Create a [managed bot »](/api/bots/managed-bots.md#creating-a-managed-bot) owned by the current user and controlled by the specified manager bot.
* Added [bots.exportBotToken](/method/bots.exportBotToken.md) - Export the bot token of a [managed bot »](/api/bots/managed-bots.md#managing-a-managed-bot); can only be called by the manager bot.
* Added [bots.requestWebViewButton](/method/bots.requestWebViewButton.md) - Bots may use this method to prepare a peer request button for a [Mini App](/api/bots/webapps.md), see [here »](/api/bots/buttons.md#requesting-peers-via-mini-apps) for more info.
* Added [bots.getRequestedWebViewButton](/method/bots.getRequestedWebViewButton.md) - Fetch the peer request button a bot prepared for a [Mini App](/api/bots/webapps.md) with [bots.requestWebViewButton](/method/bots.requestWebViewButton.md), invoked when the Mini App emits a [`web_app_request_chat`](/api/web-events.md#web-app-request-chat) event, see [here »](/api/bots/buttons.md#requesting-peers-via-mini-apps) for more info.

##### Changed Methods

* Added **poll_hash** parameter in [messages.getPollResults](/method/messages.getPollResults.md)
* Added **tone** parameter in [messages.translateText](/method/messages.translateText.md)
* Added **flags**, **webapp_req_id** parameters, changed type of **msg_id** from **int** to **flags.0?int** in [messages.sendBotRequestedPeer](/method/messages.sendBotRequestedPeer.md)
* Added **tone** parameter in [messages.summarizeText](/method/messages.summarizeText.md)
* Added **music** parameter in [stories.sendStory](/method/stories.sendStory.md)
* Added **music** parameter in [stories.editStory](/method/stories.editStory.md)

##### New Constructors

* Added [messageActionPollAppendAnswer](/constructor/messageActionPollAppendAnswer.md) - A new answer option was added to an [open-answer poll »](/api/poll.md#open-answer-polls)
* Added [messageActionPollDeleteAnswer](/constructor/messageActionPollDeleteAnswer.md) - An answer option was removed from an [open-answer poll »](/api/poll.md#open-answer-polls)
* Added [messageActionManagedBotCreated](/constructor/messageActionManagedBotCreated.md) - Service message sent by a user to a manager bot when a new [managed bot »](/api/bots/managed-bots.md) is created through it, by invoking [messages.sendBotRequestedPeer](/method/messages.sendBotRequestedPeer.md) with a [requestPeerTypeCreateBot](/constructor/requestPeerTypeCreateBot.md), see [here »](/api/bots/buttons.md#requesting-a-managed-bot) for more info.
* Added [inputMessagesFilterPoll](/constructor/inputMessagesFilterPoll.md) - Filter for poll messages, see [searching for polls »](/api/poll.md#searching-for-polls)
* Added [updateManagedBot](/constructor/updateManagedBot.md) - [Manager bots](/api/bots/managed-bots.md) only: a bot managed by the currently logged in bot was created or updated.
* Added [messageEntityDiffInsert](/constructor/messageEntityDiffInsert.md) - Represents an diff addition: render it by simply <u>underlining</u> the specified section and coloring it in green, see [here »](/api/entities.md#diff-entities) for more info on how to render diff entities.
* Added [messageEntityDiffReplace](/constructor/messageEntityDiffReplace.md) - Represents an diff replacement, render it as follows:
* Added [messageEntityDiffDelete](/constructor/messageEntityDiffDelete.md) - Represents an diff deletion: render it by simply <u>underlining</u> the specified section and coloring it in red, see [here »](/api/entities.md#diff-entities) for more info on how to render diff entities.
* Added [inputPollAnswer](/constructor/inputPollAnswer.md) - An answer option to add to an [open-answer poll »](/api/poll.md#open-answer-polls)
* Added [requestPeerTypeCreateBot](/constructor/requestPeerTypeCreateBot.md) - Used in a [keyboardButtonRequestPeer](/constructor/keyboardButtonRequestPeer.md) by a [manager bot](/api/bots/managed-bots.md) to ask a user to create a new [managed bot »](/api/bots/managed-bots.md), see [here »](/api/bots/buttons.md#requesting-a-managed-bot) for more info.
* Added [inputMessageReadMetric](/constructor/inputMessageReadMetric.md) - Read metric for a single message exposure, describing how long the message was visible in the chat viewport.
* Added [bots.exportedBotToken](/constructor/bots.exportedBotToken.md) - The bot token of a [managed bot »](/api/bots/managed-bots.md#managing-a-managed-bot), exported by the manager bot.
* Added [bots.requestedButton](/constructor/bots.requestedButton.md) - Contains the request ID a bot should pass to a [Mini App](/api/bots/webapps.md) after preparing a peer request button with [bots.requestWebViewButton](/method/bots.requestWebViewButton.md), see [here »](/api/bots/buttons.md#requesting-peers-via-mini-apps) for more info.
* Added [messages.composedMessageWithAI](/constructor/messages.composedMessageWithAI.md) - Represents a message modified by AI.

##### Changed Constructors

* Added **live_photo**, **video** parameters in [inputMediaUploadedPhoto](/constructor/inputMediaUploadedPhoto.md)
* Added **live_photo**, **video** parameters in [inputMediaPhoto](/constructor/inputMediaPhoto.md)
* Added **attached_media**, **solution_media** parameters, changed type of **correct_answers** from **flags.0?Vector&lt;bytes&gt;** to **flags.0?Vector&lt;int&gt;** in [inputMediaPoll](/constructor/inputMediaPoll.md)
* Added **bot_can_manage_bots** parameter in [user](/constructor/user.md)
* Added **live_photo**, **video** parameters in [messageMediaPhoto](/constructor/messageMediaPhoto.md)
* Added **flags**, **attached_media** parameters in [messageMediaPoll](/constructor/messageMediaPoll.md)
* Added **unread_poll_votes_count** parameter in [dialog](/constructor/dialog.md)
* Added **unofficial_security_risk**, **bot_manager_id** parameters in [userFull](/constructor/userFull.md)
* Added **peer**, **msg_id**, **top_msg_id** parameters in [updateMessagePoll](/constructor/updateMessagePoll.md)
* Added **positions** parameter in [updateMessagePollVote](/constructor/updateMessagePollVote.md)
* Added **flags**, **media**, **added_by**, **date** parameters in [pollAnswer](/constructor/pollAnswer.md)
* Added **open_answers**, **revoting_disabled**, **shuffle_answers**, **hide_results_until_close**, **creator**, **hash** parameters in [poll](/constructor/poll.md)
* Added **recent_voters** parameter, changed type of **voters** from **int** to **flags.2?int** in [pollAnswerVoters](/constructor/pollAnswerVoters.md)
* Added **has_unread_votes**, **solution_media** parameters in [pollResults](/constructor/pollResults.md)
* Added **is_app**, **verified_app_name** parameters in [urlAuthResultRequest](/constructor/urlAuthResultRequest.md)
* Added **poll_option** parameter in [messageReplyHeader](/constructor/messageReplyHeader.md)
* Added **unread_poll_votes_count** parameter in [forumTopic](/constructor/forumTopic.md)
* Added **music** parameter in [storyItem](/constructor/storyItem.md)
* Added **poll_option** parameter in [inputReplyToMessage](/constructor/inputReplyToMessage.md)
* Added **poll_votes_notify_from** parameter in [reactionsNotifySettings](/constructor/reactionsNotifySettings.md)

#### [Changes in the file reference database map file &raquo;](/api/file-references.md)

##### New sources

* Added <a id="source-updatemessagepoll-filesourcemessage-without-messages-getscheduledmessages-without-updatenewscheduledmessage"></a>[updateMessagePoll](/constructor/updateMessagePoll.md) - <pre><code>(unless <a href='/method/messages.getScheduledMessages'>messages.getScheduledMessages</a>, <a href='/constructor/updateNewScheduledMessage'>updateNewScheduledMessage</a>) fileSourceMessage{peer: extractPeerIdFromPeerAndStore([updateMessagePoll](/constructor/updateMessagePoll.md).peer?abort_if_empty), id: [updateMessagePoll](/constructor/updateMessagePoll.md).msg_id?abort_if_empty, quick_reply_shortcut_id: false}</code></pre>

##### New traversers incoming

* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messageActionPollAppendAnswer'>messageActionPollAppendAnswer</a>, params: [answer], type: <a href='/type/MessageAction'>MessageAction</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messageActionPollDeleteAnswer'>messageActionPollDeleteAnswer</a>, params: [answer], type: <a href='/type/MessageAction'>MessageAction</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messageMediaPoll'>messageMediaPoll</a>, params: [poll, results, attached_media], type: <a href='/type/MessageMedia'>MessageMedia</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/poll'>poll</a>, params: [answers], type: <a href='/type/Poll'>Poll</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/pollAnswer'>pollAnswer</a>, params: [media], type: <a href='/type/PollAnswer'>PollAnswer</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/pollResults'>pollResults</a>, params: [solution_media], type: <a href='/type/PollResults'>PollResults</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/updateMessagePoll'>updateMessagePoll</a>, params: [poll, results], push_sources: [<a href='/api/file-references/sources#source-updatemessagepoll-filesourcemessage-without-messages-getscheduledmessages-without-updatenewscheduledmessage'>fileSourceMessage</a> (unless <a href='/method/messages.getScheduledMessages'>messages.getScheduledMessages</a>, <a href='/constructor/updateNewScheduledMessage'>updateNewScheduledMessage</a>)], type: <a href='/type/Update'>Update</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getUnreadPollVotes'>messages.getUnreadPollVotes</a>}</code></pre>

##### Changed traversers incoming

* Changed messageMediaPhoto traverseIncomingConstructor from <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messageMediaPhoto'>messageMediaPhoto</a>, params: [photo], type: <a href='/type/MessageMedia'>MessageMedia</a>}</code></pre> to <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messageMediaPhoto'>messageMediaPhoto</a>, params: [photo, video], type: <a href='/type/MessageMedia'>MessageMedia</a>}</code></pre>
* Changed storyItem traverseIncomingConstructor from <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/storyItem'>storyItem</a>, params: [media], push_sources: [<a href='/api/file-references/sources#source-storyitem-filesourcestory-stories-getpinnedstories'>fileSourceStory</a> (needs <a href='/method/stories.getPinnedStories'>stories.getPinnedStories</a>), <a href='/api/file-references/sources#source-storyitem-filesourcestory-stories-getstoriesarchive'>fileSourceStory</a> (needs <a href='/method/stories.getStoriesArchive'>stories.getStoriesArchive</a>), <a href='/api/file-references/sources#source-storyitem-filesourcestory-stories-getstoriesbyid'>fileSourceStory</a> (needs <a href='/method/stories.getStoriesByID'>stories.getStoriesByID</a>), <a href='/api/file-references/sources#source-storyitem-filesourcestory-stories-getalbumstories'>fileSourceStory</a> (needs <a href='/method/stories.getAlbumStories'>stories.getAlbumStories</a>), <a href='/api/file-references/sources#source-storyitem-filesourcestory-peerstories'>fileSourceStory</a> (needs <a href='/constructor/peerStories'>peerStories</a>), <a href='/api/file-references/sources#source-storyitem-filesourcestory'>fileSourceStory</a>], type: <a href='/type/StoryItem'>StoryItem</a>}</code></pre> to <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/storyItem'>storyItem</a>, params: [media, music], push_sources: [<a href='/api/file-references/sources#source-storyitem-filesourcestory-stories-getpinnedstories'>fileSourceStory</a> (needs <a href='/method/stories.getPinnedStories'>stories.getPinnedStories</a>), <a href='/api/file-references/sources#source-storyitem-filesourcestory-stories-getstoriesarchive'>fileSourceStory</a> (needs <a href='/method/stories.getStoriesArchive'>stories.getStoriesArchive</a>), <a href='/api/file-references/sources#source-storyitem-filesourcestory-stories-getstoriesbyid'>fileSourceStory</a> (needs <a href='/method/stories.getStoriesByID'>stories.getStoriesByID</a>), <a href='/api/file-references/sources#source-storyitem-filesourcestory-stories-getalbumstories'>fileSourceStory</a> (needs <a href='/method/stories.getAlbumStories'>stories.getAlbumStories</a>), <a href='/api/file-references/sources#source-storyitem-filesourcestory-peerstories'>fileSourceStory</a> (needs <a href='/constructor/peerStories'>peerStories</a>), <a href='/api/file-references/sources#source-storyitem-filesourcestory'>fileSourceStory</a>], type: <a href='/type/StoryItem'>StoryItem</a>}</code></pre>

##### New traversers outgoing

* Added <pre><code>traverseMethodCall{name: <a href='/method/messages.addPollAnswer'>messages.addPollAnswer</a>, params: [answer]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/messages.reportMusicListen'>messages.reportMusicListen</a>, params: [id]}</code></pre>
* Added <pre><code>traverseOutgoingConstructor{predicate: <a href='/constructor/inputMediaPoll'>inputMediaPoll</a>, params: [attached_media, solution_media], type: <a href='/type/InputMedia'>InputMedia</a>}</code></pre>
* Added <pre><code>traverseOutgoingConstructor{predicate: <a href='/constructor/inputPollAnswer'>inputPollAnswer</a>, params: [media], type: <a href='/type/PollAnswer'>PollAnswer</a>}</code></pre>

##### Changed traversers outgoing

* Changed stories.editStory traverseMethodCall from <pre><code>traverseMethodCall{name: <a href='/method/stories.editStory'>stories.editStory</a>, params: [media]}</code></pre> to <pre><code>traverseMethodCall{name: <a href='/method/stories.editStory'>stories.editStory</a>, params: [media, music]}</code></pre>
* Changed stories.sendStory traverseMethodCall from <pre><code>traverseMethodCall{name: <a href='/method/stories.sendStory'>stories.sendStory</a>, params: [media]}</code></pre> to <pre><code>traverseMethodCall{name: <a href='/method/stories.sendStory'>stories.sendStory</a>, params: [media, music]}</code></pre>
* Changed inputMediaPhoto traverseOutgoingConstructor from <pre><code>traverseOutgoingConstructor{predicate: <a href='/constructor/inputMediaPhoto'>inputMediaPhoto</a>, params: [id], type: <a href='/type/InputMedia'>InputMedia</a>}</code></pre> to <pre><code>traverseOutgoingConstructor{predicate: <a href='/constructor/inputMediaPhoto'>inputMediaPhoto</a>, params: [id, video], type: <a href='/type/InputMedia'>InputMedia</a>}</code></pre>
* Changed inputMediaUploadedPhoto traverseOutgoingConstructor from <pre><code>traverseOutgoingConstructor{predicate: <a href='/constructor/inputMediaUploadedPhoto'>inputMediaUploadedPhoto</a>, params: [file, stickers], type: <a href='/type/InputMedia'>InputMedia</a>}</code></pre> to <pre><code>traverseOutgoingConstructor{predicate: <a href='/constructor/inputMediaUploadedPhoto'>inputMediaUploadedPhoto</a>, params: [file, stickers, video], type: <a href='/type/InputMedia'>InputMedia</a>}</code></pre>

#### [Schema](/schema.md)

<div><pre><code><a href="/constructor/inputMediaUploadedPhoto">inputMediaUploadedPhoto</a>#7d8375da flags:<a href="/type/%23">#</a> spoiler:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> live_photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> file:<a href="/type/InputFile">InputFile</a> stickers:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputDocument">InputDocument</a>&gt; ttl_seconds:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/int">int</a> video:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/InputDocument">InputDocument</a> = <a href="/type/InputMedia">InputMedia</a>;
<a href="/constructor/inputMediaPhoto">inputMediaPhoto</a>#e3af4434 flags:<a href="/type/%23">#</a> spoiler:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> live_photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> id:<a href="/type/InputPhoto">InputPhoto</a> ttl_seconds:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> video:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/InputDocument">InputDocument</a> = <a href="/type/InputMedia">InputMedia</a>;
<a href="/constructor/inputMediaPoll">inputMediaPoll</a>#883a4108 flags:<a href="/type/%23">#</a> poll:<a href="/type/Poll">Poll</a> correct_answers:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; attached_media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/InputMedia">InputMedia</a> solution:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> solution_entities:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; solution_media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/InputMedia">InputMedia</a> = <a href="/type/InputMedia">InputMedia</a>;\

<a href="/constructor/user">user</a>#31774388 flags:<a href="/type/%23">#</a> self:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> contact:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> mutual_contact:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> deleted:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/constructor/true">true</a> bot:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/constructor/true">true</a> bot_chat_history:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/constructor/true">true</a> bot_nochats:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/constructor/true">true</a> verified:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/constructor/true">true</a> restricted:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/constructor/true">true</a> min:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/constructor/true">true</a> bot_inline_geo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/constructor/true">true</a> support:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/constructor/true">true</a> scam:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.24?<a href="/constructor/true">true</a> apply_min_photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.25?<a href="/constructor/true">true</a> fake:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.26?<a href="/constructor/true">true</a> bot_attach_menu:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.27?<a href="/constructor/true">true</a> premium:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.28?<a href="/constructor/true">true</a> attach_menu_enabled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.29?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> bot_can_edit:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.1?<a href="/constructor/true">true</a> close_friend:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.2?<a href="/constructor/true">true</a> stories_hidden:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.3?<a href="/constructor/true">true</a> stories_unavailable:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.4?<a href="/constructor/true">true</a> contact_require_premium:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.10?<a href="/constructor/true">true</a> bot_business:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.11?<a href="/constructor/true">true</a> bot_has_main_app:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.13?<a href="/constructor/true">true</a> bot_forum_view:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.16?<a href="/constructor/true">true</a> bot_forum_can_manage_topics:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.17?<a href="/constructor/true">true</a> bot_can_manage_bots:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.18?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> access_hash:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/long">long</a> first_name:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> last_name:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> username:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/string">string</a> phone:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/string">string</a> photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/UserProfilePhoto">UserProfilePhoto</a> status:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/UserStatus">UserStatus</a> bot_info_version:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/int">int</a> restriction_reason:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/RestrictionReason">RestrictionReason</a>&gt; bot_inline_placeholder:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/type/string">string</a> lang_code:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/type/string">string</a> emoji_status:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.30?<a href="/type/EmojiStatus">EmojiStatus</a> usernames:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Username">Username</a>&gt; stories_max_id:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.5?<a href="/type/RecentStory">RecentStory</a> color:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.8?<a href="/type/PeerColor">PeerColor</a> profile_color:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.9?<a href="/type/PeerColor">PeerColor</a> bot_active_users:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.12?<a href="/type/int">int</a> bot_verification_icon:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.14?<a href="/type/long">long</a> send_paid_messages_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.15?<a href="/type/long">long</a> = <a href="/type/User">User</a>;\

<a href="/constructor/messageMediaPhoto">messageMediaPhoto</a>#e216eb63 flags:<a href="/type/%23">#</a> spoiler:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> live_photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/Photo">Photo</a> ttl_seconds:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/int">int</a> video:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/Document">Document</a> = <a href="/type/MessageMedia">MessageMedia</a>;
<a href="/constructor/messageMediaPoll">messageMediaPoll</a>#773f4e66 flags:<a href="/type/%23">#</a> poll:<a href="/type/Poll">Poll</a> results:<a href="/type/PollResults">PollResults</a> attached_media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/MessageMedia">MessageMedia</a> = <a href="/type/MessageMedia">MessageMedia</a>;
<a href="/constructor/messageActionPollAppendAnswer">messageActionPollAppendAnswer</a>#9da1cd6c answer:<a href="/type/PollAnswer">PollAnswer</a> = <a href="/type/MessageAction">MessageAction</a>;
<a href="/constructor/messageActionPollDeleteAnswer">messageActionPollDeleteAnswer</a>#399674dc answer:<a href="/type/PollAnswer">PollAnswer</a> = <a href="/type/MessageAction">MessageAction</a>;
<a href="/constructor/messageActionManagedBotCreated">messageActionManagedBotCreated</a>#16605e3e bot_id:<a href="/type/long">long</a> = <a href="/type/MessageAction">MessageAction</a>;\

<a href="/constructor/dialog">dialog</a>#fc89f7f3 flags:<a href="/type/%23">#</a> pinned:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> unread_mark:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> view_forum_as_messages:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> peer:<a href="/type/Peer">Peer</a> top_message:<a href="/type/int">int</a> read_inbox_max_id:<a href="/type/int">int</a> read_outbox_max_id:<a href="/type/int">int</a> unread_count:<a href="/type/int">int</a> unread_mentions_count:<a href="/type/int">int</a> unread_reactions_count:<a href="/type/int">int</a> unread_poll_votes_count:<a href="/type/int">int</a> notify_settings:<a href="/type/PeerNotifySettings">PeerNotifySettings</a> pts:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> draft:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/DraftMessage">DraftMessage</a> folder_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/int">int</a> ttl_period:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/int">int</a> = <a href="/type/Dialog">Dialog</a>;\

<a href="/constructor/userFull">userFull</a>#06cbe645 flags:<a href="/type/%23">#</a> blocked:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> phone_calls_available:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> phone_calls_private:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> can_pin_message:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> has_scheduled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> video_calls_available:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/constructor/true">true</a> voice_messages_forbidden:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/constructor/true">true</a> translations_disabled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/constructor/true">true</a> stories_pinned_available:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.26?<a href="/constructor/true">true</a> blocked_my_stories_from:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.27?<a href="/constructor/true">true</a> wallpaper_overridden:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.28?<a href="/constructor/true">true</a> contact_require_premium:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.29?<a href="/constructor/true">true</a> read_dates_private:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.30?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> sponsored_enabled:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.7?<a href="/constructor/true">true</a> can_view_revenue:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.9?<a href="/constructor/true">true</a> bot_can_manage_emoji_status:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.10?<a href="/constructor/true">true</a> display_gifts_button:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.16?<a href="/constructor/true">true</a> noforwards_my_enabled:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.23?<a href="/constructor/true">true</a> noforwards_peer_enabled:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.24?<a href="/constructor/true">true</a> unofficial_security_risk:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.26?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> about:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> settings:<a href="/type/PeerSettings">PeerSettings</a> personal_photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/type/Photo">Photo</a> profile_photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/Photo">Photo</a> fallback_photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/type/Photo">Photo</a> notify_settings:<a href="/type/PeerNotifySettings">PeerNotifySettings</a> bot_info:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/BotInfo">BotInfo</a> pinned_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/int">int</a> common_chats_count:<a href="/type/int">int</a> folder_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/int">int</a> ttl_period:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/int">int</a> theme:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/ChatTheme">ChatTheme</a> private_forward_name:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/type/string">string</a> bot_group_admin_rights:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/ChatAdminRights">ChatAdminRights</a> bot_broadcast_admin_rights:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/type/ChatAdminRights">ChatAdminRights</a> wallpaper:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.24?<a href="/type/WallPaper">WallPaper</a> stories:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.25?<a href="/type/PeerStories">PeerStories</a> business_work_hours:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.0?<a href="/type/BusinessWorkHours">BusinessWorkHours</a> business_location:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.1?<a href="/type/BusinessLocation">BusinessLocation</a> business_greeting_message:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.2?<a href="/type/BusinessGreetingMessage">BusinessGreetingMessage</a> business_away_message:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.3?<a href="/type/BusinessAwayMessage">BusinessAwayMessage</a> business_intro:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.4?<a href="/type/BusinessIntro">BusinessIntro</a> birthday:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.5?<a href="/type/Birthday">Birthday</a> personal_channel_id:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.6?<a href="/type/long">long</a> personal_channel_message:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.6?<a href="/type/int">int</a> stargifts_count:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.8?<a href="/type/int">int</a> starref_program:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.11?<a href="/type/StarRefProgram">StarRefProgram</a> bot_verification:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.12?<a href="/type/BotVerification">BotVerification</a> send_paid_messages_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.14?<a href="/type/long">long</a> disallowed_gifts:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.15?<a href="/type/DisallowedGiftsSettings">DisallowedGiftsSettings</a> stars_rating:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.17?<a href="/type/StarsRating">StarsRating</a> stars_my_pending_rating:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.18?<a href="/type/StarsRating">StarsRating</a> stars_my_pending_rating_date:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.18?<a href="/type/int">int</a> main_tab:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.20?<a href="/type/ProfileTab">ProfileTab</a> saved_music:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.21?<a href="/type/Document">Document</a> note:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.22?<a href="/type/TextWithEntities">TextWithEntities</a> bot_manager_id:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.25?<a href="/type/long">long</a> = <a href="/type/UserFull">UserFull</a>;\

<a href="/constructor/inputMessagesFilterPoll">inputMessagesFilterPoll</a>#fa2bc90a = <a href="/type/MessagesFilter">MessagesFilter</a>;\

<a href="/constructor/updateMessagePoll">updateMessagePoll</a>#d64c522b flags:<a href="/type/%23">#</a> peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/Peer">Peer</a> msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/int">int</a> top_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/int">int</a> poll_id:<a href="/type/long">long</a> poll:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/Poll">Poll</a> results:<a href="/type/PollResults">PollResults</a> = <a href="/type/Update">Update</a>;
<a href="/constructor/updateMessagePollVote">updateMessagePollVote</a>#7699f014 poll_id:<a href="/type/long">long</a> peer:<a href="/type/Peer">Peer</a> options:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/bytes">bytes</a>&gt; positions:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; qts:<a href="/type/int">int</a> = <a href="/type/Update">Update</a>;
<a href="/constructor/updateManagedBot">updateManagedBot</a>#4880ed9a user_id:<a href="/type/long">long</a> bot_id:<a href="/type/long">long</a> qts:<a href="/type/int">int</a> = <a href="/type/Update">Update</a>;\

<a href="/constructor/messageEntityDiffInsert">messageEntityDiffInsert</a>#71777116 offset:<a href="/type/int">int</a> length:<a href="/type/int">int</a> = <a href="/type/MessageEntity">MessageEntity</a>;
<a href="/constructor/messageEntityDiffReplace">messageEntityDiffReplace</a>#c6c1e5a7 offset:<a href="/type/int">int</a> length:<a href="/type/int">int</a> old_text:<a href="/type/string">string</a> = <a href="/type/MessageEntity">MessageEntity</a>;
<a href="/constructor/messageEntityDiffDelete">messageEntityDiffDelete</a>#0652c1c5 offset:<a href="/type/int">int</a> length:<a href="/type/int">int</a> = <a href="/type/MessageEntity">MessageEntity</a>;\

<a href="/constructor/pollAnswer">pollAnswer</a>#4b7d786a flags:<a href="/type/%23">#</a> text:<a href="/type/TextWithEntities">TextWithEntities</a> option:<a href="/type/bytes">bytes</a> media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/MessageMedia">MessageMedia</a> added_by:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/Peer">Peer</a> date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/int">int</a> = <a href="/type/PollAnswer">PollAnswer</a>;\

<a href="/constructor/inputPollAnswer">inputPollAnswer</a>#199fed96 flags:<a href="/type/%23">#</a> text:<a href="/type/TextWithEntities">TextWithEntities</a> media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/InputMedia">InputMedia</a> = <a href="/type/PollAnswer">PollAnswer</a>;\

<a href="/constructor/poll">poll</a>#b8425be9 id:<a href="/type/long">long</a> flags:<a href="/type/%23">#</a> closed:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> public_voters:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> multiple_choice:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> quiz:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> open_answers:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> revoting_disabled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> shuffle_answers:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/constructor/true">true</a> hide_results_until_close:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/constructor/true">true</a> creator:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> question:<a href="/type/TextWithEntities">TextWithEntities</a> answers:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/PollAnswer">PollAnswer</a>&gt; close_period:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/int">int</a> close_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/int">int</a> hash:<a href="/type/long">long</a> = <a href="/type/Poll">Poll</a>;
<a href="/constructor/pollAnswerVoters">pollAnswerVoters</a>#3645230a flags:<a href="/type/%23">#</a> chosen:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> correct:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> option:<a href="/type/bytes">bytes</a> voters:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/int">int</a> recent_voters:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Peer">Peer</a>&gt; = <a href="/type/PollAnswerVoters">PollAnswerVoters</a>;
<a href="/constructor/pollResults">pollResults</a>#ba7bb15e flags:<a href="/type/%23">#</a> min:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> has_unread_votes:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> results:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/PollAnswerVoters">PollAnswerVoters</a>&gt; total_voters:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/int">int</a> recent_voters:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Peer">Peer</a>&gt; solution:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/string">string</a> solution_entities:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; solution_media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/MessageMedia">MessageMedia</a> = <a href="/type/PollResults">PollResults</a>;\

<a href="/constructor/urlAuthResultRequest">urlAuthResultRequest</a>#3cd623ec flags:<a href="/type/%23">#</a> request_write_access:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> request_phone_number:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> match_codes_first:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> is_app:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> bot:<a href="/type/User">User</a> domain:<a href="/type/string">string</a> browser:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> platform:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> ip:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> region:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> match_codes:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/string">string</a>&gt; user_id_hint:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> verified_app_name:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/string">string</a> = <a href="/type/UrlAuthResult">UrlAuthResult</a>;\

<a href="/constructor/messageReplyHeader">messageReplyHeader</a>#1b97dd66 flags:<a href="/type/%23">#</a> reply_to_scheduled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> forum_topic:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> quote:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/constructor/true">true</a> reply_to_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/int">int</a> reply_to_peer_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/Peer">Peer</a> reply_from:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/MessageFwdHeader">MessageFwdHeader</a> reply_media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/MessageMedia">MessageMedia</a> reply_to_top_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/int">int</a> quote_text:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/string">string</a> quote_entities:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; quote_offset:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/int">int</a> todo_item_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/int">int</a> poll_option:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/type/bytes">bytes</a> = <a href="/type/MessageReplyHeader">MessageReplyHeader</a>;\

<a href="/constructor/forumTopic">forumTopic</a>#fcdad815 flags:<a href="/type/%23">#</a> my:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> closed:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> pinned:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> short:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> hidden:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> title_missing:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> id:<a href="/type/int">int</a> date:<a href="/type/int">int</a> peer:<a href="/type/Peer">Peer</a> title:<a href="/type/string">string</a> icon_color:<a href="/type/int">int</a> icon_emoji_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/long">long</a> top_message:<a href="/type/int">int</a> read_inbox_max_id:<a href="/type/int">int</a> read_outbox_max_id:<a href="/type/int">int</a> unread_count:<a href="/type/int">int</a> unread_mentions_count:<a href="/type/int">int</a> unread_reactions_count:<a href="/type/int">int</a> unread_poll_votes_count:<a href="/type/int">int</a> from_id:<a href="/type/Peer">Peer</a> notify_settings:<a href="/type/PeerNotifySettings">PeerNotifySettings</a> draft:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/DraftMessage">DraftMessage</a> = <a href="/type/ForumTopic">ForumTopic</a>;\

<a href="/constructor/requestPeerTypeCreateBot">requestPeerTypeCreateBot</a>#3e81e078 flags:<a href="/type/%23">#</a> bot_managed:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> suggested_name:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> suggested_username:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> = <a href="/type/RequestPeerType">RequestPeerType</a>;\

<a href="/constructor/storyItem">storyItem</a>#16a4b93c flags:<a href="/type/%23">#</a> pinned:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> public:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> close_friends:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/constructor/true">true</a> min:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/constructor/true">true</a> noforwards:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> edited:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> contacts:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> selected_contacts:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/constructor/true">true</a> out:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/constructor/true">true</a> id:<a href="/type/int">int</a> date:<a href="/type/int">int</a> from_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/type/Peer">Peer</a> fwd_from:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/StoryFwdHeader">StoryFwdHeader</a> expire_date:<a href="/type/int">int</a> caption:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/string">string</a> entities:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; media:<a href="/type/MessageMedia">MessageMedia</a> media_areas:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MediaArea">MediaArea</a>&gt; privacy:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/PrivacyRule">PrivacyRule</a>&gt; views:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/StoryViews">StoryViews</a> sent_reaction:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/Reaction">Reaction</a> albums:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; music:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/type/Document">Document</a> = <a href="/type/StoryItem">StoryItem</a>;\

<a href="/constructor/inputReplyToMessage">inputReplyToMessage</a>#3bd4b7c2 flags:<a href="/type/%23">#</a> reply_to_msg_id:<a href="/type/int">int</a> top_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> reply_to_peer_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/InputPeer">InputPeer</a> quote_text:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> quote_entities:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; quote_offset:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/int">int</a> monoforum_peer_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/InputPeer">InputPeer</a> todo_item_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/int">int</a> poll_option:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/bytes">bytes</a> = <a href="/type/InputReplyTo">InputReplyTo</a>;\

<a href="/constructor/reactionsNotifySettings">reactionsNotifySettings</a>#71e4ea58 flags:<a href="/type/%23">#</a> messages_notify_from:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/ReactionNotificationsFrom">ReactionNotificationsFrom</a> stories_notify_from:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/ReactionNotificationsFrom">ReactionNotificationsFrom</a> poll_votes_notify_from:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/ReactionNotificationsFrom">ReactionNotificationsFrom</a> sound:<a href="/type/NotificationSound">NotificationSound</a> show_previews:<a href="/type/Bool">Bool</a> = <a href="/type/ReactionsNotifySettings">ReactionsNotifySettings</a>;\

<a href="/constructor/inputMessageReadMetric">inputMessageReadMetric</a>#402b4495 msg_id:<a href="/type/int">int</a> view_id:<a href="/type/long">long</a> time_in_view_ms:<a href="/type/int">int</a> active_time_in_view_ms:<a href="/type/int">int</a> height_to_viewport_ratio_permille:<a href="/type/int">int</a> seen_range_ratio_permille:<a href="/type/int">int</a> = <a href="/type/InputMessageReadMetric">InputMessageReadMetric</a>;\

<a href="/constructor/bots.exportedBotToken">bots.exportedBotToken</a>#3c60b621 token:<a href="/type/string">string</a> = <a href="/type/bots.ExportedBotToken">bots.ExportedBotToken</a>;
<a href="/constructor/bots.requestedButton">bots.requestedButton</a>#f13bbcd7 webapp_req_id:<a href="/type/string">string</a> = <a href="/type/bots.RequestedButton">bots.RequestedButton</a>;\

<a href="/constructor/messages.composedMessageWithAI">messages.composedMessageWithAI</a>#90d7adfa flags:<a href="/type/%23">#</a> result_text:<a href="/type/TextWithEntities">TextWithEntities</a> diff_text:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/TextWithEntities">TextWithEntities</a> = <a href="/type/messages.ComposedMessageWithAI">messages.ComposedMessageWithAI</a>;\

---functions---\

<a href="/method/messages.getPollResults">messages.getPollResults</a>#eda3e33b peer:<a href="/type/InputPeer">InputPeer</a> msg_id:<a href="/type/int">int</a> poll_hash:<a href="/type/long">long</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.translateText">messages.translateText</a>#a5eec345 flags:<a href="/type/%23">#</a> peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/InputPeer">InputPeer</a> id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; text:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/TextWithEntities">TextWithEntities</a>&gt; to_lang:<a href="/type/string">string</a> tone:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> = <a href="/type/messages.TranslatedText">messages.TranslatedText</a>;
<a href="/method/messages.sendBotRequestedPeer">messages.sendBotRequestedPeer</a>#6c5cf2a7 flags:<a href="/type/%23">#</a> peer:<a href="/type/InputPeer">InputPeer</a> msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> webapp_req_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> button_id:<a href="/type/int">int</a> requested_peers:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputPeer">InputPeer</a>&gt; = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.summarizeText">messages.summarizeText</a>#abbbd346 flags:<a href="/type/%23">#</a> peer:<a href="/type/InputPeer">InputPeer</a> id:<a href="/type/int">int</a> to_lang:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/string">string</a> tone:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> = <a href="/type/TextWithEntities">TextWithEntities</a>;
<a href="/method/messages.composeMessageWithAI">messages.composeMessageWithAI</a>#fd426afe flags:<a href="/type/%23">#</a> proofread:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> emojify:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> text:<a href="/type/TextWithEntities">TextWithEntities</a> translate_to_lang:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> change_tone:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> = <a href="/type/messages.ComposedMessageWithAI">messages.ComposedMessageWithAI</a>;
<a href="/method/messages.reportReadMetrics">messages.reportReadMetrics</a>#4067c5e6 peer:<a href="/type/InputPeer">InputPeer</a> metrics:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputMessageReadMetric">InputMessageReadMetric</a>&gt; = <a href="/type/Bool">Bool</a>;
<a href="/method/messages.reportMusicListen">messages.reportMusicListen</a>#ddbcd819 id:<a href="/type/InputDocument">InputDocument</a> listened_duration:<a href="/type/int">int</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/messages.addPollAnswer">messages.addPollAnswer</a>#19bc4b6d peer:<a href="/type/InputPeer">InputPeer</a> msg_id:<a href="/type/int">int</a> answer:<a href="/type/PollAnswer">PollAnswer</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.deletePollAnswer">messages.deletePollAnswer</a>#ac8505a5 peer:<a href="/type/InputPeer">InputPeer</a> msg_id:<a href="/type/int">int</a> option:<a href="/type/bytes">bytes</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.getUnreadPollVotes">messages.getUnreadPollVotes</a>#43286cf2 flags:<a href="/type/%23">#</a> peer:<a href="/type/InputPeer">InputPeer</a> top_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> offset_id:<a href="/type/int">int</a> add_offset:<a href="/type/int">int</a> limit:<a href="/type/int">int</a> max_id:<a href="/type/int">int</a> min_id:<a href="/type/int">int</a> = <a href="/type/messages.Messages">messages.Messages</a>;
<a href="/method/messages.readPollVotes">messages.readPollVotes</a>#1720b4d8 flags:<a href="/type/%23">#</a> peer:<a href="/type/InputPeer">InputPeer</a> top_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> = <a href="/type/messages.AffectedHistory">messages.AffectedHistory</a>;\

<a href="/method/bots.checkUsername">bots.checkUsername</a>#87f2219b username:<a href="/type/string">string</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/bots.createBot">bots.createBot</a>#e5b17f2b flags:<a href="/type/%23">#</a> via_deeplink:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> name:<a href="/type/string">string</a> username:<a href="/type/string">string</a> manager_id:<a href="/type/InputUser">InputUser</a> = <a href="/type/User">User</a>;
<a href="/method/bots.exportBotToken">bots.exportBotToken</a>#bd0d99eb bot:<a href="/type/InputUser">InputUser</a> revoke:<a href="/type/Bool">Bool</a> = <a href="/type/bots.ExportedBotToken">bots.ExportedBotToken</a>;
<a href="/method/bots.requestWebViewButton">bots.requestWebViewButton</a>#31a2a35e user_id:<a href="/type/InputUser">InputUser</a> button:<a href="/type/KeyboardButton">KeyboardButton</a> = <a href="/type/bots.RequestedButton">bots.RequestedButton</a>;
<a href="/method/bots.getRequestedWebViewButton">bots.getRequestedWebViewButton</a>#bf25b7f3 bot:<a href="/type/InputUser">InputUser</a> webapp_req_id:<a href="/type/string">string</a> = <a href="/type/KeyboardButton">KeyboardButton</a>;\

<a href="/method/stories.sendStory">stories.sendStory</a>#8f9e6898 flags:<a href="/type/%23">#</a> pinned:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> noforwards:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> fwd_modified:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> media:<a href="/type/InputMedia">InputMedia</a> media_areas:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MediaArea">MediaArea</a>&gt; caption:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/string">string</a> entities:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; privacy_rules:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputPrivacyRule">InputPrivacyRule</a>&gt; random_id:<a href="/type/long">long</a> period:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/int">int</a> fwd_from_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/InputPeer">InputPeer</a> fwd_from_story:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/int">int</a> albums:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; music:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/InputDocument">InputDocument</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/stories.editStory">stories.editStory</a>#2c63a72b flags:<a href="/type/%23">#</a> peer:<a href="/type/InputPeer">InputPeer</a> id:<a href="/type/int">int</a> media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/InputMedia">InputMedia</a> media_areas:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MediaArea">MediaArea</a>&gt; caption:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> entities:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; privacy_rules:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputPrivacyRule">InputPrivacyRule</a>&gt; music:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/InputDocument">InputDocument</a> = <a href="/type/Updates">Updates</a>;\

</code></pre></div>

### [Layer 223](/schema?layer=223)

This layer introduces:

- [Login with Telegram via OAuth »](/api/url-authorization.md#oauth-authorization)
- [Content protection for private chats »](/api/content-protection.md#for-users)
- [Group member tags for all users, not just admins »](/api/rank.md)
- [Date styled text entities »](/api/entities.md#date-entities)
- [A new flow to obtain info about the admin that will become the owner of a basic group/supergroup/channel if the original owner leaves »](/api/channel.md#leaving-groups-channels)
- [Ownership transfer for basic groups (along with supergroups and channels) »](/api/channel.md#transferring-ownership-of-a-group-channel)
- [A new filter to return only resale gifts that can be bought using stars](/method/payments.getResaleStarGifts.md)

#### API constants

##### Incoming web events

Incoming web events documented [here &raquo;](/api/web-events.md#event-types).

- Added [`oauth_request` &raquo;](/api/web-events.md#oauth-request)

##### Mini app outgoing events

Outgoing mini app events documented [here &raquo;](/api/bots/webapps.md#incoming-events-client-to-mini-app).

- Added [`oauth_supported` &raquo;](/api/bots/webapps.md#oauth-supported)
- Added [`oauth_result_confirmed` &raquo;](/api/bots/webapps.md#oauth-result-confirmed)
- Added [`oauth_result_failed` &raquo;](/api/bots/webapps.md#oauth-result-failed)

##### Premium features

[Telegram Premium feature identifiers &raquo;](/api/premium.md#telegram-premium-features).

- Added [`pm_noforwards` &raquo;](/api/premium.md#pm-noforwards)

#### [Schema](/schema.md) changes

##### New Methods

* Added [messages.editChatCreator](/method/messages.editChatCreator.md) - Transfer the ownership of a basic group, supergroup or channel to another user, see [here »](/api/channel.md#transferring-ownership-of-a-group-channel) for the full flow.
* Added [messages.getFutureChatCreatorAfterLeave](/method/messages.getFutureChatCreatorAfterLeave.md) - 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 »](/api/channel.md#leaving-groups-channels) for more info on the full flow.
* Added [messages.editChatParticipantRank](/method/messages.editChatParticipantRank.md) - Edit a group participant's [tag »](/api/rank.md).
* Added [messages.declineUrlAuth](/method/messages.declineUrlAuth.md) - Decline an incoming [OAuth authorization request »](/api/url-authorization.md#oauth-authorization), notifying the server that the user refused the login request.
* Added [messages.checkUrlAuthMatchCode](/method/messages.checkUrlAuthMatchCode.md) - Validate the match code selected by the user against the code shown on the login page, as part of the [OAuth authorization flow »](/api/url-authorization.md#oauth-authorization).

##### Changed Methods

* Added **flags** parameter, changed type of **rank** from **string** to **flags.0?string** in [channels.editAdmin](/method/channels.editAdmin.md)
* Added **in_app_origin** parameter in [messages.requestUrlAuth](/method/messages.requestUrlAuth.md)
* Added **share_phone_number**, **match_code** parameters in [messages.acceptUrlAuth](/method/messages.acceptUrlAuth.md)
* Added **flags**, **request_msg_id** parameters in [messages.toggleNoForwards](/method/messages.toggleNoForwards.md)
* Added **stars_only** parameter in [payments.getResaleStarGifts](/method/payments.getResaleStarGifts.md)

##### Deleted Methods

* Removed channels.editCreator
* Removed channels.getFutureCreatorAfterLeave

##### New Constructors

* Added [messageEntityFormattedDate](/constructor/messageEntityFormattedDate.md) - Represents a specific point in time, rendered as specified [here »](/api/entities.md#date-entities)
* Added [updateChatParticipantRank](/constructor/updateChatParticipantRank.md) - The [tag »](/api/rank.md) of a participant of a [basic group »](/api/channel.md#basic-groups) has changed.
* Added [messageActionNoForwardsToggle](/constructor/messageActionNoForwardsToggle.md) - Emitted only in private chats when enabling or disabling [content protection »](/api/content-protection.md#for-users).
* Added [messageActionNoForwardsRequest](/constructor/messageActionNoForwardsRequest.md) - Emitted only in private chats if the other side requested to disable [content protection »](/api/content-protection.md#for-users).
* Added [channelAdminLogEventActionParticipantEditRank](/constructor/channelAdminLogEventActionParticipantEditRank.md) - A participant's [tag »](/api/rank.md) was changed.

##### Changed Constructors

* Added **flags**, **rank** parameters in [chatParticipant](/constructor/chatParticipant.md)
* Added **from_rank** parameter in [message](/constructor/message.md)
* Added **noforwards_my_enabled**, **noforwards_peer_enabled** parameters in [userFull](/constructor/userFull.md)
* Added **rank** parameter in [channelParticipant](/constructor/channelParticipant.md)
* Added **rank** parameter in [channelParticipantSelf](/constructor/channelParticipantSelf.md)
* Added **flags**, **rank** parameters in [chatParticipantCreator](/constructor/chatParticipantCreator.md)
* Added **flags**, **rank** parameters in [chatParticipantAdmin](/constructor/chatParticipantAdmin.md)
* Added **rank** parameter in [channelParticipantBanned](/constructor/channelParticipantBanned.md)
* Added **edit_rank** parameter in [channelAdminLogEventsFilter](/constructor/channelAdminLogEventsFilter.md)
* Added **manage_ranks** parameter in [chatAdminRights](/constructor/chatAdminRights.md)
* Added **edit_rank** parameter in [chatBannedRights](/constructor/chatBannedRights.md)
* Added **match_codes_first**, **match_codes**, **user_id_hint** parameters in [urlAuthResultRequest](/constructor/urlAuthResultRequest.md)

#### PUSH notification changes

##### New PUSH notifications

* Added [OAUTH_REQUEST](/api/push-updates.md#oauth-request) - `Login request for {1} from {2}`

#### [Schema](/schema.md)

<div><pre><code><a href="/constructor/chatParticipant">chatParticipant</a>#38e79fde flags:<a href="/type/%23">#</a> user_id:<a href="/type/long">long</a> inviter_id:<a href="/type/long">long</a> date:<a href="/type/int">int</a> rank:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/string">string</a> = <a href="/type/ChatParticipant">ChatParticipant</a>;\

<a href="/constructor/message">message</a>#3ae56482 flags:<a href="/type/%23">#</a> out:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> mentioned:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> media_unread:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> silent:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/constructor/true">true</a> post:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/constructor/true">true</a> from_scheduled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/constructor/true">true</a> legacy:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/constructor/true">true</a> edit_hide:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/constructor/true">true</a> pinned:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.24?<a href="/constructor/true">true</a> noforwards:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.26?<a href="/constructor/true">true</a> invert_media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.27?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> offline:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.1?<a href="/constructor/true">true</a> video_processing_pending:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.4?<a href="/constructor/true">true</a> paid_suggested_post_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.8?<a href="/constructor/true">true</a> paid_suggested_post_ton:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.9?<a href="/constructor/true">true</a> id:<a href="/type/int">int</a> from_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/Peer">Peer</a> from_boosts_applied:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.29?<a href="/type/int">int</a> from_rank:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.12?<a href="/type/string">string</a> peer_id:<a href="/type/Peer">Peer</a> saved_peer_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.28?<a href="/type/Peer">Peer</a> fwd_from:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/MessageFwdHeader">MessageFwdHeader</a> via_bot_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/long">long</a> via_business_bot_id:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.0?<a href="/type/long">long</a> reply_to:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/MessageReplyHeader">MessageReplyHeader</a> date:<a href="/type/int">int</a> message:<a href="/type/string">string</a> media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/MessageMedia">MessageMedia</a> reply_markup:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/ReplyMarkup">ReplyMarkup</a> entities:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; views:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/int">int</a> forwards:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/int">int</a> replies:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/type/MessageReplies">MessageReplies</a> edit_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/int">int</a> post_author:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/type/string">string</a> grouped_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/long">long</a> reactions:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/type/MessageReactions">MessageReactions</a> restriction_reason:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/RestrictionReason">RestrictionReason</a>&gt; ttl_period:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.25?<a href="/type/int">int</a> quick_reply_shortcut_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.30?<a href="/type/int">int</a> effect:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.2?<a href="/type/long">long</a> factcheck:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.3?<a href="/type/FactCheck">FactCheck</a> report_delivery_until_date:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.5?<a href="/type/int">int</a> paid_message_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.6?<a href="/type/long">long</a> suggested_post:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.7?<a href="/type/SuggestedPost">SuggestedPost</a> schedule_repeat_period:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.10?<a href="/type/int">int</a> summary_from_language:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.11?<a href="/type/string">string</a> = <a href="/type/Message">Message</a>;\

<a href="/constructor/userFull">userFull</a>#a02bc13e flags:<a href="/type/%23">#</a> blocked:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> phone_calls_available:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> phone_calls_private:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> can_pin_message:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> has_scheduled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> video_calls_available:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/constructor/true">true</a> voice_messages_forbidden:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/constructor/true">true</a> translations_disabled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/constructor/true">true</a> stories_pinned_available:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.26?<a href="/constructor/true">true</a> blocked_my_stories_from:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.27?<a href="/constructor/true">true</a> wallpaper_overridden:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.28?<a href="/constructor/true">true</a> contact_require_premium:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.29?<a href="/constructor/true">true</a> read_dates_private:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.30?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> sponsored_enabled:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.7?<a href="/constructor/true">true</a> can_view_revenue:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.9?<a href="/constructor/true">true</a> bot_can_manage_emoji_status:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.10?<a href="/constructor/true">true</a> display_gifts_button:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.16?<a href="/constructor/true">true</a> noforwards_my_enabled:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.23?<a href="/constructor/true">true</a> noforwards_peer_enabled:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.24?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> about:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> settings:<a href="/type/PeerSettings">PeerSettings</a> personal_photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/type/Photo">Photo</a> profile_photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/Photo">Photo</a> fallback_photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/type/Photo">Photo</a> notify_settings:<a href="/type/PeerNotifySettings">PeerNotifySettings</a> bot_info:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/BotInfo">BotInfo</a> pinned_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/int">int</a> common_chats_count:<a href="/type/int">int</a> folder_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/int">int</a> ttl_period:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/int">int</a> theme:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/ChatTheme">ChatTheme</a> private_forward_name:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/type/string">string</a> bot_group_admin_rights:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/ChatAdminRights">ChatAdminRights</a> bot_broadcast_admin_rights:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/type/ChatAdminRights">ChatAdminRights</a> wallpaper:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.24?<a href="/type/WallPaper">WallPaper</a> stories:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.25?<a href="/type/PeerStories">PeerStories</a> business_work_hours:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.0?<a href="/type/BusinessWorkHours">BusinessWorkHours</a> business_location:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.1?<a href="/type/BusinessLocation">BusinessLocation</a> business_greeting_message:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.2?<a href="/type/BusinessGreetingMessage">BusinessGreetingMessage</a> business_away_message:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.3?<a href="/type/BusinessAwayMessage">BusinessAwayMessage</a> business_intro:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.4?<a href="/type/BusinessIntro">BusinessIntro</a> birthday:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.5?<a href="/type/Birthday">Birthday</a> personal_channel_id:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.6?<a href="/type/long">long</a> personal_channel_message:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.6?<a href="/type/int">int</a> stargifts_count:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.8?<a href="/type/int">int</a> starref_program:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.11?<a href="/type/StarRefProgram">StarRefProgram</a> bot_verification:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.12?<a href="/type/BotVerification">BotVerification</a> send_paid_messages_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.14?<a href="/type/long">long</a> disallowed_gifts:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.15?<a href="/type/DisallowedGiftsSettings">DisallowedGiftsSettings</a> stars_rating:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.17?<a href="/type/StarsRating">StarsRating</a> stars_my_pending_rating:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.18?<a href="/type/StarsRating">StarsRating</a> stars_my_pending_rating_date:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.18?<a href="/type/int">int</a> main_tab:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.20?<a href="/type/ProfileTab">ProfileTab</a> saved_music:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.21?<a href="/type/Document">Document</a> note:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.22?<a href="/type/TextWithEntities">TextWithEntities</a> = <a href="/type/UserFull">UserFull</a>;\

<a href="/constructor/channelParticipant">channelParticipant</a>#1bd54456 flags:<a href="/type/%23">#</a> user_id:<a href="/type/long">long</a> date:<a href="/type/int">int</a> subscription_until_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> rank:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> = <a href="/type/ChannelParticipant">ChannelParticipant</a>;
<a href="/constructor/channelParticipantSelf">channelParticipantSelf</a>#a9478a1a flags:<a href="/type/%23">#</a> via_request:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> user_id:<a href="/type/long">long</a> inviter_id:<a href="/type/long">long</a> date:<a href="/type/int">int</a> subscription_until_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/int">int</a> rank:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> = <a href="/type/ChannelParticipant">ChannelParticipant</a>;
<a href="/constructor/chatParticipantCreator">chatParticipantCreator</a>#e1f867b8 flags:<a href="/type/%23">#</a> user_id:<a href="/type/long">long</a> rank:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/string">string</a> = <a href="/type/ChatParticipant">ChatParticipant</a>;
<a href="/constructor/chatParticipantAdmin">chatParticipantAdmin</a>#0360d5d2 flags:<a href="/type/%23">#</a> user_id:<a href="/type/long">long</a> inviter_id:<a href="/type/long">long</a> date:<a href="/type/int">int</a> rank:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/string">string</a> = <a href="/type/ChatParticipant">ChatParticipant</a>;
<a href="/constructor/channelParticipantBanned">channelParticipantBanned</a>#d5f0ad91 flags:<a href="/type/%23">#</a> left:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> peer:<a href="/type/Peer">Peer</a> kicked_by:<a href="/type/long">long</a> date:<a href="/type/int">int</a> banned_rights:<a href="/type/ChatBannedRights">ChatBannedRights</a> rank:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> = <a href="/type/ChannelParticipant">ChannelParticipant</a>;
<a href="/constructor/channelAdminLogEventsFilter">channelAdminLogEventsFilter</a>#ea107ae4 flags:<a href="/type/%23">#</a> join:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> leave:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> invite:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> ban:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> unban:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> kick:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> unkick:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> promote:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> demote:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/constructor/true">true</a> info:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/constructor/true">true</a> settings:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> pinned:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> edit:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> delete:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/constructor/true">true</a> group_call:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/constructor/true">true</a> invites:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/constructor/true">true</a> send:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/constructor/true">true</a> forums:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/constructor/true">true</a> sub_extend:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/constructor/true">true</a> edit_rank:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/constructor/true">true</a> = <a href="/type/ChannelAdminLogEventsFilter">ChannelAdminLogEventsFilter</a>;
<a href="/constructor/chatAdminRights">chatAdminRights</a>#5fb224d5 flags:<a href="/type/%23">#</a> change_info:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> post_messages:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> edit_messages:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> delete_messages:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> ban_users:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> invite_users:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> pin_messages:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> add_admins:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/constructor/true">true</a> anonymous:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> manage_call:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> other:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> manage_topics:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/constructor/true">true</a> post_stories:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/constructor/true">true</a> edit_stories:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/constructor/true">true</a> delete_stories:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/constructor/true">true</a> manage_direct_messages:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/constructor/true">true</a> manage_ranks:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/constructor/true">true</a> = <a href="/type/ChatAdminRights">ChatAdminRights</a>;
<a href="/constructor/chatBannedRights">chatBannedRights</a>#9f120418 flags:<a href="/type/%23">#</a> view_messages:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> send_messages:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> send_media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> send_stickers:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> send_gifs:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> send_games:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> send_inline:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> embed_links:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> send_polls:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/constructor/true">true</a> change_info:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> invite_users:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/constructor/true">true</a> pin_messages:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/constructor/true">true</a> manage_topics:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/constructor/true">true</a> send_photos:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/constructor/true">true</a> send_videos:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/constructor/true">true</a> send_roundvideos:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/constructor/true">true</a> send_audios:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/constructor/true">true</a> send_voices:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/constructor/true">true</a> send_docs:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.24?<a href="/constructor/true">true</a> send_plain:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.25?<a href="/constructor/true">true</a> edit_rank:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.26?<a href="/constructor/true">true</a> until_date:<a href="/type/int">int</a> = <a href="/type/ChatBannedRights">ChatBannedRights</a>;\

<a href="/constructor/urlAuthResultRequest">urlAuthResultRequest</a>#f8f8eb1e flags:<a href="/type/%23">#</a> request_write_access:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> request_phone_number:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> match_codes_first:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> bot:<a href="/type/User">User</a> domain:<a href="/type/string">string</a> browser:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> platform:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> ip:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> region:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> match_codes:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/string">string</a>&gt; user_id_hint:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> = <a href="/type/UrlAuthResult">UrlAuthResult</a>;\

<a href="/constructor/messageEntityFormattedDate">messageEntityFormattedDate</a>#904ac7c7 flags:<a href="/type/%23">#</a> relative:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> short_time:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> long_time:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> short_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> long_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> day_of_week:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> offset:<a href="/type/int">int</a> length:<a href="/type/int">int</a> date:<a href="/type/int">int</a> = <a href="/type/MessageEntity">MessageEntity</a>;\

<a href="/constructor/updateChatParticipantRank">updateChatParticipantRank</a>#bd8367b9 chat_id:<a href="/type/long">long</a> user_id:<a href="/type/long">long</a> rank:<a href="/type/string">string</a> version:<a href="/type/int">int</a> = <a href="/type/Update">Update</a>;\

<a href="/constructor/messageActionNoForwardsToggle">messageActionNoForwardsToggle</a>#bf7d6572 prev_value:<a href="/type/Bool">Bool</a> new_value:<a href="/type/Bool">Bool</a> = <a href="/type/MessageAction">MessageAction</a>;
<a href="/constructor/messageActionNoForwardsRequest">messageActionNoForwardsRequest</a>#3e2793ba flags:<a href="/type/%23">#</a> expired:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> prev_value:<a href="/type/Bool">Bool</a> new_value:<a href="/type/Bool">Bool</a> = <a href="/type/MessageAction">MessageAction</a>;\

<a href="/constructor/channelAdminLogEventActionParticipantEditRank">channelAdminLogEventActionParticipantEditRank</a>#5806b4ec user_id:<a href="/type/long">long</a> prev_rank:<a href="/type/string">string</a> new_rank:<a href="/type/string">string</a> = <a href="/type/ChannelAdminLogEventAction">ChannelAdminLogEventAction</a>;\

---functions---\

<a href="/method/channels.editAdmin">channels.editAdmin</a>#9a98ad68 flags:<a href="/type/%23">#</a> channel:<a href="/type/InputChannel">InputChannel</a> user_id:<a href="/type/InputUser">InputUser</a> admin_rights:<a href="/type/ChatAdminRights">ChatAdminRights</a> rank:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/string">string</a> = <a href="/type/Updates">Updates</a>;\

<a href="/method/messages.requestUrlAuth">messages.requestUrlAuth</a>#894cc99c flags:<a href="/type/%23">#</a> peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/InputPeer">InputPeer</a> msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/int">int</a> button_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/int">int</a> url:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> in_app_origin:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/string">string</a> = <a href="/type/UrlAuthResult">UrlAuthResult</a>;
<a href="/method/messages.acceptUrlAuth">messages.acceptUrlAuth</a>#67a3f0de flags:<a href="/type/%23">#</a> write_allowed:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> share_phone_number:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/InputPeer">InputPeer</a> msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/int">int</a> button_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/int">int</a> url:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> match_code:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/string">string</a> = <a href="/type/UrlAuthResult">UrlAuthResult</a>;
<a href="/method/messages.toggleNoForwards">messages.toggleNoForwards</a>#b2081a35 flags:<a href="/type/%23">#</a> peer:<a href="/type/InputPeer">InputPeer</a> enabled:<a href="/type/Bool">Bool</a> request_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> = <a href="/type/Updates">Updates</a>;\

<a href="/method/payments.getResaleStarGifts">payments.getResaleStarGifts</a>#7a5fa236 flags:<a href="/type/%23">#</a> sort_by_price:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> sort_by_num:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> for_craft:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> stars_only:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> attributes_hash:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/long">long</a> gift_id:<a href="/type/long">long</a> attributes:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StarGiftAttributeId">StarGiftAttributeId</a>&gt; offset:<a href="/type/string">string</a> limit:<a href="/type/int">int</a> = <a href="/type/payments.ResaleStarGifts">payments.ResaleStarGifts</a>;\

<a href="/method/messages.editChatCreator">messages.editChatCreator</a>#f743b857 peer:<a href="/type/InputPeer">InputPeer</a> user_id:<a href="/type/InputUser">InputUser</a> password:<a href="/type/InputCheckPasswordSRP">InputCheckPasswordSRP</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.getFutureChatCreatorAfterLeave">messages.getFutureChatCreatorAfterLeave</a>#3b7d0ea6 peer:<a href="/type/InputPeer">InputPeer</a> = <a href="/type/User">User</a>;
<a href="/method/messages.editChatParticipantRank">messages.editChatParticipantRank</a>#a00f32b0 peer:<a href="/type/InputPeer">InputPeer</a> participant:<a href="/type/InputPeer">InputPeer</a> rank:<a href="/type/string">string</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.declineUrlAuth">messages.declineUrlAuth</a>#35436bbc url:<a href="/type/string">string</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/messages.checkUrlAuthMatchCode">messages.checkUrlAuthMatchCode</a>#c9a47b0b url:<a href="/type/string">string</a> match_code:<a href="/type/string">string</a> = <a href="/type/Bool">Bool</a>;\

</code></pre></div>

### [Layer 222](/schema?layer=222)

This layer introduces the following features:

- [Custom keyboard button backgrounds and custom emoji button labels »](/api/bots/buttons.md#button-styles)
- [AI message summarizer »](/api/ai.md#summarize-messages)
- [Gift crafting »](/api/gifts.md#crafting-collectible-gifts)
- [A new flow to obtain info about the admin that will become the owner of a supergroup/channel if the original owner leaves »](/api/channel.md#leaving-groups-channels)

#### API constants

##### Post story content types

Story content types accepted by [post story deep links &raquo;](/api/links.md#post-story-links).

- Added `photo`
- Added `video`
- Added `live`

#### [Schema](/schema.md) changes

##### New Methods

* Added [messages.getEmojiGameInfo](/method/messages.getEmojiGameInfo.md) - Fetch dice game information.
* Added [messages.summarizeText](/method/messages.summarizeText.md) - Summarize the contents of a message with AI, see [here »](/api/ai.md#summarize-messages) for more info.
* Added [payments.getCraftStarGifts](/method/payments.getCraftStarGifts.md) - Obtain owned [collectible gifts »](/api/gifts.md#collectible-gifts) of a specific type that can be used for [crafting »](/api/gifts.md#crafting-collectible-gifts).
* Added [payments.craftStarGift](/method/payments.craftStarGift.md) - Craft a new [collectible gift »](/api/gifts.md#collectible-gifts) by combining 1 to 4 owned collectible gifts of the same base gift type.
* Added [channels.getFutureCreatorAfterLeave](/method/channels.getFutureCreatorAfterLeave.md)

##### Changed Methods

* Added **for_craft** parameter in [payments.getResaleStarGifts](/method/payments.getResaleStarGifts.md)

##### New Constructors

* Added [messages.emojiGameOutcome](/constructor/messages.emojiGameOutcome.md) - Dice game outcome.
* Added [inputMediaStakeDice](/constructor/inputMediaStakeDice.md) - Dice game media.
* Added [messages.emojiGameUnavailable](/constructor/messages.emojiGameUnavailable.md) - Dice game information.
* Added [messages.emojiGameDiceInfo](/constructor/messages.emojiGameDiceInfo.md) - Dice game information.
* Added [updateEmojiGameInfo](/constructor/updateEmojiGameInfo.md) - Dice game update.
* Added [inputPasskeyCredentialFirebasePNV](/constructor/inputPasskeyCredentialFirebasePNV.md) - Alternative [passkey](/api/passkeys.md) credential that proves ownership of the account's phone number through a Firebase Phone Number Verification (PNV) token, used on official apps where a full WebAuthn [public-key passkey](/constructor/inputPasskeyCredentialPublicKey.md) cannot be created, in a way similar to [Firebase SMS authentication »](/api/auth.md).
* Added [starGiftAttributeRarity](/constructor/starGiftAttributeRarity.md) - Exact rarity value for a collectible gift attribute.
* Added [starGiftAttributeRarityUncommon](/constructor/starGiftAttributeRarityUncommon.md) - Represents uncommon collectible gift attribute rarity.
* Added [starGiftAttributeRarityRare](/constructor/starGiftAttributeRarityRare.md) - Represents rare collectible gift attribute rarity.
* Added [starGiftAttributeRarityEpic](/constructor/starGiftAttributeRarityEpic.md) - Represents epic collectible gift attribute rarity.
* Added [starGiftAttributeRarityLegendary](/constructor/starGiftAttributeRarityLegendary.md) - Represents legendary collectible gift attribute rarity.
* Added [updateStarGiftCraftFail](/constructor/updateStarGiftCraftFail.md) - Indicates that a [crafting »](/api/gifts.md#crafting-collectible-gifts) attempt did not produce a new collectible gift.
* Added [keyboardButtonStyle](/constructor/keyboardButtonStyle.md) - This constructor allows setting a custom background color and custom emoji label for a button, see [here »](/api/bots/buttons.md#button-styles) for more info.
* Added [messageActionNewCreatorPending](/constructor/messageActionNewCreatorPending.md) - Service message: emitted to a supergroup when the [group/channel creator leaves the group »](/api/channel.md#leaving-groups-channels), indicating that ownership transfer is pending. The `new_creator_id` user will become the new owner after 7 days if the old owner does not rejoin.
* Added [messageActionChangeCreator](/constructor/messageActionChangeCreator.md) - Service message: emitted to a supergroup when [ownership transfer completes after the old owner left the group »](/api/channel.md#leaving-groups-channels) (7 days after the old owner left without rejoining), indicating that ownership has been transferred to a new owner.

##### Changed Constructors

* Added **summary_from_language** parameter in [message](/constructor/message.md)
* Removed **legacy_ios** parameter in [messageService](/constructor/messageService.md)
* Added **bot_forum_can_manage_topics** parameter in [user](/constructor/user.md)
* Added **flags**, **style** parameters in [keyboardButton](/constructor/keyboardButton.md)
* Added **monoforum** parameter in [channelForbidden](/constructor/channelForbidden.md)
* Added **flags**, **style** parameters in [keyboardButtonUrl](/constructor/keyboardButtonUrl.md)
* Added **style** parameter in [keyboardButtonCallback](/constructor/keyboardButtonCallback.md)
* Added **flags**, **style** parameters in [keyboardButtonRequestPhone](/constructor/keyboardButtonRequestPhone.md)
* Added **flags**, **style** parameters in [keyboardButtonRequestGeoLocation](/constructor/keyboardButtonRequestGeoLocation.md)
* Added **style** parameter in [keyboardButtonSwitchInline](/constructor/keyboardButtonSwitchInline.md)
* Added **flags**, **style** parameters in [keyboardButtonGame](/constructor/keyboardButtonGame.md)
* Added **flags**, **style** parameters in [keyboardButtonBuy](/constructor/keyboardButtonBuy.md)
* Added **style** parameter in [keyboardButtonUrlAuth](/constructor/keyboardButtonUrlAuth.md)
* Added **style** parameter in [inputKeyboardButtonUrlAuth](/constructor/inputKeyboardButtonUrlAuth.md)
* Added **request_phone_number**, **browser**, **platform**, **ip**, **region** parameters in [urlAuthResultRequest](/constructor/urlAuthResultRequest.md)
* Added **flags** parameter, changed type of **url** from **string** to **flags.0?string** in [urlAuthResultAccepted](/constructor/urlAuthResultAccepted.md)
* Added **style** parameter in [keyboardButtonRequestPoll](/constructor/keyboardButtonRequestPoll.md)
* Added **flags**, **game_outcome** parameters in [messageMediaDice](/constructor/messageMediaDice.md)
* Added **flags**, **style** parameters in [inputKeyboardButtonUserProfile](/constructor/inputKeyboardButtonUserProfile.md)
* Added **flags**, **style** parameters in [keyboardButtonUserProfile](/constructor/keyboardButtonUserProfile.md)
* Added **flags**, **style** parameters in [keyboardButtonWebView](/constructor/keyboardButtonWebView.md)
* Added **flags**, **style** parameters in [keyboardButtonSimpleWebView](/constructor/keyboardButtonSimpleWebView.md)
* Added **flags**, **style** parameters in [keyboardButtonRequestPeer](/constructor/keyboardButtonRequestPeer.md)
* Added **style** parameter in [inputKeyboardButtonRequestPeer](/constructor/inputKeyboardButtonRequestPeer.md)
* Added **flags**, **style** parameters in [keyboardButtonCopy](/constructor/keyboardButtonCopy.md)
* Added **flags**, **crafted**, **rarity** parameters, removed **rarity_permille** parameter in [starGiftAttributeModel](/constructor/starGiftAttributeModel.md)
* Added **rarity** parameter, removed **rarity_permille** parameter in [starGiftAttributePattern](/constructor/starGiftAttributePattern.md)
* Added **rarity** parameter, removed **rarity_permille** parameter in [starGiftAttributeBackdrop](/constructor/starGiftAttributeBackdrop.md)
* Added **burned**, **crafted**, **craft_chance_permille** parameters in [starGiftUnique](/constructor/starGiftUnique.md)
* Added **craft**, **can_craft_at** parameters in [messageActionStarGiftUnique](/constructor/messageActionStarGiftUnique.md)
* Added **can_craft_at** parameter in [savedStarGift](/constructor/savedStarGift.md)

#### PUSH notification changes

##### New PUSH notifications

* Added [STORY_LIVE](/api/push-updates.md#story-live) - `started a live stream!`

#### [Changes in the file reference database map file &raquo;](/api/file-references.md)

##### New traversers incoming

* Added <pre><code>traverseMethodResult{name: <a href='/method/payments.getCraftStarGifts'>payments.getCraftStarGifts</a>}</code></pre>

#### [Schema](/schema.md)

<div><pre><code><a href="/constructor/message">message</a>#9cb490e9 flags:<a href="/type/%23">#</a> out:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> mentioned:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> media_unread:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> silent:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/constructor/true">true</a> post:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/constructor/true">true</a> from_scheduled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/constructor/true">true</a> legacy:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/constructor/true">true</a> edit_hide:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/constructor/true">true</a> pinned:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.24?<a href="/constructor/true">true</a> noforwards:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.26?<a href="/constructor/true">true</a> invert_media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.27?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> offline:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.1?<a href="/constructor/true">true</a> video_processing_pending:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.4?<a href="/constructor/true">true</a> paid_suggested_post_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.8?<a href="/constructor/true">true</a> paid_suggested_post_ton:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.9?<a href="/constructor/true">true</a> id:<a href="/type/int">int</a> from_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/Peer">Peer</a> from_boosts_applied:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.29?<a href="/type/int">int</a> peer_id:<a href="/type/Peer">Peer</a> saved_peer_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.28?<a href="/type/Peer">Peer</a> fwd_from:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/MessageFwdHeader">MessageFwdHeader</a> via_bot_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/long">long</a> via_business_bot_id:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.0?<a href="/type/long">long</a> reply_to:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/MessageReplyHeader">MessageReplyHeader</a> date:<a href="/type/int">int</a> message:<a href="/type/string">string</a> media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/MessageMedia">MessageMedia</a> reply_markup:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/ReplyMarkup">ReplyMarkup</a> entities:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; views:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/int">int</a> forwards:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/int">int</a> replies:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/type/MessageReplies">MessageReplies</a> edit_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/int">int</a> post_author:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/type/string">string</a> grouped_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/long">long</a> reactions:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/type/MessageReactions">MessageReactions</a> restriction_reason:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/RestrictionReason">RestrictionReason</a>&gt; ttl_period:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.25?<a href="/type/int">int</a> quick_reply_shortcut_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.30?<a href="/type/int">int</a> effect:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.2?<a href="/type/long">long</a> factcheck:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.3?<a href="/type/FactCheck">FactCheck</a> report_delivery_until_date:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.5?<a href="/type/int">int</a> paid_message_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.6?<a href="/type/long">long</a> suggested_post:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.7?<a href="/type/SuggestedPost">SuggestedPost</a> schedule_repeat_period:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.10?<a href="/type/int">int</a> summary_from_language:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.11?<a href="/type/string">string</a> = <a href="/type/Message">Message</a>;
<a href="/constructor/messageService">messageService</a>#7a800e0a flags:<a href="/type/%23">#</a> out:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> mentioned:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> media_unread:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> reactions_are_possible:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/constructor/true">true</a> silent:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/constructor/true">true</a> post:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/constructor/true">true</a> legacy:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/constructor/true">true</a> id:<a href="/type/int">int</a> from_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/Peer">Peer</a> peer_id:<a href="/type/Peer">Peer</a> saved_peer_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.28?<a href="/type/Peer">Peer</a> reply_to:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/MessageReplyHeader">MessageReplyHeader</a> date:<a href="/type/int">int</a> action:<a href="/type/MessageAction">MessageAction</a> reactions:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/type/MessageReactions">MessageReactions</a> ttl_period:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.25?<a href="/type/int">int</a> = <a href="/type/Message">Message</a>;\

<a href="/constructor/user">user</a>#31774388 flags:<a href="/type/%23">#</a> self:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> contact:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> mutual_contact:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> deleted:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/constructor/true">true</a> bot:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/constructor/true">true</a> bot_chat_history:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/constructor/true">true</a> bot_nochats:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/constructor/true">true</a> verified:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/constructor/true">true</a> restricted:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/constructor/true">true</a> min:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/constructor/true">true</a> bot_inline_geo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/constructor/true">true</a> support:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/constructor/true">true</a> scam:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.24?<a href="/constructor/true">true</a> apply_min_photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.25?<a href="/constructor/true">true</a> fake:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.26?<a href="/constructor/true">true</a> bot_attach_menu:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.27?<a href="/constructor/true">true</a> premium:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.28?<a href="/constructor/true">true</a> attach_menu_enabled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.29?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> bot_can_edit:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.1?<a href="/constructor/true">true</a> close_friend:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.2?<a href="/constructor/true">true</a> stories_hidden:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.3?<a href="/constructor/true">true</a> stories_unavailable:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.4?<a href="/constructor/true">true</a> contact_require_premium:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.10?<a href="/constructor/true">true</a> bot_business:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.11?<a href="/constructor/true">true</a> bot_has_main_app:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.13?<a href="/constructor/true">true</a> bot_forum_view:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.16?<a href="/constructor/true">true</a> bot_forum_can_manage_topics:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.17?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> access_hash:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/long">long</a> first_name:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> last_name:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> username:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/string">string</a> phone:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/string">string</a> photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/UserProfilePhoto">UserProfilePhoto</a> status:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/UserStatus">UserStatus</a> bot_info_version:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/int">int</a> restriction_reason:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/RestrictionReason">RestrictionReason</a>&gt; bot_inline_placeholder:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/type/string">string</a> lang_code:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/type/string">string</a> emoji_status:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.30?<a href="/type/EmojiStatus">EmojiStatus</a> usernames:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Username">Username</a>&gt; stories_max_id:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.5?<a href="/type/RecentStory">RecentStory</a> color:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.8?<a href="/type/PeerColor">PeerColor</a> profile_color:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.9?<a href="/type/PeerColor">PeerColor</a> bot_active_users:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.12?<a href="/type/int">int</a> bot_verification_icon:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.14?<a href="/type/long">long</a> send_paid_messages_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.15?<a href="/type/long">long</a> = <a href="/type/User">User</a>;\

<a href="/constructor/keyboardButton">keyboardButton</a>#7d170cff flags:<a href="/type/%23">#</a> style:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/KeyboardButtonStyle">KeyboardButtonStyle</a> text:<a href="/type/string">string</a> = <a href="/type/KeyboardButton">KeyboardButton</a>;\

<a href="/constructor/channelForbidden">channelForbidden</a>#17d493d5 flags:<a href="/type/%23">#</a> broadcast:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> megagroup:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/constructor/true">true</a> monoforum:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> access_hash:<a href="/type/long">long</a> title:<a href="/type/string">string</a> until_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/type/int">int</a> = <a href="/type/Chat">Chat</a>;\

<a href="/constructor/keyboardButtonUrl">keyboardButtonUrl</a>#d80c25ec flags:<a href="/type/%23">#</a> style:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/KeyboardButtonStyle">KeyboardButtonStyle</a> text:<a href="/type/string">string</a> url:<a href="/type/string">string</a> = <a href="/type/KeyboardButton">KeyboardButton</a>;
<a href="/constructor/keyboardButtonCallback">keyboardButtonCallback</a>#e62bc960 flags:<a href="/type/%23">#</a> requires_password:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> style:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/KeyboardButtonStyle">KeyboardButtonStyle</a> text:<a href="/type/string">string</a> data:<a href="/type/bytes">bytes</a> = <a href="/type/KeyboardButton">KeyboardButton</a>;
<a href="/constructor/keyboardButtonRequestPhone">keyboardButtonRequestPhone</a>#417efd8f flags:<a href="/type/%23">#</a> style:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/KeyboardButtonStyle">KeyboardButtonStyle</a> text:<a href="/type/string">string</a> = <a href="/type/KeyboardButton">KeyboardButton</a>;
<a href="/constructor/keyboardButtonRequestGeoLocation">keyboardButtonRequestGeoLocation</a>#aa40f94d flags:<a href="/type/%23">#</a> style:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/KeyboardButtonStyle">KeyboardButtonStyle</a> text:<a href="/type/string">string</a> = <a href="/type/KeyboardButton">KeyboardButton</a>;
<a href="/constructor/keyboardButtonSwitchInline">keyboardButtonSwitchInline</a>#991399fc flags:<a href="/type/%23">#</a> same_peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> style:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/KeyboardButtonStyle">KeyboardButtonStyle</a> text:<a href="/type/string">string</a> query:<a href="/type/string">string</a> peer_types:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InlineQueryPeerType">InlineQueryPeerType</a>&gt; = <a href="/type/KeyboardButton">KeyboardButton</a>;
<a href="/constructor/keyboardButtonGame">keyboardButtonGame</a>#89c590f9 flags:<a href="/type/%23">#</a> style:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/KeyboardButtonStyle">KeyboardButtonStyle</a> text:<a href="/type/string">string</a> = <a href="/type/KeyboardButton">KeyboardButton</a>;
<a href="/constructor/keyboardButtonBuy">keyboardButtonBuy</a>#3fa53905 flags:<a href="/type/%23">#</a> style:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/KeyboardButtonStyle">KeyboardButtonStyle</a> text:<a href="/type/string">string</a> = <a href="/type/KeyboardButton">KeyboardButton</a>;
<a href="/constructor/keyboardButtonUrlAuth">keyboardButtonUrlAuth</a>#f51006f9 flags:<a href="/type/%23">#</a> style:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/KeyboardButtonStyle">KeyboardButtonStyle</a> text:<a href="/type/string">string</a> fwd_text:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/string">string</a> url:<a href="/type/string">string</a> button_id:<a href="/type/int">int</a> = <a href="/type/KeyboardButton">KeyboardButton</a>;\

<a href="/constructor/inputKeyboardButtonUrlAuth">inputKeyboardButtonUrlAuth</a>#68013e72 flags:<a href="/type/%23">#</a> request_write_access:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> style:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/KeyboardButtonStyle">KeyboardButtonStyle</a> text:<a href="/type/string">string</a> fwd_text:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> url:<a href="/type/string">string</a> bot:<a href="/type/InputUser">InputUser</a> = <a href="/type/KeyboardButton">KeyboardButton</a>;\

<a href="/constructor/urlAuthResultRequest">urlAuthResultRequest</a>#32fabf1a flags:<a href="/type/%23">#</a> request_write_access:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> request_phone_number:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> bot:<a href="/type/User">User</a> domain:<a href="/type/string">string</a> browser:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> platform:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> ip:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> region:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> = <a href="/type/UrlAuthResult">UrlAuthResult</a>;
<a href="/constructor/urlAuthResultAccepted">urlAuthResultAccepted</a>#623a8fa0 flags:<a href="/type/%23">#</a> url:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/string">string</a> = <a href="/type/UrlAuthResult">UrlAuthResult</a>;\

<a href="/constructor/keyboardButtonRequestPoll">keyboardButtonRequestPoll</a>#7a11d782 flags:<a href="/type/%23">#</a> style:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/KeyboardButtonStyle">KeyboardButtonStyle</a> quiz:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/Bool">Bool</a> text:<a href="/type/string">string</a> = <a href="/type/KeyboardButton">KeyboardButton</a>;\

<a href="/constructor/messageMediaDice">messageMediaDice</a>#08cbec07 flags:<a href="/type/%23">#</a> value:<a href="/type/int">int</a> emoticon:<a href="/type/string">string</a> game_outcome:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/messages.EmojiGameOutcome">messages.EmojiGameOutcome</a> = <a href="/type/MessageMedia">MessageMedia</a>;\

<a href="/constructor/inputKeyboardButtonUserProfile">inputKeyboardButtonUserProfile</a>#7d5e07c7 flags:<a href="/type/%23">#</a> style:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/KeyboardButtonStyle">KeyboardButtonStyle</a> text:<a href="/type/string">string</a> user_id:<a href="/type/InputUser">InputUser</a> = <a href="/type/KeyboardButton">KeyboardButton</a>;\

<a href="/constructor/keyboardButtonUserProfile">keyboardButtonUserProfile</a>#c0fd5d09 flags:<a href="/type/%23">#</a> style:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/KeyboardButtonStyle">KeyboardButtonStyle</a> text:<a href="/type/string">string</a> user_id:<a href="/type/long">long</a> = <a href="/type/KeyboardButton">KeyboardButton</a>;
<a href="/constructor/keyboardButtonWebView">keyboardButtonWebView</a>#e846b1a0 flags:<a href="/type/%23">#</a> style:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/KeyboardButtonStyle">KeyboardButtonStyle</a> text:<a href="/type/string">string</a> url:<a href="/type/string">string</a> = <a href="/type/KeyboardButton">KeyboardButton</a>;
<a href="/constructor/keyboardButtonSimpleWebView">keyboardButtonSimpleWebView</a>#e15c4370 flags:<a href="/type/%23">#</a> style:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/KeyboardButtonStyle">KeyboardButtonStyle</a> text:<a href="/type/string">string</a> url:<a href="/type/string">string</a> = <a href="/type/KeyboardButton">KeyboardButton</a>;
<a href="/constructor/keyboardButtonRequestPeer">keyboardButtonRequestPeer</a>#5b0f15f5 flags:<a href="/type/%23">#</a> style:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/KeyboardButtonStyle">KeyboardButtonStyle</a> text:<a href="/type/string">string</a> button_id:<a href="/type/int">int</a> peer_type:<a href="/type/RequestPeerType">RequestPeerType</a> max_quantity:<a href="/type/int">int</a> = <a href="/type/KeyboardButton">KeyboardButton</a>;\

<a href="/constructor/inputKeyboardButtonRequestPeer">inputKeyboardButtonRequestPeer</a>#02b78156 flags:<a href="/type/%23">#</a> name_requested:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> username_requested:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> photo_requested:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> style:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/KeyboardButtonStyle">KeyboardButtonStyle</a> text:<a href="/type/string">string</a> button_id:<a href="/type/int">int</a> peer_type:<a href="/type/RequestPeerType">RequestPeerType</a> max_quantity:<a href="/type/int">int</a> = <a href="/type/KeyboardButton">KeyboardButton</a>;\

<a href="/constructor/keyboardButtonCopy">keyboardButtonCopy</a>#bcc4af10 flags:<a href="/type/%23">#</a> style:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/KeyboardButtonStyle">KeyboardButtonStyle</a> text:<a href="/type/string">string</a> copy_text:<a href="/type/string">string</a> = <a href="/type/KeyboardButton">KeyboardButton</a>;\

<a href="/constructor/starGiftAttributeModel">starGiftAttributeModel</a>#565251e2 flags:<a href="/type/%23">#</a> crafted:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> name:<a href="/type/string">string</a> document:<a href="/type/Document">Document</a> rarity:<a href="/type/StarGiftAttributeRarity">StarGiftAttributeRarity</a> = <a href="/type/StarGiftAttribute">StarGiftAttribute</a>;
<a href="/constructor/starGiftAttributePattern">starGiftAttributePattern</a>#4e7085ea name:<a href="/type/string">string</a> document:<a href="/type/Document">Document</a> rarity:<a href="/type/StarGiftAttributeRarity">StarGiftAttributeRarity</a> = <a href="/type/StarGiftAttribute">StarGiftAttribute</a>;
<a href="/constructor/starGiftAttributeBackdrop">starGiftAttributeBackdrop</a>#9f2504e4 name:<a href="/type/string">string</a> backdrop_id:<a href="/type/int">int</a> center_color:<a href="/type/int">int</a> edge_color:<a href="/type/int">int</a> pattern_color:<a href="/type/int">int</a> text_color:<a href="/type/int">int</a> rarity:<a href="/type/StarGiftAttributeRarity">StarGiftAttributeRarity</a> = <a href="/type/StarGiftAttribute">StarGiftAttribute</a>;
<a href="/constructor/starGiftUnique">starGiftUnique</a>#85f0a9cd flags:<a href="/type/%23">#</a> require_premium:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> resale_ton_only:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> theme_available:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/constructor/true">true</a> burned:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/constructor/true">true</a> crafted:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> gift_id:<a href="/type/long">long</a> title:<a href="/type/string">string</a> slug:<a href="/type/string">string</a> num:<a href="/type/int">int</a> owner_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/Peer">Peer</a> owner_name:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> owner_address:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> attributes:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StarGiftAttribute">StarGiftAttribute</a>&gt; availability_issued:<a href="/type/int">int</a> availability_total:<a href="/type/int">int</a> gift_address:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/string">string</a> resell_amount:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StarsAmount">StarsAmount</a>&gt; released_by:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/Peer">Peer</a> value_amount:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/long">long</a> value_currency:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/string">string</a> value_usd_amount:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/long">long</a> theme_peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/Peer">Peer</a> peer_color:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/PeerColor">PeerColor</a> host_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/type/Peer">Peer</a> offer_min_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/int">int</a> craft_chance_permille:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/type/int">int</a> = <a href="/type/StarGift">StarGift</a>;\

<a href="/constructor/messageActionStarGiftUnique">messageActionStarGiftUnique</a>#e6c31522 flags:<a href="/type/%23">#</a> upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> transferred:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> saved:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> refunded:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> prepaid_upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> assigned:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/constructor/true">true</a> from_offer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/constructor/true">true</a> craft:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/constructor/true">true</a> gift:<a href="/type/StarGift">StarGift</a> can_export_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/int">int</a> transfer_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> from_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/Peer">Peer</a> peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/Peer">Peer</a> saved_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/long">long</a> resale_amount:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/StarsAmount">StarsAmount</a> can_transfer_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/int">int</a> can_resell_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/int">int</a> drop_original_details_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/type/long">long</a> can_craft_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/int">int</a> = <a href="/type/MessageAction">MessageAction</a>;\

<a href="/constructor/savedStarGift">savedStarGift</a>#41df43fc flags:<a href="/type/%23">#</a> name_hidden:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> unsaved:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> refunded:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/constructor/true">true</a> can_upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> pinned_to_top:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> upgrade_separate:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/constructor/true">true</a> from_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/Peer">Peer</a> date:<a href="/type/int">int</a> gift:<a href="/type/StarGift">StarGift</a> message:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/TextWithEntities">TextWithEntities</a> msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/int">int</a> saved_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/long">long</a> convert_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> upgrade_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/long">long</a> can_export_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/int">int</a> transfer_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/long">long</a> can_transfer_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/int">int</a> can_resell_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/int">int</a> collection_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; prepaid_upgrade_hash:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/type/string">string</a> drop_original_details_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/type/long">long</a> gift_num:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/type/int">int</a> can_craft_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/type/int">int</a> = <a href="/type/SavedStarGift">SavedStarGift</a>;\

<a href="/constructor/messages.emojiGameOutcome">messages.emojiGameOutcome</a>#da2ad647 seed:<a href="/type/bytes">bytes</a> stake_ton_amount:<a href="/type/long">long</a> ton_amount:<a href="/type/long">long</a> = <a href="/type/messages.EmojiGameOutcome">messages.EmojiGameOutcome</a>;\

<a href="/constructor/inputMediaStakeDice">inputMediaStakeDice</a>#f3a9244a game_hash:<a href="/type/string">string</a> ton_amount:<a href="/type/long">long</a> client_seed:<a href="/type/bytes">bytes</a> = <a href="/type/InputMedia">InputMedia</a>;\

<a href="/constructor/messages.emojiGameUnavailable">messages.emojiGameUnavailable</a>#59e65335 = <a href="/type/messages.EmojiGameInfo">messages.EmojiGameInfo</a>;
<a href="/constructor/messages.emojiGameDiceInfo">messages.emojiGameDiceInfo</a>#44e56023 flags:<a href="/type/%23">#</a> game_hash:<a href="/type/string">string</a> prev_stake:<a href="/type/long">long</a> current_streak:<a href="/type/int">int</a> params:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; plays_left:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> = <a href="/type/messages.EmojiGameInfo">messages.EmojiGameInfo</a>;\

<a href="/constructor/updateEmojiGameInfo">updateEmojiGameInfo</a>#fb9c547a info:<a href="/type/messages.EmojiGameInfo">messages.EmojiGameInfo</a> = <a href="/type/Update">Update</a>;\

<a href="/constructor/inputPasskeyCredentialFirebasePNV">inputPasskeyCredentialFirebasePNV</a>#5b1ccb28 pnv_token:<a href="/type/string">string</a> = <a href="/type/InputPasskeyCredential">InputPasskeyCredential</a>;\

<a href="/constructor/starGiftAttributeRarity">starGiftAttributeRarity</a>#36437737 permille:<a href="/type/int">int</a> = <a href="/type/StarGiftAttributeRarity">StarGiftAttributeRarity</a>;
<a href="/constructor/starGiftAttributeRarityUncommon">starGiftAttributeRarityUncommon</a>#dbce6389 = <a href="/type/StarGiftAttributeRarity">StarGiftAttributeRarity</a>;
<a href="/constructor/starGiftAttributeRarityRare">starGiftAttributeRarityRare</a>#f08d516b = <a href="/type/StarGiftAttributeRarity">StarGiftAttributeRarity</a>;
<a href="/constructor/starGiftAttributeRarityEpic">starGiftAttributeRarityEpic</a>#78fbf3a8 = <a href="/type/StarGiftAttributeRarity">StarGiftAttributeRarity</a>;
<a href="/constructor/starGiftAttributeRarityLegendary">starGiftAttributeRarityLegendary</a>#cef7e7a8 = <a href="/type/StarGiftAttributeRarity">StarGiftAttributeRarity</a>;\

<a href="/constructor/updateStarGiftCraftFail">updateStarGiftCraftFail</a>#ac072444 = <a href="/type/Update">Update</a>;\

<a href="/constructor/keyboardButtonStyle">keyboardButtonStyle</a>#4fdd3430 flags:<a href="/type/%23">#</a> bg_primary:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> bg_danger:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> bg_success:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> icon:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/long">long</a> = <a href="/type/KeyboardButtonStyle">KeyboardButtonStyle</a>;\

<a href="/constructor/messageActionNewCreatorPending">messageActionNewCreatorPending</a>#b07ed085 new_creator_id:<a href="/type/long">long</a> = <a href="/type/MessageAction">MessageAction</a>;
<a href="/constructor/messageActionChangeCreator">messageActionChangeCreator</a>#e188503b new_creator_id:<a href="/type/long">long</a> = <a href="/type/MessageAction">MessageAction</a>;\

---functions---\

<a href="/method/payments.getResaleStarGifts">payments.getResaleStarGifts</a>#7a5fa236 flags:<a href="/type/%23">#</a> sort_by_price:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> sort_by_num:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> for_craft:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> attributes_hash:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/long">long</a> gift_id:<a href="/type/long">long</a> attributes:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StarGiftAttributeId">StarGiftAttributeId</a>&gt; offset:<a href="/type/string">string</a> limit:<a href="/type/int">int</a> = <a href="/type/payments.ResaleStarGifts">payments.ResaleStarGifts</a>;\

<a href="/method/messages.getEmojiGameInfo">messages.getEmojiGameInfo</a>#fb7e8ca7 = <a href="/type/messages.EmojiGameInfo">messages.EmojiGameInfo</a>;
<a href="/method/messages.summarizeText">messages.summarizeText</a>#9d4104e2 flags:<a href="/type/%23">#</a> peer:<a href="/type/InputPeer">InputPeer</a> id:<a href="/type/int">int</a> to_lang:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/string">string</a> = <a href="/type/TextWithEntities">TextWithEntities</a>;\

<a href="/method/payments.getCraftStarGifts">payments.getCraftStarGifts</a>#fd05dd00 gift_id:<a href="/type/long">long</a> offset:<a href="/type/string">string</a> limit:<a href="/type/int">int</a> = <a href="/type/payments.SavedStarGifts">payments.SavedStarGifts</a>;
<a href="/method/payments.craftStarGift">payments.craftStarGift</a>#b0f9684f stargift:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputSavedStarGift">InputSavedStarGift</a>&gt; = <a href="/type/Updates">Updates</a>;\

<a href="/method/channels.getFutureCreatorAfterLeave">channels.getFutureCreatorAfterLeave</a>#a00918af channel:<a href="/type/InputChannel">InputChannel</a> = <a href="/type/User">User</a>;\

</code></pre></div>

### [Layer 220](/schema?layer=220)

This layer introduces the following features:

- [Added a new suggestion to setup a passkey »](/api/config.md#setup-passkey)
- Added a new premium feature identifier for [paid private messages »](/api/paid-messages.md)
- Some improvements for [auctions »](/api/auctions.md): 
    - Added a detailed description of all auction rounds as [StarGiftAuctionRound](/type/StarGiftAuctionRound.md)s
    - Added `last_gift_num` to [allow computing the user's approximated position »](/api/auctions.md#auction-flow)
    - Added fields to lookup auction gifts currently on resale, see [here »](/api/auctions.md) for more info.
- Added [payments.getStarGiftUpgradeAttributes](/method/payments.getStarGiftUpgradeAttributes.md) to obtain the **full** list of just the collectible attributes that may appear for a gift type once it's upgraded to a [collectible gift »](/api/gifts.md#collectible-gifts).
- Moved some auction-related fields to [starGift](/constructor/starGift.md)
- Added a new [starGiftBackground](/constructor/starGiftBackground.md) constructor to represent the background palette of gift cards and auctions
- [Collectible gift purchase offers »](/api/gifts.md#collectible-gift-purchase-offers)

#### API constants

##### Premium features

[Telegram Premium feature identifiers &raquo;](/api/premium.md#telegram-premium-features).

- Added [`paid_messages` &raquo;](/api/premium.md#paid-messages)

##### Suggested actions

[Basic suggestion identifiers &raquo;](/api/config.md#basic-suggestions)

- Added [`SETUP_PASSKEY` &raquo;](/api/config.md#setup-passkey)

#### [Schema](/schema.md) changes

##### New Methods

* Added [payments.resolveStarGiftOffer](/method/payments.resolveStarGiftOffer.md) - Accept or decline a previously received [collectible gift purchase offer »](/api/gifts.md#collectible-gift-purchase-offers), see [here »](/api/gifts.md#collectible-gift-purchase-offers) for the full flow.
* Added [payments.sendStarGiftOffer](/method/payments.sendStarGiftOffer.md) - Send an offer to purchase a [collectible gift »](/api/gifts.md#collectible-gift-purchase-offers), see [here »](/api/gifts.md#collectible-gift-purchase-offers) for the full flow.
* Added [payments.getStarGiftUpgradeAttributes](/method/payments.getStarGiftUpgradeAttributes.md) - Obtains the **full** list of just the collectible attributes that may appear for a gift type once it's upgraded to a [collectible gift »](/api/gifts.md#collectible-gifts).

##### New Constructors

* Added [messageActionStarGiftPurchaseOffer](/constructor/messageActionStarGiftPurchaseOffer.md) - Contains an offer to purchase a [collectible gift »](/api/gifts.md#collectible-gift-purchase-offers), see [here »](/api/gifts.md#collectible-gift-purchase-offers) for the full flow.
* Added [messageActionStarGiftPurchaseOfferDeclined](/constructor/messageActionStarGiftPurchaseOfferDeclined.md) - A [collectible gift purchase offer »](/api/gifts.md#collectible-gift-purchase-offers) was declined, or the offer expired, see [here »](/api/gifts.md#collectible-gift-purchase-offers) for the full flow.
* Added [starGiftBackground](/constructor/starGiftBackground.md) - Contains the default background palette of a [gift type »](/api/gifts.md#listing-all-possible-collectible-variants).
* Added [starGiftAuctionRound](/constructor/starGiftAuctionRound.md) - Describes one or more [collectible gift auction rounds »](/api/auctions.md).
* Added [starGiftAuctionRoundExtendable](/constructor/starGiftAuctionRoundExtendable.md) - Describes one or more extendable [collectible gift auction rounds »](/api/auctions.md).
* Added [payments.starGiftUpgradeAttributes](/constructor/payments.starGiftUpgradeAttributes.md) - List of just the collectible attributes that may appear for a gift type once it's upgraded to a [collectible gift »](/api/gifts.md#collectible-gifts).

##### Changed Constructors

* Added **legacy_ios** parameter in [messageService](/constructor/messageService.md)
* Added **auction_start_date**, **upgrade_variants**, **background** parameters in [starGift](/constructor/starGift.md)
* Added **gift_num** parameter in [messageActionStarGift](/constructor/messageActionStarGift.md)
* Added **value_usd_amount**, **offer_min_stars** parameters in [starGiftUnique](/constructor/starGiftUnique.md)
* Added **from_offer** parameter in [messageActionStarGiftUnique](/constructor/messageActionStarGiftUnique.md)
* Added **gift_num** parameter in [savedStarGift](/constructor/savedStarGift.md)
* Added **last_gift_num**, **rounds** parameters in [starGiftAuctionState](/constructor/starGiftAuctionState.md)
* Added **flags**, **listed_count**, **fragment_listed_count**, **fragment_listed_url** parameters in [starGiftAuctionStateFinished](/constructor/starGiftAuctionStateFinished.md)
* Added **chats** parameter in [payments.starGiftAuctionState](/constructor/payments.starGiftAuctionState.md)
* Added **gift_num** parameter in [starGiftAuctionAcquiredGift](/constructor/starGiftAuctionAcquiredGift.md)
* Added **chats** parameter in [payments.starGiftActiveAuctions](/constructor/payments.starGiftActiveAuctions.md)
* Removed **center_color**, **edge_color**, **text_color** parameters in [webPageAttributeStarGiftAuction](/constructor/webPageAttributeStarGiftAuction.md)

#### [Changes in the file reference database map file &raquo;](/api/file-references.md)

##### New skipped incoming sources

* Added [payments.starGiftUpgradeAttributes](/constructor/payments.starGiftUpgradeAttributes.md) - Contexts for star gifts are not yet implemented

##### New traversers incoming

* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messageActionStarGiftPurchaseOffer'>messageActionStarGiftPurchaseOffer</a>, params: [gift], type: <a href='/type/MessageAction'>MessageAction</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messageActionStarGiftPurchaseOfferDeclined'>messageActionStarGiftPurchaseOfferDeclined</a>, params: [gift], type: <a href='/type/MessageAction'>MessageAction</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/payments.starGiftUpgradeAttributes'>payments.starGiftUpgradeAttributes</a>, params: [attributes], type: <a href='/type/payments.StarGiftUpgradeAttributes'>payments.StarGiftUpgradeAttributes</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/payments.getStarGiftUpgradeAttributes'>payments.getStarGiftUpgradeAttributes</a>}</code></pre>

#### [Schema](/schema.md)

<div><pre><code><a href="/constructor/messageService">messageService</a>#7a800e0a flags:<a href="/type/%23">#</a> out:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> mentioned:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> media_unread:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> reactions_are_possible:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/constructor/true">true</a> silent:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/constructor/true">true</a> post:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/constructor/true">true</a> legacy_ios:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/constructor/true">true</a> legacy:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/constructor/true">true</a> id:<a href="/type/int">int</a> from_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/Peer">Peer</a> peer_id:<a href="/type/Peer">Peer</a> saved_peer_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.28?<a href="/type/Peer">Peer</a> reply_to:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/MessageReplyHeader">MessageReplyHeader</a> date:<a href="/type/int">int</a> action:<a href="/type/MessageAction">MessageAction</a> reactions:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/type/MessageReactions">MessageReactions</a> ttl_period:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.25?<a href="/type/int">int</a> = <a href="/type/Message">Message</a>;\

<a href="/constructor/starGift">starGift</a>#313a9547 flags:<a href="/type/%23">#</a> limited:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> sold_out:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> birthday:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> require_premium:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> limited_per_user:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/constructor/true">true</a> peer_color_available:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> auction:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> sticker:<a href="/type/Document">Document</a> stars:<a href="/type/long">long</a> availability_remains:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> availability_total:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> availability_resale:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> convert_stars:<a href="/type/long">long</a> first_sale_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/int">int</a> last_sale_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/int">int</a> upgrade_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/long">long</a> resell_min_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> title:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/string">string</a> released_by:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/Peer">Peer</a> per_user_total:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/int">int</a> per_user_remains:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/int">int</a> locked_until_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/int">int</a> auction_slug:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/string">string</a> gifts_per_round:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/int">int</a> auction_start_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/int">int</a> upgrade_variants:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/type/int">int</a> background:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/StarGiftBackground">StarGiftBackground</a> = <a href="/type/StarGift">StarGift</a>;\

<a href="/constructor/messageActionStarGift">messageActionStarGift</a>#ea2c31d3 flags:<a href="/type/%23">#</a> name_hidden:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> saved:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> converted:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> upgraded:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> refunded:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/constructor/true">true</a> can_upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> prepaid_upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/constructor/true">true</a> upgrade_separate:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/constructor/true">true</a> auction_acquired:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/constructor/true">true</a> gift:<a href="/type/StarGift">StarGift</a> message:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/TextWithEntities">TextWithEntities</a> convert_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> upgrade_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/int">int</a> upgrade_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/long">long</a> from_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/Peer">Peer</a> peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/type/Peer">Peer</a> saved_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/type/long">long</a> prepaid_upgrade_hash:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/string">string</a> gift_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/int">int</a> to_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/type/Peer">Peer</a> gift_num:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/type/int">int</a> = <a href="/type/MessageAction">MessageAction</a>;\

<a href="/constructor/starGiftUnique">starGiftUnique</a>#569d64c9 flags:<a href="/type/%23">#</a> require_premium:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> resale_ton_only:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> theme_available:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> gift_id:<a href="/type/long">long</a> title:<a href="/type/string">string</a> slug:<a href="/type/string">string</a> num:<a href="/type/int">int</a> owner_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/Peer">Peer</a> owner_name:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> owner_address:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> attributes:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StarGiftAttribute">StarGiftAttribute</a>&gt; availability_issued:<a href="/type/int">int</a> availability_total:<a href="/type/int">int</a> gift_address:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/string">string</a> resell_amount:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StarsAmount">StarsAmount</a>&gt; released_by:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/Peer">Peer</a> value_amount:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/long">long</a> value_currency:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/string">string</a> value_usd_amount:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/long">long</a> theme_peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/Peer">Peer</a> peer_color:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/PeerColor">PeerColor</a> host_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/type/Peer">Peer</a> offer_min_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/int">int</a> = <a href="/type/StarGift">StarGift</a>;\

<a href="/constructor/messageActionStarGiftUnique">messageActionStarGiftUnique</a>#95728543 flags:<a href="/type/%23">#</a> upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> transferred:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> saved:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> refunded:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> prepaid_upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> assigned:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/constructor/true">true</a> from_offer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/constructor/true">true</a> gift:<a href="/type/StarGift">StarGift</a> can_export_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/int">int</a> transfer_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> from_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/Peer">Peer</a> peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/Peer">Peer</a> saved_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/long">long</a> resale_amount:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/StarsAmount">StarsAmount</a> can_transfer_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/int">int</a> can_resell_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/int">int</a> drop_original_details_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/type/long">long</a> = <a href="/type/MessageAction">MessageAction</a>;\

<a href="/constructor/savedStarGift">savedStarGift</a>#ead6805e flags:<a href="/type/%23">#</a> name_hidden:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> unsaved:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> refunded:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/constructor/true">true</a> can_upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> pinned_to_top:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> upgrade_separate:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/constructor/true">true</a> from_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/Peer">Peer</a> date:<a href="/type/int">int</a> gift:<a href="/type/StarGift">StarGift</a> message:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/TextWithEntities">TextWithEntities</a> msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/int">int</a> saved_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/long">long</a> convert_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> upgrade_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/long">long</a> can_export_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/int">int</a> transfer_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/long">long</a> can_transfer_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/int">int</a> can_resell_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/int">int</a> collection_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; prepaid_upgrade_hash:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/type/string">string</a> drop_original_details_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/type/long">long</a> gift_num:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/type/int">int</a> = <a href="/type/SavedStarGift">SavedStarGift</a>;
<a href="/constructor/starGiftAuctionState">starGiftAuctionState</a>#771a4e66 version:<a href="/type/int">int</a> start_date:<a href="/type/int">int</a> end_date:<a href="/type/int">int</a> min_bid_amount:<a href="/type/long">long</a> bid_levels:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/AuctionBidLevel">AuctionBidLevel</a>&gt; top_bidders:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; next_round_at:<a href="/type/int">int</a> last_gift_num:<a href="/type/int">int</a> gifts_left:<a href="/type/int">int</a> current_round:<a href="/type/int">int</a> total_rounds:<a href="/type/int">int</a> rounds:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StarGiftAuctionRound">StarGiftAuctionRound</a>&gt; = <a href="/type/StarGiftAuctionState">StarGiftAuctionState</a>;
<a href="/constructor/starGiftAuctionStateFinished">starGiftAuctionStateFinished</a>#972dabbf flags:<a href="/type/%23">#</a> start_date:<a href="/type/int">int</a> end_date:<a href="/type/int">int</a> average_price:<a href="/type/long">long</a> listed_count:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> fragment_listed_count:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/int">int</a> fragment_listed_url:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> = <a href="/type/StarGiftAuctionState">StarGiftAuctionState</a>;\

<a href="/constructor/payments.starGiftAuctionState">payments.starGiftAuctionState</a>#6b39f4ec gift:<a href="/type/StarGift">StarGift</a> state:<a href="/type/StarGiftAuctionState">StarGiftAuctionState</a> user_state:<a href="/type/StarGiftAuctionUserState">StarGiftAuctionUserState</a> timeout:<a href="/type/int">int</a> users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; = <a href="/type/payments.StarGiftAuctionState">payments.StarGiftAuctionState</a>;\

<a href="/constructor/starGiftAuctionAcquiredGift">starGiftAuctionAcquiredGift</a>#42b00348 flags:<a href="/type/%23">#</a> name_hidden:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> peer:<a href="/type/Peer">Peer</a> date:<a href="/type/int">int</a> bid_amount:<a href="/type/long">long</a> round:<a href="/type/int">int</a> pos:<a href="/type/int">int</a> message:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/TextWithEntities">TextWithEntities</a> gift_num:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/int">int</a> = <a href="/type/StarGiftAuctionAcquiredGift">StarGiftAuctionAcquiredGift</a>;\

<a href="/constructor/payments.starGiftActiveAuctions">payments.starGiftActiveAuctions</a>#aef6abbc auctions:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StarGiftActiveAuctionState">StarGiftActiveAuctionState</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; = <a href="/type/payments.StarGiftActiveAuctions">payments.StarGiftActiveAuctions</a>;\

<a href="/constructor/webPageAttributeStarGiftAuction">webPageAttributeStarGiftAuction</a>#01c641c2 gift:<a href="/type/StarGift">StarGift</a> end_date:<a href="/type/int">int</a> = <a href="/type/WebPageAttribute">WebPageAttribute</a>;\

<a href="/constructor/messageActionStarGiftPurchaseOffer">messageActionStarGiftPurchaseOffer</a>#774278d4 flags:<a href="/type/%23">#</a> accepted:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> declined:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> gift:<a href="/type/StarGift">StarGift</a> price:<a href="/type/StarsAmount">StarsAmount</a> expires_at:<a href="/type/int">int</a> = <a href="/type/MessageAction">MessageAction</a>;
<a href="/constructor/messageActionStarGiftPurchaseOfferDeclined">messageActionStarGiftPurchaseOfferDeclined</a>#73ada76b flags:<a href="/type/%23">#</a> expired:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> gift:<a href="/type/StarGift">StarGift</a> price:<a href="/type/StarsAmount">StarsAmount</a> = <a href="/type/MessageAction">MessageAction</a>;\

<a href="/constructor/starGiftBackground">starGiftBackground</a>#aff56398 center_color:<a href="/type/int">int</a> edge_color:<a href="/type/int">int</a> text_color:<a href="/type/int">int</a> = <a href="/type/StarGiftBackground">StarGiftBackground</a>;
<a href="/constructor/starGiftAuctionRound">starGiftAuctionRound</a>#3aae0528 num:<a href="/type/int">int</a> duration:<a href="/type/int">int</a> = <a href="/type/StarGiftAuctionRound">StarGiftAuctionRound</a>;
<a href="/constructor/starGiftAuctionRoundExtendable">starGiftAuctionRoundExtendable</a>#0aa021e5 num:<a href="/type/int">int</a> duration:<a href="/type/int">int</a> extend_top:<a href="/type/int">int</a> extend_window:<a href="/type/int">int</a> = <a href="/type/StarGiftAuctionRound">StarGiftAuctionRound</a>;\

<a href="/constructor/payments.starGiftUpgradeAttributes">payments.starGiftUpgradeAttributes</a>#46c6e36f attributes:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StarGiftAttribute">StarGiftAttribute</a>&gt; = <a href="/type/payments.StarGiftUpgradeAttributes">payments.StarGiftUpgradeAttributes</a>;\

---functions---\

<a href="/method/payments.resolveStarGiftOffer">payments.resolveStarGiftOffer</a>#e9ce781c flags:<a href="/type/%23">#</a> decline:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> offer_msg_id:<a href="/type/int">int</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/payments.sendStarGiftOffer">payments.sendStarGiftOffer</a>#8fb86b41 flags:<a href="/type/%23">#</a> peer:<a href="/type/InputPeer">InputPeer</a> slug:<a href="/type/string">string</a> price:<a href="/type/StarsAmount">StarsAmount</a> duration:<a href="/type/int">int</a> random_id:<a href="/type/long">long</a> allow_paid_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/long">long</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/payments.getStarGiftUpgradeAttributes">payments.getStarGiftUpgradeAttributes</a>#6d038b58 gift_id:<a href="/type/long">long</a> = <a href="/type/payments.StarGiftUpgradeAttributes">payments.StarGiftUpgradeAttributes</a>;\

</code></pre></div>

### [Layer 219](/schema?layer=219)

This layer introduces the following features:

- [Passkeys »](/api/passkeys.md)
- [Message effects »](/api/effects.md) support for [messages.forwardMessages](/method/messages.forwardMessages.md).

#### [Schema](/schema.md) changes

##### New Methods

* Added [account.initPasskeyRegistration](/method/account.initPasskeyRegistration.md) - Initialize passkey registration for the current account, see [here »](/api/passkeys.md#creating-a-passkey) for more info on the full flow.
* Added [account.registerPasskey](/method/account.registerPasskey.md) - Complete passkey registration for the current account, see [here »](/api/passkeys.md#creating-a-passkey) for more info on the full flow.
* Added [account.getPasskeys](/method/account.getPasskeys.md) - List the passkeys associated to the current account that can be used to log in, see [here »](/api/passkeys.md#list-passkeys) for more info on passkeys.
* Added [account.deletePasskey](/method/account.deletePasskey.md) - Delete a passkey associated to the current account, see [here »](/api/passkeys.md#delete-passkeys) for more info.
* Added [auth.initPasskeyLogin](/method/auth.initPasskeyLogin.md) - Initialize login with a passkey over an unauthenticated connection, see [here »](/api/passkeys.md#logging-in-with-a-passkey) for more info.
* Added [auth.finishPasskeyLogin](/method/auth.finishPasskeyLogin.md) - Complete login with a passkey over an unauthenticated connection, see [here »](/api/passkeys.md#logging-in-with-a-passkey) for more info.

##### Changed Methods

* Added **effect** parameter in [messages.forwardMessages](/method/messages.forwardMessages.md)

##### New Constructors

* Added [passkey](/constructor/passkey.md) - Human-readable info about a passkey associated to an account, returned when [creating a passkey »](/api/passkeys.md#creating-a-passkey) or [listing passkeys »](/api/passkeys.md#list-passkeys).
* Added [account.passkeys](/constructor/account.passkeys.md) - List of [passkeys »](/api/passkeys.md#list-passkeys) associated to the current account.
* Added [account.passkeyRegistrationOptions](/constructor/account.passkeyRegistrationOptions.md) - Passkey registration options, see [here »](/api/passkeys.md#creating-a-passkey) for more info on the full flow.
* Added [auth.passkeyLoginOptions](/constructor/auth.passkeyLoginOptions.md) - Passkey login options, see [here »](/api/passkeys.md#logging-in-with-a-passkey) for more info on the full flow.
* Added [inputPasskeyResponseRegister](/constructor/inputPasskeyResponseRegister.md) - WebAuthn registration response used when registering a new passkey, see [here »](/api/passkeys.md#creating-a-passkey) for more info on the full flow.
* Added [inputPasskeyResponseLogin](/constructor/inputPasskeyResponseLogin.md) - WebAuthn authentication response used when logging in with a passkey, see [here »](/api/passkeys.md#logging-in-with-a-passkey) for more info on the full flow.
* Added [inputPasskeyCredentialPublicKey](/constructor/inputPasskeyCredentialPublicKey.md) - Public-key passkey credential used both for registration and for login, see [creating a passkey »](/api/passkeys.md#creating-a-passkey) and [logging in with a passkey »](/api/passkeys.md#logging-in-with-a-passkey) for the full flows.

##### Changed Constructors

* Added **offer** parameter in [starsTransaction](/constructor/starsTransaction.md)

#### [Schema](/schema.md)

<div><pre><code><a href="/constructor/starsTransaction">starsTransaction</a>#13659eb0 flags:<a href="/type/%23">#</a> refund:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> pending:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> failed:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> gift:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> reaction:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> stargift_upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/constructor/true">true</a> business_transfer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/constructor/true">true</a> stargift_resale:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/constructor/true">true</a> posts_search:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.24?<a href="/constructor/true">true</a> stargift_prepaid_upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.25?<a href="/constructor/true">true</a> stargift_drop_original_details:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.26?<a href="/constructor/true">true</a> phonegroup_message:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.27?<a href="/constructor/true">true</a> stargift_auction_bid:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.28?<a href="/constructor/true">true</a> offer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.29?<a href="/constructor/true">true</a> id:<a href="/type/string">string</a> amount:<a href="/type/StarsAmount">StarsAmount</a> date:<a href="/type/int">int</a> peer:<a href="/type/StarsTransactionPeer">StarsTransactionPeer</a> title:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/string">string</a> description:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/WebDocument">WebDocument</a> transaction_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/int">int</a> transaction_url:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/string">string</a> bot_payload:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/bytes">bytes</a> msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/int">int</a> extended_media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageMedia">MessageMedia</a>&gt; subscription_period:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/type/int">int</a> giveaway_post_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/int">int</a> stargift:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/StarGift">StarGift</a> floodskip_number:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/int">int</a> starref_commission_permille:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/type/int">int</a> starref_peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/Peer">Peer</a> starref_amount:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/StarsAmount">StarsAmount</a> paid_messages:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/type/int">int</a> premium_gift_months:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/type/int">int</a> ads_proceeds_from_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/type/int">int</a> ads_proceeds_to_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/type/int">int</a> = <a href="/type/StarsTransaction">StarsTransaction</a>;\

<a href="/constructor/passkey">passkey</a>#98613ebf flags:<a href="/type/%23">#</a> id:<a href="/type/string">string</a> name:<a href="/type/string">string</a> date:<a href="/type/int">int</a> software_emoji_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/long">long</a> last_usage_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/int">int</a> = <a href="/type/Passkey">Passkey</a>;\

<a href="/constructor/account.passkeys">account.passkeys</a>#f8e0aa1c passkeys:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Passkey">Passkey</a>&gt; = <a href="/type/account.Passkeys">account.Passkeys</a>;
<a href="/constructor/account.passkeyRegistrationOptions">account.passkeyRegistrationOptions</a>#e16b5ce1 options:<a href="/type/DataJSON">DataJSON</a> = <a href="/type/account.PasskeyRegistrationOptions">account.PasskeyRegistrationOptions</a>;
<a href="/constructor/auth.passkeyLoginOptions">auth.passkeyLoginOptions</a>#e2037789 options:<a href="/type/DataJSON">DataJSON</a> = <a href="/type/auth.PasskeyLoginOptions">auth.PasskeyLoginOptions</a>;\

<a href="/constructor/inputPasskeyResponseRegister">inputPasskeyResponseRegister</a>#3e63935c client_data:<a href="/type/DataJSON">DataJSON</a> attestation_data:<a href="/type/bytes">bytes</a> = <a href="/type/InputPasskeyResponse">InputPasskeyResponse</a>;
<a href="/constructor/inputPasskeyResponseLogin">inputPasskeyResponseLogin</a>#c31fc14a client_data:<a href="/type/DataJSON">DataJSON</a> authenticator_data:<a href="/type/bytes">bytes</a> signature:<a href="/type/bytes">bytes</a> user_handle:<a href="/type/string">string</a> = <a href="/type/InputPasskeyResponse">InputPasskeyResponse</a>;
<a href="/constructor/inputPasskeyCredentialPublicKey">inputPasskeyCredentialPublicKey</a>#3c27b78f id:<a href="/type/string">string</a> raw_id:<a href="/type/string">string</a> response:<a href="/type/InputPasskeyResponse">InputPasskeyResponse</a> = <a href="/type/InputPasskeyCredential">InputPasskeyCredential</a>;\

---functions---\

<a href="/method/messages.forwardMessages">messages.forwardMessages</a>#13704a7c flags:<a href="/type/%23">#</a> silent:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> background:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> with_my_score:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/constructor/true">true</a> drop_author:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> drop_media_captions:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> noforwards:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/constructor/true">true</a> allow_paid_floodskip:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/constructor/true">true</a> from_peer:<a href="/type/InputPeer">InputPeer</a> id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; random_id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; to_peer:<a href="/type/InputPeer">InputPeer</a> top_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/int">int</a> reply_to:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/type/InputReplyTo">InputReplyTo</a> schedule_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/int">int</a> schedule_repeat_period:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.24?<a href="/type/int">int</a> send_as:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/InputPeer">InputPeer</a> quick_reply_shortcut:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/InputQuickReplyShortcut">InputQuickReplyShortcut</a> effect:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/type/long">long</a> video_timestamp:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/type/int">int</a> allow_paid_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/type/long">long</a> suggested_post:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/type/SuggestedPost">SuggestedPost</a> = <a href="/type/Updates">Updates</a>;\

<a href="/method/account.initPasskeyRegistration">account.initPasskeyRegistration</a>#429547e8 = <a href="/type/account.PasskeyRegistrationOptions">account.PasskeyRegistrationOptions</a>;
<a href="/method/account.registerPasskey">account.registerPasskey</a>#55b41fd6 credential:<a href="/type/InputPasskeyCredential">InputPasskeyCredential</a> = <a href="/type/Passkey">Passkey</a>;
<a href="/method/account.getPasskeys">account.getPasskeys</a>#ea1f0c52 = <a href="/type/account.Passkeys">account.Passkeys</a>;
<a href="/method/account.deletePasskey">account.deletePasskey</a>#f5b5563f id:<a href="/type/string">string</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/auth.initPasskeyLogin">auth.initPasskeyLogin</a>#518ad0b7 api_id:<a href="/type/int">int</a> api_hash:<a href="/type/string">string</a> = <a href="/type/auth.PasskeyLoginOptions">auth.PasskeyLoginOptions</a>;
<a href="/method/auth.finishPasskeyLogin">auth.finishPasskeyLogin</a>#9857ad07 flags:<a href="/type/%23">#</a> credential:<a href="/type/InputPasskeyCredential">InputPasskeyCredential</a> from_dc_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> from_auth_key_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/long">long</a> = <a href="/type/auth.Authorization">auth.Authorization</a>;\

</code></pre></div>

### [Layer 218](/schema?layer=218)

This layer introduces the following features:

- [Collectible gift auctions »](/api/auctions.md)

#### API constants

##### Web page type values

Web page type values from the [webPage](/constructor/webPage.md) constructor.

- Added `telegram_auction`

#### [Schema](/schema.md) changes

##### New Methods

* Added [payments.getStarGiftAuctionState](/method/payments.getStarGiftAuctionState.md) - Returns info about a [collectible gift auction »](/api/auctions.md); also subscribes the user to auction updates, see [here »](/api/auctions.md) for more info on the full flow.
* Added [payments.getStarGiftAuctionAcquiredGifts](/method/payments.getStarGiftAuctionAcquiredGifts.md) - Fetches all the gifts that the current user won in an [auction](/api/auctions.md).
* Added [payments.getStarGiftActiveAuctions](/method/payments.getStarGiftActiveAuctions.md) - Fetches all currently active [gift auctions](/api/auctions.md) **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.

##### New Constructors

* Added [inputInvoiceStarGiftAuctionBid](/constructor/inputInvoiceStarGiftAuctionBid.md) - Used to place a bid in a [collectible gift auction »](/api/auctions.md).
* Added [auctionBidLevel](/constructor/auctionBidLevel.md) - Describes a bid in an [auction](/api/auctions.md).
* Added [starGiftAuctionStateNotModified](/constructor/starGiftAuctionStateNotModified.md) - Returned only by auction methods (never by updates) if the passed `version` is equal to the remote [auction »](/api/auctions.md).`version`, meaning auction information hasn't changed over the locally cached version.
* Added [starGiftAuctionState](/constructor/starGiftAuctionState.md) - Represents an active or pending [auction »](/api/auctions.md).
* Added [starGiftAuctionStateFinished](/constructor/starGiftAuctionStateFinished.md) - Represents a finished [auction »](/api/auctions.md).
* Added [starGiftAuctionUserState](/constructor/starGiftAuctionUserState.md) - Contains information about the current user's state in an [auction »](/api/auctions.md).
* Added [updateStarGiftAuctionState](/constructor/updateStarGiftAuctionState.md) - Contains updates to [auction state, see here »](/api/auctions.md) for more info on how to enable these updates.
* Added [updateStarGiftAuctionUserState](/constructor/updateStarGiftAuctionUserState.md) - Contains updates to [auction state related to the current user, see here »](/api/auctions.md) for more info on how to enable these updates.
* Added [payments.starGiftAuctionState](/constructor/payments.starGiftAuctionState.md) - Describes a [collectible gift auction »](/api/auctions.md).
* Added [starGiftAuctionAcquiredGift](/constructor/starGiftAuctionAcquiredGift.md) - Describes a gift that the current user won in an auction.
* Added [payments.starGiftAuctionAcquiredGifts](/constructor/payments.starGiftAuctionAcquiredGifts.md) - Describes all the gifts that the current user won in an [auction](/api/auctions.md).
* Added [starGiftActiveAuctionState](/constructor/starGiftActiveAuctionState.md) - Contains info about [an auction where the user has placed a bid »](/api/auctions.md).
* Added [payments.starGiftActiveAuctionsNotModified](/constructor/payments.starGiftActiveAuctionsNotModified.md) - The list of currently active [gift auctions](/api/auctions.md) **where the user has placed a bid** hasn't changed.
* Added [payments.starGiftActiveAuctions](/constructor/payments.starGiftActiveAuctions.md) - Describes all currently active [gift auctions](/api/auctions.md) **where the user has placed a bid**.
* Added [inputStarGiftAuction](/constructor/inputStarGiftAuction.md) - Used to fetch [auctions](/api/auctions.md) using the ID of the linked [collectible gift](/api/gifts.md#collectible-gifts).
* Added [inputStarGiftAuctionSlug](/constructor/inputStarGiftAuctionSlug.md) - Used to fetch [auctions](/api/auctions.md) using the [slug of an auction deep link »](/api/links.md#auction-links).
* Added [webPageAttributeStarGiftAuction](/constructor/webPageAttributeStarGiftAuction.md) - Contains info about a [collectible gift auction »](/api/auctions.md) for a [webPage](/constructor/webPage.md) preview of an [auction »](/api/auctions.md) (the [webPage](/constructor/webPage.md) will have a `type` of `telegram_auction`).

##### Changed Constructors

* Added **stargift_auction_bid** parameter in [starsTransaction](/constructor/starsTransaction.md)
* Added **auction**, **auction_slug**, **gifts_per_round** parameters in [starGift](/constructor/starGift.md)
* Added **auction_acquired**, **to_id** parameters in [messageActionStarGift](/constructor/messageActionStarGift.md)

#### [Changes in the file reference database map file &raquo;](/api/file-references.md)

##### New traversers incoming

* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/payments.starGiftActiveAuctions'>payments.starGiftActiveAuctions</a>, params: [auctions], type: <a href='/type/payments.StarGiftActiveAuctions'>payments.StarGiftActiveAuctions</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/payments.starGiftAuctionState'>payments.starGiftAuctionState</a>, params: [gift], type: <a href='/type/payments.StarGiftAuctionState'>payments.StarGiftAuctionState</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/starGiftActiveAuctionState'>starGiftActiveAuctionState</a>, params: [gift], type: <a href='/type/StarGiftActiveAuctionState'>StarGiftActiveAuctionState</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/webPageAttributeStarGiftAuction'>webPageAttributeStarGiftAuction</a>, params: [gift], type: <a href='/type/WebPageAttribute'>WebPageAttribute</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/payments.getStarGiftActiveAuctions'>payments.getStarGiftActiveAuctions</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/payments.getStarGiftAuctionState'>payments.getStarGiftAuctionState</a>}</code></pre>

#### [Schema](/schema.md)

<div><pre><code><a href="/constructor/starsTransaction">starsTransaction</a>#13659eb0 flags:<a href="/type/%23">#</a> refund:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> pending:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> failed:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> gift:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> reaction:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> stargift_upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/constructor/true">true</a> business_transfer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/constructor/true">true</a> stargift_resale:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/constructor/true">true</a> posts_search:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.24?<a href="/constructor/true">true</a> stargift_prepaid_upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.25?<a href="/constructor/true">true</a> stargift_drop_original_details:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.26?<a href="/constructor/true">true</a> phonegroup_message:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.27?<a href="/constructor/true">true</a> stargift_auction_bid:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.28?<a href="/constructor/true">true</a> id:<a href="/type/string">string</a> amount:<a href="/type/StarsAmount">StarsAmount</a> date:<a href="/type/int">int</a> peer:<a href="/type/StarsTransactionPeer">StarsTransactionPeer</a> title:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/string">string</a> description:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/WebDocument">WebDocument</a> transaction_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/int">int</a> transaction_url:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/string">string</a> bot_payload:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/bytes">bytes</a> msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/int">int</a> extended_media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageMedia">MessageMedia</a>&gt; subscription_period:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/type/int">int</a> giveaway_post_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/int">int</a> stargift:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/StarGift">StarGift</a> floodskip_number:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/int">int</a> starref_commission_permille:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/type/int">int</a> starref_peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/Peer">Peer</a> starref_amount:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/StarsAmount">StarsAmount</a> paid_messages:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/type/int">int</a> premium_gift_months:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/type/int">int</a> ads_proceeds_from_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/type/int">int</a> ads_proceeds_to_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/type/int">int</a> = <a href="/type/StarsTransaction">StarsTransaction</a>;
<a href="/constructor/starGift">starGift</a>#1b9a4d7f flags:<a href="/type/%23">#</a> limited:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> sold_out:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> birthday:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> require_premium:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> limited_per_user:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/constructor/true">true</a> peer_color_available:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> auction:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> sticker:<a href="/type/Document">Document</a> stars:<a href="/type/long">long</a> availability_remains:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> availability_total:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> availability_resale:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> convert_stars:<a href="/type/long">long</a> first_sale_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/int">int</a> last_sale_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/int">int</a> upgrade_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/long">long</a> resell_min_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> title:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/string">string</a> released_by:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/Peer">Peer</a> per_user_total:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/int">int</a> per_user_remains:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/int">int</a> locked_until_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/int">int</a> auction_slug:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/string">string</a> gifts_per_round:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/int">int</a> = <a href="/type/StarGift">StarGift</a>;\

<a href="/constructor/messageActionStarGift">messageActionStarGift</a>#db596550 flags:<a href="/type/%23">#</a> name_hidden:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> saved:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> converted:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> upgraded:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> refunded:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/constructor/true">true</a> can_upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> prepaid_upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/constructor/true">true</a> upgrade_separate:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/constructor/true">true</a> auction_acquired:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/constructor/true">true</a> gift:<a href="/type/StarGift">StarGift</a> message:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/TextWithEntities">TextWithEntities</a> convert_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> upgrade_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/int">int</a> upgrade_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/long">long</a> from_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/Peer">Peer</a> peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/type/Peer">Peer</a> saved_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/type/long">long</a> prepaid_upgrade_hash:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/string">string</a> gift_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/int">int</a> to_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/type/Peer">Peer</a> = <a href="/type/MessageAction">MessageAction</a>;\

<a href="/constructor/inputInvoiceStarGiftAuctionBid">inputInvoiceStarGiftAuctionBid</a>#1ecafa10 flags:<a href="/type/%23">#</a> hide_name:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> update_bid:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/InputPeer">InputPeer</a> gift_id:<a href="/type/long">long</a> bid_amount:<a href="/type/long">long</a> message:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/TextWithEntities">TextWithEntities</a> = <a href="/type/InputInvoice">InputInvoice</a>;\

<a href="/constructor/auctionBidLevel">auctionBidLevel</a>#310240cc pos:<a href="/type/int">int</a> amount:<a href="/type/long">long</a> date:<a href="/type/int">int</a> = <a href="/type/AuctionBidLevel">AuctionBidLevel</a>;\

<a href="/constructor/starGiftAuctionStateNotModified">starGiftAuctionStateNotModified</a>#fe333952 = <a href="/type/StarGiftAuctionState">StarGiftAuctionState</a>;
<a href="/constructor/starGiftAuctionState">starGiftAuctionState</a>#5db04f4b version:<a href="/type/int">int</a> start_date:<a href="/type/int">int</a> end_date:<a href="/type/int">int</a> min_bid_amount:<a href="/type/long">long</a> bid_levels:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/AuctionBidLevel">AuctionBidLevel</a>&gt; top_bidders:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; next_round_at:<a href="/type/int">int</a> gifts_left:<a href="/type/int">int</a> current_round:<a href="/type/int">int</a> total_rounds:<a href="/type/int">int</a> = <a href="/type/StarGiftAuctionState">StarGiftAuctionState</a>;
<a href="/constructor/starGiftAuctionStateFinished">starGiftAuctionStateFinished</a>#7d967c3a start_date:<a href="/type/int">int</a> end_date:<a href="/type/int">int</a> average_price:<a href="/type/long">long</a> = <a href="/type/StarGiftAuctionState">StarGiftAuctionState</a>;
<a href="/constructor/starGiftAuctionUserState">starGiftAuctionUserState</a>#2eeed1c4 flags:<a href="/type/%23">#</a> returned:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> bid_amount:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/long">long</a> bid_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> min_bid_amount:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/long">long</a> bid_peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/Peer">Peer</a> acquired_count:<a href="/type/int">int</a> = <a href="/type/StarGiftAuctionUserState">StarGiftAuctionUserState</a>;\

<a href="/constructor/updateStarGiftAuctionState">updateStarGiftAuctionState</a>#48e246c2 gift_id:<a href="/type/long">long</a> state:<a href="/type/StarGiftAuctionState">StarGiftAuctionState</a> = <a href="/type/Update">Update</a>;
<a href="/constructor/updateStarGiftAuctionUserState">updateStarGiftAuctionUserState</a>#dc58f31e gift_id:<a href="/type/long">long</a> user_state:<a href="/type/StarGiftAuctionUserState">StarGiftAuctionUserState</a> = <a href="/type/Update">Update</a>;\

<a href="/constructor/payments.starGiftAuctionState">payments.starGiftAuctionState</a>#0e98e474 gift:<a href="/type/StarGift">StarGift</a> state:<a href="/type/StarGiftAuctionState">StarGiftAuctionState</a> user_state:<a href="/type/StarGiftAuctionUserState">StarGiftAuctionUserState</a> timeout:<a href="/type/int">int</a> users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/payments.StarGiftAuctionState">payments.StarGiftAuctionState</a>;\

<a href="/constructor/starGiftAuctionAcquiredGift">starGiftAuctionAcquiredGift</a>#ab60e20b flags:<a href="/type/%23">#</a> name_hidden:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> peer:<a href="/type/Peer">Peer</a> date:<a href="/type/int">int</a> bid_amount:<a href="/type/long">long</a> round:<a href="/type/int">int</a> pos:<a href="/type/int">int</a> message:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/TextWithEntities">TextWithEntities</a> = <a href="/type/StarGiftAuctionAcquiredGift">StarGiftAuctionAcquiredGift</a>;\

<a href="/constructor/payments.starGiftAuctionAcquiredGifts">payments.starGiftAuctionAcquiredGifts</a>#7d5bd1f0 gifts:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StarGiftAuctionAcquiredGift">StarGiftAuctionAcquiredGift</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; = <a href="/type/payments.StarGiftAuctionAcquiredGifts">payments.StarGiftAuctionAcquiredGifts</a>;\

<a href="/constructor/starGiftActiveAuctionState">starGiftActiveAuctionState</a>#d31bc45d gift:<a href="/type/StarGift">StarGift</a> state:<a href="/type/StarGiftAuctionState">StarGiftAuctionState</a> user_state:<a href="/type/StarGiftAuctionUserState">StarGiftAuctionUserState</a> = <a href="/type/StarGiftActiveAuctionState">StarGiftActiveAuctionState</a>;\

<a href="/constructor/payments.starGiftActiveAuctionsNotModified">payments.starGiftActiveAuctionsNotModified</a>#db33dad0 = <a href="/type/payments.StarGiftActiveAuctions">payments.StarGiftActiveAuctions</a>;
<a href="/constructor/payments.starGiftActiveAuctions">payments.starGiftActiveAuctions</a>#97f187d8 auctions:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StarGiftActiveAuctionState">StarGiftActiveAuctionState</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/payments.StarGiftActiveAuctions">payments.StarGiftActiveAuctions</a>;\

<a href="/constructor/inputStarGiftAuction">inputStarGiftAuction</a>#02e16c98 gift_id:<a href="/type/long">long</a> = <a href="/type/InputStarGiftAuction">InputStarGiftAuction</a>;
<a href="/constructor/inputStarGiftAuctionSlug">inputStarGiftAuctionSlug</a>#7ab58308 slug:<a href="/type/string">string</a> = <a href="/type/InputStarGiftAuction">InputStarGiftAuction</a>;\

<a href="/constructor/webPageAttributeStarGiftAuction">webPageAttributeStarGiftAuction</a>#034986ab gift:<a href="/type/StarGift">StarGift</a> end_date:<a href="/type/int">int</a> center_color:<a href="/type/int">int</a> edge_color:<a href="/type/int">int</a> text_color:<a href="/type/int">int</a> = <a href="/type/WebPageAttribute">WebPageAttribute</a>;\

---functions---\

<a href="/method/payments.getStarGiftAuctionState">payments.getStarGiftAuctionState</a>#5c9ff4d6 auction:<a href="/type/InputStarGiftAuction">InputStarGiftAuction</a> version:<a href="/type/int">int</a> = <a href="/type/payments.StarGiftAuctionState">payments.StarGiftAuctionState</a>;
<a href="/method/payments.getStarGiftAuctionAcquiredGifts">payments.getStarGiftAuctionAcquiredGifts</a>#6ba2cbec gift_id:<a href="/type/long">long</a> = <a href="/type/payments.StarGiftAuctionAcquiredGifts">payments.StarGiftAuctionAcquiredGifts</a>;
<a href="/method/payments.getStarGiftActiveAuctions">payments.getStarGiftActiveAuctions</a>#a5d0514d hash:<a href="/type/long">long</a> = <a href="/type/payments.StarGiftActiveAuctions">payments.StarGiftActiveAuctions</a>;\

</code></pre></div>

### [Layer 217](/schema?layer=217)

This layer introduces:

- [Live stories »](/api/group-calls.md#live-stories)
- [Recent story summaries »](/api/stories.md#recent-story-summaries)
- [Methods to delete group call messages and live story comments »](/api/group-calls.md#in-call-messages)
- [Repeating scheduled messages »](/api/scheduled-messages.md#repeating-scheduled-messages)
- [Privacy settings for the music tab on profiles »](/api/profile.md#music)
- [Anonymous group admins »](/api/rights.md#anonymous-admins) can now [toggle items in checklists »](/api/todo.md#mark-items-as-completed)
- [Suggestions to setup a login email »](/api/auth.md#email-verification)

#### API constants

##### Suggested actions

[Basic suggestion identifiers &raquo;](/api/config.md#basic-suggestions)

- Added [`SETUP_LOGIN_EMAIL` &raquo;](/api/config.md#setup-login-email)
- Added [`SETUP_LOGIN_EMAIL_NOSKIP` &raquo;](/api/config.md#setup-login-email-noskip)

#### [Schema](/schema.md) changes

##### New Methods

* Added [stories.startLive](/method/stories.startLive.md) - Start a live story, optionally using RTMP livestream mode, see [here »](/api/group-calls.md#live-stories) for the full flow.
* Added [phone.deleteGroupCallMessages](/method/phone.deleteGroupCallMessages.md) - Delete specific messages from the [in-call message overlay »](/api/group-calls.md#in-call-messages) of a video chat/livestream or live story, including in RTMP mode.
* Added [phone.deleteGroupCallParticipantMessages](/method/phone.deleteGroupCallParticipantMessages.md) - As an admin, delete all messages from a specific participant in the [in-call message overlay »](/api/group-calls.md#in-call-messages) of a video chat/livestream or live story, including in RTMP mode.
* Added [phone.getGroupCallStars](/method/phone.getGroupCallStars.md) - Fetch a live story's total donations and top donors, see [paid live story donations »](/api/group-calls.md#paid-live-story-donations).
* Added [phone.saveDefaultSendAs](/method/phone.saveDefaultSendAs.md) - Save the default peer displayed as the author of live story comments and reactions, see [in-call messages »](/api/group-calls.md#in-call-messages).

##### Changed Methods

* Added **schedule_repeat_period** parameter in [messages.sendMessage](/method/messages.sendMessage.md)
* Added **schedule_repeat_period** parameter in [messages.sendMedia](/method/messages.sendMedia.md)
* Added **schedule_repeat_period** parameter in [messages.forwardMessages](/method/messages.forwardMessages.md)
* Added **schedule_repeat_period** parameter in [messages.editMessage](/method/messages.editMessage.md)
* Added **send_paid_messages_stars** parameter in [phone.toggleGroupCallSettings](/method/phone.toggleGroupCallSettings.md)
* Added **for_live_stories** parameter in [channels.getSendAs](/method/channels.getSendAs.md)
* Added **flags**, **live_story** parameters in [phone.getGroupCallStreamRtmpUrl](/method/phone.getGroupCallStreamRtmpUrl.md)
* Changed type of [stories.getPeerMaxIDs](/method/stories.getPeerMaxIDs.md) from **Vector&lt;int&gt;** to **Vector&lt;RecentStory&gt;**
* Changed type of [phone.sendGroupCallMessage](/method/phone.sendGroupCallMessage.md) from **Bool** to **Updates**
* Added **flags**, **allow_paid_stars**, **send_as** parameters in [phone.sendGroupCallMessage](/method/phone.sendGroupCallMessage.md)

##### New Constructors

* Added [messageMediaVideoStream](/constructor/messageMediaVideoStream.md) - Identifies the active group call associated with a [live story »](/api/group-calls.md#live-stories).
* Added [updateDeleteGroupCallMessages](/constructor/updateDeleteGroupCallMessages.md) - Indicates that messages were deleted from the [in-call message overlay »](/api/group-calls.md#in-call-messages) of a video chat/livestream or live story, including in RTMP mode.
* Added [groupCallMessage](/constructor/groupCallMessage.md) - Represents an [in-call message »](/api/group-calls.md#in-call-messages), emoji reaction, paid live story comment or standalone paid live story donation.
* Added [inputPrivacyKeySavedMusic](/constructor/inputPrivacyKeySavedMusic.md) - Whether the user can see the [songs we pinned to our profile »](/api/profile.md#music).
* Added [privacyKeySavedMusic](/constructor/privacyKeySavedMusic.md) - Whether the user can see the [songs we pinned to our profile »](/api/profile.md#music).
* Added [groupCallDonor](/constructor/groupCallDonor.md) - Describes a live story donor in the [donation leaderboard »](/api/group-calls.md#paid-live-story-donations).
* Added [phone.groupCallStars](/constructor/phone.groupCallStars.md) - Contains a live story's total donations and top donors, see [paid live story donations »](/api/group-calls.md#paid-live-story-donations).
* Added [recentStory](/constructor/recentStory.md) - Summary of a peer's [active stories »](/api/stories.md#recent-story-summaries), embedded in [user](/constructor/user.md).`stories_max_id` and [channel](/constructor/channel.md).`stories_max_id` and returned by [stories.getPeerMaxIDs](/method/stories.getPeerMaxIDs.md).

##### Changed Constructors

* Added **schedule_repeat_period** parameter in [message](/constructor/message.md)
* Changed type of **stories_max_id** from **flags2.5?int** to **flags2.5?RecentStory** in [user](/constructor/user.md)
* Changed type of **stories_max_id** from **flags2.4?int** to **flags2.4?RecentStory** in [channel](/constructor/channel.md)
* Added **send_paid_messages_stars**, **default_send_as** parameters in [groupCall](/constructor/groupCall.md)
* Added **paid_stars_total** parameter in [groupCallParticipant](/constructor/groupCallParticipant.md)
* Added **live_story**, **peer** parameters, removed **chat_id** parameter in [updateGroupCall](/constructor/updateGroupCall.md)
* Added **days** parameter, removed **months** parameter in [messageActionGiftPremium](/constructor/messageActionGiftPremium.md)
* Added **live** parameter in [storyItemSkipped](/constructor/storyItemSkipped.md)
* Added **days** parameter, removed **months** parameter in [payments.checkedGiftCode](/constructor/payments.checkedGiftCode.md)
* Added **days** parameter, removed **months** parameter in [messageActionGiftCode](/constructor/messageActionGiftCode.md)
* Added **phonegroup_message** parameter in [starsTransaction](/constructor/starsTransaction.md)
* Added **disallow_stargifts_from_channels** parameter in [disallowedGiftsSettings](/constructor/disallowedGiftsSettings.md)
* Changed type of **completed_by** from **long** to **Peer** in [todoCompletion](/constructor/todoCompletion.md)
* Removed **from_id**, **random_id** parameters, changed type of **message** from **TextWithEntities** to **GroupCallMessage** in [updateGroupCallMessage](/constructor/updateGroupCallMessage.md)

#### [Schema](/schema.md)

<div><pre><code><a href="/constructor/message">message</a>#b92f76cf flags:<a href="/type/%23">#</a> out:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> mentioned:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> media_unread:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> silent:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/constructor/true">true</a> post:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/constructor/true">true</a> from_scheduled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/constructor/true">true</a> legacy:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/constructor/true">true</a> edit_hide:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/constructor/true">true</a> pinned:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.24?<a href="/constructor/true">true</a> noforwards:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.26?<a href="/constructor/true">true</a> invert_media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.27?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> offline:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.1?<a href="/constructor/true">true</a> video_processing_pending:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.4?<a href="/constructor/true">true</a> paid_suggested_post_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.8?<a href="/constructor/true">true</a> paid_suggested_post_ton:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.9?<a href="/constructor/true">true</a> id:<a href="/type/int">int</a> from_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/Peer">Peer</a> from_boosts_applied:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.29?<a href="/type/int">int</a> peer_id:<a href="/type/Peer">Peer</a> saved_peer_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.28?<a href="/type/Peer">Peer</a> fwd_from:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/MessageFwdHeader">MessageFwdHeader</a> via_bot_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/long">long</a> via_business_bot_id:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.0?<a href="/type/long">long</a> reply_to:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/MessageReplyHeader">MessageReplyHeader</a> date:<a href="/type/int">int</a> message:<a href="/type/string">string</a> media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/MessageMedia">MessageMedia</a> reply_markup:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/ReplyMarkup">ReplyMarkup</a> entities:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; views:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/int">int</a> forwards:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/int">int</a> replies:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/type/MessageReplies">MessageReplies</a> edit_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/int">int</a> post_author:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/type/string">string</a> grouped_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/long">long</a> reactions:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/type/MessageReactions">MessageReactions</a> restriction_reason:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/RestrictionReason">RestrictionReason</a>&gt; ttl_period:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.25?<a href="/type/int">int</a> quick_reply_shortcut_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.30?<a href="/type/int">int</a> effect:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.2?<a href="/type/long">long</a> factcheck:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.3?<a href="/type/FactCheck">FactCheck</a> report_delivery_until_date:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.5?<a href="/type/int">int</a> paid_message_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.6?<a href="/type/long">long</a> suggested_post:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.7?<a href="/type/SuggestedPost">SuggestedPost</a> schedule_repeat_period:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.10?<a href="/type/int">int</a> = <a href="/type/Message">Message</a>;\

<a href="/constructor/user">user</a>#31774388 flags:<a href="/type/%23">#</a> self:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> contact:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> mutual_contact:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> deleted:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/constructor/true">true</a> bot:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/constructor/true">true</a> bot_chat_history:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/constructor/true">true</a> bot_nochats:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/constructor/true">true</a> verified:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/constructor/true">true</a> restricted:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/constructor/true">true</a> min:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/constructor/true">true</a> bot_inline_geo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/constructor/true">true</a> support:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/constructor/true">true</a> scam:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.24?<a href="/constructor/true">true</a> apply_min_photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.25?<a href="/constructor/true">true</a> fake:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.26?<a href="/constructor/true">true</a> bot_attach_menu:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.27?<a href="/constructor/true">true</a> premium:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.28?<a href="/constructor/true">true</a> attach_menu_enabled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.29?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> bot_can_edit:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.1?<a href="/constructor/true">true</a> close_friend:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.2?<a href="/constructor/true">true</a> stories_hidden:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.3?<a href="/constructor/true">true</a> stories_unavailable:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.4?<a href="/constructor/true">true</a> contact_require_premium:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.10?<a href="/constructor/true">true</a> bot_business:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.11?<a href="/constructor/true">true</a> bot_has_main_app:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.13?<a href="/constructor/true">true</a> bot_forum_view:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.16?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> access_hash:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/long">long</a> first_name:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> last_name:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> username:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/string">string</a> phone:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/string">string</a> photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/UserProfilePhoto">UserProfilePhoto</a> status:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/UserStatus">UserStatus</a> bot_info_version:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/int">int</a> restriction_reason:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/RestrictionReason">RestrictionReason</a>&gt; bot_inline_placeholder:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/type/string">string</a> lang_code:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/type/string">string</a> emoji_status:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.30?<a href="/type/EmojiStatus">EmojiStatus</a> usernames:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Username">Username</a>&gt; stories_max_id:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.5?<a href="/type/RecentStory">RecentStory</a> color:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.8?<a href="/type/PeerColor">PeerColor</a> profile_color:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.9?<a href="/type/PeerColor">PeerColor</a> bot_active_users:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.12?<a href="/type/int">int</a> bot_verification_icon:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.14?<a href="/type/long">long</a> send_paid_messages_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.15?<a href="/type/long">long</a> = <a href="/type/User">User</a>;\

<a href="/constructor/channel">channel</a>#1c32b11c flags:<a href="/type/%23">#</a> creator:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> left:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> broadcast:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> verified:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> megagroup:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/constructor/true">true</a> restricted:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/constructor/true">true</a> signatures:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> min:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> scam:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/constructor/true">true</a> has_link:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/constructor/true">true</a> has_geo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/constructor/true">true</a> slowmode_enabled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/constructor/true">true</a> call_active:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/constructor/true">true</a> call_not_empty:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.24?<a href="/constructor/true">true</a> fake:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.25?<a href="/constructor/true">true</a> gigagroup:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.26?<a href="/constructor/true">true</a> noforwards:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.27?<a href="/constructor/true">true</a> join_to_send:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.28?<a href="/constructor/true">true</a> join_request:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.29?<a href="/constructor/true">true</a> forum:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.30?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> stories_hidden:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.1?<a href="/constructor/true">true</a> stories_hidden_min:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.2?<a href="/constructor/true">true</a> stories_unavailable:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.3?<a href="/constructor/true">true</a> signature_profiles:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.12?<a href="/constructor/true">true</a> autotranslation:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.15?<a href="/constructor/true">true</a> broadcast_messages_allowed:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.16?<a href="/constructor/true">true</a> monoforum:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.17?<a href="/constructor/true">true</a> forum_tabs:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.19?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> access_hash:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/long">long</a> title:<a href="/type/string">string</a> username:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/string">string</a> photo:<a href="/type/ChatPhoto">ChatPhoto</a> date:<a href="/type/int">int</a> restriction_reason:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/RestrictionReason">RestrictionReason</a>&gt; admin_rights:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/ChatAdminRights">ChatAdminRights</a> banned_rights:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/ChatBannedRights">ChatBannedRights</a> default_banned_rights:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/type/ChatBannedRights">ChatBannedRights</a> participants_count:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/int">int</a> usernames:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Username">Username</a>&gt; stories_max_id:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.4?<a href="/type/RecentStory">RecentStory</a> color:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.7?<a href="/type/PeerColor">PeerColor</a> profile_color:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.8?<a href="/type/PeerColor">PeerColor</a> emoji_status:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.9?<a href="/type/EmojiStatus">EmojiStatus</a> level:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.10?<a href="/type/int">int</a> subscription_until_date:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.11?<a href="/type/int">int</a> bot_verification_icon:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.13?<a href="/type/long">long</a> send_paid_messages_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.14?<a href="/type/long">long</a> linked_monoforum_id:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.18?<a href="/type/long">long</a> = <a href="/type/Chat">Chat</a>;\

<a href="/constructor/groupCall">groupCall</a>#efb2b617 flags:<a href="/type/%23">#</a> join_muted:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> can_change_join_muted:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> join_date_asc:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> schedule_start_subscribed:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/constructor/true">true</a> can_start_video:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/constructor/true">true</a> record_video_active:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> rtmp_stream:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> listeners_hidden:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/constructor/true">true</a> conference:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/constructor/true">true</a> creator:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/constructor/true">true</a> messages_enabled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/constructor/true">true</a> can_change_messages_enabled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/constructor/true">true</a> min:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> access_hash:<a href="/type/long">long</a> participants_count:<a href="/type/int">int</a> title:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/string">string</a> stream_dc_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/int">int</a> record_start_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/int">int</a> schedule_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/int">int</a> unmuted_video_count:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/int">int</a> unmuted_video_limit:<a href="/type/int">int</a> version:<a href="/type/int">int</a> invite_link:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/type/string">string</a> send_paid_messages_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/type/long">long</a> default_send_as:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/type/Peer">Peer</a> = <a href="/type/GroupCall">GroupCall</a>;
<a href="/constructor/groupCallParticipant">groupCallParticipant</a>#2a3dc7ac flags:<a href="/type/%23">#</a> muted:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> left:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> can_self_unmute:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> just_joined:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> versioned:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> min:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/constructor/true">true</a> muted_by_you:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/constructor/true">true</a> volume_by_admin:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> self:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> video_joined:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/constructor/true">true</a> peer:<a href="/type/Peer">Peer</a> date:<a href="/type/int">int</a> active_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/int">int</a> source:<a href="/type/int">int</a> volume:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/int">int</a> about:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/string">string</a> raise_hand_rating:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/long">long</a> video:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/GroupCallParticipantVideo">GroupCallParticipantVideo</a> presentation:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/GroupCallParticipantVideo">GroupCallParticipantVideo</a> paid_stars_total:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/type/long">long</a> = <a href="/type/GroupCallParticipant">GroupCallParticipant</a>;\

<a href="/constructor/updateGroupCall">updateGroupCall</a>#9d2216e0 flags:<a href="/type/%23">#</a> live_story:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/Peer">Peer</a> call:<a href="/type/GroupCall">GroupCall</a> = <a href="/type/Update">Update</a>;\

<a href="/constructor/messageActionGiftPremium">messageActionGiftPremium</a>#48e91302 flags:<a href="/type/%23">#</a> currency:<a href="/type/string">string</a> amount:<a href="/type/long">long</a> days:<a href="/type/int">int</a> crypto_currency:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/string">string</a> crypto_amount:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/long">long</a> message:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/TextWithEntities">TextWithEntities</a> = <a href="/type/MessageAction">MessageAction</a>;\

<a href="/constructor/storyItemSkipped">storyItemSkipped</a>#ffadc913 flags:<a href="/type/%23">#</a> close_friends:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/constructor/true">true</a> live:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/constructor/true">true</a> id:<a href="/type/int">int</a> date:<a href="/type/int">int</a> expire_date:<a href="/type/int">int</a> = <a href="/type/StoryItem">StoryItem</a>;\

<a href="/constructor/payments.checkedGiftCode">payments.checkedGiftCode</a>#eb983f8f flags:<a href="/type/%23">#</a> via_giveaway:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> from_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/Peer">Peer</a> giveaway_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/int">int</a> to_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/long">long</a> date:<a href="/type/int">int</a> days:<a href="/type/int">int</a> used_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/int">int</a> chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/payments.CheckedGiftCode">payments.CheckedGiftCode</a>;\

<a href="/constructor/messageActionGiftCode">messageActionGiftCode</a>#31c48347 flags:<a href="/type/%23">#</a> via_giveaway:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> unclaimed:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> boost_peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/Peer">Peer</a> days:<a href="/type/int">int</a> slug:<a href="/type/string">string</a> currency:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> amount:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/long">long</a> crypto_currency:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/string">string</a> crypto_amount:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/long">long</a> message:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/TextWithEntities">TextWithEntities</a> = <a href="/type/MessageAction">MessageAction</a>;\

<a href="/constructor/starsTransaction">starsTransaction</a>#13659eb0 flags:<a href="/type/%23">#</a> refund:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> pending:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> failed:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> gift:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> reaction:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> stargift_upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/constructor/true">true</a> business_transfer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/constructor/true">true</a> stargift_resale:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/constructor/true">true</a> posts_search:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.24?<a href="/constructor/true">true</a> stargift_prepaid_upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.25?<a href="/constructor/true">true</a> stargift_drop_original_details:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.26?<a href="/constructor/true">true</a> phonegroup_message:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.27?<a href="/constructor/true">true</a> id:<a href="/type/string">string</a> amount:<a href="/type/StarsAmount">StarsAmount</a> date:<a href="/type/int">int</a> peer:<a href="/type/StarsTransactionPeer">StarsTransactionPeer</a> title:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/string">string</a> description:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/WebDocument">WebDocument</a> transaction_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/int">int</a> transaction_url:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/string">string</a> bot_payload:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/bytes">bytes</a> msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/int">int</a> extended_media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageMedia">MessageMedia</a>&gt; subscription_period:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/type/int">int</a> giveaway_post_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/int">int</a> stargift:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/StarGift">StarGift</a> floodskip_number:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/int">int</a> starref_commission_permille:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/type/int">int</a> starref_peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/Peer">Peer</a> starref_amount:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/StarsAmount">StarsAmount</a> paid_messages:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/type/int">int</a> premium_gift_months:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/type/int">int</a> ads_proceeds_from_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/type/int">int</a> ads_proceeds_to_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/type/int">int</a> = <a href="/type/StarsTransaction">StarsTransaction</a>;\

<a href="/constructor/disallowedGiftsSettings">disallowedGiftsSettings</a>#71f276c4 flags:<a href="/type/%23">#</a> disallow_unlimited_stargifts:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> disallow_limited_stargifts:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> disallow_unique_stargifts:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> disallow_premium_gifts:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> disallow_stargifts_from_channels:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> = <a href="/type/DisallowedGiftsSettings">DisallowedGiftsSettings</a>;\

<a href="/constructor/todoCompletion">todoCompletion</a>#221bb5e4 id:<a href="/type/int">int</a> completed_by:<a href="/type/Peer">Peer</a> date:<a href="/type/int">int</a> = <a href="/type/TodoCompletion">TodoCompletion</a>;\

<a href="/constructor/updateGroupCallMessage">updateGroupCallMessage</a>#d8326f0d call:<a href="/type/InputGroupCall">InputGroupCall</a> message:<a href="/type/GroupCallMessage">GroupCallMessage</a> = <a href="/type/Update">Update</a>;\

<a href="/constructor/messageMediaVideoStream">messageMediaVideoStream</a>#ca5cab89 flags:<a href="/type/%23">#</a> rtmp_stream:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> call:<a href="/type/InputGroupCall">InputGroupCall</a> = <a href="/type/MessageMedia">MessageMedia</a>;\

<a href="/constructor/updateDeleteGroupCallMessages">updateDeleteGroupCallMessages</a>#3e85e92c call:<a href="/type/InputGroupCall">InputGroupCall</a> messages:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; = <a href="/type/Update">Update</a>;\

<a href="/constructor/groupCallMessage">groupCallMessage</a>#1a8afc7e flags:<a href="/type/%23">#</a> from_admin:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> id:<a href="/type/int">int</a> from_id:<a href="/type/Peer">Peer</a> date:<a href="/type/int">int</a> message:<a href="/type/TextWithEntities">TextWithEntities</a> paid_message_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/long">long</a> = <a href="/type/GroupCallMessage">GroupCallMessage</a>;\

<a href="/constructor/inputPrivacyKeySavedMusic">inputPrivacyKeySavedMusic</a>#4dbe9226 = <a href="/type/InputPrivacyKey">InputPrivacyKey</a>;\

<a href="/constructor/privacyKeySavedMusic">privacyKeySavedMusic</a>#ff7a571b = <a href="/type/PrivacyKey">PrivacyKey</a>;\

<a href="/constructor/groupCallDonor">groupCallDonor</a>#ee430c85 flags:<a href="/type/%23">#</a> top:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> my:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> peer_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/Peer">Peer</a> stars:<a href="/type/long">long</a> = <a href="/type/GroupCallDonor">GroupCallDonor</a>;\

<a href="/constructor/phone.groupCallStars">phone.groupCallStars</a>#9d1dbd26 total_stars:<a href="/type/long">long</a> top_donors:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/GroupCallDonor">GroupCallDonor</a>&gt; chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/phone.GroupCallStars">phone.GroupCallStars</a>;\

<a href="/constructor/recentStory">recentStory</a>#711d692d flags:<a href="/type/%23">#</a> live:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> max_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/int">int</a> = <a href="/type/RecentStory">RecentStory</a>;\

---functions---\

<a href="/method/messages.sendMessage">messages.sendMessage</a>#545cd15a flags:<a href="/type/%23">#</a> no_webpage:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> silent:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> background:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> clear_draft:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> noforwards:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/constructor/true">true</a> update_stickersets_order:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/constructor/true">true</a> invert_media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/constructor/true">true</a> allow_paid_floodskip:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> reply_to:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/InputReplyTo">InputReplyTo</a> message:<a href="/type/string">string</a> random_id:<a href="/type/long">long</a> reply_markup:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/ReplyMarkup">ReplyMarkup</a> entities:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; schedule_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/int">int</a> schedule_repeat_period:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.24?<a href="/type/int">int</a> send_as:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/InputPeer">InputPeer</a> quick_reply_shortcut:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/InputQuickReplyShortcut">InputQuickReplyShortcut</a> effect:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/type/long">long</a> allow_paid_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/type/long">long</a> suggested_post:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/type/SuggestedPost">SuggestedPost</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.sendMedia">messages.sendMedia</a>#0330e77f flags:<a href="/type/%23">#</a> silent:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> background:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> clear_draft:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> noforwards:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/constructor/true">true</a> update_stickersets_order:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/constructor/true">true</a> invert_media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/constructor/true">true</a> allow_paid_floodskip:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> reply_to:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/InputReplyTo">InputReplyTo</a> media:<a href="/type/InputMedia">InputMedia</a> message:<a href="/type/string">string</a> random_id:<a href="/type/long">long</a> reply_markup:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/ReplyMarkup">ReplyMarkup</a> entities:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; schedule_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/int">int</a> schedule_repeat_period:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.24?<a href="/type/int">int</a> send_as:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/InputPeer">InputPeer</a> quick_reply_shortcut:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/InputQuickReplyShortcut">InputQuickReplyShortcut</a> effect:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/type/long">long</a> allow_paid_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/type/long">long</a> suggested_post:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/type/SuggestedPost">SuggestedPost</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.forwardMessages">messages.forwardMessages</a>#41d41ade flags:<a href="/type/%23">#</a> silent:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> background:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> with_my_score:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/constructor/true">true</a> drop_author:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> drop_media_captions:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> noforwards:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/constructor/true">true</a> allow_paid_floodskip:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/constructor/true">true</a> from_peer:<a href="/type/InputPeer">InputPeer</a> id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; random_id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; to_peer:<a href="/type/InputPeer">InputPeer</a> top_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/int">int</a> reply_to:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/type/InputReplyTo">InputReplyTo</a> schedule_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/int">int</a> schedule_repeat_period:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.24?<a href="/type/int">int</a> send_as:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/InputPeer">InputPeer</a> quick_reply_shortcut:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/InputQuickReplyShortcut">InputQuickReplyShortcut</a> video_timestamp:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/type/int">int</a> allow_paid_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/type/long">long</a> suggested_post:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/type/SuggestedPost">SuggestedPost</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.editMessage">messages.editMessage</a>#51e842e1 flags:<a href="/type/%23">#</a> no_webpage:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> invert_media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> id:<a href="/type/int">int</a> message:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/string">string</a> media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/InputMedia">InputMedia</a> reply_markup:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/ReplyMarkup">ReplyMarkup</a> entities:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; schedule_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/int">int</a> schedule_repeat_period:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/type/int">int</a> quick_reply_shortcut_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/int">int</a> = <a href="/type/Updates">Updates</a>;\

<a href="/method/phone.toggleGroupCallSettings">phone.toggleGroupCallSettings</a>#974392f2 flags:<a href="/type/%23">#</a> reset_invite_hash:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> call:<a href="/type/InputGroupCall">InputGroupCall</a> join_muted:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/Bool">Bool</a> messages_enabled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/Bool">Bool</a> send_paid_messages_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/long">long</a> = <a href="/type/Updates">Updates</a>;\

<a href="/method/channels.getSendAs">channels.getSendAs</a>#e785a43f flags:<a href="/type/%23">#</a> for_paid_reactions:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> for_live_stories:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> = <a href="/type/channels.SendAsPeers">channels.SendAsPeers</a>;\

<a href="/method/phone.getGroupCallStreamRtmpUrl">phone.getGroupCallStreamRtmpUrl</a>#5af4c73a flags:<a href="/type/%23">#</a> live_story:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> revoke:<a href="/type/Bool">Bool</a> = <a href="/type/phone.GroupCallStreamRtmpUrl">phone.GroupCallStreamRtmpUrl</a>;\

<a href="/method/stories.getPeerMaxIDs">stories.getPeerMaxIDs</a>#78499170 id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputPeer">InputPeer</a>&gt; = <a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/RecentStory">RecentStory</a>&gt;;\

<a href="/method/phone.sendGroupCallMessage">phone.sendGroupCallMessage</a>#b1d11410 flags:<a href="/type/%23">#</a> call:<a href="/type/InputGroupCall">InputGroupCall</a> random_id:<a href="/type/long">long</a> message:<a href="/type/TextWithEntities">TextWithEntities</a> allow_paid_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/long">long</a> send_as:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Updates">Updates</a>;\

<a href="/method/stories.startLive">stories.startLive</a>#d069ccde flags:<a href="/type/%23">#</a> pinned:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> noforwards:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> rtmp_stream:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> caption:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/string">string</a> entities:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; privacy_rules:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputPrivacyRule">InputPrivacyRule</a>&gt; random_id:<a href="/type/long">long</a> messages_enabled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/Bool">Bool</a> send_paid_messages_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/long">long</a> = <a href="/type/Updates">Updates</a>;\

<a href="/method/phone.deleteGroupCallMessages">phone.deleteGroupCallMessages</a>#f64f54f7 flags:<a href="/type/%23">#</a> report_spam:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> call:<a href="/type/InputGroupCall">InputGroupCall</a> messages:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; = <a href="/type/Updates">Updates</a>;
<a href="/method/phone.deleteGroupCallParticipantMessages">phone.deleteGroupCallParticipantMessages</a>#1dbfeca0 flags:<a href="/type/%23">#</a> report_spam:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> call:<a href="/type/InputGroupCall">InputGroupCall</a> participant:<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/phone.getGroupCallStars">phone.getGroupCallStars</a>#6f636302 call:<a href="/type/InputGroupCall">InputGroupCall</a> = <a href="/type/phone.GroupCallStars">phone.GroupCallStars</a>;
<a href="/method/phone.saveDefaultSendAs">phone.saveDefaultSendAs</a>#4167add1 call:<a href="/type/InputGroupCall">InputGroupCall</a> send_as:<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Bool">Bool</a>;\

</code></pre></div>

### [Layer 216](/schema?layer=216)

This layer introduces the following new features:

- [Bot forums »](/api/forum.md#bot-forums)
- [Private contact notes »](/api/contacts.md#private-notes-for-contacts)
- [Suggested birthdays »](/api/profile.md#birthday)
- [Collectible gifts can now have associated message color palettes »](/api/colors.md#collectible-message-palettes)
- [Live bot response streaming »](/api/bots/ai.md#live-response-streaming).
- [Hosted collectible gifts: linking a collectible gift on the TON blockchain to a Telegram profile »](/api/gifts.md#hosted-collectible-gifts)

#### API constants

##### Client configs

[Client configuration keys &raquo;](/api/config.md#client-configuration).

- Added [`contact_note_length_limit` &raquo;](/api/config.md#contact-note-length-limit)
- Added [`group_call_message_length_limit` &raquo;](/api/config.md#group-call-message-length-limit)
- Added [`group_call_message_ttl` &raquo;](/api/config.md#group-call-message-ttl)
- Added [`message_typing_draft_ttl` &raquo;](/api/config.md#message-typing-draft-ttl)

#### [Schema](/schema.md) changes

##### New Methods

* Added [messages.getForumTopics](/method/messages.getForumTopics.md) - Get [topics of a forum](/api/forum.md)
* Added [messages.getForumTopicsByID](/method/messages.getForumTopicsByID.md) - Get forum topics by their ID
* Added [messages.editForumTopic](/method/messages.editForumTopic.md) - Edit [forum topic](/api/forum.md).
* Added [messages.updatePinnedForumTopic](/method/messages.updatePinnedForumTopic.md) - Pin or unpin [forum topics](/api/forum.md)
* Added [messages.reorderPinnedForumTopics](/method/messages.reorderPinnedForumTopics.md) - Reorder pinned forum topics
* Added [messages.createForumTopic](/method/messages.createForumTopic.md) - Create a [forum topic](/api/forum.md).
* Added [messages.deleteTopicHistory](/method/messages.deleteTopicHistory.md) - Delete message history of a [forum topic](/api/forum.md)
* Added [phone.sendGroupCallMessage](/method/phone.sendGroupCallMessage.md) - Send an in-call message to all participants of a video chat/livestream or live story, including in RTMP mode, see [here »](/api/group-calls.md#in-call-messages) for more info.
* Added [phone.sendGroupCallEncryptedMessage](/method/phone.sendGroupCallEncryptedMessage.md) - 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 »](/api/end-to-end/group-calls.md#conference-in-call-messages) for the serialization and encryption process.
* Added [contacts.updateContactNote](/method/contacts.updateContactNote.md) - Update the private note associated to a contact; see [here »](/api/contacts.md#private-notes-for-contacts) for more info.
* Added [users.suggestBirthday](/method/users.suggestBirthday.md) - Suggest a birthday to another user, see [here »](/api/profile.md#birthday) for more info on birthdays in the API.

##### Changed Methods

* Added **note** parameter in [contacts.addContact](/method/contacts.addContact.md)
* Added **messages_enabled** parameter in [phone.toggleGroupCallSettings](/method/phone.toggleGroupCallSettings.md)
* Removed **background_emoji_id** parameter, changed type of **color** from **flags.2?int** to **flags.2?PeerColor** in [account.updateColor](/method/account.updateColor.md)
* Added **peer_color_available**, **exclude_hosted** parameters in [payments.getSavedStarGifts](/method/payments.getSavedStarGifts.md)

##### Deleted Methods

* Removed channels.createForumTopic
* Removed channels.getForumTopics
* Removed channels.getForumTopicsByID
* Removed channels.editForumTopic
* Removed channels.updatePinnedForumTopic
* Removed channels.deleteTopicHistory
* Removed channels.reorderPinnedForumTopics

##### New Constructors

* Added [sendMessageTextDraftAction](/constructor/sendMessageTextDraftAction.md) - Used by bots to implement [live message streaming »](/api/bots/ai.md#live-response-streaming).
* Added [updateGroupCallMessage](/constructor/updateGroupCallMessage.md) - A new message, reaction, paid comment or donation was received through the [in-call message overlay »](/api/group-calls.md#in-call-messages).
* Added [updateGroupCallEncryptedMessage](/constructor/updateGroupCallEncryptedMessage.md) - A new E2E-encrypted message or emoji reaction was received in a conference call, see [here »](/api/end-to-end/group-calls.md#receiving-and-decrypting-a-message) for the decryption process.
* Added [updatePinnedForumTopic](/constructor/updatePinnedForumTopic.md) - A [forum topic »](/api/forum.md#forum-topics) was pinned or unpinned.
* Added [updatePinnedForumTopics](/constructor/updatePinnedForumTopics.md) - The [pinned topics](/api/forum.md#forum-topics) of a forum have changed.
* Added [peerColorCollectible](/constructor/peerColorCollectible.md) - Represents a [color palette »](/api/colors.md) associated to a [collectible gift »](/api/gifts.md#collectible-gifts), see [here »](/api/colors.md#collectible-gift-palettes) for more info.
* Added [inputPeerColorCollectible](/constructor/inputPeerColorCollectible.md) - Represents a [color palette »](/api/colors.md) associated to a [collectible gift »](/api/gifts.md#collectible-gifts), see [here »](/api/colors.md#collectible-gift-palettes) for more info.
* Added [messageActionSuggestBirthday](/constructor/messageActionSuggestBirthday.md) - A new birthday was suggested using [users.suggestBirthday](/method/users.suggestBirthday.md), see [here »](/api/profile.md#birthday) for more info on birthdays in the API.

##### Changed Constructors

* Added **flags**, **note** parameters in [inputPhoneContact](/constructor/inputPhoneContact.md)
* Added **note** parameter in [userFull](/constructor/userFull.md)
* Added **topics** parameter in [messages.messages](/constructor/messages.messages.md)
* Added **topics** parameter in [messages.messagesSlice](/constructor/messages.messagesSlice.md)
* Added **flags**, **top_msg_id** parameters in [updateUserTyping](/constructor/updateUserTyping.md)
* Added **top_msg_id** parameter in [updateReadHistoryInbox](/constructor/updateReadHistoryInbox.md)
* Added **bot_forum_view** parameter in [user](/constructor/user.md)
* Added **messages_enabled**, **can_change_messages_enabled**, **min** parameters in [groupCall](/constructor/groupCall.md)
* Added **title_missing**, **peer** parameters in [forumTopic](/constructor/forumTopic.md)
* Added **title_missing** parameter in [messageActionTopicCreate](/constructor/messageActionTopicCreate.md)
* Added **peer_color_available** parameter in [starGift](/constructor/starGift.md)
* Added **peer_color**, **host_id** parameters in [starGiftUnique](/constructor/starGiftUnique.md)
* Added **assigned** parameter in [messageActionStarGiftUnique](/constructor/messageActionStarGiftUnique.md)

##### Deleted Constructors

* Removed updateChannelPinnedTopic
* Removed updateChannelPinnedTopics

#### PUSH notification changes

##### New PUSH notifications

* Added [MESSAGE_SUGGEST_BIRTHDAY](/api/push-updates.md#message-suggest-birthday) - `{1} suggested you your birthday`

#### [Changes in the file reference database map file &raquo;](/api/file-references.md)

##### New traversers incoming

* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getForumTopics'>messages.getForumTopics</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getForumTopicsByID'>messages.getForumTopicsByID</a>}</code></pre>

##### Deleted Traversers incoming

* Removed <pre><code>traverseMethodResult{name: <a href='/method/channels.getForumTopics'>channels.getForumTopics</a>}</code></pre>
* Removed <pre><code>traverseMethodResult{name: <a href='/method/channels.getForumTopicsByID'>channels.getForumTopicsByID</a>}</code></pre>

#### [End-to-end schema](/schema/end-to-end.md) changes

##### New Constructors

* Added [jsonObjectValue](/constructor/jsonObjectValue.md) - JSON key: value pair
* Added [jsonNull](/constructor/jsonNull.md) - null JSON value
* Added [jsonBool](/constructor/jsonBool.md) - JSON boolean value
* Added [jsonNumber](/constructor/jsonNumber.md) - JSON numeric value
* Added [jsonString](/constructor/jsonString.md) - JSON string
* Added [jsonArray](/constructor/jsonArray.md) - JSON array
* Added [jsonObject](/constructor/jsonObject.md) - JSON object value
* Added [textWithEntities](/constructor/textWithEntities.md) - Styled text with [message entities](/api/entities.md)
* Added [groupCallMessage](/constructor/groupCallMessage.md) - Represents an [in-call message »](/api/group-calls.md#in-call-messages), emoji reaction, paid live story comment or standalone paid live story donation.

#### [End-to-end schema](/schema/end-to-end.md)

<div><pre><code>===216===\

<a href="/constructor/jsonObjectValue">jsonObjectValue</a>#c0de1bd9 key:<a href="/type/string">string</a> value:<a href="/type/JSONValue">JSONValue</a> = <a href="/type/JSONObjectValue">JSONObjectValue</a>;
<a href="/constructor/jsonNull">jsonNull</a>#3f6d7b68 = <a href="/type/JSONValue">JSONValue</a>;
<a href="/constructor/jsonBool">jsonBool</a>#c7345e6a value:<a href="/type/Bool">Bool</a> = <a href="/type/JSONValue">JSONValue</a>;
<a href="/constructor/jsonNumber">jsonNumber</a>#2be0dfa4 value:<a href="/type/double">double</a> = <a href="/type/JSONValue">JSONValue</a>;
<a href="/constructor/jsonString">jsonString</a>#b71e767a value:<a href="/type/string">string</a> = <a href="/type/JSONValue">JSONValue</a>;
<a href="/constructor/jsonArray">jsonArray</a>#f7444763 value:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/JSONValue">JSONValue</a>&gt; = <a href="/type/JSONValue">JSONValue</a>;
<a href="/constructor/jsonObject">jsonObject</a>#99c1d49d value:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/JSONObjectValue">JSONObjectValue</a>&gt; = <a href="/type/JSONValue">JSONValue</a>;\

<a href="/constructor/textWithEntities">textWithEntities</a>#751f3146 text:<a href="/type/string">string</a> entities:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; = <a href="/type/TextWithEntities">TextWithEntities</a>;\

<a href="/constructor/groupCallMessage">groupCallMessage</a>#907ce88e random_id:<a href="/type/long">long</a> message:<a href="/type/TextWithEntities">TextWithEntities</a> = <a href="/type/GroupCallMessage">GroupCallMessage</a>;\

</code></pre></div>

#### [Schema](/schema.md)

<div><pre><code><a href="/constructor/inputPhoneContact">inputPhoneContact</a>#6a1dc4be flags:<a href="/type/%23">#</a> client_id:<a href="/type/long">long</a> phone:<a href="/type/string">string</a> first_name:<a href="/type/string">string</a> last_name:<a href="/type/string">string</a> note:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/TextWithEntities">TextWithEntities</a> = <a href="/type/InputContact">InputContact</a>;\

<a href="/constructor/userFull">userFull</a>#a02bc13e flags:<a href="/type/%23">#</a> blocked:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> phone_calls_available:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> phone_calls_private:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> can_pin_message:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> has_scheduled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> video_calls_available:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/constructor/true">true</a> voice_messages_forbidden:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/constructor/true">true</a> translations_disabled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/constructor/true">true</a> stories_pinned_available:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.26?<a href="/constructor/true">true</a> blocked_my_stories_from:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.27?<a href="/constructor/true">true</a> wallpaper_overridden:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.28?<a href="/constructor/true">true</a> contact_require_premium:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.29?<a href="/constructor/true">true</a> read_dates_private:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.30?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> sponsored_enabled:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.7?<a href="/constructor/true">true</a> can_view_revenue:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.9?<a href="/constructor/true">true</a> bot_can_manage_emoji_status:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.10?<a href="/constructor/true">true</a> display_gifts_button:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.16?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> about:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> settings:<a href="/type/PeerSettings">PeerSettings</a> personal_photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/type/Photo">Photo</a> profile_photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/Photo">Photo</a> fallback_photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/type/Photo">Photo</a> notify_settings:<a href="/type/PeerNotifySettings">PeerNotifySettings</a> bot_info:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/BotInfo">BotInfo</a> pinned_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/int">int</a> common_chats_count:<a href="/type/int">int</a> folder_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/int">int</a> ttl_period:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/int">int</a> theme:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/ChatTheme">ChatTheme</a> private_forward_name:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/type/string">string</a> bot_group_admin_rights:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/ChatAdminRights">ChatAdminRights</a> bot_broadcast_admin_rights:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/type/ChatAdminRights">ChatAdminRights</a> wallpaper:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.24?<a href="/type/WallPaper">WallPaper</a> stories:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.25?<a href="/type/PeerStories">PeerStories</a> business_work_hours:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.0?<a href="/type/BusinessWorkHours">BusinessWorkHours</a> business_location:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.1?<a href="/type/BusinessLocation">BusinessLocation</a> business_greeting_message:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.2?<a href="/type/BusinessGreetingMessage">BusinessGreetingMessage</a> business_away_message:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.3?<a href="/type/BusinessAwayMessage">BusinessAwayMessage</a> business_intro:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.4?<a href="/type/BusinessIntro">BusinessIntro</a> birthday:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.5?<a href="/type/Birthday">Birthday</a> personal_channel_id:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.6?<a href="/type/long">long</a> personal_channel_message:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.6?<a href="/type/int">int</a> stargifts_count:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.8?<a href="/type/int">int</a> starref_program:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.11?<a href="/type/StarRefProgram">StarRefProgram</a> bot_verification:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.12?<a href="/type/BotVerification">BotVerification</a> send_paid_messages_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.14?<a href="/type/long">long</a> disallowed_gifts:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.15?<a href="/type/DisallowedGiftsSettings">DisallowedGiftsSettings</a> stars_rating:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.17?<a href="/type/StarsRating">StarsRating</a> stars_my_pending_rating:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.18?<a href="/type/StarsRating">StarsRating</a> stars_my_pending_rating_date:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.18?<a href="/type/int">int</a> main_tab:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.20?<a href="/type/ProfileTab">ProfileTab</a> saved_music:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.21?<a href="/type/Document">Document</a> note:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.22?<a href="/type/TextWithEntities">TextWithEntities</a> = <a href="/type/UserFull">UserFull</a>;\

<a href="/constructor/messages.messages">messages.messages</a>#1d73e7ea messages:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Message">Message</a>&gt; topics:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/ForumTopic">ForumTopic</a>&gt; chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/messages.Messages">messages.Messages</a>;
<a href="/constructor/messages.messagesSlice">messages.messagesSlice</a>#5f206716 flags:<a href="/type/%23">#</a> inexact:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> count:<a href="/type/int">int</a> next_rate:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> offset_id_offset:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/int">int</a> search_flood:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/SearchPostsFlood">SearchPostsFlood</a> messages:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Message">Message</a>&gt; topics:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/ForumTopic">ForumTopic</a>&gt; chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/messages.Messages">messages.Messages</a>;\

<a href="/constructor/updateUserTyping">updateUserTyping</a>#2a17bf5c flags:<a href="/type/%23">#</a> user_id:<a href="/type/long">long</a> top_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> action:<a href="/type/SendMessageAction">SendMessageAction</a> = <a href="/type/Update">Update</a>;
<a href="/constructor/updateReadHistoryInbox">updateReadHistoryInbox</a>#9e84bc99 flags:<a href="/type/%23">#</a> folder_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> peer:<a href="/type/Peer">Peer</a> top_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/int">int</a> max_id:<a href="/type/int">int</a> still_unread_count:<a href="/type/int">int</a> pts:<a href="/type/int">int</a> pts_count:<a href="/type/int">int</a> = <a href="/type/Update">Update</a>;
<a href="/constructor/user">user</a>#020b1422 flags:<a href="/type/%23">#</a> self:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> contact:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> mutual_contact:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> deleted:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/constructor/true">true</a> bot:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/constructor/true">true</a> bot_chat_history:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/constructor/true">true</a> bot_nochats:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/constructor/true">true</a> verified:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/constructor/true">true</a> restricted:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/constructor/true">true</a> min:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/constructor/true">true</a> bot_inline_geo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/constructor/true">true</a> support:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/constructor/true">true</a> scam:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.24?<a href="/constructor/true">true</a> apply_min_photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.25?<a href="/constructor/true">true</a> fake:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.26?<a href="/constructor/true">true</a> bot_attach_menu:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.27?<a href="/constructor/true">true</a> premium:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.28?<a href="/constructor/true">true</a> attach_menu_enabled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.29?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> bot_can_edit:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.1?<a href="/constructor/true">true</a> close_friend:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.2?<a href="/constructor/true">true</a> stories_hidden:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.3?<a href="/constructor/true">true</a> stories_unavailable:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.4?<a href="/constructor/true">true</a> contact_require_premium:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.10?<a href="/constructor/true">true</a> bot_business:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.11?<a href="/constructor/true">true</a> bot_has_main_app:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.13?<a href="/constructor/true">true</a> bot_forum_view:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.16?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> access_hash:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/long">long</a> first_name:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> last_name:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> username:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/string">string</a> phone:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/string">string</a> photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/UserProfilePhoto">UserProfilePhoto</a> status:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/UserStatus">UserStatus</a> bot_info_version:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/int">int</a> restriction_reason:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/RestrictionReason">RestrictionReason</a>&gt; bot_inline_placeholder:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/type/string">string</a> lang_code:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/type/string">string</a> emoji_status:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.30?<a href="/type/EmojiStatus">EmojiStatus</a> usernames:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Username">Username</a>&gt; stories_max_id:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.5?<a href="/type/int">int</a> color:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.8?<a href="/type/PeerColor">PeerColor</a> profile_color:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.9?<a href="/type/PeerColor">PeerColor</a> bot_active_users:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.12?<a href="/type/int">int</a> bot_verification_icon:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.14?<a href="/type/long">long</a> send_paid_messages_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.15?<a href="/type/long">long</a> = <a href="/type/User">User</a>;\

<a href="/constructor/groupCall">groupCall</a>#553b0ba1 flags:<a href="/type/%23">#</a> join_muted:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> can_change_join_muted:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> join_date_asc:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> schedule_start_subscribed:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/constructor/true">true</a> can_start_video:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/constructor/true">true</a> record_video_active:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> rtmp_stream:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> listeners_hidden:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/constructor/true">true</a> conference:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/constructor/true">true</a> creator:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/constructor/true">true</a> messages_enabled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/constructor/true">true</a> can_change_messages_enabled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/constructor/true">true</a> min:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> access_hash:<a href="/type/long">long</a> participants_count:<a href="/type/int">int</a> title:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/string">string</a> stream_dc_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/int">int</a> record_start_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/int">int</a> schedule_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/int">int</a> unmuted_video_count:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/int">int</a> unmuted_video_limit:<a href="/type/int">int</a> version:<a href="/type/int">int</a> invite_link:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/type/string">string</a> = <a href="/type/GroupCall">GroupCall</a>;\

<a href="/constructor/forumTopic">forumTopic</a>#cdff0eca flags:<a href="/type/%23">#</a> my:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> closed:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> pinned:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> short:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> hidden:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> title_missing:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> id:<a href="/type/int">int</a> date:<a href="/type/int">int</a> peer:<a href="/type/Peer">Peer</a> title:<a href="/type/string">string</a> icon_color:<a href="/type/int">int</a> icon_emoji_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/long">long</a> top_message:<a href="/type/int">int</a> read_inbox_max_id:<a href="/type/int">int</a> read_outbox_max_id:<a href="/type/int">int</a> unread_count:<a href="/type/int">int</a> unread_mentions_count:<a href="/type/int">int</a> unread_reactions_count:<a href="/type/int">int</a> from_id:<a href="/type/Peer">Peer</a> notify_settings:<a href="/type/PeerNotifySettings">PeerNotifySettings</a> draft:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/DraftMessage">DraftMessage</a> = <a href="/type/ForumTopic">ForumTopic</a>;\

<a href="/constructor/messageActionTopicCreate">messageActionTopicCreate</a>#0d999256 flags:<a href="/type/%23">#</a> title_missing:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> title:<a href="/type/string">string</a> icon_color:<a href="/type/int">int</a> icon_emoji_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/long">long</a> = <a href="/type/MessageAction">MessageAction</a>;\

<a href="/constructor/starGift">starGift</a>#80ac53c3 flags:<a href="/type/%23">#</a> limited:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> sold_out:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> birthday:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> require_premium:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> limited_per_user:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/constructor/true">true</a> peer_color_available:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> sticker:<a href="/type/Document">Document</a> stars:<a href="/type/long">long</a> availability_remains:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> availability_total:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> availability_resale:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> convert_stars:<a href="/type/long">long</a> first_sale_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/int">int</a> last_sale_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/int">int</a> upgrade_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/long">long</a> resell_min_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> title:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/string">string</a> released_by:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/Peer">Peer</a> per_user_total:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/int">int</a> per_user_remains:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/int">int</a> locked_until_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/int">int</a> = <a href="/type/StarGift">StarGift</a>;
<a href="/constructor/starGiftUnique">starGiftUnique</a>#b0bf741b flags:<a href="/type/%23">#</a> require_premium:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> resale_ton_only:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> theme_available:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> gift_id:<a href="/type/long">long</a> title:<a href="/type/string">string</a> slug:<a href="/type/string">string</a> num:<a href="/type/int">int</a> owner_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/Peer">Peer</a> owner_name:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> owner_address:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> attributes:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StarGiftAttribute">StarGiftAttribute</a>&gt; availability_issued:<a href="/type/int">int</a> availability_total:<a href="/type/int">int</a> gift_address:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/string">string</a> resell_amount:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StarsAmount">StarsAmount</a>&gt; released_by:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/Peer">Peer</a> value_amount:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/long">long</a> value_currency:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/string">string</a> theme_peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/Peer">Peer</a> peer_color:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/PeerColor">PeerColor</a> host_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/type/Peer">Peer</a> = <a href="/type/StarGift">StarGift</a>;\

<a href="/constructor/messageActionStarGiftUnique">messageActionStarGiftUnique</a>#95728543 flags:<a href="/type/%23">#</a> upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> transferred:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> saved:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> refunded:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> prepaid_upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> assigned:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/constructor/true">true</a> gift:<a href="/type/StarGift">StarGift</a> can_export_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/int">int</a> transfer_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> from_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/Peer">Peer</a> peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/Peer">Peer</a> saved_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/long">long</a> resale_amount:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/StarsAmount">StarsAmount</a> can_transfer_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/int">int</a> can_resell_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/int">int</a> drop_original_details_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/type/long">long</a> = <a href="/type/MessageAction">MessageAction</a>;\

<a href="/constructor/sendMessageTextDraftAction">sendMessageTextDraftAction</a>#376d975c random_id:<a href="/type/long">long</a> text:<a href="/type/TextWithEntities">TextWithEntities</a> = <a href="/type/SendMessageAction">SendMessageAction</a>;\

<a href="/constructor/updateGroupCallMessage">updateGroupCallMessage</a>#78c314e0 call:<a href="/type/InputGroupCall">InputGroupCall</a> from_id:<a href="/type/Peer">Peer</a> random_id:<a href="/type/long">long</a> message:<a href="/type/TextWithEntities">TextWithEntities</a> = <a href="/type/Update">Update</a>;
<a href="/constructor/updateGroupCallEncryptedMessage">updateGroupCallEncryptedMessage</a>#c957a766 call:<a href="/type/InputGroupCall">InputGroupCall</a> from_id:<a href="/type/Peer">Peer</a> encrypted_message:<a href="/type/bytes">bytes</a> = <a href="/type/Update">Update</a>;
<a href="/constructor/updatePinnedForumTopic">updatePinnedForumTopic</a>#683b2c52 flags:<a href="/type/%23">#</a> pinned:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> peer:<a href="/type/Peer">Peer</a> topic_id:<a href="/type/int">int</a> = <a href="/type/Update">Update</a>;
<a href="/constructor/updatePinnedForumTopics">updatePinnedForumTopics</a>#def143d0 flags:<a href="/type/%23">#</a> peer:<a href="/type/Peer">Peer</a> order:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; = <a href="/type/Update">Update</a>;\

<a href="/constructor/peerColorCollectible">peerColorCollectible</a>#b9c0639a flags:<a href="/type/%23">#</a> collectible_id:<a href="/type/long">long</a> gift_emoji_id:<a href="/type/long">long</a> background_emoji_id:<a href="/type/long">long</a> accent_color:<a href="/type/int">int</a> colors:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; dark_accent_color:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> dark_colors:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; = <a href="/type/PeerColor">PeerColor</a>;\

<a href="/constructor/inputPeerColorCollectible">inputPeerColorCollectible</a>#b8ea86a9 collectible_id:<a href="/type/long">long</a> = <a href="/type/PeerColor">PeerColor</a>;\

<a href="/constructor/messageActionSuggestBirthday">messageActionSuggestBirthday</a>#2c8f2a25 birthday:<a href="/type/Birthday">Birthday</a> = <a href="/type/MessageAction">MessageAction</a>;\

---functions---\

<a href="/method/contacts.addContact">contacts.addContact</a>#d9ba2e54 flags:<a href="/type/%23">#</a> add_phone_privacy_exception:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> id:<a href="/type/InputUser">InputUser</a> first_name:<a href="/type/string">string</a> last_name:<a href="/type/string">string</a> phone:<a href="/type/string">string</a> note:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/TextWithEntities">TextWithEntities</a> = <a href="/type/Updates">Updates</a>;\

<a href="/method/phone.toggleGroupCallSettings">phone.toggleGroupCallSettings</a>#e9723804 flags:<a href="/type/%23">#</a> reset_invite_hash:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> call:<a href="/type/InputGroupCall">InputGroupCall</a> join_muted:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/Bool">Bool</a> messages_enabled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/Bool">Bool</a> = <a href="/type/Updates">Updates</a>;\

<a href="/method/account.updateColor">account.updateColor</a>#684d214e flags:<a href="/type/%23">#</a> for_profile:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> color:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/PeerColor">PeerColor</a> = <a href="/type/Bool">Bool</a>;\

<a href="/method/payments.getSavedStarGifts">payments.getSavedStarGifts</a>#a319e569 flags:<a href="/type/%23">#</a> exclude_unsaved:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> exclude_saved:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> exclude_unlimited:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> exclude_unique:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> sort_by_value:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> exclude_upgradable:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> exclude_unupgradable:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/constructor/true">true</a> peer_color_available:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/constructor/true">true</a> exclude_hosted:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> collection_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/int">int</a> offset:<a href="/type/string">string</a> limit:<a href="/type/int">int</a> = <a href="/type/payments.SavedStarGifts">payments.SavedStarGifts</a>;\

<a href="/method/messages.getForumTopics">messages.getForumTopics</a>#3ba47bff flags:<a href="/type/%23">#</a> peer:<a href="/type/InputPeer">InputPeer</a> q:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/string">string</a> offset_date:<a href="/type/int">int</a> offset_id:<a href="/type/int">int</a> offset_topic:<a href="/type/int">int</a> limit:<a href="/type/int">int</a> = <a href="/type/messages.ForumTopics">messages.ForumTopics</a>;
<a href="/method/messages.getForumTopicsByID">messages.getForumTopicsByID</a>#af0a4a08 peer:<a href="/type/InputPeer">InputPeer</a> topics:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; = <a href="/type/messages.ForumTopics">messages.ForumTopics</a>;
<a href="/method/messages.editForumTopic">messages.editForumTopic</a>#cecc1134 flags:<a href="/type/%23">#</a> peer:<a href="/type/InputPeer">InputPeer</a> topic_id:<a href="/type/int">int</a> title:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/string">string</a> icon_emoji_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/long">long</a> closed:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/Bool">Bool</a> hidden:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/Bool">Bool</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.updatePinnedForumTopic">messages.updatePinnedForumTopic</a>#175df251 peer:<a href="/type/InputPeer">InputPeer</a> topic_id:<a href="/type/int">int</a> pinned:<a href="/type/Bool">Bool</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.reorderPinnedForumTopics">messages.reorderPinnedForumTopics</a>#0e7841f0 flags:<a href="/type/%23">#</a> force:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> order:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.createForumTopic">messages.createForumTopic</a>#2f98c3d5 flags:<a href="/type/%23">#</a> title_missing:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> title:<a href="/type/string">string</a> icon_color:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> icon_emoji_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/long">long</a> random_id:<a href="/type/long">long</a> send_as:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.deleteTopicHistory">messages.deleteTopicHistory</a>#d2816f10 peer:<a href="/type/InputPeer">InputPeer</a> top_msg_id:<a href="/type/int">int</a> = <a href="/type/messages.AffectedHistory">messages.AffectedHistory</a>;\

<a href="/method/phone.sendGroupCallMessage">phone.sendGroupCallMessage</a>#87893014 call:<a href="/type/InputGroupCall">InputGroupCall</a> random_id:<a href="/type/long">long</a> message:<a href="/type/TextWithEntities">TextWithEntities</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/phone.sendGroupCallEncryptedMessage">phone.sendGroupCallEncryptedMessage</a>#e5afa56d call:<a href="/type/InputGroupCall">InputGroupCall</a> encrypted_message:<a href="/type/bytes">bytes</a> = <a href="/type/Bool">Bool</a>;\

<a href="/method/contacts.updateContactNote">contacts.updateContactNote</a>#139f63fb id:<a href="/type/InputUser">InputUser</a> note:<a href="/type/TextWithEntities">TextWithEntities</a> = <a href="/type/Bool">Bool</a>;\

<a href="/method/users.suggestBirthday">users.suggestBirthday</a>#fc533372 id:<a href="/type/InputUser">InputUser</a> birthday:<a href="/type/Birthday">Birthday</a> = <a href="/type/Updates">Updates</a>;\

</code></pre></div>

### [Layer 215](/schema?layer=215)

This layer introduces the following new features and improvements:

- [Allow removing the starGiftAttributeOriginalDetails from an owned gift »](/api/gifts.md#dropping-the-original-details-of-an-upgraded-gift).
- [payments.starGiftUpgradePreview](/constructor/payments.starGiftUpgradePreview.md) now returns a list of future [gift upgrade](/api/gifts.md#collectible-gifts) prices in **prices** and **next\_prices**.
- Improved pagination for [account.getUniqueGiftChatThemes](/method/account.getUniqueGiftChatThemes.md), also added a note indicating that the method may return less than `limit` results, even if the actual number of remaining results is `>= limit`, pagination should be used to fetch them all.

#### [Schema](/schema.md) changes

##### New Methods

* Added [auth.checkPaidAuth](/method/auth.checkPaidAuth.md) - Checks the status of a [login payment](/api/auth.md#paid-auth).

##### Changed Methods

* Changed type of **offset** from **int** to **string** in [account.getUniqueGiftChatThemes](/method/account.getUniqueGiftChatThemes.md)

##### New Constructors

* Added [inputInvoicePremiumAuthCode](/constructor/inputInvoicePremiumAuthCode.md) - Used to pay for login codes, in case of high cost of SMS verification codes for the user's country/provider, see [here »](/api/auth.md#paid-auth) for more info.
* Added [inputInvoiceStarGiftDropOriginalDetails](/constructor/inputInvoiceStarGiftDropOriginalDetails.md) - Used to pay for for the removal of the [starGiftAttributeOriginalDetails](/constructor/starGiftAttributeOriginalDetails.md) attribute from a collectible gift, see [here »](/api/gifts.md#dropping-the-original-details-of-an-upgraded-gift) for the full flow.
* Added [starGiftUpgradePrice](/constructor/starGiftUpgradePrice.md) - Indicates the price for a [gift upgrade »](/api/gifts.md#collectible-gifts) starting from a specific point in time.

##### Changed Constructors

* Changed type of **next_offset** from **flags.0?int** to **flags.0?string** in [account.chatThemes](/constructor/account.chatThemes.md)
* Added **stargift_drop_original_details** parameter in [starsTransaction](/constructor/starsTransaction.md)
* Added **drop_original_details_stars** parameter in [messageActionStarGiftUnique](/constructor/messageActionStarGiftUnique.md)
* Added **prices**, **next_prices** parameters in [payments.starGiftUpgradePreview](/constructor/payments.starGiftUpgradePreview.md)
* Added **drop_original_details_stars** parameter in [savedStarGift](/constructor/savedStarGift.md)
* Added **currency**, **amount** parameters in [auth.sentCodePaymentRequired](/constructor/auth.sentCodePaymentRequired.md)

#### [Schema](/schema.md)

<div><pre><code><a href="/constructor/account.chatThemes">account.chatThemes</a>#be098173 flags:<a href="/type/%23">#</a> hash:<a href="/type/long">long</a> themes:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/ChatTheme">ChatTheme</a>&gt; chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; next_offset:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/string">string</a> = <a href="/type/account.ChatThemes">account.ChatThemes</a>;\

<a href="/constructor/starsTransaction">starsTransaction</a>#13659eb0 flags:<a href="/type/%23">#</a> refund:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> pending:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> failed:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> gift:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> reaction:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> stargift_upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/constructor/true">true</a> business_transfer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/constructor/true">true</a> stargift_resale:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/constructor/true">true</a> posts_search:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.24?<a href="/constructor/true">true</a> stargift_prepaid_upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.25?<a href="/constructor/true">true</a> stargift_drop_original_details:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.26?<a href="/constructor/true">true</a> id:<a href="/type/string">string</a> amount:<a href="/type/StarsAmount">StarsAmount</a> date:<a href="/type/int">int</a> peer:<a href="/type/StarsTransactionPeer">StarsTransactionPeer</a> title:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/string">string</a> description:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/WebDocument">WebDocument</a> transaction_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/int">int</a> transaction_url:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/string">string</a> bot_payload:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/bytes">bytes</a> msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/int">int</a> extended_media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageMedia">MessageMedia</a>&gt; subscription_period:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/type/int">int</a> giveaway_post_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/int">int</a> stargift:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/StarGift">StarGift</a> floodskip_number:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/int">int</a> starref_commission_permille:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/type/int">int</a> starref_peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/Peer">Peer</a> starref_amount:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/StarsAmount">StarsAmount</a> paid_messages:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/type/int">int</a> premium_gift_months:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/type/int">int</a> ads_proceeds_from_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/type/int">int</a> ads_proceeds_to_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/type/int">int</a> = <a href="/type/StarsTransaction">StarsTransaction</a>;\

<a href="/constructor/messageActionStarGiftUnique">messageActionStarGiftUnique</a>#95728543 flags:<a href="/type/%23">#</a> upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> transferred:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> saved:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> refunded:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> prepaid_upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> gift:<a href="/type/StarGift">StarGift</a> can_export_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/int">int</a> transfer_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> from_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/Peer">Peer</a> peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/Peer">Peer</a> saved_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/long">long</a> resale_amount:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/StarsAmount">StarsAmount</a> can_transfer_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/int">int</a> can_resell_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/int">int</a> drop_original_details_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/type/long">long</a> = <a href="/type/MessageAction">MessageAction</a>;\

<a href="/constructor/payments.starGiftUpgradePreview">payments.starGiftUpgradePreview</a>#3de1dfed sample_attributes:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StarGiftAttribute">StarGiftAttribute</a>&gt; prices:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StarGiftUpgradePrice">StarGiftUpgradePrice</a>&gt; next_prices:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StarGiftUpgradePrice">StarGiftUpgradePrice</a>&gt; = <a href="/type/payments.StarGiftUpgradePreview">payments.StarGiftUpgradePreview</a>;\

<a href="/constructor/savedStarGift">savedStarGift</a>#8983a452 flags:<a href="/type/%23">#</a> name_hidden:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> unsaved:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> refunded:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/constructor/true">true</a> can_upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> pinned_to_top:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> upgrade_separate:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/constructor/true">true</a> from_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/Peer">Peer</a> date:<a href="/type/int">int</a> gift:<a href="/type/StarGift">StarGift</a> message:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/TextWithEntities">TextWithEntities</a> msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/int">int</a> saved_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/long">long</a> convert_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> upgrade_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/long">long</a> can_export_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/int">int</a> transfer_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/long">long</a> can_transfer_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/int">int</a> can_resell_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/int">int</a> collection_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; prepaid_upgrade_hash:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/type/string">string</a> drop_original_details_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/type/long">long</a> = <a href="/type/SavedStarGift">SavedStarGift</a>;\

<a href="/constructor/auth.sentCodePaymentRequired">auth.sentCodePaymentRequired</a>#e0955a3c store_product:<a href="/type/string">string</a> phone_code_hash:<a href="/type/string">string</a> support_email_address:<a href="/type/string">string</a> support_email_subject:<a href="/type/string">string</a> currency:<a href="/type/string">string</a> amount:<a href="/type/long">long</a> = <a href="/type/auth.SentCode">auth.SentCode</a>;\

<a href="/constructor/inputInvoicePremiumAuthCode">inputInvoicePremiumAuthCode</a>#3e77f614 purpose:<a href="/type/InputStorePaymentPurpose">InputStorePaymentPurpose</a> = <a href="/type/InputInvoice">InputInvoice</a>;
<a href="/constructor/inputInvoiceStarGiftDropOriginalDetails">inputInvoiceStarGiftDropOriginalDetails</a>#0923d8d1 stargift:<a href="/type/InputSavedStarGift">InputSavedStarGift</a> = <a href="/type/InputInvoice">InputInvoice</a>;\

<a href="/constructor/starGiftUpgradePrice">starGiftUpgradePrice</a>#99ea331d date:<a href="/type/int">int</a> upgrade_stars:<a href="/type/long">long</a> = <a href="/type/StarGiftUpgradePrice">StarGiftUpgradePrice</a>;\

---functions---\

<a href="/method/account.getUniqueGiftChatThemes">account.getUniqueGiftChatThemes</a>#e42ce9c9 offset:<a href="/type/string">string</a> limit:<a href="/type/int">int</a> hash:<a href="/type/long">long</a> = <a href="/type/account.ChatThemes">account.ChatThemes</a>;
<a href="/method/auth.checkPaidAuth">auth.checkPaidAuth</a>#56e59f9c phone_number:<a href="/type/string">string</a> phone_code_hash:<a href="/type/string">string</a> form_id:<a href="/type/long">long</a> = <a href="/type/auth.SentCode">auth.SentCode</a>;\

</code></pre></div>

### [Layer 214](/schema?layer=214)

To view all changes since the last documentation refresh, start reading at [layer 196](#layer-196). This documentation refresh *also* brings the following changes:

- [A brand new file reference database map file »](/api/file-references.md): can be used to automatically codegen a fully functional file reference database, see [here »](/api/file-references.md) for more info.
    
    
    - The map file generator is open source, and is specifically designed to be easy to run on newer, even experimental layers, see [here for more info »](/api/file-reference-generator.md).
    - Layer diffs will now list changes to the file reference map file as well.
- [The RPC error database was updated »](/api/errors.md), and it now has the following extra fields:
    
    
    - `business_supported` - Contains the full list of methods that can be used by bots over a [business connection with invokeWithBusinessConnection](/api/bots/connected-business-bots.md).
    - `unauthed_allowed` - Contains the full list of methods that can be used by not yet logged in connections.
- All methods in the documentation now explicitly state if they can be used by bots, users or both, and if they can be used over a business connection or over an unauthorized connection.
- Updated the list of methods that can be used over a [business connection](/api/bots/connected-business-bots.md)
    
    
    - [stories.sendStory](/method/stories.sendStory.md) and [stories.editStory](/method/stories.editStory.md) can also be used to post and edit stories on behalf of a connected business account: in this case, simply pass the business account's peer in `peer`, *without* wrapping the request in an [invokeWithBusinessConnection »](/method/invokeWithBusinessConnection.md) query.  
        Note that [stories.editStory](/method/stories.editStory.md) can only be used to edit stories posted by the same business bot on behalf of the user.
- Updated the list of methods that can be used over an [unauthed connection](/api/auth.md#we-are-authorized)
- The [documentation for the profile page was also reorganized, to include the full list of profile tabs to show, along with instructions on how to populate them »](/api/profile.md).
- [Corrected hash generation instructions for messages.getScheduledHistory, the correct order is id, edit\_date, date; not id, date, edit\_date »](/method/messages.getScheduledHistory.md)
- Added documentation on [frozen accounts »](/api/auth.md#frozen-accounts)
- [Added a new client configuration key for the maximum number of allowed quiz poll answers](/api/config.md#poll-answers-max)
- [Added a new client configuration key for the maximum amount of Telegram Stars that can be withdrawn from a channel or bot's balance »](/api/config.md#stars-revenue-withdrawal-max)
- [Added support for age verification, if required by the current country's legislation »](/api/age-verification.md).
- Added device storage and secure storage APIs for [mini apps](/api/bots/webapps.md), using the following events:
    
    
    - [web\_app\_device\_storage\_save\_key](/api/web-events.md#web-app-device-storage-save-key) - Save or remove a value from the device's local storage associated with this user and mini app
    - [web\_app\_device\_storage\_get\_key](/api/web-events.md#web-app-device-storage-get-key) - Get a value from the device's local storage associated with this user and mini app
    - [web\_app\_device\_storage\_clear](/api/web-events.md#web-app-device-storage-clear) - Clear the device's local storage associated with this user and mini app
    - [web\_app\_secure\_storage\_save\_key](/api/web-events.md#web-app-secure-storage-save-key) - Save or remove a value from the device's secure storage associated with this user and mini app
    - [web\_app\_secure\_storage\_get\_key](/api/web-events.md#web-app-secure-storage-get-key) - Get a value from the device's secure storage associated with this user and mini app
    - [web\_app\_secure\_storage\_restore\_key](/api/web-events.md#web-app-secure-storage-restore-key) - Restore a value to the device's secure storage associated with this user and mini app
    - [web\_app\_secure\_storage\_clear](/api/web-events.md#web-app-secure-storage-clear) - Clear the device's secure storage associated with this user and mini app
- Add support for the new `manage_direct_messages` [admin right](/constructor/chatAdminRights.md) in [group/channel bot links](/api/links.md#group-channel-bot-links).
- Updated the documentation for bot API dialog IDs to include support for the new monoforum ID range, see [here »](/api/bots/ids.md#monoforum-ids) for more info.
    
    
    - Specifically, the bot API dialog ID new ranges from `-4000000000000` to `1099511627775` (previously the range was `-2002147483648` to `1099511627775`).
    - The transformed range for bot API monoforum dialog IDs is `-2002147483649` to `-4000000000000` inclusively.
- Push notifications can now have a custom `report_delivery_until_date` parameter for [Telegram Gateway verification messages](https://telegram.org/blog/star-messages-gateway-2-0-and-more#save-even-more-on-user-verification): if set, the message is a Telegram Gateway verification code, and [messages.reportMessagesDelivery](/method/messages.reportMessagesDelivery.md) should be invoked with the `push` flag set.
- Added a correction to the [paid reactions documentation »](/api/reactions.md#paid-reactions): the `random_id` argument of [messages.sendPaidReaction](/method/messages.sendPaidReaction.md) **must** be composed of a 64-bit integer where the lower 32 bits are random, and the higher 32 bits **are equal to the current unixtime**, i.e. `uint64_t random_id = (time() << 32) | ((uint64_t)random_uint32_t())`: this differs from the `random_id` format of all other methods in the API, which just take 64 random bits.
- Clarified that adding a new recent reaction should trigger modification of the cached list and regeneration of the hash with a custom algorithm, see [here »](/api/reactions.md#recent-reactions) for more info.
- Clarified that modifying saved message tags should trigger modification of the cached list and regeneration of the hash with a custom algorithm, see [here »](/api/saved-messages.md#tags) for more info.
- The [webpage type list »](/constructor/webPage.md) was updated.
- [Clarified](/api/invoking.md) that in some cases such as updates from big channels, the API may return constructors from older layers, different from the connection's current layer.  
    Clients should treat this as a `500` server error, and handle it by closing and reopening the TCP socket, re-reinitializing the session with [initConnection](/method/initConnection.md) and invoking [getDifference](/api/updates.md).
- A whole bunch of new features and articles, [start reading at layer 196](#layer-196) to view them all. And here are the changes in this layer:
- [Set a collectible gift as chat theme »](/api/themes.md#chat-themes)
- Allow sending an email to Telegram's support team when getting [auth.sentCodePaymentRequired](/constructor/auth.sentCodePaymentRequired.md) during login (official clients only).

#### [Schema](/schema.md) changes

##### New Methods

* Added [account.getUniqueGiftChatThemes](/method/account.getUniqueGiftChatThemes.md) - Obtain all [chat themes »](/api/themes.md#chat-themes) associated to owned or [hosted collectible gifts »](/api/gifts.md#hosted-collectible-gifts).

##### Changed Methods

* Added **theme** parameter, removed **emoticon** parameter in [messages.setChatTheme](/method/messages.setChatTheme.md)

##### New Constructors

* Added [chatTheme](/constructor/chatTheme.md) - A chat theme
* Added [chatThemeUniqueGift](/constructor/chatThemeUniqueGift.md) - A chat theme based on a [collectible gift »](/api/gifts.md#collectible-gifts).
* Added [account.chatThemesNotModified](/constructor/account.chatThemesNotModified.md) - The available chat themes were not modified
* Added [account.chatThemes](/constructor/account.chatThemes.md) - Available [chat themes](/api/themes.md#chat-themes)
* Added [inputChatThemeEmpty](/constructor/inputChatThemeEmpty.md) - Remove any currently configured theme.
* Added [inputChatTheme](/constructor/inputChatTheme.md) - Set an emoji-based chat theme, returned by [account.getChatThemes](/method/account.getChatThemes.md).
* Added [inputChatThemeUniqueGift](/constructor/inputChatThemeUniqueGift.md) - Set a theme based on an owned or [hosted collectible gift »](/api/gifts.md#hosted-collectible-gifts), returned by [account.getUniqueGiftChatThemes](/method/account.getUniqueGiftChatThemes.md).

##### Changed Constructors

* Added **theme** parameter, removed **emoticon** parameter in [messageActionSetChatTheme](/constructor/messageActionSetChatTheme.md)
* Added **support_email_address**, **support_email_subject** parameters in [auth.sentCodePaymentRequired](/constructor/auth.sentCodePaymentRequired.md)
* Added **theme** parameter, removed **theme_emoticon** parameter in [userFull](/constructor/userFull.md)
* Added **theme_available**, **theme_peer** parameters in [starGiftUnique](/constructor/starGiftUnique.md)

#### PUSH notification changes

##### New PUSH notifications

* Added [MESSAGE_STARGIFT_UNPACK_UPGRADE](/api/push-updates.md#message-stargift-unpack-upgrade) - `{1} unpacked the Gift that you helped upgrade`

#### [File reference map file schema &raquo;](/api/file-references.md) changes

##### New Constructors

* Added boolFalse - Constructor may be interpreted as a **boolean**`false` value.
* Added boolTrue - The constructor can be interpreted as a **boolean**`true` value.
* Added true - See [predefined identifiers](/mtproto/TL-formal.md#predefined-identifiers).
* Added vector - A universal vector constructor.
* Added fileReferenceMap
* Added traverseParam
* Added traverseMethodResult
* Added traverseIncomingConstructor
* Added traverseCommitSourceLocation
* Added predicate
* Added source
* Added traverseOutgoingConstructor
* Added traverseSwapLocation
* Added traverseMethodCall
* Added skippedSource
* Added refreshAction
* Added paramNotFlag
* Added paramIsFlagAbortIfEmpty
* Added paramIsFlagFallback
* Added paramIsFlagPassthrough
* Added pathPart
* Added path
* Added pathParent
* Added extractAndStore
* Added extractInputStickerSetFromDocumentAttributesAndStore
* Added extractInputStickerSetFromStickerSetAndStore
* Added extractPeerIdFromPeerAndStore
* Added extractPeerIdFromInputPeerAndStore
* Added extractChannelIdFromChannelAndStore
* Added extractChannelIdFromInputChannelAndStore
* Added extractUserIdFromUserAndStore
* Added extractUserIdFromInputUserAndStore
* Added callOp
* Added getMessageOp
* Added typedOpArg
* Added typedOp
* Added copyOp
* Added getInputChannelByIdOp
* Added getInputUserByIdOp
* Added getInputPeerByIdOp
* Added constructorOp
* Added vectorOp
* Added intLiteralOp
* Added longLiteralOp
* Added stringLiteralOp
* Added bytesLiteralOp
* Added boolLiteralOp
* Added doubleLiteralOp
* Added themeFormatLiteralOp

#### [File reference map file schema &raquo;](/api/file-references.md)

<div><pre><code>boolFalse#bc799737 = Bool;
boolTrue#997275b5 = Bool;\

true#3fedd339 = True;\

vector#1cb5c415 {t:Type} # [ t ] = Vector t;\

fileReferenceMap#72a99250 layer:int db_schema:string db_schema_json:string traversers_incoming:Vector&lt;TraverserIncoming&gt; traversers_outgoing:Vector&lt;TraverserOutgoing&gt; refresh_actions:Vector&lt;RefreshAction&gt; skipped_incoming_sources:Vector&lt;SkippedSource&gt; = FileReferenceMap;\

traverseParam#62161b67 flags:# name:string is_flag:flags.0?true is_vector:flags.1?true type:string = TraverseParam;
traverseMethodResult#fda9f236 name:string push_sources:Vector&lt;Source&gt; is_needed_parent:Bool = TraverserIncoming;
traverseIncomingConstructor#6e4d00b6 type:string predicate:string params:Vector&lt;TraverseParam&gt; push_sources:Vector&lt;Source&gt; is_needed_parent:Bool = TraverserIncoming;
traverseCommitSourceLocation#94cc59c5 type:string predicate:string push_sources:Vector&lt;Source&gt; stored_constructor:string = TraverserIncoming;\

predicate#de3bc05a predicate:string is_constructor:Bool = Predicate;\

source#4ec4751a flags:# predicate:Predicate stored_constructor:string stored_params:Vector&lt;FieldExtractor&gt; skipped_flags:Vector&lt;string&gt; needs_parent:flags.3?Predicate needs_not_parents:Vector&lt;Predicate&gt; = Source;\

traverseOutgoingConstructor#3fc5026d type:string predicate:string params:Vector&lt;TraverseParam&gt; = TraverserOutgoing;
traverseSwapLocation#032bf95d type:string predicate:string stored_constructor:string = TraverserOutgoing;
traverseMethodCall#9244f5bb name:string params:Vector&lt;TraverseParam&gt; = TraverserOutgoing;\

skippedSource#2b543f6f predicate:Predicate why:string = SkippedSource;\

refreshAction#d4e15689 stored_constructor:string action:ActionOp = RefreshAction;\

paramNotFlag#acd9d5cf = ParamFlag;
paramIsFlagAbortIfEmpty#f8fe9fee = ParamFlag;
paramIsFlagFallback#202b77a1 fallback:TypedOp = ParamFlag;
paramIsFlagPassthrough#1dc6e17d = ParamFlag;
pathPart#19a10fbf type:string constructor:string param:string param_type:string flag:ParamFlag = PathPart;
path#0c3586a2 parts:Vector&lt;PathPart&gt; = Path;
pathParent#58f13684 parts:Vector&lt;PathPart&gt; = Path;\

extractAndStore#72069549 from:Path to:string = FieldExtractor;
extractInputStickerSetFromDocumentAttributesAndStore#369d8d14 from:Path to:string = FieldExtractor;
extractInputStickerSetFromStickerSetAndStore#c167d470 from:Path to:string = FieldExtractor;
extractPeerIdFromPeerAndStore#7d33019c from:Path to:string = FieldExtractor;
extractPeerIdFromInputPeerAndStore#a51acfb4 from:Path to:string = FieldExtractor;
extractChannelIdFromChannelAndStore#5675bc97 from:Path to:string = FieldExtractor;
extractChannelIdFromInputChannelAndStore#b662660e from:Path to:string = FieldExtractor;
extractUserIdFromUserAndStore#4778ec63 from:Path to:string = FieldExtractor;
extractUserIdFromInputUserAndStore#7720aa2e from:Path to:string = FieldExtractor;\

callOp#c2ff3383 method:string args:Vector&lt;TypedOpArg&gt; = ActionOp;\

getMessageOp#8da4c2ae peer:TypedOp id:TypedOp quick_reply_shortcut_id:TypedOp = ActionOp;\

typedOpArg#3a2930c2 key:string value:TypedOp = TypedOpArg;
typedOp#705b10ec type:string op:TypedOpOp = TypedOp;\

copyOp#f48f418f from:string = TypedOpOp;\

getInputChannelByIdOp#3cb47531 from:string = TypedOpOp;
getInputUserByIdOp#c0ee4326 from:string = TypedOpOp;
getInputPeerByIdOp#19813750 from:string = TypedOpOp;\

constructorOp#107f8d8a constructor:string args:Vector&lt;TypedOpArg&gt; = TypedOpOp;\

vectorOp#f8fb8f72 values:Vector&lt;TypedOp&gt; = TypedOpOp;\

intLiteralOp#cbfabe7c value:int = TypedOpOp;\

longLiteralOp#d08b8d3a value:long = TypedOpOp;\

stringLiteralOp#2b56ea8e value:string = TypedOpOp;\

bytesLiteralOp#fdb395a4 value:bytes = TypedOpOp;
boolLiteralOp#37e07911 value:Bool = TypedOpOp;\

doubleLiteralOp#3651e3bf value:double = TypedOpOp;\

themeFormatLiteralOp#8e4f9208 = TypedOpOp;\

</code></pre></div>

#### [File reference database schema &raquo;](/api/file-references.md) changes

##### New Constructors

* Added boolFalse - Constructor may be interpreted as a **boolean**`false` value.
* Added boolTrue - The constructor can be interpreted as a **boolean**`true` value.
* Added true - See [predefined identifiers](/mtproto/TL-formal.md#predefined-identifiers).
* Added vector - A universal vector constructor.
* Added fileIdPhoto
* Added fileIdDocument
* Added fileSourceMessage
* Added fileSourceStarsTransaction
* Added fileSourceScheduledMessage
* Added fileSourceStory
* Added fileSourceWebPage
* Added fileSourceBotApp
* Added fileSourceUserFull
* Added fileSourceAdminLog
* Added fileSourceStoryAlbum
* Added fileSourceBotPreviewMedia
* Added fileSourceBotPreviewInfo
* Added fileSourcePaidMedia
* Added fileSourceSavedMusic
* Added fileSourceChatFull
* Added fileSourceChannelFull
* Added fileSourcePremiumPromo
* Added fileSourceAttachMenuBot
* Added fileSourceTheme
* Added fileSourceWallPaper
* Added fileSourceStickerSet
* Added fileSourceSavedGifs
* Added fileSourceSavedRingtones
* Added fileSourceAvailableEffects
* Added fileSourceAvailableReactions
* Added fileSourceUserProfilePhoto
* Added fileSourceDocumentByHash

#### [File reference database schema &raquo;](/api/file-references.md)

<div><pre><code>boolFalse#bc799737 = Bool;
boolTrue#997275b5 = Bool;\

true#3fedd339 = True;\

vector#1cb5c415 {t:Type} # [ t ] = Vector t;\

fileIdPhoto#47a0bd49 id:long = FileId;
fileIdDocument#461b1d89 id:long = FileId;
fileSourceMessage#b19f4c78 flags:# quick_reply_shortcut_id:flags.0?int peer:long id:int = FileSource;
fileSourceStarsTransaction#c1bac8c7 flags:# peer:long id:string refund:flags.0?true ton:flags.1?true = FileSource;
fileSourceScheduledMessage#9dc1f5f7 peer:long id:int = FileSource;
fileSourceStory#c820e3eb id:int peer:long = FileSource;
fileSourceWebPage#9e5b749c url:string = FileSource;
fileSourceBotApp#01cf8b7a id:long access_hash:long = FileSource;
fileSourceUserFull#70fdb7b0 id:long = FileSource;
fileSourceAdminLog#4797f959 channel:long max_id:long = FileSource;
fileSourceStoryAlbum#5e01f223 peer:long = FileSource;
fileSourceBotPreviewMedia#0aa91441 bot:long = FileSource;
fileSourceBotPreviewInfo#f9d2d6fc bot:long lang_code:string = FileSource;
fileSourcePaidMedia#b18d9042 id:int peer:long = FileSource;
fileSourceSavedMusic#dd1a7664 user_id:long id:long access_hash:long = FileSource;
fileSourceChatFull#9de75fde chat_id:long = FileSource;
fileSourceChannelFull#6fe19339 channel:long = FileSource;
fileSourcePremiumPromo#c907a44f = FileSource;
fileSourceAttachMenuBot#c3002694 bot:long = FileSource;
fileSourceTheme#92d05e0c id:long access_hash:long = FileSource;
fileSourceWallPaper#50dbf2f7 id:long access_hash:long = FileSource;
fileSourceStickerSet#34c73709 stickerset:InputStickerSet = FileSource;
fileSourceSavedGifs#13e78e07 = FileSource;
fileSourceSavedRingtones#2b25ef1b = FileSource;
fileSourceAvailableEffects#eb8578f0 = FileSource;
fileSourceAvailableReactions#0e432388 = FileSource;
fileSourceUserProfilePhoto#e39ee274 user_id:long max_id:long = FileSource;
fileSourceDocumentByHash#0f151e0f sha256:bytes size:long mime_type:string = FileSource;\

</code></pre></div>

#### [Changes in the file reference database map file &raquo;](/api/file-references.md)

##### New incoming locations

* Added <pre><code>traverseCommitSourceLocation{predicate: <a href='/constructor/document'>document</a>, stored_constructor: fileIdDocument, push_sources: [<a href='/api/file-references/sources#source-document-filesourcestickerset'>fileSourceStickerSet</a>, <a href='/api/file-references/sources#source-document-filesourcesavedmusic-users-getsavedmusic'>fileSourceSavedMusic</a> (needs <a href='/method/users.getSavedMusic'>users.getSavedMusic</a>), <a href='/api/file-references/sources#source-document-filesourcesavedmusic-users-getsavedmusicbyid'>fileSourceSavedMusic</a> (needs <a href='/method/users.getSavedMusicByID'>users.getSavedMusicByID</a>)], type: <a href='/type/Document'>Document</a>}</code></pre>
* Added <pre><code>traverseCommitSourceLocation{predicate: <a href='/constructor/photo'>photo</a>, stored_constructor: fileIdPhoto, push_sources: [<a href='/api/file-references/sources#source-photo-filesourceuserprofilephoto-photos-getuserphotos'>fileSourceUserProfilePhoto</a> (needs <a href='/method/photos.getUserPhotos'>photos.getUserPhotos</a>)], type: <a href='/type/Photo'>Photo</a>}</code></pre>

##### New outgoing locations

* Added <pre><code>traverseSwapLocation{predicate: <a href='/constructor/inputPhoto'>inputPhoto</a>, stored_constructor: fileIdPhoto, type: <a href='/type/InputPhoto'>InputPhoto</a>}</code></pre>
* Added <pre><code>traverseSwapLocation{predicate: <a href='/constructor/inputDocument'>inputDocument</a>, stored_constructor: fileIdDocument, type: <a href='/type/InputDocument'>InputDocument</a>}</code></pre>
* Added <pre><code>traverseSwapLocation{predicate: <a href='/constructor/inputDocumentFileLocation'>inputDocumentFileLocation</a>, stored_constructor: fileIdDocument, type: <a href='/type/InputFileLocation'>InputFileLocation</a>}</code></pre>
* Added <pre><code>traverseSwapLocation{predicate: <a href='/constructor/inputPhotoFileLocation'>inputPhotoFileLocation</a>, stored_constructor: fileIdPhoto, type: <a href='/type/InputFileLocation'>InputFileLocation</a>}</code></pre>

##### New sources

* Added (1) <a id="source-document-filesourcestickerset"></a>[document](/constructor/document.md) - <pre><code>fileSourceStickerSet{stickerset: extractInputStickerSetFromDocumentAttributesAndStore([document](/constructor/document.md).attributes)}</code></pre>
* Added (2) <a id="source-document-filesourcesavedmusic-users-getsavedmusic"></a>[document](/constructor/document.md) - <pre><code>(needs <a href='/method/users.getSavedMusic'>users.getSavedMusic</a>) fileSourceSavedMusic{user_id: extractUserIdFromInputUserAndStore(<a href='/method/users.getSavedMusic'>users.getSavedMusic</a>.id), id: [document](/constructor/document.md).id, access_hash: [document](/constructor/document.md).access_hash}</code></pre>
* Added (3) <a id="source-document-filesourcesavedmusic-users-getsavedmusicbyid"></a>[document](/constructor/document.md) - <pre><code>(needs <a href='/method/users.getSavedMusicByID'>users.getSavedMusicByID</a>) fileSourceSavedMusic{user_id: extractUserIdFromInputUserAndStore(<a href='/method/users.getSavedMusicByID'>users.getSavedMusicByID</a>.id), id: [document](/constructor/document.md).id, access_hash: [document](/constructor/document.md).access_hash}</code></pre>
* Added <a id="source-photo-filesourceuserprofilephoto-photos-getuserphotos"></a>[photo](/constructor/photo.md) - <pre><code>(needs <a href='/method/photos.getUserPhotos'>photos.getUserPhotos</a>) fileSourceUserProfilePhoto{user_id: extractUserIdFromInputUserAndStore(<a href='/method/photos.getUserPhotos'>photos.getUserPhotos</a>.user_id), max_id: [photo](/constructor/photo.md).id}</code></pre>
* Added <a id="source-account-savedringtoneconverted-filesourcesavedringtones"></a>[account.savedRingtoneConverted](/constructor/account.savedRingtoneConverted.md) - <pre><code>fileSourceSavedRingtones{}</code></pre>
* Added <a id="source-account-savedringtones-filesourcesavedringtones"></a>[account.savedRingtones](/constructor/account.savedRingtones.md) - <pre><code>fileSourceSavedRingtones{}</code></pre>
* Added <a id="source-attachmenubot-filesourceattachmenubot"></a>[attachMenuBot](/constructor/attachMenuBot.md) - <pre><code>fileSourceAttachMenuBot{bot: [attachMenuBot](/constructor/attachMenuBot.md).bot_id}</code></pre>
* Added <a id="source-botapp-filesourcebotapp"></a>[botApp](/constructor/botApp.md) - <pre><code>fileSourceBotApp{id: [botApp](/constructor/botApp.md).id, access_hash: [botApp](/constructor/botApp.md).access_hash}</code></pre>
* Added <a id="source-botinfo-filesourceuserfull"></a>[botInfo](/constructor/botInfo.md) - <pre><code>fileSourceUserFull{id: [botInfo](/constructor/botInfo.md).user_id?abort_if_empty}</code></pre>
* Added <a id="source-channeladminlogevent-filesourceadminlog-channels-getadminlog"></a>[channelAdminLogEvent](/constructor/channelAdminLogEvent.md) - <pre><code>(needs <a href='/method/channels.getAdminLog'>channels.getAdminLog</a>) fileSourceAdminLog{channel: extractChannelIdFromInputChannelAndStore(<a href='/method/channels.getAdminLog'>channels.getAdminLog</a>.channel), max_id: [channelAdminLogEvent](/constructor/channelAdminLogEvent.md).id}</code></pre>
* Added <a id="source-channelfull-filesourcechannelfull"></a>[channelFull](/constructor/channelFull.md) - <pre><code>fileSourceChannelFull{channel: [channelFull](/constructor/channelFull.md).id}</code></pre>
* Added <a id="source-chatfull-filesourcechatfull"></a>[chatFull](/constructor/chatFull.md) - <pre><code>fileSourceChatFull{chat_id: [chatFull](/constructor/chatFull.md).id}</code></pre>
* Added <a id="source-foundstory-filesourcestory"></a>[foundStory](/constructor/foundStory.md) - <pre><code>fileSourceStory{id: [foundStory](/constructor/foundStory.md).story.<a href='/constructor/storyItem'>storyItem</a>.id, peer: extractPeerIdFromPeerAndStore([foundStory](/constructor/foundStory.md).peer)}</code></pre>
* Added (1) <a id="source-message-filesourcemessage-without-messages-getscheduledmessages-without-updatenewscheduledmessage"></a>[message](/constructor/message.md) - <pre><code>(unless <a href='/method/messages.getScheduledMessages'>messages.getScheduledMessages</a>, <a href='/constructor/updateNewScheduledMessage'>updateNewScheduledMessage</a>) fileSourceMessage{quick_reply_shortcut_id: [message](/constructor/message.md).quick_reply_shortcut_id?passthrough, peer: extractPeerIdFromPeerAndStore([message](/constructor/message.md).peer_id), id: [message](/constructor/message.md).id}</code></pre>
* Added (2) <a id="source-message-filesourcescheduledmessage-messages-getscheduledmessages"></a>[message](/constructor/message.md) - <pre><code>(needs <a href='/method/messages.getScheduledMessages'>messages.getScheduledMessages</a>) fileSourceScheduledMessage{peer: extractPeerIdFromInputPeerAndStore(<a href='/method/messages.getScheduledMessages'>messages.getScheduledMessages</a>.peer), id: [message](/constructor/message.md).id}</code></pre>
* Added (3) <a id="source-message-filesourcescheduledmessage-updatenewscheduledmessage"></a>[message](/constructor/message.md) - <pre><code>(needs <a href='/constructor/updateNewScheduledMessage'>updateNewScheduledMessage</a>) fileSourceScheduledMessage{peer: extractPeerIdFromPeerAndStore(<a href='/constructor/updateNewScheduledMessage'>updateNewScheduledMessage</a>.message.[message](/constructor/message.md).peer_id), id: [message](/constructor/message.md).id}</code></pre>
* Added <a id="source-messagemediastory-filesourcestory"></a>[messageMediaStory](/constructor/messageMediaStory.md) - <pre><code>fileSourceStory{id: [messageMediaStory](/constructor/messageMediaStory.md).story?abort_if_empty.<a href='/constructor/storyItem'>storyItem</a>.id, peer: extractPeerIdFromPeerAndStore([messageMediaStory](/constructor/messageMediaStory.md).peer)}</code></pre>
* Added <a id="source-messageservice-filesourcemessage-without-messages-getscheduledmessages-without-updatenewscheduledmessage"></a>[messageService](/constructor/messageService.md) - <pre><code>(unless <a href='/method/messages.getScheduledMessages'>messages.getScheduledMessages</a>, <a href='/constructor/updateNewScheduledMessage'>updateNewScheduledMessage</a>) fileSourceMessage{peer: extractPeerIdFromPeerAndStore([messageService](/constructor/messageService.md).peer_id), id: [messageService](/constructor/messageService.md).id, quick_reply_shortcut_id: false}</code></pre>
* Added <a id="source-messages-availableeffects-filesourceavailableeffects"></a>[messages.availableEffects](/constructor/messages.availableEffects.md) - <pre><code>fileSourceAvailableEffects{}</code></pre>
* Added <a id="source-messages-availablereactions-filesourceavailablereactions"></a>[messages.availableReactions](/constructor/messages.availableReactions.md) - <pre><code>fileSourceAvailableReactions{}</code></pre>
* Added <a id="source-messages-savedgifs-filesourcesavedgifs"></a>[messages.savedGifs](/constructor/messages.savedGifs.md) - <pre><code>fileSourceSavedGifs{}</code></pre>
* Added <a id="source-messages-stickerset-filesourcestickerset"></a>[messages.stickerSet](/constructor/messages.stickerSet.md) - <pre><code>fileSourceStickerSet{stickerset: extractInputStickerSetFromStickerSetAndStore([messages.stickerSet](/constructor/messages.stickerSet.md).set)}</code></pre>
* Added <a id="source-publicforwardstory-filesourcestory"></a>[publicForwardStory](/constructor/publicForwardStory.md) - <pre><code>fileSourceStory{id: [publicForwardStory](/constructor/publicForwardStory.md).story.<a href='/constructor/storyItem'>storyItem</a>.id, peer: extractPeerIdFromPeerAndStore([publicForwardStory](/constructor/publicForwardStory.md).peer)}</code></pre>
* Added (1) <a id="source-starstransaction-filesourcestarstransaction-payments-getstarsstatus"></a>[starsTransaction](/constructor/starsTransaction.md) - <pre><code>(needs <a href='/method/payments.getStarsStatus'>payments.getStarsStatus</a>) fileSourceStarsTransaction{peer: extractPeerIdFromInputPeerAndStore(<a href='/method/payments.getStarsStatus'>payments.getStarsStatus</a>.peer), ton: <a href='/method/payments.getStarsStatus'>payments.getStarsStatus</a>.ton?passthrough, id: [starsTransaction](/constructor/starsTransaction.md).id, refund: [starsTransaction](/constructor/starsTransaction.md).refund?passthrough}</code></pre>
* Added (2) <a id="source-starstransaction-filesourcestarstransaction-payments-getstarstransactions"></a>[starsTransaction](/constructor/starsTransaction.md) - <pre><code>(needs <a href='/method/payments.getStarsTransactions'>payments.getStarsTransactions</a>) fileSourceStarsTransaction{peer: extractPeerIdFromInputPeerAndStore(<a href='/method/payments.getStarsTransactions'>payments.getStarsTransactions</a>.peer), ton: <a href='/method/payments.getStarsTransactions'>payments.getStarsTransactions</a>.ton?passthrough, id: [starsTransaction](/constructor/starsTransaction.md).id, refund: [starsTransaction](/constructor/starsTransaction.md).refund?passthrough}</code></pre>
* Added (3) <a id="source-starstransaction-filesourcestarstransaction-payments-getstarstransactionsbyid"></a>[starsTransaction](/constructor/starsTransaction.md) - <pre><code>(needs <a href='/method/payments.getStarsTransactionsByID'>payments.getStarsTransactionsByID</a>) fileSourceStarsTransaction{peer: extractPeerIdFromInputPeerAndStore(<a href='/method/payments.getStarsTransactionsByID'>payments.getStarsTransactionsByID</a>.peer), ton: <a href='/method/payments.getStarsTransactionsByID'>payments.getStarsTransactionsByID</a>.ton?passthrough, id: [starsTransaction](/constructor/starsTransaction.md).id, refund: [starsTransaction](/constructor/starsTransaction.md).refund?passthrough}</code></pre>
* Added (4) <a id="source-starstransaction-filesourcestarstransaction-payments-getstarssubscriptions"></a>[starsTransaction](/constructor/starsTransaction.md) - <pre><code>(needs <a href='/method/payments.getStarsSubscriptions'>payments.getStarsSubscriptions</a>) fileSourceStarsTransaction{peer: extractPeerIdFromInputPeerAndStore(<a href='/method/payments.getStarsSubscriptions'>payments.getStarsSubscriptions</a>.peer), id: [starsTransaction](/constructor/starsTransaction.md).id, refund: [starsTransaction](/constructor/starsTransaction.md).refund?passthrough, ton: false}</code></pre>
* Added <a id="source-stickersetfullcovered-filesourcestickerset"></a>[stickerSetFullCovered](/constructor/stickerSetFullCovered.md) - <pre><code>fileSourceStickerSet{stickerset: extractInputStickerSetFromStickerSetAndStore([stickerSetFullCovered](/constructor/stickerSetFullCovered.md).set)}</code></pre>
* Added <a id="source-stickersetmulticovered-filesourcestickerset"></a>[stickerSetMultiCovered](/constructor/stickerSetMultiCovered.md) - <pre><code>fileSourceStickerSet{stickerset: extractInputStickerSetFromStickerSetAndStore([stickerSetMultiCovered](/constructor/stickerSetMultiCovered.md).set)}</code></pre>
* Added (1) <a id="source-storyitem-filesourcestory-stories-getpinnedstories"></a>[storyItem](/constructor/storyItem.md) - <pre><code>(needs <a href='/method/stories.getPinnedStories'>stories.getPinnedStories</a>) fileSourceStory{id: [storyItem](/constructor/storyItem.md).id, peer: extractPeerIdFromInputPeerAndStore(<a href='/method/stories.getPinnedStories'>stories.getPinnedStories</a>.peer)}</code></pre>
* Added (2) <a id="source-storyitem-filesourcestory-stories-getstoriesarchive"></a>[storyItem](/constructor/storyItem.md) - <pre><code>(needs <a href='/method/stories.getStoriesArchive'>stories.getStoriesArchive</a>) fileSourceStory{id: [storyItem](/constructor/storyItem.md).id, peer: extractPeerIdFromInputPeerAndStore(<a href='/method/stories.getStoriesArchive'>stories.getStoriesArchive</a>.peer)}</code></pre>
* Added (3) <a id="source-storyitem-filesourcestory-stories-getstoriesbyid"></a>[storyItem](/constructor/storyItem.md) - <pre><code>(needs <a href='/method/stories.getStoriesByID'>stories.getStoriesByID</a>) fileSourceStory{id: [storyItem](/constructor/storyItem.md).id, peer: extractPeerIdFromInputPeerAndStore(<a href='/method/stories.getStoriesByID'>stories.getStoriesByID</a>.peer)}</code></pre>
* Added (4) <a id="source-storyitem-filesourcestory-stories-getalbumstories"></a>[storyItem](/constructor/storyItem.md) - <pre><code>(needs <a href='/method/stories.getAlbumStories'>stories.getAlbumStories</a>) fileSourceStory{id: [storyItem](/constructor/storyItem.md).id, peer: extractPeerIdFromInputPeerAndStore(<a href='/method/stories.getAlbumStories'>stories.getAlbumStories</a>.peer)}</code></pre>
* Added (5) <a id="source-storyitem-filesourcestory-peerstories"></a>[storyItem](/constructor/storyItem.md) - <pre><code>(needs <a href='/constructor/peerStories'>peerStories</a>) fileSourceStory{id: [storyItem](/constructor/storyItem.md).id, peer: extractPeerIdFromPeerAndStore(<a href='/constructor/peerStories'>peerStories</a>.peer)}</code></pre>
* Added (6) <a id="source-storyitem-filesourcestory"></a>[storyItem](/constructor/storyItem.md) - <pre><code>fileSourceStory{id: [storyItem](/constructor/storyItem.md).id, peer: extractPeerIdFromPeerAndStore([storyItem](/constructor/storyItem.md).from_id?abort_if_empty)}</code></pre>
* Added <a id="source-storyreactionpublicrepost-filesourcestory"></a>[storyReactionPublicRepost](/constructor/storyReactionPublicRepost.md) - <pre><code>fileSourceStory{id: [storyReactionPublicRepost](/constructor/storyReactionPublicRepost.md).story.<a href='/constructor/storyItem'>storyItem</a>.id, peer: extractPeerIdFromPeerAndStore([storyReactionPublicRepost](/constructor/storyReactionPublicRepost.md).peer_id)}</code></pre>
* Added <a id="source-storyviewpublicrepost-filesourcestory"></a>[storyViewPublicRepost](/constructor/storyViewPublicRepost.md) - <pre><code>fileSourceStory{id: [storyViewPublicRepost](/constructor/storyViewPublicRepost.md).story.<a href='/constructor/storyItem'>storyItem</a>.id, peer: extractPeerIdFromPeerAndStore([storyViewPublicRepost](/constructor/storyViewPublicRepost.md).peer_id)}</code></pre>
* Added <a id="source-theme-filesourcetheme"></a>[theme](/constructor/theme.md) - <pre><code>fileSourceTheme{id: [theme](/constructor/theme.md).id, access_hash: [theme](/constructor/theme.md).access_hash}</code></pre>
* Added <a id="source-updatemessageextendedmedia-filesourcepaidmedia"></a>[updateMessageExtendedMedia](/constructor/updateMessageExtendedMedia.md) - <pre><code>fileSourcePaidMedia{id: [updateMessageExtendedMedia](/constructor/updateMessageExtendedMedia.md).msg_id, peer: extractPeerIdFromPeerAndStore([updateMessageExtendedMedia](/constructor/updateMessageExtendedMedia.md).peer)}</code></pre>
* Added (1) <a id="source-userfull-filesourceuserfull"></a>[userFull](/constructor/userFull.md) - <pre><code>fileSourceUserFull{id: [userFull](/constructor/userFull.md).id}</code></pre>
* Added (2) <a id="source-userfull-filesourcesavedmusic"></a>[userFull](/constructor/userFull.md) - <pre><code>fileSourceSavedMusic{user_id: [userFull](/constructor/userFull.md).id, id: [userFull](/constructor/userFull.md).saved_music?abort_if_empty.<a href='/constructor/document'>document</a>.id, access_hash: [userFull](/constructor/userFull.md).saved_music?abort_if_empty.<a href='/constructor/document'>document</a>.access_hash}</code></pre>
* Added <a id="source-wallpaper-filesourcewallpaper"></a>[wallPaper](/constructor/wallPaper.md) - <pre><code>fileSourceWallPaper{id: [wallPaper](/constructor/wallPaper.md).id, access_hash: [wallPaper](/constructor/wallPaper.md).access_hash}</code></pre>
* Added <a id="source-webpage-filesourcewebpage"></a>[webPage](/constructor/webPage.md) - <pre><code>fileSourceWebPage{url: [webPage](/constructor/webPage.md).url}</code></pre>
* Added <a id="source-webpageattributestory-filesourcestory"></a>[webPageAttributeStory](/constructor/webPageAttributeStory.md) - <pre><code>fileSourceStory{id: [webPageAttributeStory](/constructor/webPageAttributeStory.md).story?abort_if_empty.<a href='/constructor/storyItem'>storyItem</a>.id, peer: extractPeerIdFromPeerAndStore([webPageAttributeStory](/constructor/webPageAttributeStory.md).peer)}</code></pre>
* Added <a id="source-account-uploadringtone-filesourcesavedringtones"></a>[account.uploadRingtone](/method/account.uploadRingtone.md) - <pre><code>fileSourceSavedRingtones{}</code></pre>
* Added <a id="source-bots-addpreviewmedia-filesourcebotpreviewinfo"></a>[bots.addPreviewMedia](/method/bots.addPreviewMedia.md) - <pre><code>fileSourceBotPreviewInfo{bot: extractUserIdFromInputUserAndStore([bots.addPreviewMedia](/method/bots.addPreviewMedia.md).bot), lang_code: [bots.addPreviewMedia](/method/bots.addPreviewMedia.md).lang_code}</code></pre>
* Added <a id="source-bots-editpreviewmedia-filesourcebotpreviewinfo"></a>[bots.editPreviewMedia](/method/bots.editPreviewMedia.md) - <pre><code>fileSourceBotPreviewInfo{bot: extractUserIdFromInputUserAndStore([bots.editPreviewMedia](/method/bots.editPreviewMedia.md).bot), lang_code: [bots.editPreviewMedia](/method/bots.editPreviewMedia.md).lang_code}</code></pre>
* Added <a id="source-bots-getpreviewinfo-filesourcebotpreviewinfo"></a>[bots.getPreviewInfo](/method/bots.getPreviewInfo.md) - <pre><code>fileSourceBotPreviewInfo{bot: extractUserIdFromInputUserAndStore([bots.getPreviewInfo](/method/bots.getPreviewInfo.md).bot), lang_code: [bots.getPreviewInfo](/method/bots.getPreviewInfo.md).lang_code}</code></pre>
* Added <a id="source-bots-getpreviewmedias-filesourcebotpreviewmedia"></a>[bots.getPreviewMedias](/method/bots.getPreviewMedias.md) - <pre><code>fileSourceBotPreviewMedia{bot: extractUserIdFromInputUserAndStore([bots.getPreviewMedias](/method/bots.getPreviewMedias.md).bot)}</code></pre>
* Added <a id="source-help-getpremiumpromo-filesourcepremiumpromo"></a>[help.getPremiumPromo](/method/help.getPremiumPromo.md) - <pre><code>fileSourcePremiumPromo{}</code></pre>
* Added <a id="source-messages-getdocumentbyhash-filesourcedocumentbyhash"></a>[messages.getDocumentByHash](/method/messages.getDocumentByHash.md) - <pre><code>fileSourceDocumentByHash{sha256: [messages.getDocumentByHash](/method/messages.getDocumentByHash.md).sha256, size: [messages.getDocumentByHash](/method/messages.getDocumentByHash.md).size, mime_type: [messages.getDocumentByHash](/method/messages.getDocumentByHash.md).mime_type}</code></pre>
* Added <a id="source-photos-updateprofilephoto-filesourceuserprofilephoto"></a>[photos.updateProfilePhoto](/method/photos.updateProfilePhoto.md) - <pre><code>fileSourceUserProfilePhoto{user_id: extractUserIdFromInputUserAndStore([photos.updateProfilePhoto](/method/photos.updateProfilePhoto.md).bot?fallback(<a href='/constructor/inputUserSelf'>inputUserSelf</a>{})), max_id: [photos.updateProfilePhoto](/method/photos.updateProfilePhoto.md).(return value).<a href='/constructor/photos.photo'>photos.photo</a>.photo.<a href='/constructor/photo'>photo</a>.id}</code></pre>
* Added <a id="source-photos-uploadcontactprofilephoto-filesourceuserprofilephoto"></a>[photos.uploadContactProfilePhoto](/method/photos.uploadContactProfilePhoto.md) - <pre><code>fileSourceUserProfilePhoto{user_id: extractUserIdFromInputUserAndStore([photos.uploadContactProfilePhoto](/method/photos.uploadContactProfilePhoto.md).user_id), max_id: [photos.uploadContactProfilePhoto](/method/photos.uploadContactProfilePhoto.md).(return value).<a href='/constructor/photos.photo'>photos.photo</a>.photo.<a href='/constructor/photo'>photo</a>.id}</code></pre>
* Added <a id="source-photos-uploadprofilephoto-filesourceuserprofilephoto"></a>[photos.uploadProfilePhoto](/method/photos.uploadProfilePhoto.md) - <pre><code>fileSourceUserProfilePhoto{user_id: extractUserIdFromInputUserAndStore([photos.uploadProfilePhoto](/method/photos.uploadProfilePhoto.md).bot?fallback(<a href='/constructor/inputUserSelf'>inputUserSelf</a>{})), max_id: [photos.uploadProfilePhoto](/method/photos.uploadProfilePhoto.md).(return value).<a href='/constructor/photos.photo'>photos.photo</a>.photo.<a href='/constructor/photo'>photo</a>.id}</code></pre>
* Added <a id="source-stories-createalbum-filesourcestoryalbum"></a>[stories.createAlbum](/method/stories.createAlbum.md) - <pre><code>fileSourceStoryAlbum{peer: extractPeerIdFromInputPeerAndStore([stories.createAlbum](/method/stories.createAlbum.md).peer)}</code></pre>
* Added <a id="source-stories-getalbums-filesourcestoryalbum"></a>[stories.getAlbums](/method/stories.getAlbums.md) - <pre><code>fileSourceStoryAlbum{peer: extractPeerIdFromInputPeerAndStore([stories.getAlbums](/method/stories.getAlbums.md).peer)}</code></pre>
* Added <a id="source-stories-updatealbum-filesourcestoryalbum"></a>[stories.updateAlbum](/method/stories.updateAlbum.md) - <pre><code>fileSourceStoryAlbum{peer: extractPeerIdFromInputPeerAndStore([stories.updateAlbum](/method/stories.updateAlbum.md).peer)}</code></pre>

##### New skipped incoming sources

* Added [messages.getSponsoredMessages](/method/messages.getSponsoredMessages.md) - Do not store file references from sponsored messages
* Added [help.getAppUpdate](/method/help.getAppUpdate.md) - Don't handle file references from ephemeral app update info
* Added [help.getRecentMeUrls](/method/help.getRecentMeUrls.md) - Don't handle file references from recent t.me URLs
* Added [recentMeUrlChatInvite](/constructor/recentMeUrlChatInvite.md) - Do not store references based on chat invite links
* Added [messages.checkChatInvite](/method/messages.checkChatInvite.md) - Do not store references based on chat invite links
* Added [messages.getInlineBotResults](/method/messages.getInlineBotResults.md) - Inline bot results are ephemeral
* Added [messages.getPreparedInlineMessage](/method/messages.getPreparedInlineMessage.md) - Inline bot results are ephemeral
* Added [messages.uploadMedia](/method/messages.uploadMedia.md) - A freshly uploaded media file will obtain a context only once it is sent to a chat
* Added [messages.uploadImportedMedia](/method/messages.uploadImportedMedia.md) - A freshly uploaded media file will obtain a context only once it is sent to a chat
* Added [updateServiceNotification](/constructor/updateServiceNotification.md) - Cannot refetch service notifications
* Added [messages.getWebPagePreview](/method/messages.getWebPagePreview.md) - No locations are added for the method call, as it doesn't use persistent IDs as input; the location is instead extracted from the persistent IDs in the returned WebPage object
* Added [payments.resaleStarGifts](/constructor/payments.resaleStarGifts.md) - Contexts for star gifts are not yet implemented
* Added [payments.starGiftUpgradePreview](/constructor/payments.starGiftUpgradePreview.md) - Contexts for star gifts are not yet implemented
* Added [starGift](/constructor/starGift.md) - Contexts for star gifts are not yet implemented
* Added [starGiftUnique](/constructor/starGiftUnique.md) - Contexts for star gifts are not yet implemented
* Added [starGiftCollection](/constructor/starGiftCollection.md) - Contexts for star gifts are not yet implemented
* Added [payments.starGiftCollections](/constructor/payments.starGiftCollections.md) - Contexts for star gifts are not yet implemented
* Added [messages.getCustomEmojiDocuments](/method/messages.getCustomEmojiDocuments.md) - Do not store file references in this context
* Added [account.uploadTheme](/method/account.uploadTheme.md) - A freshly uploaded theme file will obtain a context only once it is created via account.createTheme

##### New refresh actions

* Added fileSourceMessage - <pre><code>[getMessageOp](/api/file-references.md#getmessageop)(peer: getInputPeerByIdOp(peer), id: copyOp(id), quick_reply_shortcut_id: copyOp(quick_reply_shortcut_id))</code></pre>
* Added fileSourceScheduledMessage - <pre><code><a href='/method/messages.getScheduledMessages'>messages.getScheduledMessages</a>(peer: getInputPeerByIdOp(peer), id: [copyOp(id)])</code></pre>
* Added fileSourceStory - <pre><code><a href='/method/stories.getStoriesByID'>stories.getStoriesByID</a>(id: [copyOp(id)], peer: getInputPeerByIdOp(peer))</code></pre>
* Added fileSourceWebPage - <pre><code><a href='/method/messages.getWebPage'>messages.getWebPage</a>(url: copyOp(url), hash: 0)</code></pre>
* Added fileSourceBotApp - <pre><code><a href='/method/messages.getBotApp'>messages.getBotApp</a>(app: <a href='/constructor/inputBotAppID'>inputBotAppID</a>{id: copyOp(id), access_hash: copyOp(access_hash)}, hash: 0)</code></pre>
* Added fileSourceUserFull - <pre><code><a href='/method/users.getFullUser'>users.getFullUser</a>(id: getInputUserByIdOp(id))</code></pre>
* Added fileSourceAdminLog - <pre><code><a href='/method/channels.getAdminLog'>channels.getAdminLog</a>(channel: getInputChannelByIdOp(channel), max_id: copyOp(max_id), min_id: copyOp(max_id), limit: 1, q: "")</code></pre>
* Added fileSourceStoryAlbum - <pre><code><a href='/method/stories.getAlbums'>stories.getAlbums</a>(peer: getInputPeerByIdOp(peer), hash: 0)</code></pre>
* Added fileSourceBotPreviewMedia - <pre><code><a href='/method/bots.getPreviewMedias'>bots.getPreviewMedias</a>(bot: getInputUserByIdOp(bot))</code></pre>
* Added fileSourceBotPreviewInfo - <pre><code><a href='/method/bots.getPreviewInfo'>bots.getPreviewInfo</a>(bot: getInputUserByIdOp(bot), lang_code: copyOp(lang_code))</code></pre>
* Added fileSourcePaidMedia - <pre><code><a href='/method/messages.getExtendedMedia'>messages.getExtendedMedia</a>(id: [copyOp(id)], peer: getInputPeerByIdOp(peer))</code></pre>
* Added fileSourceSavedMusic - <pre><code><a href='/method/users.getSavedMusicByID'>users.getSavedMusicByID</a>(id: getInputUserByIdOp(user_id), documents: [<a href='/constructor/inputDocument'>inputDocument</a>{id: copyOp(id), access_hash: copyOp(access_hash), file_reference: base64_decode("")}])</code></pre>
* Added fileSourceChatFull - <pre><code><a href='/method/messages.getFullChat'>messages.getFullChat</a>(chat_id: copyOp(chat_id))</code></pre>
* Added fileSourceChannelFull - <pre><code><a href='/method/channels.getFullChannel'>channels.getFullChannel</a>(channel: getInputChannelByIdOp(channel))</code></pre>
* Added fileSourcePremiumPromo - <pre><code><a href='/method/help.getPremiumPromo'>help.getPremiumPromo</a>()</code></pre>
* Added fileSourceStarsTransaction - <pre><code><a href='/method/payments.getStarsTransactionsByID'>payments.getStarsTransactionsByID</a>(peer: getInputPeerByIdOp(peer), ton: copyOp(ton), id: [<a href='/constructor/inputStarsTransaction'>inputStarsTransaction</a>{id: copyOp(id), refund: copyOp(refund)}])</code></pre>
* Added fileSourceAttachMenuBot - <pre><code><a href='/method/messages.getAttachMenuBot'>messages.getAttachMenuBot</a>(bot: getInputUserByIdOp(bot))</code></pre>
* Added fileSourceTheme - <pre><code><a href='/method/account.getTheme'>account.getTheme</a>(theme: <a href='/constructor/inputTheme'>inputTheme</a>{id: copyOp(id), access_hash: copyOp(access_hash)}, format: $themeFormat)</code></pre>
* Added fileSourceWallPaper - <pre><code><a href='/method/account.getWallPaper'>account.getWallPaper</a>(wallpaper: <a href='/constructor/inputWallPaper'>inputWallPaper</a>{id: copyOp(id), access_hash: copyOp(access_hash)})</code></pre>
* Added fileSourceStickerSet - <pre><code><a href='/method/messages.getStickerSet'>messages.getStickerSet</a>(stickerset: copyOp(stickerset), hash: 0)</code></pre>
* Added fileSourceSavedGifs - <pre><code><a href='/method/messages.getSavedGifs'>messages.getSavedGifs</a>(hash: 0)</code></pre>
* Added fileSourceSavedRingtones - <pre><code><a href='/method/account.getSavedRingtones'>account.getSavedRingtones</a>(hash: 0)</code></pre>
* Added fileSourceAvailableEffects - <pre><code><a href='/method/messages.getAvailableEffects'>messages.getAvailableEffects</a>(hash: 0)</code></pre>
* Added fileSourceAvailableReactions - <pre><code><a href='/method/messages.getAvailableReactions'>messages.getAvailableReactions</a>(hash: 0)</code></pre>
* Added fileSourceUserProfilePhoto - <pre><code><a href='/method/photos.getUserPhotos'>photos.getUserPhotos</a>(user_id: getInputUserByIdOp(user_id), offset: -1, max_id: copyOp(max_id), limit: 1)</code></pre>
* Added fileSourceDocumentByHash - <pre><code><a href='/method/messages.getDocumentByHash'>messages.getDocumentByHash</a>(sha256: copyOp(sha256), size: copyOp(size), mime_type: copyOp(mime_type))</code></pre>

##### New traversers incoming

* Added <pre><code>traverseCommitSourceLocation{predicate: <a href='/constructor/document'>document</a>, stored_constructor: fileIdDocument, push_sources: [<a href='/api/file-references/sources#source-document-filesourcestickerset'>fileSourceStickerSet</a>, <a href='/api/file-references/sources#source-document-filesourcesavedmusic-users-getsavedmusic'>fileSourceSavedMusic</a> (needs <a href='/method/users.getSavedMusic'>users.getSavedMusic</a>), <a href='/api/file-references/sources#source-document-filesourcesavedmusic-users-getsavedmusicbyid'>fileSourceSavedMusic</a> (needs <a href='/method/users.getSavedMusicByID'>users.getSavedMusicByID</a>)], type: <a href='/type/Document'>Document</a>}</code></pre>
* Added <pre><code>traverseCommitSourceLocation{predicate: <a href='/constructor/photo'>photo</a>, stored_constructor: fileIdPhoto, push_sources: [<a href='/api/file-references/sources#source-photo-filesourceuserprofilephoto-photos-getuserphotos'>fileSourceUserProfilePhoto</a> (needs <a href='/method/photos.getUserPhotos'>photos.getUserPhotos</a>)], type: <a href='/type/Photo'>Photo</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/account.chatThemes'>account.chatThemes</a>, params: [themes], type: <a href='/type/account.ChatThemes'>account.ChatThemes</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/account.savedRingtoneConverted'>account.savedRingtoneConverted</a>, params: [document], push_sources: [<a href='/api/file-references/sources#source-account-savedringtoneconverted-filesourcesavedringtones'>fileSourceSavedRingtones</a>], type: <a href='/type/account.SavedRingtone'>account.SavedRingtone</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/account.savedRingtones'>account.savedRingtones</a>, params: [ringtones], push_sources: [<a href='/api/file-references/sources#source-account-savedringtones-filesourcesavedringtones'>fileSourceSavedRingtones</a>], type: <a href='/type/account.SavedRingtones'>account.SavedRingtones</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/account.themes'>account.themes</a>, params: [themes], type: <a href='/type/account.Themes'>account.Themes</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/account.wallPapers'>account.wallPapers</a>, params: [wallpapers], type: <a href='/type/account.WallPapers'>account.WallPapers</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/attachMenuBot'>attachMenuBot</a>, params: [icons], push_sources: [<a href='/api/file-references/sources#source-attachmenubot-filesourceattachmenubot'>fileSourceAttachMenuBot</a>], type: <a href='/type/AttachMenuBot'>AttachMenuBot</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/attachMenuBotIcon'>attachMenuBotIcon</a>, params: [icon], type: <a href='/type/AttachMenuBotIcon'>AttachMenuBotIcon</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/attachMenuBots'>attachMenuBots</a>, params: [bots], type: <a href='/type/AttachMenuBots'>AttachMenuBots</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/attachMenuBotsBot'>attachMenuBotsBot</a>, params: [bot], type: <a href='/type/AttachMenuBotsBot'>AttachMenuBotsBot</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/availableReaction'>availableReaction</a>, params: [static_icon, appear_animation, select_animation, activate_animation, effect_animation, around_animation, center_icon], type: <a href='/type/AvailableReaction'>AvailableReaction</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/botApp'>botApp</a>, params: [photo, document], push_sources: [<a href='/api/file-references/sources#source-botapp-filesourcebotapp'>fileSourceBotApp</a>], type: <a href='/type/BotApp'>BotApp</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/botInfo'>botInfo</a>, params: [description_photo, description_document], push_sources: [<a href='/api/file-references/sources#source-botinfo-filesourceuserfull'>fileSourceUserFull</a>], type: <a href='/type/BotInfo'>BotInfo</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/botInlineMediaResult'>botInlineMediaResult</a>, params: [document], type: <a href='/type/BotInlineResult'>BotInlineResult</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/botPreviewMedia'>botPreviewMedia</a>, params: [media], type: <a href='/type/BotPreviewMedia'>BotPreviewMedia</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/bots.previewInfo'>bots.previewInfo</a>, params: [media], type: <a href='/type/bots.PreviewInfo'>bots.PreviewInfo</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/businessIntro'>businessIntro</a>, params: [sticker], type: <a href='/type/BusinessIntro'>BusinessIntro</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/channelAdminLogEvent'>channelAdminLogEvent</a>, params: [action], push_sources: [<a href='/api/file-references/sources#source-channeladminlogevent-filesourceadminlog-channels-getadminlog'>fileSourceAdminLog</a> (needs <a href='/method/channels.getAdminLog'>channels.getAdminLog</a>)], type: <a href='/type/ChannelAdminLogEvent'>ChannelAdminLogEvent</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/channelAdminLogEventActionChangePhoto'>channelAdminLogEventActionChangePhoto</a>, params: [prev_photo, new_photo], type: <a href='/type/ChannelAdminLogEventAction'>ChannelAdminLogEventAction</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/channelAdminLogEventActionChangeWallpaper'>channelAdminLogEventActionChangeWallpaper</a>, params: [prev_value, new_value], type: <a href='/type/ChannelAdminLogEventAction'>ChannelAdminLogEventAction</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/channelAdminLogEventActionDeleteMessage'>channelAdminLogEventActionDeleteMessage</a>, params: [message], type: <a href='/type/ChannelAdminLogEventAction'>ChannelAdminLogEventAction</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/channelAdminLogEventActionEditMessage'>channelAdminLogEventActionEditMessage</a>, params: [prev_message, new_message], type: <a href='/type/ChannelAdminLogEventAction'>ChannelAdminLogEventAction</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/channelAdminLogEventActionSendMessage'>channelAdminLogEventActionSendMessage</a>, params: [message], type: <a href='/type/ChannelAdminLogEventAction'>ChannelAdminLogEventAction</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/channelAdminLogEventActionStopPoll'>channelAdminLogEventActionStopPoll</a>, params: [message], type: <a href='/type/ChannelAdminLogEventAction'>ChannelAdminLogEventAction</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/channelAdminLogEventActionUpdatePinned'>channelAdminLogEventActionUpdatePinned</a>, params: [message], type: <a href='/type/ChannelAdminLogEventAction'>ChannelAdminLogEventAction</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/channelFull'>channelFull</a>, params: [chat_photo, bot_info, stories, wallpaper], push_sources: [<a href='/api/file-references/sources#source-channelfull-filesourcechannelfull'>fileSourceChannelFull</a>], type: <a href='/type/ChatFull'>ChatFull</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/channels.adminLogResults'>channels.adminLogResults</a>, params: [events], type: <a href='/type/channels.AdminLogResults'>channels.AdminLogResults</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/chatFull'>chatFull</a>, params: [chat_photo, bot_info], push_sources: [<a href='/api/file-references/sources#source-chatfull-filesourcechatfull'>fileSourceChatFull</a>], type: <a href='/type/ChatFull'>ChatFull</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/chatThemeUniqueGift'>chatThemeUniqueGift</a>, params: [gift, theme_settings], type: <a href='/type/ChatTheme'>ChatTheme</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/foundStory'>foundStory</a>, params: [story], push_sources: [<a href='/api/file-references/sources#source-foundstory-filesourcestory'>fileSourceStory</a>], type: <a href='/type/FoundStory'>FoundStory</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/game'>game</a>, params: [photo, document], type: <a href='/type/Game'>Game</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/help.appUpdate'>help.appUpdate</a>, params: [document, sticker], type: <a href='/type/help.AppUpdate'>help.AppUpdate</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/help.premiumPromo'>help.premiumPromo</a>, params: [videos], type: <a href='/type/help.PremiumPromo'>help.PremiumPromo</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/help.recentMeUrls'>help.recentMeUrls</a>, params: [urls], type: <a href='/type/help.RecentMeUrls'>help.RecentMeUrls</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/message'>message</a>, params: [reply_to, media], push_sources: [<a href='/api/file-references/sources#source-message-filesourcemessage-without-messages-getscheduledmessages-without-updatenewscheduledmessage'>fileSourceMessage</a> (unless <a href='/method/messages.getScheduledMessages'>messages.getScheduledMessages</a>, <a href='/constructor/updateNewScheduledMessage'>updateNewScheduledMessage</a>), <a href='/api/file-references/sources#source-message-filesourcescheduledmessage-messages-getscheduledmessages'>fileSourceScheduledMessage</a> (needs <a href='/method/messages.getScheduledMessages'>messages.getScheduledMessages</a>), <a href='/api/file-references/sources#source-message-filesourcescheduledmessage-updatenewscheduledmessage'>fileSourceScheduledMessage</a> (needs <a href='/constructor/updateNewScheduledMessage'>updateNewScheduledMessage</a>)], type: <a href='/type/Message'>Message</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messageActionBotAllowed'>messageActionBotAllowed</a>, params: [app], type: <a href='/type/MessageAction'>MessageAction</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messageActionChatEditPhoto'>messageActionChatEditPhoto</a>, params: [photo], type: <a href='/type/MessageAction'>MessageAction</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messageActionRequestedPeerSentMe'>messageActionRequestedPeerSentMe</a>, params: [peers], type: <a href='/type/MessageAction'>MessageAction</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messageActionSetChatTheme'>messageActionSetChatTheme</a>, params: [theme], type: <a href='/type/MessageAction'>MessageAction</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messageActionSetChatWallPaper'>messageActionSetChatWallPaper</a>, params: [wallpaper], type: <a href='/type/MessageAction'>MessageAction</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messageActionStarGift'>messageActionStarGift</a>, params: [gift], type: <a href='/type/MessageAction'>MessageAction</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messageActionStarGiftUnique'>messageActionStarGiftUnique</a>, params: [gift], type: <a href='/type/MessageAction'>MessageAction</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messageActionSuggestProfilePhoto'>messageActionSuggestProfilePhoto</a>, params: [photo], type: <a href='/type/MessageAction'>MessageAction</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messageExtendedMedia'>messageExtendedMedia</a>, params: [media], type: <a href='/type/MessageExtendedMedia'>MessageExtendedMedia</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messageMediaDocument'>messageMediaDocument</a>, params: [document, alt_documents, video_cover], type: <a href='/type/MessageMedia'>MessageMedia</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messageMediaGame'>messageMediaGame</a>, params: [game], type: <a href='/type/MessageMedia'>MessageMedia</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messageMediaInvoice'>messageMediaInvoice</a>, params: [extended_media], type: <a href='/type/MessageMedia'>MessageMedia</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messageMediaPaidMedia'>messageMediaPaidMedia</a>, params: [extended_media], type: <a href='/type/MessageMedia'>MessageMedia</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messageMediaPhoto'>messageMediaPhoto</a>, params: [photo], type: <a href='/type/MessageMedia'>MessageMedia</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messageMediaStory'>messageMediaStory</a>, params: [story], push_sources: [<a href='/api/file-references/sources#source-messagemediastory-filesourcestory'>fileSourceStory</a>], type: <a href='/type/MessageMedia'>MessageMedia</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messageMediaWebPage'>messageMediaWebPage</a>, params: [webpage], type: <a href='/type/MessageMedia'>MessageMedia</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messageReplyHeader'>messageReplyHeader</a>, params: [reply_media], type: <a href='/type/MessageReplyHeader'>MessageReplyHeader</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messageService'>messageService</a>, params: [reply_to, action], push_sources: [<a href='/api/file-references/sources#source-messageservice-filesourcemessage-without-messages-getscheduledmessages-without-updatenewscheduledmessage'>fileSourceMessage</a> (unless <a href='/method/messages.getScheduledMessages'>messages.getScheduledMessages</a>, <a href='/constructor/updateNewScheduledMessage'>updateNewScheduledMessage</a>)], type: <a href='/type/Message'>Message</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messages.archivedStickers'>messages.archivedStickers</a>, params: [sets], type: <a href='/type/messages.ArchivedStickers'>messages.ArchivedStickers</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messages.availableEffects'>messages.availableEffects</a>, params: [documents], push_sources: [<a href='/api/file-references/sources#source-messages-availableeffects-filesourceavailableeffects'>fileSourceAvailableEffects</a>], type: <a href='/type/messages.AvailableEffects'>messages.AvailableEffects</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messages.availableReactions'>messages.availableReactions</a>, params: [reactions], push_sources: [<a href='/api/file-references/sources#source-messages-availablereactions-filesourceavailablereactions'>fileSourceAvailableReactions</a>], type: <a href='/type/messages.AvailableReactions'>messages.AvailableReactions</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messages.botApp'>messages.botApp</a>, params: [app], type: <a href='/type/messages.BotApp'>messages.BotApp</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messages.botResults'>messages.botResults</a>, params: [results], type: <a href='/type/messages.BotResults'>messages.BotResults</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messages.channelMessages'>messages.channelMessages</a>, params: [messages], type: <a href='/type/messages.Messages'>messages.Messages</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messages.chatFull'>messages.chatFull</a>, params: [full_chat], type: <a href='/type/messages.ChatFull'>messages.ChatFull</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messages.dialogs'>messages.dialogs</a>, params: [messages], type: <a href='/type/messages.Dialogs'>messages.Dialogs</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messages.dialogsSlice'>messages.dialogsSlice</a>, params: [messages], type: <a href='/type/messages.Dialogs'>messages.Dialogs</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messages.discussionMessage'>messages.discussionMessage</a>, params: [messages], type: <a href='/type/messages.DiscussionMessage'>messages.DiscussionMessage</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messages.favedStickers'>messages.favedStickers</a>, params: [stickers], type: <a href='/type/messages.FavedStickers'>messages.FavedStickers</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messages.featuredStickers'>messages.featuredStickers</a>, params: [sets], type: <a href='/type/messages.FeaturedStickers'>messages.FeaturedStickers</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messages.forumTopics'>messages.forumTopics</a>, params: [messages], type: <a href='/type/messages.ForumTopics'>messages.ForumTopics</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messages.foundStickerSets'>messages.foundStickerSets</a>, params: [sets], type: <a href='/type/messages.FoundStickerSets'>messages.FoundStickerSets</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messages.foundStickers'>messages.foundStickers</a>, params: [stickers], type: <a href='/type/messages.FoundStickers'>messages.FoundStickers</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messages.messages'>messages.messages</a>, params: [messages], type: <a href='/type/messages.Messages'>messages.Messages</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messages.messagesSlice'>messages.messagesSlice</a>, params: [messages], type: <a href='/type/messages.Messages'>messages.Messages</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messages.myStickers'>messages.myStickers</a>, params: [sets], type: <a href='/type/messages.MyStickers'>messages.MyStickers</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messages.peerDialogs'>messages.peerDialogs</a>, params: [messages], type: <a href='/type/messages.PeerDialogs'>messages.PeerDialogs</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messages.preparedInlineMessage'>messages.preparedInlineMessage</a>, params: [result], type: <a href='/type/messages.PreparedInlineMessage'>messages.PreparedInlineMessage</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messages.quickReplies'>messages.quickReplies</a>, params: [messages], type: <a href='/type/messages.QuickReplies'>messages.QuickReplies</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messages.recentStickers'>messages.recentStickers</a>, params: [stickers], type: <a href='/type/messages.RecentStickers'>messages.RecentStickers</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messages.savedDialogs'>messages.savedDialogs</a>, params: [messages], type: <a href='/type/messages.SavedDialogs'>messages.SavedDialogs</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messages.savedDialogsSlice'>messages.savedDialogsSlice</a>, params: [messages], type: <a href='/type/messages.SavedDialogs'>messages.SavedDialogs</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messages.savedGifs'>messages.savedGifs</a>, params: [gifs], push_sources: [<a href='/api/file-references/sources#source-messages-savedgifs-filesourcesavedgifs'>fileSourceSavedGifs</a>], type: <a href='/type/messages.SavedGifs'>messages.SavedGifs</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messages.searchResultsCalendar'>messages.searchResultsCalendar</a>, params: [messages], type: <a href='/type/messages.SearchResultsCalendar'>messages.SearchResultsCalendar</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messages.sponsoredMessages'>messages.sponsoredMessages</a>, params: [messages], type: <a href='/type/messages.SponsoredMessages'>messages.SponsoredMessages</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messages.stickerSet'>messages.stickerSet</a>, params: [documents], push_sources: [<a href='/api/file-references/sources#source-messages-stickerset-filesourcestickerset'>fileSourceStickerSet</a>], type: <a href='/type/messages.StickerSet'>messages.StickerSet</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messages.stickerSetInstallResultArchive'>messages.stickerSetInstallResultArchive</a>, params: [sets], type: <a href='/type/messages.StickerSetInstallResult'>messages.StickerSetInstallResult</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messages.stickers'>messages.stickers</a>, params: [stickers], type: <a href='/type/messages.Stickers'>messages.Stickers</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messages.webPage'>messages.webPage</a>, params: [webpage], type: <a href='/type/messages.WebPage'>messages.WebPage</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/messages.webPagePreview'>messages.webPagePreview</a>, params: [media], type: <a href='/type/messages.WebPagePreview'>messages.WebPagePreview</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/page'>page</a>, params: [photos, documents], type: <a href='/type/Page'>Page</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/payments.resaleStarGifts'>payments.resaleStarGifts</a>, params: [gifts, attributes], type: <a href='/type/payments.ResaleStarGifts'>payments.ResaleStarGifts</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/payments.savedStarGifts'>payments.savedStarGifts</a>, params: [gifts], type: <a href='/type/payments.SavedStarGifts'>payments.SavedStarGifts</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/payments.starGiftCollections'>payments.starGiftCollections</a>, params: [collections], type: <a href='/type/payments.StarGiftCollections'>payments.StarGiftCollections</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/payments.starGiftUpgradePreview'>payments.starGiftUpgradePreview</a>, params: [sample_attributes], type: <a href='/type/payments.StarGiftUpgradePreview'>payments.StarGiftUpgradePreview</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/payments.starGifts'>payments.starGifts</a>, params: [gifts], type: <a href='/type/payments.StarGifts'>payments.StarGifts</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/payments.starsStatus'>payments.starsStatus</a>, params: [history], type: <a href='/type/payments.StarsStatus'>payments.StarsStatus</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/payments.uniqueStarGift'>payments.uniqueStarGift</a>, params: [gift], type: <a href='/type/payments.UniqueStarGift'>payments.UniqueStarGift</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/peerStories'>peerStories</a>, params: [stories], is_needed_parent: true, type: <a href='/type/PeerStories'>PeerStories</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/photos.photo'>photos.photo</a>, params: [photo], type: <a href='/type/photos.Photo'>photos.Photo</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/photos.photos'>photos.photos</a>, params: [photos], type: <a href='/type/photos.Photos'>photos.Photos</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/photos.photosSlice'>photos.photosSlice</a>, params: [photos], type: <a href='/type/photos.Photos'>photos.Photos</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/publicForwardMessage'>publicForwardMessage</a>, params: [message], type: <a href='/type/PublicForward'>PublicForward</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/publicForwardStory'>publicForwardStory</a>, params: [story], push_sources: [<a href='/api/file-references/sources#source-publicforwardstory-filesourcestory'>fileSourceStory</a>], type: <a href='/type/PublicForward'>PublicForward</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/recentMeUrlStickerSet'>recentMeUrlStickerSet</a>, params: [set], type: <a href='/type/RecentMeUrl'>RecentMeUrl</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/requestedPeerChannel'>requestedPeerChannel</a>, params: [photo], type: <a href='/type/RequestedPeer'>RequestedPeer</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/requestedPeerChat'>requestedPeerChat</a>, params: [photo], type: <a href='/type/RequestedPeer'>RequestedPeer</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/requestedPeerUser'>requestedPeerUser</a>, params: [photo], type: <a href='/type/RequestedPeer'>RequestedPeer</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/savedStarGift'>savedStarGift</a>, params: [gift], type: <a href='/type/SavedStarGift'>SavedStarGift</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/sponsoredMessage'>sponsoredMessage</a>, params: [media], type: <a href='/type/SponsoredMessage'>SponsoredMessage</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/starGift'>starGift</a>, params: [sticker], type: <a href='/type/StarGift'>StarGift</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/starGiftAttributeModel'>starGiftAttributeModel</a>, params: [document], type: <a href='/type/StarGiftAttribute'>StarGiftAttribute</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/starGiftAttributePattern'>starGiftAttributePattern</a>, params: [document], type: <a href='/type/StarGiftAttribute'>StarGiftAttribute</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/starGiftCollection'>starGiftCollection</a>, params: [icon], type: <a href='/type/StarGiftCollection'>StarGiftCollection</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/starGiftUnique'>starGiftUnique</a>, params: [attributes], type: <a href='/type/StarGift'>StarGift</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/starsTransaction'>starsTransaction</a>, params: [extended_media, stargift], push_sources: [<a href='/api/file-references/sources#source-starstransaction-filesourcestarstransaction-payments-getstarsstatus'>fileSourceStarsTransaction</a> (needs <a href='/method/payments.getStarsStatus'>payments.getStarsStatus</a>), <a href='/api/file-references/sources#source-starstransaction-filesourcestarstransaction-payments-getstarstransactions'>fileSourceStarsTransaction</a> (needs <a href='/method/payments.getStarsTransactions'>payments.getStarsTransactions</a>), <a href='/api/file-references/sources#source-starstransaction-filesourcestarstransaction-payments-getstarstransactionsbyid'>fileSourceStarsTransaction</a> (needs <a href='/method/payments.getStarsTransactionsByID'>payments.getStarsTransactionsByID</a>), <a href='/api/file-references/sources#source-starstransaction-filesourcestarstransaction-payments-getstarssubscriptions'>fileSourceStarsTransaction</a> (needs <a href='/method/payments.getStarsSubscriptions'>payments.getStarsSubscriptions</a>)], type: <a href='/type/StarsTransaction'>StarsTransaction</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/stats.publicForwards'>stats.publicForwards</a>, params: [forwards], type: <a href='/type/stats.PublicForwards'>stats.PublicForwards</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/stickerSetCovered'>stickerSetCovered</a>, params: [cover], type: <a href='/type/StickerSetCovered'>StickerSetCovered</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/stickerSetFullCovered'>stickerSetFullCovered</a>, params: [documents], push_sources: [<a href='/api/file-references/sources#source-stickersetfullcovered-filesourcestickerset'>fileSourceStickerSet</a>], type: <a href='/type/StickerSetCovered'>StickerSetCovered</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/stickerSetMultiCovered'>stickerSetMultiCovered</a>, params: [covers], push_sources: [<a href='/api/file-references/sources#source-stickersetmulticovered-filesourcestickerset'>fileSourceStickerSet</a>], type: <a href='/type/StickerSetCovered'>StickerSetCovered</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/stories.albums'>stories.albums</a>, params: [albums], type: <a href='/type/stories.Albums'>stories.Albums</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/stories.allStories'>stories.allStories</a>, params: [peer_stories], type: <a href='/type/stories.AllStories'>stories.AllStories</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/stories.foundStories'>stories.foundStories</a>, params: [stories], type: <a href='/type/stories.FoundStories'>stories.FoundStories</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/stories.peerStories'>stories.peerStories</a>, params: [stories], type: <a href='/type/stories.PeerStories'>stories.PeerStories</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/stories.stories'>stories.stories</a>, params: [stories], type: <a href='/type/stories.Stories'>stories.Stories</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/stories.storyReactionsList'>stories.storyReactionsList</a>, params: [reactions], type: <a href='/type/stories.StoryReactionsList'>stories.StoryReactionsList</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/stories.storyViewsList'>stories.storyViewsList</a>, params: [views], type: <a href='/type/stories.StoryViewsList'>stories.StoryViewsList</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/storyAlbum'>storyAlbum</a>, params: [icon_photo, icon_video], type: <a href='/type/StoryAlbum'>StoryAlbum</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/storyItem'>storyItem</a>, params: [media], push_sources: [<a href='/api/file-references/sources#source-storyitem-filesourcestory-stories-getpinnedstories'>fileSourceStory</a> (needs <a href='/method/stories.getPinnedStories'>stories.getPinnedStories</a>), <a href='/api/file-references/sources#source-storyitem-filesourcestory-stories-getstoriesarchive'>fileSourceStory</a> (needs <a href='/method/stories.getStoriesArchive'>stories.getStoriesArchive</a>), <a href='/api/file-references/sources#source-storyitem-filesourcestory-stories-getstoriesbyid'>fileSourceStory</a> (needs <a href='/method/stories.getStoriesByID'>stories.getStoriesByID</a>), <a href='/api/file-references/sources#source-storyitem-filesourcestory-stories-getalbumstories'>fileSourceStory</a> (needs <a href='/method/stories.getAlbumStories'>stories.getAlbumStories</a>), <a href='/api/file-references/sources#source-storyitem-filesourcestory-peerstories'>fileSourceStory</a> (needs <a href='/constructor/peerStories'>peerStories</a>), <a href='/api/file-references/sources#source-storyitem-filesourcestory'>fileSourceStory</a>], type: <a href='/type/StoryItem'>StoryItem</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/storyReactionPublicForward'>storyReactionPublicForward</a>, params: [message], type: <a href='/type/StoryReaction'>StoryReaction</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/storyReactionPublicRepost'>storyReactionPublicRepost</a>, params: [story], push_sources: [<a href='/api/file-references/sources#source-storyreactionpublicrepost-filesourcestory'>fileSourceStory</a>], type: <a href='/type/StoryReaction'>StoryReaction</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/storyViewPublicForward'>storyViewPublicForward</a>, params: [message], type: <a href='/type/StoryView'>StoryView</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/storyViewPublicRepost'>storyViewPublicRepost</a>, params: [story], push_sources: [<a href='/api/file-references/sources#source-storyviewpublicrepost-filesourcestory'>fileSourceStory</a>], type: <a href='/type/StoryView'>StoryView</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/theme'>theme</a>, params: [document, settings], push_sources: [<a href='/api/file-references/sources#source-theme-filesourcetheme'>fileSourceTheme</a>], type: <a href='/type/Theme'>Theme</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/themeSettings'>themeSettings</a>, params: [wallpaper], type: <a href='/type/ThemeSettings'>ThemeSettings</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/updateBotEditBusinessMessage'>updateBotEditBusinessMessage</a>, params: [message, reply_to_message], type: <a href='/type/Update'>Update</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/updateBotNewBusinessMessage'>updateBotNewBusinessMessage</a>, params: [message, reply_to_message], type: <a href='/type/Update'>Update</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/updateBusinessBotCallbackQuery'>updateBusinessBotCallbackQuery</a>, params: [message, reply_to_message], type: <a href='/type/Update'>Update</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/updateChannelWebPage'>updateChannelWebPage</a>, params: [webpage], type: <a href='/type/Update'>Update</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/updateEditChannelMessage'>updateEditChannelMessage</a>, params: [message], type: <a href='/type/Update'>Update</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/updateEditMessage'>updateEditMessage</a>, params: [message], type: <a href='/type/Update'>Update</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/updateMessageExtendedMedia'>updateMessageExtendedMedia</a>, params: [extended_media], push_sources: [<a href='/api/file-references/sources#source-updatemessageextendedmedia-filesourcepaidmedia'>fileSourcePaidMedia</a>], type: <a href='/type/Update'>Update</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/updateNewChannelMessage'>updateNewChannelMessage</a>, params: [message], type: <a href='/type/Update'>Update</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/updateNewMessage'>updateNewMessage</a>, params: [message], type: <a href='/type/Update'>Update</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/updateNewScheduledMessage'>updateNewScheduledMessage</a>, params: [message], is_needed_parent: true, type: <a href='/type/Update'>Update</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/updateNewStickerSet'>updateNewStickerSet</a>, params: [stickerset], type: <a href='/type/Update'>Update</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/updatePeerWallpaper'>updatePeerWallpaper</a>, params: [wallpaper], type: <a href='/type/Update'>Update</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/updateQuickReplyMessage'>updateQuickReplyMessage</a>, params: [message], type: <a href='/type/Update'>Update</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/updateServiceNotification'>updateServiceNotification</a>, params: [media], type: <a href='/type/Update'>Update</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/updateStory'>updateStory</a>, params: [story], type: <a href='/type/Update'>Update</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/updateTheme'>updateTheme</a>, params: [theme], type: <a href='/type/Update'>Update</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/updateWebPage'>updateWebPage</a>, params: [webpage], type: <a href='/type/Update'>Update</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/updates.channelDifference'>updates.channelDifference</a>, params: [new_messages], type: <a href='/type/updates.ChannelDifference'>updates.ChannelDifference</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/updates.channelDifferenceTooLong'>updates.channelDifferenceTooLong</a>, params: [messages], type: <a href='/type/updates.ChannelDifference'>updates.ChannelDifference</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/updates.difference'>updates.difference</a>, params: [new_messages], type: <a href='/type/updates.Difference'>updates.Difference</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/updates.differenceSlice'>updates.differenceSlice</a>, params: [new_messages], type: <a href='/type/updates.Difference'>updates.Difference</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/userFull'>userFull</a>, params: [personal_photo, profile_photo, fallback_photo, bot_info, theme, wallpaper, stories, business_intro, saved_music], push_sources: [<a href='/api/file-references/sources#source-userfull-filesourceuserfull'>fileSourceUserFull</a>, <a href='/api/file-references/sources#source-userfull-filesourcesavedmusic'>fileSourceSavedMusic</a>], type: <a href='/type/UserFull'>UserFull</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/users.savedMusic'>users.savedMusic</a>, params: [documents], type: <a href='/type/users.SavedMusic'>users.SavedMusic</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/users.userFull'>users.userFull</a>, params: [full_user], type: <a href='/type/users.UserFull'>users.UserFull</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/wallPaper'>wallPaper</a>, params: [document], push_sources: [<a href='/api/file-references/sources#source-wallpaper-filesourcewallpaper'>fileSourceWallPaper</a>], type: <a href='/type/WallPaper'>WallPaper</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/webPage'>webPage</a>, params: [photo, document, cached_page, attributes], push_sources: [<a href='/api/file-references/sources#source-webpage-filesourcewebpage'>fileSourceWebPage</a>], type: <a href='/type/WebPage'>WebPage</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/webPageAttributeStarGiftCollection'>webPageAttributeStarGiftCollection</a>, params: [icons], type: <a href='/type/WebPageAttribute'>WebPageAttribute</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/webPageAttributeStickerSet'>webPageAttributeStickerSet</a>, params: [stickers], type: <a href='/type/WebPageAttribute'>WebPageAttribute</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/webPageAttributeStory'>webPageAttributeStory</a>, params: [story], push_sources: [<a href='/api/file-references/sources#source-webpageattributestory-filesourcestory'>fileSourceStory</a>], type: <a href='/type/WebPageAttribute'>WebPageAttribute</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/webPageAttributeTheme'>webPageAttributeTheme</a>, params: [documents, settings], type: <a href='/type/WebPageAttribute'>WebPageAttribute</a>}</code></pre>
* Added <pre><code>traverseIncomingConstructor{predicate: <a href='/constructor/webPageAttributeUniqueStarGift'>webPageAttributeUniqueStarGift</a>, params: [gift], type: <a href='/type/WebPageAttribute'>WebPageAttribute</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/account.createTheme'>account.createTheme</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/account.getChatThemes'>account.getChatThemes</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/account.getMultiWallPapers'>account.getMultiWallPapers</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/account.getSavedRingtones'>account.getSavedRingtones</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/account.getTheme'>account.getTheme</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/account.getThemes'>account.getThemes</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/account.getUniqueGiftChatThemes'>account.getUniqueGiftChatThemes</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/account.getWallPaper'>account.getWallPaper</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/account.getWallPapers'>account.getWallPapers</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/account.saveRingtone'>account.saveRingtone</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/account.updateTheme'>account.updateTheme</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/account.uploadRingtone'>account.uploadRingtone</a>, push_sources: [<a href='/api/file-references/sources#source-account-uploadringtone-filesourcesavedringtones'>fileSourceSavedRingtones</a>]}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/account.uploadTheme'>account.uploadTheme</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/account.uploadWallPaper'>account.uploadWallPaper</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/bots.addPreviewMedia'>bots.addPreviewMedia</a>, push_sources: [<a href='/api/file-references/sources#source-bots-addpreviewmedia-filesourcebotpreviewinfo'>fileSourceBotPreviewInfo</a>]}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/bots.editPreviewMedia'>bots.editPreviewMedia</a>, push_sources: [<a href='/api/file-references/sources#source-bots-editpreviewmedia-filesourcebotpreviewinfo'>fileSourceBotPreviewInfo</a>]}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/bots.getPreviewInfo'>bots.getPreviewInfo</a>, push_sources: [<a href='/api/file-references/sources#source-bots-getpreviewinfo-filesourcebotpreviewinfo'>fileSourceBotPreviewInfo</a>]}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/bots.getPreviewMedias'>bots.getPreviewMedias</a>, push_sources: [<a href='/api/file-references/sources#source-bots-getpreviewmedias-filesourcebotpreviewmedia'>fileSourceBotPreviewMedia</a>]}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/channels.getAdminLog'>channels.getAdminLog</a>, is_needed_parent: true}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/channels.getForumTopics'>channels.getForumTopics</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/channels.getForumTopicsByID'>channels.getForumTopicsByID</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/channels.getFullChannel'>channels.getFullChannel</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/channels.getMessages'>channels.getMessages</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/channels.searchPosts'>channels.searchPosts</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/help.getAppUpdate'>help.getAppUpdate</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/help.getPremiumPromo'>help.getPremiumPromo</a>, push_sources: [<a href='/api/file-references/sources#source-help-getpremiumpromo-filesourcepremiumpromo'>fileSourcePremiumPromo</a>]}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/help.getRecentMeUrls'>help.getRecentMeUrls</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getArchivedStickers'>messages.getArchivedStickers</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getAttachMenuBot'>messages.getAttachMenuBot</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getAttachMenuBots'>messages.getAttachMenuBots</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getAttachedStickers'>messages.getAttachedStickers</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getAvailableEffects'>messages.getAvailableEffects</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getAvailableReactions'>messages.getAvailableReactions</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getBotApp'>messages.getBotApp</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getCustomEmojiDocuments'>messages.getCustomEmojiDocuments</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getDialogs'>messages.getDialogs</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getDiscussionMessage'>messages.getDiscussionMessage</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getDocumentByHash'>messages.getDocumentByHash</a>, push_sources: [<a href='/api/file-references/sources#source-messages-getdocumentbyhash-filesourcedocumentbyhash'>fileSourceDocumentByHash</a>]}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getFavedStickers'>messages.getFavedStickers</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getFeaturedEmojiStickers'>messages.getFeaturedEmojiStickers</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getFeaturedStickers'>messages.getFeaturedStickers</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getFullChat'>messages.getFullChat</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getHistory'>messages.getHistory</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getInlineBotResults'>messages.getInlineBotResults</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getMessages'>messages.getMessages</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getMyStickers'>messages.getMyStickers</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getOldFeaturedStickers'>messages.getOldFeaturedStickers</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getPeerDialogs'>messages.getPeerDialogs</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getPinnedDialogs'>messages.getPinnedDialogs</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getPinnedSavedDialogs'>messages.getPinnedSavedDialogs</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getPreparedInlineMessage'>messages.getPreparedInlineMessage</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getQuickReplies'>messages.getQuickReplies</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getQuickReplyMessages'>messages.getQuickReplyMessages</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getRecentLocations'>messages.getRecentLocations</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getRecentStickers'>messages.getRecentStickers</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getReplies'>messages.getReplies</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getSavedDialogs'>messages.getSavedDialogs</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getSavedDialogsByID'>messages.getSavedDialogsByID</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getSavedGifs'>messages.getSavedGifs</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getSavedHistory'>messages.getSavedHistory</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getScheduledHistory'>messages.getScheduledHistory</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getScheduledMessages'>messages.getScheduledMessages</a>, is_needed_parent: true}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getSearchResultsCalendar'>messages.getSearchResultsCalendar</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getSponsoredMessages'>messages.getSponsoredMessages</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getStickerSet'>messages.getStickerSet</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getStickers'>messages.getStickers</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getUnreadMentions'>messages.getUnreadMentions</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getUnreadReactions'>messages.getUnreadReactions</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getWebPage'>messages.getWebPage</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.getWebPagePreview'>messages.getWebPagePreview</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.installStickerSet'>messages.installStickerSet</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.search'>messages.search</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.searchEmojiStickerSets'>messages.searchEmojiStickerSets</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.searchGlobal'>messages.searchGlobal</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.searchSentMedia'>messages.searchSentMedia</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.searchStickerSets'>messages.searchStickerSets</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.searchStickers'>messages.searchStickers</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.uploadImportedMedia'>messages.uploadImportedMedia</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/messages.uploadMedia'>messages.uploadMedia</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/payments.createStarGiftCollection'>payments.createStarGiftCollection</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/payments.getResaleStarGifts'>payments.getResaleStarGifts</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/payments.getSavedStarGift'>payments.getSavedStarGift</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/payments.getSavedStarGifts'>payments.getSavedStarGifts</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/payments.getStarGiftCollections'>payments.getStarGiftCollections</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/payments.getStarGiftUpgradePreview'>payments.getStarGiftUpgradePreview</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/payments.getStarGifts'>payments.getStarGifts</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/payments.getStarsStatus'>payments.getStarsStatus</a>, is_needed_parent: true}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/payments.getStarsSubscriptions'>payments.getStarsSubscriptions</a>, is_needed_parent: true}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/payments.getStarsTransactions'>payments.getStarsTransactions</a>, is_needed_parent: true}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/payments.getStarsTransactionsByID'>payments.getStarsTransactionsByID</a>, is_needed_parent: true}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/payments.getUniqueStarGift'>payments.getUniqueStarGift</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/payments.updateStarGiftCollection'>payments.updateStarGiftCollection</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/photos.getUserPhotos'>photos.getUserPhotos</a>, is_needed_parent: true}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/photos.updateProfilePhoto'>photos.updateProfilePhoto</a>, push_sources: [<a href='/api/file-references/sources#source-photos-updateprofilephoto-filesourceuserprofilephoto'>fileSourceUserProfilePhoto</a>]}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/photos.uploadContactProfilePhoto'>photos.uploadContactProfilePhoto</a>, push_sources: [<a href='/api/file-references/sources#source-photos-uploadcontactprofilephoto-filesourceuserprofilephoto'>fileSourceUserProfilePhoto</a>]}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/photos.uploadProfilePhoto'>photos.uploadProfilePhoto</a>, push_sources: [<a href='/api/file-references/sources#source-photos-uploadprofilephoto-filesourceuserprofilephoto'>fileSourceUserProfilePhoto</a>]}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/stats.getMessagePublicForwards'>stats.getMessagePublicForwards</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/stats.getStoryPublicForwards'>stats.getStoryPublicForwards</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/stickers.addStickerToSet'>stickers.addStickerToSet</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/stickers.changeSticker'>stickers.changeSticker</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/stickers.changeStickerPosition'>stickers.changeStickerPosition</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/stickers.createStickerSet'>stickers.createStickerSet</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/stickers.removeStickerFromSet'>stickers.removeStickerFromSet</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/stickers.renameStickerSet'>stickers.renameStickerSet</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/stickers.replaceSticker'>stickers.replaceSticker</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/stickers.setStickerSetThumb'>stickers.setStickerSetThumb</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/stories.createAlbum'>stories.createAlbum</a>, push_sources: [<a href='/api/file-references/sources#source-stories-createalbum-filesourcestoryalbum'>fileSourceStoryAlbum</a>]}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/stories.getAlbumStories'>stories.getAlbumStories</a>, is_needed_parent: true}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/stories.getAlbums'>stories.getAlbums</a>, push_sources: [<a href='/api/file-references/sources#source-stories-getalbums-filesourcestoryalbum'>fileSourceStoryAlbum</a>]}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/stories.getAllStories'>stories.getAllStories</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/stories.getPeerStories'>stories.getPeerStories</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/stories.getPinnedStories'>stories.getPinnedStories</a>, is_needed_parent: true}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/stories.getStoriesArchive'>stories.getStoriesArchive</a>, is_needed_parent: true}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/stories.getStoriesByID'>stories.getStoriesByID</a>, is_needed_parent: true}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/stories.getStoryReactionsList'>stories.getStoryReactionsList</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/stories.getStoryViewsList'>stories.getStoryViewsList</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/stories.searchPosts'>stories.searchPosts</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/stories.updateAlbum'>stories.updateAlbum</a>, push_sources: [<a href='/api/file-references/sources#source-stories-updatealbum-filesourcestoryalbum'>fileSourceStoryAlbum</a>]}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/updates.getChannelDifference'>updates.getChannelDifference</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/updates.getDifference'>updates.getDifference</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/users.getFullUser'>users.getFullUser</a>}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/users.getSavedMusic'>users.getSavedMusic</a>, is_needed_parent: true}</code></pre>
* Added <pre><code>traverseMethodResult{name: <a href='/method/users.getSavedMusicByID'>users.getSavedMusicByID</a>, is_needed_parent: true}</code></pre>

##### New traversers outgoing

* Added <pre><code>traverseMethodCall{name: <a href='/method/account.createTheme'>account.createTheme</a>, params: [document]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/account.reportProfilePhoto'>account.reportProfilePhoto</a>, params: [photo_id]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/account.saveMusic'>account.saveMusic</a>, params: [id, after_id]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/account.saveRingtone'>account.saveRingtone</a>, params: [id]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/account.updateBusinessIntro'>account.updateBusinessIntro</a>, params: [intro]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/account.updateTheme'>account.updateTheme</a>, params: [document]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/account.uploadRingtone'>account.uploadRingtone</a>, params: [file]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/account.uploadTheme'>account.uploadTheme</a>, params: [file, thumb]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/account.uploadWallPaper'>account.uploadWallPaper</a>, params: [file]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/bots.addPreviewMedia'>bots.addPreviewMedia</a>, params: [media]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/bots.deletePreviewMedia'>bots.deletePreviewMedia</a>, params: [media]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/bots.editPreviewMedia'>bots.editPreviewMedia</a>, params: [media, new_media]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/bots.reorderPreviewMedias'>bots.reorderPreviewMedias</a>, params: [order]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/channels.editPhoto'>channels.editPhoto</a>, params: [photo]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/messages.editChatPhoto'>messages.editChatPhoto</a>, params: [photo]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/messages.editInlineBotMessage'>messages.editInlineBotMessage</a>, params: [media]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/messages.editMessage'>messages.editMessage</a>, params: [media]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/messages.faveSticker'>messages.faveSticker</a>, params: [id]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/messages.getAttachedStickers'>messages.getAttachedStickers</a>, params: [media]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/messages.initHistoryImport'>messages.initHistoryImport</a>, params: [file]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/messages.saveDraft'>messages.saveDraft</a>, params: [media]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/messages.saveGif'>messages.saveGif</a>, params: [id]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/messages.savePreparedInlineMessage'>messages.savePreparedInlineMessage</a>, params: [result]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/messages.saveRecentSticker'>messages.saveRecentSticker</a>, params: [id]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/messages.sendMedia'>messages.sendMedia</a>, params: [media]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/messages.sendMultiMedia'>messages.sendMultiMedia</a>, params: [multi_media]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/messages.sendWebViewResultMessage'>messages.sendWebViewResultMessage</a>, params: [result]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/messages.setInlineBotResults'>messages.setInlineBotResults</a>, params: [results]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/messages.uploadImportedMedia'>messages.uploadImportedMedia</a>, params: [media]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/messages.uploadMedia'>messages.uploadMedia</a>, params: [media]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/payments.exportInvoice'>payments.exportInvoice</a>, params: [invoice_media]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/phone.saveCallLog'>phone.saveCallLog</a>, params: [file]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/photos.deletePhotos'>photos.deletePhotos</a>, params: [id]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/photos.updateProfilePhoto'>photos.updateProfilePhoto</a>, params: [id]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/photos.uploadContactProfilePhoto'>photos.uploadContactProfilePhoto</a>, params: [file, video]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/photos.uploadProfilePhoto'>photos.uploadProfilePhoto</a>, params: [file, video]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/stickers.addStickerToSet'>stickers.addStickerToSet</a>, params: [sticker]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/stickers.changeSticker'>stickers.changeSticker</a>, params: [sticker]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/stickers.changeStickerPosition'>stickers.changeStickerPosition</a>, params: [sticker]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/stickers.createStickerSet'>stickers.createStickerSet</a>, params: [thumb, stickers]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/stickers.removeStickerFromSet'>stickers.removeStickerFromSet</a>, params: [sticker]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/stickers.replaceSticker'>stickers.replaceSticker</a>, params: [sticker, new_sticker]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/stickers.setStickerSetThumb'>stickers.setStickerSetThumb</a>, params: [thumb]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/stories.editStory'>stories.editStory</a>, params: [media]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/stories.sendStory'>stories.sendStory</a>, params: [media]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/upload.getFile'>upload.getFile</a>, params: [location]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/upload.getFileHashes'>upload.getFileHashes</a>, params: [location]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/upload.getWebFile'>upload.getWebFile</a>, params: [location]}</code></pre>
* Added <pre><code>traverseMethodCall{name: <a href='/method/users.getSavedMusicByID'>users.getSavedMusicByID</a>, params: [documents]}</code></pre>
* Added <pre><code>traverseOutgoingConstructor{predicate: <a href='/constructor/inputBotInlineResultDocument'>inputBotInlineResultDocument</a>, params: [document], type: <a href='/type/InputBotInlineResult'>InputBotInlineResult</a>}</code></pre>
* Added <pre><code>traverseOutgoingConstructor{predicate: <a href='/constructor/inputBotInlineResultPhoto'>inputBotInlineResultPhoto</a>, params: [photo], type: <a href='/type/InputBotInlineResult'>InputBotInlineResult</a>}</code></pre>
* Added <pre><code>traverseOutgoingConstructor{predicate: <a href='/constructor/inputBusinessIntro'>inputBusinessIntro</a>, params: [sticker], type: <a href='/type/InputBusinessIntro'>InputBusinessIntro</a>}</code></pre>
* Added <pre><code>traverseOutgoingConstructor{predicate: <a href='/constructor/inputChatPhoto'>inputChatPhoto</a>, params: [id], type: <a href='/type/InputChatPhoto'>InputChatPhoto</a>}</code></pre>
* Added <pre><code>traverseOutgoingConstructor{predicate: <a href='/constructor/inputChatUploadedPhoto'>inputChatUploadedPhoto</a>, params: [file, video], type: <a href='/type/InputChatPhoto'>InputChatPhoto</a>}</code></pre>
* Added <pre><code>traverseOutgoingConstructor{predicate: <a href='/constructor/inputFileStoryDocument'>inputFileStoryDocument</a>, params: [id], type: <a href='/type/InputFile'>InputFile</a>}</code></pre>
* Added <pre><code>traverseOutgoingConstructor{predicate: <a href='/constructor/inputMediaDocument'>inputMediaDocument</a>, params: [id, video_cover], type: <a href='/type/InputMedia'>InputMedia</a>}</code></pre>
* Added <pre><code>traverseOutgoingConstructor{predicate: <a href='/constructor/inputMediaDocumentExternal'>inputMediaDocumentExternal</a>, params: [video_cover], type: <a href='/type/InputMedia'>InputMedia</a>}</code></pre>
* Added <pre><code>traverseOutgoingConstructor{predicate: <a href='/constructor/inputMediaInvoice'>inputMediaInvoice</a>, params: [extended_media], type: <a href='/type/InputMedia'>InputMedia</a>}</code></pre>
* Added <pre><code>traverseOutgoingConstructor{predicate: <a href='/constructor/inputMediaPaidMedia'>inputMediaPaidMedia</a>, params: [extended_media], type: <a href='/type/InputMedia'>InputMedia</a>}</code></pre>
* Added <pre><code>traverseOutgoingConstructor{predicate: <a href='/constructor/inputMediaPhoto'>inputMediaPhoto</a>, params: [id], type: <a href='/type/InputMedia'>InputMedia</a>}</code></pre>
* Added <pre><code>traverseOutgoingConstructor{predicate: <a href='/constructor/inputMediaUploadedDocument'>inputMediaUploadedDocument</a>, params: [file, thumb, stickers, video_cover], type: <a href='/type/InputMedia'>InputMedia</a>}</code></pre>
* Added <pre><code>traverseOutgoingConstructor{predicate: <a href='/constructor/inputMediaUploadedPhoto'>inputMediaUploadedPhoto</a>, params: [file, stickers], type: <a href='/type/InputMedia'>InputMedia</a>}</code></pre>
* Added <pre><code>traverseOutgoingConstructor{predicate: <a href='/constructor/inputSingleMedia'>inputSingleMedia</a>, params: [media], type: <a href='/type/InputSingleMedia'>InputSingleMedia</a>}</code></pre>
* Added <pre><code>traverseOutgoingConstructor{predicate: <a href='/constructor/inputStickerSetItem'>inputStickerSetItem</a>, params: [document], type: <a href='/type/InputStickerSetItem'>InputStickerSetItem</a>}</code></pre>
* Added <pre><code>traverseOutgoingConstructor{predicate: <a href='/constructor/inputStickeredMediaDocument'>inputStickeredMediaDocument</a>, params: [id], type: <a href='/type/InputStickeredMedia'>InputStickeredMedia</a>}</code></pre>
* Added <pre><code>traverseOutgoingConstructor{predicate: <a href='/constructor/inputStickeredMediaPhoto'>inputStickeredMediaPhoto</a>, params: [id], type: <a href='/type/InputStickeredMedia'>InputStickeredMedia</a>}</code></pre>
* Added <pre><code>traverseOutgoingConstructor{predicate: <a href='/constructor/inputWebFileAudioAlbumThumbLocation'>inputWebFileAudioAlbumThumbLocation</a>, params: [document], type: <a href='/type/InputWebFileLocation'>InputWebFileLocation</a>}</code></pre>
* Added <pre><code>traverseSwapLocation{predicate: <a href='/constructor/inputDocument'>inputDocument</a>, stored_constructor: fileIdDocument, type: <a href='/type/InputDocument'>InputDocument</a>}</code></pre>
* Added <pre><code>traverseSwapLocation{predicate: <a href='/constructor/inputDocumentFileLocation'>inputDocumentFileLocation</a>, stored_constructor: fileIdDocument, type: <a href='/type/InputFileLocation'>InputFileLocation</a>}</code></pre>
* Added <pre><code>traverseSwapLocation{predicate: <a href='/constructor/inputPhoto'>inputPhoto</a>, stored_constructor: fileIdPhoto, type: <a href='/type/InputPhoto'>InputPhoto</a>}</code></pre>
* Added <pre><code>traverseSwapLocation{predicate: <a href='/constructor/inputPhotoFileLocation'>inputPhotoFileLocation</a>, stored_constructor: fileIdPhoto, type: <a href='/type/InputFileLocation'>InputFileLocation</a>}</code></pre>

#### [Schema](/schema.md)

<div><pre><code><a href="/constructor/messageActionSetChatTheme">messageActionSetChatTheme</a>#b91bbd3a theme:<a href="/type/ChatTheme">ChatTheme</a> = <a href="/type/MessageAction">MessageAction</a>;\

<a href="/constructor/auth.sentCodePaymentRequired">auth.sentCodePaymentRequired</a>#d7a2fcf9 store_product:<a href="/type/string">string</a> phone_code_hash:<a href="/type/string">string</a> support_email_address:<a href="/type/string">string</a> support_email_subject:<a href="/type/string">string</a> = <a href="/type/auth.SentCode">auth.SentCode</a>;\

<a href="/constructor/userFull">userFull</a>#c577b5ad flags:<a href="/type/%23">#</a> blocked:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> phone_calls_available:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> phone_calls_private:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> can_pin_message:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> has_scheduled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> video_calls_available:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/constructor/true">true</a> voice_messages_forbidden:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/constructor/true">true</a> translations_disabled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/constructor/true">true</a> stories_pinned_available:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.26?<a href="/constructor/true">true</a> blocked_my_stories_from:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.27?<a href="/constructor/true">true</a> wallpaper_overridden:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.28?<a href="/constructor/true">true</a> contact_require_premium:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.29?<a href="/constructor/true">true</a> read_dates_private:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.30?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> sponsored_enabled:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.7?<a href="/constructor/true">true</a> can_view_revenue:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.9?<a href="/constructor/true">true</a> bot_can_manage_emoji_status:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.10?<a href="/constructor/true">true</a> display_gifts_button:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.16?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> about:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> settings:<a href="/type/PeerSettings">PeerSettings</a> personal_photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/type/Photo">Photo</a> profile_photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/Photo">Photo</a> fallback_photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/type/Photo">Photo</a> notify_settings:<a href="/type/PeerNotifySettings">PeerNotifySettings</a> bot_info:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/BotInfo">BotInfo</a> pinned_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/int">int</a> common_chats_count:<a href="/type/int">int</a> folder_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/int">int</a> ttl_period:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/int">int</a> theme:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/ChatTheme">ChatTheme</a> private_forward_name:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/type/string">string</a> bot_group_admin_rights:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/ChatAdminRights">ChatAdminRights</a> bot_broadcast_admin_rights:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/type/ChatAdminRights">ChatAdminRights</a> wallpaper:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.24?<a href="/type/WallPaper">WallPaper</a> stories:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.25?<a href="/type/PeerStories">PeerStories</a> business_work_hours:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.0?<a href="/type/BusinessWorkHours">BusinessWorkHours</a> business_location:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.1?<a href="/type/BusinessLocation">BusinessLocation</a> business_greeting_message:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.2?<a href="/type/BusinessGreetingMessage">BusinessGreetingMessage</a> business_away_message:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.3?<a href="/type/BusinessAwayMessage">BusinessAwayMessage</a> business_intro:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.4?<a href="/type/BusinessIntro">BusinessIntro</a> birthday:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.5?<a href="/type/Birthday">Birthday</a> personal_channel_id:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.6?<a href="/type/long">long</a> personal_channel_message:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.6?<a href="/type/int">int</a> stargifts_count:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.8?<a href="/type/int">int</a> starref_program:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.11?<a href="/type/StarRefProgram">StarRefProgram</a> bot_verification:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.12?<a href="/type/BotVerification">BotVerification</a> send_paid_messages_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.14?<a href="/type/long">long</a> disallowed_gifts:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.15?<a href="/type/DisallowedGiftsSettings">DisallowedGiftsSettings</a> stars_rating:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.17?<a href="/type/StarsRating">StarsRating</a> stars_my_pending_rating:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.18?<a href="/type/StarsRating">StarsRating</a> stars_my_pending_rating_date:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.18?<a href="/type/int">int</a> main_tab:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.20?<a href="/type/ProfileTab">ProfileTab</a> saved_music:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.21?<a href="/type/Document">Document</a> = <a href="/type/UserFull">UserFull</a>;\

<a href="/constructor/chatTheme">chatTheme</a>#c3dffc04 emoticon:<a href="/type/string">string</a> = <a href="/type/ChatTheme">ChatTheme</a>;
<a href="/constructor/chatThemeUniqueGift">chatThemeUniqueGift</a>#3458f9c8 gift:<a href="/type/StarGift">StarGift</a> theme_settings:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/ThemeSettings">ThemeSettings</a>&gt; = <a href="/type/ChatTheme">ChatTheme</a>;\

<a href="/constructor/account.chatThemesNotModified">account.chatThemesNotModified</a>#e011e1c4 = <a href="/type/account.ChatThemes">account.ChatThemes</a>;
<a href="/constructor/account.chatThemes">account.chatThemes</a>#16484857 flags:<a href="/type/%23">#</a> hash:<a href="/type/long">long</a> themes:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/ChatTheme">ChatTheme</a>&gt; chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; next_offset:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> = <a href="/type/account.ChatThemes">account.ChatThemes</a>;\

<a href="/constructor/starGiftUnique">starGiftUnique</a>#1befe865 flags:<a href="/type/%23">#</a> require_premium:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> resale_ton_only:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> theme_available:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> gift_id:<a href="/type/long">long</a> title:<a href="/type/string">string</a> slug:<a href="/type/string">string</a> num:<a href="/type/int">int</a> owner_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/Peer">Peer</a> owner_name:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> owner_address:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> attributes:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StarGiftAttribute">StarGiftAttribute</a>&gt; availability_issued:<a href="/type/int">int</a> availability_total:<a href="/type/int">int</a> gift_address:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/string">string</a> resell_amount:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StarsAmount">StarsAmount</a>&gt; released_by:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/Peer">Peer</a> value_amount:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/long">long</a> value_currency:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/string">string</a> theme_peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/Peer">Peer</a> = <a href="/type/StarGift">StarGift</a>;\

<a href="/constructor/inputChatThemeEmpty">inputChatThemeEmpty</a>#83268483 = <a href="/type/InputChatTheme">InputChatTheme</a>;
<a href="/constructor/inputChatTheme">inputChatTheme</a>#c93de95c emoticon:<a href="/type/string">string</a> = <a href="/type/InputChatTheme">InputChatTheme</a>;
<a href="/constructor/inputChatThemeUniqueGift">inputChatThemeUniqueGift</a>#87e5dfe4 slug:<a href="/type/string">string</a> = <a href="/type/InputChatTheme">InputChatTheme</a>;\

---functions---\

<a href="/method/account.getUniqueGiftChatThemes">account.getUniqueGiftChatThemes</a>#fe74ef9f offset:<a href="/type/int">int</a> limit:<a href="/type/int">int</a> hash:<a href="/type/long">long</a> = <a href="/type/account.ChatThemes">account.ChatThemes</a>;\

<a href="/method/messages.setChatTheme">messages.setChatTheme</a>#081202c9 peer:<a href="/type/InputPeer">InputPeer</a> theme:<a href="/type/InputChatTheme">InputChatTheme</a> = <a href="/type/Updates">Updates</a>;\

</code></pre></div>

### [Layer 213](/schema?layer=213)

This layer introduces the following new features:

- [Changing the default profile tab »](/api/profile.md#tabs)
- [Saving music to the profile »](/api/profile.md#music)
- [Added a `locked_until_date` flag to starGift, for locked gifts that cannot be sent until the specified date](/constructor/starGift.md).
- [Added the payments.checkCanSendGift method, to check if a non-locked gift can't be sent yet for other reasons](/method/payments.checkCanSendGift.md).
- [Added an optional `spend_purpose_peer` flag to inputStorePaymentStarsTopup, that should be populated with the peer where the topup process was initiated due to low funds (i.e. a bot for bot payments, a channel for paid media/reactions, etc) »](/constructor/inputStorePaymentStarsTopup.md)[Documentation for the profile page was also reorganized, to include the full list of tabs to show, along with instructions on how to populate them »](/api/profile.md).

#### [Schema](/schema.md) changes

##### New Methods

* Added [account.setMainProfileTab](/method/account.setMainProfileTab.md) - Changes the main profile tab of the current user, see [here »](/api/profile.md#tabs) for more info.
* Added [account.saveMusic](/method/account.saveMusic.md) - Adds or removes a song from the current user's profile [see here »](/api/profile.md#music) for more info on the music tab of the profile page.
* Added [account.getSavedMusicIds](/method/account.getSavedMusicIds.md) - Fetch the full list of only the IDs of [songs currently added to the profile, see here »](/api/profile.md#music) for more info.
* Added [users.getSavedMusic](/method/users.getSavedMusic.md) - Get songs [pinned to the user's profile, see here »](/api/profile.md#music) for more info.
* Added [users.getSavedMusicByID](/method/users.getSavedMusicByID.md) - 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 »](/api/profile.md#music) for more info.
* Added [channels.setMainProfileTab](/method/channels.setMainProfileTab.md) - Changes the main profile tab of a channel, see [here »](/api/profile.md#tabs) for more info.
* Added [payments.checkCanSendGift](/method/payments.checkCanSendGift.md) - Check if the specified [gift »](/api/gifts.md) can be sent.

##### New Constructors

* Added [profileTabPosts](/constructor/profileTabPosts.md) - Represents the [stories](/api/stories.md) tab of a profile page.
* Added [profileTabGifts](/constructor/profileTabGifts.md) - Represents the [gifts](/api/gifts.md) tab of a profile page.
* Added [profileTabMedia](/constructor/profileTabMedia.md) - Represents the media tab of a profile page.
* Added [profileTabFiles](/constructor/profileTabFiles.md) - Represents the shared files tab of a profile.
* Added [profileTabMusic](/constructor/profileTabMusic.md) - Represents the [music](/api/profile.md#music) tab of a profile page.
* Added [profileTabVoice](/constructor/profileTabVoice.md) - Represents the voice messages tab of a profile page.
* Added [profileTabLinks](/constructor/profileTabLinks.md) - Represents the shared links tab of a profile page.
* Added [profileTabGifs](/constructor/profileTabGifs.md) - Represents the gifs tab of a profile page.
* Added [users.savedMusicNotModified](/constructor/users.savedMusicNotModified.md) - This subset of the songs currently pinned on a user's profile hasn't changed, see [here »](/api/profile.md#music) for more info.
* Added [users.savedMusic](/constructor/users.savedMusic.md) - List of songs currently pinned on a user's profile, see [here »](/api/profile.md#music) for more info.
* Added [account.savedMusicIdsNotModified](/constructor/account.savedMusicIdsNotModified.md) - The list of IDs of songs ([document](/constructor/document.md).`id`s) currently pinned on our profile hasn't changed.
* Added [account.savedMusicIds](/constructor/account.savedMusicIds.md) - List of IDs of songs ([document](/constructor/document.md).`id`s) currently pinned on our profile, see [here »](/api/profile.md#music) for more info.
* Added [payments.checkCanSendGiftResultOk](/constructor/payments.checkCanSendGiftResultOk.md) - The specified gift can be sent.
* Added [payments.checkCanSendGiftResultFail](/constructor/payments.checkCanSendGiftResultFail.md) - The specified gift cannot be sent yet for the specified reason.

##### Changed Constructors

* Added **main_tab** parameter in [channelFull](/constructor/channelFull.md)
* Added **upgrade_separate** parameter in [messageActionStarGift](/constructor/messageActionStarGift.md)
* Added **main_tab**, **saved_music** parameters in [userFull](/constructor/userFull.md)
* Added **flags**, **spend_purpose_peer** parameters in [inputStorePaymentStarsTopup](/constructor/inputStorePaymentStarsTopup.md)
* Added **locked_until_date** parameter in [starGift](/constructor/starGift.md)
* Added **chats** parameter in [payments.uniqueStarGift](/constructor/payments.uniqueStarGift.md)
* Added **chats** parameter in [messages.webPagePreview](/constructor/messages.webPagePreview.md)
* Added **upgrade_separate** parameter in [savedStarGift](/constructor/savedStarGift.md)

#### [Schema](/schema.md)

<div><pre><code><a href="/constructor/channelFull">channelFull</a>#e4e0b29d flags:<a href="/type/%23">#</a> can_view_participants:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> can_set_username:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> can_set_stickers:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> hidden_prehistory:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> can_set_location:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/constructor/true">true</a> has_scheduled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/constructor/true">true</a> can_view_stats:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/constructor/true">true</a> blocked:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> can_delete_channel:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.0?<a href="/constructor/true">true</a> antispam:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.1?<a href="/constructor/true">true</a> participants_hidden:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.2?<a href="/constructor/true">true</a> translations_disabled:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.3?<a href="/constructor/true">true</a> stories_pinned_available:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.5?<a href="/constructor/true">true</a> view_forum_as_messages:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.6?<a href="/constructor/true">true</a> restricted_sponsored:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.11?<a href="/constructor/true">true</a> can_view_revenue:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.12?<a href="/constructor/true">true</a> paid_media_allowed:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.14?<a href="/constructor/true">true</a> can_view_stars_revenue:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.15?<a href="/constructor/true">true</a> paid_reactions_available:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.16?<a href="/constructor/true">true</a> stargifts_available:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.19?<a href="/constructor/true">true</a> paid_messages_available:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.20?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> about:<a href="/type/string">string</a> participants_count:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> admins_count:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/int">int</a> kicked_count:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/int">int</a> banned_count:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/int">int</a> online_count:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/int">int</a> read_inbox_max_id:<a href="/type/int">int</a> read_outbox_max_id:<a href="/type/int">int</a> unread_count:<a href="/type/int">int</a> chat_photo:<a href="/type/Photo">Photo</a> notify_settings:<a href="/type/PeerNotifySettings">PeerNotifySettings</a> exported_invite:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/type/ExportedChatInvite">ExportedChatInvite</a> bot_info:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/BotInfo">BotInfo</a>&gt; migrated_from_chat_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> migrated_from_max_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/int">int</a> pinned_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/int">int</a> stickerset:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/StickerSet">StickerSet</a> available_min_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/int">int</a> folder_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/int">int</a> linked_chat_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/long">long</a> location:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/ChannelLocation">ChannelLocation</a> slowmode_seconds:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/int">int</a> slowmode_next_send_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/type/int">int</a> stats_dc:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/type/int">int</a> pts:<a href="/type/int">int</a> call:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/type/InputGroupCall">InputGroupCall</a> ttl_period:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.24?<a href="/type/int">int</a> pending_suggestions:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.25?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/string">string</a>&gt; groupcall_default_join_as:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.26?<a href="/type/Peer">Peer</a> theme_emoticon:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.27?<a href="/type/string">string</a> requests_pending:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.28?<a href="/type/int">int</a> recent_requesters:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.28?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; default_send_as:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.29?<a href="/type/Peer">Peer</a> available_reactions:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.30?<a href="/type/ChatReactions">ChatReactions</a> reactions_limit:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.13?<a href="/type/int">int</a> stories:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.4?<a href="/type/PeerStories">PeerStories</a> wallpaper:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.7?<a href="/type/WallPaper">WallPaper</a> boosts_applied:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.8?<a href="/type/int">int</a> boosts_unrestrict:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.9?<a href="/type/int">int</a> emojiset:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.10?<a href="/type/StickerSet">StickerSet</a> bot_verification:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.17?<a href="/type/BotVerification">BotVerification</a> stargifts_count:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.18?<a href="/type/int">int</a> send_paid_messages_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.21?<a href="/type/long">long</a> main_tab:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.22?<a href="/type/ProfileTab">ProfileTab</a> = <a href="/type/ChatFull">ChatFull</a>;\

<a href="/constructor/messageActionStarGift">messageActionStarGift</a>#f24de7fa flags:<a href="/type/%23">#</a> name_hidden:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> saved:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> converted:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> upgraded:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> refunded:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/constructor/true">true</a> can_upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> prepaid_upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/constructor/true">true</a> upgrade_separate:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/constructor/true">true</a> gift:<a href="/type/StarGift">StarGift</a> message:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/TextWithEntities">TextWithEntities</a> convert_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> upgrade_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/int">int</a> upgrade_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/long">long</a> from_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/Peer">Peer</a> peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/type/Peer">Peer</a> saved_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/type/long">long</a> prepaid_upgrade_hash:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/string">string</a> gift_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/int">int</a> = <a href="/type/MessageAction">MessageAction</a>;\

<a href="/constructor/userFull">userFull</a>#3fd81e28 flags:<a href="/type/%23">#</a> blocked:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> phone_calls_available:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> phone_calls_private:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> can_pin_message:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> has_scheduled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> video_calls_available:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/constructor/true">true</a> voice_messages_forbidden:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/constructor/true">true</a> translations_disabled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/constructor/true">true</a> stories_pinned_available:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.26?<a href="/constructor/true">true</a> blocked_my_stories_from:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.27?<a href="/constructor/true">true</a> wallpaper_overridden:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.28?<a href="/constructor/true">true</a> contact_require_premium:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.29?<a href="/constructor/true">true</a> read_dates_private:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.30?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> sponsored_enabled:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.7?<a href="/constructor/true">true</a> can_view_revenue:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.9?<a href="/constructor/true">true</a> bot_can_manage_emoji_status:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.10?<a href="/constructor/true">true</a> display_gifts_button:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.16?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> about:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> settings:<a href="/type/PeerSettings">PeerSettings</a> personal_photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/type/Photo">Photo</a> profile_photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/Photo">Photo</a> fallback_photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/type/Photo">Photo</a> notify_settings:<a href="/type/PeerNotifySettings">PeerNotifySettings</a> bot_info:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/BotInfo">BotInfo</a> pinned_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/int">int</a> common_chats_count:<a href="/type/int">int</a> folder_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/int">int</a> ttl_period:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/int">int</a> theme_emoticon:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/string">string</a> private_forward_name:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/type/string">string</a> bot_group_admin_rights:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/ChatAdminRights">ChatAdminRights</a> bot_broadcast_admin_rights:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/type/ChatAdminRights">ChatAdminRights</a> wallpaper:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.24?<a href="/type/WallPaper">WallPaper</a> stories:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.25?<a href="/type/PeerStories">PeerStories</a> business_work_hours:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.0?<a href="/type/BusinessWorkHours">BusinessWorkHours</a> business_location:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.1?<a href="/type/BusinessLocation">BusinessLocation</a> business_greeting_message:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.2?<a href="/type/BusinessGreetingMessage">BusinessGreetingMessage</a> business_away_message:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.3?<a href="/type/BusinessAwayMessage">BusinessAwayMessage</a> business_intro:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.4?<a href="/type/BusinessIntro">BusinessIntro</a> birthday:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.5?<a href="/type/Birthday">Birthday</a> personal_channel_id:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.6?<a href="/type/long">long</a> personal_channel_message:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.6?<a href="/type/int">int</a> stargifts_count:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.8?<a href="/type/int">int</a> starref_program:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.11?<a href="/type/StarRefProgram">StarRefProgram</a> bot_verification:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.12?<a href="/type/BotVerification">BotVerification</a> send_paid_messages_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.14?<a href="/type/long">long</a> disallowed_gifts:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.15?<a href="/type/DisallowedGiftsSettings">DisallowedGiftsSettings</a> stars_rating:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.17?<a href="/type/StarsRating">StarsRating</a> stars_my_pending_rating:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.18?<a href="/type/StarsRating">StarsRating</a> stars_my_pending_rating_date:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.18?<a href="/type/int">int</a> main_tab:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.20?<a href="/type/ProfileTab">ProfileTab</a> saved_music:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.21?<a href="/type/Document">Document</a> = <a href="/type/UserFull">UserFull</a>;\

<a href="/constructor/inputStorePaymentStarsTopup">inputStorePaymentStarsTopup</a>#f9a2a6cb flags:<a href="/type/%23">#</a> stars:<a href="/type/long">long</a> currency:<a href="/type/string">string</a> amount:<a href="/type/long">long</a> spend_purpose_peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/InputPeer">InputPeer</a> = <a href="/type/InputStorePaymentPurpose">InputStorePaymentPurpose</a>;\

<a href="/constructor/starGift">starGift</a>#80ac53c3 flags:<a href="/type/%23">#</a> limited:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> sold_out:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> birthday:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> require_premium:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> limited_per_user:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> sticker:<a href="/type/Document">Document</a> stars:<a href="/type/long">long</a> availability_remains:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> availability_total:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> availability_resale:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> convert_stars:<a href="/type/long">long</a> first_sale_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/int">int</a> last_sale_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/int">int</a> upgrade_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/long">long</a> resell_min_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> title:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/string">string</a> released_by:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/Peer">Peer</a> per_user_total:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/int">int</a> per_user_remains:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/int">int</a> locked_until_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/int">int</a> = <a href="/type/StarGift">StarGift</a>;\

<a href="/constructor/payments.uniqueStarGift">payments.uniqueStarGift</a>#416c56e8 gift:<a href="/type/StarGift">StarGift</a> chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/payments.UniqueStarGift">payments.UniqueStarGift</a>;\

<a href="/constructor/messages.webPagePreview">messages.webPagePreview</a>#8c9a88ac media:<a href="/type/MessageMedia">MessageMedia</a> chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/messages.WebPagePreview">messages.WebPagePreview</a>;\

<a href="/constructor/savedStarGift">savedStarGift</a>#19a9b572 flags:<a href="/type/%23">#</a> name_hidden:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> unsaved:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> refunded:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/constructor/true">true</a> can_upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> pinned_to_top:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> upgrade_separate:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/constructor/true">true</a> from_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/Peer">Peer</a> date:<a href="/type/int">int</a> gift:<a href="/type/StarGift">StarGift</a> message:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/TextWithEntities">TextWithEntities</a> msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/int">int</a> saved_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/long">long</a> convert_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> upgrade_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/long">long</a> can_export_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/int">int</a> transfer_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/long">long</a> can_transfer_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/int">int</a> can_resell_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/int">int</a> collection_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; prepaid_upgrade_hash:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/type/string">string</a> = <a href="/type/SavedStarGift">SavedStarGift</a>;\

<a href="/constructor/profileTabPosts">profileTabPosts</a>#b98cd696 = <a href="/type/ProfileTab">ProfileTab</a>;
<a href="/constructor/profileTabGifts">profileTabGifts</a>#4d4bd46a = <a href="/type/ProfileTab">ProfileTab</a>;
<a href="/constructor/profileTabMedia">profileTabMedia</a>#72c64955 = <a href="/type/ProfileTab">ProfileTab</a>;
<a href="/constructor/profileTabFiles">profileTabFiles</a>#ab339c00 = <a href="/type/ProfileTab">ProfileTab</a>;
<a href="/constructor/profileTabMusic">profileTabMusic</a>#9f27d26e = <a href="/type/ProfileTab">ProfileTab</a>;
<a href="/constructor/profileTabVoice">profileTabVoice</a>#e477092e = <a href="/type/ProfileTab">ProfileTab</a>;
<a href="/constructor/profileTabLinks">profileTabLinks</a>#d3656499 = <a href="/type/ProfileTab">ProfileTab</a>;
<a href="/constructor/profileTabGifs">profileTabGifs</a>#a2c0f695 = <a href="/type/ProfileTab">ProfileTab</a>;\

<a href="/constructor/users.savedMusicNotModified">users.savedMusicNotModified</a>#e3878aa4 count:<a href="/type/int">int</a> = <a href="/type/users.SavedMusic">users.SavedMusic</a>;
<a href="/constructor/users.savedMusic">users.savedMusic</a>#34a2f297 count:<a href="/type/int">int</a> documents:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Document">Document</a>&gt; = <a href="/type/users.SavedMusic">users.SavedMusic</a>;\

<a href="/constructor/account.savedMusicIdsNotModified">account.savedMusicIdsNotModified</a>#4fc81d6e = <a href="/type/account.SavedMusicIds">account.SavedMusicIds</a>;
<a href="/constructor/account.savedMusicIds">account.savedMusicIds</a>#998d6636 ids:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; = <a href="/type/account.SavedMusicIds">account.SavedMusicIds</a>;\

<a href="/constructor/payments.checkCanSendGiftResultOk">payments.checkCanSendGiftResultOk</a>#374fa7ad = <a href="/type/payments.CheckCanSendGiftResult">payments.CheckCanSendGiftResult</a>;
<a href="/constructor/payments.checkCanSendGiftResultFail">payments.checkCanSendGiftResultFail</a>#d5e58274 reason:<a href="/type/TextWithEntities">TextWithEntities</a> = <a href="/type/payments.CheckCanSendGiftResult">payments.CheckCanSendGiftResult</a>;\

---functions---\

<a href="/method/account.setMainProfileTab">account.setMainProfileTab</a>#5dee78b0 tab:<a href="/type/ProfileTab">ProfileTab</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/account.saveMusic">account.saveMusic</a>#b26732a9 flags:<a href="/type/%23">#</a> unsave:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> id:<a href="/type/InputDocument">InputDocument</a> after_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/InputDocument">InputDocument</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/account.getSavedMusicIds">account.getSavedMusicIds</a>#e09d5faf hash:<a href="/type/long">long</a> = <a href="/type/account.SavedMusicIds">account.SavedMusicIds</a>;\

<a href="/method/users.getSavedMusic">users.getSavedMusic</a>#788d7fe3 id:<a href="/type/InputUser">InputUser</a> offset:<a href="/type/int">int</a> limit:<a href="/type/int">int</a> hash:<a href="/type/long">long</a> = <a href="/type/users.SavedMusic">users.SavedMusic</a>;
<a href="/method/users.getSavedMusicByID">users.getSavedMusicByID</a>#7573a4e9 id:<a href="/type/InputUser">InputUser</a> documents:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputDocument">InputDocument</a>&gt; = <a href="/type/users.SavedMusic">users.SavedMusic</a>;\

<a href="/method/channels.setMainProfileTab">channels.setMainProfileTab</a>#3583fcb1 channel:<a href="/type/InputChannel">InputChannel</a> tab:<a href="/type/ProfileTab">ProfileTab</a> = <a href="/type/Bool">Bool</a>;\

<a href="/method/payments.checkCanSendGift">payments.checkCanSendGift</a>#c0c4edc9 gift_id:<a href="/type/long">long</a> = <a href="/type/payments.CheckCanSendGiftResult">payments.CheckCanSendGiftResult</a>;\

</code></pre></div>

### [Layer 212](/schema?layer=212)

This layer introduces the following features:

- [Separately prepay for the upgrade of a gift »](/api/gifts.md#prepaying-for-someone-elses-upgrade).
- [Get info about the value of a collectible gift »](/method/payments.getUniqueStarGiftValueInfo.md)

#### [Schema](/schema.md) changes

##### New Methods

* Added [payments.getUniqueStarGiftValueInfo](/method/payments.getUniqueStarGiftValueInfo.md) - Get information about the value of a [collectible gift »](/api/gifts.md#collectible-gifts).

##### Changed Methods

* Added **exclude_upgradable**, **exclude_unupgradable** parameters, removed **exclude_limited** parameter in [payments.getSavedStarGifts](/method/payments.getSavedStarGifts.md)

##### New Constructors

* Added [inputInvoiceStarGiftPrepaidUpgrade](/constructor/inputInvoiceStarGiftPrepaidUpgrade.md) - [Separately prepay for the upgrade of a gift »](/api/gifts.md#prepaying-for-someone-elses-upgrade).
* Added [payments.uniqueStarGiftValueInfo](/constructor/payments.uniqueStarGiftValueInfo.md) - Information about the value of a [collectible gift »](/api/gifts.md#collectible-gifts).

##### Changed Constructors

* Added **prepaid_upgrade**, **prepaid_upgrade_hash**, **gift_msg_id** parameters in [messageActionStarGift](/constructor/messageActionStarGift.md)
* Added **prepaid_upgrade** parameter in [messageActionStarGiftUnique](/constructor/messageActionStarGiftUnique.md)
* Added **posts_search**, **stargift_prepaid_upgrade** parameters in [starsTransaction](/constructor/starsTransaction.md)
* Added **gift_id**, **value_amount**, **value_currency** parameters in [starGiftUnique](/constructor/starGiftUnique.md)
* Added **prepaid_upgrade_hash** parameter in [savedStarGift](/constructor/savedStarGift.md)

#### [End-to-end group call schema &raquo;](/api/end-to-end/group-calls.md) changes

##### New Constructors

* Added [e2e.chain.groupBroadcastNonceCommit](/constructor/e2e.chain.groupBroadcastNonceCommit.md) - Commit message for the [E2E conference call emoji verification protocol](/api/end-to-end/group-calls.md#commit-reveal-protocol-workflow).
* Added [e2e.chain.groupBroadcastNonceReveal](/constructor/e2e.chain.groupBroadcastNonceReveal.md) - Reveal message for the [E2E conference call emoji verification protocol](/api/end-to-end/group-calls.md#commit-reveal-protocol-workflow).
* Added [e2e.chain.groupParticipant](/constructor/e2e.chain.groupParticipant.md) - A participant and their permissions in an [E2E conference call group state »](/api/end-to-end/group-calls.md#participants-and-permissions).
* Added [e2e.chain.groupState](/constructor/e2e.chain.groupState.md) - The participant list and external permission mask for an [E2E conference call blockchain state »](/api/end-to-end/group-calls.md#participants-and-permissions).
* Added [e2e.chain.sharedKey](/constructor/e2e.chain.sharedKey.md) - Encrypted [shared group key material](/api/end-to-end/group-calls.md#shared-key-encryption) for an E2E conference call.
* Added [e2e.chain.changeNoop](/constructor/e2e.chain.changeNoop.md) - A no-operation [E2E conference call blockchain change](/api/end-to-end/group-calls.md#change-types-for-group-calls), potentially used only to randomize the resulting block hash.
* Added [e2e.chain.changeSetValue](/constructor/e2e.chain.changeSetValue.md) - Updates the [key-value trie state for an E2E conference call blockchain](/api/end-to-end/group-calls.md#change-types-for-group-calls).
* Added [e2e.chain.changeSetGroupState](/constructor/e2e.chain.changeSetGroupState.md) - Updates the [E2E conference call participant list and permissions](/api/end-to-end/group-calls.md#change-types-for-group-calls), clearing the current shared key state.
* Added [e2e.chain.changeSetSharedKey](/constructor/e2e.chain.changeSetSharedKey.md) - Establishes a new shared encryption key for an E2E conference call, see [change types for group calls »](/api/end-to-end/group-calls.md#change-types-for-group-calls).
* Added [e2e.chain.stateProof](/constructor/e2e.chain.stateProof.md) - Proof of the [E2E conference call blockchain state](/api/end-to-end/group-calls.md#block-application-process) after a block has been applied.
* Added [e2e.chain.block](/constructor/e2e.chain.block.md) - A block in the [main E2E conference call blockchain](/api/end-to-end/group-calls.md#block-structure), containing state changes for the call and the resulting state proof.
* Added [e2e.callPacket](/constructor/e2e.callPacket.md) - Marker constructor whose CRC32 constructor ID is used when deriving and authenticating [encrypted group call packets](/api/end-to-end/group-calls.md#packet-encryption).
* Added [e2e.callPacketLargeMsgId](/constructor/e2e.callPacketLargeMsgId.md) - Marker constructor whose CRC32 constructor ID is used when signing the large message ID produced while encrypting [group call packets](/api/end-to-end/group-calls.md#packet-encryption).

#### [End-to-end group call schema &raquo;](/api/end-to-end/group-calls.md)

<div><pre><code><a href="/constructor/e2e.chain.groupBroadcastNonceCommit">e2e.chain.groupBroadcastNonceCommit</a>#d1512ae7 signature:<a href="/type/int512">int512</a> user_id:<a href="/type/int64">int64</a> chain_height:<a href="/type/int32">int32</a> chain_hash:<a href="/type/int256">int256</a> nonce_hash:<a href="/type/int256">int256</a> = <a href="/type/e2e.chain.GroupBroadcast">e2e.chain.GroupBroadcast</a>;
<a href="/constructor/e2e.chain.groupBroadcastNonceReveal">e2e.chain.groupBroadcastNonceReveal</a>#83f4f9d8 signature:<a href="/type/int512">int512</a> user_id:<a href="/type/int64">int64</a> chain_height:<a href="/type/int32">int32</a> chain_hash:<a href="/type/int256">int256</a> nonce:<a href="/type/int256">int256</a> = <a href="/type/e2e.chain.GroupBroadcast">e2e.chain.GroupBroadcast</a>;
<a href="/constructor/e2e.chain.groupParticipant">e2e.chain.groupParticipant</a>#28852f20 user_id:<a href="/type/long">long</a> public_key:<a href="/type/int256">int256</a> flags:<a href="/type/%23">#</a> add_users:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> remove_users:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> set_value:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> version:<a href="/type/int">int</a> = <a href="/type/e2e.chain.GroupParticipant">e2e.chain.GroupParticipant</a>;
<a href="/constructor/e2e.chain.groupState">e2e.chain.groupState</a>#1ddc7584 participants:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/e2e.chain.GroupParticipant">e2e.chain.GroupParticipant</a>&gt; external_permissions:<a href="/type/int">int</a> = <a href="/type/e2e.chain.GroupState">e2e.chain.GroupState</a>;
<a href="/constructor/e2e.chain.sharedKey">e2e.chain.sharedKey</a>#8a847e7f ek:<a href="/type/int256">int256</a> encrypted_shared_key:<a href="/type/string">string</a> dest_user_id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; dest_header:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/bytes">bytes</a>&gt; = <a href="/type/e2e.chain.SharedKey">e2e.chain.SharedKey</a>;
<a href="/constructor/e2e.chain.changeNoop">e2e.chain.changeNoop</a>#deb4a41b nonce:<a href="/type/int256">int256</a> = <a href="/type/e2e.chain.Change">e2e.chain.Change</a>;
<a href="/constructor/e2e.chain.changeSetValue">e2e.chain.changeSetValue</a>#7c4f9bfa key:<a href="/type/bytes">bytes</a> value:<a href="/type/bytes">bytes</a> = <a href="/type/e2e.chain.Change">e2e.chain.Change</a>;
<a href="/constructor/e2e.chain.changeSetGroupState">e2e.chain.changeSetGroupState</a>#2cf17146 group_state:<a href="/type/e2e.chain.GroupState">e2e.chain.GroupState</a> = <a href="/type/e2e.chain.Change">e2e.chain.Change</a>;
<a href="/constructor/e2e.chain.changeSetSharedKey">e2e.chain.changeSetSharedKey</a>#987a2158 shared_key:<a href="/type/e2e.chain.SharedKey">e2e.chain.SharedKey</a> = <a href="/type/e2e.chain.Change">e2e.chain.Change</a>;
<a href="/constructor/e2e.chain.stateProof">e2e.chain.stateProof</a>#d6b679e6 flags:<a href="/type/%23">#</a> kv_hash:<a href="/type/int256">int256</a> group_state:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/e2e.chain.GroupState">e2e.chain.GroupState</a> shared_key:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/e2e.chain.SharedKey">e2e.chain.SharedKey</a> = <a href="/type/e2e.chain.StateProof">e2e.chain.StateProof</a>;
<a href="/constructor/e2e.chain.block">e2e.chain.block</a>#639a3db6 signature:<a href="/type/int512">int512</a> flags:<a href="/type/%23">#</a> prev_block_hash:<a href="/type/int256">int256</a> changes:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/e2e.chain.Change">e2e.chain.Change</a>&gt; height:<a href="/type/int">int</a> state_proof:<a href="/type/e2e.chain.StateProof">e2e.chain.StateProof</a> signature_public_key:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int256">int256</a> = <a href="/type/e2e.chain.Block">e2e.chain.Block</a>;
<a href="/constructor/e2e.callPacket">e2e.callPacket</a>#40a6bee9 = <a href="/type/e2e.CallPacket">e2e.CallPacket</a>;
<a href="/constructor/e2e.callPacketLargeMsgId">e2e.callPacketLargeMsgId</a>#1ce56c2d = <a href="/type/e2e.CallPacketLargeMsgId">e2e.CallPacketLargeMsgId</a>;\

</code></pre></div>

#### [Schema](/schema.md)

<div><pre><code><a href="/constructor/messageActionStarGift">messageActionStarGift</a>#f24de7fa flags:<a href="/type/%23">#</a> name_hidden:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> saved:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> converted:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> upgraded:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> refunded:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/constructor/true">true</a> can_upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> prepaid_upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/constructor/true">true</a> gift:<a href="/type/StarGift">StarGift</a> message:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/TextWithEntities">TextWithEntities</a> convert_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> upgrade_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/int">int</a> upgrade_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/long">long</a> from_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/Peer">Peer</a> peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/type/Peer">Peer</a> saved_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/type/long">long</a> prepaid_upgrade_hash:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/string">string</a> gift_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/int">int</a> = <a href="/type/MessageAction">MessageAction</a>;
<a href="/constructor/messageActionStarGiftUnique">messageActionStarGiftUnique</a>#34f762f3 flags:<a href="/type/%23">#</a> upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> transferred:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> saved:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> refunded:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> prepaid_upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> gift:<a href="/type/StarGift">StarGift</a> can_export_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/int">int</a> transfer_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> from_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/Peer">Peer</a> peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/Peer">Peer</a> saved_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/long">long</a> resale_amount:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/StarsAmount">StarsAmount</a> can_transfer_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/int">int</a> can_resell_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/int">int</a> = <a href="/type/MessageAction">MessageAction</a>;\

<a href="/constructor/inputInvoiceStarGiftPrepaidUpgrade">inputInvoiceStarGiftPrepaidUpgrade</a>#9a0b48b8 peer:<a href="/type/InputPeer">InputPeer</a> hash:<a href="/type/string">string</a> = <a href="/type/InputInvoice">InputInvoice</a>;\

<a href="/constructor/starsTransaction">starsTransaction</a>#13659eb0 flags:<a href="/type/%23">#</a> refund:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> pending:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> failed:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> gift:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> reaction:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> stargift_upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/constructor/true">true</a> business_transfer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/constructor/true">true</a> stargift_resale:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/constructor/true">true</a> posts_search:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.24?<a href="/constructor/true">true</a> stargift_prepaid_upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.25?<a href="/constructor/true">true</a> id:<a href="/type/string">string</a> amount:<a href="/type/StarsAmount">StarsAmount</a> date:<a href="/type/int">int</a> peer:<a href="/type/StarsTransactionPeer">StarsTransactionPeer</a> title:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/string">string</a> description:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/WebDocument">WebDocument</a> transaction_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/int">int</a> transaction_url:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/string">string</a> bot_payload:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/bytes">bytes</a> msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/int">int</a> extended_media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageMedia">MessageMedia</a>&gt; subscription_period:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/type/int">int</a> giveaway_post_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/int">int</a> stargift:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/StarGift">StarGift</a> floodskip_number:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/int">int</a> starref_commission_permille:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/type/int">int</a> starref_peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/Peer">Peer</a> starref_amount:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/StarsAmount">StarsAmount</a> paid_messages:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/type/int">int</a> premium_gift_months:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/type/int">int</a> ads_proceeds_from_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/type/int">int</a> ads_proceeds_to_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/type/int">int</a> = <a href="/type/StarsTransaction">StarsTransaction</a>;
<a href="/constructor/starGiftUnique">starGiftUnique</a>#26a5553e flags:<a href="/type/%23">#</a> require_premium:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> resale_ton_only:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> gift_id:<a href="/type/long">long</a> title:<a href="/type/string">string</a> slug:<a href="/type/string">string</a> num:<a href="/type/int">int</a> owner_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/Peer">Peer</a> owner_name:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> owner_address:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> attributes:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StarGiftAttribute">StarGiftAttribute</a>&gt; availability_issued:<a href="/type/int">int</a> availability_total:<a href="/type/int">int</a> gift_address:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/string">string</a> resell_amount:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StarsAmount">StarsAmount</a>&gt; released_by:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/Peer">Peer</a> value_amount:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/long">long</a> value_currency:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/string">string</a> = <a href="/type/StarGift">StarGift</a>;
<a href="/constructor/savedStarGift">savedStarGift</a>#19a9b572 flags:<a href="/type/%23">#</a> name_hidden:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> unsaved:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> refunded:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/constructor/true">true</a> can_upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> pinned_to_top:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> from_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/Peer">Peer</a> date:<a href="/type/int">int</a> gift:<a href="/type/StarGift">StarGift</a> message:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/TextWithEntities">TextWithEntities</a> msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/int">int</a> saved_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/long">long</a> convert_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> upgrade_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/long">long</a> can_export_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/int">int</a> transfer_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/long">long</a> can_transfer_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/int">int</a> can_resell_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/int">int</a> collection_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; prepaid_upgrade_hash:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/type/string">string</a> = <a href="/type/SavedStarGift">SavedStarGift</a>;\

<a href="/constructor/payments.uniqueStarGiftValueInfo">payments.uniqueStarGiftValueInfo</a>#512fe446 flags:<a href="/type/%23">#</a> last_sale_on_fragment:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> value_is_average:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> currency:<a href="/type/string">string</a> value:<a href="/type/long">long</a> initial_sale_date:<a href="/type/int">int</a> initial_sale_stars:<a href="/type/long">long</a> initial_sale_price:<a href="/type/long">long</a> last_sale_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> last_sale_price:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/long">long</a> floor_price:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/long">long</a> average_price:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/long">long</a> listed_count:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/int">int</a> fragment_listed_count:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/int">int</a> fragment_listed_url:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/string">string</a> = <a href="/type/payments.UniqueStarGiftValueInfo">payments.UniqueStarGiftValueInfo</a>;\

---functions---\

<a href="/method/payments.getSavedStarGifts">payments.getSavedStarGifts</a>#a319e569 flags:<a href="/type/%23">#</a> exclude_unsaved:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> exclude_saved:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> exclude_unlimited:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> exclude_unique:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> sort_by_value:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> exclude_upgradable:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> exclude_unupgradable:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> collection_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/int">int</a> offset:<a href="/type/string">string</a> limit:<a href="/type/int">int</a> = <a href="/type/payments.SavedStarGifts">payments.SavedStarGifts</a>;
<a href="/method/payments.getUniqueStarGiftValueInfo">payments.getUniqueStarGiftValueInfo</a>#4365af6b slug:<a href="/type/string">string</a> = <a href="/type/payments.UniqueStarGiftValueInfo">payments.UniqueStarGiftValueInfo</a>;\

</code></pre></div>

### [Layer 211](/schema?layer=211)

This layer introduces:

- [Story albums »](/api/stories.md#story-albums)
- [Star gift collection link previews »](/constructor/webPageAttributeStarGiftCollection.md)
- [Full text global channel post search »](/api/search.md#posts-tab)
- [Allow specification of the resale price of a collectible gift in TON »](/constructor/messageActionStarGiftUnique.md)
- [Pending star ratings »](/api/stars.md#star-rating)

#### [Schema](/schema.md) changes

##### New Methods

* Added [channels.checkSearchPostsFlood](/method/channels.checkSearchPostsFlood.md) - Check if the specified [global post search »](/api/search.md#posts-tab) requires payment.
* Added [stories.createAlbum](/method/stories.createAlbum.md) - Creates a [story album](/api/stories.md#story-albums).
* Added [stories.updateAlbum](/method/stories.updateAlbum.md) - Rename a [story albums »](/api/stories.md#story-albums), or add, delete or reorder stories in it.
* Added [stories.reorderAlbums](/method/stories.reorderAlbums.md) - Reorder [story albums on a profile »](/api/stories.md#story-albums).
* Added [stories.deleteAlbum](/method/stories.deleteAlbum.md) - Delete a [story album](/api/stories.md#story-albums).
* Added [stories.getAlbums](/method/stories.getAlbums.md) - Get [story albums](/api/stories.md#story-albums) created by a peer.
* Added [stories.getAlbumStories](/method/stories.getAlbumStories.md) - Get stories in a [story album »](/api/stories.md#story-albums).

##### Changed Methods

* Added **flags**, **query**, **allow_paid_stars** parameters, changed type of **hashtag** from **string** to **flags.0?string** in [channels.searchPosts](/method/channels.searchPosts.md)
* Added **resell_amount** parameter, removed **resell_stars** parameter in [payments.updateStarGiftPrice](/method/payments.updateStarGiftPrice.md)
* Added **albums** parameter in [stories.sendStory](/method/stories.sendStory.md)

##### New Constructors

* Added [webPageAttributeStarGiftCollection](/constructor/webPageAttributeStarGiftCollection.md) - Contains info about a [gift collection »](/api/gifts.md#gift-collections) for a [webPage](/constructor/webPage.md) preview of a [gift collection »](/api/gifts.md#gift-collections) (the [webPage](/constructor/webPage.md) will have a `type` of `telegram_collection`).
* Added [storyAlbum](/constructor/storyAlbum.md) - Represents a [story album »](/api/stories.md#story-albums).
* Added [stories.albumsNotModified](/constructor/stories.albumsNotModified.md) - The [story album list »](/api/stories.md#story-albums) hasn't changed.
* Added [stories.albums](/constructor/stories.albums.md) - [Story albums »](/api/stories.md#story-albums).
* Added [searchPostsFlood](/constructor/searchPostsFlood.md) - Indicates if the specified [global post search »](/api/search.md#posts-tab) requires payment.

##### Changed Constructors

* Added **resale_amount** parameter, removed **resale_stars** parameter in [messageActionStarGiftUnique](/constructor/messageActionStarGiftUnique.md)
* Added **stars_my_pending_rating**, **stars_my_pending_rating_date** parameters in [userFull](/constructor/userFull.md)
* Added **search_flood** parameter in [messages.messagesSlice](/constructor/messages.messagesSlice.md)
* Added **flags**, **ton** parameters in [inputInvoiceStarGiftResale](/constructor/inputInvoiceStarGiftResale.md)
* Added **albums** parameter in [storyItem](/constructor/storyItem.md)
* Added **resale_ton_only**, **resell_amount** parameters, removed **resell_stars** parameter in [starGiftUnique](/constructor/starGiftUnique.md)

#### [Schema](/schema.md)

<div><pre><code><a href="/constructor/messageActionStarGiftUnique">messageActionStarGiftUnique</a>#34f762f3 flags:<a href="/type/%23">#</a> upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> transferred:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> saved:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> refunded:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> gift:<a href="/type/StarGift">StarGift</a> can_export_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/int">int</a> transfer_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> from_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/Peer">Peer</a> peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/Peer">Peer</a> saved_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/long">long</a> resale_amount:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/StarsAmount">StarsAmount</a> can_transfer_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/int">int</a> can_resell_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/int">int</a> = <a href="/type/MessageAction">MessageAction</a>;\

<a href="/constructor/userFull">userFull</a>#7e63ce1f flags:<a href="/type/%23">#</a> blocked:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> phone_calls_available:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> phone_calls_private:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> can_pin_message:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> has_scheduled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> video_calls_available:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/constructor/true">true</a> voice_messages_forbidden:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/constructor/true">true</a> translations_disabled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/constructor/true">true</a> stories_pinned_available:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.26?<a href="/constructor/true">true</a> blocked_my_stories_from:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.27?<a href="/constructor/true">true</a> wallpaper_overridden:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.28?<a href="/constructor/true">true</a> contact_require_premium:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.29?<a href="/constructor/true">true</a> read_dates_private:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.30?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> sponsored_enabled:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.7?<a href="/constructor/true">true</a> can_view_revenue:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.9?<a href="/constructor/true">true</a> bot_can_manage_emoji_status:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.10?<a href="/constructor/true">true</a> display_gifts_button:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.16?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> about:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> settings:<a href="/type/PeerSettings">PeerSettings</a> personal_photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/type/Photo">Photo</a> profile_photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/Photo">Photo</a> fallback_photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/type/Photo">Photo</a> notify_settings:<a href="/type/PeerNotifySettings">PeerNotifySettings</a> bot_info:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/BotInfo">BotInfo</a> pinned_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/int">int</a> common_chats_count:<a href="/type/int">int</a> folder_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/int">int</a> ttl_period:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/int">int</a> theme_emoticon:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/string">string</a> private_forward_name:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/type/string">string</a> bot_group_admin_rights:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/ChatAdminRights">ChatAdminRights</a> bot_broadcast_admin_rights:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/type/ChatAdminRights">ChatAdminRights</a> wallpaper:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.24?<a href="/type/WallPaper">WallPaper</a> stories:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.25?<a href="/type/PeerStories">PeerStories</a> business_work_hours:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.0?<a href="/type/BusinessWorkHours">BusinessWorkHours</a> business_location:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.1?<a href="/type/BusinessLocation">BusinessLocation</a> business_greeting_message:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.2?<a href="/type/BusinessGreetingMessage">BusinessGreetingMessage</a> business_away_message:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.3?<a href="/type/BusinessAwayMessage">BusinessAwayMessage</a> business_intro:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.4?<a href="/type/BusinessIntro">BusinessIntro</a> birthday:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.5?<a href="/type/Birthday">Birthday</a> personal_channel_id:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.6?<a href="/type/long">long</a> personal_channel_message:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.6?<a href="/type/int">int</a> stargifts_count:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.8?<a href="/type/int">int</a> starref_program:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.11?<a href="/type/StarRefProgram">StarRefProgram</a> bot_verification:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.12?<a href="/type/BotVerification">BotVerification</a> send_paid_messages_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.14?<a href="/type/long">long</a> disallowed_gifts:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.15?<a href="/type/DisallowedGiftsSettings">DisallowedGiftsSettings</a> stars_rating:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.17?<a href="/type/StarsRating">StarsRating</a> stars_my_pending_rating:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.18?<a href="/type/StarsRating">StarsRating</a> stars_my_pending_rating_date:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.18?<a href="/type/int">int</a> = <a href="/type/UserFull">UserFull</a>;\

<a href="/constructor/messages.messagesSlice">messages.messagesSlice</a>#762b263d flags:<a href="/type/%23">#</a> inexact:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> count:<a href="/type/int">int</a> next_rate:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> offset_id_offset:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/int">int</a> search_flood:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/SearchPostsFlood">SearchPostsFlood</a> messages:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Message">Message</a>&gt; chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/messages.Messages">messages.Messages</a>;\

<a href="/constructor/webPageAttributeStarGiftCollection">webPageAttributeStarGiftCollection</a>#31cad303 icons:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Document">Document</a>&gt; = <a href="/type/WebPageAttribute">WebPageAttribute</a>;\

<a href="/constructor/inputInvoiceStarGiftResale">inputInvoiceStarGiftResale</a>#c39f5324 flags:<a href="/type/%23">#</a> ton:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> slug:<a href="/type/string">string</a> to_id:<a href="/type/InputPeer">InputPeer</a> = <a href="/type/InputInvoice">InputInvoice</a>;\

<a href="/constructor/storyItem">storyItem</a>#edf164f1 flags:<a href="/type/%23">#</a> pinned:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> public:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> close_friends:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/constructor/true">true</a> min:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/constructor/true">true</a> noforwards:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> edited:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> contacts:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> selected_contacts:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/constructor/true">true</a> out:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/constructor/true">true</a> id:<a href="/type/int">int</a> date:<a href="/type/int">int</a> from_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/type/Peer">Peer</a> fwd_from:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/StoryFwdHeader">StoryFwdHeader</a> expire_date:<a href="/type/int">int</a> caption:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/string">string</a> entities:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; media:<a href="/type/MessageMedia">MessageMedia</a> media_areas:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MediaArea">MediaArea</a>&gt; privacy:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/PrivacyRule">PrivacyRule</a>&gt; views:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/StoryViews">StoryViews</a> sent_reaction:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/Reaction">Reaction</a> albums:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; = <a href="/type/StoryItem">StoryItem</a>;
<a href="/constructor/starGiftUnique">starGiftUnique</a>#3a274d50 flags:<a href="/type/%23">#</a> require_premium:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> resale_ton_only:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> title:<a href="/type/string">string</a> slug:<a href="/type/string">string</a> num:<a href="/type/int">int</a> owner_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/Peer">Peer</a> owner_name:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> owner_address:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> attributes:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StarGiftAttribute">StarGiftAttribute</a>&gt; availability_issued:<a href="/type/int">int</a> availability_total:<a href="/type/int">int</a> gift_address:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/string">string</a> resell_amount:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StarsAmount">StarsAmount</a>&gt; released_by:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/Peer">Peer</a> = <a href="/type/StarGift">StarGift</a>;
<a href="/constructor/storyAlbum">storyAlbum</a>#9325705a flags:<a href="/type/%23">#</a> album_id:<a href="/type/int">int</a> title:<a href="/type/string">string</a> icon_photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/Photo">Photo</a> icon_video:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/Document">Document</a> = <a href="/type/StoryAlbum">StoryAlbum</a>;
<a href="/constructor/stories.albumsNotModified">stories.albumsNotModified</a>#564edaeb = <a href="/type/stories.Albums">stories.Albums</a>;
<a href="/constructor/stories.albums">stories.albums</a>#c3987a3a hash:<a href="/type/long">long</a> albums:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StoryAlbum">StoryAlbum</a>&gt; = <a href="/type/stories.Albums">stories.Albums</a>;
<a href="/constructor/searchPostsFlood">searchPostsFlood</a>#3e0b5b6a flags:<a href="/type/%23">#</a> query_is_free:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> total_daily:<a href="/type/int">int</a> remains:<a href="/type/int">int</a> wait_till:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/int">int</a> stars_amount:<a href="/type/long">long</a> = <a href="/type/SearchPostsFlood">SearchPostsFlood</a>;\

---functions---\

<a href="/method/channels.searchPosts">channels.searchPosts</a>#f2c4f24d flags:<a href="/type/%23">#</a> hashtag:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/string">string</a> query:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> offset_rate:<a href="/type/int">int</a> offset_peer:<a href="/type/InputPeer">InputPeer</a> offset_id:<a href="/type/int">int</a> limit:<a href="/type/int">int</a> allow_paid_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/long">long</a> = <a href="/type/messages.Messages">messages.Messages</a>;
<a href="/method/channels.checkSearchPostsFlood">channels.checkSearchPostsFlood</a>#22567115 flags:<a href="/type/%23">#</a> query:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/string">string</a> = <a href="/type/SearchPostsFlood">SearchPostsFlood</a>;\

<a href="/method/payments.updateStarGiftPrice">payments.updateStarGiftPrice</a>#edbe6ccb stargift:<a href="/type/InputSavedStarGift">InputSavedStarGift</a> resell_amount:<a href="/type/StarsAmount">StarsAmount</a> = <a href="/type/Updates">Updates</a>;\

<a href="/method/stories.sendStory">stories.sendStory</a>#737fc2ec flags:<a href="/type/%23">#</a> pinned:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> noforwards:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> fwd_modified:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> media:<a href="/type/InputMedia">InputMedia</a> media_areas:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MediaArea">MediaArea</a>&gt; caption:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/string">string</a> entities:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; privacy_rules:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputPrivacyRule">InputPrivacyRule</a>&gt; random_id:<a href="/type/long">long</a> period:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/int">int</a> fwd_from_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/InputPeer">InputPeer</a> fwd_from_story:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/int">int</a> albums:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; = <a href="/type/Updates">Updates</a>;
<a href="/method/stories.createAlbum">stories.createAlbum</a>#a36396e5 peer:<a href="/type/InputPeer">InputPeer</a> title:<a href="/type/string">string</a> stories:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; = <a href="/type/StoryAlbum">StoryAlbum</a>;
<a href="/method/stories.updateAlbum">stories.updateAlbum</a>#5e5259b6 flags:<a href="/type/%23">#</a> peer:<a href="/type/InputPeer">InputPeer</a> album_id:<a href="/type/int">int</a> title:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/string">string</a> delete_stories:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; add_stories:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; order:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; = <a href="/type/StoryAlbum">StoryAlbum</a>;
<a href="/method/stories.reorderAlbums">stories.reorderAlbums</a>#8535fbd9 peer:<a href="/type/InputPeer">InputPeer</a> order:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; = <a href="/type/Bool">Bool</a>;
<a href="/method/stories.deleteAlbum">stories.deleteAlbum</a>#8d3456d0 peer:<a href="/type/InputPeer">InputPeer</a> album_id:<a href="/type/int">int</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/stories.getAlbums">stories.getAlbums</a>#25b3eac7 peer:<a href="/type/InputPeer">InputPeer</a> hash:<a href="/type/long">long</a> = <a href="/type/stories.Albums">stories.Albums</a>;
<a href="/method/stories.getAlbumStories">stories.getAlbumStories</a>#ac806d61 peer:<a href="/type/InputPeer">InputPeer</a> album_id:<a href="/type/int">int</a> offset:<a href="/type/int">int</a> limit:<a href="/type/int">int</a> = <a href="/type/stories.Stories">stories.Stories</a>;\

</code></pre></div>

### [Layer 210](/schema?layer=210)

This layer introduces:

- [Star gift collections »](/api/gifts.md#gift-collections)
- Premium-only gifts (`require_premium`) and per-user gift limits for certain gift types (`per_user_total`, `per_user_remains`).
- [Star ratings »](/api/stars.md#star-rating)

#### [Schema](/schema.md) changes

##### New Methods

* Added [payments.createStarGiftCollection](/method/payments.createStarGiftCollection.md) - Create a [star gift collection »](/api/gifts.md#gift-collections).
* Added [payments.updateStarGiftCollection](/method/payments.updateStarGiftCollection.md) - Add or remove gifts from a [star gift collection »](/api/gifts.md#gift-collections), or rename the collection.
* Added [payments.reorderStarGiftCollections](/method/payments.reorderStarGiftCollections.md) - Reorder the [star gift collections »](/api/gifts.md#gift-collections) on an owned peer's profile.
* Added [payments.deleteStarGiftCollection](/method/payments.deleteStarGiftCollection.md) - Delete a [star gift collection »](/api/gifts.md#gift-collections).
* Added [payments.getStarGiftCollections](/method/payments.getStarGiftCollections.md) - Fetches all [star gift collections »](/api/gifts.md#gift-collections) of a peer.

##### Changed Methods

* Added **collection_id** parameter in [payments.getSavedStarGifts](/method/payments.getSavedStarGifts.md)

##### New Constructors

* Added [starsRating](/constructor/starsRating.md) - Represents the profile's [star rating, see here »](/api/stars.md#star-rating) for more info.
* Added [starGiftCollection](/constructor/starGiftCollection.md) - Represents a [star gift collection »](/api/gifts.md#gift-collections).
* Added [payments.starGiftCollectionsNotModified](/constructor/payments.starGiftCollectionsNotModified.md) - The list of [star gift collections »](/api/gifts.md#gift-collections) hasn't changed.
* Added [payments.starGiftCollections](/constructor/payments.starGiftCollections.md) - Represents a list of [star gift collections »](/api/gifts.md#gift-collections).

##### Changed Constructors

* Added **stars_rating** parameter in [userFull](/constructor/userFull.md)
* Added **require_premium**, **limited_per_user**, **per_user_total**, **per_user_remains** parameters in [starGift](/constructor/starGift.md)
* Added **require_premium** parameter in [starGiftUnique](/constructor/starGiftUnique.md)
* Added **collection_id** parameter in [savedStarGift](/constructor/savedStarGift.md)

#### [Schema](/schema.md)

<div><pre><code><a href="/constructor/userFull">userFull</a>#29de80be flags:<a href="/type/%23">#</a> blocked:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> phone_calls_available:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> phone_calls_private:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> can_pin_message:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> has_scheduled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> video_calls_available:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/constructor/true">true</a> voice_messages_forbidden:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/constructor/true">true</a> translations_disabled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/constructor/true">true</a> stories_pinned_available:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.26?<a href="/constructor/true">true</a> blocked_my_stories_from:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.27?<a href="/constructor/true">true</a> wallpaper_overridden:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.28?<a href="/constructor/true">true</a> contact_require_premium:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.29?<a href="/constructor/true">true</a> read_dates_private:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.30?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> sponsored_enabled:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.7?<a href="/constructor/true">true</a> can_view_revenue:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.9?<a href="/constructor/true">true</a> bot_can_manage_emoji_status:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.10?<a href="/constructor/true">true</a> display_gifts_button:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.16?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> about:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> settings:<a href="/type/PeerSettings">PeerSettings</a> personal_photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/type/Photo">Photo</a> profile_photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/Photo">Photo</a> fallback_photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/type/Photo">Photo</a> notify_settings:<a href="/type/PeerNotifySettings">PeerNotifySettings</a> bot_info:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/BotInfo">BotInfo</a> pinned_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/int">int</a> common_chats_count:<a href="/type/int">int</a> folder_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/int">int</a> ttl_period:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/int">int</a> theme_emoticon:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/string">string</a> private_forward_name:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/type/string">string</a> bot_group_admin_rights:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/ChatAdminRights">ChatAdminRights</a> bot_broadcast_admin_rights:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/type/ChatAdminRights">ChatAdminRights</a> wallpaper:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.24?<a href="/type/WallPaper">WallPaper</a> stories:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.25?<a href="/type/PeerStories">PeerStories</a> business_work_hours:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.0?<a href="/type/BusinessWorkHours">BusinessWorkHours</a> business_location:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.1?<a href="/type/BusinessLocation">BusinessLocation</a> business_greeting_message:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.2?<a href="/type/BusinessGreetingMessage">BusinessGreetingMessage</a> business_away_message:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.3?<a href="/type/BusinessAwayMessage">BusinessAwayMessage</a> business_intro:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.4?<a href="/type/BusinessIntro">BusinessIntro</a> birthday:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.5?<a href="/type/Birthday">Birthday</a> personal_channel_id:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.6?<a href="/type/long">long</a> personal_channel_message:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.6?<a href="/type/int">int</a> stargifts_count:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.8?<a href="/type/int">int</a> starref_program:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.11?<a href="/type/StarRefProgram">StarRefProgram</a> bot_verification:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.12?<a href="/type/BotVerification">BotVerification</a> send_paid_messages_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.14?<a href="/type/long">long</a> disallowed_gifts:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.15?<a href="/type/DisallowedGiftsSettings">DisallowedGiftsSettings</a> stars_rating:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.17?<a href="/type/StarsRating">StarsRating</a> = <a href="/type/UserFull">UserFull</a>;\

<a href="/constructor/starGift">starGift</a>#00bcff5b flags:<a href="/type/%23">#</a> limited:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> sold_out:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> birthday:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> require_premium:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> limited_per_user:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> sticker:<a href="/type/Document">Document</a> stars:<a href="/type/long">long</a> availability_remains:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> availability_total:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> availability_resale:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> convert_stars:<a href="/type/long">long</a> first_sale_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/int">int</a> last_sale_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/int">int</a> upgrade_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/long">long</a> resell_min_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> title:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/string">string</a> released_by:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/Peer">Peer</a> per_user_total:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/int">int</a> per_user_remains:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/int">int</a> = <a href="/type/StarGift">StarGift</a>;
<a href="/constructor/starGiftUnique">starGiftUnique</a>#f63778ae flags:<a href="/type/%23">#</a> require_premium:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> title:<a href="/type/string">string</a> slug:<a href="/type/string">string</a> num:<a href="/type/int">int</a> owner_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/Peer">Peer</a> owner_name:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> owner_address:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> attributes:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StarGiftAttribute">StarGiftAttribute</a>&gt; availability_issued:<a href="/type/int">int</a> availability_total:<a href="/type/int">int</a> gift_address:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/string">string</a> resell_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> released_by:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/Peer">Peer</a> = <a href="/type/StarGift">StarGift</a>;
<a href="/constructor/savedStarGift">savedStarGift</a>#1ea646df flags:<a href="/type/%23">#</a> name_hidden:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> unsaved:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> refunded:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/constructor/true">true</a> can_upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> pinned_to_top:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> from_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/Peer">Peer</a> date:<a href="/type/int">int</a> gift:<a href="/type/StarGift">StarGift</a> message:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/TextWithEntities">TextWithEntities</a> msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/int">int</a> saved_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/long">long</a> convert_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> upgrade_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/long">long</a> can_export_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/int">int</a> transfer_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/long">long</a> can_transfer_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/int">int</a> can_resell_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/int">int</a> collection_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; = <a href="/type/SavedStarGift">SavedStarGift</a>;
<a href="/constructor/starsRating">starsRating</a>#1b0e4f07 flags:<a href="/type/%23">#</a> level:<a href="/type/int">int</a> current_level_stars:<a href="/type/long">long</a> stars:<a href="/type/long">long</a> next_level_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/long">long</a> = <a href="/type/StarsRating">StarsRating</a>;
<a href="/constructor/starGiftCollection">starGiftCollection</a>#9d6b13b0 flags:<a href="/type/%23">#</a> collection_id:<a href="/type/int">int</a> title:<a href="/type/string">string</a> icon:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/Document">Document</a> gifts_count:<a href="/type/int">int</a> hash:<a href="/type/long">long</a> = <a href="/type/StarGiftCollection">StarGiftCollection</a>;\

<a href="/constructor/payments.starGiftCollectionsNotModified">payments.starGiftCollectionsNotModified</a>#a0ba4f17 = <a href="/type/payments.StarGiftCollections">payments.StarGiftCollections</a>;
<a href="/constructor/payments.starGiftCollections">payments.starGiftCollections</a>#8a2932f3 collections:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StarGiftCollection">StarGiftCollection</a>&gt; = <a href="/type/payments.StarGiftCollections">payments.StarGiftCollections</a>;\

---functions---\

<a href="/method/payments.getSavedStarGifts">payments.getSavedStarGifts</a>#a319e569 flags:<a href="/type/%23">#</a> exclude_unsaved:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> exclude_saved:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> exclude_unlimited:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> exclude_limited:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> exclude_unique:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> sort_by_value:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> collection_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/int">int</a> offset:<a href="/type/string">string</a> limit:<a href="/type/int">int</a> = <a href="/type/payments.SavedStarGifts">payments.SavedStarGifts</a>;
<a href="/method/payments.createStarGiftCollection">payments.createStarGiftCollection</a>#1f4a0e87 peer:<a href="/type/InputPeer">InputPeer</a> title:<a href="/type/string">string</a> stargift:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputSavedStarGift">InputSavedStarGift</a>&gt; = <a href="/type/StarGiftCollection">StarGiftCollection</a>;
<a href="/method/payments.updateStarGiftCollection">payments.updateStarGiftCollection</a>#4fddbee7 flags:<a href="/type/%23">#</a> peer:<a href="/type/InputPeer">InputPeer</a> collection_id:<a href="/type/int">int</a> title:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/string">string</a> delete_stargift:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputSavedStarGift">InputSavedStarGift</a>&gt; add_stargift:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputSavedStarGift">InputSavedStarGift</a>&gt; order:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputSavedStarGift">InputSavedStarGift</a>&gt; = <a href="/type/StarGiftCollection">StarGiftCollection</a>;
<a href="/method/payments.reorderStarGiftCollections">payments.reorderStarGiftCollections</a>#c32af4cc peer:<a href="/type/InputPeer">InputPeer</a> order:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; = <a href="/type/Bool">Bool</a>;
<a href="/method/payments.deleteStarGiftCollection">payments.deleteStarGiftCollection</a>#ad5648e8 peer:<a href="/type/InputPeer">InputPeer</a> collection_id:<a href="/type/int">int</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/payments.getStarGiftCollections">payments.getStarGiftCollections</a>#981b91dd peer:<a href="/type/InputPeer">InputPeer</a> hash:<a href="/type/long">long</a> = <a href="/type/payments.StarGiftCollections">payments.StarGiftCollections</a>;\

</code></pre></div>

### [Layer 208](/schema?layer=208)

This layer introduces:

- [Suggested channel posts »](/api/suggested-posts.md)
- Add a new `manage_direct_messages` [admin right](/constructor/chatAdminRights.md)
- Add support for the new `manage_direct_messages` [admin right](/constructor/chatAdminRights.md) in [group/channel bot links](/api/links.md#group-channel-bot-links)
- [Allow replying to specific todo tasks »](/api/todo.md)
- Unify channel revenue statistics and withdrawal methods with the equivalent ones used for stars, by simply adding a `ton` flag and the missing parameters: 
    - [Balance and transaction history »](/api/stars.md#balance-and-transaction-history)
    - [Revenue statistics »](/api/stars.md#revenue-statistics)
    - [Withdrawing revenue »](/api/stars.md#withdrawing-revenue)
- In some places in the API, it's possible to use Grams instead of Stars, see [here »](/api/stars.md#gram) for more info.

#### [Schema](/schema.md) changes

##### Changed Constructors

* Added **todo_item_id** parameter in [messageReplyHeader](/constructor/messageReplyHeader.md)
* Added **todo_item_id** parameter in [inputReplyToMessage](/constructor/inputReplyToMessage.md)
* Removed **posts_search** parameter in [starsTransaction](/constructor/starsTransaction.md)

#### [Schema](/schema.md)

<div><pre><code><a href="/constructor/messageReplyHeader">messageReplyHeader</a>#6917560b flags:<a href="/type/%23">#</a> reply_to_scheduled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> forum_topic:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> quote:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/constructor/true">true</a> reply_to_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/int">int</a> reply_to_peer_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/Peer">Peer</a> reply_from:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/MessageFwdHeader">MessageFwdHeader</a> reply_media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/MessageMedia">MessageMedia</a> reply_to_top_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/int">int</a> quote_text:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/string">string</a> quote_entities:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; quote_offset:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/int">int</a> todo_item_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/int">int</a> = <a href="/type/MessageReplyHeader">MessageReplyHeader</a>;\

<a href="/constructor/inputReplyToMessage">inputReplyToMessage</a>#869fbe10 flags:<a href="/type/%23">#</a> reply_to_msg_id:<a href="/type/int">int</a> top_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> reply_to_peer_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/InputPeer">InputPeer</a> quote_text:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> quote_entities:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; quote_offset:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/int">int</a> monoforum_peer_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/InputPeer">InputPeer</a> todo_item_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/int">int</a> = <a href="/type/InputReplyTo">InputReplyTo</a>;\

<a href="/constructor/starsTransaction">starsTransaction</a>#13659eb0 flags:<a href="/type/%23">#</a> refund:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> pending:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> failed:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> gift:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> reaction:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> stargift_upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/constructor/true">true</a> business_transfer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/constructor/true">true</a> stargift_resale:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/constructor/true">true</a> id:<a href="/type/string">string</a> amount:<a href="/type/StarsAmount">StarsAmount</a> date:<a href="/type/int">int</a> peer:<a href="/type/StarsTransactionPeer">StarsTransactionPeer</a> title:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/string">string</a> description:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/WebDocument">WebDocument</a> transaction_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/int">int</a> transaction_url:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/string">string</a> bot_payload:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/bytes">bytes</a> msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/int">int</a> extended_media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageMedia">MessageMedia</a>&gt; subscription_period:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/type/int">int</a> giveaway_post_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/int">int</a> stargift:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/StarGift">StarGift</a> floodskip_number:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/int">int</a> starref_commission_permille:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/type/int">int</a> starref_peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/Peer">Peer</a> starref_amount:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/StarsAmount">StarsAmount</a> paid_messages:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/type/int">int</a> premium_gift_months:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/type/int">int</a> ads_proceeds_from_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/type/int">int</a> ads_proceeds_to_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/type/int">int</a> = <a href="/type/StarsTransaction">StarsTransaction</a>;\

</code></pre></div>

### [Layer 207](/schema?layer=207)

This layer introduces:

- [Suggested posts »](/api/suggested-posts.md), letting users propose paid posts to channels, with approval, success and refund [service messages](/constructor/messageActionSuggestedPostApproval.md)
- A new `manage_direct_messages` [admin right](/constructor/chatAdminRights.md)
- The ability to gift, hold and withdraw [Gram »](/api/stars.md#gram) alongside Telegram Stars: TON balances and transactions in the stars status/transaction/revenue methods, TON gifts ([messageActionGiftTon](/constructor/messageActionGiftTon.md), [starsTonAmount](/constructor/starsTonAmount.md)), and the unification of channel revenue statistics and withdrawals with the equivalent Stars methods
- [Global post search »](/api/search.md#posts-tab)

#### [Schema](/schema.md) changes

##### New Methods

* Added [messages.toggleSuggestedPostApproval](/method/messages.toggleSuggestedPostApproval.md) - Approve or reject a [suggested post »](/api/suggested-posts.md).

##### Changed Methods

* Added **suggested_post** parameter in [messages.sendMessage](/method/messages.sendMessage.md)
* Added **suggested_post** parameter in [messages.sendMedia](/method/messages.sendMedia.md)
* Added **suggested_post** parameter in [messages.forwardMessages](/method/messages.forwardMessages.md)
* Added **suggested_post** parameter in [messages.saveDraft](/method/messages.saveDraft.md)
* Added **flags**, **ton** parameters in [payments.getStarsStatus](/method/payments.getStarsStatus.md)
* Added **ton** parameter in [payments.getStarsTransactions](/method/payments.getStarsTransactions.md)
* Added **ton** parameter in [payments.getStarsRevenueStats](/method/payments.getStarsRevenueStats.md)
* Added **flags**, **ton**, **amount** parameters, removed **stars** parameter in [payments.getStarsRevenueWithdrawalUrl](/method/payments.getStarsRevenueWithdrawalUrl.md)
* Added **flags**, **ton** parameters in [payments.getStarsTransactionsByID](/method/payments.getStarsTransactionsByID.md)

##### Deleted Methods

* Removed stats.getBroadcastRevenueStats
* Removed stats.getBroadcastRevenueWithdrawalUrl
* Removed stats.getBroadcastRevenueTransactions

##### New Constructors

* Added [suggestedPost](/constructor/suggestedPost.md) - Contains info about a [suggested post »](/api/suggested-posts.md).
* Added [messageActionSuggestedPostApproval](/constructor/messageActionSuggestedPostApproval.md) - A [suggested post »](/api/suggested-posts.md) was approved or rejected.
* Added [messageActionSuggestedPostSuccess](/constructor/messageActionSuggestedPostSuccess.md) - A [suggested post »](/api/suggested-posts.md) was successfully posted, and payment for it was successfully received.
* Added [messageActionSuggestedPostRefund](/constructor/messageActionSuggestedPostRefund.md) - A [suggested post »](/api/suggested-posts.md) was accepted and posted or scheduled, but either the channel deleted the posted/scheduled post before [stars\_suggested\_post\_age\_min](/api/config.md#stars-suggested-post-age-min) seconds have elapsed, or the user refunded the payment for the stars used to pay for the suggested post.
* Added [starsTonAmount](/constructor/starsTonAmount.md) - Describes an amount of Gram in nanograms (i.e. `1/1_000_000_000` of a Gram).
* Added [messageActionGiftTon](/constructor/messageActionGiftTon.md) - You were gifted some Grams.
* Added [inputStickerSetTonGifts](/constructor/inputStickerSetTonGifts.md) - TON gifts stickerset.

##### Changed Constructors

* Added **paid_suggested_post_stars**, **paid_suggested_post_ton**, **suggested_post** parameters in [message](/constructor/message.md)
* Added **suggested_post** parameter in [draftMessage](/constructor/draftMessage.md)
* Added **manage_direct_messages** parameter in [chatAdminRights](/constructor/chatAdminRights.md)
* Added **posts_search**, **amount**, **ads_proceeds_from_date**, **ads_proceeds_to_date** parameters, removed **stars** parameter in [starsTransaction](/constructor/starsTransaction.md)
* Added **flags**, **top_hours_graph** parameters in [payments.starsRevenueStats](/constructor/payments.starsRevenueStats.md)
* Added **released_by** parameter in [starGift](/constructor/starGift.md)
* Added **chats**, **users** parameters in [payments.starGifts](/constructor/payments.starGifts.md)
* Added **released_by** parameter in [starGiftUnique](/constructor/starGiftUnique.md)

##### Deleted Constructors

* Removed stats.broadcastRevenueStats
* Removed stats.broadcastRevenueWithdrawalUrl
* Removed broadcastRevenueTransactionProceeds
* Removed broadcastRevenueTransactionWithdrawal
* Removed broadcastRevenueTransactionRefund
* Removed stats.broadcastRevenueTransactions
* Removed broadcastRevenueBalances
* Removed updateBroadcastRevenueTransactions

#### [Schema](/schema.md)

<div><pre><code><a href="/constructor/message">message</a>#9815cec8 flags:<a href="/type/%23">#</a> out:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> mentioned:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> media_unread:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> silent:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/constructor/true">true</a> post:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/constructor/true">true</a> from_scheduled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/constructor/true">true</a> legacy:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/constructor/true">true</a> edit_hide:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/constructor/true">true</a> pinned:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.24?<a href="/constructor/true">true</a> noforwards:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.26?<a href="/constructor/true">true</a> invert_media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.27?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> offline:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.1?<a href="/constructor/true">true</a> video_processing_pending:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.4?<a href="/constructor/true">true</a> paid_suggested_post_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.8?<a href="/constructor/true">true</a> paid_suggested_post_ton:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.9?<a href="/constructor/true">true</a> id:<a href="/type/int">int</a> from_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/Peer">Peer</a> from_boosts_applied:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.29?<a href="/type/int">int</a> peer_id:<a href="/type/Peer">Peer</a> saved_peer_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.28?<a href="/type/Peer">Peer</a> fwd_from:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/MessageFwdHeader">MessageFwdHeader</a> via_bot_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/long">long</a> via_business_bot_id:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.0?<a href="/type/long">long</a> reply_to:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/MessageReplyHeader">MessageReplyHeader</a> date:<a href="/type/int">int</a> message:<a href="/type/string">string</a> media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/MessageMedia">MessageMedia</a> reply_markup:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/ReplyMarkup">ReplyMarkup</a> entities:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; views:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/int">int</a> forwards:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/int">int</a> replies:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/type/MessageReplies">MessageReplies</a> edit_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/int">int</a> post_author:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/type/string">string</a> grouped_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/long">long</a> reactions:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/type/MessageReactions">MessageReactions</a> restriction_reason:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/RestrictionReason">RestrictionReason</a>&gt; ttl_period:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.25?<a href="/type/int">int</a> quick_reply_shortcut_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.30?<a href="/type/int">int</a> effect:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.2?<a href="/type/long">long</a> factcheck:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.3?<a href="/type/FactCheck">FactCheck</a> report_delivery_until_date:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.5?<a href="/type/int">int</a> paid_message_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.6?<a href="/type/long">long</a> suggested_post:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.7?<a href="/type/SuggestedPost">SuggestedPost</a> = <a href="/type/Message">Message</a>;\

<a href="/constructor/draftMessage">draftMessage</a>#96eaa5eb flags:<a href="/type/%23">#</a> no_webpage:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> invert_media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> reply_to:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/InputReplyTo">InputReplyTo</a> message:<a href="/type/string">string</a> entities:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/InputMedia">InputMedia</a> date:<a href="/type/int">int</a> effect:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/long">long</a> suggested_post:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/SuggestedPost">SuggestedPost</a> = <a href="/type/DraftMessage">DraftMessage</a>;\

<a href="/constructor/chatAdminRights">chatAdminRights</a>#5fb224d5 flags:<a href="/type/%23">#</a> change_info:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> post_messages:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> edit_messages:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> delete_messages:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> ban_users:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> invite_users:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> pin_messages:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> add_admins:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/constructor/true">true</a> anonymous:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> manage_call:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> other:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> manage_topics:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/constructor/true">true</a> post_stories:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/constructor/true">true</a> edit_stories:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/constructor/true">true</a> delete_stories:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/constructor/true">true</a> manage_direct_messages:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/constructor/true">true</a> = <a href="/type/ChatAdminRights">ChatAdminRights</a>;\

<a href="/constructor/starsTransaction">starsTransaction</a>#13659eb0 flags:<a href="/type/%23">#</a> refund:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> pending:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> failed:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> gift:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> reaction:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> stargift_upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/constructor/true">true</a> business_transfer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/constructor/true">true</a> stargift_resale:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/constructor/true">true</a> posts_search:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.24?<a href="/constructor/true">true</a> id:<a href="/type/string">string</a> amount:<a href="/type/StarsAmount">StarsAmount</a> date:<a href="/type/int">int</a> peer:<a href="/type/StarsTransactionPeer">StarsTransactionPeer</a> title:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/string">string</a> description:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/WebDocument">WebDocument</a> transaction_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/int">int</a> transaction_url:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/string">string</a> bot_payload:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/bytes">bytes</a> msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/int">int</a> extended_media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageMedia">MessageMedia</a>&gt; subscription_period:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/type/int">int</a> giveaway_post_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/int">int</a> stargift:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/StarGift">StarGift</a> floodskip_number:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/int">int</a> starref_commission_permille:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/type/int">int</a> starref_peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/Peer">Peer</a> starref_amount:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/StarsAmount">StarsAmount</a> paid_messages:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/type/int">int</a> premium_gift_months:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/type/int">int</a> ads_proceeds_from_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/type/int">int</a> ads_proceeds_to_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/type/int">int</a> = <a href="/type/StarsTransaction">StarsTransaction</a>;\

<a href="/constructor/payments.starsRevenueStats">payments.starsRevenueStats</a>#6c207376 flags:<a href="/type/%23">#</a> top_hours_graph:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/StatsGraph">StatsGraph</a> revenue_graph:<a href="/type/StatsGraph">StatsGraph</a> status:<a href="/type/StarsRevenueStatus">StarsRevenueStatus</a> usd_rate:<a href="/type/double">double</a> = <a href="/type/payments.StarsRevenueStats">payments.StarsRevenueStats</a>;\

<a href="/constructor/starGift">starGift</a>#7f853c12 flags:<a href="/type/%23">#</a> limited:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> sold_out:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> birthday:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> sticker:<a href="/type/Document">Document</a> stars:<a href="/type/long">long</a> availability_remains:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> availability_total:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> availability_resale:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> convert_stars:<a href="/type/long">long</a> first_sale_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/int">int</a> last_sale_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/int">int</a> upgrade_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/long">long</a> resell_min_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> title:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/string">string</a> released_by:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/Peer">Peer</a> = <a href="/type/StarGift">StarGift</a>;\

<a href="/constructor/payments.starGifts">payments.starGifts</a>#2ed82995 hash:<a href="/type/int">int</a> gifts:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StarGift">StarGift</a>&gt; chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/payments.StarGifts">payments.StarGifts</a>;\

<a href="/constructor/starGiftUnique">starGiftUnique</a>#f63778ae flags:<a href="/type/%23">#</a> id:<a href="/type/long">long</a> title:<a href="/type/string">string</a> slug:<a href="/type/string">string</a> num:<a href="/type/int">int</a> owner_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/Peer">Peer</a> owner_name:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> owner_address:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> attributes:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StarGiftAttribute">StarGiftAttribute</a>&gt; availability_issued:<a href="/type/int">int</a> availability_total:<a href="/type/int">int</a> gift_address:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/string">string</a> resell_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> released_by:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/Peer">Peer</a> = <a href="/type/StarGift">StarGift</a>;
<a href="/constructor/suggestedPost">suggestedPost</a>#0e8e37e5 flags:<a href="/type/%23">#</a> accepted:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> rejected:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> price:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/StarsAmount">StarsAmount</a> schedule_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> = <a href="/type/SuggestedPost">SuggestedPost</a>;\

<a href="/constructor/messageActionSuggestedPostApproval">messageActionSuggestedPostApproval</a>#ee7a1596 flags:<a href="/type/%23">#</a> rejected:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> balance_too_low:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> reject_comment:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> schedule_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/int">int</a> price:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/StarsAmount">StarsAmount</a> = <a href="/type/MessageAction">MessageAction</a>;
<a href="/constructor/messageActionSuggestedPostSuccess">messageActionSuggestedPostSuccess</a>#95ddcf69 price:<a href="/type/StarsAmount">StarsAmount</a> = <a href="/type/MessageAction">MessageAction</a>;
<a href="/constructor/messageActionSuggestedPostRefund">messageActionSuggestedPostRefund</a>#69f916f8 flags:<a href="/type/%23">#</a> payer_initiated:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> = <a href="/type/MessageAction">MessageAction</a>;\

<a href="/constructor/starsTonAmount">starsTonAmount</a>#74aee3e0 amount:<a href="/type/long">long</a> = <a href="/type/StarsAmount">StarsAmount</a>;\

<a href="/constructor/messageActionGiftTon">messageActionGiftTon</a>#a8a3c699 flags:<a href="/type/%23">#</a> currency:<a href="/type/string">string</a> amount:<a href="/type/long">long</a> crypto_currency:<a href="/type/string">string</a> crypto_amount:<a href="/type/long">long</a> transaction_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/string">string</a> = <a href="/type/MessageAction">MessageAction</a>;\

<a href="/constructor/inputStickerSetTonGifts">inputStickerSetTonGifts</a>#1cf671a0 = <a href="/type/InputStickerSet">InputStickerSet</a>;\

---functions---\

<a href="/method/messages.sendMessage">messages.sendMessage</a>#fe05dc9a flags:<a href="/type/%23">#</a> no_webpage:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> silent:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> background:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> clear_draft:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> noforwards:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/constructor/true">true</a> update_stickersets_order:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/constructor/true">true</a> invert_media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/constructor/true">true</a> allow_paid_floodskip:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> reply_to:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/InputReplyTo">InputReplyTo</a> message:<a href="/type/string">string</a> random_id:<a href="/type/long">long</a> reply_markup:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/ReplyMarkup">ReplyMarkup</a> entities:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; schedule_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/int">int</a> send_as:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/InputPeer">InputPeer</a> quick_reply_shortcut:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/InputQuickReplyShortcut">InputQuickReplyShortcut</a> effect:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/type/long">long</a> allow_paid_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/type/long">long</a> suggested_post:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/type/SuggestedPost">SuggestedPost</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.sendMedia">messages.sendMedia</a>#ac55d9c1 flags:<a href="/type/%23">#</a> silent:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> background:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> clear_draft:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> noforwards:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/constructor/true">true</a> update_stickersets_order:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/constructor/true">true</a> invert_media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/constructor/true">true</a> allow_paid_floodskip:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> reply_to:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/InputReplyTo">InputReplyTo</a> media:<a href="/type/InputMedia">InputMedia</a> message:<a href="/type/string">string</a> random_id:<a href="/type/long">long</a> reply_markup:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/ReplyMarkup">ReplyMarkup</a> entities:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; schedule_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/int">int</a> send_as:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/InputPeer">InputPeer</a> quick_reply_shortcut:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/InputQuickReplyShortcut">InputQuickReplyShortcut</a> effect:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/type/long">long</a> allow_paid_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/type/long">long</a> suggested_post:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/type/SuggestedPost">SuggestedPost</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.forwardMessages">messages.forwardMessages</a>#978928ca flags:<a href="/type/%23">#</a> silent:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> background:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> with_my_score:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/constructor/true">true</a> drop_author:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> drop_media_captions:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> noforwards:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/constructor/true">true</a> allow_paid_floodskip:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/constructor/true">true</a> from_peer:<a href="/type/InputPeer">InputPeer</a> id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; random_id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; to_peer:<a href="/type/InputPeer">InputPeer</a> top_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/int">int</a> reply_to:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/type/InputReplyTo">InputReplyTo</a> schedule_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/int">int</a> send_as:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/InputPeer">InputPeer</a> quick_reply_shortcut:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/InputQuickReplyShortcut">InputQuickReplyShortcut</a> video_timestamp:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/type/int">int</a> allow_paid_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/type/long">long</a> suggested_post:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/type/SuggestedPost">SuggestedPost</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.saveDraft">messages.saveDraft</a>#54ae308e flags:<a href="/type/%23">#</a> no_webpage:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> invert_media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> reply_to:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/InputReplyTo">InputReplyTo</a> peer:<a href="/type/InputPeer">InputPeer</a> message:<a href="/type/string">string</a> entities:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/InputMedia">InputMedia</a> effect:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/long">long</a> suggested_post:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/SuggestedPost">SuggestedPost</a> = <a href="/type/Bool">Bool</a>;\

<a href="/method/payments.getStarsStatus">payments.getStarsStatus</a>#4ea9b3bf flags:<a href="/type/%23">#</a> ton:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> = <a href="/type/payments.StarsStatus">payments.StarsStatus</a>;
<a href="/method/payments.getStarsTransactions">payments.getStarsTransactions</a>#69da4557 flags:<a href="/type/%23">#</a> inbound:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> outbound:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> ascending:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> ton:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> subscription_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/string">string</a> peer:<a href="/type/InputPeer">InputPeer</a> offset:<a href="/type/string">string</a> limit:<a href="/type/int">int</a> = <a href="/type/payments.StarsStatus">payments.StarsStatus</a>;
<a href="/method/payments.getStarsRevenueStats">payments.getStarsRevenueStats</a>#d91ffad6 flags:<a href="/type/%23">#</a> dark:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> ton:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> = <a href="/type/payments.StarsRevenueStats">payments.StarsRevenueStats</a>;
<a href="/method/payments.getStarsRevenueWithdrawalUrl">payments.getStarsRevenueWithdrawalUrl</a>#2433dc92 flags:<a href="/type/%23">#</a> ton:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> amount:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/long">long</a> password:<a href="/type/InputCheckPasswordSRP">InputCheckPasswordSRP</a> = <a href="/type/payments.StarsRevenueWithdrawalUrl">payments.StarsRevenueWithdrawalUrl</a>;
<a href="/method/payments.getStarsTransactionsByID">payments.getStarsTransactionsByID</a>#2dca16b8 flags:<a href="/type/%23">#</a> ton:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputStarsTransaction">InputStarsTransaction</a>&gt; = <a href="/type/payments.StarsStatus">payments.StarsStatus</a>;\

<a href="/method/messages.toggleSuggestedPostApproval">messages.toggleSuggestedPostApproval</a>#8107455c flags:<a href="/type/%23">#</a> reject:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> msg_id:<a href="/type/int">int</a> schedule_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> reject_comment:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> = <a href="/type/Updates">Updates</a>;\

</code></pre></div>

### [Layer 205](/schema?layer=205)

This layer introduces:

- [Sponsored messages to show on channel videos »](/api/sponsored-messages.md#getting-sponsored-video-advertisements)
- [To-do lists »](/api/todo.md)
- [Rename account.addNoPaidMessagesException to account.toggleNoPaidMessagesException, and add a `require_payment` flag to refund all Stars transferred to us by a peer with paid messages »](/method/account.toggleNoPaidMessagesException.md)
- Allow invoking [account.toggleNoPaidMessagesException](/method/account.toggleNoPaidMessagesException.md) for monoforum topics, and add a new [updateMonoForumNoPaidException](/constructor/updateMonoForumNoPaidException.md) to signal changes to [monoForumDialog](/constructor/monoForumDialog.md).`nopaid_messages_exception` to other admins and to other currently logged in sessions of the current monoforum admin.

#### [Schema](/schema.md) changes

##### New Methods

* Added [messages.toggleTodoCompleted](/method/messages.toggleTodoCompleted.md) - Mark one or more items of a [todo list »](/api/todo.md) as completed or not completed.
* Added [messages.appendTodoList](/method/messages.appendTodoList.md) - Appends one or more items to a [todo list »](/api/todo.md).
* Added [account.toggleNoPaidMessagesException](/method/account.toggleNoPaidMessagesException.md) - Allow a user to send us messages without paying if [paid messages »](/api/paid-messages.md) are enabled.

##### Changed Methods

* Added **flags**, **msg_id** parameters in [messages.getSponsoredMessages](/method/messages.getSponsoredMessages.md)
* Added **flags**, **parent_peer** parameters in [account.getPaidMessagesRevenue](/method/account.getPaidMessagesRevenue.md)

##### Deleted Methods

* Removed account.addNoPaidMessagesException

##### New Constructors

* Added [todoItem](/constructor/todoItem.md) - An item of a [todo list »](/api/todo.md).
* Added [todoList](/constructor/todoList.md) - Represents a [todo list »](/api/todo.md).
* Added [todoCompletion](/constructor/todoCompletion.md) - A completed [todo list »](/api/todo.md) item.
* Added [inputMediaTodo](/constructor/inputMediaTodo.md) - Creates a [todo list »](/api/todo.md).
* Added [messageMediaToDo](/constructor/messageMediaToDo.md) - Represents a [todo list »](/api/todo.md).
* Added [messageActionTodoCompletions](/constructor/messageActionTodoCompletions.md) - Items were marked as completed or not completed in a [todo list »](/api/todo.md).
* Added [messageActionTodoAppendTasks](/constructor/messageActionTodoAppendTasks.md) - Items were appended to the [todo list »](/api/todo.md).
* Added [updateMonoForumNoPaidException](/constructor/updateMonoForumNoPaidException.md) - An admin has (un)exempted this [monoforum topic »](/api/monoforum.md) from payment to send messages using [account.toggleNoPaidMessagesException](/method/account.toggleNoPaidMessagesException.md).

##### Changed Constructors

* Added **saved_peer_id** parameter in [messageService](/constructor/messageService.md)
* Added **send_paid_messages_stars** parameter in [channelFull](/constructor/channelFull.md)
* Added **min_display_duration**, **max_display_duration** parameters in [sponsoredMessage](/constructor/sponsoredMessage.md)
* Added **start_delay**, **between_delay** parameters in [messages.sponsoredMessages](/constructor/messages.sponsoredMessages.md)
* Added **nopaid_messages_exception** parameter in [monoForumDialog](/constructor/monoForumDialog.md)

#### PUSH notification changes

##### New PUSH notifications

* Added [CHANNEL_MESSAGE_TODO](/api/push-updates.md#channel-message-todo) - `{1} posted a checklist {2}`
* Added [CHANNEL_MESSAGE_TODO_APPEND](/api/push-updates.md#channel-message-todo-append) - `{1} added {2} tasks`
* Added [CHANNEL_MESSAGE_TODO_DONE](/api/push-updates.md#channel-message-todo-done) - `{1} toggled {2} tasks`
* Added [CHAT_MESSAGE_TODO](/api/push-updates.md#chat-message-todo) - `{1} sent a checklist {3} to the group {2}`
* Added [CHAT_MESSAGE_TODO_APPEND](/api/push-updates.md#chat-message-todo-append) - `{1} added {3} tasks in the group {2}`
* Added [CHAT_MESSAGE_TODO_DONE](/api/push-updates.md#chat-message-todo-done) - `{1} toggled {3} tasks in the group {2}`
* Added [CHAT_REACT_TODO](/api/push-updates.md#chat-react-todo) - `{1}: {3} to your checklist {4} in {2}`
* Added [MESSAGE_TODO](/api/push-updates.md#message-todo) - `{1} sent you a checklist {2}`
* Added [PINNED_TODO](/api/push-updates.md#pinned-todo) - `{1} pinned a checklist {2}`
* Added [REACT_TODO](/api/push-updates.md#react-todo) - `{1}: {2} to your checklist {3}`

#### [Schema](/schema.md)

<div><pre><code><a href="/constructor/messageService">messageService</a>#7a800e0a flags:<a href="/type/%23">#</a> out:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> mentioned:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> media_unread:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> reactions_are_possible:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/constructor/true">true</a> silent:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/constructor/true">true</a> post:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/constructor/true">true</a> legacy:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/constructor/true">true</a> id:<a href="/type/int">int</a> from_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/Peer">Peer</a> peer_id:<a href="/type/Peer">Peer</a> saved_peer_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.28?<a href="/type/Peer">Peer</a> reply_to:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/MessageReplyHeader">MessageReplyHeader</a> date:<a href="/type/int">int</a> action:<a href="/type/MessageAction">MessageAction</a> reactions:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/type/MessageReactions">MessageReactions</a> ttl_period:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.25?<a href="/type/int">int</a> = <a href="/type/Message">Message</a>;\

<a href="/constructor/channelFull">channelFull</a>#e07429de flags:<a href="/type/%23">#</a> can_view_participants:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> can_set_username:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> can_set_stickers:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> hidden_prehistory:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> can_set_location:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/constructor/true">true</a> has_scheduled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/constructor/true">true</a> can_view_stats:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/constructor/true">true</a> blocked:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> can_delete_channel:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.0?<a href="/constructor/true">true</a> antispam:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.1?<a href="/constructor/true">true</a> participants_hidden:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.2?<a href="/constructor/true">true</a> translations_disabled:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.3?<a href="/constructor/true">true</a> stories_pinned_available:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.5?<a href="/constructor/true">true</a> view_forum_as_messages:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.6?<a href="/constructor/true">true</a> restricted_sponsored:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.11?<a href="/constructor/true">true</a> can_view_revenue:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.12?<a href="/constructor/true">true</a> paid_media_allowed:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.14?<a href="/constructor/true">true</a> can_view_stars_revenue:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.15?<a href="/constructor/true">true</a> paid_reactions_available:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.16?<a href="/constructor/true">true</a> stargifts_available:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.19?<a href="/constructor/true">true</a> paid_messages_available:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.20?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> about:<a href="/type/string">string</a> participants_count:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> admins_count:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/int">int</a> kicked_count:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/int">int</a> banned_count:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/int">int</a> online_count:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/int">int</a> read_inbox_max_id:<a href="/type/int">int</a> read_outbox_max_id:<a href="/type/int">int</a> unread_count:<a href="/type/int">int</a> chat_photo:<a href="/type/Photo">Photo</a> notify_settings:<a href="/type/PeerNotifySettings">PeerNotifySettings</a> exported_invite:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/type/ExportedChatInvite">ExportedChatInvite</a> bot_info:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/BotInfo">BotInfo</a>&gt; migrated_from_chat_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> migrated_from_max_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/int">int</a> pinned_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/int">int</a> stickerset:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/StickerSet">StickerSet</a> available_min_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/int">int</a> folder_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/int">int</a> linked_chat_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/long">long</a> location:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/ChannelLocation">ChannelLocation</a> slowmode_seconds:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/int">int</a> slowmode_next_send_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/type/int">int</a> stats_dc:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/type/int">int</a> pts:<a href="/type/int">int</a> call:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/type/InputGroupCall">InputGroupCall</a> ttl_period:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.24?<a href="/type/int">int</a> pending_suggestions:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.25?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/string">string</a>&gt; groupcall_default_join_as:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.26?<a href="/type/Peer">Peer</a> theme_emoticon:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.27?<a href="/type/string">string</a> requests_pending:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.28?<a href="/type/int">int</a> recent_requesters:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.28?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; default_send_as:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.29?<a href="/type/Peer">Peer</a> available_reactions:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.30?<a href="/type/ChatReactions">ChatReactions</a> reactions_limit:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.13?<a href="/type/int">int</a> stories:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.4?<a href="/type/PeerStories">PeerStories</a> wallpaper:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.7?<a href="/type/WallPaper">WallPaper</a> boosts_applied:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.8?<a href="/type/int">int</a> boosts_unrestrict:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.9?<a href="/type/int">int</a> emojiset:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.10?<a href="/type/StickerSet">StickerSet</a> bot_verification:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.17?<a href="/type/BotVerification">BotVerification</a> stargifts_count:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.18?<a href="/type/int">int</a> send_paid_messages_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.21?<a href="/type/long">long</a> = <a href="/type/ChatFull">ChatFull</a>;\

<a href="/constructor/sponsoredMessage">sponsoredMessage</a>#7dbf8673 flags:<a href="/type/%23">#</a> recommended:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> can_report:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> random_id:<a href="/type/bytes">bytes</a> url:<a href="/type/string">string</a> title:<a href="/type/string">string</a> message:<a href="/type/string">string</a> entities:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/Photo">Photo</a> media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/MessageMedia">MessageMedia</a> color:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/PeerColor">PeerColor</a> button_text:<a href="/type/string">string</a> sponsor_info:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/string">string</a> additional_info:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/string">string</a> min_display_duration:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/int">int</a> max_display_duration:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/int">int</a> = <a href="/type/SponsoredMessage">SponsoredMessage</a>;\

<a href="/constructor/messages.sponsoredMessages">messages.sponsoredMessages</a>#ffda656d flags:<a href="/type/%23">#</a> posts_between:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> start_delay:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/int">int</a> between_delay:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/int">int</a> messages:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/SponsoredMessage">SponsoredMessage</a>&gt; chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/messages.SponsoredMessages">messages.SponsoredMessages</a>;
<a href="/constructor/monoForumDialog">monoForumDialog</a>#64407ea7 flags:<a href="/type/%23">#</a> unread_mark:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> nopaid_messages_exception:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> peer:<a href="/type/Peer">Peer</a> top_message:<a href="/type/int">int</a> read_inbox_max_id:<a href="/type/int">int</a> read_outbox_max_id:<a href="/type/int">int</a> unread_count:<a href="/type/int">int</a> unread_reactions_count:<a href="/type/int">int</a> draft:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/DraftMessage">DraftMessage</a> = <a href="/type/SavedDialog">SavedDialog</a>;\

<a href="/constructor/todoItem">todoItem</a>#cba9a52f id:<a href="/type/int">int</a> title:<a href="/type/TextWithEntities">TextWithEntities</a> = <a href="/type/TodoItem">TodoItem</a>;
<a href="/constructor/todoList">todoList</a>#49b92a26 flags:<a href="/type/%23">#</a> others_can_append:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> others_can_complete:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> title:<a href="/type/TextWithEntities">TextWithEntities</a> list:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/TodoItem">TodoItem</a>&gt; = <a href="/type/TodoList">TodoList</a>;
<a href="/constructor/todoCompletion">todoCompletion</a>#4cc120b7 id:<a href="/type/int">int</a> completed_by:<a href="/type/long">long</a> date:<a href="/type/int">int</a> = <a href="/type/TodoCompletion">TodoCompletion</a>;\

<a href="/constructor/inputMediaTodo">inputMediaTodo</a>#9fc55fde todo:<a href="/type/TodoList">TodoList</a> = <a href="/type/InputMedia">InputMedia</a>;\

<a href="/constructor/messageMediaToDo">messageMediaToDo</a>#8a53b014 flags:<a href="/type/%23">#</a> todo:<a href="/type/TodoList">TodoList</a> completions:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/TodoCompletion">TodoCompletion</a>&gt; = <a href="/type/MessageMedia">MessageMedia</a>;
<a href="/constructor/messageActionTodoCompletions">messageActionTodoCompletions</a>#cc7c5c89 completed:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; incompleted:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; = <a href="/type/MessageAction">MessageAction</a>;
<a href="/constructor/messageActionTodoAppendTasks">messageActionTodoAppendTasks</a>#c7edbc83 list:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/TodoItem">TodoItem</a>&gt; = <a href="/type/MessageAction">MessageAction</a>;\

<a href="/constructor/updateMonoForumNoPaidException">updateMonoForumNoPaidException</a>#9f812b08 flags:<a href="/type/%23">#</a> exception:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> channel_id:<a href="/type/long">long</a> saved_peer_id:<a href="/type/Peer">Peer</a> = <a href="/type/Update">Update</a>;\

---functions---\

<a href="/method/messages.getSponsoredMessages">messages.getSponsoredMessages</a>#3d6ce850 flags:<a href="/type/%23">#</a> peer:<a href="/type/InputPeer">InputPeer</a> msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> = <a href="/type/messages.SponsoredMessages">messages.SponsoredMessages</a>;\

<a href="/method/account.getPaidMessagesRevenue">account.getPaidMessagesRevenue</a>#19ba4a67 flags:<a href="/type/%23">#</a> parent_peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/InputPeer">InputPeer</a> user_id:<a href="/type/InputUser">InputUser</a> = <a href="/type/account.PaidMessagesRevenue">account.PaidMessagesRevenue</a>;\

<a href="/method/messages.toggleTodoCompleted">messages.toggleTodoCompleted</a>#d3e03124 peer:<a href="/type/InputPeer">InputPeer</a> msg_id:<a href="/type/int">int</a> completed:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; incompleted:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.appendTodoList">messages.appendTodoList</a>#21a61057 peer:<a href="/type/InputPeer">InputPeer</a> msg_id:<a href="/type/int">int</a> list:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/TodoItem">TodoItem</a>&gt; = <a href="/type/Updates">Updates</a>;\

<a href="/method/account.toggleNoPaidMessagesException">account.toggleNoPaidMessagesException</a>#fe2eda76 flags:<a href="/type/%23">#</a> refund_charged:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> require_payment:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> parent_peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/InputPeer">InputPeer</a> user_id:<a href="/type/InputUser">InputUser</a> = <a href="/type/Bool">Bool</a>;\

</code></pre></div>

### [Layer 204](/schema?layer=204)

This layer introduces:

- [Monoforums »](/api/monoforum.md)
- [Bot API monoforum IDs »](/api/bots/ids.md#monoforum-ids)
- [Tabbed forum UI »](/api/forum.md#tabbed-or-list-based-forum-ui)
- All flags added to [channel](/constructor/channel.md) (listed below) are valid `min` flags, meaning they must be applied over the locally stored version even if the `min` flag of the incoming [channel](/constructor/channel.md) is set.

#### [Schema](/schema.md) changes

##### New Methods

* Added [messages.getSavedDialogsByID](/method/messages.getSavedDialogsByID.md) - Obtain information about specific [saved message dialogs »](/api/saved-messages.md#saved-message-dialogs) or [monoforum topics »](/api/monoforum.md).
* Added [messages.readSavedHistory](/method/messages.readSavedHistory.md) - Mark messages as read in a [monoforum topic »](/api/monoforum.md).
* Added [channels.getMessageAuthor](/method/channels.getMessageAuthor.md) - Can only be invoked by non-bot admins of a [monoforum »](/api/monoforum.md), obtains the original sender of a message sent by other monoforum admins to the monoforum, on behalf of the channel associated to the monoforum.

##### Changed Methods

* Added **reply_to** parameter in [messages.forwardMessages](/method/messages.forwardMessages.md)
* Added **parent_peer** parameter in [messages.markDialogUnread](/method/messages.markDialogUnread.md)
* Added **flags**, **parent_peer** parameters in [messages.getDialogUnreadMarks](/method/messages.getDialogUnreadMarks.md)
* Added **saved_peer_id** parameter in [messages.unpinAllMessages](/method/messages.unpinAllMessages.md)
* Added **saved_peer_id** parameter in [messages.getUnreadReactions](/method/messages.getUnreadReactions.md)
* Added **saved_peer_id** parameter in [messages.readReactions](/method/messages.readReactions.md)
* Added **tabs** parameter in [channels.toggleForum](/method/channels.toggleForum.md)
* Added **parent_peer** parameter in [messages.getSavedDialogs](/method/messages.getSavedDialogs.md)
* Added **flags**, **parent_peer** parameters in [messages.getSavedHistory](/method/messages.getSavedHistory.md)
* Added **parent_peer** parameter in [messages.deleteSavedHistory](/method/messages.deleteSavedHistory.md)
* Added **flags**, **broadcast_messages_allowed** parameters in [channels.updatePaidMessagesPrice](/method/channels.updatePaidMessagesPrice.md)

##### New Constructors

* Added [inputReplyToMonoForum](/constructor/inputReplyToMonoForum.md) - Used to send messages to a [monoforum topic](/api/monoforum.md).
* Added [monoForumDialog](/constructor/monoForumDialog.md) - Represents a [monoforum topic »](/api/monoforum.md).
* Added [updateReadMonoForumInbox](/constructor/updateReadMonoForumInbox.md) - Incoming messages in a [monoforum topic](/api/monoforum.md) were read
* Added [updateReadMonoForumOutbox](/constructor/updateReadMonoForumOutbox.md) - Outgoing messages in a [monoforum](/api/monoforum.md) were read.

##### Changed Constructors

* Added **broadcast_messages_allowed**, **monoforum**, **forum_tabs**, **linked_monoforum_id** parameters in [channel](/constructor/channel.md)
* Added **saved_peer_id** parameter in [updateDraftMessage](/constructor/updateDraftMessage.md)
* Added **saved_peer_id** parameter in [updateChannelReadMessagesContents](/constructor/updateChannelReadMessagesContents.md)
* Added **saved_peer_id** parameter in [updateDialogUnreadMark](/constructor/updateDialogUnreadMark.md)
* Added **saved_peer_id** parameter in [updateMessageReactions](/constructor/updateMessageReactions.md)
* Added **monoforum_peer_id** parameter in [inputReplyToMessage](/constructor/inputReplyToMessage.md)
* Added **flags**, **broadcast_messages_allowed** parameters in [messageActionPaidMessagesPrice](/constructor/messageActionPaidMessagesPrice.md)

#### [Schema](/schema.md)

<div><pre><code><a href="/constructor/channel">channel</a>#fe685355 flags:<a href="/type/%23">#</a> creator:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> left:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> broadcast:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> verified:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> megagroup:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/constructor/true">true</a> restricted:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/constructor/true">true</a> signatures:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> min:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> scam:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/constructor/true">true</a> has_link:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/constructor/true">true</a> has_geo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/constructor/true">true</a> slowmode_enabled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/constructor/true">true</a> call_active:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/constructor/true">true</a> call_not_empty:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.24?<a href="/constructor/true">true</a> fake:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.25?<a href="/constructor/true">true</a> gigagroup:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.26?<a href="/constructor/true">true</a> noforwards:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.27?<a href="/constructor/true">true</a> join_to_send:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.28?<a href="/constructor/true">true</a> join_request:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.29?<a href="/constructor/true">true</a> forum:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.30?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> stories_hidden:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.1?<a href="/constructor/true">true</a> stories_hidden_min:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.2?<a href="/constructor/true">true</a> stories_unavailable:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.3?<a href="/constructor/true">true</a> signature_profiles:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.12?<a href="/constructor/true">true</a> autotranslation:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.15?<a href="/constructor/true">true</a> broadcast_messages_allowed:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.16?<a href="/constructor/true">true</a> monoforum:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.17?<a href="/constructor/true">true</a> forum_tabs:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.19?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> access_hash:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/long">long</a> title:<a href="/type/string">string</a> username:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/string">string</a> photo:<a href="/type/ChatPhoto">ChatPhoto</a> date:<a href="/type/int">int</a> restriction_reason:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/RestrictionReason">RestrictionReason</a>&gt; admin_rights:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/ChatAdminRights">ChatAdminRights</a> banned_rights:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/ChatBannedRights">ChatBannedRights</a> default_banned_rights:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/type/ChatBannedRights">ChatBannedRights</a> participants_count:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/int">int</a> usernames:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Username">Username</a>&gt; stories_max_id:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.4?<a href="/type/int">int</a> color:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.7?<a href="/type/PeerColor">PeerColor</a> profile_color:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.8?<a href="/type/PeerColor">PeerColor</a> emoji_status:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.9?<a href="/type/EmojiStatus">EmojiStatus</a> level:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.10?<a href="/type/int">int</a> subscription_until_date:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.11?<a href="/type/int">int</a> bot_verification_icon:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.13?<a href="/type/long">long</a> send_paid_messages_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.14?<a href="/type/long">long</a> linked_monoforum_id:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.18?<a href="/type/long">long</a> = <a href="/type/Chat">Chat</a>;\

<a href="/constructor/updateDraftMessage">updateDraftMessage</a>#edfc111e flags:<a href="/type/%23">#</a> peer:<a href="/type/Peer">Peer</a> top_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> saved_peer_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/Peer">Peer</a> draft:<a href="/type/DraftMessage">DraftMessage</a> = <a href="/type/Update">Update</a>;
<a href="/constructor/updateChannelReadMessagesContents">updateChannelReadMessagesContents</a>#25f324f7 flags:<a href="/type/%23">#</a> channel_id:<a href="/type/long">long</a> top_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> saved_peer_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/Peer">Peer</a> messages:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; = <a href="/type/Update">Update</a>;
<a href="/constructor/updateDialogUnreadMark">updateDialogUnreadMark</a>#b658f23e flags:<a href="/type/%23">#</a> unread:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> peer:<a href="/type/DialogPeer">DialogPeer</a> saved_peer_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/Peer">Peer</a> = <a href="/type/Update">Update</a>;
<a href="/constructor/updateMessageReactions">updateMessageReactions</a>#1e297bfa flags:<a href="/type/%23">#</a> peer:<a href="/type/Peer">Peer</a> msg_id:<a href="/type/int">int</a> top_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> saved_peer_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/Peer">Peer</a> reactions:<a href="/type/MessageReactions">MessageReactions</a> = <a href="/type/Update">Update</a>;\

<a href="/constructor/inputReplyToMessage">inputReplyToMessage</a>#b07038b0 flags:<a href="/type/%23">#</a> reply_to_msg_id:<a href="/type/int">int</a> top_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> reply_to_peer_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/InputPeer">InputPeer</a> quote_text:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> quote_entities:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; quote_offset:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/int">int</a> monoforum_peer_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/InputPeer">InputPeer</a> = <a href="/type/InputReplyTo">InputReplyTo</a>;\

<a href="/constructor/messageActionPaidMessagesPrice">messageActionPaidMessagesPrice</a>#84b88578 flags:<a href="/type/%23">#</a> broadcast_messages_allowed:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> stars:<a href="/type/long">long</a> = <a href="/type/MessageAction">MessageAction</a>;\

<a href="/constructor/inputReplyToMonoForum">inputReplyToMonoForum</a>#69d66c45 monoforum_peer_id:<a href="/type/InputPeer">InputPeer</a> = <a href="/type/InputReplyTo">InputReplyTo</a>;\

<a href="/constructor/monoForumDialog">monoForumDialog</a>#64407ea7 flags:<a href="/type/%23">#</a> unread_mark:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> peer:<a href="/type/Peer">Peer</a> top_message:<a href="/type/int">int</a> read_inbox_max_id:<a href="/type/int">int</a> read_outbox_max_id:<a href="/type/int">int</a> unread_count:<a href="/type/int">int</a> unread_reactions_count:<a href="/type/int">int</a> draft:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/DraftMessage">DraftMessage</a> = <a href="/type/SavedDialog">SavedDialog</a>;\

<a href="/constructor/updateReadMonoForumInbox">updateReadMonoForumInbox</a>#77b0e372 channel_id:<a href="/type/long">long</a> saved_peer_id:<a href="/type/Peer">Peer</a> read_max_id:<a href="/type/int">int</a> = <a href="/type/Update">Update</a>;
<a href="/constructor/updateReadMonoForumOutbox">updateReadMonoForumOutbox</a>#a4a79376 channel_id:<a href="/type/long">long</a> saved_peer_id:<a href="/type/Peer">Peer</a> read_max_id:<a href="/type/int">int</a> = <a href="/type/Update">Update</a>;\

---functions---\

<a href="/method/messages.forwardMessages">messages.forwardMessages</a>#38f0188c flags:<a href="/type/%23">#</a> silent:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> background:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> with_my_score:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/constructor/true">true</a> drop_author:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> drop_media_captions:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> noforwards:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/constructor/true">true</a> allow_paid_floodskip:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/constructor/true">true</a> from_peer:<a href="/type/InputPeer">InputPeer</a> id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; random_id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; to_peer:<a href="/type/InputPeer">InputPeer</a> top_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/int">int</a> reply_to:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/type/InputReplyTo">InputReplyTo</a> schedule_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/int">int</a> send_as:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/InputPeer">InputPeer</a> quick_reply_shortcut:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/InputQuickReplyShortcut">InputQuickReplyShortcut</a> video_timestamp:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/type/int">int</a> allow_paid_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/type/long">long</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.markDialogUnread">messages.markDialogUnread</a>#8c5006f8 flags:<a href="/type/%23">#</a> unread:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> parent_peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/InputPeer">InputPeer</a> peer:<a href="/type/InputDialogPeer">InputDialogPeer</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/messages.getDialogUnreadMarks">messages.getDialogUnreadMarks</a>#21202222 flags:<a href="/type/%23">#</a> parent_peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/DialogPeer">DialogPeer</a>&gt;;
<a href="/method/messages.unpinAllMessages">messages.unpinAllMessages</a>#062dd747 flags:<a href="/type/%23">#</a> peer:<a href="/type/InputPeer">InputPeer</a> top_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> saved_peer_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/InputPeer">InputPeer</a> = <a href="/type/messages.AffectedHistory">messages.AffectedHistory</a>;
<a href="/method/messages.getUnreadReactions">messages.getUnreadReactions</a>#bd7f90ac flags:<a href="/type/%23">#</a> peer:<a href="/type/InputPeer">InputPeer</a> top_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> saved_peer_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/InputPeer">InputPeer</a> offset_id:<a href="/type/int">int</a> add_offset:<a href="/type/int">int</a> limit:<a href="/type/int">int</a> max_id:<a href="/type/int">int</a> min_id:<a href="/type/int">int</a> = <a href="/type/messages.Messages">messages.Messages</a>;
<a href="/method/messages.readReactions">messages.readReactions</a>#9ec44f93 flags:<a href="/type/%23">#</a> peer:<a href="/type/InputPeer">InputPeer</a> top_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> saved_peer_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/InputPeer">InputPeer</a> = <a href="/type/messages.AffectedHistory">messages.AffectedHistory</a>;\

<a href="/method/channels.toggleForum">channels.toggleForum</a>#3ff75734 channel:<a href="/type/InputChannel">InputChannel</a> enabled:<a href="/type/Bool">Bool</a> tabs:<a href="/type/Bool">Bool</a> = <a href="/type/Updates">Updates</a>;\

<a href="/method/messages.getSavedDialogs">messages.getSavedDialogs</a>#1e91fc99 flags:<a href="/type/%23">#</a> exclude_pinned:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> parent_peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/InputPeer">InputPeer</a> offset_date:<a href="/type/int">int</a> offset_id:<a href="/type/int">int</a> offset_peer:<a href="/type/InputPeer">InputPeer</a> limit:<a href="/type/int">int</a> hash:<a href="/type/long">long</a> = <a href="/type/messages.SavedDialogs">messages.SavedDialogs</a>;
<a href="/method/messages.getSavedHistory">messages.getSavedHistory</a>#998ab009 flags:<a href="/type/%23">#</a> parent_peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/InputPeer">InputPeer</a> peer:<a href="/type/InputPeer">InputPeer</a> offset_id:<a href="/type/int">int</a> offset_date:<a href="/type/int">int</a> add_offset:<a href="/type/int">int</a> limit:<a href="/type/int">int</a> max_id:<a href="/type/int">int</a> min_id:<a href="/type/int">int</a> hash:<a href="/type/long">long</a> = <a href="/type/messages.Messages">messages.Messages</a>;
<a href="/method/messages.deleteSavedHistory">messages.deleteSavedHistory</a>#4dc5085f flags:<a href="/type/%23">#</a> parent_peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/InputPeer">InputPeer</a> peer:<a href="/type/InputPeer">InputPeer</a> max_id:<a href="/type/int">int</a> min_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/int">int</a> max_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/int">int</a> = <a href="/type/messages.AffectedHistory">messages.AffectedHistory</a>;\

<a href="/method/channels.updatePaidMessagesPrice">channels.updatePaidMessagesPrice</a>#4b12327b flags:<a href="/type/%23">#</a> broadcast_messages_allowed:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> channel:<a href="/type/InputChannel">InputChannel</a> send_paid_messages_stars:<a href="/type/long">long</a> = <a href="/type/Updates">Updates</a>;\

<a href="/method/messages.getSavedDialogsByID">messages.getSavedDialogsByID</a>#6f6f9c96 flags:<a href="/type/%23">#</a> parent_peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/InputPeer">InputPeer</a> ids:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputPeer">InputPeer</a>&gt; = <a href="/type/messages.SavedDialogs">messages.SavedDialogs</a>;
<a href="/method/messages.readSavedHistory">messages.readSavedHistory</a>#ba4a3b5b parent_peer:<a href="/type/InputPeer">InputPeer</a> peer:<a href="/type/InputPeer">InputPeer</a> max_id:<a href="/type/int">int</a> = <a href="/type/Bool">Bool</a>;\

<a href="/method/channels.getMessageAuthor">channels.getMessageAuthor</a>#ece2a0e6 channel:<a href="/type/InputChannel">InputChannel</a> id:<a href="/type/int">int</a> = <a href="/type/User">User</a>;\

</code></pre></div>

### [Layer 203](/schema?layer=203)

This layer introduces:

- [Methods to resell collectible gifts »](/api/gifts.md#reselling-collectible-gifts)
- [Autotranslation for all users of a channel »](/api/translation.md#autotranslation-for-channels)
- [stories.canSendStory now returns the number of available active story slots »](/method/stories.canSendStory.md)
- [Collectible gift links »](/api/links.md#collectible-gift-link)
- [Custom suggestions »](/api/config.md#custom-suggestions)
- [All suggestion fields were moved from the client configuration object to help.getPromoData »](/api/config.md#suggestions)
- All flags added to [channel](/constructor/channel.md) (listed below) are valid `min` flags, meaning they must be applied over the locally stored version even if the `min` flag of the incoming [channel](/constructor/channel.md) is set.

#### [Schema](/schema.md) changes

##### New Methods

* Added [payments.getResaleStarGifts](/method/payments.getResaleStarGifts.md) - Get [collectible gifts](/api/gifts.md#collectible-gifts) of a specific type currently on resale, see [here »](/api/gifts.md#reselling-collectible-gifts) for more info.
* Added [payments.updateStarGiftPrice](/method/payments.updateStarGiftPrice.md) - A [collectible gift we own »](/api/gifts.md#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 »](/api/gifts.md#reselling-collectible-gifts) for more info.
* Added [channels.toggleAutotranslation](/method/channels.toggleAutotranslation.md) - Toggle autotranslation in a channel, for all users: see [here »](/api/translation.md#autotranslation-for-channels) for more info.

##### Changed Methods

* Changed type of [stories.canSendStory](/method/stories.canSendStory.md) from **Bool** to **stories.CanSendStoryCount**

##### New Constructors

* Added [inputSavedStarGiftSlug](/constructor/inputSavedStarGiftSlug.md) - Points to a [collectible gift obtained from a collectible gift link »](/api/links.md#collectible-gift-link).
* Added [starGiftAttributeIdModel](/constructor/starGiftAttributeIdModel.md) - The ID of a model of a [collectible gift »](/api/gifts.md#collectible-gifts).
* Added [starGiftAttributeIdPattern](/constructor/starGiftAttributeIdPattern.md) - The ID of a pattern of a [collectible gift »](/api/gifts.md#collectible-gifts).
* Added [starGiftAttributeIdBackdrop](/constructor/starGiftAttributeIdBackdrop.md) - The ID of a backdrop of a [collectible gift »](/api/gifts.md#collectible-gifts).
* Added [starGiftAttributeCounter](/constructor/starGiftAttributeCounter.md) - Indicates the total number of gifts that have the specified attribute.
* Added [payments.resaleStarGifts](/constructor/payments.resaleStarGifts.md) - List of gifts currently on [resale »](/api/gifts.md#reselling-collectible-gifts).
* Added [inputInvoiceStarGiftResale](/constructor/inputInvoiceStarGiftResale.md) - Used to buy a [collectible gift](/api/gifts.md#collectible-gifts) currently up on resale, see [here](/api/gifts.md#reselling-collectible-gifts) for more info on the full flow.
* Added [channelAdminLogEventActionToggleAutotranslation](/constructor/channelAdminLogEventActionToggleAutotranslation.md) - [Channel autotranslation was toggled »](/api/translation.md#autotranslation-for-channels).
* Added [stories.canSendStoryCount](/constructor/stories.canSendStoryCount.md) - Contains the number of available active story slots (equal to the value of the [`story_expiring_limit_*` client configuration parameter](/api/config.md#story-expiring-limit-default) minus the number of currently active stories).
* Added [pendingSuggestion](/constructor/pendingSuggestion.md) - Represents a [custom pending suggestion »](/api/config.md#custom-suggestions).

##### Changed Constructors

* Added **autotranslation** parameter in [channel](/constructor/channel.md)
* Added **pending_suggestions**, **dismissed_suggestions**, **custom_pending_suggestion** parameters, changed type of **peer** from **Peer** to **flags.3?Peer** in [help.promoData](/constructor/help.promoData.md)
* Added **availability_resale**, **resell_min_stars**, **title** parameters in [starGift](/constructor/starGift.md)
* Added **backdrop_id** parameter in [starGiftAttributeBackdrop](/constructor/starGiftAttributeBackdrop.md)
* Added **resell_stars** parameter in [starGiftUnique](/constructor/starGiftUnique.md)
* Added **resale_stars**, **can_transfer_at**, **can_resell_at** parameters in [messageActionStarGiftUnique](/constructor/messageActionStarGiftUnique.md)
* Added **can_transfer_at**, **can_resell_at** parameters in [savedStarGift](/constructor/savedStarGift.md)

#### [Schema](/schema.md)

<div><pre><code><a href="/constructor/channel">channel</a>#7482147e flags:<a href="/type/%23">#</a> creator:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> left:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> broadcast:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> verified:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> megagroup:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/constructor/true">true</a> restricted:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/constructor/true">true</a> signatures:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> min:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> scam:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/constructor/true">true</a> has_link:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/constructor/true">true</a> has_geo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/constructor/true">true</a> slowmode_enabled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/constructor/true">true</a> call_active:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/constructor/true">true</a> call_not_empty:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.24?<a href="/constructor/true">true</a> fake:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.25?<a href="/constructor/true">true</a> gigagroup:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.26?<a href="/constructor/true">true</a> noforwards:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.27?<a href="/constructor/true">true</a> join_to_send:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.28?<a href="/constructor/true">true</a> join_request:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.29?<a href="/constructor/true">true</a> forum:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.30?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> stories_hidden:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.1?<a href="/constructor/true">true</a> stories_hidden_min:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.2?<a href="/constructor/true">true</a> stories_unavailable:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.3?<a href="/constructor/true">true</a> signature_profiles:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.12?<a href="/constructor/true">true</a> autotranslation:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.15?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> access_hash:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/long">long</a> title:<a href="/type/string">string</a> username:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/string">string</a> photo:<a href="/type/ChatPhoto">ChatPhoto</a> date:<a href="/type/int">int</a> restriction_reason:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/RestrictionReason">RestrictionReason</a>&gt; admin_rights:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/ChatAdminRights">ChatAdminRights</a> banned_rights:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/ChatBannedRights">ChatBannedRights</a> default_banned_rights:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/type/ChatBannedRights">ChatBannedRights</a> participants_count:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/int">int</a> usernames:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Username">Username</a>&gt; stories_max_id:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.4?<a href="/type/int">int</a> color:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.7?<a href="/type/PeerColor">PeerColor</a> profile_color:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.8?<a href="/type/PeerColor">PeerColor</a> emoji_status:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.9?<a href="/type/EmojiStatus">EmojiStatus</a> level:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.10?<a href="/type/int">int</a> subscription_until_date:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.11?<a href="/type/int">int</a> bot_verification_icon:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.13?<a href="/type/long">long</a> send_paid_messages_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.14?<a href="/type/long">long</a> = <a href="/type/Chat">Chat</a>;\

<a href="/constructor/help.promoData">help.promoData</a>#08a4d87a flags:<a href="/type/%23">#</a> proxy:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> expires:<a href="/type/int">int</a> peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/Peer">Peer</a> psa_type:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> psa_message:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> pending_suggestions:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/string">string</a>&gt; dismissed_suggestions:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/string">string</a>&gt; custom_pending_suggestion:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/PendingSuggestion">PendingSuggestion</a> chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/help.PromoData">help.PromoData</a>;\

<a href="/constructor/starGift">starGift</a>#c62aca28 flags:<a href="/type/%23">#</a> limited:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> sold_out:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> birthday:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> sticker:<a href="/type/Document">Document</a> stars:<a href="/type/long">long</a> availability_remains:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> availability_total:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> availability_resale:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> convert_stars:<a href="/type/long">long</a> first_sale_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/int">int</a> last_sale_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/int">int</a> upgrade_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/long">long</a> resell_min_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> title:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/string">string</a> = <a href="/type/StarGift">StarGift</a>;
<a href="/constructor/starGiftAttributeBackdrop">starGiftAttributeBackdrop</a>#d93d859c name:<a href="/type/string">string</a> backdrop_id:<a href="/type/int">int</a> center_color:<a href="/type/int">int</a> edge_color:<a href="/type/int">int</a> pattern_color:<a href="/type/int">int</a> text_color:<a href="/type/int">int</a> rarity_permille:<a href="/type/int">int</a> = <a href="/type/StarGiftAttribute">StarGiftAttribute</a>;
<a href="/constructor/starGiftUnique">starGiftUnique</a>#6411db89 flags:<a href="/type/%23">#</a> id:<a href="/type/long">long</a> title:<a href="/type/string">string</a> slug:<a href="/type/string">string</a> num:<a href="/type/int">int</a> owner_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/Peer">Peer</a> owner_name:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> owner_address:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> attributes:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StarGiftAttribute">StarGiftAttribute</a>&gt; availability_issued:<a href="/type/int">int</a> availability_total:<a href="/type/int">int</a> gift_address:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/string">string</a> resell_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> = <a href="/type/StarGift">StarGift</a>;\

<a href="/constructor/messageActionStarGiftUnique">messageActionStarGiftUnique</a>#2e3ae60e flags:<a href="/type/%23">#</a> upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> transferred:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> saved:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> refunded:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> gift:<a href="/type/StarGift">StarGift</a> can_export_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/int">int</a> transfer_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> from_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/Peer">Peer</a> peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/Peer">Peer</a> saved_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/long">long</a> resale_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/long">long</a> can_transfer_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/int">int</a> can_resell_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/int">int</a> = <a href="/type/MessageAction">MessageAction</a>;\

<a href="/constructor/savedStarGift">savedStarGift</a>#dfda0499 flags:<a href="/type/%23">#</a> name_hidden:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> unsaved:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> refunded:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/constructor/true">true</a> can_upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> pinned_to_top:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> from_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/Peer">Peer</a> date:<a href="/type/int">int</a> gift:<a href="/type/StarGift">StarGift</a> message:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/TextWithEntities">TextWithEntities</a> msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/int">int</a> saved_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/long">long</a> convert_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> upgrade_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/long">long</a> can_export_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/int">int</a> transfer_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/long">long</a> can_transfer_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/int">int</a> can_resell_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/int">int</a> = <a href="/type/SavedStarGift">SavedStarGift</a>;\

<a href="/constructor/inputSavedStarGiftSlug">inputSavedStarGiftSlug</a>#2085c238 slug:<a href="/type/string">string</a> = <a href="/type/InputSavedStarGift">InputSavedStarGift</a>;\

<a href="/constructor/starGiftAttributeIdModel">starGiftAttributeIdModel</a>#48aaae3c document_id:<a href="/type/long">long</a> = <a href="/type/StarGiftAttributeId">StarGiftAttributeId</a>;
<a href="/constructor/starGiftAttributeIdPattern">starGiftAttributeIdPattern</a>#4a162433 document_id:<a href="/type/long">long</a> = <a href="/type/StarGiftAttributeId">StarGiftAttributeId</a>;
<a href="/constructor/starGiftAttributeIdBackdrop">starGiftAttributeIdBackdrop</a>#1f01c757 backdrop_id:<a href="/type/int">int</a> = <a href="/type/StarGiftAttributeId">StarGiftAttributeId</a>;
<a href="/constructor/starGiftAttributeCounter">starGiftAttributeCounter</a>#2eb1b658 attribute:<a href="/type/StarGiftAttributeId">StarGiftAttributeId</a> count:<a href="/type/int">int</a> = <a href="/type/StarGiftAttributeCounter">StarGiftAttributeCounter</a>;\

<a href="/constructor/payments.resaleStarGifts">payments.resaleStarGifts</a>#947a12df flags:<a href="/type/%23">#</a> count:<a href="/type/int">int</a> gifts:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StarGift">StarGift</a>&gt; next_offset:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/string">string</a> attributes:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StarGiftAttribute">StarGiftAttribute</a>&gt; attributes_hash:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/long">long</a> chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; counters:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StarGiftAttributeCounter">StarGiftAttributeCounter</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/payments.ResaleStarGifts">payments.ResaleStarGifts</a>;\

<a href="/constructor/inputInvoiceStarGiftResale">inputInvoiceStarGiftResale</a>#63cbc38c slug:<a href="/type/string">string</a> to_id:<a href="/type/InputPeer">InputPeer</a> = <a href="/type/InputInvoice">InputInvoice</a>;\

<a href="/constructor/channelAdminLogEventActionToggleAutotranslation">channelAdminLogEventActionToggleAutotranslation</a>#c517f77e new_value:<a href="/type/Bool">Bool</a> = <a href="/type/ChannelAdminLogEventAction">ChannelAdminLogEventAction</a>;\

<a href="/constructor/stories.canSendStoryCount">stories.canSendStoryCount</a>#c387c04e count_remains:<a href="/type/int">int</a> = <a href="/type/stories.CanSendStoryCount">stories.CanSendStoryCount</a>;\

<a href="/constructor/pendingSuggestion">pendingSuggestion</a>#e7e82e12 suggestion:<a href="/type/string">string</a> title:<a href="/type/TextWithEntities">TextWithEntities</a> description:<a href="/type/TextWithEntities">TextWithEntities</a> url:<a href="/type/string">string</a> = <a href="/type/PendingSuggestion">PendingSuggestion</a>;\

---functions---\

<a href="/method/stories.canSendStory">stories.canSendStory</a>#30eb63f0 peer:<a href="/type/InputPeer">InputPeer</a> = <a href="/type/stories.CanSendStoryCount">stories.CanSendStoryCount</a>;\

<a href="/method/payments.getResaleStarGifts">payments.getResaleStarGifts</a>#7a5fa236 flags:<a href="/type/%23">#</a> sort_by_price:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> sort_by_num:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> attributes_hash:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/long">long</a> gift_id:<a href="/type/long">long</a> attributes:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StarGiftAttributeId">StarGiftAttributeId</a>&gt; offset:<a href="/type/string">string</a> limit:<a href="/type/int">int</a> = <a href="/type/payments.ResaleStarGifts">payments.ResaleStarGifts</a>;
<a href="/method/payments.updateStarGiftPrice">payments.updateStarGiftPrice</a>#3baea4e1 stargift:<a href="/type/InputSavedStarGift">InputSavedStarGift</a> resell_stars:<a href="/type/long">long</a> = <a href="/type/Updates">Updates</a>;\

<a href="/method/channels.toggleAutotranslation">channels.toggleAutotranslation</a>#167fc0a1 channel:<a href="/type/InputChannel">InputChannel</a> enabled:<a href="/type/Bool">Bool</a> = <a href="/type/Updates">Updates</a>;\

</code></pre></div>

### [Layer 202](/schema?layer=202)

This layer introduces:

- [End-to-end group calls »](/api/end-to-end/group-calls.md)
    - [Conference deep links »](/api/links.md#conference-links)
- [Service messages for paid message refunds »](/constructor/messageActionPaidMessagesRefunded.md)
- [Service messages for paid message price changes »](/constructor/messageActionPaidMessagesPrice.md)
- Gift privacy settings: 
    - [globalPrivacySettings](/constructor/globalPrivacySettings.md).`disallowed_gifts`/[userFull](/constructor/userFull.md).`disallowed_gifts`: [Disallow the reception of specific gift types »](/constructor/disallowedGiftsSettings.md)
    - [globalPrivacySettings](/constructor/globalPrivacySettings.md).`display_gifts_button`/[userFull](/constructor/userFull.md).`display_gifts_button`: show or hide the gift button in the text field of private chats.
- [Transferring stars from a business account to the business bot » ](/api/stars.md#transferring-stars-from-a-business-account-to-the-business-bot)
- [Sponsored peer search results »](/api/sponsored-messages.md#getting-sponsored-search-results)
- [Business bot rights »](/constructor/businessBotRights.md)
- [Sponsored message methods now don't require specification of the `peer` where the sponsored message is visible »](/api/sponsored-messages.md)
- [Renamed the method used by official apps to check whether an in-store purchase is possible »](/method/payments.canPurchaseStore.md)
- [Paid auth codes for official apps](/constructor/auth.sentCodePaymentRequired.md)

#### [Schema](/schema.md) changes

##### New Methods

* Added [payments.canPurchaseStore](/method/payments.canPurchaseStore.md) - Checks whether a purchase is possible. Must be called before in-store purchase, official apps only.
* Added [contacts.getSponsoredPeers](/method/contacts.getSponsoredPeers.md) - Obtain a list of sponsored peer search results for a given query
* Added [phone.deleteConferenceCallParticipants](/method/phone.deleteConferenceCallParticipants.md) - Remove participants from a [conference call »](/api/end-to-end/group-calls.md#removing-a-participant).
* Added [phone.sendConferenceCallBroadcast](/method/phone.sendConferenceCallBroadcast.md) - Submit a verification message to conference call subchain `1`, see [subchains »](/api/end-to-end/group-calls.md#subchains).
* Added [phone.inviteConferenceCallParticipant](/method/phone.inviteConferenceCallParticipant.md) - Invite a user to a [conference call](/api/group-calls.md#conference-calls).
* Added [phone.declineConferenceCallInvite](/method/phone.declineConferenceCallInvite.md) - Decline a [conference call](/api/group-calls.md#conference-calls) invite.
* Added [phone.getGroupCallChainBlocks](/method/phone.getGroupCallChainBlocks.md) - Fetch blocks from a conference call [subchain »](/api/end-to-end/group-calls.md#subchains); handle the returned [updateGroupCallChainBlocks](/constructor/updateGroupCallChainBlocks.md) as [specified here »](/api/end-to-end/group-calls.md#handling-updates).

##### Changed Methods

* Removed **conference_call** parameter in [phone.requestCall](/method/phone.requestCall.md)
* Added **public_key**, **block** parameters, removed **key_fingerprint** parameter in [phone.joinGroupCall](/method/phone.joinGroupCall.md)
* Added **rights** parameter, removed **can_reply** parameter in [account.updateConnectedBot](/method/account.updateConnectedBot.md)
* Removed **peer** parameter in [messages.viewSponsoredMessage](/method/messages.viewSponsoredMessage.md)
* Removed **peer** parameter in [messages.clickSponsoredMessage](/method/messages.clickSponsoredMessage.md)
* Removed **peer** parameter in [messages.reportSponsoredMessage](/method/messages.reportSponsoredMessage.md)
* Changed type of [phone.createConferenceCall](/method/phone.createConferenceCall.md) from **phone.PhoneCall** to **Updates**
* Added **flags**, **muted**, **video_stopped**, **join**, **random_id**, **public_key**, **block**, **params** parameters, removed **peer**, **key_fingerprint** parameters in [phone.createConferenceCall](/method/phone.createConferenceCall.md)

##### Deleted Methods

* Removed payments.canPurchasePremium

##### New Constructors

* Added [auth.sentCodePaymentRequired](/constructor/auth.sentCodePaymentRequired.md) - Official apps may receive this constructor, indicating that due to the high cost of SMS verification codes for the user's country/provider, the user must purchase a [Telegram Premium](/api/premium.md) subscription in order to proceed with the login/signup, see [here »](/api/auth.md#paid-auth) for more info.
* Added [inputStorePaymentAuthCode](/constructor/inputStorePaymentAuthCode.md) - Indicates payment for a login code.
* Added [updateSentPhoneCode](/constructor/updateSentPhoneCode.md) - A paid login SMS code was successfully sent.
* Added [businessBotRights](/constructor/businessBotRights.md) - [Business bot rights](/api/bots/connected-business-bots.md).
* Added [messageActionPaidMessagesRefunded](/constructor/messageActionPaidMessagesRefunded.md) - Sent from peer A to B, indicates that A refunded all [stars](/api/stars.md) B previously paid to send messages to A, see [here »](/api/paid-messages.md) for more info on paid messages.
* Added [messageActionPaidMessagesPrice](/constructor/messageActionPaidMessagesPrice.md) - The price of [paid messages »](/api/paid-messages.md) in this chat was changed.
* Added [disallowedGiftsSettings](/constructor/disallowedGiftsSettings.md) - Disallow the reception of specific [gift](/api/gifts.md) types.
* Added [sponsoredPeer](/constructor/sponsoredPeer.md) - A sponsored peer.
* Added [contacts.sponsoredPeersEmpty](/constructor/contacts.sponsoredPeersEmpty.md) - There are no sponsored peers for this query.
* Added [contacts.sponsoredPeers](/constructor/contacts.sponsoredPeers.md) - Sponsored peers.
* Added [inputInvoiceBusinessBotTransferStars](/constructor/inputInvoiceBusinessBotTransferStars.md) - Transfer stars from the balance of a user account [connected to a business bot](/api/bots/connected-business-bots.md), to the balance of the [business bot](/api/bots/connected-business-bots.md), see [here »](/api/stars.md#transferring-stars-from-a-business-account-to-the-business-bot) for more info on the full flow.
* Added [inputGroupCallSlug](/constructor/inputGroupCallSlug.md) - Identify a [conference call »](/api/group-calls.md#conference-calls) using the slug from its invitation link.
* Added [inputGroupCallInviteMessage](/constructor/inputGroupCallInviteMessage.md) - Identifies a [conference call »](/api/group-calls.md#conference-calls) using its [messageActionConferenceCall](/constructor/messageActionConferenceCall.md) invitation service message.
* Added [updateGroupCallChainBlocks](/constructor/updateGroupCallChainBlocks.md) - Contains conference call blockchain blocks, see [handling E2E group call updates »](/api/end-to-end/group-calls.md#handling-updates).
* Added [messageActionConferenceCall](/constructor/messageActionConferenceCall.md) - Represents a [conference call »](/api/group-calls.md#conference-calls), or an invitation to one if neither the `missed` nor `active` flags are set.
* Added [phoneCallDiscardReasonMigrateConferenceCall](/constructor/phoneCallDiscardReasonMigrateConferenceCall.md) - This phone call was migrated to a [conference call](/api/end-to-end/group-calls.md).

##### Changed Constructors

* Added **display_gifts_button**, **disallowed_gifts** parameters in [userFull](/constructor/userFull.md)
* Removed **conference_call** parameter in [phoneCallWaiting](/constructor/phoneCallWaiting.md)
* Removed **conference_call** parameter in [phoneCallRequested](/constructor/phoneCallRequested.md)
* Removed **conference_call** parameter in [phoneCallAccepted](/constructor/phoneCallAccepted.md)
* Added **conference_supported** parameter, removed **conference_call** parameter in [phoneCall](/constructor/phoneCall.md)
* Removed **conference_call** parameter in [phoneCallDiscarded](/constructor/phoneCallDiscarded.md)
* Added **display_gifts_button**, **disallowed_gifts** parameters in [globalPrivacySettings](/constructor/globalPrivacySettings.md)
* Added **conference**, **creator**, **invite_link** parameters, removed **conference_from_call** parameter in [groupCall](/constructor/groupCall.md)
* Added **rights** parameter, removed **can_reply** parameter in [connectedBot](/constructor/connectedBot.md)
* Added **rights** parameter, removed **can_reply** parameter in [botBusinessConnection](/constructor/botBusinessConnection.md)

#### PUSH notification changes

##### New PUSH notifications

* Added [CONF_CALL_MISSED](/api/push-updates.md#conf-call-missed) - `You missed a call from {1}`

#### [Schema](/schema.md)

<div><pre><code><a href="/constructor/userFull">userFull</a>#99e78045 flags:<a href="/type/%23">#</a> blocked:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> phone_calls_available:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> phone_calls_private:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> can_pin_message:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> has_scheduled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> video_calls_available:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/constructor/true">true</a> voice_messages_forbidden:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/constructor/true">true</a> translations_disabled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/constructor/true">true</a> stories_pinned_available:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.26?<a href="/constructor/true">true</a> blocked_my_stories_from:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.27?<a href="/constructor/true">true</a> wallpaper_overridden:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.28?<a href="/constructor/true">true</a> contact_require_premium:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.29?<a href="/constructor/true">true</a> read_dates_private:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.30?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> sponsored_enabled:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.7?<a href="/constructor/true">true</a> can_view_revenue:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.9?<a href="/constructor/true">true</a> bot_can_manage_emoji_status:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.10?<a href="/constructor/true">true</a> display_gifts_button:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.16?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> about:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> settings:<a href="/type/PeerSettings">PeerSettings</a> personal_photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/type/Photo">Photo</a> profile_photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/Photo">Photo</a> fallback_photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/type/Photo">Photo</a> notify_settings:<a href="/type/PeerNotifySettings">PeerNotifySettings</a> bot_info:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/BotInfo">BotInfo</a> pinned_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/int">int</a> common_chats_count:<a href="/type/int">int</a> folder_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/int">int</a> ttl_period:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/int">int</a> theme_emoticon:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/string">string</a> private_forward_name:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/type/string">string</a> bot_group_admin_rights:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/ChatAdminRights">ChatAdminRights</a> bot_broadcast_admin_rights:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/type/ChatAdminRights">ChatAdminRights</a> wallpaper:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.24?<a href="/type/WallPaper">WallPaper</a> stories:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.25?<a href="/type/PeerStories">PeerStories</a> business_work_hours:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.0?<a href="/type/BusinessWorkHours">BusinessWorkHours</a> business_location:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.1?<a href="/type/BusinessLocation">BusinessLocation</a> business_greeting_message:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.2?<a href="/type/BusinessGreetingMessage">BusinessGreetingMessage</a> business_away_message:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.3?<a href="/type/BusinessAwayMessage">BusinessAwayMessage</a> business_intro:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.4?<a href="/type/BusinessIntro">BusinessIntro</a> birthday:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.5?<a href="/type/Birthday">Birthday</a> personal_channel_id:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.6?<a href="/type/long">long</a> personal_channel_message:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.6?<a href="/type/int">int</a> stargifts_count:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.8?<a href="/type/int">int</a> starref_program:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.11?<a href="/type/StarRefProgram">StarRefProgram</a> bot_verification:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.12?<a href="/type/BotVerification">BotVerification</a> send_paid_messages_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.14?<a href="/type/long">long</a> disallowed_gifts:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.15?<a href="/type/DisallowedGiftsSettings">DisallowedGiftsSettings</a> = <a href="/type/UserFull">UserFull</a>;\

<a href="/constructor/phoneCallWaiting">phoneCallWaiting</a>#c5226f17 flags:<a href="/type/%23">#</a> video:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> access_hash:<a href="/type/long">long</a> date:<a href="/type/int">int</a> admin_id:<a href="/type/long">long</a> participant_id:<a href="/type/long">long</a> protocol:<a href="/type/PhoneCallProtocol">PhoneCallProtocol</a> receive_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> = <a href="/type/PhoneCall">PhoneCall</a>;
<a href="/constructor/phoneCallRequested">phoneCallRequested</a>#14b0ed0c flags:<a href="/type/%23">#</a> video:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> access_hash:<a href="/type/long">long</a> date:<a href="/type/int">int</a> admin_id:<a href="/type/long">long</a> participant_id:<a href="/type/long">long</a> g_a_hash:<a href="/type/bytes">bytes</a> protocol:<a href="/type/PhoneCallProtocol">PhoneCallProtocol</a> = <a href="/type/PhoneCall">PhoneCall</a>;
<a href="/constructor/phoneCallAccepted">phoneCallAccepted</a>#3660c311 flags:<a href="/type/%23">#</a> video:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> access_hash:<a href="/type/long">long</a> date:<a href="/type/int">int</a> admin_id:<a href="/type/long">long</a> participant_id:<a href="/type/long">long</a> g_b:<a href="/type/bytes">bytes</a> protocol:<a href="/type/PhoneCallProtocol">PhoneCallProtocol</a> = <a href="/type/PhoneCall">PhoneCall</a>;
<a href="/constructor/phoneCall">phoneCall</a>#30535af5 flags:<a href="/type/%23">#</a> p2p_allowed:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> video:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> conference_supported:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> access_hash:<a href="/type/long">long</a> date:<a href="/type/int">int</a> admin_id:<a href="/type/long">long</a> participant_id:<a href="/type/long">long</a> g_a_or_b:<a href="/type/bytes">bytes</a> key_fingerprint:<a href="/type/long">long</a> protocol:<a href="/type/PhoneCallProtocol">PhoneCallProtocol</a> connections:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/PhoneConnection">PhoneConnection</a>&gt; start_date:<a href="/type/int">int</a> custom_parameters:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/DataJSON">DataJSON</a> = <a href="/type/PhoneCall">PhoneCall</a>;
<a href="/constructor/phoneCallDiscarded">phoneCallDiscarded</a>#50ca4de1 flags:<a href="/type/%23">#</a> need_rating:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> need_debug:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> video:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> reason:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/PhoneCallDiscardReason">PhoneCallDiscardReason</a> duration:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/int">int</a> = <a href="/type/PhoneCall">PhoneCall</a>;\

<a href="/constructor/globalPrivacySettings">globalPrivacySettings</a>#fe41b34f flags:<a href="/type/%23">#</a> archive_and_mute_new_noncontact_peers:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> keep_archived_unmuted:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> keep_archived_folders:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> hide_read_marks:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> new_noncontact_peers_require_premium:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> display_gifts_button:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> noncontact_peers_paid_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/long">long</a> disallowed_gifts:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/DisallowedGiftsSettings">DisallowedGiftsSettings</a> = <a href="/type/GlobalPrivacySettings">GlobalPrivacySettings</a>;
<a href="/constructor/groupCall">groupCall</a>#553b0ba1 flags:<a href="/type/%23">#</a> join_muted:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> can_change_join_muted:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> join_date_asc:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> schedule_start_subscribed:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/constructor/true">true</a> can_start_video:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/constructor/true">true</a> record_video_active:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> rtmp_stream:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> listeners_hidden:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/constructor/true">true</a> conference:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/constructor/true">true</a> creator:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> access_hash:<a href="/type/long">long</a> participants_count:<a href="/type/int">int</a> title:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/string">string</a> stream_dc_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/int">int</a> record_start_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/int">int</a> schedule_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/int">int</a> unmuted_video_count:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/int">int</a> unmuted_video_limit:<a href="/type/int">int</a> version:<a href="/type/int">int</a> invite_link:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/type/string">string</a> = <a href="/type/GroupCall">GroupCall</a>;\

<a href="/constructor/connectedBot">connectedBot</a>#cd64636c flags:<a href="/type/%23">#</a> bot_id:<a href="/type/long">long</a> recipients:<a href="/type/BusinessBotRecipients">BusinessBotRecipients</a> rights:<a href="/type/BusinessBotRights">BusinessBotRights</a> = <a href="/type/ConnectedBot">ConnectedBot</a>;\

<a href="/constructor/botBusinessConnection">botBusinessConnection</a>#8f34b2f5 flags:<a href="/type/%23">#</a> disabled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> connection_id:<a href="/type/string">string</a> user_id:<a href="/type/long">long</a> dc_id:<a href="/type/int">int</a> date:<a href="/type/int">int</a> rights:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/BusinessBotRights">BusinessBotRights</a> = <a href="/type/BotBusinessConnection">BotBusinessConnection</a>;\

<a href="/constructor/auth.sentCodePaymentRequired">auth.sentCodePaymentRequired</a>#d7cef980 store_product:<a href="/type/string">string</a> phone_code_hash:<a href="/type/string">string</a> = <a href="/type/auth.SentCode">auth.SentCode</a>;\

<a href="/constructor/inputStorePaymentAuthCode">inputStorePaymentAuthCode</a>#9bb2636d flags:<a href="/type/%23">#</a> restore:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> phone_number:<a href="/type/string">string</a> phone_code_hash:<a href="/type/string">string</a> currency:<a href="/type/string">string</a> amount:<a href="/type/long">long</a> = <a href="/type/InputStorePaymentPurpose">InputStorePaymentPurpose</a>;\

<a href="/constructor/updateSentPhoneCode">updateSentPhoneCode</a>#504aa18f sent_code:<a href="/type/auth.SentCode">auth.SentCode</a> = <a href="/type/Update">Update</a>;\

<a href="/constructor/businessBotRights">businessBotRights</a>#a0624cf7 flags:<a href="/type/%23">#</a> reply:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> read_messages:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> delete_sent_messages:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> delete_received_messages:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> edit_name:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> edit_bio:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> edit_profile_photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> edit_username:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> view_gifts:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/constructor/true">true</a> sell_gifts:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/constructor/true">true</a> change_gift_settings:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> transfer_and_upgrade_gifts:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> transfer_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> manage_stories:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/constructor/true">true</a> = <a href="/type/BusinessBotRights">BusinessBotRights</a>;\

<a href="/constructor/messageActionPaidMessagesRefunded">messageActionPaidMessagesRefunded</a>#ac1f1fcd count:<a href="/type/int">int</a> stars:<a href="/type/long">long</a> = <a href="/type/MessageAction">MessageAction</a>;
<a href="/constructor/messageActionPaidMessagesPrice">messageActionPaidMessagesPrice</a>#bcd71419 stars:<a href="/type/long">long</a> = <a href="/type/MessageAction">MessageAction</a>;\

<a href="/constructor/disallowedGiftsSettings">disallowedGiftsSettings</a>#71f276c4 flags:<a href="/type/%23">#</a> disallow_unlimited_stargifts:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> disallow_limited_stargifts:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> disallow_unique_stargifts:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> disallow_premium_gifts:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> = <a href="/type/DisallowedGiftsSettings">DisallowedGiftsSettings</a>;\

<a href="/constructor/sponsoredPeer">sponsoredPeer</a>#c69708d3 flags:<a href="/type/%23">#</a> random_id:<a href="/type/bytes">bytes</a> peer:<a href="/type/Peer">Peer</a> sponsor_info:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/string">string</a> additional_info:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> = <a href="/type/SponsoredPeer">SponsoredPeer</a>;\

<a href="/constructor/contacts.sponsoredPeersEmpty">contacts.sponsoredPeersEmpty</a>#ea32b4b1 = <a href="/type/contacts.SponsoredPeers">contacts.SponsoredPeers</a>;
<a href="/constructor/contacts.sponsoredPeers">contacts.sponsoredPeers</a>#eb032884 peers:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/SponsoredPeer">SponsoredPeer</a>&gt; chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/contacts.SponsoredPeers">contacts.SponsoredPeers</a>;\

<a href="/constructor/inputInvoiceBusinessBotTransferStars">inputInvoiceBusinessBotTransferStars</a>#f4997e42 bot:<a href="/type/InputUser">InputUser</a> stars:<a href="/type/long">long</a> = <a href="/type/InputInvoice">InputInvoice</a>;
<a href="/constructor/inputGroupCallSlug">inputGroupCallSlug</a>#fe06823f slug:<a href="/type/string">string</a> = <a href="/type/InputGroupCall">InputGroupCall</a>;
<a href="/constructor/inputGroupCallInviteMessage">inputGroupCallInviteMessage</a>#8c10603f msg_id:<a href="/type/int">int</a> = <a href="/type/InputGroupCall">InputGroupCall</a>;\

<a href="/constructor/updateGroupCallChainBlocks">updateGroupCallChainBlocks</a>#a477288f call:<a href="/type/InputGroupCall">InputGroupCall</a> sub_chain_id:<a href="/type/int">int</a> blocks:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/bytes">bytes</a>&gt; next_offset:<a href="/type/int">int</a> = <a href="/type/Update">Update</a>;\

<a href="/constructor/messageActionConferenceCall">messageActionConferenceCall</a>#2ffe2f7a flags:<a href="/type/%23">#</a> missed:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> active:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> video:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> call_id:<a href="/type/long">long</a> duration:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/int">int</a> other_participants:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Peer">Peer</a>&gt; = <a href="/type/MessageAction">MessageAction</a>;\

<a href="/constructor/phoneCallDiscardReasonMigrateConferenceCall">phoneCallDiscardReasonMigrateConferenceCall</a>#9fbbf1f7 slug:<a href="/type/string">string</a> = <a href="/type/PhoneCallDiscardReason">PhoneCallDiscardReason</a>;\

---functions---\

<a href="/method/phone.requestCall">phone.requestCall</a>#42ff96ed flags:<a href="/type/%23">#</a> video:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> user_id:<a href="/type/InputUser">InputUser</a> random_id:<a href="/type/int">int</a> g_a_hash:<a href="/type/bytes">bytes</a> protocol:<a href="/type/PhoneCallProtocol">PhoneCallProtocol</a> = <a href="/type/phone.PhoneCall">phone.PhoneCall</a>;
<a href="/method/phone.joinGroupCall">phone.joinGroupCall</a>#8fb53057 flags:<a href="/type/%23">#</a> muted:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> video_stopped:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> call:<a href="/type/InputGroupCall">InputGroupCall</a> join_as:<a href="/type/InputPeer">InputPeer</a> invite_hash:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> public_key:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/int256">int256</a> block:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/bytes">bytes</a> params:<a href="/type/DataJSON">DataJSON</a> = <a href="/type/Updates">Updates</a>;\

<a href="/method/account.updateConnectedBot">account.updateConnectedBot</a>#66a08c7e flags:<a href="/type/%23">#</a> deleted:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> rights:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/BusinessBotRights">BusinessBotRights</a> bot:<a href="/type/InputUser">InputUser</a> recipients:<a href="/type/InputBusinessBotRecipients">InputBusinessBotRecipients</a> = <a href="/type/Updates">Updates</a>;\

<a href="/method/messages.viewSponsoredMessage">messages.viewSponsoredMessage</a>#269e3643 random_id:<a href="/type/bytes">bytes</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/messages.clickSponsoredMessage">messages.clickSponsoredMessage</a>#8235057e flags:<a href="/type/%23">#</a> media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> fullscreen:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> random_id:<a href="/type/bytes">bytes</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/messages.reportSponsoredMessage">messages.reportSponsoredMessage</a>#12cbf0c4 random_id:<a href="/type/bytes">bytes</a> option:<a href="/type/bytes">bytes</a> = <a href="/type/channels.SponsoredMessageReportResult">channels.SponsoredMessageReportResult</a>;\

<a href="/method/phone.createConferenceCall">phone.createConferenceCall</a>#7d0444bb flags:<a href="/type/%23">#</a> muted:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> video_stopped:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> join:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> random_id:<a href="/type/int">int</a> public_key:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/int256">int256</a> block:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/bytes">bytes</a> params:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/DataJSON">DataJSON</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/payments.canPurchaseStore">payments.canPurchaseStore</a>#4fdc5ea7 purpose:<a href="/type/InputStorePaymentPurpose">InputStorePaymentPurpose</a> = <a href="/type/Bool">Bool</a>;\

<a href="/method/contacts.getSponsoredPeers">contacts.getSponsoredPeers</a>#b6c8c393 q:<a href="/type/string">string</a> = <a href="/type/contacts.SponsoredPeers">contacts.SponsoredPeers</a>;\

<a href="/method/phone.deleteConferenceCallParticipants">phone.deleteConferenceCallParticipants</a>#8ca60525 flags:<a href="/type/%23">#</a> only_left:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> kick:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> call:<a href="/type/InputGroupCall">InputGroupCall</a> ids:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; block:<a href="/type/bytes">bytes</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/phone.sendConferenceCallBroadcast">phone.sendConferenceCallBroadcast</a>#c6701900 call:<a href="/type/InputGroupCall">InputGroupCall</a> block:<a href="/type/bytes">bytes</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/phone.inviteConferenceCallParticipant">phone.inviteConferenceCallParticipant</a>#bcf22685 flags:<a href="/type/%23">#</a> video:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> call:<a href="/type/InputGroupCall">InputGroupCall</a> user_id:<a href="/type/InputUser">InputUser</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/phone.declineConferenceCallInvite">phone.declineConferenceCallInvite</a>#3c479971 msg_id:<a href="/type/int">int</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/phone.getGroupCallChainBlocks">phone.getGroupCallChainBlocks</a>#ee9f88a6 call:<a href="/type/InputGroupCall">InputGroupCall</a> sub_chain_id:<a href="/type/int">int</a> offset:<a href="/type/int">int</a> limit:<a href="/type/int">int</a> = <a href="/type/Updates">Updates</a>;\

</code></pre></div>

### [Layer 200](/schema?layer=200)

This layer introduces:

- [Detailed account information for new private chats »](/api/action-bar.md#account-information)
- [Paid messages »](/api/paid-messages.md)
- [Pinning a specific received gift to the profile »](/api/gifts.md#pinning-a-received-gift)
- [Sending paid reactions as a channel »](/api/reactions.md#paid-reaction-privacy)
- [Added a `paid_messages_available` flag to channelFull, indicating whether paid messages can be enabled in this supergroup](/constructor/channelFull.md)
- [Gift a Telegram Premium subscription, paying with Telegram Stars »](/api/premium.md#gifting-telegram-premium)  
    This change also simplifies the Telegram Premium gift flow, fully replacing the [userFull](/constructor/userFull.md).`premium_gifts` flag with [payments.getPremiumGiftCodeOptions](/method/payments.getPremiumGiftCodeOptions.md).
- [Blockchain addresses for collectible gifts moved to the TON blockchain as NFTs »](/api/gifts.md#withdraw-a-collectible-gift-to-the-ton-blockchain)
- All flags added to [channel](/constructor/channel.md) (listed below) are valid `min` flags, meaning they must be applied over the locally stored version even if the `min` flag of the incoming [channel](/constructor/channel.md) is set.
- All flags added to [user](/constructor/user.md) (listed below) are valid `min` flags, meaning they must be applied over the locally stored version even if the `min` flag of the incoming [user](/constructor/user.md) is set.

#### [Schema](/schema.md) changes

##### New Methods

* Added [invokeWithReCaptcha](/method/invokeWithReCaptcha.md) - Official clients only: re-execute a method call that required reCAPTCHA verification via a `RECAPTCHA_CHECK_%s__%s`, where the first placeholder is the `action`, and the second one is the reCAPTCHA key ID.
* Added [account.addNoPaidMessagesException](/method/account.addNoPaidMessagesException.md)
* Added [account.getPaidMessagesRevenue](/method/account.getPaidMessagesRevenue.md) - Get the number of stars we have received from the specified user thanks to [paid messages »](/api/paid-messages.md); the received amount will be equal to the sent amount multiplied by [stars\_paid\_message\_commission\_permille](/api/config.md#stars-paid-message-commission-permille) divided by 1000.
* Added [channels.updatePaidMessagesPrice](/method/channels.updatePaidMessagesPrice.md) - Enable or disable [paid messages »](/api/paid-messages.md) in this [supergroup](/api/channel.md) or [monoforum](/api/monoforum.md).
* Added [users.getRequirementsToContact](/method/users.getRequirementsToContact.md) - Check whether we can write to the specified users, used to implement bulk checks for [Premium-only messages »](/api/privacy.md#require-premium-for-new-non-contact-users) and [paid messages »](/api/paid-messages.md).
* Added [payments.toggleStarGiftsPinnedToTop](/method/payments.toggleStarGiftsPinnedToTop.md) - Pins a received gift on top of the profile of the user or owned channels by using [payments.toggleStarGiftsPinnedToTop](/method/payments.toggleStarGiftsPinnedToTop.md).

##### Changed Methods

* Added **allow_paid_stars** parameter in [messages.sendMessage](/method/messages.sendMessage.md)
* Added **allow_paid_stars** parameter in [messages.sendMedia](/method/messages.sendMedia.md)
* Added **allow_paid_stars** parameter in [messages.forwardMessages](/method/messages.forwardMessages.md)
* Added **allow_paid_stars** parameter in [messages.sendInlineBotResult](/method/messages.sendInlineBotResult.md)
* Added **allow_paid_stars** parameter in [messages.sendMultiMedia](/method/messages.sendMultiMedia.md)
* Added **flags**, **for_paid_reactions** parameters in [channels.getSendAs](/method/channels.getSendAs.md)
* Changed type of **private** from **flags.0?Bool** to **flags.0?PaidReactionPrivacy** in [messages.sendPaidReaction](/method/messages.sendPaidReaction.md)
* Changed type of **private** from **Bool** to **PaidReactionPrivacy** in [messages.togglePaidReactionPrivacy](/method/messages.togglePaidReactionPrivacy.md)

##### Deleted Methods

* Removed users.getIsPremiumRequiredToContact

##### New Constructors

* Added [paidReactionPrivacyDefault](/constructor/paidReactionPrivacyDefault.md) - Uses the default reaction privacy, set using [messages.togglePaidReactionPrivacy](/method/messages.togglePaidReactionPrivacy.md).
* Added [paidReactionPrivacyAnonymous](/constructor/paidReactionPrivacyAnonymous.md) - Send paid reactions anonymously.
* Added [paidReactionPrivacyPeer](/constructor/paidReactionPrivacyPeer.md) - Send paid reactions as the specified peer, fetched using [channels.getSendAs](/method/channels.getSendAs.md) with the `for_paid_reactions` flag set.
* Added [inputPrivacyKeyNoPaidMessages](/constructor/inputPrivacyKeyNoPaidMessages.md) - Who can send you messages without paying, if [paid messages »](/api/paid-messages.md) are enabled.
* Added [privacyKeyNoPaidMessages](/constructor/privacyKeyNoPaidMessages.md) - Who can send you messages without paying, if [paid messages »](/api/paid-messages.md) are enabled.
* Added [account.paidMessagesRevenue](/constructor/account.paidMessagesRevenue.md) - Total number of non-refunded [Telegram Stars](/api/stars.md) a user has spent on sending us messages either directly or through a channel, see [here »](/api/paid-messages.md) for more info on paid messages.
* Added [requirementToContactEmpty](/constructor/requirementToContactEmpty.md) - This user can be freely contacted.
* Added [requirementToContactPremium](/constructor/requirementToContactPremium.md) - This user requires us to buy a [Premium](/api/premium.md) subscription in order to contact them.
* Added [requirementToContactPaidMessages](/constructor/requirementToContactPaidMessages.md) - This user requires us to pay the specified amount of [Telegram Stars](/api/stars.md) to send them a message, see [here »](/api/paid-messages.md) for the full flow.
* Added [inputInvoicePremiumGiftStars](/constructor/inputInvoicePremiumGiftStars.md) - Used to gift a [Telegram Premium](/api/premium.md) subscription to another user, paying with [Telegram Stars](/api/stars.md).

##### Changed Constructors

* Added **paid_message_stars** parameter in [message](/constructor/message.md)
* Added **charge_paid_message_stars**, **registration_month**, **phone_country**, **name_change_date**, **photo_change_date** parameters in [peerSettings](/constructor/peerSettings.md)
* Added **send_paid_messages_stars** parameter, removed **premium_gifts** parameter in [userFull](/constructor/userFull.md)
* Added **send_paid_messages_stars** parameter in [user](/constructor/user.md)
* Added **send_paid_messages_stars** parameter in [channel](/constructor/channel.md)
* Added **paid_messages_available** parameter in [channelFull](/constructor/channelFull.md)
* Added **noncontact_peers_paid_stars** parameter in [globalPrivacySettings](/constructor/globalPrivacySettings.md)
* Added **business_transfer**, **stargift_resale**, **paid_messages**, **premium_gift_months** parameters in [starsTransaction](/constructor/starsTransaction.md)
* Changed type of **private** from **Bool** to **PaidReactionPrivacy** in [updatePaidReactionPrivacy](/constructor/updatePaidReactionPrivacy.md)
* Added **gift_address** parameter in [starGiftUnique](/constructor/starGiftUnique.md)

##### Deleted Constructors

* Removed premiumGiftOption

#### [Schema](/schema.md)

<div><pre><code><a href="/constructor/message">message</a>#eabcdd4d flags:<a href="/type/%23">#</a> out:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> mentioned:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> media_unread:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> silent:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/constructor/true">true</a> post:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/constructor/true">true</a> from_scheduled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/constructor/true">true</a> legacy:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/constructor/true">true</a> edit_hide:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/constructor/true">true</a> pinned:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.24?<a href="/constructor/true">true</a> noforwards:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.26?<a href="/constructor/true">true</a> invert_media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.27?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> offline:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.1?<a href="/constructor/true">true</a> video_processing_pending:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.4?<a href="/constructor/true">true</a> id:<a href="/type/int">int</a> from_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/Peer">Peer</a> from_boosts_applied:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.29?<a href="/type/int">int</a> peer_id:<a href="/type/Peer">Peer</a> saved_peer_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.28?<a href="/type/Peer">Peer</a> fwd_from:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/MessageFwdHeader">MessageFwdHeader</a> via_bot_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/long">long</a> via_business_bot_id:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.0?<a href="/type/long">long</a> reply_to:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/MessageReplyHeader">MessageReplyHeader</a> date:<a href="/type/int">int</a> message:<a href="/type/string">string</a> media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/MessageMedia">MessageMedia</a> reply_markup:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/ReplyMarkup">ReplyMarkup</a> entities:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; views:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/int">int</a> forwards:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/int">int</a> replies:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/type/MessageReplies">MessageReplies</a> edit_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/int">int</a> post_author:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/type/string">string</a> grouped_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/long">long</a> reactions:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/type/MessageReactions">MessageReactions</a> restriction_reason:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/RestrictionReason">RestrictionReason</a>&gt; ttl_period:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.25?<a href="/type/int">int</a> quick_reply_shortcut_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.30?<a href="/type/int">int</a> effect:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.2?<a href="/type/long">long</a> factcheck:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.3?<a href="/type/FactCheck">FactCheck</a> report_delivery_until_date:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.5?<a href="/type/int">int</a> paid_message_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.6?<a href="/type/long">long</a> = <a href="/type/Message">Message</a>;\

<a href="/constructor/peerSettings">peerSettings</a>#f47741f7 flags:<a href="/type/%23">#</a> report_spam:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> add_contact:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> block_contact:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> share_contact:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> need_contacts_exception:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> report_geo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> autoarchived:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> invite_members:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/constructor/true">true</a> request_chat_broadcast:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> business_bot_paused:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> business_bot_can_reply:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> geo_distance:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/int">int</a> request_chat_title:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/string">string</a> request_chat_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/int">int</a> business_bot_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/long">long</a> business_bot_manage_url:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/string">string</a> charge_paid_message_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/long">long</a> registration_month:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/string">string</a> phone_country:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/type/string">string</a> name_change_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/int">int</a> photo_change_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/type/int">int</a> = <a href="/type/PeerSettings">PeerSettings</a>;\

<a href="/constructor/userFull">userFull</a>#d2234ea0 flags:<a href="/type/%23">#</a> blocked:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> phone_calls_available:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> phone_calls_private:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> can_pin_message:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> has_scheduled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> video_calls_available:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/constructor/true">true</a> voice_messages_forbidden:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/constructor/true">true</a> translations_disabled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/constructor/true">true</a> stories_pinned_available:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.26?<a href="/constructor/true">true</a> blocked_my_stories_from:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.27?<a href="/constructor/true">true</a> wallpaper_overridden:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.28?<a href="/constructor/true">true</a> contact_require_premium:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.29?<a href="/constructor/true">true</a> read_dates_private:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.30?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> sponsored_enabled:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.7?<a href="/constructor/true">true</a> can_view_revenue:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.9?<a href="/constructor/true">true</a> bot_can_manage_emoji_status:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.10?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> about:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> settings:<a href="/type/PeerSettings">PeerSettings</a> personal_photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/type/Photo">Photo</a> profile_photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/Photo">Photo</a> fallback_photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/type/Photo">Photo</a> notify_settings:<a href="/type/PeerNotifySettings">PeerNotifySettings</a> bot_info:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/BotInfo">BotInfo</a> pinned_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/int">int</a> common_chats_count:<a href="/type/int">int</a> folder_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/int">int</a> ttl_period:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/int">int</a> theme_emoticon:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/string">string</a> private_forward_name:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/type/string">string</a> bot_group_admin_rights:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/ChatAdminRights">ChatAdminRights</a> bot_broadcast_admin_rights:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/type/ChatAdminRights">ChatAdminRights</a> wallpaper:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.24?<a href="/type/WallPaper">WallPaper</a> stories:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.25?<a href="/type/PeerStories">PeerStories</a> business_work_hours:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.0?<a href="/type/BusinessWorkHours">BusinessWorkHours</a> business_location:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.1?<a href="/type/BusinessLocation">BusinessLocation</a> business_greeting_message:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.2?<a href="/type/BusinessGreetingMessage">BusinessGreetingMessage</a> business_away_message:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.3?<a href="/type/BusinessAwayMessage">BusinessAwayMessage</a> business_intro:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.4?<a href="/type/BusinessIntro">BusinessIntro</a> birthday:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.5?<a href="/type/Birthday">Birthday</a> personal_channel_id:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.6?<a href="/type/long">long</a> personal_channel_message:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.6?<a href="/type/int">int</a> stargifts_count:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.8?<a href="/type/int">int</a> starref_program:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.11?<a href="/type/StarRefProgram">StarRefProgram</a> bot_verification:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.12?<a href="/type/BotVerification">BotVerification</a> send_paid_messages_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.14?<a href="/type/long">long</a> = <a href="/type/UserFull">UserFull</a>;
<a href="/constructor/user">user</a>#020b1422 flags:<a href="/type/%23">#</a> self:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> contact:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> mutual_contact:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> deleted:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/constructor/true">true</a> bot:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/constructor/true">true</a> bot_chat_history:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/constructor/true">true</a> bot_nochats:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/constructor/true">true</a> verified:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/constructor/true">true</a> restricted:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/constructor/true">true</a> min:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/constructor/true">true</a> bot_inline_geo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/constructor/true">true</a> support:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/constructor/true">true</a> scam:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.24?<a href="/constructor/true">true</a> apply_min_photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.25?<a href="/constructor/true">true</a> fake:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.26?<a href="/constructor/true">true</a> bot_attach_menu:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.27?<a href="/constructor/true">true</a> premium:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.28?<a href="/constructor/true">true</a> attach_menu_enabled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.29?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> bot_can_edit:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.1?<a href="/constructor/true">true</a> close_friend:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.2?<a href="/constructor/true">true</a> stories_hidden:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.3?<a href="/constructor/true">true</a> stories_unavailable:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.4?<a href="/constructor/true">true</a> contact_require_premium:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.10?<a href="/constructor/true">true</a> bot_business:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.11?<a href="/constructor/true">true</a> bot_has_main_app:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.13?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> access_hash:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/long">long</a> first_name:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> last_name:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> username:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/string">string</a> phone:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/string">string</a> photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/UserProfilePhoto">UserProfilePhoto</a> status:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/UserStatus">UserStatus</a> bot_info_version:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/int">int</a> restriction_reason:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/RestrictionReason">RestrictionReason</a>&gt; bot_inline_placeholder:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/type/string">string</a> lang_code:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/type/string">string</a> emoji_status:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.30?<a href="/type/EmojiStatus">EmojiStatus</a> usernames:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Username">Username</a>&gt; stories_max_id:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.5?<a href="/type/int">int</a> color:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.8?<a href="/type/PeerColor">PeerColor</a> profile_color:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.9?<a href="/type/PeerColor">PeerColor</a> bot_active_users:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.12?<a href="/type/int">int</a> bot_verification_icon:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.14?<a href="/type/long">long</a> send_paid_messages_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.15?<a href="/type/long">long</a> = <a href="/type/User">User</a>;\

<a href="/constructor/channel">channel</a>#7482147e flags:<a href="/type/%23">#</a> creator:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> left:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> broadcast:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> verified:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> megagroup:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/constructor/true">true</a> restricted:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/constructor/true">true</a> signatures:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> min:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> scam:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/constructor/true">true</a> has_link:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/constructor/true">true</a> has_geo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/constructor/true">true</a> slowmode_enabled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/constructor/true">true</a> call_active:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/constructor/true">true</a> call_not_empty:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.24?<a href="/constructor/true">true</a> fake:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.25?<a href="/constructor/true">true</a> gigagroup:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.26?<a href="/constructor/true">true</a> noforwards:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.27?<a href="/constructor/true">true</a> join_to_send:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.28?<a href="/constructor/true">true</a> join_request:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.29?<a href="/constructor/true">true</a> forum:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.30?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> stories_hidden:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.1?<a href="/constructor/true">true</a> stories_hidden_min:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.2?<a href="/constructor/true">true</a> stories_unavailable:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.3?<a href="/constructor/true">true</a> signature_profiles:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.12?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> access_hash:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/long">long</a> title:<a href="/type/string">string</a> username:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/string">string</a> photo:<a href="/type/ChatPhoto">ChatPhoto</a> date:<a href="/type/int">int</a> restriction_reason:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/RestrictionReason">RestrictionReason</a>&gt; admin_rights:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/ChatAdminRights">ChatAdminRights</a> banned_rights:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/ChatBannedRights">ChatBannedRights</a> default_banned_rights:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/type/ChatBannedRights">ChatBannedRights</a> participants_count:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/int">int</a> usernames:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Username">Username</a>&gt; stories_max_id:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.4?<a href="/type/int">int</a> color:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.7?<a href="/type/PeerColor">PeerColor</a> profile_color:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.8?<a href="/type/PeerColor">PeerColor</a> emoji_status:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.9?<a href="/type/EmojiStatus">EmojiStatus</a> level:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.10?<a href="/type/int">int</a> subscription_until_date:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.11?<a href="/type/int">int</a> bot_verification_icon:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.13?<a href="/type/long">long</a> send_paid_messages_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.14?<a href="/type/long">long</a> = <a href="/type/Chat">Chat</a>;
<a href="/constructor/channelFull">channelFull</a>#52d6806b flags:<a href="/type/%23">#</a> can_view_participants:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> can_set_username:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> can_set_stickers:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> hidden_prehistory:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> can_set_location:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/constructor/true">true</a> has_scheduled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/constructor/true">true</a> can_view_stats:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/constructor/true">true</a> blocked:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> can_delete_channel:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.0?<a href="/constructor/true">true</a> antispam:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.1?<a href="/constructor/true">true</a> participants_hidden:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.2?<a href="/constructor/true">true</a> translations_disabled:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.3?<a href="/constructor/true">true</a> stories_pinned_available:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.5?<a href="/constructor/true">true</a> view_forum_as_messages:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.6?<a href="/constructor/true">true</a> restricted_sponsored:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.11?<a href="/constructor/true">true</a> can_view_revenue:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.12?<a href="/constructor/true">true</a> paid_media_allowed:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.14?<a href="/constructor/true">true</a> can_view_stars_revenue:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.15?<a href="/constructor/true">true</a> paid_reactions_available:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.16?<a href="/constructor/true">true</a> stargifts_available:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.19?<a href="/constructor/true">true</a> paid_messages_available:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.20?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> about:<a href="/type/string">string</a> participants_count:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> admins_count:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/int">int</a> kicked_count:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/int">int</a> banned_count:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/int">int</a> online_count:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/int">int</a> read_inbox_max_id:<a href="/type/int">int</a> read_outbox_max_id:<a href="/type/int">int</a> unread_count:<a href="/type/int">int</a> chat_photo:<a href="/type/Photo">Photo</a> notify_settings:<a href="/type/PeerNotifySettings">PeerNotifySettings</a> exported_invite:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/type/ExportedChatInvite">ExportedChatInvite</a> bot_info:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/BotInfo">BotInfo</a>&gt; migrated_from_chat_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> migrated_from_max_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/int">int</a> pinned_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/int">int</a> stickerset:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/StickerSet">StickerSet</a> available_min_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/int">int</a> folder_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/int">int</a> linked_chat_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/long">long</a> location:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/ChannelLocation">ChannelLocation</a> slowmode_seconds:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/int">int</a> slowmode_next_send_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/type/int">int</a> stats_dc:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/type/int">int</a> pts:<a href="/type/int">int</a> call:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/type/InputGroupCall">InputGroupCall</a> ttl_period:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.24?<a href="/type/int">int</a> pending_suggestions:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.25?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/string">string</a>&gt; groupcall_default_join_as:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.26?<a href="/type/Peer">Peer</a> theme_emoticon:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.27?<a href="/type/string">string</a> requests_pending:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.28?<a href="/type/int">int</a> recent_requesters:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.28?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; default_send_as:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.29?<a href="/type/Peer">Peer</a> available_reactions:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.30?<a href="/type/ChatReactions">ChatReactions</a> reactions_limit:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.13?<a href="/type/int">int</a> stories:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.4?<a href="/type/PeerStories">PeerStories</a> wallpaper:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.7?<a href="/type/WallPaper">WallPaper</a> boosts_applied:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.8?<a href="/type/int">int</a> boosts_unrestrict:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.9?<a href="/type/int">int</a> emojiset:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.10?<a href="/type/StickerSet">StickerSet</a> bot_verification:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.17?<a href="/type/BotVerification">BotVerification</a> stargifts_count:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.18?<a href="/type/int">int</a> = <a href="/type/ChatFull">ChatFull</a>;\

<a href="/constructor/globalPrivacySettings">globalPrivacySettings</a>#c9d8df1c flags:<a href="/type/%23">#</a> archive_and_mute_new_noncontact_peers:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> keep_archived_unmuted:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> keep_archived_folders:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> hide_read_marks:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> new_noncontact_peers_require_premium:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> noncontact_peers_paid_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/long">long</a> = <a href="/type/GlobalPrivacySettings">GlobalPrivacySettings</a>;\

<a href="/constructor/starsTransaction">starsTransaction</a>#a39fd94a flags:<a href="/type/%23">#</a> refund:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> pending:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> failed:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> gift:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> reaction:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> stargift_upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/constructor/true">true</a> business_transfer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/constructor/true">true</a> stargift_resale:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/constructor/true">true</a> id:<a href="/type/string">string</a> stars:<a href="/type/StarsAmount">StarsAmount</a> date:<a href="/type/int">int</a> peer:<a href="/type/StarsTransactionPeer">StarsTransactionPeer</a> title:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/string">string</a> description:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> photo:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/WebDocument">WebDocument</a> transaction_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/int">int</a> transaction_url:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/string">string</a> bot_payload:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/bytes">bytes</a> msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/int">int</a> extended_media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageMedia">MessageMedia</a>&gt; subscription_period:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/type/int">int</a> giveaway_post_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/int">int</a> stargift:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/StarGift">StarGift</a> floodskip_number:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/int">int</a> starref_commission_permille:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/type/int">int</a> starref_peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/Peer">Peer</a> starref_amount:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/StarsAmount">StarsAmount</a> paid_messages:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/type/int">int</a> premium_gift_months:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/type/int">int</a> = <a href="/type/StarsTransaction">StarsTransaction</a>;\

<a href="/constructor/updatePaidReactionPrivacy">updatePaidReactionPrivacy</a>#8b725fce private:<a href="/type/PaidReactionPrivacy">PaidReactionPrivacy</a> = <a href="/type/Update">Update</a>;\

<a href="/constructor/starGiftUnique">starGiftUnique</a>#5c62d151 flags:<a href="/type/%23">#</a> id:<a href="/type/long">long</a> title:<a href="/type/string">string</a> slug:<a href="/type/string">string</a> num:<a href="/type/int">int</a> owner_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/Peer">Peer</a> owner_name:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> owner_address:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> attributes:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StarGiftAttribute">StarGiftAttribute</a>&gt; availability_issued:<a href="/type/int">int</a> availability_total:<a href="/type/int">int</a> gift_address:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/string">string</a> = <a href="/type/StarGift">StarGift</a>;\

<a href="/constructor/paidReactionPrivacyDefault">paidReactionPrivacyDefault</a>#206ad49e = <a href="/type/PaidReactionPrivacy">PaidReactionPrivacy</a>;
<a href="/constructor/paidReactionPrivacyAnonymous">paidReactionPrivacyAnonymous</a>#1f0c1ad9 = <a href="/type/PaidReactionPrivacy">PaidReactionPrivacy</a>;
<a href="/constructor/paidReactionPrivacyPeer">paidReactionPrivacyPeer</a>#dc6cfcf0 peer:<a href="/type/InputPeer">InputPeer</a> = <a href="/type/PaidReactionPrivacy">PaidReactionPrivacy</a>;\

<a href="/constructor/inputPrivacyKeyNoPaidMessages">inputPrivacyKeyNoPaidMessages</a>#bdc597b4 = <a href="/type/InputPrivacyKey">InputPrivacyKey</a>;\

<a href="/constructor/privacyKeyNoPaidMessages">privacyKeyNoPaidMessages</a>#17d348d2 = <a href="/type/PrivacyKey">PrivacyKey</a>;\

<a href="/constructor/account.paidMessagesRevenue">account.paidMessagesRevenue</a>#1e109708 stars_amount:<a href="/type/long">long</a> = <a href="/type/account.PaidMessagesRevenue">account.PaidMessagesRevenue</a>;\

<a href="/constructor/requirementToContactEmpty">requirementToContactEmpty</a>#050a9839 = <a href="/type/RequirementToContact">RequirementToContact</a>;
<a href="/constructor/requirementToContactPremium">requirementToContactPremium</a>#e581e4e9 = <a href="/type/RequirementToContact">RequirementToContact</a>;
<a href="/constructor/requirementToContactPaidMessages">requirementToContactPaidMessages</a>#b4f67e93 stars_amount:<a href="/type/long">long</a> = <a href="/type/RequirementToContact">RequirementToContact</a>;\

<a href="/constructor/inputInvoicePremiumGiftStars">inputInvoicePremiumGiftStars</a>#dabab2ef flags:<a href="/type/%23">#</a> user_id:<a href="/type/InputUser">InputUser</a> months:<a href="/type/int">int</a> message:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/TextWithEntities">TextWithEntities</a> = <a href="/type/InputInvoice">InputInvoice</a>;\

---functions---\

<a href="/method/messages.sendMessage">messages.sendMessage</a>#fbf2340a flags:<a href="/type/%23">#</a> no_webpage:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> silent:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> background:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> clear_draft:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> noforwards:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/constructor/true">true</a> update_stickersets_order:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/constructor/true">true</a> invert_media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/constructor/true">true</a> allow_paid_floodskip:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> reply_to:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/InputReplyTo">InputReplyTo</a> message:<a href="/type/string">string</a> random_id:<a href="/type/long">long</a> reply_markup:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/ReplyMarkup">ReplyMarkup</a> entities:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; schedule_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/int">int</a> send_as:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/InputPeer">InputPeer</a> quick_reply_shortcut:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/InputQuickReplyShortcut">InputQuickReplyShortcut</a> effect:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/type/long">long</a> allow_paid_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/type/long">long</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.sendMedia">messages.sendMedia</a>#a550cd78 flags:<a href="/type/%23">#</a> silent:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> background:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> clear_draft:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> noforwards:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/constructor/true">true</a> update_stickersets_order:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/constructor/true">true</a> invert_media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/constructor/true">true</a> allow_paid_floodskip:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> reply_to:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/InputReplyTo">InputReplyTo</a> media:<a href="/type/InputMedia">InputMedia</a> message:<a href="/type/string">string</a> random_id:<a href="/type/long">long</a> reply_markup:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/ReplyMarkup">ReplyMarkup</a> entities:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; schedule_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/int">int</a> send_as:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/InputPeer">InputPeer</a> quick_reply_shortcut:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/InputQuickReplyShortcut">InputQuickReplyShortcut</a> effect:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/type/long">long</a> allow_paid_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/type/long">long</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.forwardMessages">messages.forwardMessages</a>#bb9fa475 flags:<a href="/type/%23">#</a> silent:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> background:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> with_my_score:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/constructor/true">true</a> drop_author:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> drop_media_captions:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> noforwards:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/constructor/true">true</a> allow_paid_floodskip:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/constructor/true">true</a> from_peer:<a href="/type/InputPeer">InputPeer</a> id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; random_id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; to_peer:<a href="/type/InputPeer">InputPeer</a> top_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/int">int</a> schedule_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/int">int</a> send_as:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/InputPeer">InputPeer</a> quick_reply_shortcut:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/InputQuickReplyShortcut">InputQuickReplyShortcut</a> video_timestamp:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/type/int">int</a> allow_paid_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/type/long">long</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.sendInlineBotResult">messages.sendInlineBotResult</a>#c0cf7646 flags:<a href="/type/%23">#</a> silent:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> background:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> clear_draft:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> hide_via:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> reply_to:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/InputReplyTo">InputReplyTo</a> random_id:<a href="/type/long">long</a> query_id:<a href="/type/long">long</a> id:<a href="/type/string">string</a> schedule_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/int">int</a> send_as:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/InputPeer">InputPeer</a> quick_reply_shortcut:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/InputQuickReplyShortcut">InputQuickReplyShortcut</a> allow_paid_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/type/long">long</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.sendMultiMedia">messages.sendMultiMedia</a>#1bf89d74 flags:<a href="/type/%23">#</a> silent:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> background:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> clear_draft:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> noforwards:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/constructor/true">true</a> update_stickersets_order:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/constructor/true">true</a> invert_media:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/constructor/true">true</a> allow_paid_floodskip:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> reply_to:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/InputReplyTo">InputReplyTo</a> multi_media:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputSingleMedia">InputSingleMedia</a>&gt; schedule_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/int">int</a> send_as:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/InputPeer">InputPeer</a> quick_reply_shortcut:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/InputQuickReplyShortcut">InputQuickReplyShortcut</a> effect:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/type/long">long</a> allow_paid_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/type/long">long</a> = <a href="/type/Updates">Updates</a>;\

<a href="/method/channels.getSendAs">channels.getSendAs</a>#e785a43f flags:<a href="/type/%23">#</a> for_paid_reactions:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> = <a href="/type/channels.SendAsPeers">channels.SendAsPeers</a>;\

<a href="/method/messages.sendPaidReaction">messages.sendPaidReaction</a>#58bbcb50 flags:<a href="/type/%23">#</a> peer:<a href="/type/InputPeer">InputPeer</a> msg_id:<a href="/type/int">int</a> count:<a href="/type/int">int</a> random_id:<a href="/type/long">long</a> private:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/PaidReactionPrivacy">PaidReactionPrivacy</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.togglePaidReactionPrivacy">messages.togglePaidReactionPrivacy</a>#435885b5 peer:<a href="/type/InputPeer">InputPeer</a> msg_id:<a href="/type/int">int</a> private:<a href="/type/PaidReactionPrivacy">PaidReactionPrivacy</a> = <a href="/type/Bool">Bool</a>;\

<a href="/method/invokeWithReCaptcha">invokeWithReCaptcha</a>#adbb0f94 {X:Type} token:<a href="/type/string">string</a> query:!X = X;\

<a href="/method/account.addNoPaidMessagesException">account.addNoPaidMessagesException</a>#6f688aa7 flags:<a href="/type/%23">#</a> refund_charged:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> user_id:<a href="/type/InputUser">InputUser</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/account.getPaidMessagesRevenue">account.getPaidMessagesRevenue</a>#f1266f38 user_id:<a href="/type/InputUser">InputUser</a> = <a href="/type/account.PaidMessagesRevenue">account.PaidMessagesRevenue</a>;\

<a href="/method/channels.updatePaidMessagesPrice">channels.updatePaidMessagesPrice</a>#fc84653f channel:<a href="/type/InputChannel">InputChannel</a> send_paid_messages_stars:<a href="/type/long">long</a> = <a href="/type/Updates">Updates</a>;\

<a href="/method/users.getRequirementsToContact">users.getRequirementsToContact</a>#d89a83a3 id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputUser">InputUser</a>&gt; = <a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/RequirementToContact">RequirementToContact</a>&gt;;\

<a href="/method/payments.toggleStarGiftsPinnedToTop">payments.toggleStarGiftsPinnedToTop</a>#1513e7b0 peer:<a href="/type/InputPeer">InputPeer</a> stargift:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputSavedStarGift">InputSavedStarGift</a>&gt; = <a href="/type/Bool">Bool</a>;\

</code></pre></div>

### [Layer 198](/schema?layer=198)

This layer introduces:

- [Collectibles as emoji statuses (and minor tweaks to the emoji status API) »](/api/emoji-status.md#collectibles-as-emoji-statuses)
- Send gifts to channels
- [Notifications for gifts received by channels »](/api/gifts.md#notifications-for-received-channel-gifts)
- [Get all gifts received by a peer »](/api/gifts.md#list-all-received-gifts)
- [Fetch info about specific gifts owned by a peer we control »](/api/gifts.md#list-specific-owned-gifts)
- [Withdraw a collectible gift to the TON blockchain »](/api/gifts.md#withdraw-a-collectible-gift-to-the-ton-blockchain)
- [Custom video covers »](/api/files.md#video-covers)
- [Custom starting timestamps for videos »](/api/files.md#start-video-at-timestamp)

#### [Schema](/schema.md) changes

##### New Methods

* Added [account.getCollectibleEmojiStatuses](/method/account.getCollectibleEmojiStatuses.md) - Obtain a list of [emoji statuses »](/api/emoji-status.md) for owned or [hosted collectible gifts »](/api/gifts.md#hosted-collectible-gifts).
* Added [payments.getSavedStarGifts](/method/payments.getSavedStarGifts.md) - Fetch the full list of [gifts »](/api/gifts.md#list-all-received-gifts) owned, received or [hosted »](/api/gifts.md#hosted-collectible-gifts) by a peer.
* Added [payments.getSavedStarGift](/method/payments.getSavedStarGift.md) - Fetch info about specific [gifts](/api/gifts.md) owned by a peer we control.
* Added [payments.getStarGiftWithdrawalUrl](/method/payments.getStarGiftWithdrawalUrl.md) - Convert a [collectible gift »](/api/gifts.md) to an NFT on the TON blockchain.
* Added [payments.toggleChatStarGiftNotifications](/method/payments.toggleChatStarGiftNotifications.md) - Enables or disables the reception of notifications every time a [gift »](/api/gifts.md) is received by the specified channel, can only be invoked by admins with `post_messages` [admin rights](/constructor/chatAdminRights.md).

##### Changed Methods

* Added **video_timestamp** parameter in [messages.forwardMessages](/method/messages.forwardMessages.md)
* Added **stargift** parameter, removed **msg_id** parameter in [payments.saveStarGift](/method/payments.saveStarGift.md)
* Added **stargift** parameter, removed **msg_id** parameter in [payments.convertStarGift](/method/payments.convertStarGift.md)
* Added **stargift** parameter, removed **msg_id** parameter in [payments.upgradeStarGift](/method/payments.upgradeStarGift.md)
* Added **stargift** parameter, removed **msg_id** parameter, changed type of **to_id** from **InputUser** to **InputPeer** in [payments.transferStarGift](/method/payments.transferStarGift.md)

##### Deleted Methods

* Removed payments.getUserStarGifts
* Removed payments.getUserStarGift

##### New Constructors

* Added [emojiStatusCollectible](/constructor/emojiStatusCollectible.md) - An owned or [hosted collectible gift »](/api/gifts.md#hosted-collectible-gifts) as emoji status.
* Added [inputEmojiStatusCollectible](/constructor/inputEmojiStatusCollectible.md) - An owned or [hosted collectible gift »](/api/gifts.md#hosted-collectible-gifts) as emoji status: can only be used in [account.updateEmojiStatus](/method/account.updateEmojiStatus.md), is never returned by the API.
* Added [savedStarGift](/constructor/savedStarGift.md) - Represents a [gift](/api/gifts.md) owned by a peer.
* Added [payments.savedStarGifts](/constructor/payments.savedStarGifts.md) - Represents a list of [gifts](/api/gifts.md).
* Added [inputSavedStarGiftUser](/constructor/inputSavedStarGiftUser.md) - A gift received in a private chat with another user.
* Added [inputSavedStarGiftChat](/constructor/inputSavedStarGiftChat.md) - A gift received by a channel we own.
* Added [payments.starGiftWithdrawalUrl](/constructor/payments.starGiftWithdrawalUrl.md) - A URL that can be used to import the exported NFT on Fragment.

##### Changed Constructors

* Added **video_cover**, **video_timestamp** parameters in [inputMediaUploadedDocument](/constructor/inputMediaUploadedDocument.md)
* Added **video_cover**, **video_timestamp** parameters in [inputMediaDocument](/constructor/inputMediaDocument.md)
* Added **video_cover**, **video_timestamp** parameters in [messageMediaDocument](/constructor/messageMediaDocument.md)
* Added **stargifts_available**, **stargifts_count** parameters in [channelFull](/constructor/channelFull.md)
* Added **video_cover**, **video_timestamp** parameters in [inputMediaDocumentExternal](/constructor/inputMediaDocumentExternal.md)
* Added **flags**, **until** parameters in [emojiStatus](/constructor/emojiStatus.md)
* Added **peer** parameter, removed **user_id** parameter in [inputInvoiceStarGift](/constructor/inputInvoiceStarGift.md)
* Added **from_id**, **peer**, **saved_id** parameters in [messageActionStarGift](/constructor/messageActionStarGift.md)
* Changed type of **sender_id** from **flags.0?long** to **flags.0?Peer**, **recipient_id** from **long** to **Peer** in [starGiftAttributeOriginalDetails](/constructor/starGiftAttributeOriginalDetails.md)
* Added **owner_address** parameter, changed type of **owner_id** from **flags.0?long** to **flags.0?Peer** in [starGiftUnique](/constructor/starGiftUnique.md)
* Added **from_id**, **peer**, **saved_id** parameters in [messageActionStarGiftUnique](/constructor/messageActionStarGiftUnique.md)
* Added **stargift** parameter, removed **msg_id** parameter in [inputInvoiceStarGiftUpgrade](/constructor/inputInvoiceStarGiftUpgrade.md)
* Added **stargift** parameter, removed **msg_id** parameter, changed type of **to_id** from **InputUser** to **InputPeer** in [inputInvoiceStarGiftTransfer](/constructor/inputInvoiceStarGiftTransfer.md)

##### Deleted Constructors

* Removed emojiStatusUntil
* Removed userStarGift
* Removed payments.userStarGifts

#### [Schema](/schema.md)

<div><pre><code><a href="/constructor/inputMediaUploadedDocument">inputMediaUploadedDocument</a>#037c9330 flags:<a href="/type/%23">#</a> nosound_video:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> force_file:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> spoiler:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> file:<a href="/type/InputFile">InputFile</a> thumb:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/InputFile">InputFile</a> mime_type:<a href="/type/string">string</a> attributes:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/DocumentAttribute">DocumentAttribute</a>&gt; stickers:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputDocument">InputDocument</a>&gt; video_cover:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/InputPhoto">InputPhoto</a> video_timestamp:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/int">int</a> ttl_seconds:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/int">int</a> = <a href="/type/InputMedia">InputMedia</a>;
<a href="/constructor/inputMediaDocument">inputMediaDocument</a>#a8763ab5 flags:<a href="/type/%23">#</a> spoiler:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> id:<a href="/type/InputDocument">InputDocument</a> video_cover:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/InputPhoto">InputPhoto</a> video_timestamp:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/int">int</a> ttl_seconds:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> query:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> = <a href="/type/InputMedia">InputMedia</a>;\

<a href="/constructor/messageMediaDocument">messageMediaDocument</a>#52d8ccd9 flags:<a href="/type/%23">#</a> nopremium:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> spoiler:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> video:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> round:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> voice:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/constructor/true">true</a> document:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/Document">Document</a> alt_documents:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Document">Document</a>&gt; video_cover:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/Photo">Photo</a> video_timestamp:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/int">int</a> ttl_seconds:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/int">int</a> = <a href="/type/MessageMedia">MessageMedia</a>;\

<a href="/constructor/channelFull">channelFull</a>#52d6806b flags:<a href="/type/%23">#</a> can_view_participants:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> can_set_username:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> can_set_stickers:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a> hidden_prehistory:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> can_set_location:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.16?<a href="/constructor/true">true</a> has_scheduled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/constructor/true">true</a> can_view_stats:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/constructor/true">true</a> blocked:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> can_delete_channel:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.0?<a href="/constructor/true">true</a> antispam:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.1?<a href="/constructor/true">true</a> participants_hidden:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.2?<a href="/constructor/true">true</a> translations_disabled:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.3?<a href="/constructor/true">true</a> stories_pinned_available:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.5?<a href="/constructor/true">true</a> view_forum_as_messages:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.6?<a href="/constructor/true">true</a> restricted_sponsored:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.11?<a href="/constructor/true">true</a> can_view_revenue:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.12?<a href="/constructor/true">true</a> paid_media_allowed:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.14?<a href="/constructor/true">true</a> can_view_stars_revenue:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.15?<a href="/constructor/true">true</a> paid_reactions_available:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.16?<a href="/constructor/true">true</a> stargifts_available:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.19?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> about:<a href="/type/string">string</a> participants_count:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> admins_count:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/int">int</a> kicked_count:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/int">int</a> banned_count:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/int">int</a> online_count:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/int">int</a> read_inbox_max_id:<a href="/type/int">int</a> read_outbox_max_id:<a href="/type/int">int</a> unread_count:<a href="/type/int">int</a> chat_photo:<a href="/type/Photo">Photo</a> notify_settings:<a href="/type/PeerNotifySettings">PeerNotifySettings</a> exported_invite:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/type/ExportedChatInvite">ExportedChatInvite</a> bot_info:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/BotInfo">BotInfo</a>&gt; migrated_from_chat_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> migrated_from_max_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/int">int</a> pinned_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/int">int</a> stickerset:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/StickerSet">StickerSet</a> available_min_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/int">int</a> folder_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/int">int</a> linked_chat_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/long">long</a> location:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/ChannelLocation">ChannelLocation</a> slowmode_seconds:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/int">int</a> slowmode_next_send_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/type/int">int</a> stats_dc:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/type/int">int</a> pts:<a href="/type/int">int</a> call:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/type/InputGroupCall">InputGroupCall</a> ttl_period:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.24?<a href="/type/int">int</a> pending_suggestions:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.25?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/string">string</a>&gt; groupcall_default_join_as:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.26?<a href="/type/Peer">Peer</a> theme_emoticon:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.27?<a href="/type/string">string</a> requests_pending:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.28?<a href="/type/int">int</a> recent_requesters:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.28?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; default_send_as:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.29?<a href="/type/Peer">Peer</a> available_reactions:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.30?<a href="/type/ChatReactions">ChatReactions</a> reactions_limit:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.13?<a href="/type/int">int</a> stories:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.4?<a href="/type/PeerStories">PeerStories</a> wallpaper:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.7?<a href="/type/WallPaper">WallPaper</a> boosts_applied:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.8?<a href="/type/int">int</a> boosts_unrestrict:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.9?<a href="/type/int">int</a> emojiset:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.10?<a href="/type/StickerSet">StickerSet</a> bot_verification:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.17?<a href="/type/BotVerification">BotVerification</a> stargifts_count:<a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.18?<a href="/type/int">int</a> = <a href="/type/ChatFull">ChatFull</a>;\

<a href="/constructor/inputMediaDocumentExternal">inputMediaDocumentExternal</a>#779600f9 flags:<a href="/type/%23">#</a> spoiler:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> url:<a href="/type/string">string</a> ttl_seconds:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> video_cover:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/InputPhoto">InputPhoto</a> video_timestamp:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/int">int</a> = <a href="/type/InputMedia">InputMedia</a>;\

<a href="/constructor/emojiStatus">emojiStatus</a>#e7ff068a flags:<a href="/type/%23">#</a> document_id:<a href="/type/long">long</a> until:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> = <a href="/type/EmojiStatus">EmojiStatus</a>;\

<a href="/constructor/inputInvoiceStarGift">inputInvoiceStarGift</a>#e8625e92 flags:<a href="/type/%23">#</a> hide_name:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> include_upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> gift_id:<a href="/type/long">long</a> message:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/TextWithEntities">TextWithEntities</a> = <a href="/type/InputInvoice">InputInvoice</a>;\

<a href="/constructor/messageActionStarGift">messageActionStarGift</a>#4717e8a4 flags:<a href="/type/%23">#</a> name_hidden:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> saved:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> converted:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> upgraded:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> refunded:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/constructor/true">true</a> can_upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> gift:<a href="/type/StarGift">StarGift</a> message:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/TextWithEntities">TextWithEntities</a> convert_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> upgrade_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/type/int">int</a> upgrade_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/long">long</a> from_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/Peer">Peer</a> peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/type/Peer">Peer</a> saved_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/type/long">long</a> = <a href="/type/MessageAction">MessageAction</a>;\

<a href="/constructor/starGiftAttributeOriginalDetails">starGiftAttributeOriginalDetails</a>#e0bff26c flags:<a href="/type/%23">#</a> sender_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/Peer">Peer</a> recipient_id:<a href="/type/Peer">Peer</a> date:<a href="/type/int">int</a> message:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/TextWithEntities">TextWithEntities</a> = <a href="/type/StarGiftAttribute">StarGiftAttribute</a>;
<a href="/constructor/starGiftUnique">starGiftUnique</a>#f2fe7e4a flags:<a href="/type/%23">#</a> id:<a href="/type/long">long</a> title:<a href="/type/string">string</a> slug:<a href="/type/string">string</a> num:<a href="/type/int">int</a> owner_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/Peer">Peer</a> owner_name:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> owner_address:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/string">string</a> attributes:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StarGiftAttribute">StarGiftAttribute</a>&gt; availability_issued:<a href="/type/int">int</a> availability_total:<a href="/type/int">int</a> = <a href="/type/StarGift">StarGift</a>;\

<a href="/constructor/messageActionStarGiftUnique">messageActionStarGiftUnique</a>#acdfcb81 flags:<a href="/type/%23">#</a> upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> transferred:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> saved:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> refunded:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> gift:<a href="/type/StarGift">StarGift</a> can_export_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/int">int</a> transfer_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> from_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/Peer">Peer</a> peer:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/Peer">Peer</a> saved_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/long">long</a> = <a href="/type/MessageAction">MessageAction</a>;\

<a href="/constructor/inputInvoiceStarGiftUpgrade">inputInvoiceStarGiftUpgrade</a>#4d818d5d flags:<a href="/type/%23">#</a> keep_original_details:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> stargift:<a href="/type/InputSavedStarGift">InputSavedStarGift</a> = <a href="/type/InputInvoice">InputInvoice</a>;
<a href="/constructor/inputInvoiceStarGiftTransfer">inputInvoiceStarGiftTransfer</a>#4a5f5bd9 stargift:<a href="/type/InputSavedStarGift">InputSavedStarGift</a> to_id:<a href="/type/InputPeer">InputPeer</a> = <a href="/type/InputInvoice">InputInvoice</a>;\

<a href="/constructor/emojiStatusCollectible">emojiStatusCollectible</a>#7184603b flags:<a href="/type/%23">#</a> collectible_id:<a href="/type/long">long</a> document_id:<a href="/type/long">long</a> title:<a href="/type/string">string</a> slug:<a href="/type/string">string</a> pattern_document_id:<a href="/type/long">long</a> center_color:<a href="/type/int">int</a> edge_color:<a href="/type/int">int</a> pattern_color:<a href="/type/int">int</a> text_color:<a href="/type/int">int</a> until:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> = <a href="/type/EmojiStatus">EmojiStatus</a>;\

<a href="/constructor/inputEmojiStatusCollectible">inputEmojiStatusCollectible</a>#07141dbf flags:<a href="/type/%23">#</a> collectible_id:<a href="/type/long">long</a> until:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/int">int</a> = <a href="/type/EmojiStatus">EmojiStatus</a>;\

<a href="/constructor/savedStarGift">savedStarGift</a>#6056dba5 flags:<a href="/type/%23">#</a> name_hidden:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> unsaved:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> refunded:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/constructor/true">true</a> can_upgrade:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/constructor/true">true</a> pinned_to_top:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> from_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/Peer">Peer</a> date:<a href="/type/int">int</a> gift:<a href="/type/StarGift">StarGift</a> message:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/type/TextWithEntities">TextWithEntities</a> msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/int">int</a> saved_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/type/long">long</a> convert_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/type/long">long</a> upgrade_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/long">long</a> can_export_at:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/type/int">int</a> transfer_stars:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/type/long">long</a> = <a href="/type/SavedStarGift">SavedStarGift</a>;\

<a href="/constructor/payments.savedStarGifts">payments.savedStarGifts</a>#95f389b1 flags:<a href="/type/%23">#</a> count:<a href="/type/int">int</a> chat_notifications_enabled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/Bool">Bool</a> gifts:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/SavedStarGift">SavedStarGift</a>&gt; next_offset:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/string">string</a> chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/payments.SavedStarGifts">payments.SavedStarGifts</a>;\

<a href="/constructor/inputSavedStarGiftUser">inputSavedStarGiftUser</a>#69279795 msg_id:<a href="/type/int">int</a> = <a href="/type/InputSavedStarGift">InputSavedStarGift</a>;
<a href="/constructor/inputSavedStarGiftChat">inputSavedStarGiftChat</a>#f101aa7f peer:<a href="/type/InputPeer">InputPeer</a> saved_id:<a href="/type/long">long</a> = <a href="/type/InputSavedStarGift">InputSavedStarGift</a>;\

<a href="/constructor/payments.starGiftWithdrawalUrl">payments.starGiftWithdrawalUrl</a>#84aa3a9c url:<a href="/type/string">string</a> = <a href="/type/payments.StarGiftWithdrawalUrl">payments.StarGiftWithdrawalUrl</a>;\

---functions---\

<a href="/method/messages.forwardMessages">messages.forwardMessages</a>#6d74da08 flags:<a href="/type/%23">#</a> silent:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> background:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/constructor/true">true</a> with_my_score:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/constructor/true">true</a> drop_author:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a> drop_media_captions:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a> noforwards:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/constructor/true">true</a> allow_paid_floodskip:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/constructor/true">true</a> from_peer:<a href="/type/InputPeer">InputPeer</a> id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; random_id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; to_peer:<a href="/type/InputPeer">InputPeer</a> top_msg_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/int">int</a> schedule_date:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.10?<a href="/type/int">int</a> send_as:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/InputPeer">InputPeer</a> quick_reply_shortcut:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/InputQuickReplyShortcut">InputQuickReplyShortcut</a> video_timestamp:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/type/int">int</a> = <a href="/type/Updates">Updates</a>;\

<a href="/method/payments.saveStarGift">payments.saveStarGift</a>#2a2a697c flags:<a href="/type/%23">#</a> unsave:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> stargift:<a href="/type/InputSavedStarGift">InputSavedStarGift</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/payments.convertStarGift">payments.convertStarGift</a>#74bf076b stargift:<a href="/type/InputSavedStarGift">InputSavedStarGift</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/payments.upgradeStarGift">payments.upgradeStarGift</a>#aed6e4f5 flags:<a href="/type/%23">#</a> keep_original_details:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> stargift:<a href="/type/InputSavedStarGift">InputSavedStarGift</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/payments.transferStarGift">payments.transferStarGift</a>#7f18176a stargift:<a href="/type/InputSavedStarGift">InputSavedStarGift</a> to_id:<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Updates">Updates</a>;\

<a href="/method/account.getCollectibleEmojiStatuses">account.getCollectibleEmojiStatuses</a>#2e7b4543 hash:<a href="/type/long">long</a> = <a href="/type/account.EmojiStatuses">account.EmojiStatuses</a>;\

<a href="/method/payments.getSavedStarGifts">payments.getSavedStarGifts</a>#23830de9 flags:<a href="/type/%23">#</a> exclude_unsaved:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> exclude_saved:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a> exclude_unlimited:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a> exclude_limited:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a> exclude_unique:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.4?<a href="/constructor/true">true</a> sort_by_value:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> offset:<a href="/type/string">string</a> limit:<a href="/type/int">int</a> = <a href="/type/payments.SavedStarGifts">payments.SavedStarGifts</a>;
<a href="/method/payments.getSavedStarGift">payments.getSavedStarGift</a>#b455a106 stargift:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputSavedStarGift">InputSavedStarGift</a>&gt; = <a href="/type/payments.SavedStarGifts">payments.SavedStarGifts</a>;
<a href="/method/payments.getStarGiftWithdrawalUrl">payments.getStarGiftWithdrawalUrl</a>#d06e93a8 stargift:<a href="/type/InputSavedStarGift">InputSavedStarGift</a> password:<a href="/type/InputCheckPasswordSRP">InputCheckPasswordSRP</a> = <a href="/type/payments.StarGiftWithdrawalUrl">payments.StarGiftWithdrawalUrl</a>;
<a href="/method/payments.toggleChatStarGiftNotifications">payments.toggleChatStarGiftNotifications</a>#60eaefa1 flags:<a href="/type/%23">#</a> enabled:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Bool">Bool</a>;\

</code></pre></div>

### [Layer 197](/schema?layer=197)

This layer introduces:

- [Collectible gift links »](/api/links.md#collectible-gift-link)
- [Collectible gift story media areas »](/api/stories.md#collectible-gifts)
- [Collectible webpage previews »](/constructor/webPageAttributeUniqueStarGift.md)
- [Similar bot recommendations »](/api/recommend.md#similar-bots)

#### [Schema](/schema.md) changes

##### New Methods

* Added [bots.getBotRecommendations](/method/bots.getBotRecommendations.md) - Obtain a list of similarly themed bots, selected based on similarities in their subscriber bases, see [here »](/api/recommend.md) for more info.
* Added [payments.getUniqueStarGift](/method/payments.getUniqueStarGift.md) - Obtain info about a [collectible gift »](/api/gifts.md#collectible-gifts) using a slug obtained from a [collectible gift link »](/api/links.md#collectible-gift-link).

##### Changed Methods

* Changed type of [messages.getWebPagePreview](/method/messages.getWebPagePreview.md) from **MessageMedia** to **messages.WebPagePreview**

##### New Constructors

* Added [users.users](/constructor/users.users.md) - Describes a list of users (or bots).
* Added [users.usersSlice](/constructor/users.usersSlice.md) - Describes a partial list of users.
* Added [payments.uniqueStarGift](/constructor/payments.uniqueStarGift.md) - Represents a [collectible gift »](/api/gifts.md#collectible-gifts).
* Added [webPageAttributeUniqueStarGift](/constructor/webPageAttributeUniqueStarGift.md) - Contains info about [collectible gift »](/api/gifts.md#collectible-gifts) for a [webPage](/constructor/webPage.md) preview of a [collectible gift »](/api/gifts.md#collectible-gifts) (the [webPage](/constructor/webPage.md) will have a `type` of `telegram_nft`).
* Added [mediaAreaStarGift](/constructor/mediaAreaStarGift.md) - Represents a [collectible gift »](/api/gifts.md#collectible-gifts).
* Added [messages.webPagePreview](/constructor/messages.webPagePreview.md) - Represents a webpage preview.

##### Changed Constructors

* Added **flags**, **slug**, **owner_name** parameters, changed type of **owner_id** from **long** to **flags.0?long** in [starGiftUnique](/constructor/starGiftUnique.md)

#### [Schema](/schema.md)

<div><pre><code><a href="/constructor/starGiftUnique">starGiftUnique</a>#3482f322 flags:<a href="/type/%23">#</a> id:<a href="/type/long">long</a> title:<a href="/type/string">string</a> slug:<a href="/type/string">string</a> num:<a href="/type/int">int</a> owner_id:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/long">long</a> owner_name:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a> attributes:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StarGiftAttribute">StarGiftAttribute</a>&gt; availability_issued:<a href="/type/int">int</a> availability_total:<a href="/type/int">int</a> = <a href="/type/StarGift">StarGift</a>;\

<a href="/constructor/users.users">users.users</a>#62d706b8 users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/users.Users">users.Users</a>;
<a href="/constructor/users.usersSlice">users.usersSlice</a>#315a4974 count:<a href="/type/int">int</a> users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/users.Users">users.Users</a>;\

<a href="/constructor/payments.uniqueStarGift">payments.uniqueStarGift</a>#caa2f60b gift:<a href="/type/StarGift">StarGift</a> users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/payments.UniqueStarGift">payments.UniqueStarGift</a>;\

<a href="/constructor/webPageAttributeUniqueStarGift">webPageAttributeUniqueStarGift</a>#cf6f6db8 gift:<a href="/type/StarGift">StarGift</a> = <a href="/type/WebPageAttribute">WebPageAttribute</a>;\

<a href="/constructor/mediaAreaStarGift">mediaAreaStarGift</a>#5787686d coordinates:<a href="/type/MediaAreaCoordinates">MediaAreaCoordinates</a> slug:<a href="/type/string">string</a> = <a href="/type/MediaArea">MediaArea</a>;
<a href="/constructor/messages.webPagePreview">messages.webPagePreview</a>#b53e8b21 media:<a href="/type/MessageMedia">MessageMedia</a> users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/messages.WebPagePreview">messages.WebPagePreview</a>;\

---functions---\

<a href="/method/messages.getWebPagePreview">messages.getWebPagePreview</a>#570d6f6f flags:<a href="/type/%23">#</a> message:<a href="/type/string">string</a> entities:<a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; = <a href="/type/messages.WebPagePreview">messages.WebPagePreview</a>;\

<a href="/method/bots.getBotRecommendations">bots.getBotRecommendations</a>#a1b70815 bot:<a href="/type/InputUser">InputUser</a> = <a href="/type/users.Users">users.Users</a>;\

<a href="/method/payments.getUniqueStarGift">payments.getUniqueStarGift</a>#a1974d72 slug:<a href="/type/string">string</a> = <a href="/type/payments.UniqueStarGift">payments.UniqueStarGift</a>;\

</code></pre></div>

### [Layer 196](/schema?layer=196)

This layer introduces:

- [Extra secure group calls »](https://telegram.org/blog/group-calls-made-easy)
- [Explicit delivery acknowledgement for Telegram Gateway verification messages »](/method/messages.reportMessagesDelivery.md).
- [Third-party verification »](/api/bots/verification.md)
- [Reactions for service messages »](/api/reactions.md)
- [Collectible gifts »](/api/gifts.md#collectible-gifts)
- Add support for entities in folder titles, and a new `title_noanimate` flag to optionally freeze animated emoji entities in the title.
- All flags added to [channel](/constructor/channel.md) (listed below) are valid `min` flags, meaning they must be applied over the locally stored version even if the `min` flag of the incoming [channel](/constructor/channel.md) is set.
- All flags added to [user](/constructor/user.md) (listed below) are valid `min` flags, meaning they must be applied over the locally stored version even if the `min` flag of the incoming [user](/constructor/user.md) is set.

#### PUSH notification changes

##### New PUSH notifications

* Added [MESSAGE_STARGIFT_UPGRADE](/api/push-updates.md#message-stargift-upgrade) - `{1} upgraded your Gift`
* Added [MESSAGE_UNIQUE_STARGIFT](/api/push-updates.md#message-unique-stargift) - `{1} transferred you a Gift!`

