Skip to main content

Cloudflare/rulesets

@webframp/cloudflare/rulesetsv2026.09.18.1· 1d agoMODELS
01README

Cloudflare Rulesets — WAF custom rules, transform rules, managed rulesets

02Release Notes

2026.09.18.1

Upgrade note: Normalized npm:zod dependency version to 4.6.5 across the repo. No behavioral changes in this extension.

03Models1
@webframp/cloudflare/rulesetsv2026.09.18.1cloudflare/rulesets.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 listaccountrulesets(cursor?: string, per_page?: string)
List account rulesets
ArgumentTypeDescription
cursor?string
per_page?string
fn createaccountruleset(description?: string, last_updated: string, name: string, version: unknown, kind: unknown, phase: unknown, rules?: unknown)
Create an account ruleset
ArgumentTypeDescription
description?stringAn informative description of the ruleset.
last_updatedstringThe timestamp of when the ruleset was last modified.
namestringThe human-readable name of the ruleset.
versionunknown
kindunknown
phaseunknown
rules?unknown
fn getaccountentrypointruleset(ruleset_phase: string)
Get an account entry point ruleset
ArgumentTypeDescription
ruleset_phasestring
fn updateaccountentrypointruleset(ruleset_phase: string, description?: string, last_updated: string, name?: string, version: unknown, rules?: unknown)
Update an account entry point ruleset
ArgumentTypeDescription
ruleset_phasestring
description?stringAn informative description of the ruleset.
last_updatedstringThe timestamp of when the ruleset was last modified.
name?stringThe human-readable name of the ruleset.
versionunknown
rules?unknown
fn listaccountentrypointrulesetversions(ruleset_phase: string)
List an account entry point ruleset's versions
ArgumentTypeDescription
ruleset_phasestring
fn getaccountentrypointrulesetversion(ruleset_version: string, ruleset_phase: string)
Get an account entry point ruleset version
ArgumentTypeDescription
ruleset_versionstring
ruleset_phasestring
fn getaccountruleset(ruleset_id: string)
Get an account ruleset
ArgumentTypeDescription
ruleset_idstring
fn updateaccountruleset(ruleset_id: string, description?: string, last_updated: string, name?: string, version: unknown, kind?: unknown, phase?: unknown, rules?: unknown)
Update an account ruleset
ArgumentTypeDescription
ruleset_idstring
description?stringAn informative description of the ruleset.
last_updatedstringThe timestamp of when the ruleset was last modified.
name?stringThe human-readable name of the ruleset.
versionunknown
kind?unknown
phase?unknown
rules?unknown
fn deleteaccountruleset(ruleset_id: string)
Delete an account ruleset
ArgumentTypeDescription
ruleset_idstring
fn createaccountrulesetrule(ruleset_id: string, position?: union)
Create an account ruleset rule
ArgumentTypeDescription
ruleset_idstring
position?union
fn updateaccountrulesetrule(rule_id: string, ruleset_id: string, position?: union)
Update an account ruleset rule
ArgumentTypeDescription
rule_idstring
ruleset_idstring
position?union
fn deleteaccountrulesetrule(rule_id: string, ruleset_id: string)
Delete an account ruleset rule
ArgumentTypeDescription
rule_idstring
ruleset_idstring
fn listaccountrulesetversions(ruleset_id: string)
List an account ruleset's versions
ArgumentTypeDescription
ruleset_idstring
fn getaccountrulesetversion(ruleset_version: string, ruleset_id: string)
Get an account ruleset version
ArgumentTypeDescription
ruleset_versionstring
ruleset_idstring
fn deleteaccountrulesetversion(ruleset_version: string, ruleset_id: string)
Delete an account ruleset version
ArgumentTypeDescription
ruleset_versionstring
ruleset_idstring
fn listaccountrulesetversionrulesbytag(rule_tag: string, ruleset_version: string, ruleset_id: string)
List an account ruleset version's rules by tag
ArgumentTypeDescription
rule_tagstring
ruleset_versionstring
ruleset_idstring
fn listzonerulesets(zone_id: string, cursor?: string, per_page?: string)
List zone rulesets
ArgumentTypeDescription
zone_idstring
cursor?string
per_page?string
fn createzoneruleset(zone_id: string, description?: string, last_updated: string, name: string, version: unknown, kind: unknown, phase: unknown, rules?: unknown)
Create a zone ruleset
ArgumentTypeDescription
zone_idstring
description?stringAn informative description of the ruleset.
last_updatedstringThe timestamp of when the ruleset was last modified.
namestringThe human-readable name of the ruleset.
versionunknown
kindunknown
phaseunknown
rules?unknown
fn getzoneentrypointruleset(ruleset_phase: string, zone_id: string)
Get a zone entry point ruleset
ArgumentTypeDescription
ruleset_phasestring
zone_idstring
fn updatezoneentrypointruleset(ruleset_phase: string, zone_id: string, description?: string, last_updated: string, name?: string, version: unknown, rules?: unknown)
Update a zone entry point ruleset
ArgumentTypeDescription
ruleset_phasestring
zone_idstring
description?stringAn informative description of the ruleset.
last_updatedstringThe timestamp of when the ruleset was last modified.
name?stringThe human-readable name of the ruleset.
versionunknown
rules?unknown
fn listzoneentrypointrulesetversions(ruleset_phase: string, zone_id: string)
List a zone entry point ruleset's versions
ArgumentTypeDescription
ruleset_phasestring
zone_idstring
fn getzoneentrypointrulesetversion(ruleset_version: string, ruleset_phase: string, zone_id: string)
Get a zone entry point ruleset version
ArgumentTypeDescription
ruleset_versionstring
ruleset_phasestring
zone_idstring
fn getzoneruleset(ruleset_id: string, zone_id: string)
Get a zone ruleset
ArgumentTypeDescription
ruleset_idstring
zone_idstring
fn updatezoneruleset(ruleset_id: string, zone_id: string, description?: string, last_updated: string, name?: string, version: unknown, kind?: unknown, phase?: unknown, rules?: unknown)
Update a zone ruleset
ArgumentTypeDescription
ruleset_idstring
zone_idstring
description?stringAn informative description of the ruleset.
last_updatedstringThe timestamp of when the ruleset was last modified.
name?stringThe human-readable name of the ruleset.
versionunknown
kind?unknown
phase?unknown
rules?unknown
fn deletezoneruleset(ruleset_id: string, zone_id: string)
Delete a zone ruleset
ArgumentTypeDescription
ruleset_idstring
zone_idstring
fn createzonerulesetrule(ruleset_id: string, zone_id: string, position?: union)
Create a zone ruleset rule
ArgumentTypeDescription
ruleset_idstring
zone_idstring
position?union
fn updatezonerulesetrule(rule_id: string, ruleset_id: string, zone_id: string, position?: union)
Update a zone ruleset rule
ArgumentTypeDescription
rule_idstring
ruleset_idstring
zone_idstring
position?union
fn deletezonerulesetrule(rule_id: string, ruleset_id: string, zone_id: string)
Delete a zone ruleset rule
ArgumentTypeDescription
rule_idstring
ruleset_idstring
zone_idstring
fn listzonerulesetversions(ruleset_id: string, zone_id: string)
List a zone ruleset's versions
ArgumentTypeDescription
ruleset_idstring
zone_idstring
fn getzonerulesetversion(ruleset_version: string, ruleset_id: string, zone_id: string)
Get a zone ruleset version
ArgumentTypeDescription
ruleset_versionstring
ruleset_idstring
zone_idstring
fn deletezonerulesetversion(ruleset_version: string, ruleset_id: string, zone_id: string)
Delete a zone ruleset version
ArgumentTypeDescription
ruleset_versionstring
ruleset_idstring
zone_idstring
fn listzonerulesetversionrulesbytag(rule_tag: string, ruleset_version: string, ruleset_id: string, zone_id: string)
List a zone ruleset version's rules by tag
ArgumentTypeDescription
rule_tagstring
ruleset_versionstring
ruleset_idstring
zone_idstring

