---
title: "List KV namespaces"
method: GET
path: "/storage/kvs"
tags: ["kv namespaces"]
---

# List KV namespaces

`GET /storage/kvs`

## Request

- Base URL: `https://api.telnyx.com/v2`
- URL: `https://api.telnyx.com/v2/storage/kvs`
- Auth: HTTP bearer

Lists the KV namespaces for the authenticated user's organization. Results use page-based pagination (`page[number]`/`page[size]`).

## Query parameters

- `page[number]` integer
- `page[size]` integer

## Response `200`

KV namespaces retrieved successfully

- KvNamespaceListResponseWrapper
  - `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
  - `meta` EdgeComputePaginationMeta
    - `page_number` integer
    - `page_size` integer
    - `total_pages` integer
    - `total_results` integer

## Other responses

- `401`: Unauthorized
- `500`: Internal server error

## Changes

- **2026-10-21** `67df31283a8a`: 1 breaking, 1 info
  - the `errors/items/code` response's property type changed from `integer` to `string`, and format from `int32` to no format for status `401`
  - added the optional property `errors/items/description` to the response with the `401` status
- **2026-10-15** `a72569d69430`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/team-telnyx/apis/telnyx-api/changes/storage/kvs/get.md)

---

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