Skip to content
Start here

List content policies

client.emailSecurity.settings.contentPolicies.list(ContentPolicyListParams { account_id, direction, enabled, 6 more } params, RequestOptionsoptions?): V4PagePaginationArray<ContentPolicyListResponse { id, created_at, enabled, 6 more } >
GET/accounts/{account_id}/email-security/settings/content_policies

Returns a paginated list of content policies. These policies match against the subject or body of emails using a pattern. Supports filtering by name or enabled status, and searching across name and pattern fields.

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: WriteCloud Email Security: Read
ParametersExpand Collapse
params: ContentPolicyListParams { account_id, direction, enabled, 6 more }
account_id: string

Path param: Identifier.

maxLength32
direction?: "asc" | "desc"

Query param: The sorting direction.

One of the following:
"asc"
"desc"
enabled?: boolean

Query param: Filter by enabled status.

expired?: boolean

Query param: Filter to return only expired policies (true) or only policies that still apply (false). Omit to return both.

name?: string

Query param: Filter by exact policy name.

order?: "name" | "created_at"

Query param: Field to sort by.

One of the following:
"name"
"created_at"
page?: number

Query param: Current page within paginated list of results.

minimum1
per_page?: number

Query param: The number of results per page. Maximum value is 1000.

maximum1000
minimum1
ReturnsExpand Collapse
ContentPolicyListResponse { id, created_at, enabled, 6 more }

A content policy pattern that matches against the subject or body of an email.

id?: string

Content policy identifier.

formatuuid
created_at?: string
formatdate-time
enabled?: boolean

Whether the policy is active.

expires_at?: string | null

Timestamp at which the policy expires. After this time, Email Security ignores the policy. The value must lie in the future. Send null to clear the expiration.

formatdate-time
modified_at?: string
formatdate-time
name?: string

Human-readable name of the policy.

maxLength256
minLength1
notes?: string | null

Optional note describing the purpose of the policy.

maxLength4096
pattern?: string

Regular expression the policy matches against.

maxLength2048
minLength1
targets?: Array<"SUBJECT" | "BODY">

Parts of the email the pattern is matched against.

One of the following:
"SUBJECT"
"BODY"

List content policies

import Cloudflare from 'cloudflare';

const client = new Cloudflare({
  apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted
});

// Automatically fetches more pages as needed.
for await (const contentPolicyListResponse of client.emailSecurity.settings.contentPolicies.list({
  account_id: '023e105f4ecef8ad9ca31a8372d0c353',
})) {
  console.log(contentPolicyListResponse.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",
      "enabled": true,
      "expires_at": "2027-01-01T00:00:00Z",
      "modified_at": "2014-01-01T05:20:00.12345Z",
      "name": "Block phishing keywords",
      "notes": "Blocks common phishing subject lines",
      "pattern": "urgent.*verify.*account",
      "targets": [
        "SUBJECT"
      ]
    }
  ],
  "result_info": {
    "count": 1,
    "page": 1,
    "per_page": 20,
    "total_count": 2000
  }
}
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",
      "enabled": true,
      "expires_at": "2027-01-01T00:00:00Z",
      "modified_at": "2014-01-01T05:20:00.12345Z",
      "name": "Block phishing keywords",
      "notes": "Blocks common phishing subject lines",
      "pattern": "urgent.*verify.*account",
      "targets": [
        "SUBJECT"
      ]
    }
  ],
  "result_info": {
    "count": 1,
    "page": 1,
    "per_page": 20,
    "total_count": 2000
  }
}