openapi: 3.0.3 info: title: Telegram Bot Bot Info Payments API description: The Telegram Bot API is an HTTP-based interface created for developers keen on building bots for Telegram. Bots can receive messages, send messages, manage chats, handle payments, work with stickers, and much more. All methods are HTTPS POST requests to https://api.telegram.org/bot/METHOD_NAME. version: '9.5' contact: name: Telegram Support url: https://core.telegram.org/bots/api license: name: Terms of Service url: https://telegram.org/tos termsOfService: https://telegram.org/tos servers: - url: https://api.telegram.org/bot{token} description: Telegram Bot API Server variables: token: default: YOUR_BOT_TOKEN description: Bot authentication token obtained from @BotFather security: - BotToken: [] tags: - name: Payments description: Methods for handling Telegram Payments paths: /sendInvoice: post: operationId: sendInvoice summary: Send Invoice description: Send invoices. tags: - Payments requestBody: required: true content: application/json: schema: type: object required: - chat_id - title - description - payload - currency - prices properties: chat_id: oneOf: - type: integer - type: string description: Unique identifier for the target chat title: type: string description: Product name (1-32 characters) description: type: string description: Product description (1-255 characters) payload: type: string description: Bot-defined invoice payload (1-128 bytes) currency: type: string description: Three-letter ISO 4217 currency code prices: type: array items: $ref: '#/components/schemas/LabeledPrice' description: Price breakdown (list of components) provider_token: type: string description: Payment provider token (use empty string for Telegram Stars) responses: '200': description: Invoice message sent content: application/json: schema: $ref: '#/components/schemas/MessageResponse' /answerShippingQuery: post: operationId: answerShippingQuery summary: Answer Shipping Query description: Reply to shipping queries. tags: - Payments requestBody: required: true content: application/json: schema: type: object required: - shipping_query_id - ok properties: shipping_query_id: type: string description: Unique identifier for the query to be answered ok: type: boolean description: Pass true if delivery to the specified address is possible shipping_options: type: array items: type: object description: Required if ok is true. Array of available shipping options error_message: type: string description: Required if ok is false. Error message responses: '200': description: Shipping query answered content: application/json: schema: $ref: '#/components/schemas/BooleanResponse' /answerPreCheckoutQuery: post: operationId: answerPreCheckoutQuery summary: Answer Pre-Checkout Query description: Respond to pre-checkout queries. tags: - Payments requestBody: required: true content: application/json: schema: type: object required: - pre_checkout_query_id - ok properties: pre_checkout_query_id: type: string description: Unique identifier for the query to be answered ok: type: boolean description: Specify true if everything is alright for the order to proceed error_message: type: string description: Required if ok is false. Error message responses: '200': description: Pre-checkout query answered content: application/json: schema: $ref: '#/components/schemas/BooleanResponse' components: schemas: User: type: object properties: id: type: integer description: Unique identifier for this user or bot is_bot: type: boolean description: True if this user is a bot first_name: type: string description: User's or bot's first name last_name: type: string description: User's or bot's last name username: type: string description: User's or bot's username language_code: type: string description: IETF language tag of the user's language is_premium: type: boolean description: True if this user is a Telegram Premium user required: - id - is_bot - first_name Chat: type: object properties: id: type: integer description: Unique identifier for this chat type: type: string enum: - private - group - supergroup - channel description: Type of chat title: type: string description: Title for supergroups, channels and group chats username: type: string description: Username for private chats, supergroups and channels first_name: type: string description: First name of the other party in a private chat last_name: type: string description: Last name of the other party in a private chat description: type: string description: Description for groups, supergroups and channel chats invite_link: type: string description: Primary invite link for the chat member_count: type: integer description: Number of members in a chat required: - id - type MessageResponse: type: object properties: ok: type: boolean result: $ref: '#/components/schemas/Message' BooleanResponse: type: object properties: ok: type: boolean result: type: boolean LabeledPrice: type: object properties: label: type: string description: Portion label amount: type: integer description: Price of the product in the smallest units of the currency required: - label - amount Message: type: object properties: message_id: type: integer description: Unique message identifier inside a chat from: $ref: '#/components/schemas/User' chat: $ref: '#/components/schemas/Chat' date: type: integer description: Date the message was sent in Unix time text: type: string description: For text messages, the actual UTF-8 text of the message caption: type: string description: Caption for the animation, audio, document, photo, video or voice required: - message_id - date - chat securitySchemes: BotToken: type: apiKey in: path name: token description: Bot authentication token obtained from @BotFather (embedded in URL path) externalDocs: description: Official Telegram Bot API Documentation url: https://core.telegram.org/bots/api