Skip to content
Start here

Workers

ModelsExpand Collapse
MigrationStep { deleted_classes, new_classes, new_sqlite_classes, 2 more }
deleted_classes: optional array of string

A list of classes to delete Durable Object namespaces from.

new_classes: optional array of string

A list of classes to create Durable Object namespaces from.

new_sqlite_classes: optional array of string

A list of classes to create Durable Object namespaces with SQLite from.

renamed_classes: optional array of { from, to }

A list of classes with Durable Object namespaces that were renamed.

from: optional string
to: optional string
transferred_classes: optional array of { from, from_script, to }

A list of transfers for Durable Object namespaces from a different Worker and class to a class defined in this Worker.

from: optional string
from_script: optional string
to: optional string
SingleStepMigration { deleted_classes, new_classes, new_sqlite_classes, 4 more }

A single set of migrations to apply.

deleted_classes: optional array of string

A list of classes to delete Durable Object namespaces from.

new_classes: optional array of string

A list of classes to create Durable Object namespaces from.

new_sqlite_classes: optional array of string

A list of classes to create Durable Object namespaces with SQLite from.

new_tag: optional string

Tag to set as the latest migration tag.

old_tag: optional string

Tag used to verify against the latest migration tag for this Worker. If they don’t match, the upload is rejected.

renamed_classes: optional array of { from, to }

A list of classes with Durable Object namespaces that were renamed.

from: optional string
to: optional string
transferred_classes: optional array of { from, from_script, to }

A list of transfers for Durable Object namespaces from a different Worker and class to a class defined in this Worker.

from: optional string
from_script: optional string
to: optional string
WorkerMetadata { body_part, main_module }

JSON-encoded metadata about the uploaded parts and Worker configuration.

body_part: optional string

Name of the part in the multipart request that contains the script (e.g. the file adding a listener to the fetch event). Indicates a service worker syntax Worker.

main_module: optional string

Name of the part in the multipart request that contains the main module (e.g. the file exporting a fetch handler). Indicates a module syntax Worker.

WorkersBeta

WorkersBetaWorkers

List Workers
GET/accounts/{account_id}/workers/workers
Get Worker
GET/accounts/{account_id}/workers/workers/{worker_id}
Create Worker
POST/accounts/{account_id}/workers/workers
Update Worker
PUT/accounts/{account_id}/workers/workers/{worker_id}
Edit Worker
PATCH/accounts/{account_id}/workers/workers/{worker_id}
Delete Worker
DELETE/accounts/{account_id}/workers/workers/{worker_id}
ModelsExpand Collapse
Worker { id, created_on, logpush, 8 more }
id: string

Immutable ID of the Worker.

created_on: string

When the Worker was created.

formatdate-time
logpush: boolean

Whether logpush is enabled for the Worker.

name: string

Name of the Worker.

observability: { enabled, head_sampling_rate, logs, traces }

Observability settings for the Worker.

enabled: optional boolean

Whether observability is enabled for the Worker.

head_sampling_rate: optional number

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

logs: optional { destinations, enabled, head_sampling_rate, 2 more }

Log settings for the Worker.

destinations: optional array of string

A list of destinations where logs will be exported to.

enabled: optional boolean

Whether logs are enabled for the Worker.

head_sampling_rate: optional number

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

invocation_logs: optional boolean

Whether invocation logs are enabled for the Worker.

persist: optional boolean

Whether log persistence is enabled for the Worker.

traces: optional { destinations, enabled, head_sampling_rate, persist }

Trace settings for the Worker.

destinations: optional array of string

A list of destinations where traces will be exported to.

enabled: optional boolean

Whether traces are enabled for the Worker.

head_sampling_rate: optional number

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

persist: optional boolean

Whether trace persistence is enabled for the Worker.

references: { dispatch_namespace_outbounds, domains, durable_objects, 2 more }

Other resources that reference the Worker and depend on it existing.

dispatch_namespace_outbounds: array of { namespace_id, namespace_name, worker_id, worker_name }

Other Workers that reference the Worker as an outbound for a dispatch namespace.

namespace_id: string

ID of the dispatch namespace.

namespace_name: string

Name of the dispatch namespace.

worker_id: string

ID of the Worker using the dispatch namespace.

worker_name: string

Name of the Worker using the dispatch namespace.

domains: array of { id, certificate_id, hostname, 2 more }

Custom domains connected to the Worker.

id: string

ID of the custom domain.

certificate_id: string

ID of the TLS certificate issued for the custom domain.

hostname: string

Full hostname of the custom domain, including the zone name.

zone_id: string

ID of the zone.

zone_name: string

Name of the zone.

durable_objects: array of { namespace_id, namespace_name, worker_id, worker_name }

Other Workers that reference Durable Object classes implemented by the Worker.

namespace_id: string

ID of the Durable Object namespace being used.

namespace_name: string

Name of the Durable Object namespace being used.

worker_id: string

ID of the Worker using the Durable Object implementation.

worker_name: string

Name of the Worker using the Durable Object implementation.

queues: array of { queue_consumer_id, queue_id, queue_name }

Queues that send messages to the Worker.

queue_consumer_id: string

ID of the queue consumer configuration.

queue_id: string

ID of the queue.

queue_name: string

Name of the queue.

workers: array of { id, name }

Other Workers that reference the Worker using service bindings.

id: string

ID of the referencing Worker.

name: string

Name of the referencing Worker.

subdomain: { enabled, previews_enabled }

Subdomain settings for the Worker.

enabled: optional boolean

Whether the *.workers.dev subdomain is enabled for the Worker.

previews_enabled: optional boolean

Whether preview URLs are enabled for the Worker.

tags: array of string

Tags associated with the Worker.

tail_consumers: array of { name }

Other Workers that should consume logs from the Worker.

name: string

Name of the consumer Worker.

updated_on: string

When the Worker was most recently updated.

formatdate-time
deployed_on: optional string

When the Worker’s most recent deployment was created. null if the Worker has never been deployed.

formatdate-time
WorkerDeleteResponse { errors, messages, success }
errors: array of { code, message, documentation_url, source }
code: number
minimum1000
message: string
documentation_url: optional string
source: optional { pointer }
pointer: optional string
messages: array of { code, message, documentation_url, source }
code: number
minimum1000
message: string
documentation_url: optional string
source: optional { pointer }
pointer: optional string
success: true

Whether the API call was successful.

WorkersBetaWorkersVersions

List Versions
GET/accounts/{account_id}/workers/workers/{worker_id}/versions
Get Version
GET/accounts/{account_id}/workers/workers/{worker_id}/versions/{version_id}
Create Version
POST/accounts/{account_id}/workers/workers/{worker_id}/versions
Delete Version
DELETE/accounts/{account_id}/workers/workers/{worker_id}/versions/{version_id}
ModelsExpand Collapse
Version { id, created_on, number, 15 more }
id: string

Version identifier.

formatuuid
created_on: string

When the version was created.

formatdate-time
number: number

The integer version number, starting from one.

urls: array of string

All routable URLs that always point to this version. Does not include alias URLs, since aliases can be updated to point to a different version.

annotations: optional { "workers/message", "workers/tag", "workers/triggered_by" }

Metadata about the version.

"workers/message": optional string

Human-readable message about the version.

maxLength100
"workers/tag": optional string

User-provided identifier for the version.

maxLength25
"workers/triggered_by": optional string

Operation that triggered the creation of the version.

assets: optional { config, jwt }

Configuration for assets within a Worker.

_headers and _redirects files should be included as modules named _headers and _redirects with content type text/plain.

config: optional { html_handling, not_found_handling, run_worker_first }

Configuration for assets within a Worker.

html_handling: optional "auto-trailing-slash" or "force-trailing-slash" or "drop-trailing-slash" or "none"

Determines the redirects and rewrites of requests for HTML content.

One of the following:
"auto-trailing-slash"
"force-trailing-slash"
"drop-trailing-slash"
"none"
not_found_handling: optional "none" or "404-page" or "single-page-application"

Determines the response when a request does not match a static asset, and there is no Worker script.

One of the following:
"none"
"404-page"
"single-page-application"
run_worker_first: optional array of string or boolean

Contains a list path rules to control routing to either the Worker or assets. Glob (*) and negative (!) rules are supported. Rules must start with either ’/’ or ’!/’. At least one non-negative rule must be provided, and negative rules have higher precedence than non-negative rules.

One of the following:
array of string

Contains a list path rules to control routing to either the Worker or assets. Glob (*) and negative (!) rules are supported. Rules must start with either ’/’ or ’!/’. At least one non-negative rule must be provided, and negative rules have higher precedence than non-negative rules.

boolean

Enables routing to always invoke the Worker script ahead of all requests. When true, this is equivalent to ["/*"] in the string array version of this field.

jwt: optional string

Token provided upon successful upload of all files from a registered manifest.

bindings: optional array of { name, type } or { instance_name, name, type, namespace } or { name, namespace, type } or 31 more

List of bindings attached to a Worker. You can find more about bindings on our docs: https://developers.cloudflare.com/workers/configuration/multipart-upload-metadata/#bindings.

One of the following:
AI { name, type }
name: string

A JavaScript variable name for the binding.

type: "ai"

The kind of resource that the binding provides.

AISearch { instance_name, name, type, namespace }
instance_name: string

The user-chosen instance name. Must exist at deploy time. The worker can search, chat, update, and manage items/jobs on this instance.

name: string

A JavaScript variable name for the binding.

type: "ai_search"

The kind of resource that the binding provides.

namespace: optional string

The namespace the instance belongs to. Defaults to “default” if omitted. Customers who don’t use namespaces can simply omit this field.

AISearchNamespace { name, namespace, type }
name: string

A JavaScript variable name for the binding.

namespace: string

The user-chosen namespace name. Must exist before deploy — Wrangler handles auto-creation on deploy failure (R2 bucket pattern). The “default” namespace is auto-created by config-api for new accounts. Grants full access (CRUD + search + chat) to all instances within the namespace.

type: "ai_search_namespace"

The kind of resource that the binding provides.

AnalyticsEngine { dataset, name, type }
dataset: string

The name of the dataset to bind to.

name: string

A JavaScript variable name for the binding.

type: "analytics_engine"

The kind of resource that the binding provides.

Assets { name, type }
name: string

A JavaScript variable name for the binding.

type: "assets"

The kind of resource that the binding provides.

Browser { name, type }
name: string

A JavaScript variable name for the binding.

type: "browser"

The kind of resource that the binding provides.

D1 { id, name, type }
id: string

Identifier of the D1 database to bind to.

name: string

A JavaScript variable name for the binding.

type: "d1"

The kind of resource that the binding provides.

DataBlob { name, part, type }
name: string

A JavaScript variable name for the binding.

part: string

The name of the file containing the data content. Only accepted for service worker syntax Workers.

Deprecatedtype: "data_blob"

The kind of resource that the binding provides.

DispatchNamespace { name, namespace, type, outbound }
name: string

A JavaScript variable name for the binding.

namespace: string

The name of the dispatch namespace.

type: "dispatch_namespace"

The kind of resource that the binding provides.

outbound: optional { params, worker }

Outbound worker.

params: optional array of { name }

Pass information from the Dispatch Worker to the Outbound Worker through the parameters.

name: string

Name of the parameter.

worker: optional { entrypoint, environment, service }

Outbound worker.

entrypoint: optional string

Entrypoint to invoke on the outbound worker.

environment: optional string

Environment of the outbound worker.

service: optional string

Name of the outbound worker.

DurableObjectNamespace { name, type, class_name, 4 more }
name: string

A JavaScript variable name for the binding.

type: "durable_object_namespace"

The kind of resource that the binding provides.

class_name: optional string

The exported class name of the Durable Object.

dispatch_namespace: optional string

The dispatch namespace the Durable Object script belongs to.

environment: optional string

The environment of the script_name to bind to.

namespace_id: optional string

Namespace identifier tag.

maxLength32
script_name: optional string

The script where the Durable Object is defined, if it is external to this Worker.

Hyperdrive { id, name, type }
id: string

Identifier of the Hyperdrive connection to bind to.

name: string

A JavaScript variable name for the binding.

type: "hyperdrive"

The kind of resource that the binding provides.

Inherit { name, type, old_name, version_id }
name: string

The name of the inherited binding.

type: "inherit"

The kind of resource that the binding provides.

old_name: optional string

The old name of the inherited binding. If set, the binding will be renamed from old_name to name in the new version. If not set, the binding will keep the same name between versions.

version_id: optional string

Identifier for the version to inherit the binding from, which can be the version ID or the literal “latest” to inherit from the latest version. Defaults to inheriting the binding from the latest version.

Images { name, type }
name: string

A JavaScript variable name for the binding.

type: "images"

The kind of resource that the binding provides.

Json { json, name, type }
json: unknown

JSON data to use.

name: string

A JavaScript variable name for the binding.

type: "json"

The kind of resource that the binding provides.

KVNamespace { name, namespace_id, type }
name: string

A JavaScript variable name for the binding.

namespace_id: string

Namespace identifier tag.

maxLength32
type: "kv_namespace"

The kind of resource that the binding provides.

Media { name, type }
name: string

A JavaScript variable name for the binding.

type: "media"

The kind of resource that the binding provides.

MTLSCertificate { certificate_id, name, type }
certificate_id: string

Identifier of the certificate to bind to.

name: string

A JavaScript variable name for the binding.

type: "mtls_certificate"

The kind of resource that the binding provides.

PlainText { name, text, type }
name: string

A JavaScript variable name for the binding.

text: string

The text value to use.

type: "plain_text"

The kind of resource that the binding provides.

Pipelines { name, pipeline, type }
name: string

A JavaScript variable name for the binding.

pipeline: string

Name of the Pipeline to bind to.

type: "pipelines"

The kind of resource that the binding provides.

Queue { name, queue_name, type }
name: string

A JavaScript variable name for the binding.

queue_name: string

Name of the Queue to bind to.

type: "queue"

The kind of resource that the binding provides.

Ratelimit { name, namespace_id, simple, type }
name: string

A JavaScript variable name for the binding.

namespace_id: string

Identifier of the rate limit namespace to bind to.

simple: { limit, period }

The rate limit configuration.

limit: number

The limit (requests per period).

period: number

The period in seconds.

type: "ratelimit"

The kind of resource that the binding provides.

R2Bucket { bucket_name, name, type, jurisdiction }
bucket_name: string

R2 bucket to bind to.

name: string

A JavaScript variable name for the binding.

type: "r2_bucket"

The kind of resource that the binding provides.

jurisdiction: optional "eu" or "fedramp" or "fedramp-high"

The jurisdiction of the R2 bucket.

One of the following:
"eu"
"fedramp"
"fedramp-high"
SecretText { name, text, type }
name: string

A JavaScript variable name for the binding.

text: string

The secret value to use.

type: "secret_text"

The kind of resource that the binding provides.

SendEmail { name, type, allowed_destination_addresses, 2 more }
name: string

A JavaScript variable name for the binding.

type: "send_email"

The kind of resource that the binding provides.

allowed_destination_addresses: optional array of string

List of allowed destination addresses.

allowed_sender_addresses: optional array of string

List of allowed sender addresses.

destination_address: optional string

Destination address for the email.

formatemail
Service { name, service, type, 2 more }
name: string

A JavaScript variable name for the binding.

service: string

Name of Worker to bind to.

type: "service"

The kind of resource that the binding provides.

entrypoint: optional string

Entrypoint to invoke on the target Worker.

environment: optional string

Optional environment if the Worker utilizes one.

TextBlob { name, part, type }
name: string

A JavaScript variable name for the binding.

part: string

The name of the file containing the text content. Only accepted for service worker syntax Workers.

Deprecatedtype: "text_blob"

The kind of resource that the binding provides.

Vectorize { index_name, name, type }
index_name: string

Name of the Vectorize index to bind to.

name: string

