Skip to content
Start here

Enable Email Routing

client.emailRouting.dns.create(DNSCreateParams { zone_id, name } params, RequestOptionsoptions?): Settings { id, enabled, name, 5 more }
POST/zones/{zone_id}/email/routing/dns

Enable you Email Routing zone. Add and lock the necessary MX and SPF records.

Security

API Email + API Key

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

Example:X-Auth-Email: user@example.com

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

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
Accepted Permissions (at least one required)
Zone Settings Write
ParametersExpand Collapse
params: DNSCreateParams { zone_id, name }
zone_id: string

Path param: Identifier.

maxLength32
name?: string

Body param: Domain of your zone.

ReturnsExpand Collapse
Settings { id, enabled, name, 5 more }
id: string

Email Routing settings identifier.

maxLength32
enabled: true | false

State of the zone settings for Email Routing.

One of the following:
true
false
name: string

Domain of your zone.

created?: string

The date and time the settings have been created.

formatdate-time
modified?: string

The date and time the settings have been modified.

formatdate-time
skip_wizard?: true | false

Flag to check if the user skipped the configuration wizard.

One of the following:
true
false
status?: "ready" | "unconfigured" | "misconfigured" | 2 more

Show the state of your account, and the type or configuration error.

One of the following:
"ready"
"unconfigured"
"misconfigured"
"misconfigured/locked"
"unlocked"
Deprecatedtag?: string

Email Routing settings tag. (Deprecated, replaced by Email Routing settings identifier)

maxLength32

Enable Email Routing

import Cloudflare from 'cloudflare';

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

const settings = await client.emailRouting.dns.create({
  zone_id: '023e105f4ecef8ad9ca31a8372d0c353',
});

console.log(settings.id);
{
  "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": "75610dab9e69410a82cf7e400a09ecec",
    "enabled": true,
    "name": "example.net",
    "created": "2014-01-02T02:20:00Z",
    "modified": "2014-01-02T02:20:00Z",
    "skip_wizard": true,
    "status": "ready",
    "tag": "75610dab9e69410a82cf7e400a09ecec"
  }
}
Returns Examples
{
  "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": "75610dab9e69410a82cf7e400a09ecec",
    "enabled": true,
    "name": "example.net",
    "created": "2014-01-02T02:20:00Z",
    "modified": "2014-01-02T02:20:00Z",
    "skip_wizard": true,
    "status": "ready",
    "tag": "75610dab9e69410a82cf7e400a09ecec"
  }
}