Skip to content
Start here

Get CSAM Scanner setting

csam_scanner.get(CsamScannerGetParams**kwargs) -> CsamScannerGetResponse
GET/zones/{zone_id}/settings/csam_scanner_third_party

Retrieve the current CSAM Scanner configuration for a zone.

The notification email is masked by default in responses.

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)
Zone Settings Read
ParametersExpand Collapse
zone_id: str

Identifier for the zone.

maxLength32
minLength1
ReturnsExpand Collapse
class CsamScannerGetResponse:

CSAM Scanner configuration for a zone.

id: Optional[Literal["csam_scanner"]]

The feature identifier.

editable: Optional[bool]

Whether the feature state can be changed. When false, the zone or account may be locked by Trust & Safety.

modified_on: Optional[datetime]

When the setting was last modified. Currently always null as the server does not populate this field.

formatdate-time
value: Optional[Value]

The CSAM Scanner feature configuration values. Contains the notification email and scanning enablement settings.

email: Optional[str]

Notification email address for CSAM scan results. Masked in responses unless explicitly unmasked via admin endpoint.

maxLength254
email_state: Optional[Literal["valid", "pending", "unverified"]]

Current verification state of the notification email.

One of the following:
"valid"
"pending"
"unverified"
enabled: Optional[bool]

Whether CSAM scanning is enabled for this zone.

sources: Optional[Dict[str, bool]]

Map of scanning sources and their enabled state.

zone_plan: Optional[str]

The zone’s plan level.

Get CSAM Scanner setting

import os
from cloudflare import Cloudflare

client = Cloudflare(
    api_token=os.environ.get("CLOUDFLARE_API_TOKEN"),  # This is the default and can be omitted
)
csam_scanner = client.csam_scanner.get(
    zone_id="023e105f4ecef8ad9ca31a8372d0c353",
)
print(csam_scanner.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": "csam_scanner",
    "editable": true,
    "modified_on": "2019-12-27T18:11:19.117Z",
    "value": {
      "email": "**********",
      "email_state": "valid",
      "enabled": true,
      "sources": {
        "source1": true
      },
      "zone_plan": "ent"
    }
  }
}
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": "csam_scanner",
    "editable": true,
    "modified_on": "2019-12-27T18:11:19.117Z",
    "value": {
      "email": "**********",
      "email_state": "valid",
      "enabled": true,
      "sources": {
        "source1": true
      },
      "zone_plan": "ent"
    }
  }
}