A JavaScript variable name for the binding.

type: "vectorize"

The kind of resource that the binding provides.

VersionMetadata { name, type }
name: string

A JavaScript variable name for the binding.

type: "version_metadata"

The kind of resource that the binding provides.

SecretsStoreSecret { name, secret_name, store_id, type }
name: string

A JavaScript variable name for the binding.

secret_name: string

Name of the secret in the store.

store_id: string

ID of the store containing the secret.

type: "secrets_store_secret"

The kind of resource that the binding provides.

SecretKey { algorithm, format, name, 4 more }
algorithm: unknown

Algorithm-specific key parameters. Learn more.

format: "raw" or "pkcs8" or "spki" or "jwk"

Data format of the key. Learn more.

One of the following:
"raw"
"pkcs8"
"spki"
"jwk"
name: string

A JavaScript variable name for the binding.

type: "secret_key"

The kind of resource that the binding provides.

usages: array of "encrypt" or "decrypt" or "sign" or 5 more

Allowed operations with the key. Learn more.

One of the following:
"encrypt"
"decrypt"
"sign"
"verify"
"deriveKey"
"deriveBits"
"wrapKey"
"unwrapKey"
key_base64: optional string

Base64-encoded key data. Required if format is “raw”, “pkcs8”, or “spki”.

key_jwk: optional unknown

Key data in JSON Web Key format. Required if format is “jwk”.

Workflow { name, type, workflow_name, 2 more }
name: string

A JavaScript variable name for the binding.

type: "workflow"

The kind of resource that the binding provides.

workflow_name: string

Name of the Workflow to bind to.

class_name: optional string

Class name of the Workflow. Should only be provided if the Workflow belongs to this script.

script_name: optional string

Script name that contains the Workflow. If not provided, defaults to this script name.

WasmModule { name, part, type }
name: string

A JavaScript variable name for the binding.

part: string

The name of the file containing the WebAssembly module content. Only accepted for service worker syntax Workers.

Deprecatedtype: "wasm_module"

The kind of resource that the binding provides.

VPCService { name, service_id, type }
name: string

A JavaScript variable name for the binding.

service_id: string

Identifier of the VPC service to bind to.

type: "vpc_service"

The kind of resource that the binding provides.

VPCNetwork { name, type, network_id, tunnel_id }
name: string

A JavaScript variable name for the binding.

type: "vpc_network"

The kind of resource that the binding provides.

network_id: optional string

Identifier of the network to bind to. Only “cf1:network” is currently supported. Mutually exclusive with tunnel_id.

tunnel_id: optional string

UUID of the Cloudflare Tunnel to bind to. Mutually exclusive with network_id.

compatibility_date: optional string

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

compatibility_flags: optional array of string

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.

limits: optional { cpu_ms }

Resource limits enforced at runtime.

cpu_ms: number

CPU time limit in milliseconds.

main_module: optional string

The name of the main module in the modules array (e.g. the name of the module that exports a fetch handler).

migration_tag: optional string

Durable Object migration tag. Set when the version is deployed. Omitted if the version has not been deployed or the Worker does not use Durable Objects.

migrations: optional SingleStepMigration { deleted_classes, new_classes, new_sqlite_classes, 4 more } or { new_tag, old_tag, steps }

Migrations for Durable Objects associated with the version. Migrations are applied when the version is deployed.

One of the following:
SingleStepMigration { deleted_classes, new_classes, new_sqlite_classes, 4 more }

A single set of migrations to apply.

deleted_classes: optional array of string

A list of classes to delete Durable Object namespaces from.

new_classes: optional array of string

A list of classes to create Durable Object namespaces from.

new_sqlite_classes: optional array of string

A list of classes to create Durable Object namespaces with SQLite from.

new_tag: optional string

Tag to set as the latest migration tag.

old_tag: optional string

Tag used to verify against the latest migration tag for this Worker. If they don’t match, the upload is rejected.

renamed_classes: optional array of { from, to }

A list of classes with Durable Object namespaces that were renamed.

from: optional string
to: optional string
transferred_classes: optional array of { from, from_script, to }

A list of transfers for Durable Object namespaces from a different Worker and class to a class defined in this Worker.

from: optional string
from_script: optional string
to: optional string
WorkersMultipleStepMigrations { new_tag, old_tag, steps }
new_tag: optional string

Tag to set as the latest migration tag.

old_tag: optional string

Tag used to verify against the latest migration tag for this Worker. If they don’t match, the upload is rejected.

steps: optional array of MigrationStep { deleted_classes, new_classes, new_sqlite_classes, 2 more }

Migrations to apply in order.

deleted_classes: optional array of string

A list of classes to delete Durable Object namespaces from.

new_classes: optional array of string

A list of classes to create Durable Object namespaces from.

new_sqlite_classes: optional array of string

A list of classes to create Durable Object namespaces with SQLite from.

renamed_classes: optional array of { from, to }

A list of classes with Durable Object namespaces that were renamed.

from: optional string
to: optional string
transferred_classes: optional array of { from, from_script, to }

A list of transfers for Durable Object namespaces from a different Worker and class to a class defined in this Worker.

from: optional string
from_script: optional string
to: optional string
modules: optional array of { content_base64, content_type, name }

Code, sourcemaps, and other content used at runtime.

This includes _headers and _redirects files used to configure Static Assets. _headers and _redirects files should be included as modules named _headers and _redirects with content type text/plain.

content_base64: string

The base64-encoded module content.

formatbyte
content_type: string

The content type of the module.

name: string

The name of the module.

placement: optional { mode } or { region } or { hostname } or 5 more

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

One of the following:
Mode { mode }
mode: "smart"
Region { region }
region: string

Cloud region for targeted placement in format ‘provider:region’.

Hostname { hostname }
hostname: string

HTTP hostname for targeted placement.

Host { host }
host: string

TCP host and port for targeted placement.

{ mode, region }
mode: "targeted"

Targeted placement mode.

region: string

Cloud region for targeted placement in format ‘provider:region’.

{ hostname, mode }
hostname: string

HTTP hostname for targeted placement.

mode: "targeted"

Targeted placement mode.

{ host, mode }
host: string

TCP host and port for targeted placement.

mode: "targeted"

Targeted placement mode.

{ mode, target }
mode: "targeted"

Targeted placement mode.

target: array of { region } or { hostname } or { host }

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

One of the following:
Region { region }
region: string

Cloud region in format ‘provider:region’.

Hostname { hostname }
hostname: string

HTTP hostname for targeted placement.

Host { host }
host: string

TCP host:port for targeted placement.

source: optional string

The client used to create the version.

startup_time_ms: optional number

Time in milliseconds spent on Worker startup.

Deprecatedusage_model: optional "standard" or "bundled" or "unbound"

Usage model for the version.

One of the following:
"standard"
"bundled"
"unbound"
VersionDeleteResponse { errors, messages, success }
errors: array of { code, message, documentation_url, source }
code: number
minimum1000
message: string
documentation_url: optional string
source: optional { pointer }
pointer: optional string
messages: array of { code, message, documentation_url, source }
code: number
minimum1000
message: string
documentation_url: optional string
source: optional { pointer }
pointer: optional string
success: true

Whether the API call was successful.

WorkersRoutes

List Routes
GET/zones/{zone_id}/workers/routes
Get Route
GET/zones/{zone_id}/workers/routes/{route_id}
Create Route
POST/zones/{zone_id}/workers/routes
Update Route
PUT/zones/{zone_id}/workers/routes/{route_id}
Delete Route
DELETE/zones/{zone_id}/workers/routes/{route_id}
ModelsExpand Collapse
RouteListResponse { id, pattern, script }
id: string

Identifier.

maxLength32
pattern: string

Pattern to match incoming requests against. Learn more.

script: optional string

Name of the script to run if the route matches.

RouteGetResponse { id, pattern, script }
id: string

Identifier.

maxLength32
pattern: string

Pattern to match incoming requests against. Learn more.

script: optional string

Name of the script to run if the route matches.

RouteCreateResponse { id, pattern, script }
id: string

Identifier.

maxLength32
pattern: string

Pattern to match incoming requests against. Learn more.

script: optional string

Name of the script to run if the route matches.

RouteUpdateResponse { id, pattern, script }
id: string

Identifier.

maxLength32
pattern: string

Pattern to match incoming requests against. Learn more.

script: optional string

Name of the script to run if the route matches.

RouteDeleteResponse { id }
id: optional string

Identifier.

maxLength32

WorkersAssets

WorkersAssetsUpload

Upload Assets
POST/accounts/{account_id}/workers/assets/upload
ModelsExpand Collapse
UploadCreateResponse { jwt }
jwt: optional string

A “completion” JWT which can be redeemed when creating a Worker version.

WorkersScripts

List Workers
GET/accounts/{account_id}/workers/scripts
Search Workers
GET/accounts/{account_id}/workers/scripts-search
Download Worker
GET/accounts/{account_id}/workers/scripts/{script_name}
Upload Worker Module
PUT/accounts/{account_id}/workers/scripts/{script_name}
Delete Worker
DELETE/accounts/{account_id}/workers/scripts/{script_name}
ModelsExpand Collapse
Script { id, compatibility_date, compatibility_flags, 18 more }
id: optional string

The name used to identify the script.

compatibility_date: optional string

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

compatibility_flags: optional array of string

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.

created_on: optional string

When the script was created.

formatdate-time
etag: optional string

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

handlers: optional array of string

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

has_assets: optional boolean

Whether a Worker contains assets.

has_modules: optional boolean

Whether a Worker contains modules.

last_deployed_from: optional string

The client most recently used to deploy this Worker.

logpush: optional boolean

Whether Logpush is turned on for the Worker.

migration_tag: optional string

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

modified_on: optional string

When the script was last modified.

formatdate-time
named_handlers: optional array of { handlers, name }

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

handlers: optional array of string

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

name: optional string

The name of the export.

observability: optional { enabled, head_sampling_rate, logs, traces }

Observability settings for the Worker.

enabled: boolean

Whether observability is enabled for the Worker.

head_sampling_rate: optional number

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

logs: optional { enabled, invocation_logs, destinations, 2 more }

Log settings for the Worker.

enabled: boolean

Whether logs are enabled for the Worker.

invocation_logs: boolean

Whether invocation logs are enabled for the Worker.

destinations: optional array of string

A list of destinations where logs will be exported to.

head_sampling_rate: optional number

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

persist: optional boolean

Whether log persistence is enabled for the Worker.

traces: optional { destinations, enabled, head_sampling_rate, persist }

Trace settings for the Worker.

destinations: optional array of string

A list of destinations where traces will be exported to.

enabled: optional boolean

Whether traces are enabled for the Worker.

head_sampling_rate: optional number

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

persist: optional boolean

Whether trace persistence is enabled for the Worker.

placement: optional { mode, last_analyzed_at, status } or { region, last_analyzed_at, status } or { hostname, last_analyzed_at, status } or 5 more

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

One of the following:
{ mode, last_analyzed_at, status }
mode: "smart"
last_analyzed_at: optional string

The last time the script was analyzed for Smart Placement.

formatdate-time
status: optional "SUCCESS" or "UNSUPPORTED_APPLICATION" or "INSUFFICIENT_INVOCATIONS"

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
{ region, last_analyzed_at, status }
region: string

Cloud region for targeted placement in format ‘provider:region’.

last_analyzed_at: optional string

The last time the script was analyzed for Smart Placement.

formatdate-time
status: optional "SUCCESS" or "UNSUPPORTED_APPLICATION" or "INSUFFICIENT_INVOCATIONS"

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
{ hostname, last_analyzed_at, status }
hostname: string

HTTP hostname for targeted placement.

last_analyzed_at: optional string

The last time the script was analyzed for Smart Placement.

formatdate-time
status: optional "SUCCESS" or "UNSUPPORTED_APPLICATION" or "INSUFFICIENT_INVOCATIONS"

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
{ host, last_analyzed_at, status }
host: string

TCP host and port for targeted placement.

last_analyzed_at: optional string

The last time the script was analyzed for Smart Placement.

formatdate-time
status: optional "SUCCESS" or "UNSUPPORTED_APPLICATION" or "INSUFFICIENT_INVOCATIONS"

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
{ mode, region, last_analyzed_at, status }
mode: "targeted"

Targeted placement mode.

region: string

Cloud region for targeted placement in format ‘provider:region’.

last_analyzed_at: optional string

The last time the script was analyzed for Smart Placement.

formatdate-time
status: optional "SUCCESS" or "UNSUPPORTED_APPLICATION" or "INSUFFICIENT_INVOCATIONS"

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
{ hostname, mode, last_analyzed_at, status }
hostname: string

HTTP hostname for targeted placement.

mode: "targeted"

Targeted placement mode.

last_analyzed_at: optional string

The last time the script was analyzed for Smart Placement.

formatdate-time
status: optional "SUCCESS" or "UNSUPPORTED_APPLICATION" or "INSUFFICIENT_INVOCATIONS"

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
{ host, mode, last_analyzed_at, status }
host: string

TCP host and port for targeted placement.

mode: "targeted"

Targeted placement mode.

last_analyzed_at: optional string

The last time the script was analyzed for Smart Placement.

formatdate-time
status: optional "SUCCESS" or "UNSUPPORTED_APPLICATION" or "INSUFFICIENT_INVOCATIONS"

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
{ mode, target, last_analyzed_at, status }
mode: "targeted"

Targeted placement mode.

target: array of { region } or { hostname } or { host }

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

One of the following:
Region { region }
region: string

Cloud region in format ‘provider:region’.

Hostname { hostname }
hostname: string

HTTP hostname for targeted placement.

Host { host }
host: string

TCP host:port for targeted placement.

last_analyzed_at: optional string

The last time the script was analyzed for Smart Placement.

formatdate-time
status: optional "SUCCESS" or "UNSUPPORTED_APPLICATION" or "INSUFFICIENT_INVOCATIONS"

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
Deprecatedplacement_mode: optional "smart" or "targeted"

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

One of the following:
"smart"
"targeted"
Deprecatedplacement_status: optional "SUCCESS" or "UNSUPPORTED_APPLICATION" or "INSUFFICIENT_INVOCATIONS"

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
tag: optional string

The immutable ID of the script.

tags: optional array of string

Tags associated with the Worker.

tail_consumers: optional array of ConsumerScript { service, environment, namespace }

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

service: string

Name of Worker that is to be the consumer.

environment: optional string

Optional environment if the Worker utilizes one.

namespace: optional string

Optional dispatch namespace the script belongs to.

usage_model: optional "standard" or "bundled" or "unbound"

Usage model for the Worker invocations.

One of the following:
"standard"
"bundled"
"unbound"
ScriptSetting { logpush, observability, tags, tail_consumers }
logpush: optional boolean

Whether Logpush is turned on for the Worker.

observability: optional { enabled, head_sampling_rate, logs, traces }

Observability settings for the Worker.

enabled: boolean

Whether observability is enabled for the Worker.

head_sampling_rate: optional number

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

logs: optional { enabled, invocation_logs, destinations, 2 more }

Log settings for the Worker.

enabled: boolean

Whether logs are enabled for the Worker.

invocation_logs: boolean

Whether invocation logs are enabled for the Worker.

destinations: optional array of string

A list of destinations where logs will be exported to.

head_sampling_rate: optional number

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

persist: optional boolean

Whether log persistence is enabled for the Worker.

traces: optional { destinations, enabled, head_sampling_rate, persist }

Trace settings for the Worker.

destinations: optional array of string

A list of destinations where traces will be exported to.

enabled: optional boolean

Whether traces are enabled for the Worker.

head_sampling_rate: optional number

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

persist: optional boolean

Whether trace persistence is enabled for the Worker.

tags: optional array of string

Tags associated with the Worker.

tail_consumers: optional array of ConsumerScript { service, environment, namespace }

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

service: string

Name of Worker that is to be the consumer.

