---
title: Create 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**

# Create transformer

client.Logpush.Transformers.New(ctx, params) (\*[TransformerNewResponse](https://developers.cloudflare.com/api/go/resources/logpush#%28resource%29%20logpush.transformers%20%3E%20%28model%29%20TransformerNewResponse%20%3E%20%28schema%29), 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](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 

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

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.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)
}

```

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