Skip to main content

Cloudflare/email

@swamp/cloudflare/emailv2026.10.30.1· AGPL-3.0-or-later· 1d agoBEHAVIORS
01README

Cloudflare email infrastructure models

02Release Notes
  • Updated: domains
03Behaviors6
@swamp/cloudflare/email/addressesv2026.10.23.1addresses.ts

Global Arguments

ArgumentTypeDescription
account_idstringCloudflare account ID
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
status?enumDestination address status. Non-admin callers may only set verified addresses back to unverified; setting to verified requires admin privileges.
email?stringThe contact email address of the user.
apiToken?stringCloudflare API token; overrides the CLOUDFLARE_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
fn create()
Create a Addresses
fn get(id: string)
Get a Addresses
ArgumentTypeDescription
idstringThe ID of the Addresses
fn lookup(allowMissing?: boolean)
Look up an existing Addresses by matching global argument values and import it into state
ArgumentTypeDescription
allowMissing?booleanSucceed and record found: false in lookupResult when nothing matches, instead of failing
fn adopt(id: string)
Import an existing Addresses by ID into state for management
ArgumentTypeDescription
idstringThe ID of the Addresses to import
fn update(identifier?: string)
Update Addresses attributes
ArgumentTypeDescription
identifier?stringTarget a specific Addresses by id (e.g. one discovered by list)
fn delete(id: string)
Delete the Addresses
ArgumentTypeDescription
idstringThe ID of the Addresses
fn sync(identifier?: string)
Sync Addresses state from Cloudflare
ArgumentTypeDescription
identifier?stringTarget a specific Addresses by id (e.g. one discovered by list)

Resources

state(infinite)— Addresses resource state
lookupResult(infinite)— Outcome of the most recent lookup
@swamp/cloudflare/email/domainsv2026.10.30.1domains.ts

Global Arguments

ArgumentTypeDescription
account_idstringCloudflare account ID
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
client_reference?stringOpaque reference for one customer enrollment. Reuse it with the same hostname to retry Create safely. Distinct references can enroll the same unverified hostname; a hostname alone never identifies a customer.
hostname?stringExact external hostname to enroll. After ASCII conversion, the assigned Return-Path hostname must be at most 201 characters (191 for the current cf-bounce. prefix). Wildcards, provider-zone names, and hostnames inside an existing Cloudflare-managed DNS zone are rejected.
apiToken?stringCloudflare API token; overrides the CLOUDFLARE_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
apiKey?stringCloudflare API key for the legacy key+email auth path; overrides the CLOUDFLARE_API_KEY environment variable. Wire with a vault.get(...) expression. Requires email.
email?stringCloudflare account email for the legacy key+email auth path; overrides the CLOUDFLARE_EMAIL environment variable. Requires apiKey.
fn create()
Create a Domains
fn get(id: string)
Get a Domains
ArgumentTypeDescription
idstringThe ID of the Domains
fn lookup(allowMissing?: boolean)
Look up an existing Domains by matching global argument values and import it into state
ArgumentTypeDescription
allowMissing?booleanSucceed and record found: false in lookupResult when nothing matches, instead of failing
fn adopt(id: string)
Import an existing Domains by ID into state for management
ArgumentTypeDescription
idstringThe ID of the Domains to import
fn delete(id: string)
Delete the Domains
ArgumentTypeDescription
idstringThe ID of the Domains
fn sync(identifier?: string)
Sync Domains state from Cloudflare
ArgumentTypeDescription
identifier?stringTarget a specific Domains by id (e.g. one discovered by list)

Resources

state(infinite)— Domains resource state
lookupResult(infinite)— Outcome of the most recent lookup
@swamp/cloudflare/email/rulesv2026.10.23.1rules.ts

Global Arguments

