Skip to content
Start here

Create email allow policy

client.EmailSecurity.Settings.AllowPolicies.New(ctx, params) (*SettingAllowPolicyNewResponse, error)
POST/accounts/{account_id}/email-security/settings/allow_policies

Creates a new allow policy that exempts matching emails from security detections. Use with caution as this bypasses email security scanning. Policies can match on sender patterns and apply to specific detections or all detections.

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)
Cloud Email Security: Write
ParametersExpand Collapse
params SettingAllowPolicyNewParams
AccountID param.Field[string]

Path param: Identifier.

maxLength32
IsAcceptableSender param.Field[bool]

Body param: Messages from this sender will be exempted from Spam, Spoof and Bulk dispositions. Note - This will not exempt messages with Malicious or Suspicious dispositions.

IsExemptRecipient param.Field[bool]

Body param: Messages to this recipient will bypass all detections

IsRegex param.Field[bool]

Body param

IsTrustedSender param.Field[bool]

Body param: Messages from this sender will bypass all detections and link following

Pattern param.Field[string]

Body param

maxLength1024
minLength1

Body param: Type of pattern matching. Note: UNKNOWN is deprecated and cannot be used when creating or updating policies, but may be returned for existing entries.

const SettingAllowPolicyNewParamsPatternTypeEmail SettingAllowPolicyNewParamsPatternType = "EMAIL"
const SettingAllowPolicyNewParamsPatternTypeDomain SettingAllowPolicyNewParamsPatternType = "DOMAIN"
const SettingAllowPolicyNewParamsPatternTypeIP SettingAllowPolicyNewParamsPatternType = "IP"
const SettingAllowPolicyNewParamsPatternTypeUnknown SettingAllowPolicyNewParamsPatternType = "UNKNOWN"
VerifySender param.Field[bool]

Body param: Enforce DMARC, SPF or DKIM authentication. When on, Email Security only honors policies that pass authentication.

Comments param.Field[string]Optional

Body param

maxLength1024
DeprecatedIsRecipient param.Field[bool]Optional

Body param: Deprecated as of July 1, 2025. Use is_exempt_recipient instead. End of life: July 1, 2026.

DeprecatedIsSender param.Field[bool]Optional

Body param: Deprecated as of July 1, 2025. Use is_trusted_sender instead. End of life: July 1, 2026.

DeprecatedIsSpoof param.Field[bool]Optional

Body param: Deprecated as of July 1, 2025. Use is_acceptable_sender instead. End of life: July 1, 2026.

ReturnsExpand Collapse
type SettingAllowPolicyNewResponse struct{…}

An email allow policy

ID string

Allow policy identifier

formatuuid
CreatedAt Time
formatdate-time
DeprecatedLastModified Time

Deprecated, use modified_at instead. End of life: November 1, 2026.

formatdate-time
Comments stringOptional
maxLength1024
IsAcceptableSender boolOptional

Messages from this sender will be exempted from Spam, Spoof and Bulk dispositions. Note - This will not exempt messages with Malicious or Suspicious dispositions.

IsExemptRecipient boolOptional

Messages to this recipient will bypass all detections

DeprecatedIsRecipient boolOptional

Deprecated as of July 1, 2025. Use is_exempt_recipient instead. End of life: July 1, 2026.

IsRegex boolOptional
DeprecatedIsSender boolOptional

Deprecated as of July 1, 2025. Use is_trusted_sender instead. End of life: July 1, 2026.

DeprecatedIsSpoof boolOptional

Deprecated as of July 1, 2025. Use is_acceptable_sender instead. End of life: July 1, 2026.

IsTrustedSender boolOptional

Messages from this sender will bypass all detections and link following

ModifiedAt TimeOptional
formatdate-time
Pattern stringOptional
maxLength1024
minLength1
PatternType SettingAllowPolicyNewResponsePatternTypeOptional

Type of pattern matching. Note: UNKNOWN is deprecated and cannot be used when creating or updating policies, but may be returned for existing entries.

One of the following:
const SettingAllowPolicyNewResponsePatternTypeEmail SettingAllowPolicyNewResponsePatternType = "EMAIL"
const SettingAllowPolicyNewResponsePatternTypeDomain SettingAllowPolicyNewResponsePatternType = "DOMAIN"
const SettingAllowPolicyNewResponsePatternTypeIP SettingAllowPolicyNewResponsePatternType = "IP"
const SettingAllowPolicyNewResponsePatternTypeUnknown SettingAllowPolicyNewResponsePatternType = "UNKNOWN"
VerifySender boolOptional

Enforce DMARC, SPF or DKIM authentication. When on, Email Security only honors policies that pass authentication.

Create email allow policy

package main

import (
  "context"
  "fmt"

  "github.com/stainless-sdks/cloudflare-go"
  "github.com/stainless-sdks/cloudflare-go/email_security"
  "github.com/stainless-sdks/cloudflare-go/option"
)

func main() {
  client := cloudflare.NewClient(
    option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
  )
  allowPolicy, err := client.EmailSecurity.Settings.AllowPolicies.New(context.TODO(), email_security.SettingAllowPolicyNewParams{
    AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
    IsAcceptableSender: cloudflare.F(false),
    IsExemptRecipient: cloudflare.F(false),
    IsRegex: cloudflare.F(false),
    IsTrustedSender: cloudflare.F(true),
    Pattern: cloudflare.F("test@example.com"),
    PatternType: cloudflare.F(email_security.SettingAllowPolicyNewParamsPatternTypeEmail),
    VerifySender: cloudflare.F(true),
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", allowPolicy.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": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
    "created_at": "2014-01-01T05:20:00.12345Z",
    "last_modified": "2014-01-01T05:20:00.12345Z",
    "comments": "Trust all messages send from test@example.com",
    "is_acceptable_sender": false,
    "is_exempt_recipient": false,
    "is_recipient": false,
    "is_regex": false,
    "is_sender": true,
    "is_spoof": false,
    "is_trusted_sender": true,
    "modified_at": "2014-01-01T05:20:00.12345Z",
    "pattern": "test@example.com",
    "pattern_type": "EMAIL",
    "verify_sender": true
  }
}
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": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
    "created_at": "2014-01-01T05:20:00.12345Z",
    "last_modified": "2014-01-01T05:20:00.12345Z",
    "comments": "Trust all messages send from test@example.com",
    "is_acceptable_sender": false,
    "is_exempt_recipient": false,
    "is_recipient": false,
    "is_regex": false,
    "is_sender": true,
    "is_spoof": false,
    "is_trusted_sender": true,
    "modified_at": "2014-01-01T05:20:00.12345Z",
    "pattern": "test@example.com",
    "pattern_type": "EMAIL",
    "verify_sender": true
  }
}