Skip to content
Start here

List Workers

client.Workers.Scripts.List(ctx, params) (*SinglePage[ScriptListResponse], error)
GET/accounts/{account_id}/workers/scripts

Fetch a list of uploaded workers.

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)
Workers Tail ReadWorkers Scripts WriteWorkers Scripts Read
ParametersExpand Collapse
params ScriptListParams
AccountID param.Field[string]

Path param: Identifier.

maxLength32
Tags param.Field[string]optional

Query param: Filter scripts by tags. Format: comma-separated list of tag:allowed pairs where allowed is 'yes' or 'no'.

ReturnsExpand Collapse
type ScriptListResponse struct{…}
ID stringoptional

The name used to identify the script.

CompatibilityDate stringoptional

Date indicating targeted support in the Workers runtime. Backwards incompatible fixes to the runtime following this date will not affect this Worker.

CompatibilityFlags []stringoptional

Flags that enable or disable certain features in the Workers runtime. Used to enable upcoming features or opt in or out of specific changes not included in a compatibility_date.

CreatedOn Timeoptional

When the script was created.

formatdate-time
Etag stringoptional

Hashed script content, can be used in a If-None-Match header when updating.

Handlers []stringoptional

The names of handlers exported as part of the default export.

HasAssets booloptional

Whether a Worker contains assets.

HasModules booloptional

Whether a Worker contains modules.

LastDeployedFrom stringoptional

The client most recently used to deploy this Worker.

Logpush booloptional

Whether Logpush is turned on for the Worker.

MigrationTag stringoptional

The tag of the Durable Object migration that was most recently applied for this Worker.

ModifiedOn Timeoptional

When the script was last modified.

formatdate-time
NamedHandlers []ScriptListResponseNamedHandleroptional

Named exports, such as Durable Object class implementations and named entrypoints.

Handlers []stringoptional

The names of handlers exported as part of the named export.

Name stringoptional

The name of the export.

Observability ScriptListResponseObservabilityoptional

Observability settings for the Worker.

Enabled bool

Whether observability is enabled for the Worker.

HeadSamplingRate float64optional

The sampling rate for incoming requests. From 0 to 1 (1 = 100%, 0.1 = 10%). Default is 1.

Logs ScriptListResponseObservabilityLogsoptional

Log settings for the Worker.

Enabled bool

Whether logs are enabled for the Worker.

InvocationLogs bool

Whether invocation logs are enabled for the Worker.

Destinations []stringoptional

A list of destinations where logs will be exported to.

HeadSamplingRate float64optional

The sampling rate for logs. From 0 to 1 (1 = 100%, 0.1 = 10%). Default is 1.

Persist booloptional

Whether log persistence is enabled for the Worker.

Traces ScriptListResponseObservabilityTracesoptional

Trace settings for the Worker.

Destinations []stringoptional

A list of destinations where traces will be exported to.

Enabled booloptional

Whether traces are enabled for the Worker.

HeadSamplingRate float64optional

The sampling rate for traces. From 0 to 1 (1 = 100%, 0.1 = 10%). Default is 1.

Persist booloptional

Whether trace persistence is enabled for the Worker.

Placement ScriptListResponsePlacementoptional

Configuration for Smart Placement. Specify mode='smart' for Smart Placement, or one of region/hostname/host.

One of the following:
type ScriptListResponsePlacementObject struct{…}
Mode ScriptListResponsePlacementObjectMode

Enables Smart Placement.

LastAnalyzedAt Timeoptional

The last time the script was analyzed for Smart Placement.

formatdate-time
Status ScriptListResponsePlacementObjectStatusoptional

Status of Smart Placement.

One of the following:
const ScriptListResponsePlacementObjectStatusSuccess ScriptListResponsePlacementObjectStatus = "SUCCESS"
const ScriptListResponsePlacementObjectStatusUnsupportedApplication ScriptListResponsePlacementObjectStatus = "UNSUPPORTED_APPLICATION"
const ScriptListResponsePlacementObjectStatusInsufficientInvocations ScriptListResponsePlacementObjectStatus = "INSUFFICIENT_INVOCATIONS"
type ScriptListResponsePlacementObject struct{…}
Region string

