Overview
Auto-generated OpenAPI schema
Telegram Bot API is a messaging API from telegram.org. It needs no API key. It is served over HTTPS. Its OpenAPI description documents 74 endpoints.
At a glance
- Authentication
- No auth
- HTTPS
- Yes
- CORS
- Unknown
- Category
- Messaging
- Version
- 5.0.0
- Endpoints
- 74
- OpenAPI
- Specification ↗
- Spec updated
- 2021-06-21
Endpoints
| Method | Path | What it does |
|---|---|---|
| POST | /addStickerToSet | Use this method to add a new sticker to a set created by the bot. You **must** use exactly one of the fields *png\_sticker* or *tgs\_sticker*. Animated stickers |
| POST | /answerCallbackQuery | Use this method to send answers to callback queries sent from [inline keyboards](/bots#inline-keyboards-and-on-the-fly-updating). The answer will be displayed t |
| POST | /answerInlineQuery | Use this method to send answers to an inline query. On success, *True* is returned. |
| POST | /answerPreCheckoutQuery | Once the user has confirmed their payment and shipping details, the Bot API sends the final confirmation in the form of an [Update](https://core.telegram.org/bo |
| POST | /answerShippingQuery | If you sent an invoice requesting a shipping address and the parameter *is\_flexible* was specified, the Bot API will send an [Update](https://core.telegram.org |
| POST | /close | 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 |
| POST | /copyMessage | Use this method to copy messages of any kind. The method is analogous to the method [forwardMessages](https://core.telegram.org/bots/api/#forwardmessages), but |
| POST | /createNewStickerSet | Use this method to create a new sticker set owned by a user. The bot will be able to edit the sticker set thus created. You **must** use exactly one of the fiel |
| POST | /deleteChatPhoto | 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 t |
| POST | /deleteChatStickerSet | 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 adm |
| POST | /deleteMessage | Use this method to delete a message, including service messages, with the following limitations: |
| POST | /deleteStickerFromSet | Use this method to delete a sticker from a set created by the bot. Returns *True* on success. |
| POST | /deleteWebhook | Use this method to remove webhook integration if you decide to switch back to [getUpdates](https://core.telegram.org/bots/api/#getupdates). Returns *True* on su |
| POST | /editMessageCaption | Use this method to edit captions of messages. On success, if the edited message is not an inline message, the edited [Message](https://core.telegram.org/bots/ap |
| POST | /editMessageLiveLocation | 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 [stopMe |
| POST | /editMessageMedia | 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 fo |
| POST | /editMessageReplyMarkup | 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](https://core.telegra |
| POST | /editMessageText | Use this method to edit text and [game](https://core.telegram.org/bots/api/#games) messages. On success, if the edited message is not an inline message, the edi |
| POST | /exportChatInviteLink | Use this method to generate a new invite link for a chat; any previously generated link is revoked. The bot must be an administrator in the chat for this to wor |
| POST | /forwardMessage | Use this method to forward messages of any kind. On success, the sent [Message](https://core.telegram.org/bots/api/#message) is returned. |
| POST | /getChat | 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 channe |
| POST | /getChatAdministrators | Use this method to get a list of administrators in a chat. On success, returns an Array of [ChatMember](https://core.telegram.org/bots/api/#chatmember) objects |
| POST | /getChatMember | Use this method to get information about a member of a chat. Returns a [ChatMember](https://core.telegram.org/bots/api/#chatmember) object on success. |
| POST | /getChatMembersCount | Use this method to get the number of members in a chat. Returns *Int* on success. |
| POST | /getFile | Use this method to get basic info about a file and prepare it for downloading. For the moment, bots can download files of up to 20MB in size. On success, a [Fil |
| POST | /getGameHighScores | Use this method to get data for high score tables. Will return the score of the specified user and several of their neighbors in a game. On success, returns an |
| POST | /getMe | A simple method for testing your bot's auth token. Requires no parameters. Returns basic information about the bot in form of a [User](https://core.telegram.org |
| POST | /getMyCommands | Use this method to get the current list of the bot's commands. Requires no parameters. Returns Array of [BotCommand](https://core.telegram.org/bots/api/#botcomm |
| POST | /getStickerSet | Use this method to get a sticker set. On success, a [StickerSet](https://core.telegram.org/bots/api/#stickerset) object is returned. |
| POST | /getUpdates | Use this method to receive incoming updates using long polling ([wiki](https://en.wikipedia.org/wiki/Push_technology#Long_polling)). An Array of [Update](https: |
| POST | /getUserProfilePhotos | Use this method to get a list of profile pictures for a user. Returns a [UserProfilePhotos](https://core.telegram.org/bots/api/#userprofilephotos) object. |
| POST | /getWebhookInfo | Use this method to get current webhook status. Requires no parameters. On success, returns a [WebhookInfo](https://core.telegram.org/bots/api/#webhookinfo) obje |
| POST | /kickChatMember | Use this method to kick a user from a group, a supergroup or a channel. In the case of supergroups and channels, the user will not be able to return to the grou |
| POST | /leaveChat | Use this method for your bot to leave a group, supergroup or channel. Returns *True* on success. |
| POST | /logOut | 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 the |
| POST | /pinChatMessage | 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 t |
| POST | /promoteChatMember | 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 approp |
| POST | /restrictChatMember | 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 admin righ |
| POST | /sendAnimation | Use this method to send animation files (GIF or H.264/MPEG-4 AVC video without sound). On success, the sent [Message](https://core.telegram.org/bots/api/#messag |
| POST | /sendAudio | 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 |
| POST | /sendChatAction | 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 fr |
| POST | /sendContact | Use this method to send phone contacts. On success, the sent [Message](https://core.telegram.org/bots/api/#message) is returned. |
| POST | /sendDice | Use this method to send an animated emoji that will display a random value. On success, the sent [Message](https://core.telegram.org/bots/api/#message) is retur |
| POST | /sendDocument | Use this method to send general files. On success, the sent [Message](https://core.telegram.org/bots/api/#message) is returned. Bots can currently send files of |
| POST | /sendGame | Use this method to send a game. On success, the sent [Message](https://core.telegram.org/bots/api/#message) is returned. |
| POST | /sendInvoice | Use this method to send invoices. On success, the sent [Message](https://core.telegram.org/bots/api/#message) is returned. |
| POST | /sendLocation | Use this method to send point on the map. On success, the sent [Message](https://core.telegram.org/bots/api/#message) is returned. |
| POST | /sendMediaGroup | 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 t |
| POST | /sendMessage | Use this method to send text messages. On success, the sent [Message](https://core.telegram.org/bots/api/#message) is returned. |
| POST | /sendPhoto | Use this method to send photos. On success, the sent [Message](https://core.telegram.org/bots/api/#message) is returned. |
| POST | /sendPoll | Use this method to send a native poll. On success, the sent [Message](https://core.telegram.org/bots/api/#message) is returned. |
| POST | /sendSticker | Use this method to send static .WEBP or [animated](https://telegram.org/blog/animated-stickers) .TGS stickers. On success, the sent [Message](https://core.teleg |
| POST | /sendVenue | Use this method to send information about a venue. On success, the sent [Message](https://core.telegram.org/bots/api/#message) is returned. |
| POST | /sendVideo | Use this method to send video files, Telegram clients support mp4 videos (other formats may be sent as [Document](https://core.telegram.org/bots/api/#document)) |
| POST | /sendVideoNote | As of [v.4.0](https://telegram.org/blog/video-messages-and-telescope), Telegram clients support rounded square mp4 videos of up to 1 minute long. Use this metho |
| POST | /sendVoice | Use this method to send audio files, if you want Telegram clients to display the file as a playable voice message. For this to work, your audio must be in an .O |
| POST | /setChatAdministratorCustomTitle | Use this method to set a custom title for an administrator in a supergroup promoted by the bot. Returns *True* on success. |
| POST | /setChatDescription | 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 |
| POST | /setChatPermissions | 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 th |
| POST | /setChatPhoto | 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 wor |
| POST | /setChatStickerSet | 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 adm |
| POST | /setChatTitle | 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 |
| POST | /setGameScore | Use this method to set the score of the specified user in a game. On success, if the message was sent by the bot, returns the edited [Message](https://core.tele |
| POST | /setMyCommands | Use this method to change the list of the bot's commands. Returns *True* on success. |
| POST | /setPassportDataErrors | 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 |
| POST | /setStickerPositionInSet | Use this method to move a sticker in a set created by the bot to a specific position. Returns *True* on success. |
| POST | /setStickerSetThumb | Use this method to set the thumbnail of a sticker set. Animated thumbnails can be set for animated sticker sets only. Returns *True* on success. |
| POST | /setWebhook | 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 reque |
| POST | /stopMessageLiveLocation | Use this method to stop updating a live location message before *live\_period* expires. On success, if the message was sent by the bot, the sent [Message](https |
| POST | /stopPoll | Use this method to stop a poll which was sent by the bot. On success, the stopped [Poll](https://core.telegram.org/bots/api/#poll) with the final results is ret |
| POST | /unbanChatMember | Use this method to unban a previously kicked user in a supergroup or channel. The user will **not** return to the group or channel automatically, but will be ab |
| POST | /unpinAllChatMessages | 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 |
| POST | /unpinChatMessage | 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 |
| POST | /uploadStickerFile | Use this method to upload a .PNG file with a sticker for later use in *createNewStickerSet* and *addStickerToSet* methods (can be used multiple times). Returns |
Questions
Does the Telegram Bot API API need an API key?
No. The Telegram Bot API API can be called without an API key or sign-up, which makes it handy for prototypes and front-end demos.
Does the Telegram Bot API API support HTTPS?
Yes, the Telegram Bot API API is served over HTTPS.
How many endpoints does the Telegram Bot API API have?
Its OpenAPI description lists 74 endpoints in version 5.0.0. All of them are shown on this page.
What are alternatives to the Telegram Bot API API?
Other Messaging APIs include Qakka, Airflow API (Stable), Sakari, SIGNL4 API, The Mercure protocol.
Similar messaging APIs
Compare alternatives →Qakka
MessagingAPI for Qakka Queue System
Airflow API (Stable)
Messaging# Overview To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases. Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ``` ## Resources The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`. Resource names are used as part of endpoint URLs, as well as in API parameters and responses. ## CRUD Operations The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below. Some endpoints have special behavior as exceptions. ### Create To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body. ### Read The HTTP `GET` request can be used to read a resource or to list a number of resources. A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body. If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body. When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ``` |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.| ### Update Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body. ### Delete Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success. ## Conventions - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name. - Field names are in snake_case. ```json { "name": "string", "slots": 0, "occupied_slots": 0, "used_slots": 0, "queued_slots": 0, "open_slots": 0 } ``` ### Update Mask Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values. Example: ``` resource = request.get('/resource/my-id').json() resource['my_field'] = 'new-value' request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ``` ## Versioning and Endpoint Lifecycle - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase. # Trying the API You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https:
Sakari
Messaging# Introduction Welcome to the documentation for the Sakari Messaging REST API. Sakari provides an advanced platform to drive large scale customized SMS communication REST is a web-service protocol that lends itself to rapid development by using everyday HTTP and JSON technology. To find out more about our product offering, please visit [https://sakari.io](https://sakari.io). # Quickstart For your convenience we have created a quickstart guide to get you up and running in 5 minutes. [https://sakari.io/blog/sakari-api-quickstart](https://sakari.io/blog/sakari-api-quickstart) # PostMan Collection We've created a simple set of examples using [PostMan](https://www.getpostman.com/) Simply click below to import these. You will need to setup three environment variables in PostMan - AccountId, ClientId and ClientSecret. Check out our PostMan blog post for more information [](https://app.getpostman.com/run-collection/d616e273edc916a7a6eb) # Finding your client id, client secret and account id To authenticate against the API's you will need three key pieces of data - client id - client secret - account id To retrieve these, simply login into [https://hub.sakari.io](https://hub.sakari.io) and click on the "cog" in the top right corner. In the popup dialog at the bottom you should see your API credentials and account id. If these are not visible you will need to click on "Request Credentials" # Versioning With any breaking changes we will introduce a new version of the API. The latest version is v1. The API uses an open schema model, which means server may add extra properties to responses. Likewise, the server will ignore any extra query parameters and request body properties. When you write clients, you need to ignore additional properties in responses to ensure they do not break. # Testing There are numerous tools available for testing the API's. We will include examples using curl and the client SDKs that we have created. If you would like to see an SDK in a language not currently available, please let us know. # Throttling / Limits Our API's have been specifically designed to support bulk messaging in a single API call. We therefore impose limits on the frequency of calling the APIs to prevent abuse or runaway processes. If you feel you need a higher limit, please contact us. If you hit the limit you will get a 429 error code returned from our servers # Errors The API uses standard HTTP status codes to indicate the success or failure of the API call. The body of the response will be JSON in the following format: ``` { "success": false, "error": { "code": "CONT-001", "message": "Invalid mobile number" } } ``` # Pagination For performance, most GET calls return a subset of data. This data is paginated for easy access. Most APIs which return collections of data will return a pagination object as such: ``` { "pagination": { "offset": 0, "limit": 10 "totalCount": 21 } } ``` When making calls to the API, you can adjust the slice of data returned using query parameters such as: `` https://api.sakari.io/v1/accounts/123/contacts?offset=20&limit=25 `` This will return 25 contacts with an offset of 20.
SIGNL4 API
Messaging<p>Use our API for systems integration or to build your own use cases. Sample scenarios include but are not limited to:</p><ul><li>2-way integration: Triggering of Signls and updates in the third party systems when alert state changes occur</li><li>Retrieving alarms for logging purposes</li><li>Calendar integrations: Creation and management of on-call duties</li><li>Punch users in and out based on external calendars</li><li>etc.</li></ul><p>AUTHENTICATION<br>Using the API requires an API key, which you can generate in the SIGNL4 portal under 'Developers'.<br>This key must then be specified in a special header in every HTTP request.<br>This header is called <b style='color:#F8B41F'>X-S4-Api-Key</b>.<br><br>The base URL of the API is <a rel='noopener noreferrer' target='_blank' href='https://connect.signl4.com/api/'>https://connect.signl4.com/api/</a>.<br>Copyright © Derdack GmbH<br></p>
The Mercure protocol
Messaging[Mercure](https://mercure.rocks) is a protocol allowing to push data updates to web browsers and other HTTP clients in a convenient, fast, reliable and battery-efficient way.
API iSendPro
Messaging[1] Liste des fonctionnalités : - envoi de SMS à un ou plusieurs destinataires, - lookup HLR, - récupération des récapitulatifs de campagne, - gestion des répertoires, - ajout en liste noire. - comptage du nombre de caractères des SMS [2] Pour utiliser cette API vous devez: - Créer un compte iSendPro sur https://isendpro.com/ - Créditer votre compte - Remarque: obtention d'un crédit de test possible sous conditions - Noter votre clé de compte (keyid) - Elle vous sera indispensable à l'utilisation de l'API - Vous pouvez la trouver dans le rubrique mon "compte", sous-rubrique "mon API" - Configurer le contrôle IP - Le contrôle IP est configurable dans le rubrique mon "compte", sous-rubrique "mon API" - Il s'agit d'un système de liste blanche, vous devez entrer les IP utilisées pour appeler l'API - Vous pouvez également désactiver totalement le contrôle IP
Listed from APIs.guru (CC0).