---
title: "Delete a KV namespace"
method: DELETE
path: "/storage/kvs/{id}"
tags: ["kv namespaces"]
---

# Delete a KV namespace

`DELETE /storage/kvs/{id}`

Deletes a KV namespace and all of the keys it contains. Deletion is asynchronous: the namespace is returned with status `deleting`. Deleting a namespace whose deletion is already in progress returns a `409`.

## Path parameters

- `id` string, uuid, required

## Response `200`

KV namespace deletion initiated

- KvNamespaceResponseWrapper
  - `data` KvNamespace
    - `record_type` string
    - `id` string, uuid
    - `name` string
    - `status` 'pending' | 'provision_ok' | 'provision_failed' | 'deleting' | 'delete_failed' — Provisioning status. A namespace is usable once `status` is `provision_ok`. Once deletion completes, the namespace no longer appears in the API.
    - `created_at` string, date-time
    - `updated_at` string, date-time

## Other responses

- `400` — Bad request — `id` is not a valid UUID
- `401` — Unauthorized
- `404` — KV namespace not found
- `409` — Conflict — the namespace is already being deleted
- `500` — Internal server error

## Changes

> 81 revisions in range; 1 not diffed.

- **2026-09-16** `a6a61a29ecdd` — 4 breaking, 4 warning, 8 info
  - the `errors/items/code` response's property type changed from `string` to `integer`, and format from no format to `int32` for status `400`
  - the `errors/items/code` response's property type changed from `string` to `integer`, and format from no format to `int32` for status `401`
  - the `errors/items/code` response's property type changed from `string` to `integer`, and format from no format to `int32` for status `404`
  - the `errors/items/code` response's property type changed from `string` to `integer`, and format from no format to `int32` for status `409`
  - …12 more
- **2026-08-17** `1571b0380bd7` — 12 breaking, 4 info
  - the response property `errors/items/code` became optional for the status `400`
  - the response property `errors/items/code` became optional for the status `401`
  - the response property `errors/items/code` became optional for the status `404`
  - the response property `errors/items/code` became optional for the status `409`
  - …12 more
- …earlier changes not shown

[Full history](https://skmtc.dev/team-telnyx/apis/telnyx-api-2/changes/storage/kvs/:id/delete.md)

---

[API](https://skmtc.dev/team-telnyx/apis/telnyx-api-2.md) · [All operations](https://skmtc.dev/team-telnyx/apis/telnyx-api-2/llms.txt) · [OpenAPI document](https://skmtc.dev/team-telnyx/apis/telnyx-api-2/revisions/f6e9ed754d05?raw)
