Bulk PATCH to /api/v2/users keeps hitting 429 - retry-After header missing

PATCH https://{org}.mygen.com/api/v2/users
Authorization: Bearer eyJhbGci…
Content-Type: application/json

[
{ “id”: “user-1”, “email”: “a@b.com” },
{ “id”: “user-2”, “email”: “c@d.com” }
]

Running this against 500 records just floods the logs with 429 Too Many Requests. The response body stays empty. No Retry-After header shows up in the headers either, so the script just spins. We’ve got a simple Python loop firing requests every 200ms. It worked fine last month before the platform update. Now it’s throttling hard after about 30 calls. The 429 response doesn’t give any guidance on the reset window. Script crashes on the 31st request. Tried adding a sleep(2) but the queue backs up and the job stalls out around 4 PM PST. Rate limits for bulk updates aren’t documented clearly in the v2 docs. Does the platform expect exponential backoff or a fixed interval? Can someone drop a Python snippet for the backoff math? The loop just hangs on request 32.

You need to implement exponential backoff. The 429 response doesn’t always include Retry-After. Just pause the loop for a few seconds between batches.

import time
time.sleep(5) # Simple delay before next request

Don’t hammer the API. It’s a waste of resources.