Skip to content
Start here

Update an email allow policy

client.EmailSecurity.Settings.AllowPolicies.Edit(ctx, policyID, params) (*SettingAllowPolicyEditResponse, error)
PATCH/accounts/{account_id}/email-security/settings/allow_policies/{policy_id}

Updates an existing allow policy. Only provided fields will be modified. Changes take effect for new emails matching the pattern.

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
policyID string

Allow policy identifier

formatuuid
params SettingAllowPolicyEditParams
AccountID param.Field[string]

Path param: Identifier.

maxLength32
Comments param.Field[string]Optional

Body param

maxLength1024
IsAcceptableSender param.Field[bool]Optional

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]Optional

Body param: Messages to this recipient will bypass all detections

DeprecatedIsRecipient param.Field[bool]Optional

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

IsRegex param.Field[bool]Optional

Body param

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.

IsTrustedSender param.Field[bool]Optional

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

Pattern param.Field[string]Optional

Body param

maxLength1024
minLength1
PatternType param.Field[SettingAllowPolicyEditParamsPatternType]Optional

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 SettingAllowPolicyEditParamsPatternTypeEmail SettingAllowPolicyEditParamsPatternType = "EMAIL"
const SettingAllowPolicyEditParamsPatternTypeDomain SettingAllowPolicyEditParamsPatternType = "DOMAIN"
const SettingAllowPolicyEditParamsPatternTypeIP SettingAllowPolicyEditParamsPatternType = "IP"
const SettingAllowPolicyEditParamsPatternTypeUnknown SettingAllowPolicyEditParamsPatternType = "UNKNOWN"
VerifySender param.Field[bool]Optional

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

ReturnsExpand Collapse
type SettingAllowPolicyEditResponse 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 SettingAllowPolicyEditResponsePatternTypeOptional

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 SettingAllowPolicyEditResponsePatternTypeEmail SettingAllowPolicyEditResponsePatternType = "EMAIL"
const SettingAllowPolicyEditResponsePatternTypeDomain SettingAllowPolicyEditResponsePatternType = "DOMAIN"
const SettingAllowPolicyEditResponsePatternTypeIP SettingAllowPolicyEditResponsePatternType = "IP"
const SettingAllowPolicyEditResponsePatternTypeUnknown SettingAllowPolicyEditResponsePatternType = "UNKNOWN"
VerifySender boolOptional

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

Update an 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"),
  )
  response, err := client.EmailSecurity.Settings.AllowPolicies.Edit(
    context.TODO(),
    "f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
    email_security.SettingAllowPolicyEditParams{
      AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", response.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
  }
}