API › Rate limit

Rate limit

Каждый action имеет лимит запросов. Ключ ведра зависит от природы action: по IP (для анонимных), по user_id (для авторизованных) или по session.

Превышение → ответ {"ok":false,"error":"rate_limited"} с HTTP-заголовком Retry-After: <seconds>.

Сводная таблица

actлимитокноключисточник
csrf_token 60 1 мин session custom
auth_me 60 1 мин ip default
auth_login 10 1 ч ip custom
auth_signup 3 1 ч ip custom
auth_logout 30 1 мин user default
auth_token_issue 10 1 ч ip custom
auth_token_revoke 30 1 ч user custom
im_load_users 120 1 мин user default
im_show_history 120 1 мин user default
im_unread_total 120 1 мин user default
im_search 120 1 мин user default
im_send 60 1 мин user custom
im_send_voice 20 1 мин user custom
im_send_circle 20 1 мин user custom
im_mark_read 30 1 мин user default
im_delete_pm 30 1 мин user default
im_edit_pm 30 1 мин user default
im_delete_convo 30 1 мин user default
home_list 120 1 мин user default
home_set_type 30 1 мин user default
post_get 120 1 мин user default
post_comments_list 120 1 мин user default
post_create 10 1 ч user custom
post_delete 30 1 мин user default
post_comment_add 30 1 мин user custom
post_comment_delete 30 1 мин user default
group_post_get 120 1 мин user default
group_post_comments_list 120 1 мин user default
group_post_create 20 1 ч user custom
group_post_delete 30 1 мин user default
group_post_comment_add 30 1 мин user custom
group_post_comment_delete 30 1 мин user default
like_list 120 1 мин user default
like_check 120 1 мин user default
like_add 120 1 мин user custom
like_remove 120 1 мин user custom
like_toggle 120 1 мин user custom
notify_counters 120 1 мин user default
notify_summary 120 1 мин user default
notify_delete 60 1 мин user custom
notify_delete_all 5 1 мин user custom
user_get 120 1 мин user default
user_search 30 1 мин user custom
friend_list 120 1 мин user default
friend_requests 120 1 мин user default
friend_requests_outgoing 120 1 мин user default
friend_check 120 1 мин user default
friend_add 20 1 ч user custom
friend_accept 30 1 мин user default
friend_reject 30 1 мин user default
friend_cancel 30 1 мин user default
friend_remove 30 1 мин user default
blog_list 120 1 мин user default
blog_cats 120 1 мин user default
subs_list 120 1 мин user default
subs_add 30 1 ч user custom
subs_remove 30 1 мин user default

Стратегии ключей

ip
Один лимит на IP-адрес. Используется для анонимных и public-actions.
user
Один лимит на user_id текущего пользователя.
session
Один лимит на PHP-сессию / bearer-токен.

Дефолты

Для action без явной политики применяются дефолтные значения из api_rl_resolve():

Тип actionЛимитОкноКлюч
read · auth 1201 минuser
read · public 60 1 минip
write · auth 30 1 минuser
write · public 10 1 минip

При недоступности backend-storage (cache) лимит fail-open — запросы не блокируются, чтобы не положить сайт из-за проблем с кэшем.