Skip to main content

Cloudflare/kv

@webframp/cloudflare/kvv2026.08.28.2· 13d agoMODELS
01README

Cloudflare Workers KV — namespaces, keys, values, bulk operations

02Release Notes

2026.08.28.2

Hardened codegen: instance names sanitized against path traversal; 429 rate-limit retry with Retry-After; string schema patterns emit regex validation; output schemas passthrough unknown fields; apiToken now optional and vault-wireable with CLOUDFLARE_API_TOKEN env fallback.

03Models1
@webframp/cloudflare/kvv2026.08.28.2cloudflare/kv.ts

Global Arguments

ArgumentTypeDescription
apiToken?stringCloudflare API token; overrides the CLOUDFLARE_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
accountIdstringCloudflare account ID
fn list_namespaces(page?: number, per_page?: number, order?: enum, direction?: enum)
List Namespaces
ArgumentTypeDescription
page?number
per_page?number
order?enum
direction?enum
fn create_a_namespace(title: unknown)
Create a Namespace
ArgumentTypeDescription
titleunknown
fn get_a_namespace(namespace_id: string)
Get a Namespace
ArgumentTypeDescription
namespace_idstring
fn update_workers_kv_namespace_rename_a_namespace(namespace_id: string, title: unknown)
Rename a Namespace
ArgumentTypeDescription
namespace_idstring
titleunknown
fn delete_workers_kv_namespace_remove_a_namespace(namespace_id: string)
Remove a Namespace
ArgumentTypeDescription
namespace_idstring
fn update_workers_kv_namespace_write_multiple_key_value_pairs(namespace_id: string, items: array)
Write multiple key-value pairs
ArgumentTypeDescription
namespace_idstring
itemsarray
fn delete_multiple_key_value_pairs(namespace_id: string, items: array)
Delete multiple key-value pairs
ArgumentTypeDescription
namespace_idstring
itemsarray
fn get_multiple_key_value_pairs(namespace_id: string, keys: array, type?: enum, withMetadata?: boolean)
Get multiple key-value pairs
ArgumentTypeDescription
namespace_idstring
keysarrayArray of keys to retrieve (maximum of 100).
type?enumWhether to parse JSON values in the response.
withMetadata?booleanWhether to include metadata in the response.
fn list_a_namespace_s_keys(namespace_id: string, limit?: number, prefix?: string, cursor?: string)
List a Namespace's Keys
ArgumentTypeDescription
namespace_idstring
limit?number
prefix?string
cursor?string
fn get_workers_kv_namespace_read_the_metadata_for_a_key(key_name: string, namespace_id: string)
Read the metadata for a key
ArgumentTypeDescription
key_namestring
namespace_idstring
fn delete_key_value_pair(key_name: string, namespace_id: string)
Delete key-value pair
ArgumentTypeDescription
key_namestring
namespace_idstring

Resources

namespaces(infinite)— List Namespaces
a_namespace(infinite)— Create a Namespace
workers_kv_namespace_rename_a_namespace(infinite)— Rename a Namespace
workers_kv_namespace_write_multiple_key_value_pairs(infinite)— Write multiple key-value pairs
delete_multiple_key_value_pairs(infinite)— Delete multiple key-value pairs
multiple_key_value_pairs(infinite)— Get multiple key-value pairs
a_namespace_s_keys(infinite)— List a Namespace's Keys
workers_kv_namespace_read_the_metadata_for_a_key(infinite)— Read the metadata for a key
04Previous Versions8
2026.08.28.1

2026.08.28.1

Changed: Normalized the extension license to Apache-2.0 and corrected the copyright holder to "Sean Escriva". Extensions that previously shipped an MIT LICENSE.md are now Apache-2.0, consistent with the repository root and every other extension. No code or behavioral changes.

Upgrade note: License text only. No API, schema, or runtime behavior changed.

2026.08.26.2

Fixed: Restored inline npm:zod@4.4.3 import specifiers so the registry quality scorer can resolve dependencies and score the extension. An earlier release used a bare "zod" import-map specifier, which published but scored as unscored.

Changed: Retained explicit compilerOptions.strict in deno.json. No behavioral or schema changes.

2026.08.26.2

2026.08.26.2

Fixed: Restored inline npm:zod@4.4.3 import specifiers so the registry quality scorer can resolve dependencies and score the extension. An earlier release used a bare "zod" import-map specifier, which published but scored as unscored.

Changed: Retained explicit compilerOptions.strict in deno.json. No behavioral or schema changes.

2026.08.24.1

2026.08.24.1

Added: Output metadata attributes for observability.

  • durationMs: Method execution duration in milliseconds.
  • collectedBy: Extension name that produced the data.
  • fetchedAt: ISO 8601 timestamp when data was fetched (added to resources that previously lacked it).
2026.08.21.3

