---
title: "POST /sendVoice"
method: POST
path: "/sendVoice"
---

# POST /sendVoice

`POST /sendVoice`

Use this method to send audio files, if you want Telegram clients to display the file as a playable voice message. For this to work, your audio must be in an .OGG file encoded with OPUS (other formats may be sent as [Audio](https://core.telegram.org/bots/api/#audio) or [Document](https://core.telegram.org/bots/api/#document)). On success, the sent [Message](https://core.telegram.org/bots/api/#message) is returned. Bots can currently send voice messages of up to 50 MB in size, this limit may be changed in the future.

## Response `200`

- object
  - `ok` boolean, required
  - `result` Message, required — This object represents a message.
    - `message_id` integer, required — Unique message identifier inside this chat
    - `from` User — This object represents a Telegram user or bot.
      - `id` integer, required — Unique identifier for this user or bot
      - `is_bot` boolean, required — True, if this user is a bot
      - `first_name` string, required — User's or bot's first name
      - `last_name` string — *Optional*. User's or bot's last name
      - `username` string — *Optional*. User's or bot's username
      - `language_code` string — *Optional*. [IETF language tag](https://en.wikipedia.org/wiki/IETF_language_tag) of the user's language
      - `can_join_groups` boolean — *Optional*. True, if the bot can be invited to groups. Returned only in [getMe](https://core.telegram.org/bots/api/#getme).
      - `can_read_all_group_messages` boolean — *Optional*. True, if [privacy mode](https://core.telegram.org/bots#privacy-mode) is disabled for the bot. Returned only in [getMe](https://core.telegram.org/bots/api/#getme).
      - `supports_inline_queries` boolean — *Optional*. True, if the bot supports inline queries. Returned only in [getMe](https://core.telegram.org/bots/api/#getme).
    - `sender_chat` Chat — This object represents a chat.
      - `id` integer, required — Unique identifier for this chat. This number may be greater than 32 bits and some programming languages may have difficulty/silent defects in interpreting it. But it is smaller than 52 bits, so a signed 64 bit integer or double-precision float type are safe for storing this identifier.
      - `type` 'private' | 'group' | 'supergroup' | 'channel', required — Type of chat, can be either “private”, “group”, “supergroup” or “channel”
      - `title` string — *Optional*. Title, for supergroups, channels and group chats
      - `username` string — *Optional*. Username, for private chats, supergroups and channels if available
      - `first_name` string — *Optional*. First name of the other party in a private chat
      - `last_name` string — *Optional*. Last name of the other party in a private chat
      - `photo` ChatPhoto — This object represents a chat photo.
        - `small_file_id` string, required — File identifier of small (160x160) chat photo. This file\_id can be used only for photo download and only for as long as the photo is not changed.
        - `small_file_unique_id` string, required — Unique file identifier of small (160x160) chat photo, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file.
        - `big_file_id` string, required — File identifier of big (640x640) chat photo. This file\_id can be used only for photo download and only for as long as the photo is not changed.
        - `big_file_unique_id` string, required — Unique file identifier of big (640x640) chat photo, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file.
      - `bio` string — *Optional*. Bio of the other party in a private chat. Returned only in [getChat](https://core.telegram.org/bots/api/#getchat).
      - `description` string — *Optional*. Description, for groups, supergroups and channel chats. Returned only in [getChat](https://core.telegram.org/bots/api/#getchat).
      - `invite_link` string — *Optional*. Chat invite link, for groups, supergroups and channel chats. Each administrator in a chat generates their own invite links, so the bot must first generate the link using [exportChatInviteLink](https://core.telegram.org/bots/api/#exportchatinvitelink). Returned only in [getChat](https://core.telegram.org/bots/api/#getchat).
      - `pinned_message` Message — recursive
      - `permissions` ChatPermissions — Describes actions that a non-administrator user is allowed to take in a chat.
        - `can_send_messages` boolean — *Optional*. True, if the user is allowed to send text messages, contacts, locations and venues
        - `can_send_media_messages` boolean — *Optional*. True, if the user is allowed to send audios, documents, photos, videos, video notes and voice notes, implies can\_send\_messages
        - `can_send_polls` boolean — *Optional*. True, if the user is allowed to send polls, implies can\_send\_messages
        - `can_send_other_messages` boolean — *Optional*. True, if the user is allowed to send animations, games, stickers and use inline bots, implies can\_send\_media\_messages
        - `can_add_web_page_previews` boolean — *Optional*. True, if the user is allowed to add web page previews to their messages, implies can\_send\_media\_messages
        - `can_change_info` boolean — *Optional*. True, if the user is allowed to change the chat title, photo and other settings. Ignored in public supergroups
        - `can_invite_users` boolean — *Optional*. True, if the user is allowed to invite new users to the chat
        - `can_pin_messages` boolean — *Optional*. True, if the user is allowed to pin messages. Ignored in public supergroups
      - `slow_mode_delay` integer — *Optional*. For supergroups, the minimum allowed delay between consecutive messages sent by each unpriviledged user. Returned only in [getChat](https://core.telegram.org/bots/api/#getchat).
      - `sticker_set_name` string — *Optional*. For supergroups, name of group sticker set. Returned only in [getChat](https://core.telegram.org/bots/api/#getchat).
      - `can_set_sticker_set` boolean — *Optional*. True, if the bot can change the group sticker set. Returned only in [getChat](https://core.telegram.org/bots/api/#getchat).
      - `linked_chat_id` integer — *Optional*. Unique identifier for the linked chat, i.e. the discussion group identifier for a channel and vice versa; for supergroups and channel chats. This identifier may be greater than 32 bits and some programming languages may have difficulty/silent defects in interpreting it. But it is smaller than 52 bits, so a signed 64 bit integer or double-precision float type are safe for storing this identifier. Returned only in [getChat](https://core.telegram.org/bots/api/#getchat).
      - `location` ChatLocation — Represents a location to which a chat is connected.
        - `location` Location, required — This object represents a point on the map.
          - `longitude` number, required — Longitude as defined by sender
          - `latitude` number, required — Latitude as defined by sender
          - `horizontal_accuracy` number — *Optional*. The radius of uncertainty for the location, measured in meters; 0-1500
          - `live_period` integer — *Optional*. Time relative to the message sending date, during which the location can be updated, in seconds. For active live locations only.
          - `heading` integer — *Optional*. The direction in which user is moving, in degrees; 1-360. For active live locations only.
          - `proximity_alert_radius` integer — *Optional*. Maximum distance for proximity alerts about approaching another chat member, in meters. For sent live locations only.
        - `address` string, required — Location address; 1-64 characters, as defined by the chat owner
    - `date` integer, required — Date the message was sent in Unix time
    - `chat` Chat, required — This object represents a chat.
      - `id` integer, required — Unique identifier for this chat. This number may be greater than 32 bits and some programming languages may have difficulty/silent defects in interpreting it. But it is smaller than 52 bits, so a signed 64 bit integer or double-precision float type are safe for storing this identifier.
      - `type` 'private' | 'group' | 'supergroup' | 'channel', required — Type of chat, can be either “private”, “group”, “supergroup” or “channel”
      - `title` string — *Optional*. Title, for supergroups, channels and group chats
      - `username` string — *Optional*. Username, for private chats, supergroups and channels if available
      - `first_name` string — *Optional*. First name of the other party in a private chat
      - `last_name` string — *Optional*. Last name of the other party in a private chat
      - `photo` ChatPhoto — This object represents a chat photo.
        - `small_file_id` string, required — File identifier of small (160x160) chat photo. This file\_id can be used only for photo download and only for as long as the photo is not changed.
        - `small_file_unique_id` string, required — Unique file identifier of small (160x160) chat photo, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file.
        - `big_file_id` string, required — File identifier of big (640x640) chat photo. This file\_id can be used only for photo download and only for as long as the photo is not changed.
        - `big_file_unique_id` string, required — Unique file identifier of big (640x640) chat photo, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file.
      - `bio` string — *Optional*. Bio of the other party in a private chat. Returned only in [getChat](https://core.telegram.org/bots/api/#getchat).
      - `description` string — *Optional*. Description, for groups, supergroups and channel chats. Returned only in [getChat](https://core.telegram.org/bots/api/#getchat).
      - `invite_link` string — *Optional*. Chat invite link, for groups, supergroups and channel chats. Each administrator in a chat generates their own invite links, so the bot must first generate the link using [exportChatInviteLink](https://core.telegram.org/bots/api/#exportchatinvitelink). Returned only in [getChat](https://core.telegram.org/bots/api/#getchat).
      - `pinned_message` Message — recursive
      - `permissions` ChatPermissions — Describes actions that a non-administrator user is allowed to take in a chat.
        - `can_send_messages` boolean — *Optional*. True, if the user is allowed to send text messages, contacts, locations and venues
        - `can_send_media_messages` boolean — *Optional*. True, if the user is allowed to send audios, documents, photos, videos, video notes and voice notes, implies can\_send\_messages
        - `can_send_polls` boolean — *Optional*. True, if the user is allowed to send polls, implies can\_send\_messages
        - `can_send_other_messages` boolean — *Optional*. True, if the user is allowed to send animations, games, stickers and use inline bots, implies can\_send\_media\_messages
        - `can_add_web_page_previews` boolean — *Optional*. True, if the user is allowed to add web page previews to their messages, implies can\_send\_media\_messages
        - `can_change_info` boolean — *Optional*. True, if the user is allowed to change the chat title, photo and other settings. Ignored in public supergroups
        - `can_invite_users` boolean — *Optional*. True, if the user is allowed to invite new users to the chat
        - `can_pin_messages` boolean — *Optional*. True, if the user is allowed to pin messages. Ignored in public supergroups
      - `slow_mode_delay` integer — *Optional*. For supergroups, the minimum allowed delay between consecutive messages sent by each unpriviledged user. Returned only in [getChat](https://core.telegram.org/bots/api/#getchat).
      - `sticker_set_name` string — *Optional*. For supergroups, name of group sticker set. Returned only in [getChat](https://core.telegram.org/bots/api/#getchat).
      - `can_set_sticker_set` boolean — *Optional*. True, if the bot can change the group sticker set. Returned only in [getChat](https://core.telegram.org/bots/api/#getchat).
      - `linked_chat_id` integer — *Optional*. Unique identifier for the linked chat, i.e. the discussion group identifier for a channel and vice versa; for supergroups and channel chats. This identifier may be greater than 32 bits and some programming languages may have difficulty/silent defects in interpreting it. But it is smaller than 52 bits, so a signed 64 bit integer or double-precision float type are safe for storing this identifier. Returned only in [getChat](https://core.telegram.org/bots/api/#getchat).
      - `location` ChatLocation — Represents a location to which a chat is connected.
        - `location` Location, required — This object represents a point on the map.
          - `longitude` number, required — Longitude as defined by sender
          - `latitude` number, required — Latitude as defined by sender
          - `horizontal_accuracy` number — *Optional*. The radius of uncertainty for the location, measured in meters; 0-1500
          - `live_period` integer — *Optional*. Time relative to the message sending date, during which the location can be updated, in seconds. For active live locations only.
          - `heading` integer — *Optional*. The direction in which user is moving, in degrees; 1-360. For active live locations only.
          - `proximity_alert_radius` integer — *Optional*. Maximum distance for proximity alerts about approaching another chat member, in meters. For sent live locations only.
        - `address` string, required — Location address; 1-64 characters, as defined by the chat owner
    - `forward_from` User — This object represents a Telegram user or bot.
      - `id` integer, required — Unique identifier for this user or bot
      - `is_bot` boolean, required — True, if this user is a bot
      - `first_name` string, required — User's or bot's first name
      - `last_name` string — *Optional*. User's or bot's last name
      - `username` string — *Optional*. User's or bot's username
      - `language_code` string — *Optional*. [IETF language tag](https://en.wikipedia.org/wiki/IETF_language_tag) of the user's language
      - `can_join_groups` boolean — *Optional*. True, if the bot can be invited to groups. Returned only in [getMe](https://core.telegram.org/bots/api/#getme).
      - `can_read_all_group_messages` boolean — *Optional*. True, if [privacy mode](https://core.telegram.org/bots#privacy-mode) is disabled for the bot. Returned only in [getMe](https://core.telegram.org/bots/api/#getme).
      - `supports_inline_queries` boolean — *Optional*. True, if the bot supports inline queries. Returned only in [getMe](https://core.telegram.org/bots/api/#getme).
    - `forward_from_chat` Chat — This object represents a chat.
      - `id` integer, required — Unique identifier for this chat. This number may be greater than 32 bits and some programming languages may have difficulty/silent defects in interpreting it. But it is smaller than 52 bits, so a signed 64 bit integer or double-precision float type are safe for storing this identifier.
      - `type` 'private' | 'group' | 'supergroup' | 'channel', required — Type of chat, can be either “private”, “group”, “supergroup” or “channel”
      - `title` string — *Optional*. Title, for supergroups, channels and group chats
      - `username` string — *Optional*. Username, for private chats, supergroups and channels if available
      - `first_name` string — *Optional*. First name of the other party in a private chat
      - `last_name` string — *Optional*. Last name of the other party in a private chat
      - `photo` ChatPhoto — This object represents a chat photo.
        - `small_file_id` string, required — File identifier of small (160x160) chat photo. This file\_id can be used only for photo download and only for as long as the photo is not changed.
        - `small_file_unique_id` string, required — Unique file identifier of small (160x160) chat photo, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file.
        - `big_file_id` string, required — File identifier of big (640x640) chat photo. This file\_id can be used only for photo download and only for as long as the photo is not changed.
        - `big_file_unique_id` string, required — Unique file identifier of big (640x640) chat photo, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file.
      - `bio` string — *Optional*. Bio of the other party in a private chat. Returned only in [getChat](https://core.telegram.org/bots/api/#getchat).
      - `description` string — *Optional*. Description, for groups, supergroups and channel chats. Returned only in [getChat](https://core.telegram.org/bots/api/#getchat).
      - `invite_link` string — *Optional*. Chat invite link, for groups, supergroups and channel chats. Each administrator in a chat generates their own invite links, so the bot must first generate the link using [exportChatInviteLink](https://core.telegram.org/bots/api/#exportchatinvitelink). Returned only in [getChat](https://core.telegram.org/bots/api/#getchat).
      - `pinned_message` Message — recursive
      - `permissions` ChatPermissions — Describes actions that a non-administrator user is allowed to take in a chat.
        - `can_send_messages` boolean — *Optional*. True, if the user is allowed to send text messages, contacts, locations and venues
        - `can_send_media_messages` boolean — *Optional*. True, if the user is allowed to send audios, documents, photos, videos, video notes and voice notes, implies can\_send\_messages
        - `can_send_polls` boolean — *Optional*. True, if the user is allowed to send polls, implies can\_send\_messages
        - `can_send_other_messages` boolean — *Optional*. True, if the user is allowed to send animations, games, stickers and use inline bots, implies can\_send\_media\_messages
        - `can_add_web_page_previews` boolean — *Optional*. True, if the user is allowed to add web page previews to their messages, implies can\_send\_media\_messages
        - `can_change_info` boolean — *Optional*. True, if the user is allowed to change the chat title, photo and other settings. Ignored in public supergroups
        - `can_invite_users` boolean — *Optional*. True, if the user is allowed to invite new users to the chat
        - `can_pin_messages` boolean — *Optional*. True, if the user is allowed to pin messages. Ignored in public supergroups
      - `slow_mode_delay` integer — *Optional*. For supergroups, the minimum allowed delay between consecutive messages sent by each unpriviledged user. Returned only in [getChat](https://core.telegram.org/bots/api/#getchat).
      - `sticker_set_name` string — *Optional*. For supergroups, name of group sticker set. Returned only in [getChat](https://core.telegram.org/bots/api/#getchat).
      - `can_set_sticker_set` boolean — *Optional*. True, if the bot can change the group sticker set. Returned only in [getChat](https://core.telegram.org/bots/api/#getchat).
      - `linked_chat_id` integer — *Optional*. Unique identifier for the linked chat, i.e. the discussion group identifier for a channel and vice versa; for supergroups and channel chats. This identifier may be greater than 32 bits and some programming languages may have difficulty/silent defects in interpreting it. But it is smaller than 52 bits, so a signed 64 bit integer or double-precision float type are safe for storing this identifier. Returned only in [getChat](https://core.telegram.org/bots/api/#getchat).
      - `location` ChatLocation — Represents a location to which a chat is connected.
        - `location` Location, required — This object represents a point on the map.
          - `longitude` number, required — Longitude as defined by sender
          - `latitude` number, required — Latitude as defined by sender
          - `horizontal_accuracy` number — *Optional*. The radius of uncertainty for the location, measured in meters; 0-1500
          - `live_period` integer — *Optional*. Time relative to the message sending date, during which the location can be updated, in seconds. For active live locations only.
          - `heading` integer — *Optional*. The direction in which user is moving, in degrees; 1-360. For active live locations only.
          - `proximity_alert_radius` integer — *Optional*. Maximum distance for proximity alerts about approaching another chat member, in meters. For sent live locations only.
        - `address` string, required — Location address; 1-64 characters, as defined by the chat owner
    - `forward_from_message_id` integer — *Optional*. For messages forwarded from channels, identifier of the original message in the channel
    - `forward_signature` string — *Optional*. For messages forwarded from channels, signature of the post author if present
    - `forward_sender_name` string — *Optional*. Sender's name for messages forwarded from users who disallow adding a link to their account in forwarded messages
    - `forward_date` integer — *Optional*. For forwarded messages, date the original message was sent in Unix time
    - `reply_to_message` Message — recursive
    - `via_bot` User — This object represents a Telegram user or bot.
      - `id` integer, required — Unique identifier for this user or bot
      - `is_bot` boolean, required — True, if this user is a bot
      - `first_name` string, required — User's or bot's first name
      - `last_name` string — *Optional*. User's or bot's last name
      - `username` string — *Optional*. User's or bot's username
      - `language_code` string — *Optional*. [IETF language tag](https://en.wikipedia.org/wiki/IETF_language_tag) of the user's language
      - `can_join_groups` boolean — *Optional*. True, if the bot can be invited to groups. Returned only in [getMe](https://core.telegram.org/bots/api/#getme).
      - `can_read_all_group_messages` boolean — *Optional*. True, if [privacy mode](https://core.telegram.org/bots#privacy-mode) is disabled for the bot. Returned only in [getMe](https://core.telegram.org/bots/api/#getme).
      - `supports_inline_queries` boolean — *Optional*. True, if the bot supports inline queries. Returned only in [getMe](https://core.telegram.org/bots/api/#getme).
    - `edit_date` integer — *Optional*. Date the message was last edited in Unix time
    - `media_group_id` string — *Optional*. The unique identifier of a media message group this message belongs to
    - `author_signature` string — *Optional*. Signature of the post author for messages in channels, or the custom title of an anonymous group administrator
    - `text` string — *Optional*. For text messages, the actual UTF-8 text of the message, 0-4096 characters
    - `entities` MessageEntity[] — *Optional*. For text messages, special entities like usernames, URLs, bot commands, etc. that appear in the text
      - `type` 'mention' | 'hashtag' | 'cashtag' | 'bot_command' | 'url' | 'email' | 'phone_number' | 'bold' | 'italic' | 'underline' | 'strikethrough' | 'code' | 'pre' | 'text_link' | 'text_mention', required — Type of the entity. Can be “mention” (`@username`), “hashtag” (`#hashtag`), “cashtag” (`$USD`), “bot\_command” (`/start@jobs_bot`), “url” (`https://telegram.org`), “email” (`do-not-reply@telegram.org`), “phone\_number” (`+1-212-555-0123`), “bold” (**bold text**), “italic” (*italic text*), “underline” (underlined text), “strikethrough” (strikethrough text), “code” (monowidth string), “pre” (monowidth block), “text\_link” (for clickable text URLs), “text\_mention” (for users [without usernames](https://telegram.org/blog/edit#new-mentions))
      - `offset` integer, required — Offset in UTF-16 code units to the start of the entity
      - `length` integer, required — Length of the entity in UTF-16 code units
      - `url` string — *Optional*. For “text\_link” only, url that will be opened after user taps on the text
      - `user` User — This object represents a Telegram user or bot.
        - `id` integer, required — Unique identifier for this user or bot
        - `is_bot` boolean, required — True, if this user is a bot
        - `first_name` string, required — User's or bot's first name
        - `last_name` string — *Optional*. User's or bot's last name
        - `username` string — *Optional*. User's or bot's username
        - `language_code` string — *Optional*. [IETF language tag](https://en.wikipedia.org/wiki/IETF_language_tag) of the user's language
        - `can_join_groups` boolean — *Optional*. True, if the bot can be invited to groups. Returned only in [getMe](https://core.telegram.org/bots/api/#getme).
        - `can_read_all_group_messages` boolean — *Optional*. True, if [privacy mode](https://core.telegram.org/bots#privacy-mode) is disabled for the bot. Returned only in [getMe](https://core.telegram.org/bots/api/#getme).
        - `supports_inline_queries` boolean — *Optional*. True, if the bot supports inline queries. Returned only in [getMe](https://core.telegram.org/bots/api/#getme).
      - `language` string — *Optional*. For “pre” only, the programming language of the entity text
    - `animation` Animation — This object represents an animation file (GIF or H.264/MPEG-4 AVC video without sound).
      - `file_id` string, required — Identifier for this file, which can be used to download or reuse the file
      - `file_unique_id` string, required — Unique identifier for this file, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file.
      - `width` integer, required — Video width as defined by sender
      - `height` integer, required — Video height as defined by sender
      - `duration` integer, required — Duration of the video in seconds as defined by sender
      - `thumb` PhotoSize — This object represents one size of a photo or a [file](https://core.telegram.org/bots/api/#document) / [sticker](https://core.telegram.org/bots/api/#sticker) thumbnail.
        - `file_id` string, required — Identifier for this file, which can be used to download or reuse the file
        - `file_unique_id` string, required — Unique identifier for this file, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file.
        - `width` integer, required — Photo width
        - `height` integer, required — Photo height
        - `file_size` integer — *Optional*. File size
      - `file_name` string — *Optional*. Original animation filename as defined by sender
      - `mime_type` string — *Optional*. MIME type of the file as defined by sender
      - `file_size` integer — *Optional*. File size
    - `audio` Audio — This object represents an audio file to be treated as music by the Telegram clients.
      - `file_id` string, required — Identifier for this file, which can be used to download or reuse the file
      - `file_unique_id` string, required — Unique identifier for this file, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file.
      - `duration` integer, required — Duration of the audio in seconds as defined by sender
      - `performer` string — *Optional*. Performer of the audio as defined by sender or by audio tags
      - `title` string — *Optional*. Title of the audio as defined by sender or by audio tags
      - `file_name` string — *Optional*. Original filename as defined by sender
      - `mime_type` string — *Optional*. MIME type of the file as defined by sender
      - `file_size` integer — *Optional*. File size
      - `thumb` PhotoSize — This object represents one size of a photo or a [file](https://core.telegram.org/bots/api/#document) / [sticker](https://core.telegram.org/bots/api/#sticker) thumbnail.
        - `file_id` string, required — Identifier for this file, which can be used to download or reuse the file
        - `file_unique_id` string, required — Unique identifier for this file, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file.
        - `width` integer, required — Photo width
        - `height` integer, required — Photo height
        - `file_size` integer — *Optional*. File size
    - `document` Document — This object represents a general file (as opposed to [photos](https://core.telegram.org/bots/api/#photosize), [voice messages](https://core.telegram.org/bots/api/#voice) and [audio files](https://core.telegram.org/bots/api/#audio)).
      - `file_id` string, required — Identifier for this file, which can be used to download or reuse the file
      - `file_unique_id` string, required — Unique identifier for this file, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file.
      - `thumb` PhotoSize — This object represents one size of a photo or a [file](https://core.telegram.org/bots/api/#document) / [sticker](https://core.telegram.org/bots/api/#sticker) thumbnail.
        - `file_id` string, required — Identifier for this file, which can be used to download or reuse the file
        - `file_unique_id` string, required — Unique identifier for this file, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file.
        - `width` integer, required — Photo width
        - `height` integer, required — Photo height
        - `file_size` integer — *Optional*. File size
      - `file_name` string — *Optional*. Original filename as defined by sender
      - `mime_type` string — *Optional*. MIME type of the file as defined by sender
      - `file_size` integer — *Optional*. File size
    - `photo` PhotoSize[] — *Optional*. Message is a photo, available sizes of the photo
      - `file_id` string, required — Identifier for this file, which can be used to download or reuse the file
      - `file_unique_id` string, required — Unique identifier for this file, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file.
      - `width` integer, required — Photo width
      - `height` integer, required — Photo height
      - `file_size` integer — *Optional*. File size
    - `sticker` Sticker — This object represents a sticker.
      - `file_id` string, required — Identifier for this file, which can be used to download or reuse the file
      - `file_unique_id` string, required — Unique identifier for this file, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file.
      - `width` integer, required — Sticker width
      - `height` integer, required — Sticker height
      - `is_animated` boolean, required — *True*, if the sticker is [animated](https://telegram.org/blog/animated-stickers)
      - `thumb` PhotoSize — This object represents one size of a photo or a [file](https://core.telegram.org/bots/api/#document) / [sticker](https://core.telegram.org/bots/api/#sticker) thumbnail.
        - `file_id` string, required — Identifier for this file, which can be used to download or reuse the file
        - `file_unique_id` string, required — Unique identifier for this file, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file.
        - `width` integer, required — Photo width
        - `height` integer, required — Photo height
        - `file_size` integer — *Optional*. File size
      - `emoji` string — *Optional*. Emoji associated with the sticker
      - `set_name` string — *Optional*. Name of the sticker set to which the sticker belongs
      - `mask_position` MaskPosition — This object describes the position on faces where a mask should be placed by default.
        - `point` 'forehead' | 'eyes' | 'mouth' | 'chin', required — The part of the face relative to which the mask should be placed. One of “forehead”, “eyes”, “mouth”, or “chin”.
        - `x_shift` number, required — Shift by X-axis measured in widths of the mask scaled to the face size, from left to right. For example, choosing -1.0 will place mask just to the left of the default mask position.
        - `y_shift` number, required — Shift by Y-axis measured in heights of the mask scaled to the face size, from top to bottom. For example, 1.0 will place the mask just below the default mask position.
        - `scale` number, required — Mask scaling coefficient. For example, 2.0 means double size.
      - `file_size` integer — *Optional*. File size
    - `video` Video — This object represents a video file.
      - `file_id` string, required — Identifier for this file, which can be used to download or reuse the file
      - `file_unique_id` string, required — Unique identifier for this file, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file.
      - `width` integer, required — Video width as defined by sender
      - `height` integer, required — Video height as defined by sender
      - `duration` integer, required — Duration of the video in seconds as defined by sender
      - `thumb` PhotoSize — This object represents one size of a photo or a [file](https://core.telegram.org/bots/api/#document) / [sticker](https://core.telegram.org/bots/api/#sticker) thumbnail.
        - `file_id` string, required — Identifier for this file, which can be used to download or reuse the file
        - `file_unique_id` string, required — Unique identifier for this file, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file.
        - `width` integer, required — Photo width
        - `height` integer, required — Photo height
        - `file_size` integer — *Optional*. File size
      - `file_name` string — *Optional*. Original filename as defined by sender
      - `mime_type` string — *Optional*. Mime type of a file as defined by sender
      - `file_size` integer — *Optional*. File size
    - `video_note` VideoNote — This object represents a [video message](https://telegram.org/blog/video-messages-and-telescope) (available in Telegram apps as of [v.4.0](https://telegram.org/blog/video-messages-and-telescope)).
      - `file_id` string, required — Identifier for this file, which can be used to download or reuse the file
      - `file_unique_id` string, required — Unique identifier for this file, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file.
      - `length` integer, required — Video width and height (diameter of the video message) as defined by sender
      - `duration` integer, required — Duration of the video in seconds as defined by sender
      - `thumb` PhotoSize — This object represents one size of a photo or a [file](https://core.telegram.org/bots/api/#document) / [sticker](https://core.telegram.org/bots/api/#sticker) thumbnail.
        - `file_id` string, required — Identifier for this file, which can be used to download or reuse the file
        - `file_unique_id` string, required — Unique identifier for this file, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file.
        - `width` integer, required — Photo width
        - `height` integer, required — Photo height
        - `file_size` integer — *Optional*. File size
      - `file_size` integer — *Optional*. File size
    - `voice` Voice — This object represents a voice note.
      - `file_id` string, required — Identifier for this file, which can be used to download or reuse the file
      - `file_unique_id` string, required — Unique identifier for this file, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file.
      - `duration` integer, required — Duration of the audio in seconds as defined by sender
      - `mime_type` string — *Optional*. MIME type of the file as defined by sender
      - `file_size` integer — *Optional*. File size
    - `caption` string — *Optional*. Caption for the animation, audio, document, photo, video or voice, 0-1024 characters
    - `caption_entities` MessageEntity[] — *Optional*. For messages with a caption, special entities like usernames, URLs, bot commands, etc. that appear in the caption
      - `type` 'mention' | 'hashtag' | 'cashtag' | 'bot_command' | 'url' | 'email' | 'phone_number' | 'bold' | 'italic' | 'underline' | 'strikethrough' | 'code' | 'pre' | 'text_link' | 'text_mention', required — Type of the entity. Can be “mention” (`@username`), “hashtag” (`#hashtag`), “cashtag” (`$USD`), “bot\_command” (`/start@jobs_bot`), “url” (`https://telegram.org`), “email” (`do-not-reply@telegram.org`), “phone\_number” (`+1-212-555-0123`), “bold” (**bold text**), “italic” (*italic text*), “underline” (underlined text), “strikethrough” (strikethrough text), “code” (monowidth string), “pre” (monowidth block), “text\_link” (for clickable text URLs), “text\_mention” (for users [without usernames](https://telegram.org/blog/edit#new-mentions))
      - `offset` integer, required — Offset in UTF-16 code units to the start of the entity
      - `length` integer, required — Length of the entity in UTF-16 code units
      - `url` string — *Optional*. For “text\_link” only, url that will be opened after user taps on the text
      - `user` User — This object represents a Telegram user or bot.
        - `id` integer, required — Unique identifier for this user or bot
        - `is_bot` boolean, required — True, if this user is a bot
        - `first_name` string, required — User's or bot's first name
        - `last_name` string — *Optional*. User's or bot's last name
        - `username` string — *Optional*. User's or bot's username
        - `language_code` string — *Optional*. [IETF language tag](https://en.wikipedia.org/wiki/IETF_language_tag) of the user's language
        - `can_join_groups` boolean — *Optional*. True, if the bot can be invited to groups. Returned only in [getMe](https://core.telegram.org/bots/api/#getme).
        - `can_read_all_group_messages` boolean — *Optional*. True, if [privacy mode](https://core.telegram.org/bots#privacy-mode) is disabled for the bot. Returned only in [getMe](https://core.telegram.org/bots/api/#getme).
        - `supports_inline_queries` boolean — *Optional*. True, if the bot supports inline queries. Returned only in [getMe](https://core.telegram.org/bots/api/#getme).
      - `language` string — *Optional*. For “pre” only, the programming language of the entity text
    - `contact` Contact — This object represents a phone contact.
      - `phone_number` string, required — Contact's phone number
      - `first_name` string, required — Contact's first name
      - `last_name` string — *Optional*. Contact's last name
      - `user_id` integer — *Optional*. Contact's user identifier in Telegram
      - `vcard` string — *Optional*. Additional data about the contact in the form of a [vCard](https://en.wikipedia.org/wiki/VCard)
    - `dice` Dice — This object represents an animated emoji that displays a random value.
      - `emoji` string, required — Emoji on which the dice throw animation is based
      - `value` integer, required — Value of the dice, 1-6 for “<img alt="🎲" src="//telegram.org/img/emoji/40/F09F8EB2.png" height="20" width="20" />” and “<img alt="🎯" src="//telegram.org/img/emoji/40/F09F8EAF.png" height="20" width="20" />” base emoji, 1-5 for “<img alt="🏀" src="//telegram.org/img/emoji/40/F09F8F80.png" height="20" width="20" />” and “<img alt="⚽" src="//telegram.org/img/emoji/40/E29ABD.png" height="20" width="20" />” base emoji, 1-64 for “<img alt="🎰" src="//telegram.org/img/emoji/40/F09F8EB0.png" height="20" width="20" />” base emoji
    - `game` Game — This object represents a game. Use BotFather to create and edit games, their short names will act as unique identifiers.
      - `title` string, required — Title of the game
      - `description` string, required — Description of the game
      - `photo` PhotoSize[], required — Photo that will be displayed in the game message in chats.
        - `file_id` string, required — Identifier for this file, which can be used to download or reuse the file
        - `file_unique_id` string, required — Unique identifier for this file, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file.
        - `width` integer, required — Photo width
        - `height` integer, required — Photo height
        - `file_size` integer — *Optional*. File size
      - `text` string — *Optional*. Brief description of the game or high scores included in the game message. Can be automatically edited to include current high scores for the game when the bot calls [setGameScore](https://core.telegram.org/bots/api/#setgamescore), or manually edited using [editMessageText](https://core.telegram.org/bots/api/#editmessagetext). 0-4096 characters.
      - `text_entities` MessageEntity[] — *Optional*. Special entities that appear in *text*, such as usernames, URLs, bot commands, etc.
        - `type` 'mention' | 'hashtag' | 'cashtag' | 'bot_command' | 'url' | 'email' | 'phone_number' | 'bold' | 'italic' | 'underline' | 'strikethrough' | 'code' | 'pre' | 'text_link' | 'text_mention', required — Type of the entity. Can be “mention” (`@username`), “hashtag” (`#hashtag`), “cashtag” (`$USD`), “bot\_command” (`/start@jobs_bot`), “url” (`https://telegram.org`), “email” (`do-not-reply@telegram.org`), “phone\_number” (`+1-212-555-0123`), “bold” (**bold text**), “italic” (*italic text*), “underline” (underlined text), “strikethrough” (strikethrough text), “code” (monowidth string), “pre” (monowidth block), “text\_link” (for clickable text URLs), “text\_mention” (for users [without usernames](https://telegram.org/blog/edit#new-mentions))
        - `offset` integer, required — Offset in UTF-16 code units to the start of the entity
        - `length` integer, required — Length of the entity in UTF-16 code units
        - `url` string — *Optional*. For “text\_link” only, url that will be opened after user taps on the text
        - `user` User — This object represents a Telegram user or bot.
          - `id` integer, required — Unique identifier for this user or bot
          - `is_bot` boolean, required — True, if this user is a bot
          - `first_name` string, required — User's or bot's first name
          - `last_name` string — *Optional*. User's or bot's last name
          - `username` string — *Optional*. User's or bot's username
          - `language_code` string — *Optional*. [IETF language tag](https://en.wikipedia.org/wiki/IETF_language_tag) of the user's language
          - `can_join_groups` boolean — *Optional*. True, if the bot can be invited to groups. Returned only in [getMe](https://core.telegram.org/bots/api/#getme).
          - `can_read_all_group_messages` boolean — *Optional*. True, if [privacy mode](https://core.telegram.org/bots#privacy-mode) is disabled for the bot. Returned only in [getMe](https://core.telegram.org/bots/api/#getme).
          - `supports_inline_queries` boolean — *Optional*. True, if the bot supports inline queries. Returned only in [getMe](https://core.telegram.org/bots/api/#getme).
        - `language` string — *Optional*. For “pre” only, the programming language of the entity text
      - `animation` Animation — This object represents an animation file (GIF or H.264/MPEG-4 AVC video without sound).
        - `file_id` string, required — Identifier for this file, which can be used to download or reuse the file
        - `file_unique_id` string, required — Unique identifier for this file, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file.
        - `width` integer, required — Video width as defined by sender
        - `height` integer, required — Video height as defined by sender
        - `duration` integer, required — Duration of the video in seconds as defined by sender
        - `thumb` PhotoSize — This object represents one size of a photo or a [file](https://core.telegram.org/bots/api/#document) / [sticker](https://core.telegram.org/bots/api/#sticker) thumbnail.
          - `file_id` string, required — Identifier for this file, which can be used to download or reuse the file
          - `file_unique_id` string, required — Unique identifier for this file, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file.
          - `width` integer, required — Photo width
          - `height` integer, required — Photo height
          - `file_size` integer — *Optional*. File size
        - `file_name` string — *Optional*. Original animation filename as defined by sender
        - `mime_type` string — *Optional*. MIME type of the file as defined by sender
        - `file_size` integer — *Optional*. File size
    - `poll` Poll — This object contains information about a poll.
      - `id` string, required — Unique poll identifier
      - `question` string, required — Poll question, 1-255 characters
      - `options` PollOption[], required — List of poll options
        - `text` string, required — Option text, 1-100 characters
        - `voter_count` integer, required — Number of users that voted for this option
      - `total_voter_count` integer, required — Total number of users that voted in the poll
      - `is_closed` boolean, required — True, if the poll is closed
      - `is_anonymous` boolean, required — True, if the poll is anonymous
      - `type` string, required — Poll type, currently can be “regular” or “quiz”
      - `allows_multiple_answers` boolean, required — True, if the poll allows multiple answers
      - `correct_option_id` integer — *Optional*. 0-based identifier of the correct answer option. Available only for polls in the quiz mode, which are closed, or was sent (not forwarded) by the bot or to the private chat with the bot.
      - `explanation` string — *Optional*. Text that is shown when a user chooses an incorrect answer or taps on the lamp icon in a quiz-style poll, 0-200 characters
      - `explanation_entities` MessageEntity[] — *Optional*. Special entities like usernames, URLs, bot commands, etc. that appear in the *explanation*
        - `type` 'mention' | 'hashtag' | 'cashtag' | 'bot_command' | 'url' | 'email' | 'phone_number' | 'bold' | 'italic' | 'underline' | 'strikethrough' | 'code' | 'pre' | 'text_link' | 'text_mention', required — Type of the entity. Can be “mention” (`@username`), “hashtag” (`#hashtag`), “cashtag” (`$USD`), “bot\_command” (`/start@jobs_bot`), “url” (`https://telegram.org`), “email” (`do-not-reply@telegram.org`), “phone\_number” (`+1-212-555-0123`), “bold” (**bold text**), “italic” (*italic text*), “underline” (underlined text), “strikethrough” (strikethrough text), “code” (monowidth string), “pre” (monowidth block), “text\_link” (for clickable text URLs), “text\_mention” (for users [without usernames](https://telegram.org/blog/edit#new-mentions))
        - `offset` integer, required — Offset in UTF-16 code units to the start of the entity
        - `length` integer, required — Length of the entity in UTF-16 code units
        - `url` string — *Optional*. For “text\_link” only, url that will be opened after user taps on the text
        - `user` User — This object represents a Telegram user or bot.
          - `id` integer, required — Unique identifier for this user or bot
          - `is_bot` boolean, required — True, if this user is a bot
          - `first_name` string, required — User's or bot's first name
          - `last_name` string — *Optional*. User's or bot's last name
          - `username` string — *Optional*. User's or bot's username
          - `language_code` string — *Optional*. [IETF language tag](https://en.wikipedia.org/wiki/IETF_language_tag) of the user's language
          - `can_join_groups` boolean — *Optional*. True, if the bot can be invited to groups. Returned only in [getMe](https://core.telegram.org/bots/api/#getme).
          - `can_read_all_group_messages` boolean — *Optional*. True, if [privacy mode](https://core.telegram.org/bots#privacy-mode) is disabled for the bot. Returned only in [getMe](https://core.telegram.org/bots/api/#getme).
          - `supports_inline_queries` boolean — *Optional*. True, if the bot supports inline queries. Returned only in [getMe](https://core.telegram.org/bots/api/#getme).
        - `language` string — *Optional*. For “pre” only, the programming language of the entity text
      - `open_period` integer — *Optional*. Amount of time in seconds the poll will be active after creation
      - `close_date` integer — *Optional*. Point in time (Unix timestamp) when the poll will be automatically closed
    - `venue` Venue — This object represents a venue.
      - `location` Location, required — This object represents a point on the map.
        - `longitude` number, required — Longitude as defined by sender
        - `latitude` number, required — Latitude as defined by sender
        - `horizontal_accuracy` number — *Optional*. The radius of uncertainty for the location, measured in meters; 0-1500
        - `live_period` integer — *Optional*. Time relative to the message sending date, during which the location can be updated, in seconds. For active live locations only.
        - `heading` integer — *Optional*. The direction in which user is moving, in degrees; 1-360. For active live locations only.
        - `proximity_alert_radius` integer — *Optional*. Maximum distance for proximity alerts about approaching another chat member, in meters. For sent live locations only.
      - `title` string, required — Name of the venue
      - `address` string, required — Address of the venue
      - `foursquare_id` string — *Optional*. Foursquare identifier of the venue
      - `foursquare_type` string — *Optional*. Foursquare type of the venue. (For example, “arts\_entertainment/default”, “arts\_entertainment/aquarium” or “food/icecream”.)
      - `google_place_id` string — *Optional*. Google Places identifier of the venue
      - `google_place_type` string — *Optional*. Google Places type of the venue. (See [supported types](https://developers.google.com/places/web-service/supported_types).)
    - `location` Location — This object represents a point on the map.
      - `longitude` number, required — Longitude as defined by sender
      - `latitude` number, required — Latitude as defined by sender
      - `horizontal_accuracy` number — *Optional*. The radius of uncertainty for the location, measured in meters; 0-1500
      - `live_period` integer — *Optional*. Time relative to the message sending date, during which the location can be updated, in seconds. For active live locations only.
      - `heading` integer — *Optional*. The direction in which user is moving, in degrees; 1-360. For active live locations only.
      - `proximity_alert_radius` integer — *Optional*. Maximum distance for proximity alerts about approaching another chat member, in meters. For sent live locations only.
    - `new_chat_members` User[] — *Optional*. New members that were added to the group or supergroup and information about them (the bot itself may be one of these members)
      - `id` integer, required — Unique identifier for this user or bot
      - `is_bot` boolean, required — True, if this user is a bot
      - `first_name` string, required — User's or bot's first name
      - `last_name` string — *Optional*. User's or bot's last name
      - `username` string — *Optional*. User's or bot's username
      - `language_code` string — *Optional*. [IETF language tag](https://en.wikipedia.org/wiki/IETF_language_tag) of the user's language
      - `can_join_groups` boolean — *Optional*. True, if the bot can be invited to groups. Returned only in [getMe](https://core.telegram.org/bots/api/#getme).
      - `can_read_all_group_messages` boolean — *Optional*. True, if [privacy mode](https://core.telegram.org/bots#privacy-mode) is disabled for the bot. Returned only in [getMe](https://core.telegram.org/bots/api/#getme).
      - `supports_inline_queries` boolean — *Optional*. True, if the bot supports inline queries. Returned only in [getMe](https://core.telegram.org/bots/api/#getme).
    - `left_chat_member` User — This object represents a Telegram user or bot.
      - `id` integer, required — Unique identifier for this user or bot
      - `is_bot` boolean, required — True, if this user is a bot
      - `first_name` string, required — User's or bot's first name
      - `last_name` string — *Optional*. User's or bot's last name
      - `username` string — *Optional*. User's or bot's username
      - `language_code` string — *Optional*. [IETF language tag](https://en.wikipedia.org/wiki/IETF_language_tag) of the user's language
      - `can_join_groups` boolean — *Optional*. True, if the bot can be invited to groups. Returned only in [getMe](https://core.telegram.org/bots/api/#getme).
      - `can_read_all_group_messages` boolean — *Optional*. True, if [privacy mode](https://core.telegram.org/bots#privacy-mode) is disabled for the bot. Returned only in [getMe](https://core.telegram.org/bots/api/#getme).
      - `supports_inline_queries` boolean — *Optional*. True, if the bot supports inline queries. Returned only in [getMe](https://core.telegram.org/bots/api/#getme).
    - `new_chat_title` string — *Optional*. A chat title was changed to this value
    - `new_chat_photo` PhotoSize[] — *Optional*. A chat photo was change to this value
      - `file_id` string, required — Identifier for this file, which can be used to download or reuse the file
      - `file_unique_id` string, required — Unique identifier for this file, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file.
      - `width` integer, required — Photo width
      - `height` integer, required — Photo height
      - `file_size` integer — *Optional*. File size
    - `delete_chat_photo` boolean — *Optional*. Service message: the chat photo was deleted
    - `group_chat_created` boolean — *Optional*. Service message: the group has been created
    - `supergroup_chat_created` boolean — *Optional*. Service message: the supergroup has been created. This field can't be received in a message coming through updates, because bot can't be a member of a supergroup when it is created. It can only be found in reply\_to\_message if someone replies to a very first message in a directly created supergroup.
    - `channel_chat_created` boolean — *Optional*. Service message: the channel has been created. This field can't be received in a message coming through updates, because bot can't be a member of a channel when it is created. It can only be found in reply\_to\_message if someone replies to a very first message in a channel.
    - `migrate_to_chat_id` integer — *Optional*. The group has been migrated to a supergroup with the specified identifier. This number may be greater than 32 bits and some programming languages may have difficulty/silent defects in interpreting it. But it is smaller than 52 bits, so a signed 64 bit integer or double-precision float type are safe for storing this identifier.
    - `migrate_from_chat_id` integer — *Optional*. The supergroup has been migrated from a group with the specified identifier. This number may be greater than 32 bits and some programming languages may have difficulty/silent defects in interpreting it. But it is smaller than 52 bits, so a signed 64 bit integer or double-precision float type are safe for storing this identifier.
    - `pinned_message` Message — recursive
    - `invoice` Invoice — This object contains basic information about an invoice.
      - `title` string, required — Product name
      - `description` string, required — Product description
      - `start_parameter` string, required — Unique bot deep-linking parameter that can be used to generate this invoice
      - `currency` string, required — Three-letter ISO 4217 [currency](/bots/payments#supported-currencies) code
      - `total_amount` integer, required — Total price in the *smallest units* of the currency (integer, **not** float/double). For example, for a price of `US$ 1.45` pass `amount = 145`. See the *exp* parameter in [currencies.json](https://core.telegram.org/bots/payments/currencies.json), it shows the number of digits past the decimal point for each currency (2 for the majority of currencies).
    - `successful_payment` SuccessfulPayment — This object contains basic information about a successful payment.
      - `currency` string, required — Three-letter ISO 4217 [currency](/bots/payments#supported-currencies) code
      - `total_amount` integer, required — Total price in the *smallest units* of the currency (integer, **not** float/double). For example, for a price of `US$ 1.45` pass `amount = 145`. See the *exp* parameter in [currencies.json](https://core.telegram.org/bots/payments/currencies.json), it shows the number of digits past the decimal point for each currency (2 for the majority of currencies).
      - `invoice_payload` string, required — Bot specified invoice payload
      - `shipping_option_id` string — *Optional*. Identifier of the shipping option chosen by the user
      - `order_info` OrderInfo — This object represents information about an order.
        - `name` string — *Optional*. User name
        - `phone_number` string — *Optional*. User's phone number
        - `email` string — *Optional*. User email
        - `shipping_address` ShippingAddress — This object represents a shipping address.
          - `country_code` string, required — ISO 3166-1 alpha-2 country code
          - `state` string, required — State, if applicable
          - `city` string, required — City
          - `street_line1` string, required — First line for the address
          - `street_line2` string, required — Second line for the address
          - `post_code` string, required — Address post code
      - `telegram_payment_charge_id` string, required — Telegram payment identifier
      - `provider_payment_charge_id` string, required — Provider payment identifier
    - `connected_website` string — *Optional*. The domain name of the website on which the user has logged in. [More about Telegram Login »](/widgets/login)
    - `passport_data` PassportData — Contains information about Telegram Passport data shared with the bot by the user.
      - `data` EncryptedPassportElement[], required — Array with information about documents and other Telegram Passport elements that was shared with the bot
        - `type` 'personal_details' | 'passport' | 'driver_license' | 'identity_card' | 'internal_passport' | 'address' | 'utility_bill' | 'bank_statement' | 'rental_agreement' | 'passport_registration' | 'temporary_registration' | 'phone_number' | 'email', required — Element type. One of “personal\_details”, “passport”, “driver\_license”, “identity\_card”, “internal\_passport”, “address”, “utility\_bill”, “bank\_statement”, “rental\_agreement”, “passport\_registration”, “temporary\_registration”, “phone\_number”, “email”.
        - `data` string — *Optional*. Base64-encoded encrypted Telegram Passport element data provided by the user, available for “personal\_details”, “passport”, “driver\_license”, “identity\_card”, “internal\_passport” and “address” types. Can be decrypted and verified using the accompanying [EncryptedCredentials](https://core.telegram.org/bots/api/#encryptedcredentials).
        - `phone_number` string — *Optional*. User's verified phone number, available only for “phone\_number” type
        - `email` string — *Optional*. User's verified email address, available only for “email” type
        - `files` PassportFile[] — *Optional*. Array of encrypted files with documents provided by the user, available for “utility\_bill”, “bank\_statement”, “rental\_agreement”, “passport\_registration” and “temporary\_registration” types. Files can be decrypted and verified using the accompanying [EncryptedCredentials](https://core.telegram.org/bots/api/#encryptedcredentials).
          - `file_id` string, required — Identifier for this file, which can be used to download or reuse the file
          - `file_unique_id` string, required — Unique identifier for this file, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file.
          - `file_size` integer, required — File size
          - `file_date` integer, required — Unix time when the file was uploaded
        - `front_side` PassportFile — This object represents a file uploaded to Telegram Passport. Currently all Telegram Passport files are in JPEG format when decrypted and don't exceed 10MB.
          - `file_id` string, required — Identifier for this file, which can be used to download or reuse the file
          - `file_unique_id` string, required — Unique identifier for this file, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file.
          - `file_size` integer, required — File size
          - `file_date` integer, required — Unix time when the file was uploaded
        - `reverse_side` PassportFile — This object represents a file uploaded to Telegram Passport. Currently all Telegram Passport files are in JPEG format when decrypted and don't exceed 10MB.
          - `file_id` string, required — Identifier for this file, which can be used to download or reuse the file
          - `file_unique_id` string, required — Unique identifier for this file, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file.
          - `file_size` integer, required — File size
          - `file_date` integer, required — Unix time when the file was uploaded
        - `selfie` PassportFile — This object represents a file uploaded to Telegram Passport. Currently all Telegram Passport files are in JPEG format when decrypted and don't exceed 10MB.
          - `file_id` string, required — Identifier for this file, which can be used to download or reuse the file
          - `file_unique_id` string, required — Unique identifier for this file, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file.
          - `file_size` integer, required — File size
          - `file_date` integer, required — Unix time when the file was uploaded
        - `translation` PassportFile[] — *Optional*. Array of encrypted files with translated versions of documents provided by the user. Available if requested for “passport”, “driver\_license”, “identity\_card”, “internal\_passport”, “utility\_bill”, “bank\_statement”, “rental\_agreement”, “passport\_registration” and “temporary\_registration” types. Files can be decrypted and verified using the accompanying [EncryptedCredentials](https://core.telegram.org/bots/api/#encryptedcredentials).
          - `file_id` string, required — Identifier for this file, which can be used to download or reuse the file
          - `file_unique_id` string, required — Unique identifier for this file, which is supposed to be the same over time and for different bots. Can't be used to download or reuse the file.
          - `file_size` integer, required — File size
          - `file_date` integer, required — Unix time when the file was uploaded
        - `hash` string, required — Base64-encoded element hash for using in [PassportElementErrorUnspecified](https://core.telegram.org/bots/api/#passportelementerrorunspecified)
      - `credentials` EncryptedCredentials, required — Contains data required for decrypting and authenticating [EncryptedPassportElement](https://core.telegram.org/bots/api/#encryptedpassportelement). See the [Telegram Passport Documentation](https://core.telegram.org/passport#receiving-information) for a complete description of the data decryption and authentication processes.
        - `data` string, required — Base64-encoded encrypted JSON-serialized data with unique user's payload, data hashes and secrets required for [EncryptedPassportElement](https://core.telegram.org/bots/api/#encryptedpassportelement) decryption and authentication
        - `hash` string, required — Base64-encoded data hash for data authentication
        - `secret` string, required — Base64-encoded secret, encrypted with the bot's public RSA key, required for data decryption
    - `proximity_alert_triggered` ProximityAlertTriggered — This object represents the content of a service message, sent whenever a user in the chat triggers a proximity alert set by another user.
      - `traveler` User, required — This object represents a Telegram user or bot.
        - `id` integer, required — Unique identifier for this user or bot
        - `is_bot` boolean, required — True, if this user is a bot
        - `first_name` string, required — User's or bot's first name
        - `last_name` string — *Optional*. User's or bot's last name
        - `username` string — *Optional*. User's or bot's username
        - `language_code` string — *Optional*. [IETF language tag](https://en.wikipedia.org/wiki/IETF_language_tag) of the user's language
        - `can_join_groups` boolean — *Optional*. True, if the bot can be invited to groups. Returned only in [getMe](https://core.telegram.org/bots/api/#getme).
        - `can_read_all_group_messages` boolean — *Optional*. True, if [privacy mode](https://core.telegram.org/bots#privacy-mode) is disabled for the bot. Returned only in [getMe](https://core.telegram.org/bots/api/#getme).
        - `supports_inline_queries` boolean — *Optional*. True, if the bot supports inline queries. Returned only in [getMe](https://core.telegram.org/bots/api/#getme).
      - `watcher` User, required — This object represents a Telegram user or bot.
        - `id` integer, required — Unique identifier for this user or bot
        - `is_bot` boolean, required — True, if this user is a bot
        - `first_name` string, required — User's or bot's first name
        - `last_name` string — *Optional*. User's or bot's last name
        - `username` string — *Optional*. User's or bot's username
        - `language_code` string — *Optional*. [IETF language tag](https://en.wikipedia.org/wiki/IETF_language_tag) of the user's language
        - `can_join_groups` boolean — *Optional*. True, if the bot can be invited to groups. Returned only in [getMe](https://core.telegram.org/bots/api/#getme).
        - `can_read_all_group_messages` boolean — *Optional*. True, if [privacy mode](https://core.telegram.org/bots#privacy-mode) is disabled for the bot. Returned only in [getMe](https://core.telegram.org/bots/api/#getme).
        - `supports_inline_queries` boolean — *Optional*. True, if the bot supports inline queries. Returned only in [getMe](https://core.telegram.org/bots/api/#getme).
      - `distance` integer, required — The distance between the users
    - `reply_markup` InlineKeyboardMarkup — This object represents an [inline keyboard](https://core.telegram.org/bots#inline-keyboards-and-on-the-fly-updating) that appears right next to the message it belongs to.
      - `inline_keyboard` array[], required — Array of button rows, each represented by an Array of [InlineKeyboardButton](https://core.telegram.org/bots/api/#inlinekeyboardbutton) objects
        - InlineKeyboardButton[]
          - `text` string, required — Label text on the button
          - `url` string — *Optional*. HTTP or tg:// url to be opened when button is pressed
          - `login_url` LoginUrl — This object represents a parameter of the inline keyboard button used to automatically authorize a user. Serves as a great replacement for the [Telegram Login Widget](https://core.telegram.org/widgets/login) when the user is coming from Telegram. All the user needs to do is tap/click a button and confirm that they want to log in: Telegram apps support these buttons as of [version 5.7](https://telegram.org/blog/privacy-discussions-web-bots#meet-seamless-web-bots). Sample bot: [@discussbot](https://t.me/discussbot)
            - `url` string, required — An HTTP URL to be opened with user authorization data added to the query string when the button is pressed. If the user refuses to provide authorization data, the original URL without information about the user will be opened. The data added is the same as described in [Receiving authorization data](https://core.telegram.org/widgets/login#receiving-authorization-data). **NOTE:** You **must** always check the hash of the received data to verify the authentication and the integrity of the data as described in [Checking authorization](https://core.telegram.org/widgets/login#checking-authorization).
            - `forward_text` string — *Optional*. New text of the button in forwarded messages.
            - `bot_username` string — *Optional*. Username of a bot, which will be used for user authorization. See [Setting up a bot](https://core.telegram.org/widgets/login#setting-up-a-bot) for more details. If not specified, the current bot's username will be assumed. The *url*'s domain must be the same as the domain linked with the bot. See [Linking your domain to the bot](https://core.telegram.org/widgets/login#linking-your-domain-to-the-bot) for more details.
            - `request_write_access` boolean — *Optional*. Pass True to request the permission for your bot to send messages to the user.
          - `callback_data` string — *Optional*. Data to be sent in a [callback query](https://core.telegram.org/bots/api/#callbackquery) to the bot when button is pressed, 1-64 bytes
          - `switch_inline_query` string — *Optional*. If set, pressing the button will prompt the user to select one of their chats, open that chat and insert the bot's username and the specified inline query in the input field. Can be empty, in which case just the bot's username will be inserted. **Note:** This offers an easy way for users to start using your bot in [inline mode](/bots/inline) when they are currently in a private chat with it. Especially useful when combined with [*switch\_pm…*](https://core.telegram.org/bots/api/#answerinlinequery) actions – in this case the user will be automatically returned to the chat they switched from, skipping the chat selection screen.
          - `switch_inline_query_current_chat` string — *Optional*. If set, pressing the button will insert the bot's username and the specified inline query in the current chat's input field. Can be empty, in which case only the bot's username will be inserted. This offers a quick way for the user to open your bot in inline mode in the same chat – good for selecting something from multiple options.
          - `callback_game` unknown
          - `pay` boolean — *Optional*. Specify True, to send a [Pay button](https://core.telegram.org/bots/api/#payments). **NOTE:** This type of button **must** always be the first button in the first row.

## Other responses

- `default`

---

[API](https://skmtc.net/stoplight/apis/telegram-bot-api.md) · [All operations](https://skmtc.net/stoplight/apis/telegram-bot-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/stoplight/telegram-bot-api/versions/be4bbb34b64a/schema)
