---
title: Get CSAM Scanner setting
---

[Skip to content](#%5Ftop) 

[API Reference](https://developers.cloudflare.com/api/go)

[Csam Scanner](https://developers.cloudflare.com/api/go/resources/csam%5Fscanner)

Copy Markdown

Open in **Claude**

Open in **ChatGPT**

Open in **Cursor**

---

**Copy Markdown**

**View as Markdown**

# Get CSAM Scanner setting

client.CsamScanner.Get(ctx, query) (\*[CsamScannerGetResponse](https://developers.cloudflare.com/api/go/resources/csam%5Fscanner#%28resource%29%20csam%5Fscanner%20%3E%20%28model%29%20CsamScannerGetResponse%20%3E%20%28schema%29), error)

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](https://developers.cloudflare.com/fundamentals/api/get-started/create-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 

query CsamScannerGetParams

ZoneID param.Field\[string\]

Identifier for the zone.

maxLength32

minLength1

##### ReturnsExpand Collapse 

type CsamScannerGetResponse struct{…}

CSAM Scanner configuration for a zone.

ID CsamScannerGetResponseIDOptional

The feature identifier.

Editable boolOptional

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

ModifiedOn TimeOptional

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

formatdate-time

Value CsamScannerGetResponseValueOptional

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

Email stringOptional

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

maxLength254

EmailState CsamScannerGetResponseValueEmailStateOptional

Current verification state of the notification email.

One of the following:

const CsamScannerGetResponseValueEmailStateValid CsamScannerGetResponseValueEmailState \= "valid"

const CsamScannerGetResponseValueEmailStatePending CsamScannerGetResponseValueEmailState \= "pending"

const CsamScannerGetResponseValueEmailStateUnverified CsamScannerGetResponseValueEmailState \= "unverified"

Enabled boolOptional

Whether CSAM scanning is enabled for this zone.

Sources map\[string, bool\]Optional

Map of scanning sources and their enabled state.

ZonePlan stringOptional

The zone’s plan level.

### Get CSAM Scanner setting

Go

HTTPHTTP

TypeScriptTypeScript

PythonPython

GoGo

TerraformTerraform

```
package main

import (
  "context"
  "fmt"

  "github.com/cloudflare/cloudflare-go"
  "github.com/cloudflare/cloudflare-go/csam_scanner"
  "github.com/cloudflare/cloudflare-go/option"
)

func main() {
  client := cloudflare.NewClient(
    option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
  )
  csamScanner, err := client.CsamScanner.Get(context.TODO(), csam_scanner.CsamScannerGetParams{
    ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", csamScanner.ID)
}

```

200 example

```
{
  "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

200 example

```
{
  "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"
    }
  }
}
```