Skip to content
Start here

Create transformer

client.Logpush.Transformers.New(ctx, params) (*TransformerNewResponse, error)
POST/accounts/{account_id}/logpush/transformers

Creates a new custom log transformer for an account.

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
params TransformerNewParams
AccountID param.Field[string]

Path param: Identifier.

maxLength32
Code param.Field[string]

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

maxLength32768
Name param.Field[string]

Body param: Customer-provided name for identification.

maxLength255
Description param.Field[string]Optional

Body param: Optional customer-provided description.

maxLength4096
ReturnsExpand Collapse
type TransformerNewResponse struct{…}
ID int64Optional

The transformer ID.

minimum1
AssociatedJobs []TransformerNewResponseAssociatedJobOptional

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 TransformerNewResponseAssociatedJobsObjectTypeOptional

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

One of the following:
const TransformerNewResponseAssociatedJobsObjectTypeZone TransformerNewResponseAssociatedJobsObjectType = "zone"
const TransformerNewResponseAssociatedJobsObjectTypeAccount TransformerNewResponseAssociatedJobsObjectType = "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

Create 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.New(context.TODO(), logpush.TransformerNewParams{
    AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
    Code: cloudflare.F("SELECT ClientIP, RayID FROM http_requests"),
    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"
  }
}