Skip to content
Start here

Create a sending subdomain

client.EmailSending.Subdomains.New(ctx, params) (*SubdomainNewResponse, error)
POST/zones/{zone_id}/email/sending/subdomains

Creates a new sending subdomain or re-enables sending on an existing subdomain that had it disabled. If zone-level Email Sending has not been enabled yet, the zone flag is automatically set when the entitlement is present. A leftmost wildcard such as *.example.com is accepted only for accounts with wildcard Email Sending enabled. Wildcard senders share the base domain’s DKIM signing identity and cf-bounce.<base> return path.

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
ParametersExpand Collapse
params SubdomainNewParams
ZoneID param.Field[string]

Path param: Identifier.

maxLength32
Name param.Field[string]

Body param: The domain name within the zone. A wildcard is allowed only as the complete leftmost label (*.example.com) and requires the account wildcard Email Sending entitlement.

ReturnsExpand Collapse
type SubdomainNewResponse struct{…}
Enabled bool

Whether Email Sending is enabled on this subdomain.

Name string

The exact domain name or a leftmost wildcard such as *.example.com.

Tag string

Sending subdomain identifier.

maxLength32
Created TimeOptional

The date and time the destination address has been created.

formatdate-time
DKIMSelector stringOptional

The DKIM selector used for email signing. Wildcard rows publish the selector and sign with d=<base>.

DropSuppressedRecipients boolOptional

Whether a send request that includes a recipient suppressed on this subdomain drops that recipient and still delivers to the rest, instead of failing the entire request.

Modified TimeOptional

The date and time the destination address was last modified.

formatdate-time
PreviewEnabled boolOptional

Whether sent messages from this subdomain can be previewed in the activity log.

ReturnPathDomain stringOptional

The return-path domain used for bounce handling. Wildcard rows use cf-bounce.<base>.

Create a sending subdomain

package main

import (
  "context"
  "fmt"

  "github.com/cloudflare/cloudflare-go"
  "github.com/cloudflare/cloudflare-go/email_sending"
  "github.com/cloudflare/cloudflare-go/option"
)

func main() {
  client := cloudflare.NewClient(
    option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"),
    option.WithAPIEmail("user@example.com"),
  )
  subdomain, err := client.EmailSending.Subdomains.New(context.TODO(), email_sending.SubdomainNewParams{
    ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
    Name: cloudflare.F("sub.example.com"),
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", subdomain.Enabled)
}
{
  "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": {
    "enabled": true,
    "name": "sub.example.com",
    "tag": "aabbccdd11223344aabbccdd11223344",
    "created": "2014-01-02T02:20:00Z",
    "dkim_selector": "cf-bounce",
    "drop_suppressed_recipients": false,
    "modified": "2014-01-02T02:20:00Z",
    "preview_enabled": true,
    "return_path_domain": "cf-bounce.sub.example.com"
  }
}
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": {
    "enabled": true,
    "name": "sub.example.com",
    "tag": "aabbccdd11223344aabbccdd11223344",
    "created": "2014-01-02T02:20:00Z",
    "dkim_selector": "cf-bounce",
    "drop_suppressed_recipients": false,
    "modified": "2014-01-02T02:20:00Z",
    "preview_enabled": true,
    "return_path_domain": "cf-bounce.sub.example.com"
  }
}