## TL;DR

Rotating dozens of keys at once trips the same rate limits as any bulk API use. Stagger the rotations, back off on 429s, and checkpoint each completed key so the run resumes cleanly.

## Error

```text
rate limit error hit mid-rotation when agent tried rotating 50 keys
```

## Steps

1. Learn the API's rate budget from headers or docs. Expected: the real limit.
2. Stagger rotations with delays and modest concurrency. Expected: under the limit.
3. Back off exponentially on 429, honoring reset headers. Expected: graceful slowdown.
4. Checkpoint each rotated key durably. Expected: resume skips finished keys.
5. Verify each key's end state before marking it done. Expected: no half-rotated keys.

## When to use

- Bulk key rotations hitting rate limits.
- Designing rotation agents.

## When not to use

- 401/403 errors.
- Single-key rotations (no throttling needed).

## Tool compatibility

- Cloud IAM APIs; agent rotation loops.

## Variant phrasings

### 429 during bulk rotation

Stagger and resume.

### rotation throttled

Same handling.

## Why it happens

Each rotation is several API calls; fifty keys times several calls exceeds per-minute budgets fast.

## Edge cases

- Idempotency matters more under retry; every step must be repeat-safe.
- Prioritize exposed keys first so throttling delays the least urgent.
- Some providers limit rotations per key per period; check that too.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_KZjnHfiXSz2rLLCnsdtigA
