Portal Community

zone/get

Retrieve complete details for a specific Cloudflare zone by its Zone ID.

When to Use

Configuration

Connection

FieldTypeRequiredDescription
ApiTokenstringrequiredScoped Cloudflare API Token with Zone.Read permission. Store in BizFirst Credentials Manager.

Operation Fields

FieldTypeRequiredDescription
ZoneIdstringrequired32-character hexadecimal Zone ID. Find it in Cloudflare Dashboard → your domain → Overview, or via zone/list.

Sample Configuration

{
  "resource": "zone",
  "operation": "get",
  "connection": {
    "ApiToken": "{{ $credentials.cloudflare_readonly }}"
  },
  "ZoneId": "023e105f4ecef8ad9ca31a8372d0c353"
}

Validation Errors

CodeConditionResolution
MISSING_API_TOKENApiToken is empty or not configuredSet the ApiToken credential in the connection panel
MISSING_ZONE_IDZoneId field is emptyProvide a valid 32-character hex Zone ID
UNKNOWN_ERRORCloudflare returned 404 (zone not found) or another errorVerify the Zone ID is correct and the token has access to that zone

Output

Success Port

FieldTypeDescription
idstring32-character hex Zone ID
namestringApex domain name (e.g., example.com)
statusstringactive, pending, initializing, moved, or deleted
nameserversarrayCloudflare nameservers assigned to this zone
originalNameserversarrayNameservers at the registrar before Cloudflare delegation
planobjectCurrent plan — includes name (Free, Pro, Business, Enterprise)
typestringfull, partial, or secondary
activatedOnstringISO 8601 timestamp when zone became active
createdOnstringISO 8601 timestamp when zone was created
modifiedOnstringISO 8601 timestamp of last modification

Error Port

On failure, the error port receives an object with code (error code string) and message (human-readable description).

Sample Output

{
  "id": "023e105f4ecef8ad9ca31a8372d0c353",
  "name": "example.com",
  "status": "active",
  "nameservers": ["alice.ns.cloudflare.com", "bob.ns.cloudflare.com"],
  "originalNameservers": ["ns1.registrar.com", "ns2.registrar.com"],
  "plan": {
    "name": "Pro",
    "price": 20,
    "currency": "USD",
    "frequency": "monthly"
  },
  "type": "full",
  "activatedOn": "2024-01-15T10:30:00Z",
  "createdOn": "2024-01-14T09:00:00Z",
  "modifiedOn": "2025-03-10T14:22:00Z"
}

Expression Reference

ExpressionReturns
{{ $node.ZoneGet.output.id }}Zone ID string
{{ $node.ZoneGet.output.status }}Zone status string
{{ $node.ZoneGet.output.nameservers[0] }}First nameserver hostname
{{ $node.ZoneGet.output.plan.name }}Plan name (Free, Pro, Business, Enterprise)
{{ $node.ZoneGet.output.activatedOn }}Activation timestamp

Node Policies & GuardRails

PolicyDetail
Use Zone.Read scoped tokenThis is a read-only operation — do not use an Edit-scoped token unless it is shared with write operations
Store ApiToken in Credentials ManagerNever paste the token directly into configuration JSON
Validate Zone ID formatZone ID is exactly 32 hexadecimal characters — verify before using in downstream operations
Check status before writesBranch on status === "active" using an IfCondition node before any destructive downstream operation
Do not poll in tight loopsIf waiting for activation, use a Delay node between retries to stay within rate limits

Examples

Example 1: Gate Deployment on Zone Status

In a deployment workflow, call zone/get and add an IfCondition node: if status !== "active", route to a notification node and stop. Only proceed to DNS/cache operations when the zone is confirmed active.

Example 2: Capture Nameservers for Registrar Configuration

During tenant onboarding, call zone/get after zone creation. Extract nameservers[0] and nameservers[1] and send them to the customer via an Email node with instructions to update their registrar settings.

Example 3: Plan-Feature Guard

Before executing a cache/purgeByTag operation, call zone/get and check plan.name === "Enterprise". If the zone is not on Enterprise, route to an error handler that notifies the operator — cache tag purging requires Enterprise.