---
title: Update transformer
---

[Skip to content](#%5Ftop) 

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

[Logpush](https://developers.cloudflare.com/api/go/resources/logpush)

[Transformers](https://developers.cloudflare.com/api/go/resources/logpush/subresources/transformers)

Copy Markdown

Open in **Claude**

Open in **ChatGPT**

Open in **Cursor**

---

**Copy Markdown**

**View as Markdown**

# Update transformer

client.Logpush.Transformers.Update(ctx, transformerID, params) (\*[TransformerUpdateResponse](https://developers.cloudflare.com/api/go/resources/logpush#%28resource%29%20logpush.transformers%20%3E%20%28model%29%20TransformerUpdateResponse%20%3E%20%28schema%29), error)

PUT/accounts/{account\_id}/logpush/transformers/{transformer\_id}

Updates an existing custom log transformer. When `code` is provided, the SQL query is validated and a new version is created. When `code` is omitted, only the name and description are updated. Omitting `description` clears the existing description.

##### 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)

`Logs Write`

##### ParametersExpand Collapse 

transformerID int64

The transformer ID.

minimum1

params TransformerUpdateParams

AccountID param.Field\[string\]

Path param: Identifier.

maxLength32

Name param.Field\[string\]

Body param: Customer-provided name for identification.

maxLength255

Code param.Field\[string\]Optional

Body param: The SQL transformer query. Maximum 32 KB. The query must contain a FROM clause referencing a valid logpush dataset.

maxLength32768

Description param.Field\[string\]Optional

Body param: Optional customer-provided description.

maxLength4096

##### ReturnsExpand Collapse 

type TransformerUpdateResponse struct{…}

ID int64Optional

The transformer ID.

minimum1

AssociatedJobs \[\]TransformerUpdateResponseAssociatedJobOptional

Logpush jobs that reference this transformer.

ID int64Optional

The logpush job ID.

Name stringOptional

The logpush job destination name.

ObjectTag stringOptional

The zone or account tag.

ObjectType TransformerUpdateResponseAssociatedJobsObjectTypeOptional

Whether the job is zone-scoped or account-scoped.

One of the following:

const TransformerUpdateResponseAssociatedJobsObjectTypeZone TransformerUpdateResponseAssociatedJobsObjectType \= "zone"

const TransformerUpdateResponseAssociatedJobsObjectTypeAccount TransformerUpdateResponseAssociatedJobsObjectType \= "account"

CreatedAt TimeOptional

When the transformer was created (RFC 3339).

formatdate-time

Dataset stringOptional

The dataset this transformer operates on, derived from the SQL query’s FROM clause. Informational only. May be absent if the dataset cannot be determined from the query.

Description stringOptional

Optional customer-provided description.

maxLength4096

Name stringOptional

Customer-provided name for identification.

maxLength255

UpdatedAt TimeOptional

When the transformer was last modified (RFC 3339).

formatdate-time

### Update transformer

Go

HTTPHTTP

TypeScriptTypeScript

PythonPython

GoGo

TerraformTerraform

```
package main

import (
  "context"
  "fmt"

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

func main() {
  client := cloudflare.NewClient(
    option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
  )
  transformer, err := client.Logpush.Transformers.Update(
    context.TODO(),
    int64(42),
    logpush.TransformerUpdateParams{
      AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
      Name: cloudflare.F("redact-pii"),
    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", transformer.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": 42,
    "associated_jobs": [
      {
        "id": 123,
        "name": "s3-export",
        "object_tag": "023e105f4ecef8ad9ca31a8372d0c353",
        "object_type": "zone"
      }
    ],
    "created_at": "2026-08-01T12:00:00Z",
    "dataset": "http_requests",
    "description": "Redacts PII fields from HTTP request logs.",
    "name": "redact-pii",
    "updated_at": "2026-08-10T15:30:00Z"
  }
}
```

##### 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": 42,
    "associated_jobs": [
      {
        "id": 123,
        "name": "s3-export",
        "object_tag": "023e105f4ecef8ad9ca31a8372d0c353",
        "object_type": "zone"
      }
    ],
    "created_at": "2026-08-01T12:00:00Z",
    "dataset": "http_requests",
    "description": "Redacts PII fields from HTTP request logs.",
    "name": "redact-pii",
    "updated_at": "2026-08-10T15:30:00Z"
  }
}
```