Cloud region for targeted placement in format 'provider:region'.

LastAnalyzedAt Timeoptional

The last time the script was analyzed for Smart Placement.

formatdate-time
Status ScriptListResponsePlacementObjectStatusoptional

Status of Smart Placement.

One of the following:
const ScriptListResponsePlacementObjectStatusSuccess ScriptListResponsePlacementObjectStatus = "SUCCESS"
const ScriptListResponsePlacementObjectStatusUnsupportedApplication ScriptListResponsePlacementObjectStatus = "UNSUPPORTED_APPLICATION"
const ScriptListResponsePlacementObjectStatusInsufficientInvocations ScriptListResponsePlacementObjectStatus = "INSUFFICIENT_INVOCATIONS"
type ScriptListResponsePlacementObject struct{…}
Hostname string

HTTP hostname for targeted placement.

LastAnalyzedAt Timeoptional

The last time the script was analyzed for Smart Placement.

formatdate-time
Status ScriptListResponsePlacementObjectStatusoptional

Status of Smart Placement.

One of the following:
const ScriptListResponsePlacementObjectStatusSuccess ScriptListResponsePlacementObjectStatus = "SUCCESS"
const ScriptListResponsePlacementObjectStatusUnsupportedApplication ScriptListResponsePlacementObjectStatus = "UNSUPPORTED_APPLICATION"
const ScriptListResponsePlacementObjectStatusInsufficientInvocations ScriptListResponsePlacementObjectStatus = "INSUFFICIENT_INVOCATIONS"
type ScriptListResponsePlacementObject struct{…}
Host string

TCP host and port for targeted placement.

LastAnalyzedAt Timeoptional

The last time the script was analyzed for Smart Placement.

formatdate-time
Status ScriptListResponsePlacementObjectStatusoptional

Status of Smart Placement.

One of the following:
const ScriptListResponsePlacementObjectStatusSuccess ScriptListResponsePlacementObjectStatus = "SUCCESS"
const ScriptListResponsePlacementObjectStatusUnsupportedApplication ScriptListResponsePlacementObjectStatus = "UNSUPPORTED_APPLICATION"
const ScriptListResponsePlacementObjectStatusInsufficientInvocations ScriptListResponsePlacementObjectStatus = "INSUFFICIENT_INVOCATIONS"
type ScriptListResponsePlacementObject struct{…}
Mode ScriptListResponsePlacementObjectMode

Targeted placement mode.

Region string

Cloud region for targeted placement in format 'provider:region'.

LastAnalyzedAt Timeoptional

The last time the script was analyzed for Smart Placement.

formatdate-time
Status ScriptListResponsePlacementObjectStatusoptional

Status of Smart Placement.

One of the following:
const ScriptListResponsePlacementObjectStatusSuccess ScriptListResponsePlacementObjectStatus = "SUCCESS"
const ScriptListResponsePlacementObjectStatusUnsupportedApplication ScriptListResponsePlacementObjectStatus = "UNSUPPORTED_APPLICATION"
const ScriptListResponsePlacementObjectStatusInsufficientInvocations ScriptListResponsePlacementObjectStatus = "INSUFFICIENT_INVOCATIONS"
type ScriptListResponsePlacementObject struct{…}
Hostname string

HTTP hostname for targeted placement.

Mode ScriptListResponsePlacementObjectMode

Targeted placement mode.

LastAnalyzedAt Timeoptional

The last time the script was analyzed for Smart Placement.

formatdate-time
Status ScriptListResponsePlacementObjectStatusoptional

Status of Smart Placement.

One of the following:
const ScriptListResponsePlacementObjectStatusSuccess ScriptListResponsePlacementObjectStatus = "SUCCESS"
const ScriptListResponsePlacementObjectStatusUnsupportedApplication ScriptListResponsePlacementObjectStatus = "UNSUPPORTED_APPLICATION"
const ScriptListResponsePlacementObjectStatusInsufficientInvocations ScriptListResponsePlacementObjectStatus = "INSUFFICIENT_INVOCATIONS"
type ScriptListResponsePlacementObject struct{…}
Host string

