Request rate limiting#
The system is intended to prevent incorrect use of the API. Requests executed at a rate higher than specified in the table will be rejected with error 429. The values apply to each instance.
Example
For 10 instances, each of which executes 50 SendMessage requests, you can execute 500 requests in total without getting error 429.
If 51 SendMessage requests are executed on one instance within 1 second, the 51st request will be rejected with error 429. At the same time, the other instances will continue to execute requests without getting errors.
Permitted number of requests#
For ease of navigation, the methods in the table are structured into groups:
| Method | Number of requests per second |
|---|---|
| Account | |
| QR | 3 |
| SendAuthorizationPassword | 1 |
| StartAuthorization | 1 |
| SendAuthorizationCode | 1 |
| Logout | 1 |
| GetStateInstance | 1 |
| Reboot | 1 |
| GetSettings | 1 |
| SetSettings | 1 |
| GetAccountSettings | 1 |
| SetProfilePicture | 0.1 |
| Sending | |
| SendMessage | 50 |
| SendFileByUrl | 50 |
| SendFileByUpload | 50 |
| SendLocation | 50 |
| SendContact | 50 |
| SendPoll | 50 |
| Receiving | |
| ReceiveNotification | 100 |
| DeleteNotification | 100 |
| DownloadFile | 5 |
| Journals | |
| GetChatHistory | 1 |
| GetMessage | 1 |
| LastIncomingMessages | 1 |
| LastOutgoingMessages | 1 |
| Queues | |
| GetMessagesCount | 1 |
| ShowMessagesQueue | 1 |
| ClearMessagesQueue | 1 |
| GetWebhooksCount | 1 |
| ClearWebhooksQueue | 1 |
| Groups | |
| CreateGroup | 1 |
| UpdateGroupName | 1 |
| GetGroupData | 1 |
| UpdateGroupSettings | 1 |
| AddGroupParticipant | 1 |
| RemoveGroupParticipant | 1 |
| SetGroupAdmin | 1 |
| RemoveAdmin | 1 |
| LeaveGroup | 1 |
| SetGroupPicture | 1 |
| Read mark | |
| ReadChat | 10 |
| Service methods | |
| CheckAccount | 10 |
| GetChats | 1 |
| GetContacts | 1 |
| GetAvatar | 10 |
| EditMessage | 50 |
| DeleteMessage | 1 |
| ArchiveChat | 10 |
| UnarchiveChat | 10 |