---
title: Create Zone
---

[Skip to content](#_top)

[API Reference](https://developers.cloudflare.com/api/typescript)

[Zones](https://developers.cloudflare.com/api/typescript/resources/zones)

Copy Markdown

Open in **Claude**Open in **ChatGPT**Open in **Cursor**

---

**Copy Markdown****View as Markdown**

# Create Zone

client.zones.create(ZoneCreateParams {account, name, type } body, RequestOptionsoptions?): [Zone](<https://developers.cloudflare.com/api/typescript/resources/zones#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)>) {id, account, activated\_on, 20 more }

POST/zones

Creates a new zone (domain) in your Cloudflare account.

The zone is created in a pending state and must be activated by updating your domain’s nameservers to point to Cloudflare, or by completing the verification process for partial (CNAME) setups.

##### Security

<details>

<summary>API Token</summary>



The preferred authorization scheme for interacting with the Cloudflare API. <a href="https://developers.cloudflare.com/fundamentals/api/get-started/create-token/">Create a token</a>.

**Example:**<code>Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY</code>

</details>

<details>

<summary>API Email + API Key</summary>



The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

**Example:**<code>X-Auth-Email: user@example.com</code>

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

**Example:**<code>X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194</code>

</details>

##### Accepted Permissions (at least one required)

`Zone Zone Edit``Zone DNS Edit`

##### ParametersExpand Collapse

<details>

<summary>

body: ZoneCreateParams {account, name, type }

</summary>

<details>

<summary>

account: <a href="https://developers.cloudflare.com/api/typescript/resources/zones/methods/create#(resource)%20zones%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20account%20%3E%20(schema)">Account</a>

</summary>

id?: string

Identifier

maxLength32

<a href="#(resource)%20zones%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20account%20%3E%20(schema)%20%3E%20(property)%20id">Link to this property</a>

</details>

<a href="#(resource)%20zones%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20account">Link to this property</a>

name: string

The domain name. Per <a href="https://datatracker.ietf.org/doc/html/rfc1035#section-2.3.4">RFC 1035</a> the overall zone name can be up to 253 characters, with each segment (“label”) not exceeding 63 characters.

maxLength253

<a href="#(resource)%20zones%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20name">Link to this property</a>

<details>

<summary>

type?: <a href="https://developers.cloudflare.com/api/typescript/resources/zones#(resource)%20zones%20%3E%20(model)%20type%20%3E%20(schema)">Type</a>

A full zone implies that DNS is hosted with Cloudflare. A partial zone is typically a partner-hosted zone or a CNAME setup.

</summary>

One of the following:

"full"

<a href="#(resource)%20zones%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20type%20%2B%20(resource)%20zones%20%3E%20(model)%20type%20%3E%20(schema)%20%3E%20(member)%200">Link to this property</a>

"partial"

<a href="#(resource)%20zones%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20type%20%2B%20(resource)%20zones%20%3E%20(model)%20type%20%3E%20(schema)%20%3E%20(member)%201">Link to this property</a>

"secondary"

<a href="#(resource)%20zones%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20type%20%2B%20(resource)%20zones%20%3E%20(model)%20type%20%3E%20(schema)%20%3E%20(member)%202">Link to this property</a>

"internal"

<a href="#(resource)%20zones%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20type%20%2B%20(resource)%20zones%20%3E%20(model)%20type%20%3E%20(schema)%20%3E%20(member)%203">Link to this property</a>

</details>

<a href="#(resource)%20zones%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20type">Link to this property</a>

</details>

[Link to this property](<#(resource)%20zones%20%3E%20(method)%20create%20%3E%20(params)%20default>)

##### ReturnsExpand Collapse

<details>

<summary>

Zone {id, account, activated\_on, 20 more }

</summary>

id: string

Identifier

maxLength32

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20id">Link to this property</a>

<details>

<summary>

account: Account {id, name }

The account the zone belongs to.

</summary>

id?: string

Identifier

maxLength32

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20account%20%3E%20(property)%20id">Link to this property</a>

name?: string

The name of the account.

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20account%20%3E%20(property)%20name">Link to this property</a>

</details>

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20account">Link to this property</a>

activated\_on: string| null

The last time proof of ownership was detected and the zone was made active.

formatdate-time

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20activated_on">Link to this property</a>

created\_on: string

When the zone was created.

formatdate-time

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20created_on">Link to this property</a>

development\_mode: number

The interval (in seconds) from when development mode expires (positive integer) or last expired (negative integer) for the domain. If development mode has never been enabled, this value is 0.

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20development_mode">Link to this property</a>

<details>

<summary>

meta: Meta {cdn\_only, custom\_certificate\_quota, dns\_only, 4 more }

Metadata about the zone.

</summary>

cdn\_only?: boolean

The zone is only configured for CDN.

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20meta%20%3E%20(property)%20cdn_only">Link to this property</a>

custom\_certificate\_quota?: number

Number of Custom Certificates the zone can have.

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20meta%20%3E%20(property)%20custom_certificate_quota">Link to this property</a>

dns\_only?: boolean

The zone is only configured for DNS.

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20meta%20%3E%20(property)%20dns_only">Link to this property</a>

foundation\_dns?: boolean

The zone is setup with Foundation DNS.

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20meta%20%3E%20(property)%20foundation_dns">Link to this property</a>

page\_rule\_quota?: number

Number of Page Rules a zone can have.

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20meta%20%3E%20(property)%20page_rule_quota">Link to this property</a>

phishing\_detected?: boolean

The zone has been flagged for phishing.

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20meta%20%3E%20(property)%20phishing_detected">Link to this property</a>

step?: number

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20meta%20%3E%20(property)%20step">Link to this property</a>

</details>

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20meta">Link to this property</a>

modified\_on: string

When the zone was last modified.

formatdate-time

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20modified_on">Link to this property</a>

name: string

The domain name. Per <a href="https://datatracker.ietf.org/doc/html/rfc1035#section-2.3.4">RFC 1035</a> the overall zone name can be up to 253 characters, with each segment (“label”) not exceeding 63 characters.

maxLength253

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20name">Link to this property</a>

name\_servers: Array&lt;string&gt;

The name servers Cloudflare assigns to a zone.

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20name_servers">Link to this property</a>

original\_dnshost: string| null

DNS host at the time of switching to Cloudflare.

maxLength50

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20original_dnshost">Link to this property</a>

original\_name\_servers: Array&lt;string&gt;| null

Original name servers before moving to Cloudflare.

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20original_name_servers">Link to this property</a>

original\_registrar: string| null

Registrar for the domain at the time of switching to Cloudflare.

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20original_registrar">Link to this property</a>

<details>

<summary>

owner: Owner {id, name, type }

The owner of the zone.

</summary>

id?: string

Identifier

maxLength32

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20owner%20%3E%20(property)%20id">Link to this property</a>

name?: string

Name of the owner.

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20owner%20%3E%20(property)%20name">Link to this property</a>

type?: string

The type of owner.

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20owner%20%3E%20(property)%20type">Link to this property</a>

</details>

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20owner">Link to this property</a>

<details>

<summary>

Deprecatedplan: Plan {id, can\_subscribe, currency, 7 more }

Please use the <code>/zones/{zone_id}/subscription</code> API to update a zone’s plan. Changing this value will create/cancel associated subscriptions. To view available plans for this zone, see <a href="https://developers.cloudflare.com/api/resources/zones/subresources/plans/">Zone Plans</a>.

A Zones subscription information.

</summary>

id?: string

Identifier

maxLength32

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20plan%20%3E%20(property)%20id">Link to this property</a>

can\_subscribe?: boolean

States if the subscription can be activated.

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20plan%20%3E%20(property)%20can_subscribe">Link to this property</a>

currency?: string

The denomination of the customer.

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20plan%20%3E%20(property)%20currency">Link to this property</a>

externally\_managed?: boolean

If this Zone is managed by another company.

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20plan%20%3E%20(property)%20externally_managed">Link to this property</a>

frequency?: string

How often the customer is billed.

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20plan%20%3E%20(property)%20frequency">Link to this property</a>

is\_subscribed?: boolean

States if the subscription active.

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20plan%20%3E%20(property)%20is_subscribed">Link to this property</a>

legacy\_discount?: boolean

If the legacy discount applies to this Zone.

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20plan%20%3E%20(property)%20legacy_discount">Link to this property</a>

legacy\_id?: string

The legacy name of the plan.

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20plan%20%3E%20(property)%20legacy_id">Link to this property</a>

name?: string

Name of the owner.

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20plan%20%3E%20(property)%20name">Link to this property</a>

price?: number

How much the customer is paying.

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20plan%20%3E%20(property)%20price">Link to this property</a>

</details>

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20plan">Link to this property</a>

cname\_suffix?: string

Allows the customer to use a custom apex. *Tenants Only Configuration*.

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20cname_suffix">Link to this property</a>

paused?: boolean

Indicates whether the zone is only using Cloudflare DNS services. A true value means the zone will not receive security or performance benefits.

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20paused">Link to this property</a>

Deprecatedpermissions?: Array&lt;string&gt;

This has been replaced by Account memberships.

Legacy permissions based on legacy user membership information.

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20permissions">Link to this property</a>

<details>

<summary>

status?: "initializing"| "pending"| "active"| "moved"

The zone status on Cloudflare.

</summary>

One of the following:

"initializing"

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20status%20%3E%20(member)%200">Link to this property</a>

"pending"

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20status%20%3E%20(member)%201">Link to this property</a>

"active"

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20status%20%3E%20(member)%202">Link to this property</a>

"moved"

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20status%20%3E%20(member)%203">Link to this property</a>

</details>

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20status">Link to this property</a>

<details>

<summary>

tenant?: Tenant {id, name }

The root organizational unit that this zone belongs to (such as a tenant or organization).

</summary>

id?: string

Identifier

maxLength32

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20tenant%20%3E%20(property)%20id">Link to this property</a>

name?: string

The name of the Tenant account.

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20tenant%20%3E%20(property)%20name">Link to this property</a>

</details>

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20tenant">Link to this property</a>

<details>

<summary>

tenant\_unit?: TenantUnit {id }

The immediate parent organizational unit that this zone belongs to (such as under a tenant or sub-organization).

</summary>

id?: string

Identifier

maxLength32

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20tenant_unit%20%3E%20(property)%20id">Link to this property</a>

</details>

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20tenant_unit">Link to this property</a>

<details>

<summary>

type?: <a href="https://developers.cloudflare.com/api/typescript/resources/zones#(resource)%20zones%20%3E%20(model)%20type%20%3E%20(schema)">Type</a>

A full zone implies that DNS is hosted with Cloudflare. A partial zone is typically a partner-hosted zone or a CNAME setup.

</summary>

One of the following:

"full"

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20type%20%2B%20(resource)%20zones%20%3E%20(model)%20type%20%3E%20(schema)%20%3E%20(member)%200">Link to this property</a>

"partial"

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20type%20%2B%20(resource)%20zones%20%3E%20(model)%20type%20%3E%20(schema)%20%3E%20(member)%201">Link to this property</a>

"secondary"

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20type%20%2B%20(resource)%20zones%20%3E%20(model)%20type%20%3E%20(schema)%20%3E%20(member)%202">Link to this property</a>

"internal"

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20type%20%2B%20(resource)%20zones%20%3E%20(model)%20type%20%3E%20(schema)%20%3E%20(member)%203">Link to this property</a>

</details>

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20type">Link to this property</a>

vanity\_name\_servers?: Array&lt;string&gt;

An array of domains used for custom name servers. This is only available for Business and Enterprise plans.

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20vanity_name_servers">Link to this property</a>

verification\_key?: string

Verification key for partial zone setup.

<a href="#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)%20%3E%20(property)%20verification_key">Link to this property</a>

</details>

[Link to this property](<#(resource)%20zones%20%3E%20(model)%20zone%20%3E%20(schema)>)

### Create Zone

TypeScript

HTTPTypeScriptPythonGoTerraform

```
import Cloudflare from 'cloudflare';

const client = new Cloudflare({
  apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted
});

const zone = await client.zones.create({
  account: {},
  name: 'example.com',
});

console.log(zone.id);
```

200 example

```
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "success": true,
  "result": {
    "id": "023e105f4ecef8ad9ca31a8372d0c353",
    "account": {
      "id": "023e105f4ecef8ad9ca31a8372d0c353",
      "name": "Example Account Name"
    },
    "activated_on": "2014-01-02T00:01:00.12345Z",
    "created_on": "2014-01-01T05:20:00.12345Z",
    "development_mode": 7200,
    "meta": {
      "cdn_only": true,
      "custom_certificate_quota": 1,
      "dns_only": true,
      "foundation_dns": true,
      "page_rule_quota": 100,
      "phishing_detected": false,
      "step": 2
    },
    "modified_on": "2014-01-01T05:20:00.12345Z",
    "name": "example.com",
    "name_servers": [
      "bob.ns.cloudflare.com",
      "lola.ns.cloudflare.com"
    ],
    "original_dnshost": "NameCheap",
    "original_name_servers": [
      "ns1.originaldnshost.com",
      "ns2.originaldnshost.com"
    ],
    "original_registrar": "GoDaddy",
    "owner": {
      "id": "023e105f4ecef8ad9ca31a8372d0c353",
      "name": "Example Org",
      "type": "organization"
    },
    "plan": {
      "id": "023e105f4ecef8ad9ca31a8372d0c353",
      "can_subscribe": false,
      "currency": "USD",
      "externally_managed": false,
      "frequency": "monthly",
      "is_subscribed": false,
      "legacy_discount": false,
      "legacy_id": "free",
      "name": "Example Org",
      "price": 10.99
    },
    "cname_suffix": "cdn.cloudflare.com",
    "paused": true,
    "permissions": [
      "#worker:read"
    ],
    "status": "active",
    "tenant": {
      "id": "023e105f4ecef8ad9ca31a8372d0c353",
      "name": "Example Account Name"
    },
    "tenant_unit": {
      "id": "023e105f4ecef8ad9ca31a8372d0c353"
    },
    "type": "full",
    "vanity_name_servers": [
      "ns1.example.com",
      "ns2.example.com"
    ],
    "verification_key": "284344499-1084221259"
  }
}
```

##### Returns Examples

200 example

```
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "success": true,
  "result": {
    "id": "023e105f4ecef8ad9ca31a8372d0c353",
    "account": {
      "id": "023e105f4ecef8ad9ca31a8372d0c353",
      "name": "Example Account Name"
    },
    "activated_on": "2014-01-02T00:01:00.12345Z",
    "created_on": "2014-01-01T05:20:00.12345Z",
    "development_mode": 7200,
    "meta": {
      "cdn_only": true,
      "custom_certificate_quota": 1,
      "dns_only": true,
      "foundation_dns": true,
      "page_rule_quota": 100,
      "phishing_detected": false,
      "step": 2
    },
    "modified_on": "2014-01-01T05:20:00.12345Z",
    "name": "example.com",
    "name_servers": [
      "bob.ns.cloudflare.com",
      "lola.ns.cloudflare.com"
    ],
    "original_dnshost": "NameCheap",
    "original_name_servers": [
      "ns1.originaldnshost.com",
      "ns2.originaldnshost.com"
    ],
    "original_registrar": "GoDaddy",
    "owner": {
      "id": "023e105f4ecef8ad9ca31a8372d0c353",
      "name": "Example Org",
      "type": "organization"
    },
    "plan": {
      "id": "023e105f4ecef8ad9ca31a8372d0c353",
      "can_subscribe": false,
      "currency": "USD",
      "externally_managed": false,
      "frequency": "monthly",
      "is_subscribed": false,
      "legacy_discount": false,
      "legacy_id": "free",
      "name": "Example Org",
      "price": 10.99
    },
    "cname_suffix": "cdn.cloudflare.com",
    "paused": true,
    "permissions": [
      "#worker:read"
    ],
    "status": "active",
    "tenant": {
      "id": "023e105f4ecef8ad9ca31a8372d0c353",
      "name": "Example Account Name"
    },
    "tenant_unit": {
      "id": "023e105f4ecef8ad9ca31a8372d0c353"
    },
    "type": "full",
    "vanity_name_servers": [
      "ns1.example.com",
      "ns2.example.com"
    ],
    "verification_key": "284344499-1084221259"
  }
}
```