Skip to content
Start here

Email Routing

Get Email Routing settings
GET/zones/{zone_id}/email/routing
Disable Email Routing
Deprecated
POST/zones/{zone_id}/email/routing/disable
Enable Email Routing
Deprecated
POST/zones/{zone_id}/email/routing/enable
ModelsExpand Collapse
Settings { id, enabled, name, 5 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"
Deprecatedtag: optional string

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

maxLength32

Email RoutingDNS

Email Routing - DNS settings
GET/zones/{zone_id}/email/routing/dns
Enable Email Routing
POST/zones/{zone_id}/email/routing/dns
Unlock Email Routing
PATCH/zones/{zone_id}/email/routing/dns
Disable Email Routing
DELETE/zones/{zone_id}/email/routing/dns
ModelsExpand Collapse
DNSRecord { content, name, priority, 2 more }

List of records needed to enable an Email Routing zone.

content: optional string

DNS record content.

name: optional string

DNS record name (or @ for the zone apex).

maxLength255
priority: optional number

Required for MX, SRV and URI records. Unused by other record types. Records with lower priorities are preferred.

maximum65535
minimum0
ttl: optional number or 1

Time to live, in seconds, of the DNS record. Must be between 60 and 86400, or 1 for ‘automatic’.

One of the following:
number
1

Time to live, in seconds, of the DNS record. Must be between 60 and 86400, or 1 for ‘automatic’.

type: optional "A" or "AAAA" or "CNAME" or 15 more

DNS record type.

One of the following:
"A"
"AAAA"
"CNAME"
"HTTPS"
"TXT"
"SRV"
"LOC"
"MX"
"NS"
"CERT"
"DNSKEY"
"DS"
"NAPTR"
"SMIMEA"
"SSHFP"
"SVCB"
"TLSA"
"URI"
DNSGetResponse = { errors, messages, success, 2 more } or { errors, messages, success, 2 more }
One of the following:
EmailEmailRoutingDNSQueryResponse { errors, messages, success, 2 more }
errors: array of { code, message, documentation_url, source }
code: number
minimum1000
message: string
documentation_url: optional string
source: optional { pointer }
pointer: optional string
messages: array of { code, message, documentation_url, source }
code: number
minimum1000
message: string
documentation_url: optional string
source: optional { pointer }
pointer: optional string
success: true

Whether the API call was successful.

result: optional { errors, record }
errors: optional array of { code, missing }
code: optional string
missing: optional DNSRecord { content, name, priority, 2 more }

List of records needed to enable an Email Routing zone.

record: optional array of DNSRecord { content, name, priority, 2 more }
content: optional string

DNS record content.

name: optional string

DNS record name (or @ for the zone apex).

maxLength255
priority: optional number

Required for MX, SRV and URI records. Unused by other record types. Records with lower priorities are preferred.

maximum65535
minimum0
ttl: optional number or 1

Time to live, in seconds, of the DNS record. Must be between 60 and 86400, or 1 for ‘automatic’.

One of the following:
number
1

Time to live, in seconds, of the DNS record. Must be between 60 and 86400, or 1 for ‘automatic’.

type: optional "A" or "AAAA" or "CNAME" or 15 more

DNS record type.

One of the following:
"A"
"AAAA"
"CNAME"
"HTTPS"
"TXT"
"SRV"
"LOC"
"MX"
"NS"
"CERT"
"DNSKEY"
"DS"
"NAPTR"
"SMIMEA"
"SSHFP"
"SVCB"
"TLSA"
"URI"
result_info: optional { count, page, per_page, 2 more }
count: optional number

Total number of results for the requested service.

page: optional number

Current page within paginated list of results.

per_page: optional number

Number of results per page of results.

total_count: optional number

Total results available without any search parameters.

total_pages: optional number

The number of total pages in the entire result set.

EmailDNSSettingsResponseCollection { errors, messages, success, 2 more }
errors: array of { code, message, documentation_url, source }
code: number
minimum1000
message: string
documentation_url: optional string
source: optional { pointer }
pointer: optional string
messages: array of { code, message, documentation_url, source }
code: number
minimum1000
message: string
documentation_url: optional string
source: optional { pointer }
pointer: optional string
success: true

Whether the API call was successful.

result: optional array of DNSRecord { content, name, priority, 2 more }
content: optional string

DNS record content.

name: optional string

DNS record name (or @ for the zone apex).

maxLength255
priority: optional number

Required for MX, SRV and URI records. Unused by other record types. Records with lower priorities are preferred.

maximum65535
minimum0
ttl: optional number or 1

Time to live, in seconds, of the DNS record. Must be between 60 and 86400, or 1 for ‘automatic’.

One of the following:
number
1

Time to live, in seconds, of the DNS record. Must be between 60 and 86400, or 1 for ‘automatic’.

type: optional "A" or "AAAA" or "CNAME" or 15 more

DNS record type.

One of the following:
"A"
"AAAA"
"CNAME"
"HTTPS"
"TXT"
"SRV"
"LOC"
"MX"
"NS"
"CERT"
"DNSKEY"
"DS"
"NAPTR"
"SMIMEA"
"SSHFP"
"SVCB"
"TLSA"
"URI"
result_info: optional { count, page, per_page, 2 more }
count: optional number

Total number of results for the requested service.

page: optional number

Current page within paginated list of results.

per_page: optional number

Number of results per page of results.

total_count: optional number

Total results available without any search parameters.

total_pages: optional number

The number of total pages in the entire result set.

Email RoutingRules

List routing rules
GET/zones/{zone_id}/email/routing/rules
Get routing rule
GET/zones/{zone_id}/email/routing/rules/{rule_identifier}
Create routing rule
POST/zones/{zone_id}/email/routing/rules
Update routing rule
PUT/zones/{zone_id}/email/routing/rules/{rule_identifier}
Delete routing rule
DELETE/zones/{zone_id}/email/routing/rules/{rule_identifier}
ModelsExpand Collapse
Action { type, value }

Actions pattern.

type: "drop" or "forward" or "worker"

Type of supported action.

One of the following:
"drop"
"forward"
"worker"
value: optional array of string
EmailRoutingRule { id, actions, enabled, 4 more }
id: optional string

Routing rule identifier.

maxLength32
actions: optional array of Action { type, value }

List actions patterns.

type: "drop" or "forward" or "worker"

Type of supported action.

One of the following:
"drop"
"forward"
"worker"
value: optional array of string
enabled: optional true or false

Routing rule status.

One of the following:
true
false
matchers: optional array of Matcher { type, field, value }

Matching patterns to forward to your actions.

type: "all" or "literal"

Type of matcher.

One of the following:
"all"
"literal"
field: optional "to"

Field for type matcher.

value: optional string

Value for matcher.

maxLength90
name: optional string

Routing rule name.

maxLength256
priority: optional number

Priority of the routing rule.

minimum0
Deprecatedtag: optional string

Routing rule tag. (Deprecated, replaced by routing rule identifier)

maxLength32
Matcher { type, field, value }

Matching pattern to forward your actions.

type: "all" or "literal"

Type of matcher.

One of the following:
"all"
"literal"
field: optional "to"

Field for type matcher.

value: optional string

Value for matcher.

maxLength90

Email RoutingRulesCatch Alls

Get catch-all rule
GET/zones/{zone_id}/email/routing/rules/catch_all
Update catch-all rule
PUT/zones/{zone_id}/email/routing/rules/catch_all
ModelsExpand Collapse
CatchAllAction { type, value }

Action for the catch-all routing rule.

type: "drop" or "forward" or "worker"

Type of action for catch-all rule.

One of the following:
"drop"
"forward"
"worker"
value: optional array of string
CatchAllMatcher { type }

Matcher for catch-all routing rule.

type: "all"

Type of matcher. Default is ‘all’.

CatchAllGetResponse { id, actions, enabled, 3 more }
id: optional string

Routing rule identifier.

maxLength32
actions: optional array of CatchAllAction { type, value }

List actions for the catch-all routing rule.

type: "drop" or "forward" or "worker"

Type of action for catch-all rule.

One of the following:
"drop"
"forward"
"worker"
value: optional array of string
enabled: optional true or false

Routing rule status.

One of the following:
true
false
matchers: optional array of CatchAllMatcher { type }

List of matchers for the catch-all routing rule.

type: "all"

Type of matcher. Default is ‘all’.

name: optional string

Routing rule name.

maxLength256
Deprecatedtag: optional string

Routing rule tag. (Deprecated, replaced by routing rule identifier)

maxLength32
CatchAllUpdateResponse { id, actions, enabled, 3 more }
id: optional string

Routing rule identifier.

maxLength32
actions: optional array of CatchAllAction { type, value }

List actions for the catch-all routing rule.

type: "drop" or "forward" or "worker"

Type of action for catch-all rule.

One of the following:
"drop"
"forward"
"worker"
value: optional array of string
enabled: optional true or false

Routing rule status.

One of the following:
true
false
matchers: optional array of CatchAllMatcher { type }

List of matchers for the catch-all routing rule.

type: "all"

Type of matcher. Default is ‘all’.

name: optional string

Routing rule name.

maxLength256
Deprecatedtag: optional string

Routing rule tag. (Deprecated, replaced by routing rule identifier)

maxLength32

Email RoutingAddresses

List destination addresses
GET/accounts/{account_id}/email/routing/addresses
Get a destination address
GET/accounts/{account_id}/email/routing/addresses/{destination_address_identifier}
Create a destination address
POST/accounts/{account_id}/email/routing/addresses
Delete destination address
DELETE/accounts/{account_id}/email/routing/addresses/{destination_address_identifier}
ModelsExpand Collapse
Address { id, created, email, 3 more }
id: optional string

Destination address identifier.

maxLength32
created: optional string

The date and time the destination address has been created.

formatdate-time
email: optional string

The contact email address of the user.

maxLength90
modified: optional string

The date and time the destination address was last modified.

formatdate-time
Deprecatedtag: optional string

Destination address tag. (Deprecated, replaced by destination address identifier)

maxLength32
verified: optional string

The date and time the destination address has been verified. Null means not verified yet.

formatdate-time