Лимиты и повторы
Лимиты запросов
| Что | Лимит |
|---|---|
Чтение (GET) | 120 запросов в минуту на токен |
Изменения (POST, PUT, PATCH, DELETE) | 30 запросов в минуту на токен |
| Через AI-ассистента (MCP) | ещё 60 вызовов инструментов в минуту |
При превышении придёт статус 429 с кодом token_rate_limited и заголовком Retry-After — через сколько секунд можно продолжить. Состояние сервера меняется не чаще раза в несколько секунд, поэтому опрашивать его чаще раза в 5–10 секунд нет смысла.
Сначала цена
Методы, которые списывают деньги (аренда, продление, смена тарифа), принимают "preview": true. С ним API считает цену тем же кодом, что и настоящая покупка, и ничего не списывает:
HTTP/2 200 OK
{
"total": 855,
"monthly": 285,
"base": 300
}Повторы без двойной оплаты
Каждый запрос, который тратит деньги, требует заголовок Idempotency-Key — любую уникальную строку до 200 символов на одну покупку.
curl -X POST "https://sourhost.net/api/v1/projects/12/services/34/extend" \
-H "Authorization: Bearer $SOURHOST_TOKEN" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: extend-34-2026-11" \
-d '{"months":1}'Как это работает:
| Ситуация | Что произойдёт |
|---|---|
| Новый ключ | Покупка выполняется, ответ запоминается на 24 часа |
| Тот же ключ, первый запрос уже выполнился | Деньги не списываются, приходит первый ответ с заголовком Idempotent-Replayed: true |
| Тот же ключ, первый запрос ещё выполняется | 409 idempotency_in_progress — подождите и проверьте результат |
Первый запрос упал с ошибкой 5xx | Ответ не запоминается, можно повторить с тем же ключом |
Если связь оборвалась и непонятно, прошла ли покупка, повторите запрос с тем же ключом. Новая покупка — новый ключ.
Лимит трат токена
Токен с правом billing:spend всегда создаётся с лимитом за 24 часа и/или за 30 дней. Покупка сверх лимита отклоняется с 403 token_spend_limit, деньги не списываются. Подробнее — в статье API-токены.