environment: optional string

Optional environment if the Worker utilizes one.

namespace: optional string

Optional dispatch namespace the script belongs to.

ScriptListResponse { id, compatibility_date, compatibility_flags, 19 more }
id: optional string

The name used to identify the script.

compatibility_date: optional string

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

compatibility_flags: optional array of string

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.

created_on: optional string

When the script was created.

formatdate-time
etag: optional string

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

handlers: optional array of string

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

has_assets: optional boolean

Whether a Worker contains assets.

has_modules: optional boolean

Whether a Worker contains modules.

last_deployed_from: optional string

The client most recently used to deploy this Worker.

logpush: optional boolean

Whether Logpush is turned on for the Worker.

migration_tag: optional string

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

modified_on: optional string

When the script was last modified.

formatdate-time
named_handlers: optional array of { handlers, name }

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

handlers: optional array of string

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

name: optional string

The name of the export.

observability: optional { enabled, head_sampling_rate, logs, traces }

Observability settings for the Worker.

enabled: boolean

Whether observability is enabled for the Worker.

head_sampling_rate: optional number

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

logs: optional { enabled, invocation_logs, destinations, 2 more }

Log settings for the Worker.

enabled: boolean

Whether logs are enabled for the Worker.

invocation_logs: boolean

Whether invocation logs are enabled for the Worker.

destinations: optional array of string

A list of destinations where logs will be exported to.

head_sampling_rate: optional number

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

persist: optional boolean

Whether log persistence is enabled for the Worker.

traces: optional { destinations, enabled, head_sampling_rate, persist }

Trace settings for the Worker.

destinations: optional array of string

A list of destinations where traces will be exported to.

enabled: optional boolean

Whether traces are enabled for the Worker.

head_sampling_rate: optional number

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

persist: optional boolean

Whether trace persistence is enabled for the Worker.

placement: optional { mode, last_analyzed_at, status } or { region, last_analyzed_at, status } or { hostname, last_analyzed_at, status } or 5 more

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

One of the following:
{ mode, last_analyzed_at, status }
mode: "smart"
last_analyzed_at: optional string

The last time the script was analyzed for Smart Placement.

formatdate-time
status: optional "SUCCESS" or "UNSUPPORTED_APPLICATION" or "INSUFFICIENT_INVOCATIONS"

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
{ region, last_analyzed_at, status }
region: string

Cloud region for targeted placement in format ‘provider:region’.

last_analyzed_at: optional string

The last time the script was analyzed for Smart Placement.

formatdate-time
status: optional "SUCCESS" or "UNSUPPORTED_APPLICATION" or "INSUFFICIENT_INVOCATIONS"

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
{ hostname, last_analyzed_at, status }
hostname: string

HTTP hostname for targeted placement.

last_analyzed_at: optional string

The last time the script was analyzed for Smart Placement.

formatdate-time
status: optional "SUCCESS" or "UNSUPPORTED_APPLICATION" or "INSUFFICIENT_INVOCATIONS"

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
{ host, last_analyzed_at, status }
host: string

TCP host and port for targeted placement.

last_analyzed_at: optional string

The last time the script was analyzed for Smart Placement.

formatdate-time
status: optional "SUCCESS" or "UNSUPPORTED_APPLICATION" or "INSUFFICIENT_INVOCATIONS"

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
{ mode, region, last_analyzed_at, status }
mode: "targeted"

Targeted placement mode.

region: string

Cloud region for targeted placement in format ‘provider:region’.

last_analyzed_at: optional string

The last time the script was analyzed for Smart Placement.

formatdate-time
status: optional "SUCCESS" or "UNSUPPORTED_APPLICATION" or "INSUFFICIENT_INVOCATIONS"

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
{ hostname, mode, last_analyzed_at, status }
hostname: string

HTTP hostname for targeted placement.

mode: "targeted"

Targeted placement mode.

last_analyzed_at: optional string

The last time the script was analyzed for Smart Placement.

formatdate-time
status: optional "SUCCESS" or "UNSUPPORTED_APPLICATION" or "INSUFFICIENT_INVOCATIONS"

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
{ host, mode, last_analyzed_at, status }
host: string

TCP host and port for targeted placement.

mode: "targeted"

Targeted placement mode.

last_analyzed_at: optional string

The last time the script was analyzed for Smart Placement.

formatdate-time
status: optional "SUCCESS" or "UNSUPPORTED_APPLICATION" or "INSUFFICIENT_INVOCATIONS"

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
{ mode, target, last_analyzed_at, status }
mode: "targeted"

Targeted placement mode.

target: array of { region } or { hostname } or { host }

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

One of the following:
Region { region }
region: string

Cloud region in format ‘provider:region’.

Hostname { hostname }
hostname: string

HTTP hostname for targeted placement.

Host { host }
host: string

TCP host:port for targeted placement.

last_analyzed_at: optional string

The last time the script was analyzed for Smart Placement.

formatdate-time
status: optional "SUCCESS" or "UNSUPPORTED_APPLICATION" or "INSUFFICIENT_INVOCATIONS"

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
Deprecatedplacement_mode: optional "smart" or "targeted"
One of the following:
"smart"
"targeted"
Deprecatedplacement_status: optional "SUCCESS" or "UNSUPPORTED_APPLICATION" or "INSUFFICIENT_INVOCATIONS"
One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
routes: optional array of { id, pattern, script }

Routes associated with the Worker.

id: string

Identifier.

maxLength32
pattern: string

Pattern to match incoming requests against. Learn more.

script: optional string

Name of the script to run if the route matches.

tag: optional string

The immutable ID of the script.

tags: optional array of string

Tags associated with the Worker.

tail_consumers: optional array of ConsumerScript { service, environment, namespace }

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

service: string

Name of Worker that is to be the consumer.

environment: optional string

Optional environment if the Worker utilizes one.

namespace: optional string

Optional dispatch namespace the script belongs to.

usage_model: optional "standard" or "bundled" or "unbound"

Usage model for the Worker invocations.

One of the following:
"standard"
"bundled"
"unbound"
ScriptSearchResponse = array of { id, created_on, modified_on, 4 more }
id: string

Identifier.

maxLength32
created_on: string

When the script was created.

formatdate-time
modified_on: string

When the script was last modified.

formatdate-time
script_name: string

Name of the script, used in URLs and route configuration.

environment_is_default: optional boolean

Whether the environment is the default environment.

environment_name: optional string

Name of the environment.

service_name: optional string

Name of the service.

ScriptGetResponse = string
ScriptUpdateResponse { startup_time_ms, id, compatibility_date, 20 more }
startup_time_ms: number
id: optional string

The name used to identify the script.

compatibility_date: optional string

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

compatibility_flags: optional array of string

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.

created_on: optional string

When the script was created.

formatdate-time
entry_point: optional string

The entry point for the script.

etag: optional string

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

handlers: optional array of string

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

has_assets: optional boolean

Whether a Worker contains assets.

has_modules: optional boolean

Whether a Worker contains modules.

last_deployed_from: optional string

The client most recently used to deploy this Worker.

logpush: optional boolean

Whether Logpush is turned on for the Worker.

migration_tag: optional string

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

modified_on: optional string

When the script was last modified.

formatdate-time
named_handlers: optional array of { handlers, name }

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

handlers: optional array of string

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

name: optional string

The name of the export.

observability: optional { enabled, head_sampling_rate, logs, traces }

Observability settings for the Worker.

enabled: boolean

Whether observability is enabled for the Worker.

head_sampling_rate: optional number

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

logs: optional { enabled, invocation_logs, destinations, 2 more }

Log settings for the Worker.

enabled: boolean

Whether logs are enabled for the Worker.

invocation_logs: boolean

Whether invocation logs are enabled for the Worker.

destinations: optional array of string

A list of destinations where logs will be exported to.

head_sampling_rate: optional number

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

persist: optional boolean

Whether log persistence is enabled for the Worker.

traces: optional { destinations, enabled, head_sampling_rate, persist }

Trace settings for the Worker.

destinations: optional array of string

A list of destinations where traces will be exported to.

enabled: optional boolean

Whether traces are enabled for the Worker.

head_sampling_rate: optional number

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

persist: optional boolean

Whether trace persistence is enabled for the Worker.

placement: optional { mode, last_analyzed_at, status } or { region, last_analyzed_at, status } or { hostname, last_analyzed_at, status } or 5 more

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

One of the following:
{ mode, last_analyzed_at, status }
mode: "smart"
last_analyzed_at: optional string

The last time the script was analyzed for Smart Placement.

formatdate-time
status: optional "SUCCESS" or "UNSUPPORTED_APPLICATION" or "INSUFFICIENT_INVOCATIONS"

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
{ region, last_analyzed_at, status }
region: string

Cloud region for targeted placement in format ‘provider:region’.

last_analyzed_at: optional string

The last time the script was analyzed for Smart Placement.

formatdate-time
status: optional "SUCCESS" or "UNSUPPORTED_APPLICATION" or "INSUFFICIENT_INVOCATIONS"

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
{ hostname, last_analyzed_at, status }
hostname: string

HTTP hostname for targeted placement.

last_analyzed_at: optional string

The last time the script was analyzed for Smart Placement.

formatdate-time
status: optional "SUCCESS" or "UNSUPPORTED_APPLICATION" or "INSUFFICIENT_INVOCATIONS"

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
{ host, last_analyzed_at, status }
host: string

TCP host and port for targeted placement.

last_analyzed_at: optional string

The last time the script was analyzed for Smart Placement.

formatdate-time
status: optional "SUCCESS" or "UNSUPPORTED_APPLICATION" or "INSUFFICIENT_INVOCATIONS"

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
{ mode, region, last_analyzed_at, status }
mode: "targeted"

Targeted placement mode.

region: string

Cloud region for targeted placement in format ‘provider:region’.

last_analyzed_at: optional string

The last time the script was analyzed for Smart Placement.

formatdate-time
status: optional "SUCCESS" or "UNSUPPORTED_APPLICATION" or "INSUFFICIENT_INVOCATIONS"

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
{ hostname, mode, last_analyzed_at, status }
hostname: string

HTTP hostname for targeted placement.

mode: "targeted"

Targeted placement mode.

last_analyzed_at: optional string

The last time the script was analyzed for Smart Placement.

formatdate-time
status: optional "SUCCESS" or "UNSUPPORTED_APPLICATION" or "INSUFFICIENT_INVOCATIONS"

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
{ host, mode, last_analyzed_at, status }
host: string

TCP host and port for targeted placement.

mode: "targeted"

Targeted placement mode.

last_analyzed_at: optional string

The last time the script was analyzed for Smart Placement.

formatdate-time
status: optional "SUCCESS" or "UNSUPPORTED_APPLICATION" or "INSUFFICIENT_INVOCATIONS"

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
{ mode, target, last_analyzed_at, status }
mode: "targeted"

Targeted placement mode.

target: array of { region } or { hostname } or { host }

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

One of the following:
Region { region }
region: string

Cloud region in format ‘provider:region’.

Hostname { hostname }
hostname: string

HTTP hostname for targeted placement.

Host { host }
host: string

TCP host:port for targeted placement.

last_analyzed_at: optional string

The last time the script was analyzed for Smart Placement.

formatdate-time
status: optional "SUCCESS" or "UNSUPPORTED_APPLICATION" or "INSUFFICIENT_INVOCATIONS"

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
Deprecatedplacement_mode: optional "smart" or "targeted"
One of the following:
"smart"
"targeted"
Deprecatedplacement_status: optional "SUCCESS" or "UNSUPPORTED_APPLICATION" or "INSUFFICIENT_INVOCATIONS"
One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
tag: optional string

The immutable ID of the script.

tags: optional array of string

Tags associated with the Worker.

tail_consumers: optional array of ConsumerScript { service, environment, namespace }

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

service: string

Name of Worker that is to be the consumer.

environment: optional string

Optional environment if the Worker utilizes one.

namespace: optional string

Optional dispatch namespace the script belongs to.

usage_model: optional "standard" or "bundled" or "unbound"

Usage model for the Worker invocations.

One of the following:
"standard"
"bundled"
"unbound"
ScriptDeleteResponse = unknown

WorkersScriptsAssets

WorkersScriptsAssetsUpload

Create Assets Upload Session
POST/accounts/{account_id}/workers/scripts/{script_name}/assets-upload-session
ModelsExpand Collapse
UploadCreateResponse { buckets, jwt }
buckets: optional array of array of string

The requests to make to upload assets.

jwt: optional string

A JWT to use as authentication for uploading assets.

WorkersScriptsSubdomain

Get Worker subdomain
GET/accounts/{account_id}/workers/scripts/{script_name}/subdomain
Post Worker subdomain
POST/accounts/{account_id}/workers/scripts/{script_name}/subdomain
Delete Worker subdomain
DELETE/accounts/{account_id}/workers/scripts/{script_name}/subdomain
ModelsExpand Collapse
SubdomainGetResponse { enabled, previews_enabled }
enabled: boolean

Whether the Worker is available on the workers.dev subdomain.

previews_enabled: boolean

Whether the Worker’s Preview URLs are available on the workers.dev subdomain.

SubdomainCreateResponse { enabled, previews_enabled }
enabled: boolean

Whether the Worker is available on the workers.dev subdomain.

previews_enabled: boolean

Whether the Worker’s Preview URLs are available on the workers.dev subdomain.

SubdomainDeleteResponse { enabled, previews_enabled }
enabled: boolean

Whether the Worker is available on the workers.dev subdomain.

previews_enabled: boolean

Whether the Worker’s Preview URLs are available on the workers.dev subdomain.

WorkersScriptsSchedules

Get Cron Triggers
GET/accounts/{account_id}/workers/scripts/{script_name}/schedules
Update Cron Triggers
PUT/accounts/{account_id}/workers/scripts/{script_name}/schedules
ModelsExpand Collapse
ScheduleGetResponse { schedules }
schedules: array of { cron, created_on, modified_on }
cron: string
created_on: optional string
modified_on: optional string
ScheduleUpdateResponse { schedules }
schedules: array of { cron, created_on, modified_on }
cron: string
created_on: optional string
modified_on: optional string

WorkersScriptsTail

List Tails
GET/accounts/{account_id}/workers/scripts/{script_name}/tails
Start Tail
POST/accounts/{account_id}/workers/scripts/{script_name}/tails
Delete Tail
DELETE/accounts/{account_id}/workers/scripts/{script_name}/tails/{id}
ModelsExpand Collapse
ConsumerScript { service, environment, namespace }

A reference to a script that will consume logs from the attached Worker.

service: string

Name of Worker that is to be the consumer.

environment: optional string

Optional environment if the Worker utilizes one.

namespace: optional string

Optional dispatch namespace the script belongs to.

TailGetResponse { id, expires_at, url }
id: string

Identifier.

maxLength32
expires_at: string
url: string
TailCreateResponse { id, expires_at, url }
id: string

Identifier.

maxLength32
expires_at: string
url: string
TailDeleteResponse { errors, messages, success }
errors: array of { code, message, documentation_url, source }
code: number
minimum1000
message: string
documentation_url: optional string
source: optional { pointer }
pointer: optional string
messages: array of { code, message, documentation_url, source }
code: number
minimum1000
message: string
documentation_url: optional string
source: optional { pointer }
pointer: optional string
success: true

Whether the API call was successful.

WorkersScriptsContent

Get script content
GET/accounts/{account_id}/workers/scripts/{script_name}/content/v2
Put script content
PUT/accounts/{account_id}/workers/scripts/{script_name}/content

WorkersScriptsSettings

Get Script Settings
GET/accounts/{account_id}/workers/scripts/{script_name}/script-settings
Patch Script Settings
PATCH/accounts/{account_id}/workers/scripts/{script_name}/script-settings

WorkersScriptsDeployments

