## Update CSAM Scanner setting `csam_scanner.edit(CsamScannerEditParams**kwargs) -> CsamScannerEditResponse` **patch** `/zones/{zone_id}/settings/csam_scanner_third_party` Update the CSAM Scanner configuration for a zone. Allows enabling or disabling CSAM scanning, updating the notification email, and configuring scanning sources. When a new email is provided, email verification is triggered automatically. The `enabled` field is a toggle; the server may adjust it based on whether the notification email is verified. Returns 403 if the zone or account is locked by Trust & Safety. ### Parameters - `zone_id: str` Identifier for the zone. - `id: Optional[Literal["csam_scanner"]]` The feature identifier. - `"csam_scanner"` - `value: Optional[Value]` Writable CSAM Scanner feature configuration values. - `email: Optional[str]` Notification email address for CSAM scan results. When changed, email verification is triggered automatically. - `enabled: Optional[bool]` Whether CSAM scanning is enabled for this zone. - `resend_email: Optional[bool]` Set to true to trigger re-sending the email verification. Write-only; never appears in responses (omitted when false). - `sources: Optional[Dict[str, bool]]` Map of scanning sources and their enabled state. ### Returns - `class CsamScannerEditResponse: …` CSAM Scanner configuration for a zone. - `id: Optional[Literal["csam_scanner"]]` The feature identifier. - `"csam_scanner"` - `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. - `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. - `email_state: Optional[Literal["valid", "pending", "unverified"]]` Current verification state of the notification email. - `"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. ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) response = client.csam_scanner.edit( zone_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(response.id) ``` #### Response ```json { "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" } } } ```