TCP host and port for targeted placement.

Mode ScriptListResponsePlacementObjectMode

Targeted placement mode.

LastAnalyzedAt Timeoptional

The last time the script was analyzed for Smart Placement.

formatdate-time
Status ScriptListResponsePlacementObjectStatusoptional

Status of Smart Placement.

One of the following:
const ScriptListResponsePlacementObjectStatusSuccess ScriptListResponsePlacementObjectStatus = "SUCCESS"
const ScriptListResponsePlacementObjectStatusUnsupportedApplication ScriptListResponsePlacementObjectStatus = "UNSUPPORTED_APPLICATION"
const ScriptListResponsePlacementObjectStatusInsufficientInvocations ScriptListResponsePlacementObjectStatus = "INSUFFICIENT_INVOCATIONS"
type ScriptListResponsePlacementObject struct{…}
Mode ScriptListResponsePlacementObjectMode

Targeted placement mode.

Target []ScriptListResponsePlacementObjectTarget

Array of placement targets (currently limited to single target).

One of the following:
type ScriptListResponsePlacementObjectTargetRegion struct{…}
Region string

Cloud region in format 'provider:region'.

type ScriptListResponsePlacementObjectTargetHostname struct{…}
Hostname string

HTTP hostname for targeted placement.

type ScriptListResponsePlacementObjectTargetHost struct{…}
Host string

TCP host:port for targeted placement.

LastAnalyzedAt Timeoptional

The last time the script was analyzed for Smart Placement.

formatdate-time
Status ScriptListResponsePlacementObjectStatusoptional

Status of Smart Placement.

One of the following:
const ScriptListResponsePlacementObjectStatusSuccess ScriptListResponsePlacementObjectStatus = "SUCCESS"
const ScriptListResponsePlacementObjectStatusUnsupportedApplication ScriptListResponsePlacementObjectStatus = "UNSUPPORTED_APPLICATION"
const ScriptListResponsePlacementObjectStatusInsufficientInvocations ScriptListResponsePlacementObjectStatus = "INSUFFICIENT_INVOCATIONS"
DeprecatedPlacementMode ScriptListResponsePlacementModeoptional
One of the following:
const ScriptListResponsePlacementModeSmart ScriptListResponsePlacementMode = "smart"
const ScriptListResponsePlacementModeTargeted ScriptListResponsePlacementMode = "targeted"
DeprecatedPlacementStatus ScriptListResponsePlacementStatusoptional
One of the following:
const ScriptListResponsePlacementStatusSuccess ScriptListResponsePlacementStatus = "SUCCESS"
const ScriptListResponsePlacementStatusUnsupportedApplication ScriptListResponsePlacementStatus = "UNSUPPORTED_APPLICATION"
const ScriptListResponsePlacementStatusInsufficientInvocations ScriptListResponsePlacementStatus = "INSUFFICIENT_INVOCATIONS"
Routes []ScriptListResponseRouteoptional

Routes associated with the Worker.

ID string

Identifier.

maxLength32
Pattern string

Pattern to match incoming requests against. Learn more.

Script stringoptional

Name of the script to run if the route matches.

Tag stringoptional

The immutable ID of the script.

Tags []stringoptional

Tags associated with the Worker.

TailConsumers []ConsumerScriptoptional

List of Workers that will consume logs from the attached Worker.

Service string

Name of Worker that is to be the consumer.

Environment stringoptional

Optional environment if the Worker utilizes one.

Namespace stringoptional

Optional dispatch namespace the script belongs to.

UsageModel ScriptListResponseUsageModeloptional

Usage model for the Worker invocations.

One of the following:
const ScriptListResponseUsageModelStandard ScriptListResponseUsageModel = "standard"
const ScriptListResponseUsageModelBundled ScriptListResponseUsageModel = "bundled"
const ScriptListResponseUsageModelUnbound ScriptListResponseUsageModel = "unbound"

List Workers

package main