List Deployments
GET/accounts/{account_id}/workers/scripts/{script_name}/deployments
Create Deployment
POST/accounts/{account_id}/workers/scripts/{script_name}/deployments
Get Deployment
GET/accounts/{account_id}/workers/scripts/{script_name}/deployments/{deployment_id}
Delete Deployment
DELETE/accounts/{account_id}/workers/scripts/{script_name}/deployments/{deployment_id}
ModelsExpand Collapse
Deployment { id, created_on, source, 4 more }
id: string
formatuuid
created_on: string
formatdate-time
source: string
strategy: "percentage"
versions: array of { percentage, version_id }
percentage: number
maximum100
minimum0.01
version_id: string
formatuuid
annotations: optional { "workers/message", "workers/triggered_by" }
"workers/message": optional string

Human-readable message about the deployment. Truncated to 100 bytes.

maxLength100
"workers/triggered_by": optional string

Operation that triggered the creation of the deployment.

author_email: optional string
formatemail
DeploymentListResponse { deployments }
deployments: array of Deployment { id, created_on, source, 4 more }
id: string
formatuuid
created_on: string
formatdate-time
source: string
strategy: "percentage"
versions: array of { percentage, version_id }
percentage: number
maximum100
minimum0.01
version_id: string
formatuuid
annotations: optional { "workers/message", "workers/triggered_by" }
"workers/message": optional string

Human-readable message about the deployment. Truncated to 100 bytes.

maxLength100
"workers/triggered_by": optional string

Operation that triggered the creation of the deployment.

author_email: optional string
formatemail
DeploymentDeleteResponse { errors, messages, success }
errors: array of { code, message, documentation_url, source }
code: number
minimum1000
message: string
documentation_url: optional string
source: optional { pointer }
pointer: optional string
messages: array of { code, message, documentation_url, source }
code: number
minimum1000
message: string
documentation_url: optional string
source: optional { pointer }
pointer: optional string
success: true

Whether the API call was successful.

WorkersScriptsVersions

List Versions
GET/accounts/{account_id}/workers/scripts/{script_name}/versions
Get Version Detail
GET/accounts/{account_id}/workers/scripts/{script_name}/versions/{version_id}
Upload Version
POST/accounts/{account_id}/workers/scripts/{script_name}/versions
ModelsExpand Collapse
VersionListResponse { id, metadata, number }
id: optional string

Unique identifier for the version.

metadata: optional { author_email, author_id, created_on, 3 more }
author_email: optional string

Email of the user who created the version.

author_id: optional string

Identifier of the user who created the version.

created_on: optional string

When the version was created.

hasPreview: optional boolean

Whether the version can be previewed.

modified_on: optional string

When the version was last modified.

source: optional "unknown" or "api" or "wrangler" or 7 more

The source of the version upload.

One of the following:
"unknown"
"api"
"wrangler"
"terraform"
"dash"
"dash_template"
"integration"
"quick_editor"
"playground"
"workersci"
number: optional number

Sequential version number.

VersionGetResponse { resources, id, metadata, number }
resources: { bindings, script, script_runtime }
bindings: optional array of { name, type } or { instance_name, name, type, namespace } or { name, namespace, type } or 31 more

List of bindings attached to a Worker. You can find more about bindings on our docs: https://developers.cloudflare.com/workers/configuration/multipart-upload-metadata/#bindings.

One of the following:
AI { name, type }
name: string

A JavaScript variable name for the binding.

type: "ai"

The kind of resource that the binding provides.

AISearch { instance_name, name, type, namespace }
instance_name: string

The user-chosen instance name. Must exist at deploy time. The worker can search, chat, update, and manage items/jobs on this instance.

name: string

A JavaScript variable name for the binding.

type: "ai_search"

The kind of resource that the binding provides.

namespace: optional string

The namespace the instance belongs to. Defaults to “default” if omitted. Customers who don’t use namespaces can simply omit this field.

AISearchNamespace { name, namespace, type }
name: string

A JavaScript variable name for the binding.

namespace: string

The user-chosen namespace name. Must exist before deploy — Wrangler handles auto-creation on deploy failure (R2 bucket pattern). The “default” namespace is auto-created by config-api for new accounts. Grants full access (CRUD + search + chat) to all instances within the namespace.

type: "ai_search_namespace"

The kind of resource that the binding provides.

AnalyticsEngine { dataset, name, type }
dataset: string

The name of the dataset to bind to.

name: string

A JavaScript variable name for the binding.

type: "analytics_engine"

The kind of resource that the binding provides.

Assets { name, type }
name: string

A JavaScript variable name for the binding.

type: "assets"

The kind of resource that the binding provides.

Browser { name, type }
name: string

A JavaScript variable name for the binding.

type: "browser"

The kind of resource that the binding provides.

D1 { id, name, type }
id: string

Identifier of the D1 database to bind to.

name: string

A JavaScript variable name for the binding.

type: "d1"

The kind of resource that the binding provides.

DataBlob { name, part, type }
name: string

A JavaScript variable name for the binding.

part: string

The name of the file containing the data content. Only accepted for service worker syntax Workers.

Deprecatedtype: "data_blob"

The kind of resource that the binding provides.

DispatchNamespace { name, namespace, type, outbound }
name: string

A JavaScript variable name for the binding.

namespace: string

The name of the dispatch namespace.

type: "dispatch_namespace"

The kind of resource that the binding provides.

outbound: optional { params, worker }

Outbound worker.

params: optional array of { name }

Pass information from the Dispatch Worker to the Outbound Worker through the parameters.

name: string

Name of the parameter.

worker: optional { entrypoint, environment, service }

Outbound worker.

entrypoint: optional string

Entrypoint to invoke on the outbound worker.

environment: optional string

Environment of the outbound worker.

service: optional string

Name of the outbound worker.

DurableObjectNamespace { name, type, class_name, 4 more }
name: string

A JavaScript variable name for the binding.

type: "durable_object_namespace"

The kind of resource that the binding provides.

class_name: optional string

The exported class name of the Durable Object.

dispatch_namespace: optional string

The dispatch namespace the Durable Object script belongs to.

environment: optional string

The environment of the script_name to bind to.

namespace_id: optional string

Namespace identifier tag.

maxLength32
script_name: optional string

The script where the Durable Object is defined, if it is external to this Worker.

Hyperdrive { id, name, type }
id: string

Identifier of the Hyperdrive connection to bind to.

name: string

A JavaScript variable name for the binding.

type: "hyperdrive"

The kind of resource that the binding provides.

Inherit { name, type, old_name, version_id }
name: string

The name of the inherited binding.

type: "inherit"

The kind of resource that the binding provides.

old_name: optional string

The old name of the inherited binding. If set, the binding will be renamed from old_name to name in the new version. If not set, the binding will keep the same name between versions.

version_id: optional string

Identifier for the version to inherit the binding from, which can be the version ID or the literal “latest” to inherit from the latest version. Defaults to inheriting the binding from the latest version.

Images { name, type }
name: string

A JavaScript variable name for the binding.

type: "images"

The kind of resource that the binding provides.

Json { json, name, type }
json: unknown

JSON data to use.

name: string

A JavaScript variable name for the binding.

type: "json"

The kind of resource that the binding provides.

KVNamespace { name, namespace_id, type }
name: string

A JavaScript variable name for the binding.

namespace_id: string

Namespace identifier tag.

maxLength32
type: "kv_namespace"

The kind of resource that the binding provides.

Media { name, type }
name: string

A JavaScript variable name for the binding.

type: "media"

The kind of resource that the binding provides.

MTLSCertificate { certificate_id, name, type }
certificate_id: string

Identifier of the certificate to bind to.

name: string

A JavaScript variable name for the binding.

type: "mtls_certificate"

The kind of resource that the binding provides.

PlainText { name, text, type }
name: string

A JavaScript variable name for the binding.

text: string

The text value to use.

type: "plain_text"

The kind of resource that the binding provides.

Pipelines { name, pipeline, type }
name: string

A JavaScript variable name for the binding.

pipeline: string

Name of the Pipeline to bind to.

type: "pipelines"

The kind of resource that the binding provides.

Queue { name, queue_name, type }
name: string

A JavaScript variable name for the binding.

queue_name: string

Name of the Queue to bind to.

type: "queue"

The kind of resource that the binding provides.

Ratelimit { name, namespace_id, simple, type }
name: string

A JavaScript variable name for the binding.

namespace_id: string

Identifier of the rate limit namespace to bind to.

simple: { limit, period }

The rate limit configuration.

limit: number

The limit (requests per period).

period: number

The period in seconds.

type: "ratelimit"

The kind of resource that the binding provides.

R2Bucket { bucket_name, name, type, jurisdiction }
bucket_name: string

R2 bucket to bind to.

name: string

A JavaScript variable name for the binding.

type: "r2_bucket"

The kind of resource that the binding provides.

jurisdiction: optional "eu" or "fedramp" or "fedramp-high"

The jurisdiction of the R2 bucket.

One of the following:
"eu"
"fedramp"
"fedramp-high"
SecretText { name, text, type }
name: string

A JavaScript variable name for the binding.

text: string

The secret value to use.

type: "secret_text"

The kind of resource that the binding provides.

SendEmail { name, type, allowed_destination_addresses, 2 more }
name: string

A JavaScript variable name for the binding.

type: "send_email"

The kind of resource that the binding provides.

allowed_destination_addresses: optional array of string

List of allowed destination addresses.

allowed_sender_addresses: optional array of string

List of allowed sender addresses.

destination_address: optional string

Destination address for the email.

formatemail
Service { name, service, type, 2 more }
name: string

A JavaScript variable name for the binding.

service: string

Name of Worker to bind to.

type: "service"

The kind of resource that the binding provides.

entrypoint: optional string

Entrypoint to invoke on the target Worker.

environment: optional string

Optional environment if the Worker utilizes one.

TextBlob { name, part, type }
name: string

A JavaScript variable name for the binding.

part: string

The name of the file containing the text content. Only accepted for service worker syntax Workers.

Deprecatedtype: "text_blob"

The kind of resource that the binding provides.

Vectorize { index_name, name, type }
index_name: string

Name of the Vectorize index to bind to.

name: string

A JavaScript variable name for the binding.

type: "vectorize"

The kind of resource that the binding provides.

VersionMetadata { name, type }
name: string

A JavaScript variable name for the binding.

type: "version_metadata"

The kind of resource that the binding provides.

SecretsStoreSecret { name, secret_name, store_id, type }
name: string

A JavaScript variable name for the binding.

secret_name: string

Name of the secret in the store.

store_id: string

ID of the store containing the secret.

type: "secrets_store_secret"

The kind of resource that the binding provides.

SecretKey { algorithm, format, name, 4 more }
algorithm: unknown

Algorithm-specific key parameters. Learn more.

format: "raw" or "pkcs8" or "spki" or "jwk"

Data format of the key. Learn more.

One of the following:
"raw"
"pkcs8"
"spki"
"jwk"
name: string

A JavaScript variable name for the binding.

type: "secret_key"

The kind of resource that the binding provides.

usages: array of "encrypt" or "decrypt" or "sign" or 5 more

Allowed operations with the key. Learn more.

One of the following:
"encrypt"
"decrypt"
"sign"
"verify"
"deriveKey"
"deriveBits"
"wrapKey"
"unwrapKey"
key_base64: optional string

Base64-encoded key data. Required if format is “raw”, “pkcs8”, or “spki”.

key_jwk: optional unknown

Key data in JSON Web Key format. Required if format is “jwk”.

Workflow { name, type, workflow_name, 2 more }
name: string

A JavaScript variable name for the binding.

type: "workflow"

The kind of resource that the binding provides.

workflow_name: string

Name of the Workflow to bind to.

class_name: optional string

Class name of the Workflow. Should only be provided if the Workflow belongs to this script.

script_name: optional string

Script name that contains the Workflow. If not provided, defaults to this script name.

WasmModule { name, part, type }
name: string

A JavaScript variable name for the binding.

part: string

The name of the file containing the WebAssembly module content. Only accepted for service worker syntax Workers.

Deprecatedtype: "wasm_module"

The kind of resource that the binding provides.

VPCService { name, service_id, type }
name: string

A JavaScript variable name for the binding.

service_id: string

Identifier of the VPC service to bind to.

type: "vpc_service"

The kind of resource that the binding provides.

VPCNetwork { name, type, network_id, tunnel_id }
name: string

A JavaScript variable name for the binding.

type: "vpc_network"

The kind of resource that the binding provides.

network_id: optional string

Identifier of the network to bind to. Only “cf1:network” is currently supported. Mutually exclusive with tunnel_id.

tunnel_id: optional string

UUID of the Cloudflare Tunnel to bind to. Mutually exclusive with network_id.

script: optional { etag, handlers, last_deployed_from, named_handlers }
etag: optional string

Hashed script content

handlers: optional array of string

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

last_deployed_from: optional string

The client most recently used to deploy this Worker.

named_handlers: optional array of { handlers, name }

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

handlers: optional array of string

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

name: optional string

The name of the exported class or entrypoint.

script_runtime: optional { compatibility_date, compatibility_flags, limits, 2 more }

Runtime configuration for the Worker.

compatibility_date: optional string

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

compatibility_flags: optional array of string

Flags that enable or disable certain features in the Workers runtime.

limits: optional { cpu_ms }

Resource limits for the Worker.

cpu_ms: optional number

The amount of CPU time this Worker can use in milliseconds.

migration_tag: optional string

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

usage_model: optional "bundled" or "unbound" or "standard"

Usage model for the Worker invocations.

One of the following:
"bundled"
"unbound"
"standard"
id: optional string

Unique identifier for the version.

metadata: optional { author_email, author_id, created_on, 3 more }
author_email: optional string

Email of the user who created the version.

author_id: optional string

Identifier of the user who created the version.

created_on: optional string

When the version was created.

hasPreview: optional boolean

Whether the version can be previewed.

modified_on: optional string

When the version was last modified.

source: optional "unknown" or "api" or "wrangler" or 7 more

The source of the version upload.

One of the following:
"unknown"
"api"
"wrangler"
"terraform"
"dash"
"dash_template"
"integration"
"quick_editor"
"playground"
"workersci"
number: optional number

Sequential version number.

VersionCreateResponse { resources, id, metadata, 2 more }
resources: { bindings, script, script_runtime }
bindings: optional array of { name, type } or { instance_name, name, type, namespace } or { name, namespace, type } or 31 more

List of bindings attached to a Worker. You can find more about bindings on our docs: https://developers.cloudflare.com/workers/configuration/multipart-upload-metadata/#bindings.

One of the following:
AI { name, type }
name: string

A JavaScript variable name for the binding.

type: "ai"

The kind of resource that the binding provides.

AISearch { instance_name, name, type, namespace }
instance_name: string

The user-chosen instance name. Must exist at deploy time. The worker can search, chat, update, and manage items/jobs on this instance.

name: string

A JavaScript variable name for the binding.

type: "ai_search"

The kind of resource that the binding provides.

namespace: optional string

The namespace the instance belongs to. Defaults to “default” if omitted. Customers who don’t use namespaces can simply omit this field.

AISearchNamespace { name, namespace, type }
name: string

A JavaScript variable name for the binding.

namespace: string

The user-chosen namespace name. Must exist before deploy — Wrangler handles auto-creation on deploy failure (R2 bucket pattern). The “default” namespace is auto-created by config-api for new accounts. Grants full access (CRUD + search + chat) to all instances within the namespace.

type: "ai_search_namespace"

The kind of resource that the binding provides.

AnalyticsEngine { dataset, name, type }
dataset: string

The name of the dataset to bind to.

name: string

A JavaScript variable name for the binding.

type: "analytics_engine"

The kind of resource that the binding provides.

Assets { name, type }
name: string

A JavaScript variable name for the binding.

type: "assets"

The kind of resource that the binding provides.

Browser { name, type }
name: string

A JavaScript variable name for the binding.

