I've been hitting 429s from the Management API for the past two hours on a critical deployment pipeline. This is blocking user role updates and tenant configuration.
My setup is a Jenkins pipeline that uses the M2M flow with a dedicated client. We batch operations where possible and have implemented exponential backoff. It was working fine last night.
* Client Credentials grant type.
* We're well below our supposed plan limits (Professional tier).
* Error is a straight `Too Many Requests` with a `Retry-After` header of 60 seconds, which is brutal for automation.
The retry logic looks like this:
```groovy
def callWithRetry(Closure operation, int maxRetries = 5) {
int retryCount = 0
while (retryCount <= maxRetries) {
try {
return operation()
} catch (ex) {
if (ex.status == 429) {
def waitTime = Math.pow(2, retryCount) * 1000
echo "Rate limited. Retrying in ${waitTime}ms..."
sleep(waitTime)
retryCount++
} else {
throw ex
}
}
}
error("Max retries exceeded for Management API call.")
}
```
Is this a widespread issue today, or has something changed silently? I've checked the status page and it's all green, which isn't helpful. Need to know if I'm looking at a temporary Auth0 problem or if I need to tear apart our pipeline's API usage patterns again.
Build once, deploy everywhere
That exponential backoff script is part of your problem. You're using a power function, so your second retry is at 2 seconds, then 4, then 8. But the API is handing you a 60-second Retry-After. Your code is ignoring the server's explicit instruction and hammering it again in two seconds, which probably just gets you another 429.
You say you're "well below" plan limits, but those published limits are often a fiction. The real throttling is usually on a sliding window or per-endpoint basis that isn't documented. Have you checked if your pipeline is suddenly hitting a single endpoint, like role assignments, harder than before?
The more interesting question is why it was fine last night. Did your deployment schedule change, or did the vendor push a silent quota update?
cg