import (
  "context"
  "fmt"

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

func main() {
  client := cloudflare.NewClient(
    option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
  )
  page, err := client.Workers.Scripts.List(context.TODO(), workers.ScriptListParams{
    AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", page)
}
{
  "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": "my-workers-script",
      "compatibility_date": "2021-01-01",
      "compatibility_flags": [
        "nodejs_compat"
      ],
      "created_on": "2017-01-01T00:00:00Z",
      "etag": "ea95132c15732412d22c1476fa83f27a",
      "handlers": [
        "fetch",
        "scheduled"
      ],
      "has_assets": false,
      "has_modules": false,
      "last_deployed_from": "wrangler",
      "logpush": false,
      "migration_tag": "v1",
      "modified_on": "2017-01-01T00:00:00Z",
      "named_handlers": [
        {
          "handlers": [
            "class"
          ],
          "name": "MyDurableObject"
        }
      ],
      "observability": {
        "enabled": true,
        "head_sampling_rate": 0.1,
        "logs": {
          "enabled": true,
          "invocation_logs": true,
          "destinations": [
            "cloudflare"
          ],
          "head_sampling_rate": 0.1,
          "persist": true
        },
        "traces": {
          "destinations": [
            "cloudflare"
          ],
          "enabled": true,
          "head_sampling_rate": 0.1,
          "persist": true
        }
      },
      "placement": {
        "mode": "smart",
        "last_analyzed_at": "2025-01-01T00:00:00Z",
        "status": "SUCCESS"
      },
      "placement_mode": "smart",
      "placement_status": "SUCCESS",
      "routes": [
        {
          "id": "023e105f4ecef8ad9ca31a8372d0c353",
          "pattern": "example.com/*",
          "script": "my-workers-script"
        }
      ],
      "tag": "e8f70fdbc8b1fb0b8ddb1af166186758",
      "tags": [
        "my-team",
        "my-public-api"
      ],
      "tail_consumers": [
        {
          "service": "my-log-consumer",
          "environment": "production",
          "namespace": "my-namespace"
        }
      ],
      "usage_model": "standard"
    }
  ],
  "success": true
}
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"
      }
    }
  ],
  "result": [
    {
      "id": "my-workers-script",
      "compatibility_date": "2021-01-01",
      "compatibility_flags": [
        "nodejs_compat"
      ],
      "created_on": "2017-01-01T00:00:00Z",
      "etag": "ea95132c15732412d22c1476fa83f27a",
      "handlers": [
        "fetch",
        "scheduled"
      ],
      "has_assets": false,
      "has_modules": false,
      "last_deployed_from": "wrangler",
      "logpush": false,
      "migration_tag": "v1",
      "modified_on": "2017-01-01T00:00:00Z",
      "named_handlers": [
        {
          "handlers": [
            "class"
          ],
          "name": "MyDurableObject"
        }
      ],
      "observability": {
        "enabled": true,
        "head_sampling_rate": 0.1,
        "logs": {
          "enabled": true,
          "invocation_logs": true,
          "destinations": [
            "cloudflare"
          ],
          "head_sampling_rate": 0.1,
          "persist": true
        },
        "traces": {
          "destinations": [
            "cloudflare"
          ],
          "enabled": true,
          "head_sampling_rate": 0.1,
          "persist": true
        }
      },
      "placement": {
        "mode": "smart",
        "last_analyzed_at": "2025-01-01T00:00:00Z",
        "status": "SUCCESS"
      },
      "placement_mode": "smart",
      "placement_status": "SUCCESS",
      "routes": [
        {
          "id": "023e105f4ecef8ad9ca31a8372d0c353",
          "pattern": "example.com/*",
          "script": "my-workers-script"
        }
      ],
      "tag": "e8f70fdbc8b1fb0b8ddb1af166186758",
      "tags": [
        "my-team",
        "my-public-api"
      ],
      "tail_consumers": [
        {
          "service": "my-log-consumer",
          "environment": "production",
          "namespace": "my-namespace"
        }
      ],
      "usage_model": "standard"
    }
  ],
  "success": true
}