type: "browser"

The kind of resource that the binding provides.

D1 { id, name, type }
id: string

Identifier of the D1 database to bind to.

name: string

A JavaScript variable name for the binding.

type: "d1"

The kind of resource that the binding provides.

DataBlob { name, part, type }
name: string

A JavaScript variable name for the binding.

part: string

The name of the file containing the data content. Only accepted for service worker syntax Workers.

Deprecatedtype: "data_blob"

The kind of resource that the binding provides.

DispatchNamespace { name, namespace, type, outbound }
name: string

A JavaScript variable name for the binding.

namespace: string

The name of the dispatch namespace.

type: "dispatch_namespace"

The kind of resource that the binding provides.

outbound: optional { params, worker }

Outbound worker.

params: optional array of { name }

Pass information from the Dispatch Worker to the Outbound Worker through the parameters.

name: string

Name of the parameter.

worker: optional { entrypoint, environment, service }

Outbound worker.

entrypoint: optional string

Entrypoint to invoke on the outbound worker.

environment: optional string

Environment of the outbound worker.

service: optional string

Name of the outbound worker.

DurableObjectNamespace { name, type, class_name, 4 more }
name: string

A JavaScript variable name for the binding.

type: "durable_object_namespace"

The kind of resource that the binding provides.

class_name: optional string

The exported class name of the Durable Object.

dispatch_namespace: optional string

The dispatch namespace the Durable Object script belongs to.

environment: optional string

The environment of the script_name to bind to.

namespace_id: optional string

Namespace identifier tag.

maxLength32
script_name: optional string

The script where the Durable Object is defined, if it is external to this Worker.

Hyperdrive { id, name, type }
id: string

Identifier of the Hyperdrive connection to bind to.

name: string

A JavaScript variable name for the binding.

type: "hyperdrive"

The kind of resource that the binding provides.

Inherit { name, type, old_name, version_id }
name: string

The name of the inherited binding.

type: "inherit"

The kind of resource that the binding provides.

old_name: optional string

The old name of the inherited binding. If set, the binding will be renamed from old_name to name in the new version. If not set, the binding will keep the same name between versions.

version_id: optional string

Identifier for the version to inherit the binding from, which can be the version ID or the literal “latest” to inherit from the latest version. Defaults to inheriting the binding from the latest version.

Images { name, type }
name: string

A JavaScript variable name for the binding.

type: "images"

The kind of resource that the binding provides.

Json { json, name, type }
json: unknown

JSON data to use.

name: string

A JavaScript variable name for the binding.

type: "json"

The kind of resource that the binding provides.

KVNamespace { name, namespace_id, type }
name: string

A JavaScript variable name for the binding.

namespace_id: string

Namespace identifier tag.

maxLength32
type: "kv_namespace"

The kind of resource that the binding provides.

Media { name, type }
name: string

A JavaScript variable name for the binding.

type: "media"

The kind of resource that the binding provides.

MTLSCertificate { certificate_id, name, type }
certificate_id: string

Identifier of the certificate to bind to.

name: string

A JavaScript variable name for the binding.

type: "mtls_certificate"

The kind of resource that the binding provides.

PlainText { name, text, type }
name: string

A JavaScript variable name for the binding.

text: string

The text value to use.

type: "plain_text"

The kind of resource that the binding provides.

Pipelines { name, pipeline, type }
name: string

A JavaScript variable name for the binding.

pipeline: string

Name of the Pipeline to bind to.

type: "pipelines"

The kind of resource that the binding provides.

Queue { name, queue_name, type }
name: string

A JavaScript variable name for the binding.

queue_name: string

Name of the Queue to bind to.

type: "queue"

The kind of resource that the binding provides.

Ratelimit { name, namespace_id, simple, type }
name: string

A JavaScript variable name for the binding.

namespace_id: string

Identifier of the rate limit namespace to bind to.

simple: { limit, period }

The rate limit configuration.

limit: number

The limit (requests per period).

period: number

The period in seconds.

type: "ratelimit"

The kind of resource that the binding provides.

R2Bucket { bucket_name, name, type, jurisdiction }
bucket_name: string

R2 bucket to bind to.

name: string

A JavaScript variable name for the binding.

type: "r2_bucket"

The kind of resource that the binding provides.

jurisdiction: optional "eu" or "fedramp" or "fedramp-high"

The jurisdiction of the R2 bucket.

One of the following:
"eu"
"fedramp"
"fedramp-high"
SecretText { name, text, type }
name: string

A JavaScript variable name for the binding.

text: string

The secret value to use.

type: "secret_text"

The kind of resource that the binding provides.

SendEmail { name, type, allowed_destination_addresses, 2 more }
name: string

A JavaScript variable name for the binding.

type: "send_email"

The kind of resource that the binding provides.

allowed_destination_addresses: optional array of string

List of allowed destination addresses.

allowed_sender_addresses: optional array of string

List of allowed sender addresses.

destination_address: optional string

Destination address for the email.

formatemail
Service { name, service, type, 2 more }
name: string

A JavaScript variable name for the binding.

service: string

Name of Worker to bind to.

type: "service"

The kind of resource that the binding provides.

entrypoint: optional string

Entrypoint to invoke on the target Worker.

environment: optional string

Optional environment if the Worker utilizes one.

TextBlob { name, part, type }
name: string

A JavaScript variable name for the binding.

part: string

The name of the file containing the text content. Only accepted for service worker syntax Workers.

Deprecatedtype: "text_blob"

The kind of resource that the binding provides.

Vectorize { index_name, name, type }
index_name: string

Name of the Vectorize index to bind to.

name: string

A JavaScript variable name for the binding.

type: "vectorize"

The kind of resource that the binding provides.

VersionMetadata { name, type }
name: string

A JavaScript variable name for the binding.

type: "version_metadata"

The kind of resource that the binding provides.

SecretsStoreSecret { name, secret_name, store_id, type }
name: string

A JavaScript variable name for the binding.

secret_name: string

Name of the secret in the store.

store_id: string

ID of the store containing the secret.

type: "secrets_store_secret"

The kind of resource that the binding provides.

SecretKey { algorithm, format, name, 4 more }
algorithm: unknown

Algorithm-specific key parameters. Learn more.

format: "raw" or "pkcs8" or "spki" or "jwk"

Data format of the key. Learn more.

One of the following:
"raw"
"pkcs8"
"spki"
"jwk"
name: string

A JavaScript variable name for the binding.

type: "secret_key"

The kind of resource that the binding provides.

usages: array of "encrypt" or "decrypt" or "sign" or 5 more

Allowed operations with the key. Learn more.

One of the following:
"encrypt"
"decrypt"
"sign"
"verify"
"deriveKey"
"deriveBits"
"wrapKey"
"unwrapKey"
key_base64: optional string

Base64-encoded key data. Required if format is “raw”, “pkcs8”, or “spki”.

key_jwk: optional unknown

Key data in JSON Web Key format. Required if format is “jwk”.

Workflow { name, type, workflow_name, 2 more }
name: string

A JavaScript variable name for the binding.

type: "workflow"

The kind of resource that the binding provides.

workflow_name: string

Name of the Workflow to bind to.

class_name: optional string

Class name of the Workflow. Should only be provided if the Workflow belongs to this script.

script_name: optional string

Script name that contains the Workflow. If not provided, defaults to this script name.

WasmModule { name, part, type }
name: string

A JavaScript variable name for the binding.

part: string

The name of the file containing the WebAssembly module content. Only accepted for service worker syntax Workers.

Deprecatedtype: "wasm_module"

The kind of resource that the binding provides.

VPCService { name, service_id, type }
name: string

A JavaScript variable name for the binding.

service_id: string

Identifier of the VPC service to bind to.

type: "vpc_service"

The kind of resource that the binding provides.

VPCNetwork { name, type, network_id, tunnel_id }
name: string

A JavaScript variable name for the binding.

type: "vpc_network"

The kind of resource that the binding provides.

network_id: optional string

Identifier of the network to bind to. Only “cf1:network” is currently supported. Mutually exclusive with tunnel_id.

tunnel_id: optional string

UUID of the Cloudflare Tunnel to bind to. Mutually exclusive with network_id.

script: optional { etag, handlers, last_deployed_from, named_handlers }
etag: optional string

Hashed script content

handlers: optional array of string

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

last_deployed_from: optional string

The client most recently used to deploy this Worker.

named_handlers: optional array of { handlers, name }

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

handlers: optional array of string

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

name: optional string

The name of the exported class or entrypoint.

script_runtime: optional { compatibility_date, compatibility_flags, limits, 2 more }

Runtime configuration for the Worker.

compatibility_date: optional string

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

compatibility_flags: optional array of string

Flags that enable or disable certain features in the Workers runtime.

limits: optional { cpu_ms }

Resource limits for the Worker.

cpu_ms: optional number

The amount of CPU time this Worker can use in milliseconds.

migration_tag: optional string

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

usage_model: optional "bundled" or "unbound" or "standard"

Usage model for the Worker invocations.

One of the following:
"bundled"
"unbound"
"standard"
id: optional string

Unique identifier for the version.

metadata: optional { author_email, author_id, created_on, 3 more }
author_email: optional string

Email of the user who created the version.

author_id: optional string

Identifier of the user who created the version.

created_on: optional string

When the version was created.

hasPreview: optional boolean

Whether the version can be previewed.

modified_on: optional string

When the version was last modified.

source: optional "unknown" or "api" or "wrangler" or 7 more

The source of the version upload.

One of the following:
"unknown"
"api"
"wrangler"
"terraform"
"dash"
"dash_template"
"integration"
"quick_editor"
"playground"
"workersci"
number: optional number

Sequential version number.

startup_time_ms: optional number

Time in milliseconds spent on Worker startup.

WorkersScriptsSecrets

List script secrets
GET/accounts/{account_id}/workers/scripts/{script_name}/secrets
Get secret binding
GET/accounts/{account_id}/workers/scripts/{script_name}/secrets/{secret_name}
Add script secret
PUT/accounts/{account_id}/workers/scripts/{script_name}/secrets
Delete script secret
DELETE/accounts/{account_id}/workers/scripts/{script_name}/secrets/{secret_name}
ModelsExpand Collapse
SecretListResponse = { name, text, type } or { algorithm, format, name, 4 more }

A secret value accessible through a binding.

One of the following:
SecretText { name, text, type }
name: string

A JavaScript variable name for the binding.

text: string

The secret value to use.

type: "secret_text"

The kind of resource that the binding provides.

SecretKey { algorithm, format, name, 4 more }
algorithm: unknown

Algorithm-specific key parameters. Learn more.

format: "raw" or "pkcs8" or "spki" or "jwk"

Data format of the key. Learn more.

One of the following:
"raw"
"pkcs8"
"spki"
"jwk"
name: string

A JavaScript variable name for the binding.

type: "secret_key"

The kind of resource that the binding provides.

usages: array of "encrypt" or "decrypt" or "sign" or 5 more

Allowed operations with the key. Learn more.

One of the following:
"encrypt"
"decrypt"
"sign"
"verify"
"deriveKey"
"deriveBits"
"wrapKey"
"unwrapKey"
key_base64: optional string

Base64-encoded key data. Required if format is “raw”, “pkcs8”, or “spki”.

key_jwk: optional unknown

Key data in JSON Web Key format. Required if format is “jwk”.

SecretGetResponse = { name, text, type } or { algorithm, format, name, 4 more }

A secret value accessible through a binding.

One of the following:
SecretText { name, text, type }
name: string

A JavaScript variable name for the binding.

text: string

The secret value to use.

type: "secret_text"

The kind of resource that the binding provides.

SecretKey { algorithm, format, name, 4 more }
algorithm: unknown

Algorithm-specific key parameters. Learn more.

format: "raw" or "pkcs8" or "spki" or "jwk"

Data format of the key. Learn more.

One of the following:
"raw"
"pkcs8"
"spki"
"jwk"
name: string

A JavaScript variable name for the binding.

type: "secret_key"

The kind of resource that the binding provides.

usages: array of "encrypt" or "decrypt" or "sign" or 5 more

Allowed operations with the key. Learn more.

One of the following:
"encrypt"
"decrypt"
"sign"
"verify"
"deriveKey"
"deriveBits"
"wrapKey"
"unwrapKey"
key_base64: optional string

Base64-encoded key data. Required if format is “raw”, “pkcs8”, or “spki”.

key_jwk: optional unknown

Key data in JSON Web Key format. Required if format is “jwk”.

SecretUpdateResponse = { name, text, type } or { algorithm, format, name, 4 more }

A secret value accessible through a binding.

One of the following:
SecretText { name, text, type }
name: string

A JavaScript variable name for the binding.

text: string

The secret value to use.

type: "secret_text"

The kind of resource that the binding provides.

SecretKey { algorithm, format, name, 4 more }
algorithm: unknown

Algorithm-specific key parameters. Learn more.

format: "raw" or "pkcs8" or "spki" or "jwk"

Data format of the key. Learn more.

One of the following:
"raw"
"pkcs8"
"spki"
"jwk"
name: string

A JavaScript variable name for the binding.

type: "secret_key"

The kind of resource that the binding provides.

usages: array of "encrypt" or "decrypt" or "sign" or 5 more

Allowed operations with the key. Learn more.

One of the following:
"encrypt"
"decrypt"
"sign"
"verify"
"deriveKey"
"deriveBits"
"wrapKey"
"unwrapKey"
key_base64: optional string

Base64-encoded key data. Required if format is “raw”, “pkcs8”, or “spki”.

key_jwk: optional unknown

Key data in JSON Web Key format. Required if format is “jwk”.

SecretDeleteResponse = unknown

WorkersScriptsScript And Version Settings

Get Settings
GET/accounts/{account_id}/workers/scripts/{script_name}/settings
Patch Settings
PATCH/accounts/{account_id}/workers/scripts/{script_name}/settings
ModelsExpand Collapse
ScriptAndVersionSettingGetResponse { annotations, bindings, compatibility_date, 9 more }
annotations: optional { "workers/message", "workers/tag", "workers/triggered_by" }

Annotations for the Worker version. Annotations are not inherited across settings updates; omitting this field means the new version will have no annotations.

"workers/message": optional string

Human-readable message about the version.

maxLength100
"workers/tag": optional string

User-provided identifier for the version.

maxLength25
"workers/triggered_by": optional string

Operation that triggered the creation of the version. This is read-only and set by the server.

bindings: optional array of { name, type } or { instance_name, name, type, namespace } or { name, namespace, type } or 31 more

List of bindings attached to a Worker. You can find more about bindings on our docs: https://developers.cloudflare.com/workers/configuration/multipart-upload-metadata/#bindings.

One of the following:
AI { name, type }
name: string

A JavaScript variable name for the binding.

type: "ai"

The kind of resource that the binding provides.

AISearch { instance_name, name, type, namespace }
instance_name: string

The user-chosen instance name. Must exist at deploy time. The worker can search, chat, update, and manage items/jobs on this instance.

name: string

A JavaScript variable name for the binding.

type: "ai_search"

The kind of resource that the binding provides.

namespace: optional string

The namespace the instance belongs to. Defaults to “default” if omitted. Customers who don’t use namespaces can simply omit this field.

AISearchNamespace { name, namespace, type }
name: string

A JavaScript variable name for the binding.

namespace: string

The user-chosen namespace name. Must exist before deploy — Wrangler handles auto-creation on deploy failure (R2 bucket pattern). The “default” namespace is auto-created by config-api for new accounts. Grants full access (CRUD + search + chat) to all instances within the namespace.

type: "ai_search_namespace"

The kind of resource that the binding provides.

AnalyticsEngine { dataset, name, type }
dataset: string

The name of the dataset to bind to.

name: string

A JavaScript variable name for the binding.

type: "analytics_engine"

The kind of resource that the binding provides.

Assets { name, type }
name: string

