---
title: "Get a key's value"
method: GET
path: "/storage/kvs/{id}/keys/{key}"
tags: ["kv keys"]
---

# Get a key's value

`GET /storage/kvs/{id}/keys/{key}`

## Request

- Base URL: `https://api.telnyx.com/v2`
- URL: `https://api.telnyx.com/v2/storage/kvs/{id}/keys/{key}`
- Auth: HTTP bearer

Returns the raw stored value for a key. The response body is the value exactly as it was written; the `Content-Type` header echoes the value's stored content type (defaults to `application/octet-stream`).

## Path parameters

- `id` string, uuid, required
- `key` string, required

## Response `200`

Value retrieved successfully. The `Content-Type` header is the value's stored content type (defaults to `application/octet-stream`).

## Other responses

- `400`: Bad request — invalid `id` or key name
- `401`: Unauthorized
- `404`: Key or namespace not found
- `409`: Conflict — the namespace is not ready (`status` is not `provision_ok`)
- `500`: Internal server error

## Changes

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

[Operation history](https://skmtc.dev/team-telnyx/apis/telnyx-api/changes/storage/kvs/:id/keys/:key/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)
