Cloudflare/kv
Cloudflare Workers KV — namespaces, keys, values, bulk operations
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.
Global Arguments
| Argument | Type | Description |
|---|---|---|
| apiToken? | string | Cloudflare API token; overrides the CLOUDFLARE_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault. |
| accountId | string | Cloudflare account ID |
| Argument | Type | Description |
|---|---|---|
| page? | number | |
| per_page? | number | |
| order? | enum | |
| direction? | enum |
| Argument | Type | Description |
|---|---|---|
| title | unknown |
| Argument | Type | Description |
|---|---|---|
| namespace_id | string |
| Argument | Type | Description |
|---|---|---|
| namespace_id | string | |
| title | unknown |
| Argument | Type | Description |
|---|---|---|
| namespace_id | string |
| Argument | Type | Description |
|---|---|---|
| namespace_id | string | |
| items | array |
| Argument | Type | Description |
|---|---|---|
| namespace_id | string | |
| items | array |
| Argument | Type | Description |
|---|---|---|
| namespace_id | string | |
| keys | array | Array of keys to retrieve (maximum of 100). |
| type? | enum | Whether to parse JSON values in the response. |
| withMetadata? | boolean | Whether to include metadata in the response. |
| Argument | Type | Description |
|---|---|---|
| namespace_id | string | |
| limit? | number | |
| prefix? | string | |
| cursor? | string |
| Argument | Type | Description |
|---|---|---|
| key_name | string | |
| namespace_id | string |
| Argument | Type | Description |
|---|---|---|
| key_name | string | |
| namespace_id | string |
Resources
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
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
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
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 bareCloudflare API error: .... Network-level failures (DNS, connection reset, timeout) are now also caught and wrapped with the same operation context instead of surfacing a rawfetcherror. delete_multiple_key_value_pairsandupdate_workers_kv_namespace_write_multiple_key_value_pairsnow reject an emptyitemsarray before making a request, instead of sending a no-op request to Cloudflare.delete_multiple_key_value_pairsnow enforces the documented 10,000-key limit andget_multiple_key_value_pairsnow 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
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
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
Fixed: Regenerated from scripts/cloudflare-codegen after two generator
bugs were repaired (webframp/swamp-extensions#284).
Methods referencing an undeclared path parameter did not compile. The generator derived a method's arguments schema and execute signature from the OpenAPI
parameterslist, 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 witharguments: z.object({})and an unused_argsparameter whose body still interpolatedargs.<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.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 withCloudflare 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
Added: Initial code-generated release of @webframp/cloudflare/kv with 12 methods covering the Cloudflare kv API surface.
- 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