A JavaScript variable name for the binding.

type: "assets"

The kind of resource that the binding provides.

Browser { name, type }
name: string

A JavaScript variable name for the binding.

type: "browser"

The kind of resource that the binding provides.

D1 { id, name, type }
id: string

Identifier of the D1 database to bind to.

name: string

A JavaScript variable name for the binding.

type: "d1"

The kind of resource that the binding provides.

DataBlob { name, part, type }
name: string

A JavaScript variable name for the binding.

part: string

The name of the file containing the data content. Only accepted for service worker syntax Workers.

Deprecatedtype: "data_blob"

The kind of resource that the binding provides.

DispatchNamespace { name, namespace, type, outbound }
name: string

A JavaScript variable name for the binding.

namespace: string

The name of the dispatch namespace.

type: "dispatch_namespace"

The kind of resource that the binding provides.

outbound: optional { params, worker }

Outbound worker.

params: optional array of { name }

Pass information from the Dispatch Worker to the Outbound Worker through the parameters.

name: string

Name of the parameter.

worker: optional { entrypoint, environment, service }

Outbound worker.

entrypoint: optional string

Entrypoint to invoke on the outbound worker.

environment: optional string

Environment of the outbound worker.

service: optional string

Name of the outbound worker.

DurableObjectNamespace { name, type, class_name, 4 more }
name: string

A JavaScript variable name for the binding.

type: "durable_object_namespace"

The kind of resource that the binding provides.

class_name: optional string

The exported class name of the Durable Object.

dispatch_namespace: optional string

The dispatch namespace the Durable Object script belongs to.

environment: optional string

The environment of the script_name to bind to.

namespace_id: optional string

Namespace identifier tag.

maxLength32
script_name: optional string

The script where the Durable Object is defined, if it is external to this Worker.

Hyperdrive { id, name, type }
id: string

Identifier of the Hyperdrive connection to bind to.

name: string

A JavaScript variable name for the binding.

type: "hyperdrive"

The kind of resource that the binding provides.

Inherit { name, type, old_name, version_id }
name: string

The name of the inherited binding.

type: "inherit"

The kind of resource that the binding provides.

old_name: optional string

The old name of the inherited binding. If set, the binding will be renamed from old_name to name in the new version. If not set, the binding will keep the same name between versions.

version_id: optional string

Identifier for the version to inherit the binding from, which can be the version ID or the literal “latest” to inherit from the latest version. Defaults to inheriting the binding from the latest version.

Images { name, type }
name: string

A JavaScript variable name for the binding.

type: "images"

The kind of resource that the binding provides.

Json { json, name, type }
json: unknown

JSON data to use.

name: string

A JavaScript variable name for the binding.

type: "json"

The kind of resource that the binding provides.

KVNamespace { name, namespace_id, type }
name: string

A JavaScript variable name for the binding.

namespace_id: string

Namespace identifier tag.

maxLength32
type: "kv_namespace"

The kind of resource that the binding provides.

Media { name, type }
name: string

A JavaScript variable name for the binding.

type: "media"

The kind of resource that the binding provides.

MTLSCertificate { certificate_id, name, type }
certificate_id: string

Identifier of the certificate to bind to.

name: string

A JavaScript variable name for the binding.

type: "mtls_certificate"

The kind of resource that the binding provides.

PlainText { name, text, type }
name: string

A JavaScript variable name for the binding.

text: string

The text value to use.

type: "plain_text"

The kind of resource that the binding provides.

Pipelines { name, pipeline, type }
name: string

A JavaScript variable name for the binding.

pipeline: string

Name of the Pipeline to bind to.

type: "pipelines"

The kind of resource that the binding provides.

Queue { name, queue_name, type }
name: string

A JavaScript variable name for the binding.

queue_name: string

Name of the Queue to bind to.

type: "queue"

The kind of resource that the binding provides.

Ratelimit { name, namespace_id, simple, type }
name: string

A JavaScript variable name for the binding.

namespace_id: string

Identifier of the rate limit namespace to bind to.

simple: { limit, period }

The rate limit configuration.

limit: number

The limit (requests per period).

period: number

The period in seconds.

type: "ratelimit"

The kind of resource that the binding provides.

R2Bucket { bucket_name, name, type, jurisdiction }
bucket_name: string

R2 bucket to bind to.

name: string

A JavaScript variable name for the binding.

type: "r2_bucket"

The kind of resource that the binding provides.

jurisdiction: optional "eu" or "fedramp" or "fedramp-high"

The jurisdiction of the R2 bucket.

One of the following:
"eu"
"fedramp"
"fedramp-high"
SecretText { name, text, type }
name: string

A JavaScript variable name for the binding.

text: string

The secret value to use.

type: "secret_text"

The kind of resource that the binding provides.

SendEmail { name, type, allowed_destination_addresses, 2 more }
name: string

A JavaScript variable name for the binding.

type: "send_email"

The kind of resource that the binding provides.

allowed_destination_addresses: optional array of string

List of allowed destination addresses.

allowed_sender_addresses: optional array of string

List of allowed sender addresses.

destination_address: optional string

Destination address for the email.

formatemail
Service { name, service, type, 2 more }
name: string

A JavaScript variable name for the binding.

service: string

Name of Worker to bind to.

type: "service"

The kind of resource that the binding provides.

entrypoint: optional string

Entrypoint to invoke on the target Worker.

environment: optional string

Optional environment if the Worker utilizes one.

TextBlob { name, part, type }
name: string

A JavaScript variable name for the binding.

part: string

The name of the file containing the text content. Only accepted for service worker syntax Workers.

Deprecatedtype: "text_blob"

The kind of resource that the binding provides.

Vectorize { index_name, name, type }
index_name: string

Name of the Vectorize index to bind to.

name: string

A JavaScript variable name for the binding.

type: "vectorize"

The kind of resource that the binding provides.

VersionMetadata { name, type }
name: string

A JavaScript variable name for the binding.

type: "version_metadata"

The kind of resource that the binding provides.

SecretsStoreSecret { name, secret_name, store_id, type }
name: string

A JavaScript variable name for the binding.

secret_name: string

Name of the secret in the store.

store_id: string

ID of the store containing the secret.

type: "secrets_store_secret"

The kind of resource that the binding provides.

SecretKey { algorithm, format, name, 4 more }
algorithm: unknown

Algorithm-specific key parameters. Learn more.

format: "raw" or "pkcs8" or "spki" or "jwk"

Data format of the key. Learn more.

One of the following:
"raw"
"pkcs8"
"spki"
"jwk"
name: string

A JavaScript variable name for the binding.

type: "secret_key"

The kind of resource that the binding provides.

usages: array of "encrypt" or "decrypt" or "sign" or 5 more

Allowed operations with the key. Learn more.

One of the following:
"encrypt"
"decrypt"
"sign"
"verify"
"deriveKey"
"deriveBits"
"wrapKey"
"unwrapKey"
key_base64: optional string

Base64-encoded key data. Required if format is “raw”, “pkcs8”, or “spki”.

key_jwk: optional unknown

Key data in JSON Web Key format. Required if format is “jwk”.

Workflow { name, type, workflow_name, 2 more }
name: string

A JavaScript variable name for the binding.

type: "workflow"

The kind of resource that the binding provides.

workflow_name: string

Name of the Workflow to bind to.

class_name: optional string

Class name of the Workflow. Should only be provided if the Workflow belongs to this script.

script_name: optional string

Script name that contains the Workflow. If not provided, defaults to this script name.

WasmModule { name, part, type }
name: string

A JavaScript variable name for the binding.

part: string

The name of the file containing the WebAssembly module content. Only accepted for service worker syntax Workers.

Deprecatedtype: "wasm_module"

The kind of resource that the binding provides.

VPCService { name, service_id, type }
name: string

A JavaScript variable name for the binding.

service_id: string

Identifier of the VPC service to bind to.

type: "vpc_service"

The kind of resource that the binding provides.

VPCNetwork { name, type, network_id, tunnel_id }
name: string

A JavaScript variable name for the binding.

type: "vpc_network"

The kind of resource that the binding provides.

network_id: optional string

Identifier of the network to bind to. Only “cf1:network” is currently supported. Mutually exclusive with tunnel_id.

tunnel_id: optional string

UUID of the Cloudflare Tunnel to bind to. Mutually exclusive with network_id.

compatibility_date: optional string

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

compatibility_flags: optional array of string

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.

limits: optional { cpu_ms }

Limits to apply for this Worker.

cpu_ms: optional number

The amount of CPU time this Worker can use in milliseconds.

logpush: optional boolean

Whether Logpush is turned on for the Worker.

migrations: optional SingleStepMigration { deleted_classes, new_classes, new_sqlite_classes, 4 more } or { new_tag, old_tag, steps }

Migrations to apply for Durable Objects associated with this Worker.

One of the following:
SingleStepMigration { deleted_classes, new_classes, new_sqlite_classes, 4 more }

A single set of migrations to apply.

deleted_classes: optional array of string

A list of classes to delete Durable Object namespaces from.

new_classes: optional array of string

A list of classes to create Durable Object namespaces from.

new_sqlite_classes: optional array of string

A list of classes to create Durable Object namespaces with SQLite from.

new_tag: optional string

Tag to set as the latest migration tag.

old_tag: optional string

Tag used to verify against the latest migration tag for this Worker. If they don’t match, the upload is rejected.

renamed_classes: optional array of { from, to }

A list of classes with Durable Object namespaces that were renamed.

from: optional string
to: optional string
transferred_classes: optional array of { from, from_script, to }

A list of transfers for Durable Object namespaces from a different Worker and class to a class defined in this Worker.

from: optional string
from_script: optional string
to: optional string
WorkersMultipleStepMigrations { new_tag, old_tag, steps }
new_tag: optional string

Tag to set as the latest migration tag.

old_tag: optional string

Tag used to verify against the latest migration tag for this Worker. If they don’t match, the upload is rejected.

steps: optional array of MigrationStep { deleted_classes, new_classes, new_sqlite_classes, 2 more }

Migrations to apply in order.

deleted_classes: optional array of string

A list of classes to delete Durable Object namespaces from.

new_classes: optional array of string

A list of classes to create Durable Object namespaces from.

new_sqlite_classes: optional array of string

A list of classes to create Durable Object namespaces with SQLite from.

renamed_classes: optional array of { from, to }

A list of classes with Durable Object namespaces that were renamed.

from: optional string
to: optional string
transferred_classes: optional array of { from, from_script, to }

A list of transfers for Durable Object namespaces from a different Worker and class to a class defined in this Worker.

from: optional string
from_script: optional string
to: optional string
observability: optional { enabled, head_sampling_rate, logs, traces }

Observability settings for the Worker.

enabled: boolean

Whether observability is enabled for the Worker.

head_sampling_rate: optional number

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

logs: optional { enabled, invocation_logs, destinations, 2 more }

Log settings for the Worker.

enabled: boolean

Whether logs are enabled for the Worker.

invocation_logs: boolean

Whether invocation logs are enabled for the Worker.

destinations: optional array of string

A list of destinations where logs will be exported to.

head_sampling_rate: optional number

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

persist: optional boolean

Whether log persistence is enabled for the Worker.

traces: optional { destinations, enabled, head_sampling_rate, persist }

Trace settings for the Worker.

destinations: optional array of string

A list of destinations where traces will be exported to.

enabled: optional boolean

Whether traces are enabled for the Worker.

head_sampling_rate: optional number

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

persist: optional boolean

Whether trace persistence is enabled for the Worker.

placement: optional { mode } or { region } or { hostname } or 5 more

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

One of the following:
Mode { mode }
mode: "smart"
Region { region }
region: string

Cloud region for targeted placement in format ‘provider:region’.

Hostname { hostname }
hostname: string

HTTP hostname for targeted placement.

Host { host }
host: string

TCP host and port for targeted placement.

{ mode, region }
mode: "targeted"

Targeted placement mode.

region: string

Cloud region for targeted placement in format ‘provider:region’.

{ hostname, mode }
hostname: string

HTTP hostname for targeted placement.

mode: "targeted"

Targeted placement mode.

{ host, mode }
host: string

TCP host and port for targeted placement.

mode: "targeted"

Targeted placement mode.

{ mode, target }
mode: "targeted"

Targeted placement mode.

target: array of { region } or { hostname } or { host }

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

One of the following:
Region { region }
region: string

Cloud region in format ‘provider:region’.

Hostname { hostname }
hostname: string

HTTP hostname for targeted placement.

Host { host }
host: string

TCP host:port for targeted placement.

tags: optional array of string

Tags associated with the Worker.

tail_consumers: optional array of ConsumerScript { service, environment, namespace }

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

service: string

Name of Worker that is to be the consumer.

environment: optional string

Optional environment if the Worker utilizes one.

namespace: optional string

Optional dispatch namespace the script belongs to.

usage_model: optional "standard" or "bundled" or "unbound"

Usage model for the Worker invocations.

One of the following:
"standard"
"bundled"
"unbound"
ScriptAndVersionSettingEditResponse { annotations, bindings, compatibility_date, 9 more }
annotations: optional { "workers/message", "workers/tag", "workers/triggered_by" }

Annotations for the Worker version. Annotations are not inherited across settings updates; omitting this field means the new version will have no annotations.

"workers/message": optional string

Human-readable message about the version.

maxLength100
"workers/tag": optional string

User-provided identifier for the version.

maxLength25
"workers/triggered_by": optional string

Operation that triggered the creation of the version. This is read-only and set by the server.

bindings: optional array of { name, type } or { instance_name, name, type, namespace } or { name, namespace, type } or 31 more

List of bindings attached to a Worker. You can find more about bindings on our docs: https://developers.cloudflare.com/workers/configuration/multipart-upload-metadata/#bindings.

One of the following:
AI { name, type }
name: string

A JavaScript variable name for the binding.

type: "ai"

The kind of resource that the binding provides.

AISearch { instance_name, name, type, namespace }
instance_name: string

The user-chosen instance name. Must exist at deploy time. The worker can search, chat, update, and manage items/jobs on this instance.

name: string

A JavaScript variable name for the binding.

type: "ai_search"

The kind of resource that the binding provides.

namespace: optional string

The namespace the instance belongs to. Defaults to “default” if omitted. Customers who don’t use namespaces can simply omit this field.

AISearchNamespace { name, namespace, type }
name: string

A JavaScript variable name for the binding.

namespace: string

The user-chosen namespace name. Must exist before deploy — Wrangler handles auto-creation on deploy failure (R2 bucket pattern). The “default” namespace is auto-created by config-api for new accounts. Grants full access (CRUD + search + chat) to all instances within the namespace.

type: "ai_search_namespace"

The kind of resource that the binding provides.

AnalyticsEngine { dataset, name, type }
dataset: string

The name of the dataset to bind to.

name: string

A JavaScript variable name for the binding.

type: "analytics_engine"

The kind of resource that the binding provides.

Assets { name, type }
name: string

A JavaScript variable name for the binding.

type: "assets"

The kind of resource that the binding provides.

Browser { name, type }
name: string

A JavaScript variable name for the binding.

type: "browser"

The kind of resource that the binding provides.

D1 { id, name, type }
id: string

Identifier of the D1 database to bind to.

name: string

A JavaScript variable name for the binding.

type: "d1"

The kind of resource that the binding provides.

DataBlob { name, part, type }
name: string

A JavaScript variable name for the binding.

part: string

The name of the file containing the data content. Only accepted for service worker syntax Workers.

Deprecatedtype: "data_blob"

The kind of resource that the binding provides.

DispatchNamespace { name, namespace, type, outbound }
name: string

A JavaScript variable name for the binding.

namespace: string

The name of the dispatch namespace.

type: "dispatch_namespace"

The kind of resource that the binding provides.

outbound: optional { params, worker }

Outbound worker.

params: optional array of { name }

Pass information from the Dispatch Worker to the Outbound Worker through the parameters.

