Skip to main content

Cloudflare/turnstile

@webframp/cloudflare/turnstilev2026.09.15.1· 1d agoMODELS
01README

Cloudflare Turnstile — CAPTCHA-free challenges, site widgets

02Release Notes

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.

03Models1
@webframp/cloudflare/turnstilev2026.09.15.1cloudflare/turnstile.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(page?: number, per_page?: number, order?: enum, direction?: enum, filter?: string)
List Turnstile Widgets
ArgumentTypeDescription
page?number
per_page?number
order?enum
direction?enum
filter?stringFilter widgets by field using case-insensitive substring matching. Format: `field:value` Supported fields: - `name` - Filter by widget name (e.g., `filter=name:login-form`) - `sitekey` - Filter by sitekey (e.g., `filter=sitekey:0x4AAA`) Returns 400 Bad Request if the field is unsupported or format is invalid. An empty filter value returns all results.
fn get_create(page?: number, per_page?: number, order?: enum, direction?: enum, filter?: string, bot_fight_mode?: unknown, clearance_level?: unknown, domains: unknown, ephemeral_id?: unknown, mode: unknown, name: unknown, offlabel?: unknown, region?: unknown)
Create a Turnstile Widget
ArgumentTypeDescription
page?number
per_page?number
order?enum
direction?enum
filter?stringFilter widgets by field using case-insensitive substring matching. Format: `field:value` Supported fields: - `name` - Filter by widget name (e.g., `filter=name:login-form`) - `sitekey` - Filter by sitekey (e.g., `filter=sitekey:0x4AAA`) Returns 400 Bad Request if the field is unsupported or format is invalid. An empty filter value returns all results.
bot_fight_mode?unknown
clearance_level?unknown
domainsunknown
ephemeral_id?unknown
modeunknown
nameunknown
offlabel?unknown
region?unknown
fn get_get(sitekey: string)
Turnstile Widget Details
ArgumentTypeDescription
sitekeystring
fn get_update(sitekey: string, bot_fight_mode?: unknown, clearance_level?: unknown, domains: unknown, ephemeral_id?: unknown, mode: unknown, name: unknown, offlabel?: unknown, region?: unknown)
Update a Turnstile Widget
ArgumentTypeDescription
sitekeystring
bot_fight_mode?unknown
clearance_level?unknown
domainsunknown
ephemeral_id?unknown
modeunknown
nameunknown
offlabel?unknown
region?unknown
fn get_delete(sitekey: string)
Delete a Turnstile Widget
ArgumentTypeDescription
sitekeystring
fn get_rotate_secret(sitekey: string, invalidate_immediately?: unknown)
Rotate Secret for a Turnstile Widget
ArgumentTypeDescription
sitekeystring
invalidate_immediately?unknown

Resources

list(infinite)— List Turnstile Widgets
create(infinite)— Create a Turnstile Widget
get(infinite)— Turnstile Widget Details
update(infinite)— Update a Turnstile Widget
rotate_secret(infinite)— Rotate Secret for a Turnstile Widget
04Previous Versions8
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.

updated labels

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

2026.08.25.1

Changed: Updated labels for improved extension discoverability. Added cross-cutting category labels (security, observability, finops, infrastructure, networking, compliance, devops, ai, incident-response) where applicable.

updated labels

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

2026.08.21.1

Changed: Errors and validation now say what went wrong and where.

  • Cloudflare API failures (HTTP errors and success: false API responses) now name the HTTP method and path that was attempted, in addition to the original status/message. Previously the error read only Cloudflare API error: <message>, with no indication of which endpoint the method call was hitting — now it reads Cloudflare API request failed: GET /accounts/<account>/challenges/widgets/<sitekey>: <message>. This applies to every method on this model, since they all share the same request helper.
  • sitekey is now validated as non-empty before any request is made. Passing an empty string previously sent a request to a malformed URL and produced a confusing 404 from Cloudflare; it now fails fast with sitekey must not be empty.

Upgrade note: No method was added, removed, or renamed. Existing callers that always pass a non-empty sitekey see no behavioral change beyond clearer error text.

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

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