Resources

listaccountrulesets(infinite)— List account rulesets
createaccountruleset(infinite)— Create an account ruleset
getaccountentrypointruleset(infinite)— Get an account entry point ruleset
updateaccountentrypointruleset(infinite)— Update an account entry point ruleset
listaccountentrypointrulesetversions(infinite)— List an account entry point ruleset's versions
getaccountentrypointrulesetversion(infinite)— Get an account entry point ruleset version
getaccountruleset(infinite)— Get an account ruleset
updateaccountruleset(infinite)— Update an account ruleset
createaccountrulesetrule(infinite)— Create an account ruleset rule
updateaccountrulesetrule(infinite)— Update an account ruleset rule
listaccountrulesetversions(infinite)— List an account ruleset's versions
getaccountrulesetversion(infinite)— Get an account ruleset version
listaccountrulesetversionrulesbytag(infinite)— List an account ruleset version's rules by tag
listzonerulesets(infinite)— List zone rulesets
createzoneruleset(infinite)— Create a zone ruleset
getzoneentrypointruleset(infinite)— Get a zone entry point ruleset
updatezoneentrypointruleset(infinite)— Update a zone entry point ruleset
listzoneentrypointrulesetversions(infinite)— List a zone entry point ruleset's versions
getzoneentrypointrulesetversion(infinite)— Get a zone entry point ruleset version
getzoneruleset(infinite)— Get a zone ruleset
updatezoneruleset(infinite)— Update a zone ruleset
createzonerulesetrule(infinite)— Create a zone ruleset rule
updatezonerulesetrule(infinite)— Update a zone ruleset rule
listzonerulesetversions(infinite)— List a zone ruleset's versions
getzonerulesetversion(infinite)— Get a zone ruleset version
listzonerulesetversionrulesbytag(infinite)— List a zone ruleset version's rules by tag
04Previous Versions10
2026.09.17.2

2026.09.17.2

No changes to this extension's methods. Regenerated to refresh the shared _lib/api.ts helper library after PR #427 review fixes to cfApiPaginatedCursor (used by r2, kv, durable-objects, and workers-ai, but emitted into every extension's api.ts since it's part of the shared template).

2026.09.15.1

2026.09.15.1

Changed: Bump zod 4.4.3 → 4.6.5

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.

2026.08.28.2

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.

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

2026.08.21.2

Changed:

  • Errors raised when a Cloudflare API call fails now name the HTTP method and path that was attempted (e.g. Cloudflare API GET /accounts/.../rulesets/xxx 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.

No breaking changes.

2026.08.21.1

2026.08.21.1

Changed: Added .describe() and .min(1) to the identifier arguments used across most methods — zone_id, ruleset_id, ruleset_version, ruleset_phase, rule_id, and rule_tag — plus .describe() on the cursor/per_page pagination arguments. No behavioral changes.

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.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/rulesets with 32 methods covering the Cloudflare rulesets API surface.

05Stats
A
100 / 100
Downloads
0
Archive size
13.6 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