Cannot create new Partial CNAME zone via the Cloudflare API

For Workes & Pages, what is the name of the domain?

What is the error number?

1104

What is the error message?

Partial zone signup not allowed

What is the issue or error you’re encountering

Creating a new partial zone via API on buiness plan fails: Partial zone signup not allowed

What steps have you taken to resolve the issue?

Greetings,

I’m having a hard time creating a new Partial Zone on the Business plan via the Cloudflare API and have run out of leads while trying to discover WHY, and what I must do to unblock myself. Perhaps the community can help me understand what context I’m missing?

I have a zone hosted on Route53 and I want to send traffic from one of its subdomains (for one of our HTTP applications) through Cloudflare’s proxy / edge-network to utilize Cloudflare DDoS Protection for Web. I still need to keep Route53 as the authoritative name server. The Partial (CNAME) setup guide indicates that the Buiness plan should be sufficient to create the zone:

…so I’m trying to create a Partial zone on the Business plan.

However, my attempts to create the new partial zone reosurce via the Cloudflare API are failing with a HTTP Response status 400 (Bad Request) and indicating that “Partial zone signup not allowed”.

A curious wrinkle is that I can manually setup the zone via the Cloudflare Dashboard / Web UI.

Some more context:

My Account is “type: standard”

$ curl --silent https://api.cloudflare.com/client/v4/accounts \
  -H 'Content-Type: application/json' \
  -H "Authorization: Bearer xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  | jq .result[].type
"standard"

The API token I’m using has the following permissions on all accounts and zones:

  • Account - Account Settings - Read
  • Zone - Zone Settings - Edit
  • Zone - Zone - Edit
  • Zone - DNS - Edit

I’m automating this process via Terraform and below is a snippet of the plan from the terraform apply step:

Terraform will perform the following actions:

# cloudflare_zone.xxxxxxxx-com will be created
+ resource "cloudflare_zone" "xxxxxxxx-com" {
+ account_id = "********************************"
+ id = (known after apply)
+ jump_start = false
+ meta = (known after apply)
+ name_servers = (known after apply)
+ paused = false
+ plan = "business"
+ status = (known after apply)
+ type = "partial"
+ vanity_name_servers = (known after apply)
+ verification_key = (known after apply)
+ zone = "xxxxxxxx.com"
}

Plan: 1 to add, 0 to change, 0 to destroy.
cloudflare_zone.xxxxxxxx-com: Creating...

Error: error creating zone "xxxxxxxx.com": Partial zone signup not allowed (1104)

I’ve also confirmed this happens outside the context of Terraform via cURL:

$ curl --request POST \
  --url https://api.cloudflare.com/client/v4/zones \
  --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
  --header 'Content-Type: application/json' \
  --data "{
    \"account\": {
      \"id\": \"$CLOUDFLARE_ACCOUNT_ID\"
    },
    \"name\": \"xxxxxxxx.com\",
    \"type\": \"partial\"
  }"
{"success":false,"errors":[{"code":1104,"message":"Partial zone signup not allowed"}],"messages":[],"result":null}