---
title: Update a Content Scanning custom expression for a zone.
---

[Skip to content](#%5Ftop) 

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

[Content Scanning](https://developers.cloudflare.com/api/go/resources/content%5Fscanning)

[Payloads](https://developers.cloudflare.com/api/go/resources/content%5Fscanning/subresources/payloads)

Copy Markdown

Open in **Claude**

Open in **ChatGPT**

Open in **Cursor**

---

**Copy Markdown**

**View as Markdown**

# Update a Content Scanning custom expression for a zone.

client.ContentScanning.Payloads.Update(ctx, expressionID, params) (\*SinglePage\[[PayloadUpdateResponse](https://developers.cloudflare.com/api/go/resources/content%5Fscanning#%28resource%29%20content%5Fscanning.payloads%20%3E%20%28model%29%20PayloadUpdateResponse%20%3E%20%28schema%29)\], error)

PATCH/zones/{zone\_id}/content-upload-scan/payloads/{expression\_id}

Update the Content Scanning custom expression with the given identifier and return the updated list of expressions.

##### 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 WAF Write` `Account WAF Write`

##### ParametersExpand Collapse 

expressionID string

Defines the unique ID for this Content Scanning custom expression.

maxLength32

params PayloadUpdateParams

ZoneID param.Field\[string\]

Path param: Defines an identifier.

maxLength32

Payload param.Field\[string\]

Body param: Defines the custom content extraction expression used to reach content objects in the request.

##### ReturnsExpand Collapse 

type PayloadUpdateResponse struct{…}

Defines a Content Scanning custom expression.

ID stringOptional

Defines the unique ID for this Content Scanning custom expression.

maxLength32

Payload stringOptional

Defines the custom content extraction expression used to reach content objects in the request.

### Update a Content Scanning custom expression for a zone.

Go

HTTPHTTP

TypeScriptTypeScript

PythonPython

GoGo

TerraformTerraform

```
package main

import (
  "context"
  "fmt"

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

func main() {
  client := cloudflare.NewClient(
    option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
  )
  page, err := client.ContentScanning.Payloads.Update(
    context.TODO(),
    "a350a054caa840c9becd89c3b4f0195b",
    content_scanning.PayloadUpdateParams{
      ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
      Payload: cloudflare.F(`lookup_json_string(http.request.body.raw, "file")`),
    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", page)
}

```

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"
      }
    }
  ],
  "result": [
    {
      "id": "a350a054caa840c9becd89c3b4f0195b",
      "payload": "lookup_json_string(http.request.body.raw, \"file\")"
    }
  ],
  "success": true
}
```

##### 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"
      }
    }
  ],
  "result": [
    {
      "id": "a350a054caa840c9becd89c3b4f0195b",
      "payload": "lookup_json_string(http.request.body.raw, \"file\")"
    }
  ],
  "success": true
}
```