Skip to content
Start here

Update transformer

client.Logpush.Transformers.Update(ctx, transformerID, params) (*TransformerUpdateResponse, 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.

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

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