openapi: 3.0.0 info: title: 'Telegram Bot API' description: 'Auto-generated OpenAPI schema by TGScraper.' version: 5.5.0 servers: - url: 'https://api.telegram.org/bot{token}' variables: token: default: '1234:AAbbcc' description: "Bot's unique authentication token, given by @BotFather." externalDocs: description: 'Official Telegram Bot API documentation.' url: 'https://core.telegram.org/bots/api' components: responses: BadRequest: description: 'Bad request, you have provided malformed data.' content: application/json: schema: $ref: '#/components/schemas/Error' Unauthorized: description: 'The authorization token is invalid or it has been revoked.' content: application/json: schema: $ref: '#/components/schemas/Error' Forbidden: description: 'This action is forbidden.' content: application/json: schema: $ref: '#/components/schemas/Error' NotFound: description: 'The specified resource was not found.' content: application/json: schema: $ref: '#/components/schemas/Error' Conflict: description: 'There is a conflict with another instance using webhook or polling.' content: application/json: schema: $ref: '#/components/schemas/Error' TooManyRequests: description: "You're doing too many requests, retry after a while." content: application/json: schema: $ref: '#/components/schemas/Error' ServerError: description: 'The bot API is experiencing some issues, try again later.' content: application/json: schema: $ref: '#/components/schemas/Error' UnknownError: description: 'An unknown error occurred.' content: application/json: schema: $ref: '#/components/schemas/Error' schemas: Response: type: object description: 'Represents the default response object.' required: - ok properties: ok: type: boolean Success: description: 'Request was successful, the result is returned.' allOf: - $ref: '#/components/schemas/Response' - type: object required: - result properties: result: type: object Error: description: 'Request was unsuccessful, so an error occurred.' allOf: - $ref: '#/components/schemas/Response' - type: object required: - error_code - description properties: error_code: type: integer description: type: string parameters: $ref: '#/components/schemas/ResponseParameters' Update: description: 'This object represents an incoming update.At most one of the optional parameters can be present in any given update.' required: - update_id properties: update_id: type: integer message: $ref: '#/components/schemas/Message' edited_message: $ref: '#/components/schemas/Message' channel_post: $ref: '#/components/schemas/Message' edited_channel_post: $ref: '#/components/schemas/Message' inline_query: $ref: '#/components/schemas/InlineQuery' chosen_inline_result: $ref: '#/components/schemas/ChosenInlineResult' callback_query: $ref: '#/components/schemas/CallbackQuery' shipping_query: $ref: '#/components/schemas/ShippingQuery' pre_checkout_query: $ref: '#/components/schemas/PreCheckoutQuery' poll: $ref: '#/components/schemas/Poll' poll_answer: $ref: '#/components/schemas/PollAnswer' my_chat_member: $ref: '#/components/schemas/ChatMemberUpdated' chat_member: $ref: '#/components/schemas/ChatMemberUpdated' chat_join_request: $ref: '#/components/schemas/ChatJoinRequest' type: object WebhookInfo: description: 'Contains information about the current status of a webhook.' required: - url - has_custom_certificate - pending_update_count properties: url: type: string has_custom_certificate: type: boolean pending_update_count: type: integer ip_address: type: string last_error_date: type: integer last_error_message: type: string max_connections: type: integer allowed_updates: type: array items: type: string type: object User: description: 'This object represents a Telegram user or bot.' required: - id - is_bot - first_name properties: id: type: integer is_bot: type: boolean first_name: type: string last_name: type: string username: type: string language_code: type: string can_join_groups: type: boolean can_read_all_group_messages: type: boolean supports_inline_queries: type: boolean type: object Chat: description: 'This object represents a chat.' required: - id - type properties: id: type: integer type: type: string title: type: string username: type: string first_name: type: string last_name: type: string photo: $ref: '#/components/schemas/ChatPhoto' bio: type: string has_private_forwards: type: boolean default: true description: type: string invite_link: type: string pinned_message: $ref: '#/components/schemas/Message' permissions: $ref: '#/components/schemas/ChatPermissions' slow_mode_delay: type: integer message_auto_delete_time: type: integer has_protected_content: type: boolean default: true sticker_set_name: type: string can_set_sticker_set: type: boolean default: true linked_chat_id: type: integer location: $ref: '#/components/schemas/ChatLocation' type: object Message: description: 'This object represents a message.' required: - message_id - date - chat properties: message_id: type: integer from: $ref: '#/components/schemas/User' sender_chat: $ref: '#/components/schemas/Chat' date: type: integer chat: $ref: '#/components/schemas/Chat' forward_from: $ref: '#/components/schemas/User' forward_from_chat: $ref: '#/components/schemas/Chat' forward_from_message_id: type: integer forward_signature: type: string forward_sender_name: type: string forward_date: type: integer is_automatic_forward: type: boolean default: true reply_to_message: $ref: '#/components/schemas/Message' via_bot: $ref: '#/components/schemas/User' edit_date: type: integer has_protected_content: type: boolean default: true media_group_id: type: string author_signature: type: string text: type: string entities: type: array items: $ref: '#/components/schemas/MessageEntity' animation: $ref: '#/components/schemas/Animation' audio: $ref: '#/components/schemas/Audio' document: $ref: '#/components/schemas/Document' photo: type: array items: $ref: '#/components/schemas/PhotoSize' sticker: $ref: '#/components/schemas/Sticker' video: $ref: '#/components/schemas/Video' video_note: $ref: '#/components/schemas/VideoNote' voice: $ref: '#/components/schemas/Voice' caption: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' contact: $ref: '#/components/schemas/Contact' dice: $ref: '#/components/schemas/Dice' game: $ref: '#/components/schemas/Game' poll: $ref: '#/components/schemas/Poll' venue: $ref: '#/components/schemas/Venue' location: $ref: '#/components/schemas/Location' new_chat_members: type: array items: $ref: '#/components/schemas/User' left_chat_member: $ref: '#/components/schemas/User' new_chat_title: type: string new_chat_photo: type: array items: $ref: '#/components/schemas/PhotoSize' delete_chat_photo: type: boolean default: true group_chat_created: type: boolean default: true supergroup_chat_created: type: boolean default: true channel_chat_created: type: boolean default: true message_auto_delete_timer_changed: $ref: '#/components/schemas/MessageAutoDeleteTimerChanged' migrate_to_chat_id: type: integer migrate_from_chat_id: type: integer pinned_message: $ref: '#/components/schemas/Message' invoice: $ref: '#/components/schemas/Invoice' successful_payment: $ref: '#/components/schemas/SuccessfulPayment' connected_website: type: string passport_data: $ref: '#/components/schemas/PassportData' proximity_alert_triggered: $ref: '#/components/schemas/ProximityAlertTriggered' voice_chat_scheduled: $ref: '#/components/schemas/VoiceChatScheduled' voice_chat_started: $ref: '#/components/schemas/VoiceChatStarted' voice_chat_ended: $ref: '#/components/schemas/VoiceChatEnded' voice_chat_participants_invited: $ref: '#/components/schemas/VoiceChatParticipantsInvited' reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' type: object MessageId: description: 'This object represents a unique message identifier.' required: - message_id properties: message_id: type: integer type: object MessageEntity: description: 'This object represents one special entity in a text message. For example, hashtags, usernames, URLs, etc.' required: - type - offset - length properties: type: type: string offset: type: integer length: type: integer url: type: string user: $ref: '#/components/schemas/User' language: type: string type: object PhotoSize: description: 'This object represents one size of a photo or a file / sticker thumbnail.' required: - file_id - file_unique_id - width - height properties: file_id: type: string file_unique_id: type: string width: type: integer height: type: integer file_size: type: integer type: object Animation: description: 'This object represents an animation file (GIF or H.264/MPEG-4 AVC video without sound).' required: - file_id - file_unique_id - width - height - duration properties: file_id: type: string file_unique_id: type: string width: type: integer height: type: integer duration: type: integer thumb: $ref: '#/components/schemas/PhotoSize' file_name: type: string mime_type: type: string file_size: type: integer type: object Audio: description: 'This object represents an audio file to be treated as music by the Telegram clients.' required: - file_id - file_unique_id - duration properties: file_id: type: string file_unique_id: type: string duration: type: integer performer: type: string title: type: string file_name: type: string mime_type: type: string file_size: type: integer thumb: $ref: '#/components/schemas/PhotoSize' type: object Document: description: 'This object represents a general file (as opposed to photos, voice messages and audio files).' required: - file_id - file_unique_id properties: file_id: type: string file_unique_id: type: string thumb: $ref: '#/components/schemas/PhotoSize' file_name: type: string mime_type: type: string file_size: type: integer type: object Video: description: 'This object represents a video file.' required: - file_id - file_unique_id - width - height - duration properties: file_id: type: string file_unique_id: type: string width: type: integer height: type: integer duration: type: integer thumb: $ref: '#/components/schemas/PhotoSize' file_name: type: string mime_type: type: string file_size: type: integer type: object VideoNote: description: 'This object represents a video message (available in Telegram apps as of v.4.0).' required: - file_id - file_unique_id - length - duration properties: file_id: type: string file_unique_id: type: string length: type: integer duration: type: integer thumb: $ref: '#/components/schemas/PhotoSize' file_size: type: integer type: object Voice: description: 'This object represents a voice note.' required: - file_id - file_unique_id - duration properties: file_id: type: string file_unique_id: type: string duration: type: integer mime_type: type: string file_size: type: integer type: object Contact: description: 'This object represents a phone contact.' required: - phone_number - first_name properties: phone_number: type: string first_name: type: string last_name: type: string user_id: type: integer vcard: type: string type: object Dice: description: 'This object represents an animated emoji that displays a random value.' required: - emoji - value properties: emoji: type: string value: type: integer type: object PollOption: description: 'This object contains information about one answer option in a poll.' required: - text - voter_count properties: text: type: string voter_count: type: integer type: object PollAnswer: description: 'This object represents an answer of a user in a non-anonymous poll.' required: - poll_id - user - option_ids properties: poll_id: type: string user: $ref: '#/components/schemas/User' option_ids: type: array items: type: integer type: object Poll: description: 'This object contains information about a poll.' required: - id - question - options - total_voter_count - is_closed - is_anonymous - type - allows_multiple_answers properties: id: type: string question: type: string options: type: array items: $ref: '#/components/schemas/PollOption' total_voter_count: type: integer is_closed: type: boolean is_anonymous: type: boolean type: type: string allows_multiple_answers: type: boolean correct_option_id: type: integer explanation: type: string explanation_entities: type: array items: $ref: '#/components/schemas/MessageEntity' open_period: type: integer close_date: type: integer type: object Location: description: 'This object represents a point on the map.' required: - longitude - latitude properties: longitude: type: number latitude: type: number horizontal_accuracy: type: number live_period: type: integer heading: type: integer proximity_alert_radius: type: integer type: object Venue: description: 'This object represents a venue.' required: - location - title - address properties: location: $ref: '#/components/schemas/Location' title: type: string address: type: string foursquare_id: type: string foursquare_type: type: string google_place_id: type: string google_place_type: type: string type: object ProximityAlertTriggered: description: 'This object represents the content of a service message, sent whenever a user in the chat triggers a proximity alert set by another user.' required: - traveler - watcher - distance properties: traveler: $ref: '#/components/schemas/User' watcher: $ref: '#/components/schemas/User' distance: type: integer type: object MessageAutoDeleteTimerChanged: description: 'This object represents a service message about a change in auto-delete timer settings.' required: - message_auto_delete_time properties: message_auto_delete_time: type: integer type: object VoiceChatScheduled: description: 'This object represents a service message about a voice chat scheduled in the chat.' required: - start_date properties: start_date: type: integer type: object VoiceChatStarted: description: 'This object represents a service message about a voice chat started in the chat. Currently holds no information.' type: object VoiceChatEnded: description: 'This object represents a service message about a voice chat ended in the chat.' required: - duration properties: duration: type: integer type: object VoiceChatParticipantsInvited: description: 'This object represents a service message about new members invited to a voice chat.' properties: users: type: array items: $ref: '#/components/schemas/User' type: object UserProfilePhotos: description: "This object represent a user's profile pictures." required: - total_count - photos properties: total_count: type: integer photos: type: array items: type: array items: $ref: '#/components/schemas/PhotoSize' type: object File: description: 'This object represents a file ready to be downloaded. The file can be downloaded via the link https://api.telegram.org/file/bot/. It is guaranteed that the link will be valid for at least 1 hour. When the link expires, a new one can be requested by calling getFile.' required: - file_id - file_unique_id properties: file_id: type: string file_unique_id: type: string file_size: type: integer file_path: type: string type: object ReplyKeyboardMarkup: description: 'This object represents a custom keyboard with reply options (see Introduction to bots for details and examples).' required: - keyboard properties: keyboard: type: array items: type: array items: $ref: '#/components/schemas/KeyboardButton' resize_keyboard: type: boolean one_time_keyboard: type: boolean input_field_placeholder: type: string selective: type: boolean type: object KeyboardButton: description: 'This object represents one button of the reply keyboard. For simple text buttons String can be used instead of this object to specify text of the button. Optional fields request_contact, request_location, and request_poll are mutually exclusive.' required: - text properties: text: type: string request_contact: type: boolean request_location: type: boolean request_poll: $ref: '#/components/schemas/KeyboardButtonPollType' type: object KeyboardButtonPollType: description: 'This object represents type of a poll, which is allowed to be created and sent when the corresponding button is pressed.' properties: type: type: string type: object ReplyKeyboardRemove: description: 'Upon receiving a message with this object, Telegram clients will remove the current custom keyboard and display the default letter-keyboard. By default, custom keyboards are displayed until a new keyboard is sent by a bot. An exception is made for one-time keyboards that are hidden immediately after the user presses a button (see ReplyKeyboardMarkup).' required: - remove_keyboard properties: remove_keyboard: type: boolean default: true selective: type: boolean type: object InlineKeyboardMarkup: description: 'This object represents an inline keyboard that appears right next to the message it belongs to.' required: - inline_keyboard properties: inline_keyboard: type: array items: type: array items: $ref: '#/components/schemas/InlineKeyboardButton' type: object InlineKeyboardButton: description: 'This object represents one button of an inline keyboard. You must use exactly one of the optional fields.' required: - text properties: text: type: string url: type: string login_url: $ref: '#/components/schemas/LoginUrl' callback_data: type: string switch_inline_query: type: string switch_inline_query_current_chat: type: string callback_game: $ref: '#/components/schemas/CallbackGame' pay: type: boolean type: object LoginUrl: description: "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 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:\nTelegram apps support these buttons as of version 5.7." required: - url properties: url: type: string forward_text: type: string bot_username: type: string request_write_access: type: boolean type: object CallbackQuery: description: 'This object represents an incoming callback query from a callback button in an inline keyboard. If the button that originated the query was attached to a message sent by the bot, the field message will be present. If the button was attached to a message sent via the bot (in inline mode), the field inline_message_id will be present. Exactly one of the fields data or game_short_name will be present.' required: - id - from - chat_instance properties: id: type: string from: $ref: '#/components/schemas/User' message: $ref: '#/components/schemas/Message' inline_message_id: type: string chat_instance: type: string data: type: string game_short_name: type: string type: object ForceReply: description: "Upon receiving a message with this object, Telegram clients will display a reply interface to the user (act as if the user has selected the bot's message and tapped 'Reply'). This can be extremely useful if you want to create user-friendly step-by-step interfaces without having to sacrifice privacy mode." required: - force_reply properties: force_reply: type: boolean default: true input_field_placeholder: type: string selective: type: boolean type: object ChatPhoto: description: 'This object represents a chat photo.' required: - small_file_id - small_file_unique_id - big_file_id - big_file_unique_id properties: small_file_id: type: string small_file_unique_id: type: string big_file_id: type: string big_file_unique_id: type: string type: object ChatInviteLink: description: 'Represents an invite link for a chat.' required: - invite_link - creator - creates_join_request - is_primary - is_revoked properties: invite_link: type: string creator: $ref: '#/components/schemas/User' creates_join_request: type: boolean is_primary: type: boolean is_revoked: type: boolean name: type: string expire_date: type: integer member_limit: type: integer pending_join_request_count: type: integer type: object ChatMember: description: 'This object contains information about one member of a chat. Currently, the following 6 types of chat members are supported:' anyOf: - $ref: '#/components/schemas/ChatMemberOwner' - $ref: '#/components/schemas/ChatMemberAdministrator' - $ref: '#/components/schemas/ChatMemberMember' - $ref: '#/components/schemas/ChatMemberRestricted' - $ref: '#/components/schemas/ChatMemberLeft' - $ref: '#/components/schemas/ChatMemberBanned' ChatMemberOwner: description: 'Represents a chat member that owns the chat and has all administrator privileges.' required: - status - user - is_anonymous properties: status: type: string user: $ref: '#/components/schemas/User' is_anonymous: type: boolean custom_title: type: string type: object ChatMemberAdministrator: description: 'Represents a chat member that has some additional privileges.' required: - status - user - can_be_edited - is_anonymous - can_manage_chat - can_delete_messages - can_manage_voice_chats - can_restrict_members - can_promote_members - can_change_info - can_invite_users properties: status: type: string user: $ref: '#/components/schemas/User' can_be_edited: type: boolean is_anonymous: type: boolean can_manage_chat: type: boolean can_delete_messages: type: boolean can_manage_voice_chats: type: boolean can_restrict_members: type: boolean can_promote_members: type: boolean can_change_info: type: boolean can_invite_users: type: boolean can_post_messages: type: boolean can_edit_messages: type: boolean can_pin_messages: type: boolean custom_title: type: string type: object ChatMemberMember: description: 'Represents a chat member that has no additional privileges or restrictions.' required: - status - user properties: status: type: string user: $ref: '#/components/schemas/User' type: object ChatMemberRestricted: description: 'Represents a chat member that is under certain restrictions in the chat. Supergroups only.' required: - status - user - is_member - can_change_info - can_invite_users - can_pin_messages - can_send_messages - can_send_media_messages - can_send_polls - can_send_other_messages - can_add_web_page_previews - until_date properties: status: type: string user: $ref: '#/components/schemas/User' is_member: type: boolean can_change_info: type: boolean can_invite_users: type: boolean can_pin_messages: type: boolean can_send_messages: type: boolean can_send_media_messages: type: boolean can_send_polls: type: boolean can_send_other_messages: type: boolean can_add_web_page_previews: type: boolean until_date: type: integer type: object ChatMemberLeft: description: "Represents a chat member that isn't currently a member of the chat, but may join it themselves." required: - status - user properties: status: type: string user: $ref: '#/components/schemas/User' type: object ChatMemberBanned: description: "Represents a chat member that was banned in the chat and can't return to the chat or view chat messages." required: - status - user - until_date properties: status: type: string user: $ref: '#/components/schemas/User' until_date: type: integer type: object ChatMemberUpdated: description: 'This object represents changes in the status of a chat member.' required: - chat - from - date - old_chat_member - new_chat_member properties: chat: $ref: '#/components/schemas/Chat' from: $ref: '#/components/schemas/User' date: type: integer old_chat_member: $ref: '#/components/schemas/ChatMember' new_chat_member: $ref: '#/components/schemas/ChatMember' invite_link: $ref: '#/components/schemas/ChatInviteLink' type: object ChatJoinRequest: description: 'Represents a join request sent to a chat.' required: - chat - from - date properties: chat: $ref: '#/components/schemas/Chat' from: $ref: '#/components/schemas/User' date: type: integer bio: type: string invite_link: $ref: '#/components/schemas/ChatInviteLink' type: object ChatPermissions: description: 'Describes actions that a non-administrator user is allowed to take in a chat.' properties: can_send_messages: type: boolean can_send_media_messages: type: boolean can_send_polls: type: boolean can_send_other_messages: type: boolean can_add_web_page_previews: type: boolean can_change_info: type: boolean can_invite_users: type: boolean can_pin_messages: type: boolean type: object ChatLocation: description: 'Represents a location to which a chat is connected.' required: - location - address properties: location: $ref: '#/components/schemas/Location' address: type: string type: object BotCommand: description: 'This object represents a bot command.' required: - command - description properties: command: type: string description: type: string type: object BotCommandScope: description: 'This object represents the scope to which bot commands are applied. Currently, the following 7 scopes are supported:' anyOf: - $ref: '#/components/schemas/BotCommandScopeDefault' - $ref: '#/components/schemas/BotCommandScopeAllPrivateChats' - $ref: '#/components/schemas/BotCommandScopeAllGroupChats' - $ref: '#/components/schemas/BotCommandScopeAllChatAdministrators' - $ref: '#/components/schemas/BotCommandScopeChat' - $ref: '#/components/schemas/BotCommandScopeChatAdministrators' - $ref: '#/components/schemas/BotCommandScopeChatMember' BotCommandScopeDefault: description: 'Represents the default scope of bot commands. Default commands are used if no commands with a narrower scope are specified for the user.' required: - type properties: type: type: string default: default type: object BotCommandScopeAllPrivateChats: description: 'Represents the scope of bot commands, covering all private chats.' required: - type properties: type: type: string default: all_private_chats type: object BotCommandScopeAllGroupChats: description: 'Represents the scope of bot commands, covering all group and supergroup chats.' required: - type properties: type: type: string default: all_group_chats type: object BotCommandScopeAllChatAdministrators: description: 'Represents the scope of bot commands, covering all group and supergroup chat administrators.' required: - type properties: type: type: string default: all_chat_administrators type: object BotCommandScopeChat: description: 'Represents the scope of bot commands, covering a specific chat.' required: - type - chat_id properties: type: type: string default: chat chat_id: anyOf: - type: integer - type: string type: object BotCommandScopeChatAdministrators: description: 'Represents the scope of bot commands, covering all administrators of a specific group or supergroup chat.' required: - type - chat_id properties: type: type: string default: chat_administrators chat_id: anyOf: - type: integer - type: string type: object BotCommandScopeChatMember: description: 'Represents the scope of bot commands, covering a specific member of a group or supergroup chat.' required: - type - chat_id - user_id properties: type: type: string default: chat_member chat_id: anyOf: - type: integer - type: string user_id: type: integer type: object ResponseParameters: description: 'Contains information about why a request was unsuccessful.' properties: migrate_to_chat_id: type: integer retry_after: type: integer type: object InputMedia: description: 'This object represents the content of a media message to be sent. It should be one of' anyOf: - $ref: '#/components/schemas/InputMediaAnimation' - $ref: '#/components/schemas/InputMediaDocument' - $ref: '#/components/schemas/InputMediaAudio' - $ref: '#/components/schemas/InputMediaPhoto' - $ref: '#/components/schemas/InputMediaVideo' InputMediaPhoto: description: 'Represents a photo to be sent.' required: - type - media properties: type: type: string default: photo media: type: string caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' type: object InputMediaVideo: description: 'Represents a video to be sent.' required: - type - media properties: type: type: string default: video media: type: string thumb: anyOf: - $ref: '#/components/schemas/InputFile' - type: string caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' width: type: integer height: type: integer duration: type: integer supports_streaming: type: boolean type: object InputMediaAnimation: description: 'Represents an animation file (GIF or H.264/MPEG-4 AVC video without sound) to be sent.' required: - type - media properties: type: type: string default: animation media: type: string thumb: anyOf: - $ref: '#/components/schemas/InputFile' - type: string caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' width: type: integer height: type: integer duration: type: integer type: object InputMediaAudio: description: 'Represents an audio file to be treated as music to be sent.' required: - type - media properties: type: type: string default: audio media: type: string thumb: anyOf: - $ref: '#/components/schemas/InputFile' - type: string caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' duration: type: integer performer: type: string title: type: string type: object InputMediaDocument: description: 'Represents a general file to be sent.' required: - type - media properties: type: type: string default: document media: type: string thumb: anyOf: - $ref: '#/components/schemas/InputFile' - type: string caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' disable_content_type_detection: type: boolean type: object InputFile: description: 'This object represents the contents of a file to be uploaded. Must be posted using multipart/form-data in the usual way that files are uploaded via the browser.' type: object Sticker: description: 'This object represents a sticker.' required: - file_id - file_unique_id - width - height - is_animated properties: file_id: type: string file_unique_id: type: string width: type: integer height: type: integer is_animated: type: boolean thumb: $ref: '#/components/schemas/PhotoSize' emoji: type: string set_name: type: string mask_position: $ref: '#/components/schemas/MaskPosition' file_size: type: integer type: object StickerSet: description: 'This object represents a sticker set.' required: - name - title - is_animated - contains_masks - stickers properties: name: type: string title: type: string is_animated: type: boolean contains_masks: type: boolean stickers: type: array items: $ref: '#/components/schemas/Sticker' thumb: $ref: '#/components/schemas/PhotoSize' type: object MaskPosition: description: 'This object describes the position on faces where a mask should be placed by default.' required: - point - x_shift - y_shift - scale properties: point: type: string x_shift: type: number y_shift: type: number scale: type: number type: object InlineQuery: description: 'This object represents an incoming inline query. When the user sends an empty query, your bot could return some default or trending results.' required: - id - from - query - offset properties: id: type: string from: $ref: '#/components/schemas/User' query: type: string offset: type: string chat_type: type: string location: $ref: '#/components/schemas/Location' type: object InlineQueryResult: description: 'This object represents one result of an inline query. Telegram clients currently support results of the following 20 types:' anyOf: - $ref: '#/components/schemas/InlineQueryResultCachedAudio' - $ref: '#/components/schemas/InlineQueryResultCachedDocument' - $ref: '#/components/schemas/InlineQueryResultCachedGif' - $ref: '#/components/schemas/InlineQueryResultCachedMpeg4Gif' - $ref: '#/components/schemas/InlineQueryResultCachedPhoto' - $ref: '#/components/schemas/InlineQueryResultCachedSticker' - $ref: '#/components/schemas/InlineQueryResultCachedVideo' - $ref: '#/components/schemas/InlineQueryResultCachedVoice' - $ref: '#/components/schemas/InlineQueryResultArticle' - $ref: '#/components/schemas/InlineQueryResultAudio' - $ref: '#/components/schemas/InlineQueryResultContact' - $ref: '#/components/schemas/InlineQueryResultGame' - $ref: '#/components/schemas/InlineQueryResultDocument' - $ref: '#/components/schemas/InlineQueryResultGif' - $ref: '#/components/schemas/InlineQueryResultLocation' - $ref: '#/components/schemas/InlineQueryResultMpeg4Gif' - $ref: '#/components/schemas/InlineQueryResultPhoto' - $ref: '#/components/schemas/InlineQueryResultVenue' - $ref: '#/components/schemas/InlineQueryResultVideo' - $ref: '#/components/schemas/InlineQueryResultVoice' InlineQueryResultArticle: description: 'Represents a link to an article or web page.' required: - type - id - title - input_message_content properties: type: type: string default: article id: type: string title: type: string input_message_content: $ref: '#/components/schemas/InputMessageContent' reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' url: type: string hide_url: type: boolean description: type: string thumb_url: type: string thumb_width: type: integer thumb_height: type: integer type: object InlineQueryResultPhoto: description: 'Represents a link to a photo. By default, this photo will be sent by the user with optional caption. Alternatively, you can use input_message_content to send a message with the specified content instead of the photo.' required: - type - id - photo_url - thumb_url properties: type: type: string default: photo id: type: string photo_url: type: string thumb_url: type: string photo_width: type: integer photo_height: type: integer title: type: string description: type: string caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' input_message_content: $ref: '#/components/schemas/InputMessageContent' type: object InlineQueryResultGif: description: 'Represents a link to an animated GIF file. By default, this animated GIF file will be sent by the user with optional caption. Alternatively, you can use input_message_content to send a message with the specified content instead of the animation.' required: - type - id - gif_url - thumb_url properties: type: type: string default: gif id: type: string gif_url: type: string gif_width: type: integer gif_height: type: integer gif_duration: type: integer thumb_url: type: string thumb_mime_type: type: string default: image/jpeg title: type: string caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' input_message_content: $ref: '#/components/schemas/InputMessageContent' type: object InlineQueryResultMpeg4Gif: description: 'Represents a link to a video animation (H.264/MPEG-4 AVC video without sound). By default, this animated MPEG-4 file will be sent by the user with optional caption. Alternatively, you can use input_message_content to send a message with the specified content instead of the animation.' required: - type - id - mpeg4_url - thumb_url properties: type: type: string default: mpeg4_gif id: type: string mpeg4_url: type: string mpeg4_width: type: integer mpeg4_height: type: integer mpeg4_duration: type: integer thumb_url: type: string thumb_mime_type: type: string default: image/jpeg title: type: string caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' input_message_content: $ref: '#/components/schemas/InputMessageContent' type: object InlineQueryResultVideo: description: 'Represents a link to a page containing an embedded video player or a video file. By default, this video file will be sent by the user with an optional caption. Alternatively, you can use input_message_content to send a message with the specified content instead of the video.' required: - type - id - video_url - mime_type - thumb_url - title properties: type: type: string default: video id: type: string video_url: type: string mime_type: type: string thumb_url: type: string title: type: string caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' video_width: type: integer video_height: type: integer video_duration: type: integer description: type: string reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' input_message_content: $ref: '#/components/schemas/InputMessageContent' type: object InlineQueryResultAudio: description: 'Represents a link to an MP3 audio file. By default, this audio file will be sent by the user. Alternatively, you can use input_message_content to send a message with the specified content instead of the audio.' required: - type - id - audio_url - title properties: type: type: string default: audio id: type: string audio_url: type: string title: type: string caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' performer: type: string audio_duration: type: integer reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' input_message_content: $ref: '#/components/schemas/InputMessageContent' type: object InlineQueryResultVoice: description: 'Represents a link to a voice recording in an .OGG container encoded with OPUS. By default, this voice recording will be sent by the user. Alternatively, you can use input_message_content to send a message with the specified content instead of the the voice message.' required: - type - id - voice_url - title properties: type: type: string default: voice id: type: string voice_url: type: string title: type: string caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' voice_duration: type: integer reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' input_message_content: $ref: '#/components/schemas/InputMessageContent' type: object InlineQueryResultDocument: description: 'Represents a link to a file. By default, this file will be sent by the user with an optional caption. Alternatively, you can use input_message_content to send a message with the specified content instead of the file. Currently, only .PDF and .ZIP files can be sent using this method.' required: - type - id - title - document_url - mime_type properties: type: type: string default: document id: type: string title: type: string caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' document_url: type: string mime_type: type: string description: type: string reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' input_message_content: $ref: '#/components/schemas/InputMessageContent' thumb_url: type: string thumb_width: type: integer thumb_height: type: integer type: object InlineQueryResultLocation: description: 'Represents a location on a map. By default, the location will be sent by the user. Alternatively, you can use input_message_content to send a message with the specified content instead of the location.' required: - type - id - latitude - longitude - title properties: type: type: string default: location id: type: string latitude: type: number longitude: type: number title: type: string horizontal_accuracy: type: number live_period: type: integer heading: type: integer proximity_alert_radius: type: integer reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' input_message_content: $ref: '#/components/schemas/InputMessageContent' thumb_url: type: string thumb_width: type: integer thumb_height: type: integer type: object InlineQueryResultVenue: description: 'Represents a venue. By default, the venue will be sent by the user. Alternatively, you can use input_message_content to send a message with the specified content instead of the venue.' required: - type - id - latitude - longitude - title - address properties: type: type: string default: venue id: type: string latitude: type: number longitude: type: number title: type: string address: type: string foursquare_id: type: string foursquare_type: type: string google_place_id: type: string google_place_type: type: string reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' input_message_content: $ref: '#/components/schemas/InputMessageContent' thumb_url: type: string thumb_width: type: integer thumb_height: type: integer type: object InlineQueryResultContact: description: 'Represents a contact with a phone number. By default, this contact will be sent by the user. Alternatively, you can use input_message_content to send a message with the specified content instead of the contact.' required: - type - id - phone_number - first_name properties: type: type: string default: contact id: type: string phone_number: type: string first_name: type: string last_name: type: string vcard: type: string reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' input_message_content: $ref: '#/components/schemas/InputMessageContent' thumb_url: type: string thumb_width: type: integer thumb_height: type: integer type: object InlineQueryResultGame: description: 'Represents a Game.' required: - type - id - game_short_name properties: type: type: string default: game id: type: string game_short_name: type: string reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' type: object InlineQueryResultCachedPhoto: description: 'Represents a link to a photo stored on the Telegram servers. By default, this photo will be sent by the user with an optional caption. Alternatively, you can use input_message_content to send a message with the specified content instead of the photo.' required: - type - id - photo_file_id properties: type: type: string default: photo id: type: string photo_file_id: type: string title: type: string description: type: string caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' input_message_content: $ref: '#/components/schemas/InputMessageContent' type: object InlineQueryResultCachedGif: description: 'Represents a link to an animated GIF file stored on the Telegram servers. By default, this animated GIF file will be sent by the user with an optional caption. Alternatively, you can use input_message_content to send a message with specified content instead of the animation.' required: - type - id - gif_file_id properties: type: type: string default: gif id: type: string gif_file_id: type: string title: type: string caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' input_message_content: $ref: '#/components/schemas/InputMessageContent' type: object InlineQueryResultCachedMpeg4Gif: description: 'Represents a link to a video animation (H.264/MPEG-4 AVC video without sound) stored on the Telegram servers. By default, this animated MPEG-4 file will be sent by the user with an optional caption. Alternatively, you can use input_message_content to send a message with the specified content instead of the animation.' required: - type - id - mpeg4_file_id properties: type: type: string default: mpeg4_gif id: type: string mpeg4_file_id: type: string title: type: string caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' input_message_content: $ref: '#/components/schemas/InputMessageContent' type: object InlineQueryResultCachedSticker: description: 'Represents a link to a sticker stored on the Telegram servers. By default, this sticker will be sent by the user. Alternatively, you can use input_message_content to send a message with the specified content instead of the sticker.' required: - type - id - sticker_file_id properties: type: type: string default: sticker id: type: string sticker_file_id: type: string reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' input_message_content: $ref: '#/components/schemas/InputMessageContent' type: object InlineQueryResultCachedDocument: description: 'Represents a link to a file stored on the Telegram servers. By default, this file will be sent by the user with an optional caption. Alternatively, you can use input_message_content to send a message with the specified content instead of the file.' required: - type - id - title - document_file_id properties: type: type: string default: document id: type: string title: type: string document_file_id: type: string description: type: string caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' input_message_content: $ref: '#/components/schemas/InputMessageContent' type: object InlineQueryResultCachedVideo: description: 'Represents a link to a video file stored on the Telegram servers. By default, this video file will be sent by the user with an optional caption. Alternatively, you can use input_message_content to send a message with the specified content instead of the video.' required: - type - id - video_file_id - title properties: type: type: string default: video id: type: string video_file_id: type: string title: type: string description: type: string caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' input_message_content: $ref: '#/components/schemas/InputMessageContent' type: object InlineQueryResultCachedVoice: description: 'Represents a link to a voice message stored on the Telegram servers. By default, this voice message will be sent by the user. Alternatively, you can use input_message_content to send a message with the specified content instead of the voice message.' required: - type - id - voice_file_id - title properties: type: type: string default: voice id: type: string voice_file_id: type: string title: type: string caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' input_message_content: $ref: '#/components/schemas/InputMessageContent' type: object InlineQueryResultCachedAudio: description: 'Represents a link to an MP3 audio file stored on the Telegram servers. By default, this audio file will be sent by the user. Alternatively, you can use input_message_content to send a message with the specified content instead of the audio.' required: - type - id - audio_file_id properties: type: type: string default: audio id: type: string audio_file_id: type: string caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' input_message_content: $ref: '#/components/schemas/InputMessageContent' type: object InputMessageContent: description: 'This object represents the content of a message to be sent as a result of an inline query. Telegram clients currently support the following 5 types:' anyOf: - $ref: '#/components/schemas/InputTextMessageContent' - $ref: '#/components/schemas/InputLocationMessageContent' - $ref: '#/components/schemas/InputVenueMessageContent' - $ref: '#/components/schemas/InputContactMessageContent' - $ref: '#/components/schemas/InputInvoiceMessageContent' InputTextMessageContent: description: 'Represents the content of a text message to be sent as the result of an inline query.' required: - message_text properties: message_text: type: string parse_mode: type: string entities: type: array items: $ref: '#/components/schemas/MessageEntity' disable_web_page_preview: type: boolean type: object InputLocationMessageContent: description: 'Represents the content of a location message to be sent as the result of an inline query.' required: - latitude - longitude properties: latitude: type: number longitude: type: number horizontal_accuracy: type: number live_period: type: integer heading: type: integer proximity_alert_radius: type: integer type: object InputVenueMessageContent: description: 'Represents the content of a venue message to be sent as the result of an inline query.' required: - latitude - longitude - title - address properties: latitude: type: number longitude: type: number title: type: string address: type: string foursquare_id: type: string foursquare_type: type: string google_place_id: type: string google_place_type: type: string type: object InputContactMessageContent: description: 'Represents the content of a contact message to be sent as the result of an inline query.' required: - phone_number - first_name properties: phone_number: type: string first_name: type: string last_name: type: string vcard: type: string type: object InputInvoiceMessageContent: description: 'Represents the content of an invoice message to be sent as the result of an inline query.' required: - title - description - payload - provider_token - currency - prices properties: title: type: string description: type: string payload: type: string provider_token: type: string currency: type: string prices: type: array items: $ref: '#/components/schemas/LabeledPrice' max_tip_amount: type: integer suggested_tip_amounts: type: array items: type: integer provider_data: type: string photo_url: type: string photo_size: type: integer photo_width: type: integer photo_height: type: integer need_name: type: boolean need_phone_number: type: boolean need_email: type: boolean need_shipping_address: type: boolean send_phone_number_to_provider: type: boolean send_email_to_provider: type: boolean is_flexible: type: boolean type: object ChosenInlineResult: description: 'Represents a result of an inline query that was chosen by the user and sent to their chat partner.' required: - result_id - from - query properties: result_id: type: string from: $ref: '#/components/schemas/User' location: $ref: '#/components/schemas/Location' inline_message_id: type: string query: type: string type: object LabeledPrice: description: 'This object represents a portion of the price for goods or services.' required: - label - amount properties: label: type: string amount: type: integer type: object Invoice: description: 'This object contains basic information about an invoice.' required: - title - description - start_parameter - currency - total_amount properties: title: type: string description: type: string start_parameter: type: string currency: type: string total_amount: type: integer type: object ShippingAddress: description: 'This object represents a shipping address.' required: - country_code - state - city - street_line1 - street_line2 - post_code properties: country_code: type: string state: type: string city: type: string street_line1: type: string street_line2: type: string post_code: type: string type: object OrderInfo: description: 'This object represents information about an order.' properties: name: type: string phone_number: type: string email: type: string shipping_address: $ref: '#/components/schemas/ShippingAddress' type: object ShippingOption: description: 'This object represents one shipping option.' required: - id - title - prices properties: id: type: string title: type: string prices: type: array items: $ref: '#/components/schemas/LabeledPrice' type: object SuccessfulPayment: description: 'This object contains basic information about a successful payment.' required: - currency - total_amount - invoice_payload - telegram_payment_charge_id - provider_payment_charge_id properties: currency: type: string total_amount: type: integer invoice_payload: type: string shipping_option_id: type: string order_info: $ref: '#/components/schemas/OrderInfo' telegram_payment_charge_id: type: string provider_payment_charge_id: type: string type: object ShippingQuery: description: 'This object contains information about an incoming shipping query.' required: - id - from - invoice_payload - shipping_address properties: id: type: string from: $ref: '#/components/schemas/User' invoice_payload: type: string shipping_address: $ref: '#/components/schemas/ShippingAddress' type: object PreCheckoutQuery: description: 'This object contains information about an incoming pre-checkout query.' required: - id - from - currency - total_amount - invoice_payload properties: id: type: string from: $ref: '#/components/schemas/User' currency: type: string total_amount: type: integer invoice_payload: type: string shipping_option_id: type: string order_info: $ref: '#/components/schemas/OrderInfo' type: object PassportData: description: 'Contains information about Telegram Passport data shared with the bot by the user.' required: - data - credentials properties: data: type: array items: $ref: '#/components/schemas/EncryptedPassportElement' credentials: $ref: '#/components/schemas/EncryptedCredentials' type: object PassportFile: description: "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." required: - file_id - file_unique_id - file_size - file_date properties: file_id: type: string file_unique_id: type: string file_size: type: integer file_date: type: integer type: object EncryptedPassportElement: description: 'Contains information about documents or other Telegram Passport elements shared with the bot by the user.' required: - type - hash properties: type: type: string data: type: string phone_number: type: string email: type: string files: type: array items: $ref: '#/components/schemas/PassportFile' front_side: $ref: '#/components/schemas/PassportFile' reverse_side: $ref: '#/components/schemas/PassportFile' selfie: $ref: '#/components/schemas/PassportFile' translation: type: array items: $ref: '#/components/schemas/PassportFile' hash: type: string type: object EncryptedCredentials: description: 'Contains data required for decrypting and authenticating EncryptedPassportElement. See the Telegram Passport Documentation for a complete description of the data decryption and authentication processes.' required: - data - hash - secret properties: data: type: string hash: type: string secret: type: string type: object PassportElementError: description: 'This object represents an error in the Telegram Passport element which was submitted that should be resolved by the user. It should be one of:' anyOf: - $ref: '#/components/schemas/PassportElementErrorDataField' - $ref: '#/components/schemas/PassportElementErrorFrontSide' - $ref: '#/components/schemas/PassportElementErrorReverseSide' - $ref: '#/components/schemas/PassportElementErrorSelfie' - $ref: '#/components/schemas/PassportElementErrorFile' - $ref: '#/components/schemas/PassportElementErrorFiles' - $ref: '#/components/schemas/PassportElementErrorTranslationFile' - $ref: '#/components/schemas/PassportElementErrorTranslationFiles' - $ref: '#/components/schemas/PassportElementErrorUnspecified' PassportElementErrorDataField: description: "Represents an issue in one of the data fields that was provided by the user. The error is considered resolved when the field's value changes." required: - source - type - field_name - data_hash - message properties: source: type: string default: data type: type: string field_name: type: string data_hash: type: string message: type: string type: object PassportElementErrorFrontSide: description: 'Represents an issue with the front side of a document. The error is considered resolved when the file with the front side of the document changes.' required: - source - type - file_hash - message properties: source: type: string default: front_side type: type: string file_hash: type: string message: type: string type: object PassportElementErrorReverseSide: description: 'Represents an issue with the reverse side of a document. The error is considered resolved when the file with reverse side of the document changes.' required: - source - type - file_hash - message properties: source: type: string default: reverse_side type: type: string file_hash: type: string message: type: string type: object PassportElementErrorSelfie: description: 'Represents an issue with the selfie with a document. The error is considered resolved when the file with the selfie changes.' required: - source - type - file_hash - message properties: source: type: string default: selfie type: type: string file_hash: type: string message: type: string type: object PassportElementErrorFile: description: 'Represents an issue with a document scan. The error is considered resolved when the file with the document scan changes.' required: - source - type - file_hash - message properties: source: type: string default: file type: type: string file_hash: type: string message: type: string type: object PassportElementErrorFiles: description: 'Represents an issue with a list of scans. The error is considered resolved when the list of files containing the scans changes.' required: - source - type - file_hashes - message properties: source: type: string default: files type: type: string file_hashes: type: array items: type: string message: type: string type: object PassportElementErrorTranslationFile: description: 'Represents an issue with one of the files that constitute the translation of a document. The error is considered resolved when the file changes.' required: - source - type - file_hash - message properties: source: type: string default: translation_file type: type: string file_hash: type: string message: type: string type: object PassportElementErrorTranslationFiles: description: 'Represents an issue with the translated version of a document. The error is considered resolved when a file with the document translation change.' required: - source - type - file_hashes - message properties: source: type: string default: translation_files type: type: string file_hashes: type: array items: type: string message: type: string type: object PassportElementErrorUnspecified: description: 'Represents an issue in an unspecified place. The error is considered resolved when new data is added.' required: - source - type - element_hash - message properties: source: type: string default: unspecified type: type: string element_hash: type: string message: type: string type: object Game: description: 'This object represents a game. Use BotFather to create and edit games, their short names will act as unique identifiers.' required: - title - description - photo properties: title: type: string description: type: string photo: type: array items: $ref: '#/components/schemas/PhotoSize' text: type: string text_entities: type: array items: $ref: '#/components/schemas/MessageEntity' animation: $ref: '#/components/schemas/Animation' type: object CallbackGame: description: 'A placeholder, currently holds no information. Use BotFather to set up your game.' type: object GameHighScore: description: 'This object represents one row of the high scores table for a game.' required: - position - user - score properties: position: type: integer user: $ref: '#/components/schemas/User' score: type: integer type: object paths: /getUpdates: description: 'Use this method to receive incoming updates using long polling (wiki). An Array of Update objects is returned.' post: requestBody: content: application/json: schema: type: object properties: offset: type: integer limit: type: integer default: 100 timeout: type: integer allowed_updates: type: array items: type: string application/x-www-form-urlencoded: schema: type: object properties: offset: type: integer limit: type: integer default: 100 timeout: type: integer allowed_updates: type: array items: type: string multipart/form-data: schema: type: object properties: offset: type: integer limit: type: integer default: 100 timeout: type: integer allowed_updates: type: array items: type: string responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: array items: $ref: '#/components/schemas/Update' 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /setWebhook: description: "Use this method to specify a url and receive incoming updates via an outgoing webhook. Whenever there is an update for the bot, we will send an HTTPS POST request to the specified url, containing a JSON-serialized Update. In case of an unsuccessful request, we will give up after a reasonable amount of attempts. Returns True on success.\nIf you'd like to make sure that the Webhook request comes from Telegram, we recommend using a secret path in the URL, e.g. https://www.example.com/. Since nobody else knows your bot's token, you can be pretty sure it's us." post: requestBody: required: true content: application/json: schema: type: object required: - url properties: url: type: string certificate: $ref: '#/components/schemas/InputFile' ip_address: type: string max_connections: type: integer default: 40 allowed_updates: type: array items: type: string drop_pending_updates: type: boolean application/x-www-form-urlencoded: schema: type: object required: - url properties: url: type: string certificate: $ref: '#/components/schemas/InputFile' ip_address: type: string max_connections: type: integer default: 40 allowed_updates: type: array items: type: string drop_pending_updates: type: boolean multipart/form-data: schema: type: object required: - url properties: url: type: string certificate: $ref: '#/components/schemas/InputFile' ip_address: type: string max_connections: type: integer default: 40 allowed_updates: type: array items: type: string drop_pending_updates: type: boolean responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /deleteWebhook: description: 'Use this method to remove webhook integration if you decide to switch back to getUpdates. Returns True on success.' post: requestBody: content: application/json: schema: type: object properties: drop_pending_updates: type: boolean application/x-www-form-urlencoded: schema: type: object properties: drop_pending_updates: type: boolean multipart/form-data: schema: type: object properties: drop_pending_updates: type: boolean responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /getWebhookInfo: description: 'Use this method to get current webhook status. Requires no parameters. On success, returns a WebhookInfo object. If the bot is using getUpdates, will return an object with the url field empty.' post: requestBody: content: application/json: schema: type: object application/x-www-form-urlencoded: schema: type: object multipart/form-data: schema: type: object responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: $ref: '#/components/schemas/WebhookInfo' 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /getMe: description: "A simple method for testing your bot's authentication token. Requires no parameters. Returns basic information about the bot in form of a User object." post: requestBody: content: application/json: schema: type: object application/x-www-form-urlencoded: schema: type: object multipart/form-data: schema: type: object responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: $ref: '#/components/schemas/User' 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /logOut: description: 'Use this method to log out from the cloud Bot API server before launching the bot locally. You must log out the bot before running it locally, otherwise there is no guarantee that the bot will receive updates. After a successful call, you can immediately log in on a local server, but will not be able to log in back to the cloud Bot API server for 10 minutes. Returns True on success. Requires no parameters.' post: requestBody: content: application/json: schema: type: object application/x-www-form-urlencoded: schema: type: object multipart/form-data: schema: type: object responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /close: description: "Use this method to close the bot instance before moving it from one local server to another. You need to delete the webhook before calling this method to ensure that the bot isn't launched again after server restart. The method will return error 429 in the first 10 minutes after the bot is launched. Returns True on success. Requires no parameters." post: requestBody: content: application/json: schema: type: object application/x-www-form-urlencoded: schema: type: object multipart/form-data: schema: type: object responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /sendMessage: description: 'Use this method to send text messages. On success, the sent Message is returned.' post: requestBody: required: true content: application/json: schema: type: object required: - chat_id - text properties: chat_id: anyOf: - type: integer - type: string text: type: string parse_mode: type: string entities: type: array items: $ref: '#/components/schemas/MessageEntity' disable_web_page_preview: type: boolean disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' application/x-www-form-urlencoded: schema: type: object required: - chat_id - text properties: chat_id: anyOf: - type: integer - type: string text: type: string parse_mode: type: string entities: type: array items: $ref: '#/components/schemas/MessageEntity' disable_web_page_preview: type: boolean disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' multipart/form-data: schema: type: object required: - chat_id - text properties: chat_id: anyOf: - type: integer - type: string text: type: string parse_mode: type: string entities: type: array items: $ref: '#/components/schemas/MessageEntity' disable_web_page_preview: type: boolean disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: $ref: '#/components/schemas/Message' 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /forwardMessage: description: "Use this method to forward messages of any kind. Service messages can't be forwarded. On success, the sent Message is returned." post: requestBody: required: true content: application/json: schema: type: object required: - chat_id - from_chat_id - message_id properties: chat_id: anyOf: - type: integer - type: string from_chat_id: anyOf: - type: integer - type: string disable_notification: type: boolean message_id: type: integer application/x-www-form-urlencoded: schema: type: object required: - chat_id - from_chat_id - message_id properties: chat_id: anyOf: - type: integer - type: string from_chat_id: anyOf: - type: integer - type: string disable_notification: type: boolean message_id: type: integer multipart/form-data: schema: type: object required: - chat_id - from_chat_id - message_id properties: chat_id: anyOf: - type: integer - type: string from_chat_id: anyOf: - type: integer - type: string disable_notification: type: boolean message_id: type: integer responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: $ref: '#/components/schemas/Message' 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /copyMessage: description: "Use this method to copy messages of any kind. Service messages and invoice messages can't be copied. The method is analogous to the method forwardMessage, but the copied message doesn't have a link to the original message. Returns the MessageId of the sent message on success." post: requestBody: required: true content: application/json: schema: type: object required: - chat_id - from_chat_id - message_id properties: chat_id: anyOf: - type: integer - type: string from_chat_id: anyOf: - type: integer - type: string message_id: type: integer caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' application/x-www-form-urlencoded: schema: type: object required: - chat_id - from_chat_id - message_id properties: chat_id: anyOf: - type: integer - type: string from_chat_id: anyOf: - type: integer - type: string message_id: type: integer caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' multipart/form-data: schema: type: object required: - chat_id - from_chat_id - message_id properties: chat_id: anyOf: - type: integer - type: string from_chat_id: anyOf: - type: integer - type: string message_id: type: integer caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: $ref: '#/components/schemas/MessageId' 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /sendPhoto: description: 'Use this method to send photos. On success, the sent Message is returned.' post: requestBody: required: true content: application/json: schema: type: object required: - chat_id - photo properties: chat_id: anyOf: - type: integer - type: string photo: anyOf: - $ref: '#/components/schemas/InputFile' - type: string caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' application/x-www-form-urlencoded: schema: type: object required: - chat_id - photo properties: chat_id: anyOf: - type: integer - type: string photo: anyOf: - $ref: '#/components/schemas/InputFile' - type: string caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' multipart/form-data: schema: type: object required: - chat_id - photo properties: chat_id: anyOf: - type: integer - type: string photo: anyOf: - $ref: '#/components/schemas/InputFile' - type: string caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: $ref: '#/components/schemas/Message' 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /sendAudio: description: "Use this method to send audio files, if you want Telegram clients to display them in the music player. Your audio must be in the .MP3 or .M4A format. On success, the sent Message is returned. Bots can currently send audio files of up to 50 MB in size, this limit may be changed in the future.\nFor sending voice messages, use the sendVoice method instead." post: requestBody: required: true content: application/json: schema: type: object required: - chat_id - audio properties: chat_id: anyOf: - type: integer - type: string audio: anyOf: - $ref: '#/components/schemas/InputFile' - type: string caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' duration: type: integer performer: type: string title: type: string thumb: anyOf: - $ref: '#/components/schemas/InputFile' - type: string disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' application/x-www-form-urlencoded: schema: type: object required: - chat_id - audio properties: chat_id: anyOf: - type: integer - type: string audio: anyOf: - $ref: '#/components/schemas/InputFile' - type: string caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' duration: type: integer performer: type: string title: type: string thumb: anyOf: - $ref: '#/components/schemas/InputFile' - type: string disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' multipart/form-data: schema: type: object required: - chat_id - audio properties: chat_id: anyOf: - type: integer - type: string audio: anyOf: - $ref: '#/components/schemas/InputFile' - type: string caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' duration: type: integer performer: type: string title: type: string thumb: anyOf: - $ref: '#/components/schemas/InputFile' - type: string disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: $ref: '#/components/schemas/Message' 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /sendDocument: description: 'Use this method to send general files. On success, the sent Message is returned. Bots can currently send files of any type of up to 50 MB in size, this limit may be changed in the future.' post: requestBody: required: true content: application/json: schema: type: object required: - chat_id - document properties: chat_id: anyOf: - type: integer - type: string document: anyOf: - $ref: '#/components/schemas/InputFile' - type: string thumb: anyOf: - $ref: '#/components/schemas/InputFile' - type: string caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' disable_content_type_detection: type: boolean disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' application/x-www-form-urlencoded: schema: type: object required: - chat_id - document properties: chat_id: anyOf: - type: integer - type: string document: anyOf: - $ref: '#/components/schemas/InputFile' - type: string thumb: anyOf: - $ref: '#/components/schemas/InputFile' - type: string caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' disable_content_type_detection: type: boolean disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' multipart/form-data: schema: type: object required: - chat_id - document properties: chat_id: anyOf: - type: integer - type: string document: anyOf: - $ref: '#/components/schemas/InputFile' - type: string thumb: anyOf: - $ref: '#/components/schemas/InputFile' - type: string caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' disable_content_type_detection: type: boolean disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: $ref: '#/components/schemas/Message' 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /sendVideo: description: 'Use this method to send video files, Telegram clients support mp4 videos (other formats may be sent as Document). On success, the sent Message is returned. Bots can currently send video files of up to 50 MB in size, this limit may be changed in the future.' post: requestBody: required: true content: application/json: schema: type: object required: - chat_id - video properties: chat_id: anyOf: - type: integer - type: string video: anyOf: - $ref: '#/components/schemas/InputFile' - type: string duration: type: integer width: type: integer height: type: integer thumb: anyOf: - $ref: '#/components/schemas/InputFile' - type: string caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' supports_streaming: type: boolean disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' application/x-www-form-urlencoded: schema: type: object required: - chat_id - video properties: chat_id: anyOf: - type: integer - type: string video: anyOf: - $ref: '#/components/schemas/InputFile' - type: string duration: type: integer width: type: integer height: type: integer thumb: anyOf: - $ref: '#/components/schemas/InputFile' - type: string caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' supports_streaming: type: boolean disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' multipart/form-data: schema: type: object required: - chat_id - video properties: chat_id: anyOf: - type: integer - type: string video: anyOf: - $ref: '#/components/schemas/InputFile' - type: string duration: type: integer width: type: integer height: type: integer thumb: anyOf: - $ref: '#/components/schemas/InputFile' - type: string caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' supports_streaming: type: boolean disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: $ref: '#/components/schemas/Message' 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /sendAnimation: description: 'Use this method to send animation files (GIF or H.264/MPEG-4 AVC video without sound). On success, the sent Message is returned. Bots can currently send animation files of up to 50 MB in size, this limit may be changed in the future.' post: requestBody: required: true content: application/json: schema: type: object required: - chat_id - animation properties: chat_id: anyOf: - type: integer - type: string animation: anyOf: - $ref: '#/components/schemas/InputFile' - type: string duration: type: integer width: type: integer height: type: integer thumb: anyOf: - $ref: '#/components/schemas/InputFile' - type: string caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' application/x-www-form-urlencoded: schema: type: object required: - chat_id - animation properties: chat_id: anyOf: - type: integer - type: string animation: anyOf: - $ref: '#/components/schemas/InputFile' - type: string duration: type: integer width: type: integer height: type: integer thumb: anyOf: - $ref: '#/components/schemas/InputFile' - type: string caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' multipart/form-data: schema: type: object required: - chat_id - animation properties: chat_id: anyOf: - type: integer - type: string animation: anyOf: - $ref: '#/components/schemas/InputFile' - type: string duration: type: integer width: type: integer height: type: integer thumb: anyOf: - $ref: '#/components/schemas/InputFile' - type: string caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: $ref: '#/components/schemas/Message' 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /sendVoice: description: '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 or Document). On success, the sent Message is returned. Bots can currently send voice messages of up to 50 MB in size, this limit may be changed in the future.' post: requestBody: required: true content: application/json: schema: type: object required: - chat_id - voice properties: chat_id: anyOf: - type: integer - type: string voice: anyOf: - $ref: '#/components/schemas/InputFile' - type: string caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' duration: type: integer disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' application/x-www-form-urlencoded: schema: type: object required: - chat_id - voice properties: chat_id: anyOf: - type: integer - type: string voice: anyOf: - $ref: '#/components/schemas/InputFile' - type: string caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' duration: type: integer disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' multipart/form-data: schema: type: object required: - chat_id - voice properties: chat_id: anyOf: - type: integer - type: string voice: anyOf: - $ref: '#/components/schemas/InputFile' - type: string caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' duration: type: integer disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: $ref: '#/components/schemas/Message' 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /sendVideoNote: description: 'As of v.4.0, Telegram clients support rounded square mp4 videos of up to 1 minute long. Use this method to send video messages. On success, the sent Message is returned.' post: requestBody: required: true content: application/json: schema: type: object required: - chat_id - video_note properties: chat_id: anyOf: - type: integer - type: string video_note: anyOf: - $ref: '#/components/schemas/InputFile' - type: string duration: type: integer length: type: integer thumb: anyOf: - $ref: '#/components/schemas/InputFile' - type: string disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' application/x-www-form-urlencoded: schema: type: object required: - chat_id - video_note properties: chat_id: anyOf: - type: integer - type: string video_note: anyOf: - $ref: '#/components/schemas/InputFile' - type: string duration: type: integer length: type: integer thumb: anyOf: - $ref: '#/components/schemas/InputFile' - type: string disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' multipart/form-data: schema: type: object required: - chat_id - video_note properties: chat_id: anyOf: - type: integer - type: string video_note: anyOf: - $ref: '#/components/schemas/InputFile' - type: string duration: type: integer length: type: integer thumb: anyOf: - $ref: '#/components/schemas/InputFile' - type: string disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: $ref: '#/components/schemas/Message' 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /sendMediaGroup: description: 'Use this method to send a group of photos, videos, documents or audios as an album. Documents and audio files can be only grouped in an album with messages of the same type. On success, an array of Messages that were sent is returned.' post: requestBody: required: true content: application/json: schema: type: object required: - chat_id - media properties: chat_id: anyOf: - type: integer - type: string media: type: array items: anyOf: - $ref: '#/components/schemas/InputMediaAudio' - $ref: '#/components/schemas/InputMediaDocument' - $ref: '#/components/schemas/InputMediaPhoto' - $ref: '#/components/schemas/InputMediaVideo' disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean application/x-www-form-urlencoded: schema: type: object required: - chat_id - media properties: chat_id: anyOf: - type: integer - type: string media: type: array items: anyOf: - $ref: '#/components/schemas/InputMediaAudio' - $ref: '#/components/schemas/InputMediaDocument' - $ref: '#/components/schemas/InputMediaPhoto' - $ref: '#/components/schemas/InputMediaVideo' disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean multipart/form-data: schema: type: object required: - chat_id - media properties: chat_id: anyOf: - type: integer - type: string media: type: array items: anyOf: - $ref: '#/components/schemas/InputMediaAudio' - $ref: '#/components/schemas/InputMediaDocument' - $ref: '#/components/schemas/InputMediaPhoto' - $ref: '#/components/schemas/InputMediaVideo' disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: array items: $ref: '#/components/schemas/Message' 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /sendLocation: description: 'Use this method to send point on the map. On success, the sent Message is returned.' post: requestBody: required: true content: application/json: schema: type: object required: - chat_id - latitude - longitude properties: chat_id: anyOf: - type: integer - type: string latitude: type: number longitude: type: number horizontal_accuracy: type: number live_period: type: integer heading: type: integer proximity_alert_radius: type: integer disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' application/x-www-form-urlencoded: schema: type: object required: - chat_id - latitude - longitude properties: chat_id: anyOf: - type: integer - type: string latitude: type: number longitude: type: number horizontal_accuracy: type: number live_period: type: integer heading: type: integer proximity_alert_radius: type: integer disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' multipart/form-data: schema: type: object required: - chat_id - latitude - longitude properties: chat_id: anyOf: - type: integer - type: string latitude: type: number longitude: type: number horizontal_accuracy: type: number live_period: type: integer heading: type: integer proximity_alert_radius: type: integer disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: $ref: '#/components/schemas/Message' 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /editMessageLiveLocation: description: 'Use this method to edit live location messages. A location can be edited until its live_period expires or editing is explicitly disabled by a call to stopMessageLiveLocation. On success, if the edited message is not an inline message, the edited Message is returned, otherwise True is returned.' post: requestBody: required: true content: application/json: schema: type: object properties: chat_id: anyOf: - type: integer - type: string message_id: type: integer inline_message_id: type: string latitude: type: number longitude: type: number horizontal_accuracy: type: number heading: type: integer proximity_alert_radius: type: integer reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' required: - latitude - longitude application/x-www-form-urlencoded: schema: type: object properties: chat_id: anyOf: - type: integer - type: string message_id: type: integer inline_message_id: type: string latitude: type: number longitude: type: number horizontal_accuracy: type: number heading: type: integer proximity_alert_radius: type: integer reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' required: - latitude - longitude multipart/form-data: schema: type: object properties: chat_id: anyOf: - type: integer - type: string message_id: type: integer inline_message_id: type: string latitude: type: number longitude: type: number horizontal_accuracy: type: number heading: type: integer proximity_alert_radius: type: integer reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' required: - latitude - longitude responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: anyOf: - $ref: '#/components/schemas/Message' - type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /stopMessageLiveLocation: description: 'Use this method to stop updating a live location message before live_period expires. On success, if the message is not an inline message, the edited Message is returned, otherwise True is returned.' post: requestBody: content: application/json: schema: type: object properties: chat_id: anyOf: - type: integer - type: string message_id: type: integer inline_message_id: type: string reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' application/x-www-form-urlencoded: schema: type: object properties: chat_id: anyOf: - type: integer - type: string message_id: type: integer inline_message_id: type: string reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' multipart/form-data: schema: type: object properties: chat_id: anyOf: - type: integer - type: string message_id: type: integer inline_message_id: type: string reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: anyOf: - $ref: '#/components/schemas/Message' - type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /sendVenue: description: 'Use this method to send information about a venue. On success, the sent Message is returned.' post: requestBody: required: true content: application/json: schema: type: object required: - chat_id - latitude - longitude - title - address properties: chat_id: anyOf: - type: integer - type: string latitude: type: number longitude: type: number title: type: string address: type: string foursquare_id: type: string foursquare_type: type: string google_place_id: type: string google_place_type: type: string disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' application/x-www-form-urlencoded: schema: type: object required: - chat_id - latitude - longitude - title - address properties: chat_id: anyOf: - type: integer - type: string latitude: type: number longitude: type: number title: type: string address: type: string foursquare_id: type: string foursquare_type: type: string google_place_id: type: string google_place_type: type: string disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' multipart/form-data: schema: type: object required: - chat_id - latitude - longitude - title - address properties: chat_id: anyOf: - type: integer - type: string latitude: type: number longitude: type: number title: type: string address: type: string foursquare_id: type: string foursquare_type: type: string google_place_id: type: string google_place_type: type: string disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: $ref: '#/components/schemas/Message' 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /sendContact: description: 'Use this method to send phone contacts. On success, the sent Message is returned.' post: requestBody: required: true content: application/json: schema: type: object required: - chat_id - phone_number - first_name properties: chat_id: anyOf: - type: integer - type: string phone_number: type: string first_name: type: string last_name: type: string vcard: type: string disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' application/x-www-form-urlencoded: schema: type: object required: - chat_id - phone_number - first_name properties: chat_id: anyOf: - type: integer - type: string phone_number: type: string first_name: type: string last_name: type: string vcard: type: string disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' multipart/form-data: schema: type: object required: - chat_id - phone_number - first_name properties: chat_id: anyOf: - type: integer - type: string phone_number: type: string first_name: type: string last_name: type: string vcard: type: string disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: $ref: '#/components/schemas/Message' 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /sendPoll: description: 'Use this method to send a native poll. On success, the sent Message is returned.' post: requestBody: required: true content: application/json: schema: type: object required: - chat_id - question - options properties: chat_id: anyOf: - type: integer - type: string question: type: string options: type: array items: type: string is_anonymous: type: boolean default: true type: type: string default: regular allows_multiple_answers: type: boolean correct_option_id: type: integer explanation: type: string explanation_parse_mode: type: string explanation_entities: type: array items: $ref: '#/components/schemas/MessageEntity' open_period: type: integer close_date: type: integer is_closed: type: boolean disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' application/x-www-form-urlencoded: schema: type: object required: - chat_id - question - options properties: chat_id: anyOf: - type: integer - type: string question: type: string options: type: array items: type: string is_anonymous: type: boolean default: true type: type: string default: regular allows_multiple_answers: type: boolean correct_option_id: type: integer explanation: type: string explanation_parse_mode: type: string explanation_entities: type: array items: $ref: '#/components/schemas/MessageEntity' open_period: type: integer close_date: type: integer is_closed: type: boolean disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' multipart/form-data: schema: type: object required: - chat_id - question - options properties: chat_id: anyOf: - type: integer - type: string question: type: string options: type: array items: type: string is_anonymous: type: boolean default: true type: type: string default: regular allows_multiple_answers: type: boolean correct_option_id: type: integer explanation: type: string explanation_parse_mode: type: string explanation_entities: type: array items: $ref: '#/components/schemas/MessageEntity' open_period: type: integer close_date: type: integer is_closed: type: boolean disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: $ref: '#/components/schemas/Message' 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /sendDice: description: 'Use this method to send an animated emoji that will display a random value. On success, the sent Message is returned.' post: requestBody: required: true content: application/json: schema: type: object required: - chat_id properties: chat_id: anyOf: - type: integer - type: string emoji: type: string default: 🎲 disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' application/x-www-form-urlencoded: schema: type: object required: - chat_id properties: chat_id: anyOf: - type: integer - type: string emoji: type: string default: 🎲 disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' multipart/form-data: schema: type: object required: - chat_id properties: chat_id: anyOf: - type: integer - type: string emoji: type: string default: 🎲 disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: $ref: '#/components/schemas/Message' 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /sendChatAction: description: "Use this method when you need to tell the user that something is happening on the bot's side. The status is set for 5 seconds or less (when a message arrives from your bot, Telegram clients clear its typing status). Returns True on success.\nWe only recommend using this method when a response from the bot will take a noticeable amount of time to arrive." post: requestBody: required: true content: application/json: schema: type: object required: - chat_id - action properties: chat_id: anyOf: - type: integer - type: string action: type: string application/x-www-form-urlencoded: schema: type: object required: - chat_id - action properties: chat_id: anyOf: - type: integer - type: string action: type: string multipart/form-data: schema: type: object required: - chat_id - action properties: chat_id: anyOf: - type: integer - type: string action: type: string responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /getUserProfilePhotos: description: 'Use this method to get a list of profile pictures for a user. Returns a UserProfilePhotos object.' post: requestBody: required: true content: application/json: schema: type: object required: - user_id properties: user_id: type: integer offset: type: integer limit: type: integer default: 100 application/x-www-form-urlencoded: schema: type: object required: - user_id properties: user_id: type: integer offset: type: integer limit: type: integer default: 100 multipart/form-data: schema: type: object required: - user_id properties: user_id: type: integer offset: type: integer limit: type: integer default: 100 responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: $ref: '#/components/schemas/UserProfilePhotos' 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /getFile: description: 'Use this method to get basic info about a file and prepare it for downloading. For the moment, bots can download files of up to 20MB in size. On success, a File object is returned. The file can then be downloaded via the link https://api.telegram.org/file/bot/, where is taken from the response. It is guaranteed that the link will be valid for at least 1 hour. When the link expires, a new one can be requested by calling getFile again.' post: requestBody: required: true content: application/json: schema: type: object required: - file_id properties: file_id: type: string application/x-www-form-urlencoded: schema: type: object required: - file_id properties: file_id: type: string multipart/form-data: schema: type: object required: - file_id properties: file_id: type: string responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: $ref: '#/components/schemas/File' 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /banChatMember: description: 'Use this method to ban a user in a group, a supergroup or a channel. In the case of supergroups and channels, the user will not be able to return to the chat on their own using invite links, etc., unless unbanned first. The bot must be an administrator in the chat for this to work and must have the appropriate administrator rights. Returns True on success.' post: requestBody: required: true content: application/json: schema: type: object required: - chat_id - user_id properties: chat_id: anyOf: - type: integer - type: string user_id: type: integer until_date: type: integer revoke_messages: type: boolean application/x-www-form-urlencoded: schema: type: object required: - chat_id - user_id properties: chat_id: anyOf: - type: integer - type: string user_id: type: integer until_date: type: integer revoke_messages: type: boolean multipart/form-data: schema: type: object required: - chat_id - user_id properties: chat_id: anyOf: - type: integer - type: string user_id: type: integer until_date: type: integer revoke_messages: type: boolean responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /unbanChatMember: description: "Use this method to unban a previously banned user in a supergroup or channel. The user will not return to the group or channel automatically, but will be able to join via link, etc. The bot must be an administrator for this to work. By default, this method guarantees that after the call the user is not a member of the chat, but will be able to join it. So if the user is a member of the chat they will also be removed from the chat. If you don't want this, use the parameter only_if_banned. Returns True on success." post: requestBody: required: true content: application/json: schema: type: object required: - chat_id - user_id properties: chat_id: anyOf: - type: integer - type: string user_id: type: integer only_if_banned: type: boolean application/x-www-form-urlencoded: schema: type: object required: - chat_id - user_id properties: chat_id: anyOf: - type: integer - type: string user_id: type: integer only_if_banned: type: boolean multipart/form-data: schema: type: object required: - chat_id - user_id properties: chat_id: anyOf: - type: integer - type: string user_id: type: integer only_if_banned: type: boolean responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /restrictChatMember: description: 'Use this method to restrict a user in a supergroup. The bot must be an administrator in the supergroup for this to work and must have the appropriate administrator rights. Pass True for all permissions to lift restrictions from a user. Returns True on success.' post: requestBody: required: true content: application/json: schema: type: object required: - chat_id - user_id - permissions properties: chat_id: anyOf: - type: integer - type: string user_id: type: integer permissions: $ref: '#/components/schemas/ChatPermissions' until_date: type: integer application/x-www-form-urlencoded: schema: type: object required: - chat_id - user_id - permissions properties: chat_id: anyOf: - type: integer - type: string user_id: type: integer permissions: $ref: '#/components/schemas/ChatPermissions' until_date: type: integer multipart/form-data: schema: type: object required: - chat_id - user_id - permissions properties: chat_id: anyOf: - type: integer - type: string user_id: type: integer permissions: $ref: '#/components/schemas/ChatPermissions' until_date: type: integer responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /promoteChatMember: description: 'Use this method to promote or demote a user in a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the appropriate administrator rights. Pass False for all boolean parameters to demote a user. Returns True on success.' post: requestBody: required: true content: application/json: schema: type: object required: - chat_id - user_id properties: chat_id: anyOf: - type: integer - type: string user_id: type: integer is_anonymous: type: boolean can_manage_chat: type: boolean can_post_messages: type: boolean can_edit_messages: type: boolean can_delete_messages: type: boolean can_manage_voice_chats: type: boolean can_restrict_members: type: boolean can_promote_members: type: boolean can_change_info: type: boolean can_invite_users: type: boolean can_pin_messages: type: boolean application/x-www-form-urlencoded: schema: type: object required: - chat_id - user_id properties: chat_id: anyOf: - type: integer - type: string user_id: type: integer is_anonymous: type: boolean can_manage_chat: type: boolean can_post_messages: type: boolean can_edit_messages: type: boolean can_delete_messages: type: boolean can_manage_voice_chats: type: boolean can_restrict_members: type: boolean can_promote_members: type: boolean can_change_info: type: boolean can_invite_users: type: boolean can_pin_messages: type: boolean multipart/form-data: schema: type: object required: - chat_id - user_id properties: chat_id: anyOf: - type: integer - type: string user_id: type: integer is_anonymous: type: boolean can_manage_chat: type: boolean can_post_messages: type: boolean can_edit_messages: type: boolean can_delete_messages: type: boolean can_manage_voice_chats: type: boolean can_restrict_members: type: boolean can_promote_members: type: boolean can_change_info: type: boolean can_invite_users: type: boolean can_pin_messages: type: boolean responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /setChatAdministratorCustomTitle: description: 'Use this method to set a custom title for an administrator in a supergroup promoted by the bot. Returns True on success.' post: requestBody: required: true content: application/json: schema: type: object required: - chat_id - user_id - custom_title properties: chat_id: anyOf: - type: integer - type: string user_id: type: integer custom_title: type: string application/x-www-form-urlencoded: schema: type: object required: - chat_id - user_id - custom_title properties: chat_id: anyOf: - type: integer - type: string user_id: type: integer custom_title: type: string multipart/form-data: schema: type: object required: - chat_id - user_id - custom_title properties: chat_id: anyOf: - type: integer - type: string user_id: type: integer custom_title: type: string responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /banChatSenderChat: description: "Use this method to ban a channel chat in a supergroup or a channel. Until the chat is unbanned, the owner of the banned chat won't be able to send messages on behalf of any of their channels. The bot must be an administrator in the supergroup or channel for this to work and must have the appropriate administrator rights. Returns True on success." post: requestBody: required: true content: application/json: schema: type: object required: - chat_id - sender_chat_id properties: chat_id: anyOf: - type: integer - type: string sender_chat_id: type: integer application/x-www-form-urlencoded: schema: type: object required: - chat_id - sender_chat_id properties: chat_id: anyOf: - type: integer - type: string sender_chat_id: type: integer multipart/form-data: schema: type: object required: - chat_id - sender_chat_id properties: chat_id: anyOf: - type: integer - type: string sender_chat_id: type: integer responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /unbanChatSenderChat: description: 'Use this method to unban a previously banned channel chat in a supergroup or channel. The bot must be an administrator for this to work and must have the appropriate administrator rights. Returns True on success.' post: requestBody: required: true content: application/json: schema: type: object required: - chat_id - sender_chat_id properties: chat_id: anyOf: - type: integer - type: string sender_chat_id: type: integer application/x-www-form-urlencoded: schema: type: object required: - chat_id - sender_chat_id properties: chat_id: anyOf: - type: integer - type: string sender_chat_id: type: integer multipart/form-data: schema: type: object required: - chat_id - sender_chat_id properties: chat_id: anyOf: - type: integer - type: string sender_chat_id: type: integer responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /setChatPermissions: description: 'Use this method to set default chat permissions for all members. The bot must be an administrator in the group or a supergroup for this to work and must have the can_restrict_members administrator rights. Returns True on success.' post: requestBody: required: true content: application/json: schema: type: object required: - chat_id - permissions properties: chat_id: anyOf: - type: integer - type: string permissions: $ref: '#/components/schemas/ChatPermissions' application/x-www-form-urlencoded: schema: type: object required: - chat_id - permissions properties: chat_id: anyOf: - type: integer - type: string permissions: $ref: '#/components/schemas/ChatPermissions' multipart/form-data: schema: type: object required: - chat_id - permissions properties: chat_id: anyOf: - type: integer - type: string permissions: $ref: '#/components/schemas/ChatPermissions' responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /exportChatInviteLink: description: 'Use this method to generate a new primary invite link for a chat; any previously generated primary link is revoked. The bot must be an administrator in the chat for this to work and must have the appropriate administrator rights. Returns the new invite link as String on success.' post: requestBody: required: true content: application/json: schema: type: object required: - chat_id properties: chat_id: anyOf: - type: integer - type: string application/x-www-form-urlencoded: schema: type: object required: - chat_id properties: chat_id: anyOf: - type: integer - type: string multipart/form-data: schema: type: object required: - chat_id properties: chat_id: anyOf: - type: integer - type: string responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: string 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /createChatInviteLink: description: 'Use this method to create an additional invite link for a chat. The bot must be an administrator in the chat for this to work and must have the appropriate administrator rights. The link can be revoked using the method revokeChatInviteLink. Returns the new invite link as ChatInviteLink object.' post: requestBody: required: true content: application/json: schema: type: object required: - chat_id properties: chat_id: anyOf: - type: integer - type: string name: type: string expire_date: type: integer member_limit: type: integer creates_join_request: type: boolean application/x-www-form-urlencoded: schema: type: object required: - chat_id properties: chat_id: anyOf: - type: integer - type: string name: type: string expire_date: type: integer member_limit: type: integer creates_join_request: type: boolean multipart/form-data: schema: type: object required: - chat_id properties: chat_id: anyOf: - type: integer - type: string name: type: string expire_date: type: integer member_limit: type: integer creates_join_request: type: boolean responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: $ref: '#/components/schemas/ChatInviteLink' 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /editChatInviteLink: description: 'Use this method to edit a non-primary invite link created by the bot. The bot must be an administrator in the chat for this to work and must have the appropriate administrator rights. Returns the edited invite link as a ChatInviteLink object.' post: requestBody: required: true content: application/json: schema: type: object required: - chat_id - invite_link properties: chat_id: anyOf: - type: integer - type: string invite_link: type: string name: type: string expire_date: type: integer member_limit: type: integer creates_join_request: type: boolean application/x-www-form-urlencoded: schema: type: object required: - chat_id - invite_link properties: chat_id: anyOf: - type: integer - type: string invite_link: type: string name: type: string expire_date: type: integer member_limit: type: integer creates_join_request: type: boolean multipart/form-data: schema: type: object required: - chat_id - invite_link properties: chat_id: anyOf: - type: integer - type: string invite_link: type: string name: type: string expire_date: type: integer member_limit: type: integer creates_join_request: type: boolean responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: $ref: '#/components/schemas/ChatInviteLink' 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /revokeChatInviteLink: description: 'Use this method to revoke an invite link created by the bot. If the primary link is revoked, a new link is automatically generated. The bot must be an administrator in the chat for this to work and must have the appropriate administrator rights. Returns the revoked invite link as ChatInviteLink object.' post: requestBody: required: true content: application/json: schema: type: object required: - chat_id - invite_link properties: chat_id: anyOf: - type: integer - type: string invite_link: type: string application/x-www-form-urlencoded: schema: type: object required: - chat_id - invite_link properties: chat_id: anyOf: - type: integer - type: string invite_link: type: string multipart/form-data: schema: type: object required: - chat_id - invite_link properties: chat_id: anyOf: - type: integer - type: string invite_link: type: string responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: $ref: '#/components/schemas/ChatInviteLink' 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /approveChatJoinRequest: description: 'Use this method to approve a chat join request. The bot must be an administrator in the chat for this to work and must have the can_invite_users administrator right. Returns True on success.' post: requestBody: required: true content: application/json: schema: type: object required: - chat_id - user_id properties: chat_id: anyOf: - type: integer - type: string user_id: type: integer application/x-www-form-urlencoded: schema: type: object required: - chat_id - user_id properties: chat_id: anyOf: - type: integer - type: string user_id: type: integer multipart/form-data: schema: type: object required: - chat_id - user_id properties: chat_id: anyOf: - type: integer - type: string user_id: type: integer responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /declineChatJoinRequest: description: 'Use this method to decline a chat join request. The bot must be an administrator in the chat for this to work and must have the can_invite_users administrator right. Returns True on success.' post: requestBody: required: true content: application/json: schema: type: object required: - chat_id - user_id properties: chat_id: anyOf: - type: integer - type: string user_id: type: integer application/x-www-form-urlencoded: schema: type: object required: - chat_id - user_id properties: chat_id: anyOf: - type: integer - type: string user_id: type: integer multipart/form-data: schema: type: object required: - chat_id - user_id properties: chat_id: anyOf: - type: integer - type: string user_id: type: integer responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /setChatPhoto: description: "Use this method to set a new profile photo for the chat. Photos can't be changed for private chats. The bot must be an administrator in the chat for this to work and must have the appropriate administrator rights. Returns True on success." post: requestBody: required: true content: application/json: schema: type: object required: - chat_id - photo properties: chat_id: anyOf: - type: integer - type: string photo: $ref: '#/components/schemas/InputFile' application/x-www-form-urlencoded: schema: type: object required: - chat_id - photo properties: chat_id: anyOf: - type: integer - type: string photo: $ref: '#/components/schemas/InputFile' multipart/form-data: schema: type: object required: - chat_id - photo properties: chat_id: anyOf: - type: integer - type: string photo: $ref: '#/components/schemas/InputFile' responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /deleteChatPhoto: description: "Use this method to delete a chat photo. Photos can't be changed for private chats. The bot must be an administrator in the chat for this to work and must have the appropriate administrator rights. Returns True on success." post: requestBody: required: true content: application/json: schema: type: object required: - chat_id properties: chat_id: anyOf: - type: integer - type: string application/x-www-form-urlencoded: schema: type: object required: - chat_id properties: chat_id: anyOf: - type: integer - type: string multipart/form-data: schema: type: object required: - chat_id properties: chat_id: anyOf: - type: integer - type: string responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /setChatTitle: description: "Use this method to change the title of a chat. Titles can't be changed for private chats. The bot must be an administrator in the chat for this to work and must have the appropriate administrator rights. Returns True on success." post: requestBody: required: true content: application/json: schema: type: object required: - chat_id - title properties: chat_id: anyOf: - type: integer - type: string title: type: string application/x-www-form-urlencoded: schema: type: object required: - chat_id - title properties: chat_id: anyOf: - type: integer - type: string title: type: string multipart/form-data: schema: type: object required: - chat_id - title properties: chat_id: anyOf: - type: integer - type: string title: type: string responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /setChatDescription: description: 'Use this method to change the description of a group, a supergroup or a channel. The bot must be an administrator in the chat for this to work and must have the appropriate administrator rights. Returns True on success.' post: requestBody: required: true content: application/json: schema: type: object required: - chat_id properties: chat_id: anyOf: - type: integer - type: string description: type: string application/x-www-form-urlencoded: schema: type: object required: - chat_id properties: chat_id: anyOf: - type: integer - type: string description: type: string multipart/form-data: schema: type: object required: - chat_id properties: chat_id: anyOf: - type: integer - type: string description: type: string responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /pinChatMessage: description: "Use this method to add a message to the list of pinned messages in a chat. If the chat is not a private chat, the bot must be an administrator in the chat for this to work and must have the 'can_pin_messages' administrator right in a supergroup or 'can_edit_messages' administrator right in a channel. Returns True on success." post: requestBody: required: true content: application/json: schema: type: object required: - chat_id - message_id properties: chat_id: anyOf: - type: integer - type: string message_id: type: integer disable_notification: type: boolean application/x-www-form-urlencoded: schema: type: object required: - chat_id - message_id properties: chat_id: anyOf: - type: integer - type: string message_id: type: integer disable_notification: type: boolean multipart/form-data: schema: type: object required: - chat_id - message_id properties: chat_id: anyOf: - type: integer - type: string message_id: type: integer disable_notification: type: boolean responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /unpinChatMessage: description: "Use this method to remove a message from the list of pinned messages in a chat. If the chat is not a private chat, the bot must be an administrator in the chat for this to work and must have the 'can_pin_messages' administrator right in a supergroup or 'can_edit_messages' administrator right in a channel. Returns True on success." post: requestBody: required: true content: application/json: schema: type: object required: - chat_id properties: chat_id: anyOf: - type: integer - type: string message_id: type: integer application/x-www-form-urlencoded: schema: type: object required: - chat_id properties: chat_id: anyOf: - type: integer - type: string message_id: type: integer multipart/form-data: schema: type: object required: - chat_id properties: chat_id: anyOf: - type: integer - type: string message_id: type: integer responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /unpinAllChatMessages: description: "Use this method to clear the list of pinned messages in a chat. If the chat is not a private chat, the bot must be an administrator in the chat for this to work and must have the 'can_pin_messages' administrator right in a supergroup or 'can_edit_messages' administrator right in a channel. Returns True on success." post: requestBody: required: true content: application/json: schema: type: object required: - chat_id properties: chat_id: anyOf: - type: integer - type: string application/x-www-form-urlencoded: schema: type: object required: - chat_id properties: chat_id: anyOf: - type: integer - type: string multipart/form-data: schema: type: object required: - chat_id properties: chat_id: anyOf: - type: integer - type: string responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /leaveChat: description: 'Use this method for your bot to leave a group, supergroup or channel. Returns True on success.' post: requestBody: required: true content: application/json: schema: type: object required: - chat_id properties: chat_id: anyOf: - type: integer - type: string application/x-www-form-urlencoded: schema: type: object required: - chat_id properties: chat_id: anyOf: - type: integer - type: string multipart/form-data: schema: type: object required: - chat_id properties: chat_id: anyOf: - type: integer - type: string responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /getChat: description: 'Use this method to get up to date information about the chat (current name of the user for one-on-one conversations, current username of a user, group or channel, etc.). Returns a Chat object on success.' post: requestBody: required: true content: application/json: schema: type: object required: - chat_id properties: chat_id: anyOf: - type: integer - type: string application/x-www-form-urlencoded: schema: type: object required: - chat_id properties: chat_id: anyOf: - type: integer - type: string multipart/form-data: schema: type: object required: - chat_id properties: chat_id: anyOf: - type: integer - type: string responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: $ref: '#/components/schemas/Chat' 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /getChatAdministrators: description: 'Use this method to get a list of administrators in a chat. On success, returns an Array of ChatMember objects that contains information about all chat administrators except other bots. If the chat is a group or a supergroup and no administrators were appointed, only the creator will be returned.' post: requestBody: required: true content: application/json: schema: type: object required: - chat_id properties: chat_id: anyOf: - type: integer - type: string application/x-www-form-urlencoded: schema: type: object required: - chat_id properties: chat_id: anyOf: - type: integer - type: string multipart/form-data: schema: type: object required: - chat_id properties: chat_id: anyOf: - type: integer - type: string responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: array items: $ref: '#/components/schemas/ChatMember' 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /getChatMemberCount: description: 'Use this method to get the number of members in a chat. Returns Int on success.' post: requestBody: required: true content: application/json: schema: type: object required: - chat_id properties: chat_id: anyOf: - type: integer - type: string application/x-www-form-urlencoded: schema: type: object required: - chat_id properties: chat_id: anyOf: - type: integer - type: string multipart/form-data: schema: type: object required: - chat_id properties: chat_id: anyOf: - type: integer - type: string responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: integer 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /getChatMember: description: 'Use this method to get information about a member of a chat. Returns a ChatMember object on success.' post: requestBody: required: true content: application/json: schema: type: object required: - chat_id - user_id properties: chat_id: anyOf: - type: integer - type: string user_id: type: integer application/x-www-form-urlencoded: schema: type: object required: - chat_id - user_id properties: chat_id: anyOf: - type: integer - type: string user_id: type: integer multipart/form-data: schema: type: object required: - chat_id - user_id properties: chat_id: anyOf: - type: integer - type: string user_id: type: integer responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: $ref: '#/components/schemas/ChatMember' 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /setChatStickerSet: description: 'Use this method to set a new group sticker set for a supergroup. The bot must be an administrator in the chat for this to work and must have the appropriate administrator rights. Use the field can_set_sticker_set optionally returned in getChat requests to check if the bot can use this method. Returns True on success.' post: requestBody: required: true content: application/json: schema: type: object required: - chat_id - sticker_set_name properties: chat_id: anyOf: - type: integer - type: string sticker_set_name: type: string application/x-www-form-urlencoded: schema: type: object required: - chat_id - sticker_set_name properties: chat_id: anyOf: - type: integer - type: string sticker_set_name: type: string multipart/form-data: schema: type: object required: - chat_id - sticker_set_name properties: chat_id: anyOf: - type: integer - type: string sticker_set_name: type: string responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /deleteChatStickerSet: description: 'Use this method to delete a group sticker set from a supergroup. The bot must be an administrator in the chat for this to work and must have the appropriate administrator rights. Use the field can_set_sticker_set optionally returned in getChat requests to check if the bot can use this method. Returns True on success.' post: requestBody: required: true content: application/json: schema: type: object required: - chat_id properties: chat_id: anyOf: - type: integer - type: string application/x-www-form-urlencoded: schema: type: object required: - chat_id properties: chat_id: anyOf: - type: integer - type: string multipart/form-data: schema: type: object required: - chat_id properties: chat_id: anyOf: - type: integer - type: string responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /answerCallbackQuery: description: 'Use this method to send answers to callback queries sent from inline keyboards. The answer will be displayed to the user as a notification at the top of the chat screen or as an alert. On success, True is returned.' post: requestBody: required: true content: application/json: schema: type: object required: - callback_query_id properties: callback_query_id: type: string text: type: string show_alert: type: boolean url: type: string cache_time: type: integer application/x-www-form-urlencoded: schema: type: object required: - callback_query_id properties: callback_query_id: type: string text: type: string show_alert: type: boolean url: type: string cache_time: type: integer multipart/form-data: schema: type: object required: - callback_query_id properties: callback_query_id: type: string text: type: string show_alert: type: boolean url: type: string cache_time: type: integer responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /setMyCommands: description: "Use this method to change the list of the bot's commands. See https://core.telegram.org/bots#commands for more details about bot commands. Returns True on success." post: requestBody: required: true content: application/json: schema: type: object required: - commands properties: commands: type: array items: $ref: '#/components/schemas/BotCommand' scope: $ref: '#/components/schemas/BotCommandScope' default: BotCommandScopeDefault language_code: type: string application/x-www-form-urlencoded: schema: type: object required: - commands properties: commands: type: array items: $ref: '#/components/schemas/BotCommand' scope: $ref: '#/components/schemas/BotCommandScope' default: BotCommandScopeDefault language_code: type: string multipart/form-data: schema: type: object required: - commands properties: commands: type: array items: $ref: '#/components/schemas/BotCommand' scope: $ref: '#/components/schemas/BotCommandScope' default: BotCommandScopeDefault language_code: type: string responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /deleteMyCommands: description: "Use this method to delete the list of the bot's commands for the given scope and user language. After deletion, higher level commands will be shown to affected users. Returns True on success." post: requestBody: content: application/json: schema: type: object properties: scope: $ref: '#/components/schemas/BotCommandScope' default: BotCommandScopeDefault language_code: type: string application/x-www-form-urlencoded: schema: type: object properties: scope: $ref: '#/components/schemas/BotCommandScope' default: BotCommandScopeDefault language_code: type: string multipart/form-data: schema: type: object properties: scope: $ref: '#/components/schemas/BotCommandScope' default: BotCommandScopeDefault language_code: type: string responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /getMyCommands: description: "Use this method to get the current list of the bot's commands for the given scope and user language. Returns Array of BotCommand on success. If commands aren't set, an empty list is returned." post: requestBody: content: application/json: schema: type: object properties: scope: $ref: '#/components/schemas/BotCommandScope' default: BotCommandScopeDefault language_code: type: string application/x-www-form-urlencoded: schema: type: object properties: scope: $ref: '#/components/schemas/BotCommandScope' default: BotCommandScopeDefault language_code: type: string multipart/form-data: schema: type: object properties: scope: $ref: '#/components/schemas/BotCommandScope' default: BotCommandScopeDefault language_code: type: string responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: array items: $ref: '#/components/schemas/BotCommand' 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /editMessageText: description: 'Use this method to edit text and game messages. On success, if the edited message is not an inline message, the edited Message is returned, otherwise True is returned.' post: requestBody: required: true content: application/json: schema: type: object properties: chat_id: anyOf: - type: integer - type: string message_id: type: integer inline_message_id: type: string text: type: string parse_mode: type: string entities: type: array items: $ref: '#/components/schemas/MessageEntity' disable_web_page_preview: type: boolean reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' required: - text application/x-www-form-urlencoded: schema: type: object properties: chat_id: anyOf: - type: integer - type: string message_id: type: integer inline_message_id: type: string text: type: string parse_mode: type: string entities: type: array items: $ref: '#/components/schemas/MessageEntity' disable_web_page_preview: type: boolean reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' required: - text multipart/form-data: schema: type: object properties: chat_id: anyOf: - type: integer - type: string message_id: type: integer inline_message_id: type: string text: type: string parse_mode: type: string entities: type: array items: $ref: '#/components/schemas/MessageEntity' disable_web_page_preview: type: boolean reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' required: - text responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: anyOf: - $ref: '#/components/schemas/Message' - type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /editMessageCaption: description: 'Use this method to edit captions of messages. On success, if the edited message is not an inline message, the edited Message is returned, otherwise True is returned.' post: requestBody: content: application/json: schema: type: object properties: chat_id: anyOf: - type: integer - type: string message_id: type: integer inline_message_id: type: string caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' application/x-www-form-urlencoded: schema: type: object properties: chat_id: anyOf: - type: integer - type: string message_id: type: integer inline_message_id: type: string caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' multipart/form-data: schema: type: object properties: chat_id: anyOf: - type: integer - type: string message_id: type: integer inline_message_id: type: string caption: type: string parse_mode: type: string caption_entities: type: array items: $ref: '#/components/schemas/MessageEntity' reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: anyOf: - $ref: '#/components/schemas/Message' - type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /editMessageMedia: description: "Use this method to edit animation, audio, document, photo, or video messages. If a message is part of a message album, then it can be edited only to an audio for audio albums, only to a document for document albums and to a photo or a video otherwise. When an inline message is edited, a new file can't be uploaded; use a previously uploaded file via its file_id or specify a URL. On success, if the edited message is not an inline message, the edited Message is returned, otherwise True is returned." post: requestBody: required: true content: application/json: schema: type: object properties: chat_id: anyOf: - type: integer - type: string message_id: type: integer inline_message_id: type: string media: $ref: '#/components/schemas/InputMedia' reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' required: - media application/x-www-form-urlencoded: schema: type: object properties: chat_id: anyOf: - type: integer - type: string message_id: type: integer inline_message_id: type: string media: $ref: '#/components/schemas/InputMedia' reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' required: - media multipart/form-data: schema: type: object properties: chat_id: anyOf: - type: integer - type: string message_id: type: integer inline_message_id: type: string media: $ref: '#/components/schemas/InputMedia' reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' required: - media responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: anyOf: - $ref: '#/components/schemas/Message' - type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /editMessageReplyMarkup: description: 'Use this method to edit only the reply markup of messages. On success, if the edited message is not an inline message, the edited Message is returned, otherwise True is returned.' post: requestBody: content: application/json: schema: type: object properties: chat_id: anyOf: - type: integer - type: string message_id: type: integer inline_message_id: type: string reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' application/x-www-form-urlencoded: schema: type: object properties: chat_id: anyOf: - type: integer - type: string message_id: type: integer inline_message_id: type: string reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' multipart/form-data: schema: type: object properties: chat_id: anyOf: - type: integer - type: string message_id: type: integer inline_message_id: type: string reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: anyOf: - $ref: '#/components/schemas/Message' - type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /stopPoll: description: 'Use this method to stop a poll which was sent by the bot. On success, the stopped Poll is returned.' post: requestBody: required: true content: application/json: schema: type: object required: - chat_id - message_id properties: chat_id: anyOf: - type: integer - type: string message_id: type: integer reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' application/x-www-form-urlencoded: schema: type: object required: - chat_id - message_id properties: chat_id: anyOf: - type: integer - type: string message_id: type: integer reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' multipart/form-data: schema: type: object required: - chat_id - message_id properties: chat_id: anyOf: - type: integer - type: string message_id: type: integer reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: $ref: '#/components/schemas/Poll' 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /deleteMessage: description: 'Use this method to delete a message, including service messages, with the following limitations:- A message can only be deleted if it was sent less than 48 hours ago.- A dice message in a private chat can only be deleted if it was sent more than 24 hours ago.- Bots can delete outgoing messages in private chats, groups, and supergroups.- Bots can delete incoming messages in private chats.- Bots granted can_post_messages permissions can delete outgoing messages in channels.- If the bot is an administrator of a group, it can delete any message there.- If the bot has can_delete_messages permission in a supergroup or a channel, it can delete any message there.Returns True on success.' post: requestBody: required: true content: application/json: schema: type: object required: - chat_id - message_id properties: chat_id: anyOf: - type: integer - type: string message_id: type: integer application/x-www-form-urlencoded: schema: type: object required: - chat_id - message_id properties: chat_id: anyOf: - type: integer - type: string message_id: type: integer multipart/form-data: schema: type: object required: - chat_id - message_id properties: chat_id: anyOf: - type: integer - type: string message_id: type: integer responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /sendSticker: description: 'Use this method to send static .WEBP or animated .TGS stickers. On success, the sent Message is returned.' post: requestBody: required: true content: application/json: schema: type: object required: - chat_id - sticker properties: chat_id: anyOf: - type: integer - type: string sticker: anyOf: - $ref: '#/components/schemas/InputFile' - type: string disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' application/x-www-form-urlencoded: schema: type: object required: - chat_id - sticker properties: chat_id: anyOf: - type: integer - type: string sticker: anyOf: - $ref: '#/components/schemas/InputFile' - type: string disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' multipart/form-data: schema: type: object required: - chat_id - sticker properties: chat_id: anyOf: - type: integer - type: string sticker: anyOf: - $ref: '#/components/schemas/InputFile' - type: string disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: anyOf: - $ref: '#/components/schemas/InlineKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardMarkup' - $ref: '#/components/schemas/ReplyKeyboardRemove' - $ref: '#/components/schemas/ForceReply' responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: $ref: '#/components/schemas/Message' 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /getStickerSet: description: 'Use this method to get a sticker set. On success, a StickerSet object is returned.' post: requestBody: required: true content: application/json: schema: type: object required: - name properties: name: type: string application/x-www-form-urlencoded: schema: type: object required: - name properties: name: type: string multipart/form-data: schema: type: object required: - name properties: name: type: string responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: $ref: '#/components/schemas/StickerSet' 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /uploadStickerFile: description: 'Use this method to upload a .PNG file with a sticker for later use in createNewStickerSet and addStickerToSet methods (can be used multiple times). Returns the uploaded File on success.' post: requestBody: required: true content: application/json: schema: type: object required: - user_id - png_sticker properties: user_id: type: integer png_sticker: $ref: '#/components/schemas/InputFile' application/x-www-form-urlencoded: schema: type: object required: - user_id - png_sticker properties: user_id: type: integer png_sticker: $ref: '#/components/schemas/InputFile' multipart/form-data: schema: type: object required: - user_id - png_sticker properties: user_id: type: integer png_sticker: $ref: '#/components/schemas/InputFile' responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: $ref: '#/components/schemas/File' 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /createNewStickerSet: description: 'Use this method to create a new sticker set owned by a user. The bot will be able to edit the sticker set thus created. You must use exactly one of the fields png_sticker or tgs_sticker. Returns True on success.' post: requestBody: required: true content: application/json: schema: type: object required: - user_id - name - title - emojis properties: user_id: type: integer name: type: string title: type: string png_sticker: anyOf: - $ref: '#/components/schemas/InputFile' - type: string tgs_sticker: $ref: '#/components/schemas/InputFile' emojis: type: string contains_masks: type: boolean mask_position: $ref: '#/components/schemas/MaskPosition' application/x-www-form-urlencoded: schema: type: object required: - user_id - name - title - emojis properties: user_id: type: integer name: type: string title: type: string png_sticker: anyOf: - $ref: '#/components/schemas/InputFile' - type: string tgs_sticker: $ref: '#/components/schemas/InputFile' emojis: type: string contains_masks: type: boolean mask_position: $ref: '#/components/schemas/MaskPosition' multipart/form-data: schema: type: object required: - user_id - name - title - emojis properties: user_id: type: integer name: type: string title: type: string png_sticker: anyOf: - $ref: '#/components/schemas/InputFile' - type: string tgs_sticker: $ref: '#/components/schemas/InputFile' emojis: type: string contains_masks: type: boolean mask_position: $ref: '#/components/schemas/MaskPosition' responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /addStickerToSet: description: 'Use this method to add a new sticker to a set created by the bot. You must use exactly one of the fields png_sticker or tgs_sticker. Animated stickers can be added to animated sticker sets and only to them. Animated sticker sets can have up to 50 stickers. Static sticker sets can have up to 120 stickers. Returns True on success.' post: requestBody: required: true content: application/json: schema: type: object required: - user_id - name - emojis properties: user_id: type: integer name: type: string png_sticker: anyOf: - $ref: '#/components/schemas/InputFile' - type: string tgs_sticker: $ref: '#/components/schemas/InputFile' emojis: type: string mask_position: $ref: '#/components/schemas/MaskPosition' application/x-www-form-urlencoded: schema: type: object required: - user_id - name - emojis properties: user_id: type: integer name: type: string png_sticker: anyOf: - $ref: '#/components/schemas/InputFile' - type: string tgs_sticker: $ref: '#/components/schemas/InputFile' emojis: type: string mask_position: $ref: '#/components/schemas/MaskPosition' multipart/form-data: schema: type: object required: - user_id - name - emojis properties: user_id: type: integer name: type: string png_sticker: anyOf: - $ref: '#/components/schemas/InputFile' - type: string tgs_sticker: $ref: '#/components/schemas/InputFile' emojis: type: string mask_position: $ref: '#/components/schemas/MaskPosition' responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /setStickerPositionInSet: description: 'Use this method to move a sticker in a set created by the bot to a specific position. Returns True on success.' post: requestBody: required: true content: application/json: schema: type: object required: - sticker - position properties: sticker: type: string position: type: integer application/x-www-form-urlencoded: schema: type: object required: - sticker - position properties: sticker: type: string position: type: integer multipart/form-data: schema: type: object required: - sticker - position properties: sticker: type: string position: type: integer responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /deleteStickerFromSet: description: 'Use this method to delete a sticker from a set created by the bot. Returns True on success.' post: requestBody: required: true content: application/json: schema: type: object required: - sticker properties: sticker: type: string application/x-www-form-urlencoded: schema: type: object required: - sticker properties: sticker: type: string multipart/form-data: schema: type: object required: - sticker properties: sticker: type: string responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /setStickerSetThumb: description: 'Use this method to set the thumbnail of a sticker set. Animated thumbnails can be set for animated sticker sets only. Returns True on success.' post: requestBody: required: true content: application/json: schema: type: object required: - name - user_id properties: name: type: string user_id: type: integer thumb: anyOf: - $ref: '#/components/schemas/InputFile' - type: string application/x-www-form-urlencoded: schema: type: object required: - name - user_id properties: name: type: string user_id: type: integer thumb: anyOf: - $ref: '#/components/schemas/InputFile' - type: string multipart/form-data: schema: type: object required: - name - user_id properties: name: type: string user_id: type: integer thumb: anyOf: - $ref: '#/components/schemas/InputFile' - type: string responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /answerInlineQuery: description: 'Use this method to send answers to an inline query. On success, True is returned.No more than 50 results per query are allowed.' post: requestBody: required: true content: application/json: schema: type: object required: - inline_query_id - results properties: inline_query_id: type: string results: type: array items: $ref: '#/components/schemas/InlineQueryResult' cache_time: type: integer default: 300 is_personal: type: boolean next_offset: type: string switch_pm_text: type: string switch_pm_parameter: type: string application/x-www-form-urlencoded: schema: type: object required: - inline_query_id - results properties: inline_query_id: type: string results: type: array items: $ref: '#/components/schemas/InlineQueryResult' cache_time: type: integer default: 300 is_personal: type: boolean next_offset: type: string switch_pm_text: type: string switch_pm_parameter: type: string multipart/form-data: schema: type: object required: - inline_query_id - results properties: inline_query_id: type: string results: type: array items: $ref: '#/components/schemas/InlineQueryResult' cache_time: type: integer default: 300 is_personal: type: boolean next_offset: type: string switch_pm_text: type: string switch_pm_parameter: type: string responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /sendInvoice: description: 'Use this method to send invoices. On success, the sent Message is returned.' post: requestBody: required: true content: application/json: schema: type: object required: - chat_id - title - description - payload - provider_token - currency - prices properties: chat_id: anyOf: - type: integer - type: string title: type: string description: type: string payload: type: string provider_token: type: string currency: type: string prices: type: array items: $ref: '#/components/schemas/LabeledPrice' max_tip_amount: type: integer suggested_tip_amounts: type: array items: type: integer start_parameter: type: string provider_data: type: string photo_url: type: string photo_size: type: integer photo_width: type: integer photo_height: type: integer need_name: type: boolean need_phone_number: type: boolean need_email: type: boolean need_shipping_address: type: boolean send_phone_number_to_provider: type: boolean send_email_to_provider: type: boolean is_flexible: type: boolean disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' application/x-www-form-urlencoded: schema: type: object required: - chat_id - title - description - payload - provider_token - currency - prices properties: chat_id: anyOf: - type: integer - type: string title: type: string description: type: string payload: type: string provider_token: type: string currency: type: string prices: type: array items: $ref: '#/components/schemas/LabeledPrice' max_tip_amount: type: integer suggested_tip_amounts: type: array items: type: integer start_parameter: type: string provider_data: type: string photo_url: type: string photo_size: type: integer photo_width: type: integer photo_height: type: integer need_name: type: boolean need_phone_number: type: boolean need_email: type: boolean need_shipping_address: type: boolean send_phone_number_to_provider: type: boolean send_email_to_provider: type: boolean is_flexible: type: boolean disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' multipart/form-data: schema: type: object required: - chat_id - title - description - payload - provider_token - currency - prices properties: chat_id: anyOf: - type: integer - type: string title: type: string description: type: string payload: type: string provider_token: type: string currency: type: string prices: type: array items: $ref: '#/components/schemas/LabeledPrice' max_tip_amount: type: integer suggested_tip_amounts: type: array items: type: integer start_parameter: type: string provider_data: type: string photo_url: type: string photo_size: type: integer photo_width: type: integer photo_height: type: integer need_name: type: boolean need_phone_number: type: boolean need_email: type: boolean need_shipping_address: type: boolean send_phone_number_to_provider: type: boolean send_email_to_provider: type: boolean is_flexible: type: boolean disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: $ref: '#/components/schemas/Message' 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /answerShippingQuery: description: 'If you sent an invoice requesting a shipping address and the parameter is_flexible was specified, the Bot API will send an Update with a shipping_query field to the bot. Use this method to reply to shipping queries. On success, True is returned.' post: requestBody: required: true content: application/json: schema: type: object required: - shipping_query_id - ok properties: shipping_query_id: type: string ok: type: boolean shipping_options: type: array items: $ref: '#/components/schemas/ShippingOption' error_message: type: string application/x-www-form-urlencoded: schema: type: object required: - shipping_query_id - ok properties: shipping_query_id: type: string ok: type: boolean shipping_options: type: array items: $ref: '#/components/schemas/ShippingOption' error_message: type: string multipart/form-data: schema: type: object required: - shipping_query_id - ok properties: shipping_query_id: type: string ok: type: boolean shipping_options: type: array items: $ref: '#/components/schemas/ShippingOption' error_message: type: string responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /answerPreCheckoutQuery: description: 'Once the user has confirmed their payment and shipping details, the Bot API sends the final confirmation in the form of an Update with the field pre_checkout_query. Use this method to respond to such pre-checkout queries. On success, True is returned. Note: The Bot API must receive an answer within 10 seconds after the pre-checkout query was sent.' post: requestBody: required: true content: application/json: schema: type: object required: - pre_checkout_query_id - ok properties: pre_checkout_query_id: type: string ok: type: boolean error_message: type: string application/x-www-form-urlencoded: schema: type: object required: - pre_checkout_query_id - ok properties: pre_checkout_query_id: type: string ok: type: boolean error_message: type: string multipart/form-data: schema: type: object required: - pre_checkout_query_id - ok properties: pre_checkout_query_id: type: string ok: type: boolean error_message: type: string responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /setPassportDataErrors: description: "Informs a user that some of the Telegram Passport elements they provided contains errors. The user will not be able to re-submit their Passport to you until the errors are fixed (the contents of the field for which you returned the error must change). Returns True on success.\nUse this if the data submitted by the user doesn't satisfy the standards your service requires for any reason. For example, if a birthday date seems invalid, a submitted document is blurry, a scan shows evidence of tampering, etc. Supply some details in the error message to make sure the user knows how to correct the issues." post: requestBody: required: true content: application/json: schema: type: object required: - user_id - errors properties: user_id: type: integer errors: type: array items: $ref: '#/components/schemas/PassportElementError' application/x-www-form-urlencoded: schema: type: object required: - user_id - errors properties: user_id: type: integer errors: type: array items: $ref: '#/components/schemas/PassportElementError' multipart/form-data: schema: type: object required: - user_id - errors properties: user_id: type: integer errors: type: array items: $ref: '#/components/schemas/PassportElementError' responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /sendGame: description: 'Use this method to send a game. On success, the sent Message is returned.' post: requestBody: required: true content: application/json: schema: type: object required: - chat_id - game_short_name properties: chat_id: type: integer game_short_name: type: string disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' application/x-www-form-urlencoded: schema: type: object required: - chat_id - game_short_name properties: chat_id: type: integer game_short_name: type: string disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' multipart/form-data: schema: type: object required: - chat_id - game_short_name properties: chat_id: type: integer game_short_name: type: string disable_notification: type: boolean reply_to_message_id: type: integer allow_sending_without_reply: type: boolean reply_markup: $ref: '#/components/schemas/InlineKeyboardMarkup' responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: $ref: '#/components/schemas/Message' 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /setGameScore: description: "Use this method to set the score of the specified user in a game message. On success, if the message is not an inline message, the Message is returned, otherwise True is returned. Returns an error, if the new score is not greater than the user's current score in the chat and force is False." post: requestBody: required: true content: application/json: schema: type: object required: - user_id - score properties: user_id: type: integer score: type: integer force: type: boolean disable_edit_message: type: boolean chat_id: type: integer message_id: type: integer inline_message_id: type: string application/x-www-form-urlencoded: schema: type: object required: - user_id - score properties: user_id: type: integer score: type: integer force: type: boolean disable_edit_message: type: boolean chat_id: type: integer message_id: type: integer inline_message_id: type: string multipart/form-data: schema: type: object required: - user_id - score properties: user_id: type: integer score: type: integer force: type: boolean disable_edit_message: type: boolean chat_id: type: integer message_id: type: integer inline_message_id: type: string responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: anyOf: - $ref: '#/components/schemas/Message' - type: boolean 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError' /getGameHighScores: description: 'Use this method to get data for high score tables. Will return the score of the specified user and several of their neighbors in a game. On success, returns an Array of GameHighScore objects.' post: requestBody: required: true content: application/json: schema: type: object required: - user_id properties: user_id: type: integer chat_id: type: integer message_id: type: integer inline_message_id: type: string application/x-www-form-urlencoded: schema: type: object required: - user_id properties: user_id: type: integer chat_id: type: integer message_id: type: integer inline_message_id: type: string multipart/form-data: schema: type: object required: - user_id properties: user_id: type: integer chat_id: type: integer message_id: type: integer inline_message_id: type: string responses: 200: description: 'Request was successful, the result is returned.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: result: type: array items: $ref: '#/components/schemas/GameHighScore' 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: $ref: '#/components/responses/TooManyRequests' 5XX: $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/UnknownError'