2026.08.21.3

Changed:

  • Errors raised when a Cloudflare API call fails now name the HTTP method and path that was attempted (e.g. Cloudflare API PUT /accounts/.../storage/kv/namespaces/xxx/bulk failed with HTTP 400 ...) instead of a bare Cloudflare API error: .... Network-level failures (DNS, connection reset, timeout) are now also caught and wrapped with the same operation context instead of surfacing a raw fetch error.
  • delete_multiple_key_value_pairs and update_workers_kv_namespace_write_multiple_key_value_pairs now reject an empty items array before making a request, instead of sending a no-op request to Cloudflare.
  • delete_multiple_key_value_pairs now enforces the documented 10,000-key limit and get_multiple_key_value_pairs now enforces the documented 100-key limit at the schema level, so an oversized batch fails immediately with a clear message instead of failing deep inside the Cloudflare API call.

No breaking changes. Existing calls that already respected these limits are unaffected.

2026.08.21.2

2026.08.21.2

Changed: Added .describe() annotations to previously undocumented fields across the namespace and key-value schemas (namespace id/title, key name, list_namespaces paging/order arguments, and the various namespace_id/key_name/items method arguments). Added .min(1) to namespace_id and key_name fields, which are required identifiers that the Cloudflare API never accepts empty. No behavioral changes.

2026.08.21.1

Fixed: Regenerated with three cloudflare-codegen fixes: (1) discriminated-union request bodies with a sibling top-level discriminator property (e.g. gateway proxy_endpoints kind) now correctly build the body from the full oneOf variant instead of silently dropping it to undefined; (2) DELETE methods with a request body (e.g. r2 delete_objects bulk-delete-by-list) now send that body instead of ignoring it; (3) oneOf/anyOf request body variants that are $ref (e.g. r2 sippy config) are now resolved to their real schema instead of collapsing to z.unknown(). Same generator fix as workers-scripts in #352, now caught up for these 7 services.

Changed: update_workers_kv_namespace_write_key_value_pair_with_metadata was removed — it is no longer present in the upstream Cloudflare API spec this extension is generated from.

2026.08.21.1

2026.08.21.1

Fixed: Regenerated with three cloudflare-codegen fixes: (1) discriminated-union request bodies with a sibling top-level discriminator property (e.g. gateway proxy_endpoints kind) now correctly build the body from the full oneOf variant instead of silently dropping it to undefined; (2) DELETE methods with a request body (e.g. r2 delete_objects bulk-delete-by-list) now send that body instead of ignoring it; (3) oneOf/anyOf request body variants that are $ref (e.g. r2 sippy config) are now resolved to their real schema instead of collapsing to z.unknown(). Same generator fix as workers-scripts in #352, now caught up for these 7 services.

Changed: update_workers_kv_namespace_write_key_value_pair_with_metadata was removed — it is no longer present in the upstream Cloudflare API spec this extension is generated from.

Modified 1 models

2026.07.27.1

2026.07.27.1

Fixed: Regenerated from scripts/cloudflare-codegen after two generator bugs were repaired (webframp/swamp-extensions#284).

  1. Methods referencing an undeclared path parameter did not compile. The generator derived a method's arguments schema and execute signature from the OpenAPI parameters list, but built the request URL from the path template. Where the Cloudflare spec omits a declaration for a {placeholder} — which it does in several places — the result was a method with arguments: z.object({}) and an unused _args parameter whose body still interpolated args.<name>. Those methods failed type checking and were uncallable even if they had compiled, because the argument was never declared. Path-template placeholders are now unioned into the declared parameters, so the schema, the signature, and the body agree.

  2. Generated tests could request a URL the mock server did not serve. Test arguments merged the request-body fixture over the path-parameter values, so a body property sharing a name with a path parameter (commonly id) substituted its own example value into the URL. The request then missed the mock and failed with Cloudflare API error: Not found. Path parameters now take precedence, matching what the generated model already does by excluding path-parameter names from the request body.

Upgrade note: No API surface change and no method was added or removed. If this extension type-checked and tested cleanly before, its behavior is unchanged and only the version moved. Extensions that previously failed deno check or deno task test now pass.

2026.07.19.1

2026.07.19.1

Added: Initial code-generated release of @webframp/cloudflare/kv with 12 methods covering the Cloudflare kv API surface.

05Stats
A
100 / 100
Downloads
0
Archive size
16.1 KB
  • Has README or module doc2/2earned
  • README has a code example1/1earned
  • README is substantive1/1earned
  • Most symbols documented1/1earned
  • No slow types (deprecated)1/1earned
  • Dependencies pass trust audit2/2earned
  • Has description1/1earned
  • Platform support declared (or universal)2/2earned
  • License declared1/1earned
  • Verified public repository2/2earned
06Platforms
07Labels