name: string

Name of the parameter.

worker: optional { entrypoint, environment, service }

Outbound worker.

entrypoint: optional string

Entrypoint to invoke on the outbound worker.

environment: optional string

Environment of the outbound worker.

service: optional string

Name of the outbound worker.

DurableObjectNamespace { name, type, class_name, 4 more }
name: string

A JavaScript variable name for the binding.

type: "durable_object_namespace"

The kind of resource that the binding provides.

class_name: optional string

The exported class name of the Durable Object.

dispatch_namespace: optional string

The dispatch namespace the Durable Object script belongs to.

environment: optional string

The environment of the script_name to bind to.

namespace_id: optional string

Namespace identifier tag.

maxLength32
script_name: optional string

The script where the Durable Object is defined, if it is external to this Worker.

Hyperdrive { id, name, type }
id: string

Identifier of the Hyperdrive connection to bind to.

name: string

A JavaScript variable name for the binding.

type: "hyperdrive"

The kind of resource that the binding provides.

Inherit { name, type, old_name, version_id }
name: string

The name of the inherited binding.

type: "inherit"

The kind of resource that the binding provides.

old_name: optional string

The old name of the inherited binding. If set, the binding will be renamed from old_name to name in the new version. If not set, the binding will keep the same name between versions.

version_id: optional string

Identifier for the version to inherit the binding from, which can be the version ID or the literal “latest” to inherit from the latest version. Defaults to inheriting the binding from the latest version.

Images { name, type }
name: string

A JavaScript variable name for the binding.

type: "images"

The kind of resource that the binding provides.

Json { json, name, type }
json: unknown

JSON data to use.

name: string

A JavaScript variable name for the binding.

type: "json"

The kind of resource that the binding provides.

KVNamespace { name, namespace_id, type }
name: string

A JavaScript variable name for the binding.

namespace_id: string

Namespace identifier tag.

maxLength32
type: "kv_namespace"

The kind of resource that the binding provides.

Media { name, type }
name: string

A JavaScript variable name for the binding.

type: "media"

The kind of resource that the binding provides.

MTLSCertificate { certificate_id, name, type }
certificate_id: string

Identifier of the certificate to bind to.

name: string

A JavaScript variable name for the binding.

type: "mtls_certificate"

The kind of resource that the binding provides.

PlainText { name, text, type }
name: string

A JavaScript variable name for the binding.

text: string

The text value to use.

type: "plain_text"

The kind of resource that the binding provides.

Pipelines { name, pipeline, type }
name: string

A JavaScript variable name for the binding.

pipeline: string

Name of the Pipeline to bind to.

type: "pipelines"

The kind of resource that the binding provides.

Queue { name, queue_name, type }
name: string

A JavaScript variable name for the binding.

queue_name: string

Name of the Queue to bind to.

type: "queue"

The kind of resource that the binding provides.

Ratelimit { name, namespace_id, simple, type }
name: string

A JavaScript variable name for the binding.

namespace_id: string

Identifier of the rate limit namespace to bind to.

simple: { limit, period }

The rate limit configuration.

limit: number

The limit (requests per period).

period: number

The period in seconds.

type: "ratelimit"

The kind of resource that the binding provides.

R2Bucket { bucket_name, name, type, jurisdiction }
bucket_name: string

R2 bucket to bind to.

name: string

A JavaScript variable name for the binding.

type: "r2_bucket"

The kind of resource that the binding provides.

jurisdiction: optional "eu" or "fedramp" or "fedramp-high"

The jurisdiction of the R2 bucket.

One of the following:
"eu"
"fedramp"
"fedramp-high"
SecretText { name, text, type }
name: string

A JavaScript variable name for the binding.

text: string

The secret value to use.

type: "secret_text"

The kind of resource that the binding provides.

SendEmail { name, type, allowed_destination_addresses, 2 more }
name: string

A JavaScript variable name for the binding.

type: "send_email"

The kind of resource that the binding provides.

allowed_destination_addresses: optional array of string

List of allowed destination addresses.

allowed_sender_addresses: optional array of string

List of allowed sender addresses.

destination_address: optional string

Destination address for the email.

formatemail
Service { name, service, type, 2 more }
name: string

A JavaScript variable name for the binding.

service: string

Name of Worker to bind to.

type: "service"

The kind of resource that the binding provides.

entrypoint: optional string

Entrypoint to invoke on the target Worker.

environment: optional string

Optional environment if the Worker utilizes one.

TextBlob { name, part, type }
name: string

A JavaScript variable name for the binding.

part: string

The name of the file containing the text content. Only accepted for service worker syntax Workers.

Deprecatedtype: "text_blob"

The kind of resource that the binding provides.

Vectorize { index_name, name, type }
index_name: string

Name of the Vectorize index to bind to.

name: string

A JavaScript variable name for the binding.

type: "vectorize"

The kind of resource that the binding provides.

VersionMetadata { name, type }
name: string

A JavaScript variable name for the binding.

type: "version_metadata"

The kind of resource that the binding provides.

SecretsStoreSecret { name, secret_name, store_id, type }
name: string

A JavaScript variable name for the binding.

secret_name: string

Name of the secret in the store.

store_id: string

ID of the store containing the secret.

type: "secrets_store_secret"

The kind of resource that the binding provides.

SecretKey { algorithm, format, name, 4 more }
algorithm: unknown

Algorithm-specific key parameters. Learn more.

format: "raw" or "pkcs8" or "spki" or "jwk"

Data format of the key. Learn more.

One of the following:
"raw"
"pkcs8"
"spki"
"jwk"
name: string

A JavaScript variable name for the binding.

type: "secret_key"

The kind of resource that the binding provides.

usages: array of "encrypt" or "decrypt" or "sign" or 5 more

Allowed operations with the key. Learn more.

One of the following:
"encrypt"
"decrypt"
"sign"
"verify"
"deriveKey"
"deriveBits"
"wrapKey"
"unwrapKey"
key_base64: optional string

Base64-encoded key data. Required if format is “raw”, “pkcs8”, or “spki”.

key_jwk: optional unknown

Key data in JSON Web Key format. Required if format is “jwk”.

Workflow { name, type, workflow_name, 2 more }
name: string

A JavaScript variable name for the binding.

type: "workflow"

The kind of resource that the binding provides.

workflow_name: string

Name of the Workflow to bind to.

class_name: optional string

Class name of the Workflow. Should only be provided if the Workflow belongs to this script.

script_name: optional string

Script name that contains the Workflow. If not provided, defaults to this script name.

WasmModule { name, part, type }
name: string

A JavaScript variable name for the binding.

part: string

The name of the file containing the WebAssembly module content. Only accepted for service worker syntax Workers.

Deprecatedtype: "wasm_module"

The kind of resource that the binding provides.

VPCService { name, service_id, type }
name: string

A JavaScript variable name for the binding.

service_id: string

Identifier of the VPC service to bind to.

type: "vpc_service"

The kind of resource that the binding provides.

VPCNetwork { name, type, network_id, tunnel_id }
name: string

A JavaScript variable name for the binding.

type: "vpc_network"

The kind of resource that the binding provides.

network_id: optional string

Identifier of the network to bind to. Only “cf1:network” is currently supported. Mutually exclusive with tunnel_id.

tunnel_id: optional string

UUID of the Cloudflare Tunnel to bind to. Mutually exclusive with network_id.

compatibility_date: optional string

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

compatibility_flags: optional array of string

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.

limits: optional { cpu_ms }

Limits to apply for this Worker.

cpu_ms: optional number

The amount of CPU time this Worker can use in milliseconds.

logpush: optional boolean

Whether Logpush is turned on for the Worker.

migrations: optional SingleStepMigration { deleted_classes, new_classes, new_sqlite_classes, 4 more } or { new_tag, old_tag, steps }

Migrations to apply for Durable Objects associated with this Worker.

One of the following:
SingleStepMigration { deleted_classes, new_classes, new_sqlite_classes, 4 more }

A single set of migrations to apply.

deleted_classes: optional array of string

A list of classes to delete Durable Object namespaces from.

new_classes: optional array of string

A list of classes to create Durable Object namespaces from.

new_sqlite_classes: optional array of string

A list of classes to create Durable Object namespaces with SQLite from.

new_tag: optional string

Tag to set as the latest migration tag.

old_tag: optional string

Tag used to verify against the latest migration tag for this Worker. If they don’t match, the upload is rejected.

renamed_classes: optional array of { from, to }

A list of classes with Durable Object namespaces that were renamed.

from: optional string
to: optional string
transferred_classes: optional array of { from, from_script, to }

A list of transfers for Durable Object namespaces from a different Worker and class to a class defined in this Worker.

from: optional string
from_script: optional string
to: optional string
WorkersMultipleStepMigrations { new_tag, old_tag, steps }
new_tag: optional string

Tag to set as the latest migration tag.

old_tag: optional string

Tag used to verify against the latest migration tag for this Worker. If they don’t match, the upload is rejected.

steps: optional array of MigrationStep { deleted_classes, new_classes, new_sqlite_classes, 2 more }

Migrations to apply in order.

deleted_classes: optional array of string

A list of classes to delete Durable Object namespaces from.

new_classes: optional array of string

A list of classes to create Durable Object namespaces from.

new_sqlite_classes: optional array of string

A list of classes to create Durable Object namespaces with SQLite from.

renamed_classes: optional array of { from, to }

A list of classes with Durable Object namespaces that were renamed.

from: optional string
to: optional string
transferred_classes: optional array of { from, from_script, to }

A list of transfers for Durable Object namespaces from a different Worker and class to a class defined in this Worker.

from: optional string
from_script: optional string
to: optional string
observability: optional { enabled, head_sampling_rate, logs, traces }

Observability settings for the Worker.

enabled: boolean

Whether observability is enabled for the Worker.

head_sampling_rate: optional number

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

logs: optional { enabled, invocation_logs, destinations, 2 more }

Log settings for the Worker.

enabled: boolean

Whether logs are enabled for the Worker.

invocation_logs: boolean

Whether invocation logs are enabled for the Worker.

destinations: optional array of string

A list of destinations where logs will be exported to.

head_sampling_rate: optional number

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

persist: optional boolean

Whether log persistence is enabled for the Worker.

traces: optional { destinations, enabled, head_sampling_rate, persist }

Trace settings for the Worker.

destinations: optional array of string

A list of destinations where traces will be exported to.

enabled: optional boolean

Whether traces are enabled for the Worker.

head_sampling_rate: optional number

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

persist: optional boolean

Whether trace persistence is enabled for the Worker.

placement: optional { mode } or { region } or { hostname } or 5 more

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

One of the following:
Mode { mode }
mode: "smart"
Region { region }
region: string

Cloud region for targeted placement in format ‘provider:region’.

Hostname { hostname }
hostname: string

HTTP hostname for targeted placement.

Host { host }
host: string

TCP host and port for targeted placement.

{ mode, region }
mode: "targeted"

Targeted placement mode.

region: string

Cloud region for targeted placement in format ‘provider:region’.

{ hostname, mode }
hostname: string

HTTP hostname for targeted placement.

mode: "targeted"

Targeted placement mode.

{ host, mode }
host: string

TCP host and port for targeted placement.

mode: "targeted"

Targeted placement mode.

{ mode, target }
mode: "targeted"

Targeted placement mode.

target: array of { region } or { hostname } or { host }

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

One of the following:
Region { region }
region: string

Cloud region in format ‘provider:region’.

Hostname { hostname }
hostname: string

HTTP hostname for targeted placement.

Host { host }
host: string

TCP host:port for targeted placement.

tags: optional array of string

Tags associated with the Worker.

tail_consumers: optional array of ConsumerScript { service, environment, namespace }

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

service: string

Name of Worker that is to be the consumer.

environment: optional string

Optional environment if the Worker utilizes one.

namespace: optional string

Optional dispatch namespace the script belongs to.

usage_model: optional "standard" or "bundled" or "unbound"

Usage model for the Worker invocations.

One of the following:
"standard"
"bundled"
"unbound"

WorkersAccount Settings

Fetch Worker Account Settings
GET/accounts/{account_id}/workers/account-settings
Create Worker Account Settings
PUT/accounts/{account_id}/workers/account-settings
ModelsExpand Collapse
AccountSettingGetResponse { default_usage_model, green_compute }
default_usage_model: optional string
green_compute: optional boolean
AccountSettingUpdateResponse { default_usage_model, green_compute }
default_usage_model: optional string
green_compute: optional boolean

WorkersDomains

List Domains
GET/accounts/{account_id}/workers/domains
Get Domain
GET/accounts/{account_id}/workers/domains/{domain_id}
Attach Domain
PUT/accounts/{account_id}/workers/domains
Detach Domain
DELETE/accounts/{account_id}/workers/domains/{domain_id}
ModelsExpand Collapse
DomainListResponse { id, cert_id, environment, 4 more }
id: string

Immutable ID of the domain.

cert_id: string

ID of the TLS certificate issued for the domain.

formatuuid
Deprecatedenvironment: string

Worker environment associated with the domain.

hostname: string

Hostname of the domain. Can be either the zone apex or a subdomain of the zone. Requests to this hostname will be routed to the configured Worker.

service: string

Name of the Worker associated with the domain. Requests to the configured hostname will be routed to this Worker.

zone_id: string

ID of the zone containing the domain hostname.

zone_name: string

Name of the zone containing the domain hostname.

DomainGetResponse { id, cert_id, environment, 4 more }
id: string

Immutable ID of the domain.

cert_id: string

ID of the TLS certificate issued for the domain.

formatuuid
Deprecatedenvironment: string

Worker environment associated with the domain.

hostname: string

Hostname of the domain. Can be either the zone apex or a subdomain of the zone. Requests to this hostname will be routed to the configured Worker.

service: string

Name of the Worker associated with the domain. Requests to the configured hostname will be routed to this Worker.

zone_id: string

ID of the zone containing the domain hostname.

zone_name: string

Name of the zone containing the domain hostname.

DomainUpdateResponse { id, cert_id, environment, 4 more }
id: string

Immutable ID of the domain.

cert_id: string

ID of the TLS certificate issued for the domain.

formatuuid
Deprecatedenvironment: string

Worker environment associated with the domain.

hostname: string

Hostname of the domain. Can be either the zone apex or a subdomain of the zone. Requests to this hostname will be routed to the configured Worker.

service: string

Name of the Worker associated with the domain. Requests to the configured hostname will be routed to this Worker.

zone_id: string

ID of the zone containing the domain hostname.

zone_name: string

Name of the zone containing the domain hostname.

DomainDeleteResponse { errors, messages, success }
errors: array of { code, message, documentation_url, source }
code: number
minimum1000
message: string
documentation_url: optional string
source: optional { pointer }
pointer: optional string
messages: array of { code, message, documentation_url, source }
code: number
minimum1000
message: string
documentation_url: optional string
source: optional { pointer }
pointer: optional string
success: true

Whether the API call was successful.

WorkersSubdomains

Get Subdomain
GET/accounts/{account_id}/workers/subdomain
Create Subdomain
PUT/accounts/{account_id}/workers/subdomain
Delete Subdomain
DELETE/accounts/{account_id}/workers/subdomain
ModelsExpand Collapse
SubdomainGetResponse { subdomain }
subdomain: string
SubdomainUpdateResponse { subdomain }
subdomain: string

WorkersObservability

WorkersObservabilityTelemetry

List keys
POST/accounts/{account_id}/workers/observability/telemetry/keys
Run a query
POST/accounts/{account_id}/workers/observability/telemetry/query
List values
POST/accounts/{account_id}/workers/observability/telemetry/values
ModelsExpand Collapse
TelemetryKeysResponse { key, lastSeenAt, type }
key: string
lastSeenAt: number
type: "string" or "boolean" or "number"
One of the following:
"string"
"boolean"
"number"
TelemetryQueryResponse { run, statistics, agents, 5 more }
run: { id, accountId, dry, 8 more }

