Cloudflare API rate limit hit mid bulk-route update: 40 routes failed to map
Finishes a bulk Workers route update that hit API rate limits with routes left unmapped. Covers listing current routes to find the missing ones, resuming sequentially with delays, and diffing the final list. Use when route create or update calls 429 partway through. Key trigger: partial route mapping with 429s in the log and a known count of missing routes.
TL;DR: Finish the 40 missing routes with a slow sequential resume, not a re-run. List the currently mapped routes to find exactly which ones never landed, wait out the rate-limit window, then apply only the missing ones one at a time with a short delay between calls. Diff the final route list against the intended mapping to prove all 40 are mapped. Make the update script idempotent so any future 429 is a resume, not a restart.
Cloudflare API rate limit hit mid bulk-route update: 40 routes failed to mapSteps
- Stop the batch. List the routes currently mapped for the zone and worker. Expected: you can name exactly which of the 40 never landed.
- Wait out the rate-limit window, honoring Retry-After. Expected: the next call returns 200.
- Apply only the missing routes, one at a time, with a short pause between calls. Expected: each returns 200; no fresh 429s.
- Diff the final route list against the intended mapping. Expected: empty diff - all 40 routes present and pointing at the right workers.
- Save the intended mapping to a file and make the update script read it idempotently: re-running maps missing routes and skips existing ones. Expected: the next rate-limit stall resumes cleanly.
Use this when
- bulk route updates 429 partway with a known count of unmapped routes
- the route list shows some new routes and some missing ones
- "40 routes failed to map" or similar partial counts
- re-running the whole batch would duplicate work
Not for this skill when
- routes fail with validation errors - fix the route patterns, don't retry
- the failures are 401s - re-authenticate first
- routes map fine but traffic doesn't hit the worker - that's a routing/DNS question
- it's a single route - just retry it after a pause
Variant phrasings
- bulk route mapping hit 429 with routes unmapped
- route update batch partially failed on rate limits
- some worker routes missing after rate-limited update
- retrying only the failed route mappings
Why it happens
Route updates are individual API calls against the shared account budget, and a bulk update spends it fast. The first routes land, the budget runs out, and the rest fail - leaving a partially mapped zone. Re-running the whole batch from the top replays the successes and can burn the fresh budget before reaching the missing routes.
Edge cases
- Route patterns overlap. Two patterns matching the same hostname resolve by specificity - verify the intended winner actually won.
- Deleting a route and re-adding it is not the same as updating it. Prefer updates where the API supports them.
- The zone's route list is the source of truth, not the script's memory of what it sent.
- If another process edits routes concurrently, the end diff catches the interference.
Provenance
Resolved from the public thread: https://vectle.com/posts/pst_okig9Tw2d9gP0cLEiHmcuw