Skip to content
Start here

Apply Email Routing settings

PUT/zones/{zone_id}/email/routing

Apply the provided settings to your Email Routing zone. Omitted settings retain their current values, as with PATCH.

Security
API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
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
Path ParametersExpand Collapse
zone_id: string

Identifier.

maxLength32
Body ParametersJSONExpand Collapse
enabled: optional true or false

State of your zone Email Routing settings. No-op on this endpoint - use POST/DELETE /zones/{zone_id}/email/routing/dns.

One of the following:
true
false
skip_wizard: optional true or false

Flag to check if the user skipped the configuration wizard.

One of the following:
true
false
support_subaddress: optional true or false

Whether subaddressing (plus-addressing) is honored when matching incoming mail against routing rules.

One of the following:
true
false
ReturnsExpand Collapse
errors: array of object { code, message, documentation_url, source }
code: number
minimum1000
message: string
documentation_url: optional string
source: optional object { pointer }
pointer: optional string
messages: array of object { code, message, documentation_url, source }
code: number
minimum1000
message: string
documentation_url: optional string
source: optional object { pointer }
pointer: optional string
success: true

Whether the API call was successful.

result: optional Settings { id, enabled, name, 6 more }
id: string

Email Routing settings identifier.

maxLength32
enabled: true or false

State of the zone settings for Email Routing.

One of the following:
true
false
name: string

Domain of your zone.

created: optional string

The date and time the settings have been created.

formatdate-time
modified: optional string

The date and time the settings have been modified.

formatdate-time
skip_wizard: optional true or false

Flag to check if the user skipped the configuration wizard.

One of the following:
true
false
status: optional "ready" or "unconfigured" or "misconfigured" or 2 more

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

One of the following:
"ready"
"unconfigured"
"misconfigured"
"misconfigured/locked"
"unlocked"
support_subaddress: optional true or false

Whether subaddressing (plus-addressing) is honored when matching incoming mail against routing rules.

One of the following:
true
false
Deprecatedtag: optional string

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

maxLength32

Apply Email Routing settings

curl https://api.cloudflare.com/client/v4/zones/$ZONE_ID/email/routing \
    -X PUT \
    -H 'Content-Type: application/json' \
    -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
    -d '{
          "enabled": true,
          "skip_wizard": true,
          "support_subaddress": true
        }'
{
  "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",
    "support_subaddress": true,
    "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",
    "support_subaddress": true,
    "tag": "75610dab9e69410a82cf7e400a09ecec"
  }
}