tgscraper/schemas/botapi_openapi.yaml

14236 lines
624 KiB
YAML
Raw Normal View History

openapi: 3.0.0
info:
title: 'Telegram Bot API'
description: 'Auto-generated OpenAPI schema by TGScraper.'
version: 6.8.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: 'Describes 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
last_synchronization_error_date:
type: integer
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
is_premium:
type: boolean
default: true
added_to_attachment_menu:
type: boolean
default: true
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
is_forum:
type: boolean
default: true
photo:
$ref: '#/components/schemas/ChatPhoto'
active_usernames:
type: array
items:
type: string
emoji_status_custom_emoji_id:
type: string
emoji_status_expiration_date:
type: integer
bio:
type: string
has_private_forwards:
type: boolean
default: true
has_restricted_voice_and_video_messages:
type: boolean
default: true
join_to_send_messages:
type: boolean
default: true
join_by_request:
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_aggressive_anti_spam_enabled:
type: boolean
default: true
has_hidden_members:
type: boolean
default: true
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
message_thread_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_topic_message:
type: boolean
default: true
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'
story:
$ref: '#/components/schemas/Story'
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'
has_media_spoiler:
type: boolean
default: true
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'
user_shared:
$ref: '#/components/schemas/UserShared'
chat_shared:
$ref: '#/components/schemas/ChatShared'
connected_website:
type: string
write_access_allowed:
$ref: '#/components/schemas/WriteAccessAllowed'
passport_data:
$ref: '#/components/schemas/PassportData'
proximity_alert_triggered:
$ref: '#/components/schemas/ProximityAlertTriggered'
forum_topic_created:
$ref: '#/components/schemas/ForumTopicCreated'
forum_topic_edited:
$ref: '#/components/schemas/ForumTopicEdited'
forum_topic_closed:
$ref: '#/components/schemas/ForumTopicClosed'
forum_topic_reopened:
$ref: '#/components/schemas/ForumTopicReopened'
general_forum_topic_hidden:
$ref: '#/components/schemas/GeneralForumTopicHidden'
general_forum_topic_unhidden:
$ref: '#/components/schemas/GeneralForumTopicUnhidden'
video_chat_scheduled:
$ref: '#/components/schemas/VideoChatScheduled'
video_chat_started:
$ref: '#/components/schemas/VideoChatStarted'
video_chat_ended:
$ref: '#/components/schemas/VideoChatEnded'
video_chat_participants_invited:
$ref: '#/components/schemas/VideoChatParticipantsInvited'
web_app_data:
$ref: '#/components/schemas/WebAppData'
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
custom_emoji_id:
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
thumbnail:
$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
thumbnail:
$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
thumbnail:
$ref: '#/components/schemas/PhotoSize'
file_name:
type: string
mime_type:
type: string
file_size:
type: integer
type: object
Story:
description: 'This object represents a message about a forwarded story in the chat. Currently holds no information.'
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
thumbnail:
$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
thumbnail:
$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
- option_ids
properties:
poll_id:
type: string
voter_chat:
$ref: '#/components/schemas/Chat'
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
WebAppData:
description: 'Describes data sent from a Web App to the bot.'
required:
- data
- button_text
properties:
data:
type: string
button_text:
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
ForumTopicCreated:
description: 'This object represents a service message about a new forum topic created in the chat.'
required:
- name
- icon_color
properties:
name:
type: string
icon_color:
type: integer
icon_custom_emoji_id:
type: string
type: object
ForumTopicClosed:
description: 'This object represents a service message about a forum topic closed in the chat. Currently holds no information.'
type: object
ForumTopicEdited:
description: 'This object represents a service message about an edited forum topic.'
properties:
name:
type: string
icon_custom_emoji_id:
type: string
type: object
ForumTopicReopened:
description: 'This object represents a service message about a forum topic reopened in the chat. Currently holds no information.'
type: object
GeneralForumTopicHidden:
description: 'This object represents a service message about General forum topic hidden in the chat. Currently holds no information.'
type: object
GeneralForumTopicUnhidden:
description: 'This object represents a service message about General forum topic unhidden in the chat. Currently holds no information.'
type: object
UserShared:
description: 'This object contains information about the user whose identifier was shared with the bot using a KeyboardButtonRequestUser button.'
required:
- request_id
- user_id
properties:
request_id:
type: integer
user_id:
type: integer
type: object
ChatShared:
description: 'This object contains information about the chat whose identifier was shared with the bot using a KeyboardButtonRequestChat button.'
required:
- request_id
- chat_id
properties:
request_id:
type: integer
chat_id:
type: integer
type: object
WriteAccessAllowed:
description: 'This object represents a service message about a user allowing a bot to write messages after adding the bot to the attachment menu or launching a Web App from a link.'
properties:
web_app_name:
type: string
type: object
VideoChatScheduled:
description: 'This object represents a service message about a video chat scheduled in the chat.'
required:
- start_date
properties:
start_date:
type: integer
type: object
VideoChatStarted:
description: 'This object represents a service message about a video chat started in the chat. Currently holds no information.'
type: object
VideoChatEnded:
description: 'This object represents a service message about a video chat ended in the chat.'
required:
- duration
properties:
duration:
type: integer
type: object
VideoChatParticipantsInvited:
description: 'This object represents a service message about new members invited to a video chat.'
required:
- users
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<token>/<file_path>. 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
WebAppInfo:
description: 'Describes a Web App.'
required:
- url
properties:
url:
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'
is_persistent:
type: boolean
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 the button text. The optional fields web_app, request_user, request_chat, request_contact, request_location, and request_poll are mutually exclusive.'
required:
- text
properties:
text:
type: string
request_user:
$ref: '#/components/schemas/KeyboardButtonRequestUser'
request_chat:
$ref: '#/components/schemas/KeyboardButtonRequestChat'
request_contact:
type: boolean
request_location:
type: boolean
request_poll:
$ref: '#/components/schemas/KeyboardButtonPollType'
web_app:
$ref: '#/components/schemas/WebAppInfo'
type: object
KeyboardButtonRequestUser:
description: 'This object defines the criteria used to request a suitable user. The identifier of the selected user will be shared with the bot when the corresponding button is pressed. More about requesting users »'
required:
- request_id
properties:
request_id:
type: integer
user_is_bot:
type: boolean
user_is_premium:
type: boolean
type: object
KeyboardButtonRequestChat:
description: 'This object defines the criteria used to request a suitable chat. The identifier of the selected chat will be shared with the bot when the corresponding button is pressed. More about requesting chats »'
required:
- request_id
- chat_is_channel
properties:
request_id:
type: integer
chat_is_channel:
type: boolean
chat_is_forum:
type: boolean
chat_has_username:
type: boolean
chat_is_created:
type: boolean
user_administrator_rights:
$ref: '#/components/schemas/ChatAdministratorRights'
bot_administrator_rights:
$ref: '#/components/schemas/ChatAdministratorRights'
bot_is_member:
type: boolean
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
callback_data:
type: string
web_app:
$ref: '#/components/schemas/WebAppInfo'
login_url:
$ref: '#/components/schemas/LoginUrl'
switch_inline_query:
type: string
switch_inline_query_current_chat:
type: string
switch_inline_query_chosen_chat:
$ref: '#/components/schemas/SwitchInlineQueryChosenChat'
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
SwitchInlineQueryChosenChat:
description: 'This object represents an inline button that switches the current user to inline mode in a chosen chat, with an optional default inline query.'
properties:
query:
type: string
allow_user_chats:
type: boolean
allow_bot_chats:
type: boolean
allow_group_chats:
type: boolean
allow_channel_chats:
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
ChatAdministratorRights:
description: 'Represents the rights of an administrator in a chat.'
required:
- is_anonymous
- can_manage_chat
- can_delete_messages
- can_manage_video_chats
- can_restrict_members
- can_promote_members
- can_change_info
- can_invite_users
properties:
is_anonymous:
type: boolean
can_manage_chat:
type: boolean
can_delete_messages:
type: boolean
can_manage_video_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
can_manage_topics:
type: boolean
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_video_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_video_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
can_manage_topics:
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_send_messages
- can_send_audios
- can_send_documents
- can_send_photos
- can_send_videos
- can_send_video_notes
- can_send_voice_notes
- can_send_polls
- can_send_other_messages
- can_add_web_page_previews
- can_change_info
- can_invite_users
- can_pin_messages
- can_manage_topics
- until_date
properties:
status:
type: string
user:
$ref: '#/components/schemas/User'
is_member:
type: boolean
can_send_messages:
type: boolean
can_send_audios:
type: boolean
can_send_documents:
type: boolean
can_send_photos:
type: boolean
can_send_videos:
type: boolean
can_send_video_notes:
type: boolean
can_send_voice_notes:
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
can_manage_topics:
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'
via_chat_folder_invite_link:
type: boolean
type: object
ChatJoinRequest:
description: 'Represents a join request sent to a chat.'
required:
- chat
- from
- user_chat_id
- date
properties:
chat:
$ref: '#/components/schemas/Chat'
from:
$ref: '#/components/schemas/User'
user_chat_id:
type: integer
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_audios:
type: boolean
can_send_documents:
type: boolean
can_send_photos:
type: boolean
can_send_videos:
type: boolean
can_send_video_notes:
type: boolean
can_send_voice_notes:
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
can_manage_topics:
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
ForumTopic:
description: 'This object represents a forum topic.'
required:
- message_thread_id
- name
- icon_color
properties:
message_thread_id:
type: integer
name:
type: string
icon_color:
type: integer
icon_custom_emoji_id:
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
BotName:
description: "This object represents the bot's name."
required:
- name
properties:
name:
type: string
type: object
BotDescription:
description: "This object represents the bot's description."
required:
- description
properties:
description:
type: string
type: object
BotShortDescription:
description: "This object represents the bot's short description."
required:
- short_description
properties:
short_description:
type: string
type: object
MenuButton:
description: "This object describes the bot's menu button in a private chat. It should be one of"
anyOf:
-
$ref: '#/components/schemas/MenuButtonCommands'
-
$ref: '#/components/schemas/MenuButtonWebApp'
-
$ref: '#/components/schemas/MenuButtonDefault'
MenuButtonCommands:
description: "Represents a menu button, which opens the bot's list of commands."
required:
- type
properties:
type:
type: string
default: commands
type: object
MenuButtonWebApp:
description: 'Represents a menu button, which launches a Web App.'
required:
- type
- text
- web_app
properties:
type:
type: string
default: web_app
text:
type: string
web_app:
$ref: '#/components/schemas/WebAppInfo'
type: object
MenuButtonDefault:
description: 'Describes that no specific value for the menu button was set.'
required:
- type
properties:
type:
type: string
default: default
type: object
ResponseParameters:
description: 'Describes 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'
has_spoiler:
type: boolean
type: object
InputMediaVideo:
description: 'Represents a video to be sent.'
required:
- type
- media
properties:
type:
type: string
default: video
media:
type: string
thumbnail:
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
has_spoiler:
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
thumbnail:
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
has_spoiler:
type: boolean
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
thumbnail:
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
thumbnail:
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
- type
- width
- height
- is_animated
- is_video
properties:
file_id:
type: string
file_unique_id:
type: string
type:
type: string
width:
type: integer
height:
type: integer
is_animated:
type: boolean
is_video:
type: boolean
thumbnail:
$ref: '#/components/schemas/PhotoSize'
emoji:
type: string
set_name:
type: string
premium_animation:
$ref: '#/components/schemas/File'
mask_position:
$ref: '#/components/schemas/MaskPosition'
custom_emoji_id:
type: string
needs_repainting:
type: boolean
default: true
file_size:
type: integer
type: object
StickerSet:
description: 'This object represents a sticker set.'
required:
- name
- title
- sticker_type
- is_animated
- is_video
- stickers
properties:
name:
type: string
title:
type: string
sticker_type:
type: string
is_animated:
type: boolean
is_video:
type: boolean
stickers:
type: array
items:
$ref: '#/components/schemas/Sticker'
thumbnail:
$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
InputSticker:
description: 'This object describes a sticker to be added to a sticker set.'
required:
- sticker
- emoji_list
properties:
sticker:
anyOf:
-
$ref: '#/components/schemas/InputFile'
-
type: string
emoji_list:
type: array
items:
type: string
mask_position:
$ref: '#/components/schemas/MaskPosition'
keywords:
type: array
items:
type: string
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
InlineQueryResultsButton:
description: 'This object represents a button to be shown above inline query results. You must use exactly one of the optional fields.'
required:
- text
properties:
text:
type: string
web_app:
$ref: '#/components/schemas/WebAppInfo'
start_parameter:
type: string
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
thumbnail_url:
type: string
thumbnail_width:
type: integer
thumbnail_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
- thumbnail_url
properties:
type:
type: string
default: photo
id:
type: string
photo_url:
type: string
thumbnail_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
- thumbnail_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
thumbnail_url:
type: string
thumbnail_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
- thumbnail_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
thumbnail_url:
type: string
thumbnail_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
- thumbnail_url
- title
properties:
type:
type: string
default: video
id:
type: string
video_url:
type: string
mime_type:
type: string
thumbnail_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'
thumbnail_url:
type: string
thumbnail_width:
type: integer
thumbnail_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'
thumbnail_url:
type: string
thumbnail_width:
type: integer
thumbnail_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'
thumbnail_url:
type: string
thumbnail_width:
type: integer
thumbnail_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'
thumbnail_url:
type: string
thumbnail_width:
type: integer
thumbnail_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
SentWebAppMessage:
description: 'Describes an inline message sent by a Web App on behalf of a user.'
properties:
inline_message_id:
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: 'Describes 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: 'Describes 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: 'Describes 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). Returns an Array of Update objects.'
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 was set by you, you can specify secret data in the parameter secret_token. If specified, the request will contain a header “X-Telegram-Bot-Api-Secret-Token” with the secret token as content."
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
secret_token:
type: string
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
secret_token:
type: string
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
secret_token:
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'
/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
message_thread_id:
type: integer
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
protect_content:
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
message_thread_id:
type: integer
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
protect_content:
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
message_thread_id:
type: integer
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
protect_content:
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
message_thread_id:
type: integer
from_chat_id:
anyOf:
-
type: integer
-
type: string
disable_notification:
type: boolean
protect_content:
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
message_thread_id:
type: integer
from_chat_id:
anyOf:
-
type: integer
-
type: string
disable_notification:
type: boolean
protect_content:
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
message_thread_id:
type: integer
from_chat_id:
anyOf:
-
type: integer
-
type: string
disable_notification:
type: boolean
protect_content:
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. A quiz poll can be copied only if the value of the field correct_option_id is known to the bot. 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
message_thread_id:
type: integer
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
protect_content:
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
message_thread_id:
type: integer
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
protect_content:
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
message_thread_id:
type: integer
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
protect_content:
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
message_thread_id:
type: integer
photo:
anyOf:
-
$ref: '#/components/schemas/InputFile'
-
type: string
caption:
type: string
parse_mode:
type: string
caption_entities:
type: array
items:
$ref: '#/components/schemas/MessageEntity'
has_spoiler:
type: boolean
disable_notification:
type: boolean
protect_content:
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
message_thread_id:
type: integer
photo:
anyOf:
-
$ref: '#/components/schemas/InputFile'
-
type: string
caption:
type: string
parse_mode:
type: string
caption_entities:
type: array
items:
$ref: '#/components/schemas/MessageEntity'
has_spoiler:
type: boolean
disable_notification:
type: boolean
protect_content:
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
message_thread_id:
type: integer
photo:
anyOf:
-
$ref: '#/components/schemas/InputFile'
-
type: string
caption:
type: string
parse_mode:
type: string
caption_entities:
type: array
items:
$ref: '#/components/schemas/MessageEntity'
has_spoiler:
type: boolean
disable_notification:
type: boolean
protect_content:
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
message_thread_id:
type: integer
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
thumbnail:
anyOf:
-
$ref: '#/components/schemas/InputFile'
-
type: string
disable_notification:
type: boolean
protect_content:
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
message_thread_id:
type: integer
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
thumbnail:
anyOf:
-
$ref: '#/components/schemas/InputFile'
-
type: string
disable_notification:
type: boolean
protect_content:
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
message_thread_id:
type: integer
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
thumbnail:
anyOf:
-
$ref: '#/components/schemas/InputFile'
-
type: string
disable_notification:
type: boolean
protect_content:
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
message_thread_id:
type: integer
document:
anyOf:
-
$ref: '#/components/schemas/InputFile'
-
type: string
thumbnail:
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
protect_content:
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
message_thread_id:
type: integer
document:
anyOf:
-
$ref: '#/components/schemas/InputFile'
-
type: string
thumbnail:
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
protect_content:
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
message_thread_id:
type: integer
document:
anyOf:
-
$ref: '#/components/schemas/InputFile'
-
type: string
thumbnail:
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
protect_content:
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 MPEG4 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
message_thread_id:
type: integer
video:
anyOf:
-
$ref: '#/components/schemas/InputFile'
-
type: string
duration:
type: integer
width:
type: integer
height:
type: integer
thumbnail:
anyOf:
-
$ref: '#/components/schemas/InputFile'
-
type: string
caption:
type: string
parse_mode:
type: string
caption_entities:
type: array
items:
$ref: '#/components/schemas/MessageEntity'
has_spoiler:
type: boolean
supports_streaming:
type: boolean
disable_notification:
type: boolean
protect_content:
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
message_thread_id:
type: integer
video:
anyOf:
-
$ref: '#/components/schemas/InputFile'
-
type: string
duration:
type: integer
width:
type: integer
height:
type: integer
thumbnail:
anyOf:
-
$ref: '#/components/schemas/InputFile'
-
type: string
caption:
type: string
parse_mode:
type: string
caption_entities:
type: array
items:
$ref: '#/components/schemas/MessageEntity'
has_spoiler:
type: boolean
supports_streaming:
type: boolean
disable_notification:
type: boolean
protect_content:
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
message_thread_id:
type: integer
video:
anyOf:
-
$ref: '#/components/schemas/InputFile'
-
type: string
duration:
type: integer
width:
type: integer
height:
type: integer
thumbnail:
anyOf:
-
$ref: '#/components/schemas/InputFile'
-
type: string
caption:
type: string
parse_mode:
type: string
caption_entities:
type: array
items:
$ref: '#/components/schemas/MessageEntity'
has_spoiler:
type: boolean
supports_streaming:
type: boolean
disable_notification:
type: boolean
protect_content:
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
message_thread_id:
type: integer
animation:
anyOf:
-
$ref: '#/components/schemas/InputFile'
-
type: string
duration:
type: integer
width:
type: integer
height:
type: integer
thumbnail:
anyOf:
-
$ref: '#/components/schemas/InputFile'
-
type: string
caption:
type: string
parse_mode:
type: string
caption_entities:
type: array
items:
$ref: '#/components/schemas/MessageEntity'
has_spoiler:
type: boolean
disable_notification:
type: boolean
protect_content:
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
message_thread_id:
type: integer
animation:
anyOf:
-
$ref: '#/components/schemas/InputFile'
-
type: string
duration:
type: integer
width:
type: integer
height:
type: integer
thumbnail:
anyOf:
-
$ref: '#/components/schemas/InputFile'
-
type: string
caption:
type: string
parse_mode:
type: string
caption_entities:
type: array
items:
$ref: '#/components/schemas/MessageEntity'
has_spoiler:
type: boolean
disable_notification:
type: boolean
protect_content:
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
message_thread_id:
type: integer
animation:
anyOf:
-
$ref: '#/components/schemas/InputFile'
-
type: string
duration:
type: integer
width:
type: integer
height:
type: integer
thumbnail:
anyOf:
-
$ref: '#/components/schemas/InputFile'
-
type: string
caption:
type: string
parse_mode:
type: string
caption_entities:
type: array
items:
$ref: '#/components/schemas/MessageEntity'
has_spoiler:
type: boolean
disable_notification:
type: boolean
protect_content:
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
message_thread_id:
type: integer
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
protect_content:
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
message_thread_id:
type: integer
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
protect_content:
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
message_thread_id:
type: integer
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
protect_content:
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 MPEG4 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
message_thread_id:
type: integer
video_note:
anyOf:
-
$ref: '#/components/schemas/InputFile'
-
type: string
duration:
type: integer
length:
type: integer
thumbnail:
anyOf:
-
$ref: '#/components/schemas/InputFile'
-
type: string
disable_notification:
type: boolean
protect_content:
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
message_thread_id:
type: integer
video_note:
anyOf:
-
$ref: '#/components/schemas/InputFile'
-
type: string
duration:
type: integer
length:
type: integer
thumbnail:
anyOf:
-
$ref: '#/components/schemas/InputFile'
-
type: string
disable_notification:
type: boolean
protect_content:
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
message_thread_id:
type: integer
video_note:
anyOf:
-
$ref: '#/components/schemas/InputFile'
-
type: string
duration:
type: integer
length:
type: integer
thumbnail:
anyOf:
-
$ref: '#/components/schemas/InputFile'
-
type: string
disable_notification:
type: boolean
protect_content:
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
message_thread_id:
type: integer
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
protect_content:
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
message_thread_id:
type: integer
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
protect_content:
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
message_thread_id:
type: integer
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
protect_content:
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
message_thread_id:
type: integer
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
protect_content:
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
message_thread_id:
type: integer
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
protect_content:
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
message_thread_id:
type: integer
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
protect_content:
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'
/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
message_thread_id:
type: integer
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
protect_content:
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
message_thread_id:
type: integer
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
protect_content:
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
message_thread_id:
type: integer
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
protect_content:
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
message_thread_id:
type: integer
phone_number:
type: string
first_name:
type: string
last_name:
type: string
vcard:
type: string
disable_notification:
type: boolean
protect_content:
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
message_thread_id:
type: integer
phone_number:
type: string
first_name:
type: string
last_name:
type: string
vcard:
type: string
disable_notification:
type: boolean
protect_content:
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
message_thread_id:
type: integer
phone_number:
type: string
first_name:
type: string
last_name:
type: string
vcard:
type: string
disable_notification:
type: boolean
protect_content:
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
message_thread_id:
type: integer
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
protect_content:
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
message_thread_id:
type: integer
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
protect_content:
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
message_thread_id:
type: integer
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
protect_content:
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
message_thread_id:
type: integer
emoji:
type: string
default: 🎲
disable_notification:
type: boolean
protect_content:
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
message_thread_id:
type: integer
emoji:
type: string
default: 🎲
disable_notification:
type: boolean
protect_content:
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
message_thread_id:
type: integer
emoji:
type: string
default: 🎲
disable_notification:
type: boolean
protect_content:
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
message_thread_id:
type: integer
action:
type: string
application/x-www-form-urlencoded:
schema:
type: object
required:
- chat_id
- action
properties:
chat_id:
anyOf:
-
type: integer
-
type: string
message_thread_id:
type: integer
action:
type: string
multipart/form-data:
schema:
type: object
required:
- chat_id
- action
properties:
chat_id:
anyOf:
-
type: integer
-
type: string
message_thread_id:
type: integer
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 information 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<token>/<file_path>, where <file_path> 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'
use_independent_chat_permissions:
type: boolean
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'
use_independent_chat_permissions:
type: boolean
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'
use_independent_chat_permissions:
type: boolean
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_video_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
can_manage_topics:
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_video_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
can_manage_topics:
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_video_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
can_manage_topics:
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'
use_independent_chat_permissions:
type: boolean
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'
use_independent_chat_permissions:
type: boolean
multipart/form-data:
schema:
type: object
required:
- chat_id
- permissions
properties:
chat_id:
anyOf:
-
type: integer
-
type: string
permissions:
$ref: '#/components/schemas/ChatPermissions'
use_independent_chat_permissions:
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'
/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, which aren't bots. Returns an Array of ChatMember objects."
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. The method is only guaranteed to work for other users if the bot is an administrator in the 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'
/getForumTopicIconStickers:
description: 'Use this method to get custom emoji stickers, which can be used as a forum topic icon by any user. Requires no parameters. Returns an Array of Sticker objects.'
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: array
items:
$ref: '#/components/schemas/Sticker'
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'
/createForumTopic:
description: 'Use this method to create a topic in a forum supergroup chat. The bot must be an administrator in the chat for this to work and must have the can_manage_topics administrator rights. Returns information about the created topic as a ForumTopic object.'
post:
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- chat_id
- name
properties:
chat_id:
anyOf:
-
type: integer
-
type: string
name:
type: string
icon_color:
type: integer
icon_custom_emoji_id:
type: string
application/x-www-form-urlencoded:
schema:
type: object
required:
- chat_id
- name
properties:
chat_id:
anyOf:
-
type: integer
-
type: string
name:
type: string
icon_color:
type: integer
icon_custom_emoji_id:
type: string
multipart/form-data:
schema:
type: object
required:
- chat_id
- name
properties:
chat_id:
anyOf:
-
type: integer
-
type: string
name:
type: string
icon_color:
type: integer
icon_custom_emoji_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/ForumTopic'
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'
/editForumTopic:
description: 'Use this method to edit name and icon of a topic in a forum supergroup chat. The bot must be an administrator in the chat for this to work and must have can_manage_topics administrator rights, unless it is the creator of the topic. Returns True on success.'
post:
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- chat_id
- message_thread_id
properties:
chat_id:
anyOf:
-
type: integer
-
type: string
message_thread_id:
type: integer
name:
type: string
icon_custom_emoji_id:
type: string
application/x-www-form-urlencoded:
schema:
type: object
required:
- chat_id
- message_thread_id
properties:
chat_id:
anyOf:
-
type: integer
-
type: string
message_thread_id:
type: integer
name:
type: string
icon_custom_emoji_id:
type: string
multipart/form-data:
schema:
type: object
required:
- chat_id
- message_thread_id
properties:
chat_id:
anyOf:
-
type: integer
-
type: string
message_thread_id:
type: integer
name:
type: string
icon_custom_emoji_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: 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'
/closeForumTopic:
description: 'Use this method to close an open topic in a forum supergroup chat. The bot must be an administrator in the chat for this to work and must have the can_manage_topics administrator rights, unless it is the creator of the topic. Returns True on success.'
post:
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- chat_id
- message_thread_id
properties:
chat_id:
anyOf:
-
type: integer
-
type: string
message_thread_id:
type: integer
application/x-www-form-urlencoded:
schema:
type: object
required:
- chat_id
- message_thread_id
properties:
chat_id:
anyOf:
-
type: integer
-
type: string
message_thread_id:
type: integer
multipart/form-data:
schema:
type: object
required:
- chat_id
- message_thread_id
properties:
chat_id:
anyOf:
-
type: integer
-
type: string
message_thread_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'
/reopenForumTopic:
description: 'Use this method to reopen a closed topic in a forum supergroup chat. The bot must be an administrator in the chat for this to work and must have the can_manage_topics administrator rights, unless it is the creator of the topic. Returns True on success.'
post:
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- chat_id
- message_thread_id
properties:
chat_id:
anyOf:
-
type: integer
-
type: string
message_thread_id:
type: integer
application/x-www-form-urlencoded:
schema:
type: object
required:
- chat_id
- message_thread_id
properties:
chat_id:
anyOf:
-
type: integer
-
type: string
message_thread_id:
type: integer
multipart/form-data:
schema:
type: object
required:
- chat_id
- message_thread_id
properties:
chat_id:
anyOf:
-
type: integer
-
type: string
message_thread_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'
/deleteForumTopic:
description: 'Use this method to delete a forum topic along with all its messages in a forum supergroup chat. The bot must be an administrator in the chat for this to work and must have the can_delete_messages administrator rights. Returns True on success.'
post:
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- chat_id
- message_thread_id
properties:
chat_id:
anyOf:
-
type: integer
-
type: string
message_thread_id:
type: integer
application/x-www-form-urlencoded:
schema:
type: object
required:
- chat_id
- message_thread_id
properties:
chat_id:
anyOf:
-
type: integer
-
type: string
message_thread_id:
type: integer
multipart/form-data:
schema:
type: object
required:
- chat_id
- message_thread_id
properties:
chat_id:
anyOf:
-
type: integer
-
type: string
message_thread_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'
/unpinAllForumTopicMessages:
description: 'Use this method to clear the list of pinned messages in a forum topic. The bot must be an administrator in the chat for this to work and must have the can_pin_messages administrator right in the supergroup. Returns True on success.'
post:
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- chat_id
- message_thread_id
properties:
chat_id:
anyOf:
-
type: integer
-
type: string
message_thread_id:
type: integer
application/x-www-form-urlencoded:
schema:
type: object
required:
- chat_id
- message_thread_id
properties:
chat_id:
anyOf:
-
type: integer
-
type: string
message_thread_id:
type: integer
multipart/form-data:
schema:
type: object
required:
- chat_id
- message_thread_id
properties:
chat_id:
anyOf:
-
type: integer
-
type: string
message_thread_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'
/editGeneralForumTopic:
description: "Use this method to edit the name of the 'General' topic in a forum supergroup chat. The bot must be an administrator in the chat for this to work and must have can_manage_topics administrator rights. Returns True on success."
post:
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- chat_id
- name
properties:
chat_id:
anyOf:
-
type: integer
-
type: string
name:
type: string
application/x-www-form-urlencoded:
schema:
type: object
required:
- chat_id
- name
properties:
chat_id:
anyOf:
-
type: integer
-
type: string
name:
type: string
multipart/form-data:
schema:
type: object
required:
- chat_id
- name
properties:
chat_id:
anyOf:
-
type: integer
-
type: string
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'
/closeGeneralForumTopic:
description: "Use this method to close an open 'General' topic in a forum supergroup chat. The bot must be an administrator in the chat for this to work and must have the can_manage_topics 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'
/reopenGeneralForumTopic:
description: "Use this method to reopen a closed 'General' topic in a forum supergroup chat. The bot must be an administrator in the chat for this to work and must have the can_manage_topics administrator rights. The topic will be automatically unhidden if it was hidden. 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'
/hideGeneralForumTopic:
description: "Use this method to hide the 'General' topic in a forum supergroup chat. The bot must be an administrator in the chat for this to work and must have the can_manage_topics administrator rights. The topic will be automatically closed if it was open. 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'
/unhideGeneralForumTopic:
description: "Use this method to unhide the 'General' topic in a forum supergroup chat. The bot must be an administrator in the chat for this to work and must have the can_manage_topics 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'
/unpinAllGeneralForumTopicMessages:
description: 'Use this method to clear the list of pinned messages in a General forum topic. The bot must be an administrator in the chat for this to work and must have the can_pin_messages administrator right in the supergroup. 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 this manual 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 an Array of BotCommand objects. 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'
/setMyName:
description: "Use this method to change the bot's name. Returns True on success."
post:
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
language_code:
type: string
application/x-www-form-urlencoded:
schema:
type: object
properties:
name:
type: string
language_code:
type: string
multipart/form-data:
schema:
type: object
properties:
name:
type: string
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'
/getMyName:
description: 'Use this method to get the current bot name for the given user language. Returns BotName on success.'
post:
requestBody:
content:
application/json:
schema:
type: object
properties:
language_code:
type: string
application/x-www-form-urlencoded:
schema:
type: object
properties:
language_code:
type: string
multipart/form-data:
schema:
type: object
properties:
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:
$ref: '#/components/schemas/BotName'
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'
/setMyDescription:
description: "Use this method to change the bot's description, which is shown in the chat with the bot if the chat is empty. Returns True on success."
post:
requestBody:
content:
application/json:
schema:
type: object
properties:
description:
type: string
language_code:
type: string
application/x-www-form-urlencoded:
schema:
type: object
properties:
description:
type: string
language_code:
type: string
multipart/form-data:
schema:
type: object
properties:
description:
type: string
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'
/getMyDescription:
description: 'Use this method to get the current bot description for the given user language. Returns BotDescription on success.'
post:
requestBody:
content:
application/json:
schema:
type: object
properties:
language_code:
type: string
application/x-www-form-urlencoded:
schema:
type: object
properties:
language_code:
type: string
multipart/form-data:
schema:
type: object
properties:
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:
$ref: '#/components/schemas/BotDescription'
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'
/setMyShortDescription:
description: "Use this method to change the bot's short description, which is shown on the bot's profile page and is sent together with the link when users share the bot. Returns True on success."
post:
requestBody:
content:
application/json:
schema:
type: object
properties:
short_description:
type: string
language_code:
type: string
application/x-www-form-urlencoded:
schema:
type: object
properties:
short_description:
type: string
language_code:
type: string
multipart/form-data:
schema:
type: object
properties:
short_description:
type: string
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'
/getMyShortDescription:
description: 'Use this method to get the current bot short description for the given user language. Returns BotShortDescription on success.'
post:
requestBody:
content:
application/json:
schema:
type: object
properties:
language_code:
type: string
application/x-www-form-urlencoded:
schema:
type: object
properties:
language_code:
type: string
multipart/form-data:
schema:
type: object
properties:
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:
$ref: '#/components/schemas/BotShortDescription'
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'
/setChatMenuButton:
description: "Use this method to change the bot's menu button in a private chat, or the default menu button. Returns True on success."
post:
requestBody:
content:
application/json:
schema:
type: object
properties:
chat_id:
type: integer
menu_button:
$ref: '#/components/schemas/MenuButton'
default: MenuButtonDefault
application/x-www-form-urlencoded:
schema:
type: object
properties:
chat_id:
type: integer
menu_button:
$ref: '#/components/schemas/MenuButton'
default: MenuButtonDefault
multipart/form-data:
schema:
type: object
properties:
chat_id:
type: integer
menu_button:
$ref: '#/components/schemas/MenuButton'
default: MenuButtonDefault
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'
/getChatMenuButton:
description: "Use this method to get the current value of the bot's menu button in a private chat, or the default menu button. Returns MenuButton on success."
post:
requestBody:
content:
application/json:
schema:
type: object
properties:
chat_id:
type: integer
application/x-www-form-urlencoded:
schema:
type: object
properties:
chat_id:
type: integer
multipart/form-data:
schema:
type: object
properties:
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:
$ref: '#/components/schemas/MenuButton'
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'
/setMyDefaultAdministratorRights:
description: "Use this method to change the default administrator rights requested by the bot when it's added as an administrator to groups or channels. These rights will be suggested to users, but they are free to modify the list before adding the bot. Returns True on success."
post:
requestBody:
content:
application/json:
schema:
type: object
properties:
rights:
$ref: '#/components/schemas/ChatAdministratorRights'
for_channels:
type: boolean
application/x-www-form-urlencoded:
schema:
type: object
properties:
rights:
$ref: '#/components/schemas/ChatAdministratorRights'
for_channels:
type: boolean
multipart/form-data:
schema:
type: object
properties:
rights:
$ref: '#/components/schemas/ChatAdministratorRights'
for_channels:
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'
/getMyDefaultAdministratorRights:
description: 'Use this method to get the current default administrator rights of the bot. Returns ChatAdministratorRights on success.'
post:
requestBody:
content:
application/json:
schema:
type: object
properties:
for_channels:
type: boolean
application/x-www-form-urlencoded:
schema:
type: object
properties:
for_channels:
type: boolean
multipart/form-data:
schema:
type: object
properties:
for_channels:
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/ChatAdministratorRights'
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'
/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'
/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.- Service messages about a supergroup, channel, or forum topic creation can't be deleted.- 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, animated .TGS, or video .WEBM 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
message_thread_id:
type: integer
sticker:
anyOf:
-
$ref: '#/components/schemas/InputFile'
-
type: string
emoji:
type: string
disable_notification:
type: boolean
protect_content:
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
message_thread_id:
type: integer
sticker:
anyOf:
-
$ref: '#/components/schemas/InputFile'
-
type: string
emoji:
type: string
disable_notification:
type: boolean
protect_content:
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
message_thread_id:
type: integer
sticker:
anyOf:
-
$ref: '#/components/schemas/InputFile'
-
type: string
emoji:
type: string
disable_notification:
type: boolean
protect_content:
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'
/getCustomEmojiStickers:
description: 'Use this method to get information about custom emoji stickers by their identifiers. Returns an Array of Sticker objects.'
post:
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- custom_emoji_ids
properties:
custom_emoji_ids:
type: array
items:
type: string
application/x-www-form-urlencoded:
schema:
type: object
required:
- custom_emoji_ids
properties:
custom_emoji_ids:
type: array
items:
type: string
multipart/form-data:
schema:
type: object
required:
- custom_emoji_ids
properties:
custom_emoji_ids:
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/Sticker'
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 file with a sticker for later use in the createNewStickerSet and addStickerToSet methods (the file can be used multiple times). Returns the uploaded File on success.'
post:
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- user_id
- sticker
- sticker_format
properties:
user_id:
type: integer
sticker:
$ref: '#/components/schemas/InputFile'
sticker_format:
type: string
application/x-www-form-urlencoded:
schema:
type: object
required:
- user_id
- sticker
- sticker_format
properties:
user_id:
type: integer
sticker:
$ref: '#/components/schemas/InputFile'
sticker_format:
type: string
multipart/form-data:
schema:
type: object
required:
- user_id
- sticker
- sticker_format
properties:
user_id:
type: integer
sticker:
$ref: '#/components/schemas/InputFile'
sticker_format:
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'
/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. Returns True on success.'
post:
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- user_id
- name
- title
- stickers
- sticker_format
properties:
user_id:
type: integer
name:
type: string
title:
type: string
stickers:
type: array
items:
$ref: '#/components/schemas/InputSticker'
sticker_format:
type: string
sticker_type:
type: string
needs_repainting:
type: boolean
application/x-www-form-urlencoded:
schema:
type: object
required:
- user_id
- name
- title
- stickers
- sticker_format
properties:
user_id:
type: integer
name:
type: string
title:
type: string
stickers:
type: array
items:
$ref: '#/components/schemas/InputSticker'
sticker_format:
type: string
sticker_type:
type: string
needs_repainting:
type: boolean
multipart/form-data:
schema:
type: object
required:
- user_id
- name
- title
- stickers
- sticker_format
properties:
user_id:
type: integer
name:
type: string
title:
type: string
stickers:
type: array
items:
$ref: '#/components/schemas/InputSticker'
sticker_format:
type: string
sticker_type:
type: string
needs_repainting:
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'
/addStickerToSet:
description: 'Use this method to add a new sticker to a set created by the bot. The format of the added sticker must match the format of the other stickers in the set. Emoji sticker sets can have up to 200 stickers. Animated and video 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
- sticker
properties:
user_id:
type: integer
name:
type: string
sticker:
$ref: '#/components/schemas/InputSticker'
application/x-www-form-urlencoded:
schema:
type: object
required:
- user_id
- name
- sticker
properties:
user_id:
type: integer
name:
type: string
sticker:
$ref: '#/components/schemas/InputSticker'
multipart/form-data:
schema:
type: object
required:
- user_id
- name
- sticker
properties:
user_id:
type: integer
name:
type: string
sticker:
$ref: '#/components/schemas/InputSticker'
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'
/setStickerEmojiList:
description: 'Use this method to change the list of emoji assigned to a regular or custom emoji sticker. The sticker must belong to a sticker set created by the bot. Returns True on success.'
post:
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- sticker
- emoji_list
properties:
sticker:
type: string
emoji_list:
type: array
items:
type: string
application/x-www-form-urlencoded:
schema:
type: object
required:
- sticker
- emoji_list
properties:
sticker:
type: string
emoji_list:
type: array
items:
type: string
multipart/form-data:
schema:
type: object
required:
- sticker
- emoji_list
properties:
sticker:
type: string
emoji_list:
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: 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'
/setStickerKeywords:
description: 'Use this method to change search keywords assigned to a regular or custom emoji sticker. The sticker must belong to a sticker 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
keywords:
type: array
items:
type: string
application/x-www-form-urlencoded:
schema:
type: object
required:
- sticker
properties:
sticker:
type: string
keywords:
type: array
items:
type: string
multipart/form-data:
schema:
type: object
required:
- sticker
properties:
sticker:
type: string
keywords:
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: 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'
/setStickerMaskPosition:
description: 'Use this method to change the mask position of a mask sticker. The sticker must belong to a sticker set that was created by the bot. Returns True on success.'
post:
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- sticker
properties:
sticker:
type: string
mask_position:
$ref: '#/components/schemas/MaskPosition'
application/x-www-form-urlencoded:
schema:
type: object
required:
- sticker
properties:
sticker:
type: string
mask_position:
$ref: '#/components/schemas/MaskPosition'
multipart/form-data:
schema:
type: object
required:
- sticker
properties:
sticker:
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'
/setStickerSetTitle:
description: 'Use this method to set the title of a created sticker set. Returns True on success.'
post:
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- name
- title
properties:
name:
type: string
title:
type: string
application/x-www-form-urlencoded:
schema:
type: object
required:
- name
- title
properties:
name:
type: string
title:
type: string
multipart/form-data:
schema:
type: object
required:
- name
- title
properties:
name:
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'
/setStickerSetThumbnail:
description: 'Use this method to set the thumbnail of a regular or mask sticker set. The format of the thumbnail file must match the format of the stickers in the set. 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
thumbnail:
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
thumbnail:
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
thumbnail:
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'
/setCustomEmojiStickerSetThumbnail:
description: 'Use this method to set the thumbnail of a custom emoji sticker set. Returns True on success.'
post:
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- name
properties:
name:
type: string
custom_emoji_id:
type: string
application/x-www-form-urlencoded:
schema:
type: object
required:
- name
properties:
name:
type: string
custom_emoji_id:
type: string
multipart/form-data:
schema:
type: object
required:
- name
properties:
name:
type: string
custom_emoji_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: 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'
/deleteStickerSet:
description: 'Use this method to delete a sticker set that was created by the bot. Returns True on success.'
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:
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
button:
$ref: '#/components/schemas/InlineQueryResultsButton'
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
button:
$ref: '#/components/schemas/InlineQueryResultsButton'
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
button:
$ref: '#/components/schemas/InlineQueryResultsButton'
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'
/answerWebAppQuery:
description: 'Use this method to set the result of an interaction with a Web App and send a corresponding message on behalf of the user to the chat from which the query originated. On success, a SentWebAppMessage object is returned.'
post:
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- web_app_query_id
- result
properties:
web_app_query_id:
type: string
result:
$ref: '#/components/schemas/InlineQueryResult'
application/x-www-form-urlencoded:
schema:
type: object
required:
- web_app_query_id
- result
properties:
web_app_query_id:
type: string
result:
$ref: '#/components/schemas/InlineQueryResult'
multipart/form-data:
schema:
type: object
required:
- web_app_query_id
- result
properties:
web_app_query_id:
type: string
result:
$ref: '#/components/schemas/InlineQueryResult'
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/SentWebAppMessage'
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
message_thread_id:
type: integer
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
protect_content:
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
message_thread_id:
type: integer
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
protect_content:
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
message_thread_id:
type: integer
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
protect_content:
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'
/createInvoiceLink:
description: 'Use this method to create a link for an invoice. Returns the created invoice link as String on success.'
post:
requestBody:
required: true
content:
application/json:
schema:
type: object
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
application/x-www-form-urlencoded:
schema:
type: object
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
multipart/form-data:
schema:
type: object
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
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'
/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
message_thread_id:
type: integer
game_short_name:
type: string
disable_notification:
type: boolean
protect_content:
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
message_thread_id:
type: integer
game_short_name:
type: string
disable_notification:
type: boolean
protect_content:
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
message_thread_id:
type: integer
game_short_name:
type: string
disable_notification:
type: boolean
protect_content:
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. 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'