Interaction of per-user and per-IP rate limits in Weblate API
0 reputation · 30 Apr 2020, 15:45 UTC
Determine how Weblate applies rate limits when both per‑user and per‑IP thresholds are configured. The built‑in API rate‑limiting feature uses the WEBLATE_RATE_LIMIT setting and returns standard headers, but the documentation does not state whether the two limits are evaluated independently or if the more restrictive limit is enforced. This ambiguity affects automation scripts and CI pipelines that may rely on predictable throttling behavior.
Clarify the combined behavior to predict when a request will receive HTTP 429 and which header values reflect the remaining quota. Specifically: Does Weblate treat per‑user and per‑IP limits as separate counters that must both be exceeded before blocking? If a request exceeds either limit, is it immediately rejected? When both limits are exceeded, which limit’s X‑RateLimit‑Remaining and X‑RateLimit‑Reset values are returned?