Ліміти й повтори
Ліміти запитів
| Що | Ліміт |
|---|---|
Читання (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-токени.