A Workers Observability Query Object

id: string
accountId: string
dry: boolean
granularity: number
query: { id, adhoc, created, 6 more }
id: string
adhoc: boolean

If the query wasn’t explcitly saved

created: string
createdBy: string
description: string
maxLength1000
name: string

Query name

maxLength250
minLength1
parameters: { calculations, datasets, filterCombination, 6 more }
calculations: optional array of { operator, alias, key, keyType }

Create Calculations to compute as part of the query.

operator: "uniq" or "count" or "max" or 35 more
One of the following:
"uniq"
"count"
"max"
"min"
"sum"
"avg"
"median"
"p001"
"p01"
"p05"
"p10"
"p25"
"p75"
"p90"
"p95"
"p99"
"p999"
"stddev"
"variance"
"COUNT_DISTINCT"
"COUNT"
"MAX"
"MIN"
"SUM"
"AVG"
"MEDIAN"
"P001"
"P01"
"P05"
"P10"
"P25"
"P75"
"P90"
"P95"
"P99"
"P999"
"STDDEV"
"VARIANCE"
alias: optional string
key: optional string
keyType: optional "string" or "number" or "boolean"
One of the following:
"string"
"number"
"boolean"
datasets: optional array of string

Set the Datasets to query. Leave it empty to query all the datasets.

filterCombination: optional "and" or "or" or "AND" or "OR"

Set a Flag to describe how to combine the filters on the query.

One of the following:
"and"
"or"
"AND"
"OR"
filters: optional array of { filterCombination, filters, kind } or { key, operation, type, 2 more }

Configure the Filters to apply to the query. Supports nested groups via kind: ‘group’.

One of the following:
{ filterCombination, filters, kind }
filterCombination: "and" or "or" or "AND" or "OR"
One of the following:
"and"
"or"
"AND"
"OR"
filters: array of unknown
kind: "group"
WorkersObservabilityFilterLeaf { key, operation, type, 2 more }

Filtering best practices: use observability_keys and observability_values to confirm available fields and values. If searching for errors, filter for $metadata.error exists.

key: string

Filter field name. IMPORTANT: do not guess keys. Always use verified keys from previous query results or the observability_keys response. Preferred keys: $metadata.service, $metadata.origin, $metadata.trigger, $metadata.message, $metadata.error.

operation: "includes" or "not_includes" or "starts_with" or 25 more
One of the following:
"includes"
"not_includes"
"starts_with"
"regex"
"exists"
"is_null"
"in"
"not_in"
"eq"
"neq"
"gt"
"gte"
"lt"
"lte"
"="
"!="
">"
">="
"<"
"<="
"INCLUDES"
"DOES_NOT_INCLUDE"
"MATCH_REGEX"
"EXISTS"
"DOES_NOT_EXIST"
"IN"
"NOT_IN"
"STARTS_WITH"
type: "string" or "number" or "boolean"
One of the following:
"string"
"number"
"boolean"
kind: optional "filter"
value: optional string or number or boolean

Filter comparison value. IMPORTANT: must match actual values in your logs. Verify using previous query results or the /values endpoint. Ensure value type matches the field type. String comparisons are case-sensitive unless using specific operations. Regex uses ClickHouse RE2 syntax (no lookaheads/lookbehinds); examples: ^5\d{2}$ for HTTP 5xx, \bERROR\b for word boundary.

One of the following:
string
number
boolean
groupBys: optional array of { type, value }

Define how to group the results of the query.

type: "string" or "number" or "boolean"
One of the following:
"string"
"number"
"boolean"
value: string
havings: optional array of { key, operation, value }

Configure the Having clauses that filter on calculations in the query result.

key: string
operation: "eq" or "neq" or "gt" or 3 more
One of the following:
"eq"
"neq"
"gt"
"gte"
"lt"
"lte"
value: number
limit: optional number

Set a limit on the number of results / records returned by the query

maximum100
minimum0
needle: optional { value, isRegex, matchCase }

Define an expression to search using full-text search.

value:
isRegex: optional boolean
matchCase: optional boolean
orderBy: optional { value, order }

Configure the order of the results returned by the query.

value: string

Configure which Calculation to order the results by.

order: optional "asc" or "desc"

Set the order of the results

One of the following:
"asc"
"desc"
updated: string
updatedBy: string
status: "STARTED" or "COMPLETED"
One of the following:
"STARTED"
"COMPLETED"
timeframe: { from, to }

Time range for the query execution

from: number

Start timestamp for the query timeframe (Unix timestamp in milliseconds)

to: number

End timestamp for the query timeframe (Unix timestamp in milliseconds)

userId: string
created: optional string
statistics: optional { bytes_read, elapsed, rows_read, abr_level }
bytes_read: number

Number of uncompressed bytes read from the table.

elapsed: number

Time in seconds for the query to run.

rows_read: number

Number of rows scanned from the table.

abr_level: optional number

The level of Adaptive Bit Rate (ABR) sampling used for the query. If empty the ABR level is 1

updated: optional string
statistics: { bytes_read, elapsed, rows_read, abr_level }

The statistics object contains information about query performance from the database, it does not include any network latency

bytes_read: number

Number of uncompressed bytes read from the table.

elapsed: number

Time in seconds for the query to run.

rows_read: number

Number of rows scanned from the table.

abr_level: optional number

The level of Adaptive Bit Rate (ABR) sampling used for the query. If empty the ABR level is 1

agents: optional array of { agentClass, eventTypeCounts, firstEventMs, 5 more }
agentClass: string
eventTypeCounts: map[number]
firstEventMs: number
hasErrors: boolean
lastEventMs: number
namespace: string
service: string
totalEvents: number
calculations: optional array of { aggregates, calculation, series, alias }
aggregates: array of { count, interval, sampleInterval, 2 more }
count: number
interval: number
sampleInterval: number
value: number
groups: optional array of { key, value }
key: string
value: string or number or boolean
One of the following:
string
number
boolean
calculation: string
series: array of { data, time }
data: array of { count, interval, sampleInterval, 4 more }
count: number
interval: number
sampleInterval: number
value: number
firstSeen: optional string
groups: optional array of { key, value }
key: string
value: string or number or boolean
One of the following:
string
number
boolean
lastSeen: optional string
time: string
alias: optional string
compare: optional array of { aggregates, calculation, series, alias }
aggregates: array of { count, interval, sampleInterval, 2 more }
count: number
interval: number
sampleInterval: number
value: number
groups: optional array of { key, value }
key: string
value: string or number or boolean
One of the following:
string
number
boolean
calculation: string
series: array of { data, time }
data: array of { count, interval, sampleInterval, 4 more }
count: number
interval: number
sampleInterval: number
value: number
firstSeen: optional string
groups: optional array of { key, value }
key: string
value: string or number or boolean
One of the following:
string
number
boolean
lastSeen: optional string
time: string
alias: optional string
events: optional { count, events, fields, series }
count: optional number
events: optional array of { "$metadata", dataset, source, 3 more }
"$metadata": { id, account, cloudService, 28 more }
id: string

Unique event ID. Use as the cursor for offset-based pagination.

account: optional string
cloudService: optional string
coldStart: optional number
exclusiveMinimum
minimum0
cost: optional number
exclusiveMinimum
minimum0
duration: optional number
exclusiveMinimum
minimum0
endTime: optional number
minimum0
error: optional string
errorTemplate: optional string
fingerprint: optional string
level: optional string
message: optional string
messageTemplate: optional string
metricName: optional string
origin: optional string
parentSpanId: optional string
provider: optional string
region: optional string
requestId: optional string
service: optional string
spanId: optional string
spanName: optional string
stackId: optional string
startTime: optional number
minimum0
statusCode: optional number
exclusiveMinimum
minimum0
traceDuration: optional number
exclusiveMinimum
minimum0
traceId: optional string
transactionName: optional string
trigger: optional string
type: optional string
url: optional string
dataset: string
source: string or unknown
One of the following:
string
unknown
timestamp: number
minimum0
"$containers": optional unknown

Cloudflare Containers event information enriches your logs so you can easily identify and debug issues.

"$workers": optional { eventType, requestId, scriptName, 7 more } or { cpuTimeMs, eventType, outcome, 11 more }

Cloudflare Workers event information enriches your logs so you can easily identify and debug issues.

One of the following:
{ eventType, requestId, scriptName, 7 more }
eventType: "fetch" or "scheduled" or "alarm" or 8 more
One of the following:
"fetch"
"scheduled"
"alarm"
"cron"
"queue"
"email"
"tail"
"rpc"
"websocket"
"workflow"
"unknown"
requestId: string
scriptName: string
durableObjectId: optional string
entrypoint: optional string
event: optional map[unknown]
executionModel: optional "durableObject" or "stateless"
One of the following:
"durableObject"
"stateless"
outcome: optional string
scriptVersion: optional { id, message, tag }
id: optional string
message: optional string
tag: optional string
truncated: optional boolean
{ cpuTimeMs, eventType, outcome, 11 more }
cpuTimeMs: number
eventType: "fetch" or "scheduled" or "alarm" or 8 more
One of the following:
"fetch"
"scheduled"
"alarm"
"cron"
"queue"
"email"
"tail"
"rpc"
"websocket"
"workflow"
"unknown"
outcome: string
requestId: string
scriptName: string
wallTimeMs: number
diagnosticsChannelEvents: optional array of { channel, message, timestamp }
channel: string
message: string
timestamp: number
dispatchNamespace: optional string
durableObjectId: optional string
entrypoint: optional string
event: optional map[unknown]
executionModel: optional "durableObject" or "stateless"
One of the following:
"durableObject"
"stateless"
scriptVersion: optional { id, message, tag }
id: optional string
message: optional string
tag: optional string
truncated: optional boolean
fields: optional array of { key, type }
key: string
type: string
series: optional array of { data, time }
data: array of { aggregates, count, interval, 3 more }
aggregates: { _count, _interval, _firstSeen, 2 more }
Deprecated_count: number
exclusiveMinimum
minimum0
Deprecated_interval: number
exclusiveMinimum
minimum0
Deprecated_firstSeen: optional string
Deprecated_lastSeen: optional string
Deprecatedbin: optional unknown
count: number
interval: number
sampleInterval: number
errors: optional number
groups: optional map[string or number or boolean]

Groups in the query results.

One of the following:
string
number
boolean
time: string
invocations: optional map[array of { "$metadata", dataset, source, 3 more } ]
"$metadata": { id, account, cloudService, 28 more }
id: string

Unique event ID. Use as the cursor for offset-based pagination.

account: optional string
cloudService: optional string
coldStart: optional number
exclusiveMinimum
minimum0
cost: optional number
exclusiveMinimum
minimum0
duration: optional number
exclusiveMinimum
minimum0
endTime: optional number
minimum0
error: optional string
errorTemplate: optional string
fingerprint: optional string
level: optional string
message: optional string
messageTemplate: optional string
metricName: optional string
origin: optional string
parentSpanId: optional string
provider: optional string
region: optional string
requestId: optional string
service: optional string
spanId: optional string
spanName: optional string
stackId: optional string
startTime: optional number
minimum0
statusCode: optional number
exclusiveMinimum
minimum0
traceDuration: optional number
exclusiveMinimum
minimum0
traceId: optional string
transactionName: optional string
trigger: optional string
type: optional string
url: optional string
dataset: string
source: string or unknown
One of the following:
string
unknown
timestamp: number
minimum0
"$containers": optional unknown

Cloudflare Containers event information enriches your logs so you can easily identify and debug issues.

"$workers": optional { eventType, requestId, scriptName, 7 more } or { cpuTimeMs, eventType, outcome, 11 more }

Cloudflare Workers event information enriches your logs so you can easily identify and debug issues.

One of the following:
{ eventType, requestId, scriptName, 7 more }
eventType: "fetch" or "scheduled" or "alarm" or 8 more
One of the following:
"fetch"
"scheduled"
"alarm"
"cron"
"queue"
"email"
"tail"
"rpc"
"websocket"
"workflow"
"unknown"
requestId: string
scriptName: string
durableObjectId: optional string
entrypoint: optional string
event: optional map[unknown]
executionModel: optional "durableObject" or "stateless"
One of the following:
"durableObject"
"stateless"
outcome: optional string
scriptVersion: optional { id, message, tag }
id: optional string
message: optional string
tag: optional string
truncated: optional boolean
{ cpuTimeMs, eventType, outcome, 11 more }
cpuTimeMs: number
eventType: "fetch" or "scheduled" or "alarm" or 8 more
One of the following:
"fetch"
"scheduled"
"alarm"
"cron"
"queue"
"email"
"tail"
"rpc"
"websocket"
"workflow"
"unknown"
outcome: string
requestId: string
scriptName: string
wallTimeMs: number
diagnosticsChannelEvents: optional array of { channel, message, timestamp }
channel: string
message: string
timestamp: number
dispatchNamespace: optional string
durableObjectId: optional string
entrypoint: optional string
event: optional map[unknown]
executionModel: optional "durableObject" or "stateless"
One of the following:
"durableObject"
"stateless"
scriptVersion: optional { id, message, tag }
id: optional string
message: optional string
tag: optional string
truncated: optional boolean
traces: optional array of { rootSpanName, rootTransactionName, service, 6 more }
rootSpanName: string
rootTransactionName: string
service: array of string
spans: number
traceDurationMs: number
traceEndMs: number
traceId: string
traceStartMs: number
errors: optional array of string
TelemetryValuesResponse { dataset, key, type, value }
dataset: string
key: string
type: "string" or "boolean" or "number"
One of the following:
"string"
"boolean"
"number"
value: string or number or boolean
One of the following:
string
number
boolean

WorkersObservabilityDestinations

Get Destinations
GET/accounts/{account_id}/workers/observability/destinations
Create Destination
POST/accounts/{account_id}/workers/observability/destinations
Update Destination
PATCH/accounts/{account_id}/workers/observability/destinations/{slug}
Delete Destination
DELETE/accounts/{account_id}/workers/observability/destinations/{slug}
ModelsExpand Collapse
DestinationListResponse { configuration, enabled, name, 2 more }
configuration: { destination_conf, headers, jobStatus, 3 more }
destination_conf: string
headers: map[string]
jobStatus: { error_message, last_complete, last_error }
error_message: string
last_complete: string
last_error: string
logpushDataset: "opentelemetry-traces" or "opentelemetry-logs"
One of the following:
"opentelemetry-traces"
"opentelemetry-logs"
type: "logpush"
url: string
enabled: boolean
name: string
scripts: array of string
slug: string
DestinationCreateResponse { configuration, enabled, name, 2 more }
configuration: { destination_conf, logpushDataset, logpushJob, 2 more }
destination_conf: string
logpushDataset: "opentelemetry-traces" or "opentelemetry-logs"
One of the following:
"opentelemetry-traces"
"opentelemetry-logs"
logpushJob: number
type: "logpush"
url: string
enabled: boolean
name: string
scripts: array of string
slug: string
DestinationUpdateResponse { configuration, enabled, name, 2 more }
configuration: { destination_conf, logpushDataset, logpushJob, 2 more }
destination_conf: string
logpushDataset: "opentelemetry-traces" or "opentelemetry-logs"
One of the following:
"opentelemetry-traces"
"opentelemetry-logs"
logpushJob: number
type: "logpush"
url: string
enabled: boolean
name: string
scripts: array of string
slug: string
DestinationDeleteResponse { configuration, enabled, name, 2 more }
configuration: { destination_conf, logpushDataset, logpushJob, 2 more }
destination_conf: string
logpushDataset: "opentelemetry-traces" or "opentelemetry-logs"
One of the following:
"opentelemetry-traces"
"opentelemetry-logs"
logpushJob: number
type: "logpush"
url: string
enabled: boolean
name: string
scripts: array of string
slug: string