
Cloudflare deprecated the legacy Workers KV REST API path on July 15, 2026. If your infrastructure scripts, Terraform configs, or CI pipelines call /accounts/{account_id}/workers/namespaces/*, they will stop working on October 15. The fix is a single URL segment change and takes minutes — but you need to find every place the old path appears before the 90-day clock runs out.
Most Developers Are Not Affected
Before the panic sets in: if you access Workers KV exclusively from inside a Worker script using the binding API (env.MY_KV.get(key), env.MY_KV.put(key, value)), you are untouched. That API is a separate layer. The deprecation only hits the Cloudflare REST API used for namespace management — creating, listing, renaming, and deleting KV namespaces, plus reading and writing values directly through the API rather than through a Worker.
Who is at risk:
- Scripts calling
api.cloudflare.com/client/v4/accounts/{id}/workers/namespacesvia curl or an HTTP client - Terraform users with
cloudflare_workers_kv_namespaceresources (the provider calls the legacy path internally) - CI/CD pipelines using older pinned versions of Wrangler CLI
- Any third-party deployment tool that has not updated its Cloudflare SDK
The Change Is One URL Segment
The new path swaps /workers/ for /storage/kv/. Payloads, parameters, and response shapes are identical — Cloudflare explicitly designed this as a drop-in replacement.
Before (deprecated, breaks October 15):
GET https://api.cloudflare.com/client/v4/accounts/ACCOUNT_ID/workers/namespaces
POST https://api.cloudflare.com/client/v4/accounts/ACCOUNT_ID/workers/namespaces
GET https://api.cloudflare.com/client/v4/accounts/ACCOUNT_ID/workers/namespaces/{id}/keys
After (use this now):
GET https://api.cloudflare.com/client/v4/accounts/ACCOUNT_ID/storage/kv/namespaces
POST https://api.cloudflare.com/client/v4/accounts/ACCOUNT_ID/storage/kv/namespaces
GET https://api.cloudflare.com/client/v4/accounts/ACCOUNT_ID/storage/kv/namespaces/{id}/keys
All CRUD operations follow the same pattern: replace /workers/namespaces/ with /storage/kv/namespaces/. The rest of the URL, headers, body, and authentication stay the same.
Terraform Users Have Extra Steps
The Cloudflare Terraform provider’s cloudflare_workers_kv_namespace resource calls the legacy path internally. You cannot fix this by editing HCL — you have to wait for a provider update. Watch the Terraform Registry changelog for a new release that switches to /storage/kv/namespaces/. Once it ships:
- Update the provider version in your
required_providersblock - Run
terraform init -upgrade - Run
terraform plan— verify no unexpected changes to existing namespace IDs - Apply and commit the lock file update
Do not wait until late September to start this. Provider releases take time to land, and you need buffer to test before the hard deadline.
Audit Your Codebase Now
Run this search across your repository:
grep -r "workers/namespaces" . \
--include="*.tf" \
--include="*.sh" \
--include="*.py" \
--include="*.js" \
--include="*.ts" \
--include="*.yml" \
--include="*.yaml"
Also check your GitHub Actions workflows, any Pulumi programs using the Cloudflare provider, and internal deployment runbooks. If you use Wrangler in CI, confirm you are on a recent version — older pinned versions may use the old namespace management API.
Why Cloudflare Is Doing This
Cloudflare is reorganizing its storage APIs under a unified /storage/ namespace: Workers KV at /storage/kv/, R2 at /storage/r2/. Storage is becoming a first-class platform product, no longer a Workers-specific feature. The same week, Cloudflare blocked new Durable Object namespaces from using the KV-backed storage backend, pushing all new namespaces to SQLite. These changes are part of the same cleanup: KV paths reflected its origins as a Workers feature; the new paths reflect what it actually is now.
Action Checklist
- Audit scripts and CI configs for
/workers/namespacesreferences today - Update any direct REST API calls to use
/storage/kv/namespaces - Watch for Cloudflare Terraform provider update and upgrade before mid-September
- Verify Wrangler CLI version in CI pipelines
- Update third-party tools that wrap the Cloudflare API
- Set a calendar reminder for September 30 as your final check date
After October 15, calls to the old paths fail. There is no soft deprecation with warning headers, and no extended grace period announced. If your team runs quarterly infrastructure reviews, you have one cycle to catch this — make sure it is on the agenda.













