KV

kv

KV

Namespaces

kv.namespaces

Methods

Delete Multiple Key Value Pairs -> Envelope<{ successful_key_count, unsuccessful_keys }>
post/accounts/{account_id}/storage/kv/namespaces/{namespace_id}/bulk/delete

Remove multiple KV pairs from the namespace. Body should be an array of up to 10,000 keys to be removed.

Write Multiple Key Value Pairs -> Envelope<{ successful_key_count, unsuccessful_keys }>
put/accounts/{account_id}/storage/kv/namespaces/{namespace_id}/bulk

Write multiple keys and values at once. Body should be an array of up to 10,000 key-value pairs to be stored, along with optional expiration information. Existing values and expirations will be overwritten. If neither expiration nor expiration_ttl is specified, the key-value pair will never expire. If both are set, expiration_ttl is used and expiration is ignored. The entire request size must be 100 megabytes or less.

Create A Namespace -> Envelope<>
post/accounts/{account_id}/storage/kv/namespaces

Creates a namespace under the given title. A 400 is returned if the account already owns a namespace with this title. A namespace must be explicitly deleted to be replaced.

Remove A Namespace -> Envelope<{ }>
delete/accounts/{account_id}/storage/kv/namespaces/{namespace_id}

Deletes the namespace corresponding to the given ID.

Get A Namespace -> Envelope<>
get/accounts/{account_id}/storage/kv/namespaces/{namespace_id}

Get the namespace corresponding to the given ID.

List Namespaces -> V4PagePaginationArray<>
get/accounts/{account_id}/storage/kv/namespaces

Returns the namespaces owned by an account.

Rename A Namespace -> Envelope<{ }>
put/accounts/{account_id}/storage/kv/namespaces/{namespace_id}

Modifies a namespace's title.

Domain types

Namespace = { id, title, supports_url_encoding }
KVNamespaces

Analytics

kv.namespaces.analytics

Methods

Query Request Analytics Deprecated -> Envelope<>
get/accounts/{account_id}/storage/analytics

Retrieves Workers KV request metrics for the given account.

Query Stored Data Analytics Deprecated -> Envelope<>
get/accounts/{account_id}/storage/analytics/stored

Retrieves Workers KV stored data metrics for the given account.

Domain types

Components = { data, data_lag, max, 5 more... }
Schema = { data, data_lag, max, 5 more... }

kv.namespaces.keys

Methods

List A Namespace S Keys -> CursorLimitPagination<>
get/accounts/{account_id}/storage/kv/namespaces/{namespace_id}/keys

Lists a namespace's keys.

Domain types

Key = { name, expiration, metadata }
KVNamespaces

Metadata

kv.namespaces.metadata

Methods

Read The Metadata For A Key -> Envelope<Record<string, unknown>>
get/accounts/{account_id}/storage/kv/namespaces/{namespace_id}/metadata/{key_name}

Returns the metadata associated with the given key in the given namespace. Use URL-encoding to use special characters (for example, :, !, %) in the key name.

kv.namespaces.values

Methods

Delete Key Value Pair -> Envelope<{ }>
delete/accounts/{account_id}/storage/kv/namespaces/{namespace_id}/values/{key_name}

Remove a KV pair from the namespace. Use URL-encoding to use special characters (for example, :, !, %) in the key name.

Read Key Value Pair -> unknown
get/accounts/{account_id}/storage/kv/namespaces/{namespace_id}/values/{key_name}

Returns the value associated with the given key in the given namespace. Use URL-encoding to use special characters (for example, :, !, %) in the key name. If the KV-pair is set to expire at some point, the expiration time as measured in seconds since the UNIX epoch will be returned in the expiration response header.

Security

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example: Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY

Accepted Permissions (at least one required)

Workers KV Storage Write Workers KV Storage Read

Parameters
account_id: string

Identifier

namespace_id: string

Namespace identifier tag.

key_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.

Request example
Write Key Value Pair With Optional Metadata -> Envelope<{ }>
put/accounts/{account_id}/storage/kv/namespaces/{namespace_id}/values/{key_name}

Write a value identified by a key. Use URL-encoding to use special characters (for example, :, !, %) in the key name. Body should be the value to be stored. If JSON metadata to be associated with the key/value pair is needed, use multipart/form-data content type for your PUT request (see dropdown below in REQUEST BODY SCHEMA). Existing values, expirations, and metadata will be overwritten. If neither expiration nor expiration_ttl is specified, the key-value pair will never expire. If both are set, expiration_ttl is used and expiration is ignored.