ArgumentTypeDescription
zone_idstringCloudflare zone ID
actions?arrayList actions patterns.
enabled?booleanRouting rule status.
matchers?arrayMatching patterns to forward to your actions.
name?stringRouting rule name.
owner_worker_tag?stringPublic tag (script_tag) of the Worker that owns this rule. Required when\n`source` is `wrangler`.\n
priority?numberPriority of the routing rule.
source?enumWho manages the rule. `api` covers dashboard, generic API, and Terraform;\n`wrangler` means the rule is managed by a Worker's wrangler.jsonc. Defaults\nto `api` when omitted on write.\n
apiToken?stringCloudflare API token; overrides the CLOUDFLARE_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
apiKey?stringCloudflare API key for the legacy key+email auth path; overrides the CLOUDFLARE_API_KEY environment variable. Wire with a vault.get(...) expression. Requires email.
email?stringCloudflare account email for the legacy key+email auth path; overrides the CLOUDFLARE_EMAIL environment variable. Requires apiKey.
fn create()
Create a Rules
fn get(id: string)
Get a Rules
ArgumentTypeDescription
idstringThe ID of the Rules
fn lookup(allowMissing?: boolean)
Look up an existing Rules by matching global argument values and import it into state
ArgumentTypeDescription
allowMissing?booleanSucceed and record found: false in lookupResult when nothing matches, instead of failing
fn adopt(id: string)
Import an existing Rules by ID into state for management
ArgumentTypeDescription
idstringThe ID of the Rules to import
fn update(identifier?: string)
Update Rules attributes
ArgumentTypeDescription
identifier?stringTarget a specific Rules by id (e.g. one discovered by list)
fn delete(id: string)
Delete the Rules
ArgumentTypeDescription
idstringThe ID of the Rules
fn sync(identifier?: string)
Sync Rules state from Cloudflare
ArgumentTypeDescription
identifier?stringTarget a specific Rules by id (e.g. one discovered by list)

Resources

state(infinite)— Rules resource state
lookupResult(infinite)— Outcome of the most recent lookup
@swamp/cloudflare/email/subdomainsv2026.10.27.1subdomains.ts

Global Arguments

ArgumentTypeDescription
zone_idstringCloudflare zone ID
drop_suppressed_recipients?booleanWhether a send request that includes a recipient suppressed on\nthis subdomain drops that recipient and still delivers to the\nrest, instead of failing the entire request.\n
preview_enabled?booleanWhether sent messages from this subdomain can be previewed in the activity log.
name?stringThe domain name within the zone. A wildcard is allowed only as the complete leftmost label (`*.example.com`) and requires the account wildcard Email Sending entitlement. The derived Return-Path hostname, including its bounce prefix, must be at most 201 characters after ASCII conversion; wildcards use the base hostname.
apiToken?stringCloudflare API token; overrides the CLOUDFLARE_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
apiKey?stringCloudflare API key for the legacy key+email auth path; overrides the CLOUDFLARE_API_KEY environment variable. Wire with a vault.get(...) expression. Requires email.
email?stringCloudflare account email for the legacy key+email auth path; overrides the CLOUDFLARE_EMAIL environment variable. Requires apiKey.
fn create()
Create a Subdomains
fn get(id: string)
Get a Subdomains
ArgumentTypeDescription
idstringThe ID of the Subdomains
fn lookup(allowMissing?: boolean)
Look up an existing Subdomains by matching global argument values and import it into state
ArgumentTypeDescription
allowMissing?booleanSucceed and record found: false in lookupResult when nothing matches, instead of failing
fn adopt(id: string)
Import an existing Subdomains by ID into state for management
ArgumentTypeDescription
idstringThe ID of the Subdomains to import
fn update(identifier?: string)
Update Subdomains attributes
ArgumentTypeDescription
identifier?stringTarget a specific Subdomains by id (e.g. one discovered by list)
fn delete(id: string)
Delete the Subdomains
ArgumentTypeDescription
idstringThe ID of the Subdomains
fn sync(identifier?: string)
Sync Subdomains state from Cloudflare
ArgumentTypeDescription
identifier?stringTarget a specific Subdomains by id (e.g. one discovered by list)

Resources

state(infinite)— Subdomains resource state
lookupResult(infinite)— Outcome of the most recent lookup
@swamp/cloudflare/email/suppressionv2026.10.23.1suppression.ts

Global Arguments

ArgumentTypeDescription
account_id?stringCloudflare account ID (provide account_id or zone_id)
zone_id?stringCloudflare zone ID (provide account_id or zone_id)
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
email?string
expires_at?string
apiToken?stringCloudflare API token; overrides the CLOUDFLARE_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
fn create()
Create a Suppression
fn get(id: string)
Get a Suppression
ArgumentTypeDescription
idstringThe ID of the Suppression
fn lookup(allowMissing?: boolean)
Look up an existing Suppression by matching global argument values and import it into state
ArgumentTypeDescription
allowMissing?booleanSucceed and record found: false in lookupResult when nothing matches, instead of failing
fn adopt(id: string)
Import an existing Suppression by ID into state for management
ArgumentTypeDescription
idstringThe ID of the Suppression to import
fn delete(id: string)
Delete the Suppression
ArgumentTypeDescription
idstringThe ID of the Suppression
fn sync(identifier?: string)
Sync Suppression state from Cloudflare
ArgumentTypeDescription
identifier?stringTarget a specific Suppression by id (e.g. one discovered by list)

