REST API
Limity zapytań
Dwa niezależne kubełki na klucz API, okno minutowe, nagłówek Retry-After i jak się do tego dostroić.
Limity są liczone na klucz API, w stałych oknach jednominutowych.
| Kubełek | Metody | Limit |
|---|---|---|
| Odczyt | GET, HEAD | 600 żądań na minutę |
| Zapis | POST, PATCH, PUT, DELETE | 120 żądań na minutę |
Kubełki są niezależne — wyczerpanie zapisów nie blokuje odczytów. Okno jest stałe, nie przesuwne: licznik zeruje się na pełnej minucie, a nie 60 sekund po Twoim pierwszym żądaniu.
Co dostajesz po przekroczeniu
HTTP/1.1 429 Too Many Requests
Retry-After: 23
Content-Type: application/json{
"error": {
"code": "RATE_LIMITED",
"message": "Przekroczono limit zapytań. Ponów po wskazanym czasie.",
"details": { "retryAfterSeconds": 23 }
}
}Retry-After to liczba sekund do zamknięcia bieżącego okna, więc nigdy nie przekracza 60. Ta sama wartość siedzi w details.retryAfterSeconds.
curl -si https://app.mediflo.ai/api/external/v1/bots \
-H "Authorization: Bearer mflo_live_..." \
| grep -i '^HTTP/\|^retry-after:'Jak się dostroić
- Honoruj
Retry-After. Odczekaj tyle, ile mówi nagłówek, zamiast ponawiać od razu — natychmiastowa powtórka trafi w to samo okno. - Wykładnicze odczekanie dla
429,502,503i500. Kody4xxpoza429nie przejdą same z siebie; nie ponawiaj ich. - Jeden klucz na integrację. Limit jest na klucz, więc dwie integracje na jednym kluczu jedzą sobie nawzajem budżet, a Ty nie widzisz w dzienniku audytu, która.
- Bierz duże strony.
limit=100zamiastlimit=10to dziesięć razy mniej żądań na ten sam zestaw danych. Patrz Paginacja. - Cachuj to, co rzadko się zmienia. Lista tagów zmienia się rzadko, lista użytkowników umiarkowanie, zadania często.
- Webhooki zamiast odpytywania. Jeśli czekasz na wynik rozmowy, subskrybuj
bot_call.completedzamiast pytaćGET /bot-sessionsw pętli. Patrz Webhooki.
Limit chroni, nie autoryzuje
Limitowanie jest warstwą ochronną — uwierzytelnianie i zakresy egzekwujemy niezależnie od niego. Nie traktuj braku 429 jako sygnału, że możesz przyspieszyć bez końca.