Windows are fixed minutes. Every authenticated response carries the token budget:
429 RATE_LIMITED with a retry-after header and details.retry_after_seconds. Wait that many seconds before you retry.
After 20 failed authentications from one IP address in a minute, every request from that address receives 429 until the window ends, even with a valid token. Check that your script sends the current token before it retries.