Resources

state(infinite)— Suppression resource state
lookupResult(infinite)— Outcome of the most recent lookup
@swamp/cloudflare/email/suppressionsv2026.10.23.1suppressions.ts

Global Arguments

ArgumentTypeDescription
account_idstringCloudflare account ID
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
expires_at?stringExpiration timestamp for the suppression. Omit or set to null for a permanent suppression that never expires.
note?stringAdvisory note for this suppression. Not enforced or validated beyond length.
scope?object
email?stringThe email address to suppress.
apiToken?stringCloudflare API token; overrides the CLOUDFLARE_API_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
fn create()
Create a Suppressions
fn get(id: string)
Get a Suppressions
ArgumentTypeDescription
idstringThe ID of the Suppressions
fn lookup(allowMissing?: boolean)
Look up an existing Suppressions by matching global argument values and import it into state
ArgumentTypeDescription
allowMissing?booleanSucceed and record found: false in lookupResult when nothing matches, instead of failing
fn adopt(id: string)
Import an existing Suppressions by ID into state for management
ArgumentTypeDescription
idstringThe ID of the Suppressions to import
fn update(identifier?: string)
Update Suppressions attributes
ArgumentTypeDescription
identifier?stringTarget a specific Suppressions by id (e.g. one discovered by list)
fn delete(id: string)
Delete the Suppressions
ArgumentTypeDescription
idstringThe ID of the Suppressions
fn sync(identifier?: string)
Sync Suppressions state from Cloudflare
ArgumentTypeDescription
identifier?stringTarget a specific Suppressions by id (e.g. one discovered by list)

Resources

state(infinite)— Suppressions resource state
lookupResult(infinite)— Outcome of the most recent lookup
04Previous Versions19
2026.10.27.1AGPL-3.0-or-later
  • Updated: subdomains
2026.10.23.2AGPL-3.0-or-later
  • Updated: domains
  • Updated: addresses
  • Updated: rules
  • Updated: suppression
  • Updated: subdomains
  • Updated: suppressions

Added 1 behaviors

2026.10.20.1AGPL-3.0-or-later
  • Updated: addresses
  • Updated: rules
  • Updated: suppression
  • Updated: subdomains
  • Updated: suppressions

Modified 5 behaviors

2026.10.16.1AGPL-3.0-or-later(was none)
2026.10.13.1
  • Updated: addresses
  • Updated: rules
  • Updated: suppression
  • Updated: subdomains
  • Updated: suppressions
2026.09.29.2
  • Updated: rules
2026.09.29.1
  • Updated: addresses
  • Updated: rules
  • Updated: suppression
  • Updated: subdomains
  • Updated: suppressions
2026.09.26.1
  • Updated: suppressions
2026.09.15.1
  • Updated: suppressions
2026.08.26.1
  • Updated: subdomains
2026.08.25.2
  • Updated: addresses
  • Updated: rules
  • Updated: subdomains
  • Added: suppressions

Added 1, modified 2 behaviors

2026.08.25.1
  • Updated: addresses
  • Updated: rules
  • Updated: subdomains

Removed 1, modified 2 behaviors

2026.08.15.1
  • Updated: subdomains
2026.08.11.1
  • Updated: suppressions

Modified 1 behaviors

2026.07.24.1
  • Updated: suppression
2026.07.21.1
  • Updated: addresses
  • Updated: rules
  • Updated: suppression
  • Updated: subdomains
  • Updated: suppressions
2026.07.18.2

Modified 5 behaviors

2026.07.14.1
  • Updated: rules
  • Updated: subdomains
  • Added: suppressions

Added 1, modified 1 behaviors

2026.06.24.1
  • Updated: addresses

Modified 1 behaviors

05Stats
A
100 / 100
Downloads
26
Archive size
23.8 KB
Verified by Swamp
  • 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
  • Docs keep secrets in a vault1/1earned
  • Has description1/1earned
  • Platform support declared (or universal)2/2earned
  • License2/2earned
  • Verified public repository2/2earned
06Platforms
07Labels