---
title: KV
---

[Skip to content](#_top)

[API Reference](https://developers.cloudflare.com/api/go)

Copy Markdown

Open in **Claude**Open in **ChatGPT**Open in **Cursor**

---

**Copy Markdown****View as Markdown**

# KV

#### KVNamespaces

##### [List namespaces](https://developers.cloudflare.com/api/go/resources/kv/subresources/namespaces/methods/list)

client.KV.Namespaces.List(ctx, params) (\*V4PagePaginationArray\[[Namespace](<https://developers.cloudflare.com/api/go/resources/kv#(resource)%20kv.namespaces%20%3E%20(model)%20namespace%20%3E%20(schema)>)], error)

GET/accounts/{account\_id}/storage/kv/namespaces

##### [Get a namespace](https://developers.cloudflare.com/api/go/resources/kv/subresources/namespaces/methods/get)

client.KV.Namespaces.Get(ctx, namespaceID, query) (\*[Namespace](<https://developers.cloudflare.com/api/go/resources/kv#(resource)%20kv.namespaces%20%3E%20(model)%20namespace%20%3E%20(schema)>), error)

GET/accounts/{account\_id}/storage/kv/namespaces/{namespace\_id}

##### [Create a namespace](https://developers.cloudflare.com/api/go/resources/kv/subresources/namespaces/methods/create)

client.KV.Namespaces.New(ctx, params) (\*[Namespace](<https://developers.cloudflare.com/api/go/resources/kv#(resource)%20kv.namespaces%20%3E%20(model)%20namespace%20%3E%20(schema)>), error)

POST/accounts/{account\_id}/storage/kv/namespaces

##### [Rename a namespace](https://developers.cloudflare.com/api/go/resources/kv/subresources/namespaces/methods/update)

client.KV.Namespaces.Update(ctx, namespaceID, params) (\*[Namespace](<https://developers.cloudflare.com/api/go/resources/kv#(resource)%20kv.namespaces%20%3E%20(model)%20namespace%20%3E%20(schema)>), error)

PUT/accounts/{account\_id}/storage/kv/namespaces/{namespace\_id}

##### [Delete a namespace](https://developers.cloudflare.com/api/go/resources/kv/subresources/namespaces/methods/delete)

client.KV.Namespaces.Delete(ctx, namespaceID, body) (\*[NamespaceDeleteResponse](<https://developers.cloudflare.com/api/go/resources/kv#(resource)%20kv.namespaces%20%3E%20(model)%20NamespaceDeleteResponse%20%3E%20(schema)>), error)

DELETE/accounts/{account\_id}/storage/kv/namespaces/{namespace\_id}

##### [Write multiple key-value pairs](https://developers.cloudflare.com/api/go/resources/kv/subresources/namespaces/methods/bulk_update)

client.KV.Namespaces.BulkUpdate(ctx, namespaceID, params) (\*[NamespaceBulkUpdateResponse](<https://developers.cloudflare.com/api/go/resources/kv#(resource)%20kv.namespaces%20%3E%20(model)%20NamespaceBulkUpdateResponse%20%3E%20(schema)>), error)

PUT/accounts/{account\_id}/storage/kv/namespaces/{namespace\_id}/bulk

##### [Delete multiple key-value pairs](https://developers.cloudflare.com/api/go/resources/kv/subresources/namespaces/methods/bulk_delete)

client.KV.Namespaces.BulkDelete(ctx, namespaceID, params) (\*[NamespaceBulkDeleteResponse](<https://developers.cloudflare.com/api/go/resources/kv#(resource)%20kv.namespaces%20%3E%20(model)%20NamespaceBulkDeleteResponse%20%3E%20(schema)>), error)

POST/accounts/{account\_id}/storage/kv/namespaces/{namespace\_id}/bulk/delete

##### [Get multiple key-value pairs](https://developers.cloudflare.com/api/go/resources/kv/subresources/namespaces/methods/bulk_get)

client.KV.Namespaces.BulkGet(ctx, namespaceID, params) (\*[NamespaceBulkGetResponse](<https://developers.cloudflare.com/api/go/resources/kv#(resource)%20kv.namespaces%20%3E%20(model)%20NamespaceBulkGetResponse%20%3E%20(schema)>), error)

POST/accounts/{account\_id}/storage/kv/namespaces/{namespace\_id}/bulk/get

##### ModelsExpand Collapse

<details>

<summary>

type Namespace struct{…}

</summary>

ID string

ID of the Workers KV namespace.

maxLength32

<a href="#(resource)%20kv.namespaces%20%3E%20(model)%20namespace%20%3E%20(schema)%20%3E%20(property)%20id">Link to this property</a>

Title string

Human-readable string name for a Workers KV namespace.

maxLength512

<a href="#(resource)%20kv.namespaces%20%3E%20(model)%20namespace%20%3E%20(schema)%20%3E%20(property)%20title">Link to this property</a>

<details>

<summary>

Jurisdiction NamespaceJurisdictionOptional

Specify the jurisdiction to restrict the KV namespace to durably store data within. Can only be set at namespace creation time.

</summary>

One of the following:

const NamespaceJurisdictionEu NamespaceJurisdiction = "eu"

<a href="#(resource)%20kv.namespaces%20%3E%20(model)%20namespace%20%3E%20(schema)%20%3E%20(property)%20jurisdiction%20%3E%20(member)%200">Link to this property</a>

const NamespaceJurisdictionFedramp NamespaceJurisdiction = "fedramp"

<a href="#(resource)%20kv.namespaces%20%3E%20(model)%20namespace%20%3E%20(schema)%20%3E%20(property)%20jurisdiction%20%3E%20(member)%201">Link to this property</a>

const NamespaceJurisdictionUs NamespaceJurisdiction = "us"

<a href="#(resource)%20kv.namespaces%20%3E%20(model)%20namespace%20%3E%20(schema)%20%3E%20(property)%20jurisdiction%20%3E%20(member)%202">Link to this property</a>

</details>

<a href="#(resource)%20kv.namespaces%20%3E%20(model)%20namespace%20%3E%20(schema)%20%3E%20(property)%20jurisdiction">Link to this property</a>

Mode NamespaceModeOptional

The mode of the Workers KV namespace. Specify <code>instant</code> when creating a namespace to create a KV Instant namespace. Omit this field when creating a namespace to create a classic namespace. Currently, <code>instant</code> is the only supported explicit value.

<a href="#(resource)%20kv.namespaces%20%3E%20(model)%20namespace%20%3E%20(schema)%20%3E%20(property)%20mode">Link to this property</a>

SupportsURLEncoding boolOptional

True if keys written on the URL will be URL-decoded before storing. For example, if set to “true”, a key written on the URL as “%3F” will be stored as ”?”.

<a href="#(resource)%20kv.namespaces%20%3E%20(model)%20namespace%20%3E%20(schema)%20%3E%20(property)%20supports_url_encoding">Link to this property</a>

</details>

[Link to this property](<#(resource)%20kv.namespaces%20%3E%20(model)%20namespace%20%3E%20(schema)>)

#### KVNamespacesKeys

##### [List keys in a namespace](https://developers.cloudflare.com/api/go/resources/kv/subresources/namespaces/subresources/keys/methods/list)

client.KV.Namespaces.Keys.List(ctx, namespaceID, params) (\*CursorLimitPagination\[[Key](<https://developers.cloudflare.com/api/go/resources/kv#(resource)%20kv.namespaces.keys%20%3E%20(model)%20key%20%3E%20(schema)>)], error)

GET/accounts/{account\_id}/storage/kv/namespaces/{namespace\_id}/keys

##### [Write multiple key-value pairs](https://developers.cloudflare.com/api/go/resources/kv/subresources/namespaces/subresources/keys/methods/bulk_update)

Deprecated

client.KV.Namespaces.Keys.BulkUpdate(ctx, namespaceID, params) (\*[NamespaceKeyBulkUpdateResponse](<https://developers.cloudflare.com/api/go/resources/kv#(resource)%20kv.namespaces.keys%20%3E%20(model)%20NamespaceKeyBulkUpdateResponse%20%3E%20(schema)>), error)

PUT/accounts/{account\_id}/storage/kv/namespaces/{namespace\_id}/bulk

##### [Delete multiple key-value pairs](https://developers.cloudflare.com/api/go/resources/kv/subresources/namespaces/subresources/keys/methods/bulk_delete)

Deprecated

client.KV.Namespaces.Keys.BulkDelete(ctx, namespaceID, params) (\*[NamespaceKeyBulkDeleteResponse](<https://developers.cloudflare.com/api/go/resources/kv#(resource)%20kv.namespaces.keys%20%3E%20(model)%20NamespaceKeyBulkDeleteResponse%20%3E%20(schema)>), error)

POST/accounts/{account\_id}/storage/kv/namespaces/{namespace\_id}/bulk/delete

##### [Get multiple key-value pairs](https://developers.cloudflare.com/api/go/resources/kv/subresources/namespaces/subresources/keys/methods/bulk_get)

Deprecated

client.KV.Namespaces.Keys.BulkGet(ctx, namespaceID, params) (\*[NamespaceKeyBulkGetResponse](<https://developers.cloudflare.com/api/go/resources/kv#(resource)%20kv.namespaces.keys%20%3E%20(model)%20NamespaceKeyBulkGetResponse%20%3E%20(schema)>), error)

POST/accounts/{account\_id}/storage/kv/namespaces/{namespace\_id}/bulk/get

##### ModelsExpand Collapse

<details>

<summary>

type Key struct{…}

A name for a value. A value stored under a given key may be retrieved via the same key.

</summary>

Name string

A key’s name. The name may be at most 512 bytes. All printable, non-whitespace characters are valid. Use percent-encoding to define key names as part of a URL.

maxLength512

<a href="#(resource)%20kv.namespaces.keys%20%3E%20(model)%20key%20%3E%20(schema)%20%3E%20(property)%20name">Link to this property</a>

Expiration float64Optional

The time, measured in number of seconds since the UNIX epoch, at which the key will expire. This property is omitted for keys that will not expire.

<a href="#(resource)%20kv.namespaces.keys%20%3E%20(model)%20key%20%3E%20(schema)%20%3E%20(property)%20expiration">Link to this property</a>

Metadata unknownOptional

Arbitrary JSON that is associated with a key.

<a href="#(resource)%20kv.namespaces.keys%20%3E%20(model)%20key%20%3E%20(schema)%20%3E%20(property)%20metadata">Link to this property</a>

</details>

[Link to this property](<#(resource)%20kv.namespaces.keys%20%3E%20(model)%20key%20%3E%20(schema)>)

#### KVNamespacesMetadata

##### [Get a key's metadata](https://developers.cloudflare.com/api/go/resources/kv/subresources/namespaces/subresources/metadata/methods/get)

client.KV.Namespaces.Metadata.Get(ctx, namespaceID, keyName, query) (\*[NamespaceMetadataGetResponse](<https://developers.cloudflare.com/api/go/resources/kv#(resource)%20kv.namespaces.metadata%20%3E%20(model)%20NamespaceMetadataGetResponse%20%3E%20(schema)>), error)

GET/accounts/{account\_id}/storage/kv/namespaces/{namespace\_id}/metadata/{key\_name}

#### KVNamespacesValues

##### [Get a key's value](https://developers.cloudflare.com/api/go/resources/kv/subresources/namespaces/subresources/values/methods/get)

client.KV.Namespaces.Values.Get(ctx, namespaceID, keyName, query) (\*Response, error)

GET/accounts/{account\_id}/storage/kv/namespaces/{namespace\_id}/values/{key\_name}

##### [Write a key-value pair with optional metadata](https://developers.cloudflare.com/api/go/resources/kv/subresources/namespaces/subresources/values/methods/update)

client.KV.Namespaces.Values.Update(ctx, namespaceID, keyName, params) (\*[NamespaceValueUpdateResponse](<https://developers.cloudflare.com/api/go/resources/kv#(resource)%20kv.namespaces.values%20%3E%20(model)%20NamespaceValueUpdateResponse%20%3E%20(schema)>), error)

PUT/accounts/{account\_id}/storage/kv/namespaces/{namespace\_id}/values/{key\_name}

##### [Delete a key-value pair](https://developers.cloudflare.com/api/go/resources/kv/subresources/namespaces/subresources/values/methods/delete)

client.KV.Namespaces.Values.Delete(ctx, namespaceID, keyName, body) (\*[NamespaceValueDeleteResponse](<https://developers.cloudflare.com/api/go/resources/kv#(resource)%20kv.namespaces.values%20%3E%20(model)%20NamespaceValueDeleteResponse%20%3E%20(schema)>), error)

DELETE/accounts/{account\_id}/storage/kv/namespaces/{namespace\_id}/values/{key\_name}