Skip to content
Start here

Scripts

List Workers
workers.scripts.list(ScriptListParams**kwargs) -> SyncSinglePage[ScriptListResponse]
GET/accounts/{account_id}/workers/scripts
Search Workers
workers.scripts.search(ScriptSearchParams**kwargs) -> ScriptSearchResponse
GET/accounts/{account_id}/workers/scripts-search
Download Worker
workers.scripts.get(strscript_name, ScriptGetParams**kwargs) -> ScriptGetResponse
GET/accounts/{account_id}/workers/scripts/{script_name}
Upload Worker Module
workers.scripts.update(strscript_name, ScriptUpdateParams**kwargs) -> ScriptUpdateResponse
PUT/accounts/{account_id}/workers/scripts/{script_name}
Delete Worker
workers.scripts.delete(strscript_name, ScriptDeleteParams**kwargs) -> object
DELETE/accounts/{account_id}/workers/scripts/{script_name}
ModelsExpand Collapse
class Script:
id: Optional[str]

The name used to identify the script.

cache_options: Optional[CacheOptions]

Global CacheW configuration for the Worker. When caching is on, the platform provisions a cloudflare.app zone for the Worker. A type: worker entry in the exports map can override this value for a single entrypoint.

enabled: bool

Whether caching is enabled for this Worker.

cross_version_cache: Optional[bool]

Whether cached responses are shared across Worker version uploads. This is independent of enabled. It can stay true while caching is off, so the preference survives turning caching off and back on.

compatibility_date: Optional[str]

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[List[str]]

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[datetime]

When the script was created.

formatdate-time
etag: Optional[str]

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

exports: Optional[Dict[str, Exports]]

Declarative exports for the Worker’s most recent version, including Durable Object classes (with their storage backend) and named Worker entrypoints. Tombstoned lifecycle entries are omitted, so only live exports (created and expecting-transfer) are returned.

One of the following:
class ExportsWorkersWorkerExport:

A named Worker entrypoint export (type: worker). Worker entrypoints are always live (state: created) and carry no storage or lifecycle fields. The optional cache block overrides the Worker’s global cache_options.enabled for this entrypoint.

type: Literal["worker"]

Marks this entry as a Worker entrypoint export.

cache: Optional[ExportsWorkersWorkerExportCache]

Cache override for this entrypoint. Overrides the Worker’s global cache_options.enabled for this entrypoint only.

enabled: bool

Whether caching is enabled for this entrypoint.

state: Optional[Literal["created"]]

Live export. May be omitted; defaults to created.

class ExportsWorkersDurableObjectExport:

A live Durable Object export (state: created, the default). The platform auto-provisions the namespace on first deploy, matches it on subsequent deploys, and never mutates or deletes it as a side effect of a code-only change. storage is required; renamed_to, transferred_to and transfer_from are not allowed on a live entry.

storage: Literal["sqlite", "legacy-kv"]

Durable Object storage backend. sqlite is the recommended (and only) backend for new namespaces. legacy-kv is accepted only for a class whose namespace already exists as KV-backed; the exports flow never provisions a new legacy-kv namespace.

One of the following:
"sqlite"
"legacy-kv"
type: Literal["durable-object"]

Marks this entry as a Durable Object export.

container: Optional[str]

Name of the container (declared in the upload’s metadata.containers) that backs this Durable Object. When set, the namespace is container-enabled. Valid only on live entries.

maxLength128
state: Optional[Literal["created"]]

Live export. May be omitted; defaults to created.

class ExportsWorkersDurableObjectDeletedExport:

A deleted tombstone: retires the provisioned namespace for this class and all of its data. The class must be absent from the uploaded code and no other Worker in the account may bind to the namespace, otherwise the deploy is rejected. No other fields are allowed. Deletion is irreversible.

state: Literal["deleted"]

Tombstone that deletes the namespace.

type: Literal["durable-object"]

Marks this entry as a Durable Object export.

class ExportsWorkersDurableObjectRenamedExport:

A renamed tombstone: rewrites the provisioned namespace’s class name from this map key to renamed_to. The source class may stay in code during the rollout window (an info notice is emitted). storage, transferred_to and transfer_from are not allowed.

renamed_to: str

The destination class name. Must differ from the source class (the map key) and must be declared as a live (created) entry in the same exports map. Write-only: never present in GET responses.

maxLength128
state: Literal["renamed"]

Tombstone that renames the namespace’s class.

type: Literal["durable-object"]

Marks this entry as a Durable Object export.

class ExportsWorkersDurableObjectTransferredExport:

A transferred tombstone (source side of a two-phase transfer): hands ownership of the provisioned namespace to another script in the same account, named by transferred_to. The target must have already deployed a matching expecting-transfer entry. The source class may stay in code during the rollout window (an info notice is emitted). storage, renamed_to and transfer_from are not allowed.

state: Literal["transferred"]

Tombstone that transfers the namespace to another script.

transferred_to: str

The destination script name. Must be in the same account and the same dispatch-namespace context (or both non-dispatch). Cross-dispatch-namespace transfers are rejected. Write-only: never present in GET responses.

maxLength128
type: Literal["durable-object"]

Marks this entry as a Durable Object export.

class ExportsWorkersDurableObjectExpectingTransferExport:

The target side of a two-phase transfer (state: expecting-transfer). Declares that this script expects to receive a namespace for this class from the transfer_from script. This is a live entry, not a tombstone: bindings resolve through the source’s namespace until the source commits with a transferred tombstone. storage and transfer_from are required; renamed_to and transferred_to are not allowed.

state: Literal["expecting-transfer"]

Target side of a two-phase transfer.

storage: Literal["sqlite", "legacy-kv"]

Durable Object storage backend. sqlite is the recommended (and only) backend for new namespaces. legacy-kv is accepted only for a class whose namespace already exists as KV-backed; the exports flow never provisions a new legacy-kv namespace.

One of the following:
"sqlite"
"legacy-kv"
transfer_from: str

The source script name to receive the namespace from. Must be in the same account and dispatch-namespace context. Present on reads for expecting-transfer entries.

maxLength128
type: Literal["durable-object"]

Marks this entry as a Durable Object export.

container: Optional[str]

Name of the container (declared in the upload’s metadata.containers) that backs this Durable Object once the transfer settles. Valid only on live entries.

maxLength128
handlers: Optional[List[str]]

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

has_assets: Optional[bool]

Whether a Worker contains assets.

has_modules: Optional[bool]

Whether a Worker contains modules.

last_deployed_from: Optional[str]

The client most recently used to deploy this Worker.

logpush: Optional[bool]

Whether Logpush is turned on for the Worker.

migration_tag: Optional[str]

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

modified_on: Optional[datetime]

When the script was last modified.

formatdate-time
named_handlers: Optional[List[NamedHandler]]

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

handlers: Optional[List[str]]

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

name: Optional[str]

The name of the export.

observability: Optional[Observability]

Observability settings for the Worker.

enabled: bool

Whether observability is enabled for the Worker.

head_sampling_rate: Optional[float]

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

logs: Optional[ObservabilityLogs]

Log settings for the Worker.

enabled: bool

Whether logs are enabled for the Worker.

invocation_logs: bool

Whether invocation logs are enabled for the Worker.

destinations: Optional[List[str]]

A list of destinations where logs will be exported to.

head_sampling_rate: Optional[float]

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

persist: Optional[bool]

Whether log persistence is enabled for the Worker.

traces: Optional[ObservabilityTraces]

Trace settings for the Worker.

destinations: Optional[List[str]]

A list of destinations where traces will be exported to.

enabled: Optional[bool]

Whether traces are enabled for the Worker.

head_sampling_rate: Optional[float]

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

persist: Optional[bool]

Whether trace persistence is enabled for the Worker.

propagation_policy: Optional[Literal["authenticated", "accept"]]

Controls how inbound trace context (traceparent/tracestate) headers on incoming requests are handled. “authenticated” (default) honors inbound trace context only when accompanied by a valid trace auth token. “accept” unconditionally accepts inbound trace context. Requires the trace propagation feature to be enabled.

One of the following:
"authenticated"
"accept"
placement: Optional[Placement]

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

One of the following:
class PlacementUnionMember0:
mode: Literal["smart"]
last_analyzed_at: Optional[datetime]

The last time the script was analyzed for Smart Placement.

formatdate-time
status: Optional[Literal["SUCCESS", "UNSUPPORTED_APPLICATION", "INSUFFICIENT_INVOCATIONS"]]

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
class PlacementUnionMember1:
region: str

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

last_analyzed_at: Optional[datetime]

The last time the script was analyzed for Smart Placement.

formatdate-time
status: Optional[Literal["SUCCESS", "UNSUPPORTED_APPLICATION", "INSUFFICIENT_INVOCATIONS"]]

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
class PlacementUnionMember2:
hostname: str

HTTP hostname for targeted placement.

last_analyzed_at: Optional[datetime]

The last time the script was analyzed for Smart Placement.

formatdate-time
status: Optional[Literal["SUCCESS", "UNSUPPORTED_APPLICATION", "INSUFFICIENT_INVOCATIONS"]]

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
class PlacementUnionMember3:
host: str

TCP host and port for targeted placement.

last_analyzed_at: Optional[datetime]

The last time the script was analyzed for Smart Placement.

formatdate-time
status: Optional[Literal["SUCCESS", "UNSUPPORTED_APPLICATION", "INSUFFICIENT_INVOCATIONS"]]

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
class PlacementUnionMember4:
mode: Literal["targeted"]

Targeted placement mode.

region: str

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

last_analyzed_at: Optional[datetime]

The last time the script was analyzed for Smart Placement.

formatdate-time
status: Optional[Literal["SUCCESS", "UNSUPPORTED_APPLICATION", "INSUFFICIENT_INVOCATIONS"]]

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
class PlacementUnionMember5:
hostname: str

HTTP hostname for targeted placement.

mode: Literal["targeted"]

Targeted placement mode.

last_analyzed_at: Optional[datetime]

The last time the script was analyzed for Smart Placement.

formatdate-time
status: Optional[Literal["SUCCESS", "UNSUPPORTED_APPLICATION", "INSUFFICIENT_INVOCATIONS"]]

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
class PlacementUnionMember6:
host: str

TCP host and port for targeted placement.

mode: Literal["targeted"]

Targeted placement mode.

last_analyzed_at: Optional[datetime]

The last time the script was analyzed for Smart Placement.

formatdate-time
status: Optional[Literal["SUCCESS", "UNSUPPORTED_APPLICATION", "INSUFFICIENT_INVOCATIONS"]]

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
class PlacementUnionMember7:
mode: Literal["targeted"]

Targeted placement mode.

target: List[PlacementUnionMember7Target]

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

One of the following:
class PlacementUnionMember7TargetRegion:
region: str

Cloud region in format ‘provider:region’.

class PlacementUnionMember7TargetHostname:
hostname: str

HTTP hostname for targeted placement.

class PlacementUnionMember7TargetHost:
host: str

TCP host:port for targeted placement.

last_analyzed_at: Optional[datetime]

The last time the script was analyzed for Smart Placement.

formatdate-time
status: Optional[Literal["SUCCESS", "UNSUPPORTED_APPLICATION", "INSUFFICIENT_INVOCATIONS"]]

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
Deprecatedplacement_mode: Optional[Literal["smart", "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[Literal["SUCCESS", "UNSUPPORTED_APPLICATION", "INSUFFICIENT_INVOCATIONS"]]

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
tag: Optional[str]

The immutable ID of the script.

tags: Optional[List[str]]

Tags associated with the Worker.

tail_consumers: Optional[List[ConsumerScript]]

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

service: str

Name of Worker that is to be the consumer.

environment: Optional[str]

Optional environment if the Worker utilizes one.

namespace: Optional[str]

Optional dispatch namespace the script belongs to.

usage_model: Optional[Literal["standard", "bundled", "unbound"]]

Usage model for the Worker invocations.

One of the following:
"standard"
"bundled"
"unbound"
class ScriptSetting:
logpush: Optional[bool]

Whether Logpush is turned on for the Worker.

observability: Optional[Observability]

Observability settings for the Worker.

enabled: bool

Whether observability is enabled for the Worker.

head_sampling_rate: Optional[float]

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

logs: Optional[ObservabilityLogs]

Log settings for the Worker.

enabled: bool

Whether logs are enabled for the Worker.

invocation_logs: bool

Whether invocation logs are enabled for the Worker.

destinations: Optional[List[str]]

A list of destinations where logs will be exported to.

head_sampling_rate: Optional[float]

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

persist: Optional[bool]

Whether log persistence is enabled for the Worker.

traces: Optional[ObservabilityTraces]

Trace settings for the Worker.

destinations: Optional[List[str]]

A list of destinations where traces will be exported to.

enabled: Optional[bool]

Whether traces are enabled for the Worker.

head_sampling_rate: Optional[float]

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

persist: Optional[bool]

Whether trace persistence is enabled for the Worker.

propagation_policy: Optional[Literal["authenticated", "accept"]]

Controls how inbound trace context (traceparent/tracestate) headers on incoming requests are handled. “authenticated” (default) honors inbound trace context only when accompanied by a valid trace auth token. “accept” unconditionally accepts inbound trace context. Requires the trace propagation feature to be enabled.

One of the following:
"authenticated"
"accept"
tags: Optional[List[str]]

Tags associated with the Worker.

tail_consumers: Optional[List[ConsumerScript]]

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

service: str

Name of Worker that is to be the consumer.

environment: Optional[str]

Optional environment if the Worker utilizes one.

namespace: Optional[str]

Optional dispatch namespace the script belongs to.

class ScriptListResponse:
id: Optional[str]

The name used to identify the script.

cache_options: Optional[CacheOptions]

Global CacheW configuration for the Worker. When caching is on, the platform provisions a cloudflare.app zone for the Worker. A type: worker entry in the exports map can override this value for a single entrypoint.

enabled: bool

Whether caching is enabled for this Worker.

cross_version_cache: Optional[bool]

Whether cached responses are shared across Worker version uploads. This is independent of enabled. It can stay true while caching is off, so the preference survives turning caching off and back on.

compatibility_date: Optional[str]

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[List[str]]

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[datetime]

When the script was created.

formatdate-time
etag: Optional[str]

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

exports: Optional[Dict[str, Exports]]

Declarative exports for the Worker’s most recent version, including Durable Object classes (with their storage backend) and named Worker entrypoints. Tombstoned lifecycle entries are omitted, so only live exports (created and expecting-transfer) are returned.

One of the following:
class ExportsWorkersWorkerExport:

A named Worker entrypoint export (type: worker). Worker entrypoints are always live (state: created) and carry no storage or lifecycle fields. The optional cache block overrides the Worker’s global cache_options.enabled for this entrypoint.

type: Literal["worker"]

Marks this entry as a Worker entrypoint export.

cache: Optional[ExportsWorkersWorkerExportCache]

Cache override for this entrypoint. Overrides the Worker’s global cache_options.enabled for this entrypoint only.

enabled: bool

Whether caching is enabled for this entrypoint.

state: Optional[Literal["created"]]

Live export. May be omitted; defaults to created.

class ExportsWorkersDurableObjectExport:

A live Durable Object export (state: created, the default). The platform auto-provisions the namespace on first deploy, matches it on subsequent deploys, and never mutates or deletes it as a side effect of a code-only change. storage is required; renamed_to, transferred_to and transfer_from are not allowed on a live entry.

storage: Literal["sqlite", "legacy-kv"]

Durable Object storage backend. sqlite is the recommended (and only) backend for new namespaces. legacy-kv is accepted only for a class whose namespace already exists as KV-backed; the exports flow never provisions a new legacy-kv namespace.

One of the following:
"sqlite"
"legacy-kv"
type: Literal["durable-object"]

Marks this entry as a Durable Object export.

container: Optional[str]

Name of the container (declared in the upload’s metadata.containers) that backs this Durable Object. When set, the namespace is container-enabled. Valid only on live entries.

maxLength128
state: Optional[Literal["created"]]

Live export. May be omitted; defaults to created.

class ExportsWorkersDurableObjectDeletedExport:

A deleted tombstone: retires the provisioned namespace for this class and all of its data. The class must be absent from the uploaded code and no other Worker in the account may bind to the namespace, otherwise the deploy is rejected. No other fields are allowed. Deletion is irreversible.

state: Literal["deleted"]

Tombstone that deletes the namespace.

type: Literal["durable-object"]

Marks this entry as a Durable Object export.

class ExportsWorkersDurableObjectRenamedExport:

A renamed tombstone: rewrites the provisioned namespace’s class name from this map key to renamed_to. The source class may stay in code during the rollout window (an info notice is emitted). storage, transferred_to and transfer_from are not allowed.

renamed_to: str

The destination class name. Must differ from the source class (the map key) and must be declared as a live (created) entry in the same exports map. Write-only: never present in GET responses.

maxLength128
state: Literal["renamed"]

Tombstone that renames the namespace’s class.

type: Literal["durable-object"]

Marks this entry as a Durable Object export.

class ExportsWorkersDurableObjectTransferredExport:

A transferred tombstone (source side of a two-phase transfer): hands ownership of the provisioned namespace to another script in the same account, named by transferred_to. The target must have already deployed a matching expecting-transfer entry. The source class may stay in code during the rollout window (an info notice is emitted). storage, renamed_to and transfer_from are not allowed.

state: Literal["transferred"]

Tombstone that transfers the namespace to another script.

transferred_to: str

The destination script name. Must be in the same account and the same dispatch-namespace context (or both non-dispatch). Cross-dispatch-namespace transfers are rejected. Write-only: never present in GET responses.

maxLength128
type: Literal["durable-object"]

Marks this entry as a Durable Object export.

class ExportsWorkersDurableObjectExpectingTransferExport:

The target side of a two-phase transfer (state: expecting-transfer). Declares that this script expects to receive a namespace for this class from the transfer_from script. This is a live entry, not a tombstone: bindings resolve through the source’s namespace until the source commits with a transferred tombstone. storage and transfer_from are required; renamed_to and transferred_to are not allowed.

state: Literal["expecting-transfer"]

Target side of a two-phase transfer.

storage: Literal["sqlite", "legacy-kv"]

Durable Object storage backend. sqlite is the recommended (and only) backend for new namespaces. legacy-kv is accepted only for a class whose namespace already exists as KV-backed; the exports flow never provisions a new legacy-kv namespace.

One of the following:
"sqlite"
"legacy-kv"
transfer_from: str

The source script name to receive the namespace from. Must be in the same account and dispatch-namespace context. Present on reads for expecting-transfer entries.

maxLength128
type: Literal["durable-object"]

Marks this entry as a Durable Object export.

container: Optional[str]

Name of the container (declared in the upload’s metadata.containers) that backs this Durable Object once the transfer settles. Valid only on live entries.

maxLength128
handlers: Optional[List[str]]

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

has_assets: Optional[bool]

Whether a Worker contains assets.

has_modules: Optional[bool]

Whether a Worker contains modules.

last_deployed_from: Optional[str]

The client most recently used to deploy this Worker.

logpush: Optional[bool]

Whether Logpush is turned on for the Worker.

migration_tag: Optional[str]

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

modified_on: Optional[datetime]

When the script was last modified.

formatdate-time
named_handlers: Optional[List[NamedHandler]]

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

handlers: Optional[List[str]]

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

name: Optional[str]

The name of the export.

observability: Optional[Observability]

Observability settings for the Worker.

enabled: bool

Whether observability is enabled for the Worker.

head_sampling_rate: Optional[float]

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

logs: Optional[ObservabilityLogs]

Log settings for the Worker.

enabled: bool

Whether logs are enabled for the Worker.

invocation_logs: bool

Whether invocation logs are enabled for the Worker.

destinations: Optional[List[str]]

A list of destinations where logs will be exported to.

head_sampling_rate: Optional[float]

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

persist: Optional[bool]

Whether log persistence is enabled for the Worker.

traces: Optional[ObservabilityTraces]

Trace settings for the Worker.

destinations: Optional[List[str]]

A list of destinations where traces will be exported to.

enabled: Optional[bool]

Whether traces are enabled for the Worker.

head_sampling_rate: Optional[float]

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

persist: Optional[bool]

Whether trace persistence is enabled for the Worker.

propagation_policy: Optional[Literal["authenticated", "accept"]]

Controls how inbound trace context (traceparent/tracestate) headers on incoming requests are handled. “authenticated” (default) honors inbound trace context only when accompanied by a valid trace auth token. “accept” unconditionally accepts inbound trace context. Requires the trace propagation feature to be enabled.

One of the following:
"authenticated"
"accept"
placement: Optional[Placement]

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

One of the following:
class PlacementUnionMember0:
mode: Literal["smart"]
last_analyzed_at: Optional[datetime]

The last time the script was analyzed for Smart Placement.

formatdate-time
status: Optional[Literal["SUCCESS", "UNSUPPORTED_APPLICATION", "INSUFFICIENT_INVOCATIONS"]]

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
class PlacementUnionMember1:
region: str

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

last_analyzed_at: Optional[datetime]

The last time the script was analyzed for Smart Placement.

formatdate-time
status: Optional[Literal["SUCCESS", "UNSUPPORTED_APPLICATION", "INSUFFICIENT_INVOCATIONS"]]

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
class PlacementUnionMember2:
hostname: str

HTTP hostname for targeted placement.

last_analyzed_at: Optional[datetime]

The last time the script was analyzed for Smart Placement.

formatdate-time
status: Optional[Literal["SUCCESS", "UNSUPPORTED_APPLICATION", "INSUFFICIENT_INVOCATIONS"]]

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
class PlacementUnionMember3:
host: str

TCP host and port for targeted placement.

last_analyzed_at: Optional[datetime]

The last time the script was analyzed for Smart Placement.

formatdate-time
status: Optional[Literal["SUCCESS", "UNSUPPORTED_APPLICATION", "INSUFFICIENT_INVOCATIONS"]]

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
class PlacementUnionMember4:
mode: Literal["targeted"]

Targeted placement mode.

region: str

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

last_analyzed_at: Optional[datetime]

The last time the script was analyzed for Smart Placement.

formatdate-time
status: Optional[Literal["SUCCESS", "UNSUPPORTED_APPLICATION", "INSUFFICIENT_INVOCATIONS"]]

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
class PlacementUnionMember5:
hostname: str

HTTP hostname for targeted placement.

mode: Literal["targeted"]

Targeted placement mode.

last_analyzed_at: Optional[datetime]

The last time the script was analyzed for Smart Placement.

formatdate-time
status: Optional[Literal["SUCCESS", "UNSUPPORTED_APPLICATION", "INSUFFICIENT_INVOCATIONS"]]

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
class PlacementUnionMember6:
host: str

TCP host and port for targeted placement.

mode: Literal["targeted"]

Targeted placement mode.

last_analyzed_at: Optional[datetime]

The last time the script was analyzed for Smart Placement.

formatdate-time
status: Optional[Literal["SUCCESS", "UNSUPPORTED_APPLICATION", "INSUFFICIENT_INVOCATIONS"]]

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
class PlacementUnionMember7:
mode: Literal["targeted"]

Targeted placement mode.

target: List[PlacementUnionMember7Target]

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

One of the following:
class PlacementUnionMember7TargetRegion:
region: str

Cloud region in format ‘provider:region’.

class PlacementUnionMember7TargetHostname:
hostname: str

HTTP hostname for targeted placement.

class PlacementUnionMember7TargetHost:
host: str

TCP host:port for targeted placement.

last_analyzed_at: Optional[datetime]

The last time the script was analyzed for Smart Placement.

formatdate-time
status: Optional[Literal["SUCCESS", "UNSUPPORTED_APPLICATION", "INSUFFICIENT_INVOCATIONS"]]

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
Deprecatedplacement_mode: Optional[Literal["smart", "targeted"]]
One of the following:
"smart"
"targeted"
Deprecatedplacement_status: Optional[Literal["SUCCESS", "UNSUPPORTED_APPLICATION", "INSUFFICIENT_INVOCATIONS"]]
One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
routes: Optional[List[Route]]

Routes associated with the Worker.

id: str

Identifier.

maxLength32
pattern: str

Pattern to match incoming requests against. Learn more.

script: Optional[str]

Name of the script to run if the route matches.

tag: Optional[str]

The immutable ID of the script.

tags: Optional[List[str]]

Tags associated with the Worker.

tail_consumers: Optional[List[ConsumerScript]]

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

service: str

Name of Worker that is to be the consumer.

environment: Optional[str]

Optional environment if the Worker utilizes one.

namespace: Optional[str]

Optional dispatch namespace the script belongs to.

usage_model: Optional[Literal["standard", "bundled", "unbound"]]

Usage model for the Worker invocations.

One of the following:
"standard"
"bundled"
"unbound"
List[ScriptSearchResponseItem]
id: str

Identifier.

maxLength32
created_on: datetime

When the script was created.

formatdate-time
modified_on: datetime

When the script was last modified.

formatdate-time
script_name: str

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

environment_is_default: Optional[bool]

Whether the environment is the default environment.

environment_name: Optional[str]

Name of the environment.

service_name: Optional[str]

Name of the service.

str
class ScriptUpdateResponse:
startup_time_ms: int
id: Optional[str]

The name used to identify the script.

cache_options: Optional[CacheOptions]

Global CacheW configuration for the Worker. When caching is on, the platform provisions a cloudflare.app zone for the Worker. A type: worker entry in the exports map can override this value for a single entrypoint.

enabled: bool

Whether caching is enabled for this Worker.

cross_version_cache: Optional[bool]

Whether cached responses are shared across Worker version uploads. This is independent of enabled. It can stay true while caching is off, so the preference survives turning caching off and back on.

compatibility_date: Optional[str]

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[List[str]]

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[datetime]

When the script was created.

formatdate-time
entry_point: Optional[str]

The entry point for the script.

etag: Optional[str]

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

exports: Optional[Dict[str, Exports]]

Declarative exports for the Worker’s most recent version, including Durable Object classes (with their storage backend) and named Worker entrypoints. Tombstoned lifecycle entries are omitted, so only live exports (created and expecting-transfer) are returned.

One of the following:
class ExportsWorkersWorkerExport:

A named Worker entrypoint export (type: worker). Worker entrypoints are always live (state: created) and carry no storage or lifecycle fields. The optional cache block overrides the Worker’s global cache_options.enabled for this entrypoint.

type: Literal["worker"]

Marks this entry as a Worker entrypoint export.

cache: Optional[ExportsWorkersWorkerExportCache]

Cache override for this entrypoint. Overrides the Worker’s global cache_options.enabled for this entrypoint only.

enabled: bool

Whether caching is enabled for this entrypoint.

state: Optional[Literal["created"]]

Live export. May be omitted; defaults to created.

class ExportsWorkersDurableObjectExport:

A live Durable Object export (state: created, the default). The platform auto-provisions the namespace on first deploy, matches it on subsequent deploys, and never mutates or deletes it as a side effect of a code-only change. storage is required; renamed_to, transferred_to and transfer_from are not allowed on a live entry.

storage: Literal["sqlite", "legacy-kv"]

Durable Object storage backend. sqlite is the recommended (and only) backend for new namespaces. legacy-kv is accepted only for a class whose namespace already exists as KV-backed; the exports flow never provisions a new legacy-kv namespace.

One of the following:
"sqlite"
"legacy-kv"
type: Literal["durable-object"]

Marks this entry as a Durable Object export.

container: Optional[str]

Name of the container (declared in the upload’s metadata.containers) that backs this Durable Object. When set, the namespace is container-enabled. Valid only on live entries.

maxLength128
state: Optional[Literal["created"]]

Live export. May be omitted; defaults to created.

class ExportsWorkersDurableObjectDeletedExport:

A deleted tombstone: retires the provisioned namespace for this class and all of its data. The class must be absent from the uploaded code and no other Worker in the account may bind to the namespace, otherwise the deploy is rejected. No other fields are allowed. Deletion is irreversible.

state: Literal["deleted"]

Tombstone that deletes the namespace.

type: Literal["durable-object"]

Marks this entry as a Durable Object export.

class ExportsWorkersDurableObjectRenamedExport:

A renamed tombstone: rewrites the provisioned namespace’s class name from this map key to renamed_to. The source class may stay in code during the rollout window (an info notice is emitted). storage, transferred_to and transfer_from are not allowed.

renamed_to: str

The destination class name. Must differ from the source class (the map key) and must be declared as a live (created) entry in the same exports map. Write-only: never present in GET responses.

maxLength128
state: Literal["renamed"]

Tombstone that renames the namespace’s class.

type: Literal["durable-object"]

Marks this entry as a Durable Object export.

class ExportsWorkersDurableObjectTransferredExport:

A transferred tombstone (source side of a two-phase transfer): hands ownership of the provisioned namespace to another script in the same account, named by transferred_to. The target must have already deployed a matching expecting-transfer entry. The source class may stay in code during the rollout window (an info notice is emitted). storage, renamed_to and transfer_from are not allowed.

state: Literal["transferred"]

Tombstone that transfers the namespace to another script.

transferred_to: str

The destination script name. Must be in the same account and the same dispatch-namespace context (or both non-dispatch). Cross-dispatch-namespace transfers are rejected. Write-only: never present in GET responses.

maxLength128
type: Literal["durable-object"]

Marks this entry as a Durable Object export.

class ExportsWorkersDurableObjectExpectingTransferExport:

The target side of a two-phase transfer (state: expecting-transfer). Declares that this script expects to receive a namespace for this class from the transfer_from script. This is a live entry, not a tombstone: bindings resolve through the source’s namespace until the source commits with a transferred tombstone. storage and transfer_from are required; renamed_to and transferred_to are not allowed.

state: Literal["expecting-transfer"]

Target side of a two-phase transfer.

storage: Literal["sqlite", "legacy-kv"]

Durable Object storage backend. sqlite is the recommended (and only) backend for new namespaces. legacy-kv is accepted only for a class whose namespace already exists as KV-backed; the exports flow never provisions a new legacy-kv namespace.

One of the following:
"sqlite"
"legacy-kv"
transfer_from: str

The source script name to receive the namespace from. Must be in the same account and dispatch-namespace context. Present on reads for expecting-transfer entries.

maxLength128
type: Literal["durable-object"]

Marks this entry as a Durable Object export.

container: Optional[str]

Name of the container (declared in the upload’s metadata.containers) that backs this Durable Object once the transfer settles. Valid only on live entries.

maxLength128
handlers: Optional[List[str]]

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

has_assets: Optional[bool]

Whether a Worker contains assets.

has_modules: Optional[bool]

Whether a Worker contains modules.

last_deployed_from: Optional[str]

The client most recently used to deploy this Worker.

logpush: Optional[bool]

Whether Logpush is turned on for the Worker.

migration_tag: Optional[str]

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

modified_on: Optional[datetime]

When the script was last modified.

formatdate-time
named_handlers: Optional[List[NamedHandler]]

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

handlers: Optional[List[str]]

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

name: Optional[str]

The name of the export.

observability: Optional[Observability]

Observability settings for the Worker.

enabled: bool

Whether observability is enabled for the Worker.

head_sampling_rate: Optional[float]

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

logs: Optional[ObservabilityLogs]

Log settings for the Worker.

enabled: bool

Whether logs are enabled for the Worker.

invocation_logs: bool

Whether invocation logs are enabled for the Worker.

destinations: Optional[List[str]]

A list of destinations where logs will be exported to.

head_sampling_rate: Optional[float]

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

persist: Optional[bool]

Whether log persistence is enabled for the Worker.

traces: Optional[ObservabilityTraces]

Trace settings for the Worker.

destinations: Optional[List[str]]

A list of destinations where traces will be exported to.

enabled: Optional[bool]

Whether traces are enabled for the Worker.

head_sampling_rate: Optional[float]

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

persist: Optional[bool]

Whether trace persistence is enabled for the Worker.

propagation_policy: Optional[Literal["authenticated", "accept"]]

Controls how inbound trace context (traceparent/tracestate) headers on incoming requests are handled. “authenticated” (default) honors inbound trace context only when accompanied by a valid trace auth token. “accept” unconditionally accepts inbound trace context. Requires the trace propagation feature to be enabled.

One of the following:
"authenticated"
"accept"
placement: Optional[Placement]

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

One of the following:
class PlacementUnionMember0:
mode: Literal["smart"]
last_analyzed_at: Optional[datetime]

The last time the script was analyzed for Smart Placement.

formatdate-time
status: Optional[Literal["SUCCESS", "UNSUPPORTED_APPLICATION", "INSUFFICIENT_INVOCATIONS"]]

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
class PlacementUnionMember1:
region: str

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

last_analyzed_at: Optional[datetime]

The last time the script was analyzed for Smart Placement.

formatdate-time
status: Optional[Literal["SUCCESS", "UNSUPPORTED_APPLICATION", "INSUFFICIENT_INVOCATIONS"]]

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
class PlacementUnionMember2:
hostname: str

HTTP hostname for targeted placement.

last_analyzed_at: Optional[datetime]

The last time the script was analyzed for Smart Placement.

formatdate-time
status: Optional[Literal["SUCCESS", "UNSUPPORTED_APPLICATION", "INSUFFICIENT_INVOCATIONS"]]

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
class PlacementUnionMember3:
host: str

TCP host and port for targeted placement.

last_analyzed_at: Optional[datetime]

The last time the script was analyzed for Smart Placement.

formatdate-time
status: Optional[Literal["SUCCESS", "UNSUPPORTED_APPLICATION", "INSUFFICIENT_INVOCATIONS"]]

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
class PlacementUnionMember4:
mode: Literal["targeted"]

Targeted placement mode.

region: str

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

last_analyzed_at: Optional[datetime]

The last time the script was analyzed for Smart Placement.

formatdate-time
status: Optional[Literal["SUCCESS", "UNSUPPORTED_APPLICATION", "INSUFFICIENT_INVOCATIONS"]]

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
class PlacementUnionMember5:
hostname: str

HTTP hostname for targeted placement.

mode: Literal["targeted"]

Targeted placement mode.

last_analyzed_at: Optional[datetime]

The last time the script was analyzed for Smart Placement.

formatdate-time
status: Optional[Literal["SUCCESS", "UNSUPPORTED_APPLICATION", "INSUFFICIENT_INVOCATIONS"]]

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
class PlacementUnionMember6:
host: str

TCP host and port for targeted placement.

mode: Literal["targeted"]

Targeted placement mode.

last_analyzed_at: Optional[datetime]

The last time the script was analyzed for Smart Placement.

formatdate-time
status: Optional[Literal["SUCCESS", "UNSUPPORTED_APPLICATION", "INSUFFICIENT_INVOCATIONS"]]

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
class PlacementUnionMember7:
mode: Literal["targeted"]

Targeted placement mode.

target: List[PlacementUnionMember7Target]

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

One of the following:
class PlacementUnionMember7TargetRegion:
region: str

Cloud region in format ‘provider:region’.

class PlacementUnionMember7TargetHostname:
hostname: str

HTTP hostname for targeted placement.

class PlacementUnionMember7TargetHost:
host: str

TCP host:port for targeted placement.

last_analyzed_at: Optional[datetime]

The last time the script was analyzed for Smart Placement.

formatdate-time
status: Optional[Literal["SUCCESS", "UNSUPPORTED_APPLICATION", "INSUFFICIENT_INVOCATIONS"]]

Status of Smart Placement.

One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
Deprecatedplacement_mode: Optional[Literal["smart", "targeted"]]
One of the following:
"smart"
"targeted"
Deprecatedplacement_status: Optional[Literal["SUCCESS", "UNSUPPORTED_APPLICATION", "INSUFFICIENT_INVOCATIONS"]]
One of the following:
"SUCCESS"
"UNSUPPORTED_APPLICATION"
"INSUFFICIENT_INVOCATIONS"
tag: Optional[str]

The immutable ID of the script.

tags: Optional[List[str]]

Tags associated with the Worker.

tail_consumers: Optional[List[ConsumerScript]]

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

service: str

Name of Worker that is to be the consumer.

environment: Optional[str]

Optional environment if the Worker utilizes one.

namespace: Optional[str]

Optional dispatch namespace the script belongs to.

usage_model: Optional[Literal["standard", "bundled", "unbound"]]

Usage model for the Worker invocations.

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

ScriptsAssets

ScriptsAssetsUpload

Create Assets Upload Session
workers.scripts.assets.upload.create(strscript_name, UploadCreateParams**kwargs) -> UploadCreateResponse
POST/accounts/{account_id}/workers/scripts/{script_name}/assets-upload-session
ModelsExpand Collapse
class UploadCreateResponse:
buckets: Optional[List[List[str]]]

The requests to make to upload assets.

jwt: Optional[str]

A JWT to use as authentication for uploading assets.

ScriptsSubdomain

Get Worker subdomain
workers.scripts.subdomain.get(strscript_name, SubdomainGetParams**kwargs) -> SubdomainGetResponse
GET/accounts/{account_id}/workers/scripts/{script_name}/subdomain
Post Worker subdomain
workers.scripts.subdomain.create(strscript_name, SubdomainCreateParams**kwargs) -> SubdomainCreateResponse
POST/accounts/{account_id}/workers/scripts/{script_name}/subdomain
Delete Worker subdomain
workers.scripts.subdomain.delete(strscript_name, SubdomainDeleteParams**kwargs) -> SubdomainDeleteResponse
DELETE/accounts/{account_id}/workers/scripts/{script_name}/subdomain
ModelsExpand Collapse
class SubdomainGetResponse:
enabled: bool

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

previews_enabled: bool

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

class SubdomainCreateResponse:
enabled: bool

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

previews_enabled: bool

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

class SubdomainDeleteResponse:
enabled: bool

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

previews_enabled: bool

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

ScriptsSchedules

Get Cron Triggers
workers.scripts.schedules.get(strscript_name, ScheduleGetParams**kwargs) -> ScheduleGetResponse
GET/accounts/{account_id}/workers/scripts/{script_name}/schedules
Update Cron Triggers
workers.scripts.schedules.update(strscript_name, ScheduleUpdateParams**kwargs) -> ScheduleUpdateResponse
PUT/accounts/{account_id}/workers/scripts/{script_name}/schedules
ModelsExpand Collapse
class ScheduleGetResponse:
schedules: List[Schedule]
cron: str
created_on: Optional[str]
modified_on: Optional[str]
class ScheduleUpdateResponse:
schedules: List[Schedule]
cron: str
created_on: Optional[str]
modified_on: Optional[str]

ScriptsTail

List Tails
workers.scripts.tail.get(strscript_name, TailGetParams**kwargs) -> TailGetResponse
GET/accounts/{account_id}/workers/scripts/{script_name}/tails
Start Tail
workers.scripts.tail.create(strscript_name, TailCreateParams**kwargs) -> TailCreateResponse
POST/accounts/{account_id}/workers/scripts/{script_name}/tails
Delete Tail
workers.scripts.tail.delete(strid, TailDeleteParams**kwargs) -> TailDeleteResponse
DELETE/accounts/{account_id}/workers/scripts/{script_name}/tails/{id}
ModelsExpand Collapse
class ConsumerScript:

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

service: str

Name of Worker that is to be the consumer.

environment: Optional[str]

Optional environment if the Worker utilizes one.

namespace: Optional[str]

Optional dispatch namespace the script belongs to.

class TailGetResponse:
id: str

Identifier.

maxLength32
expires_at: str
url: str
class TailCreateResponse:
id: str

Identifier.

maxLength32
expires_at: str
url: str
class TailDeleteResponse:
errors: List[Error]
code: int
minimum1000
message: str
documentation_url: Optional[str]
source: Optional[ErrorSource]
pointer: Optional[str]
messages: List[Message]
code: int
minimum1000
message: str
documentation_url: Optional[str]
source: Optional[MessageSource]
pointer: Optional[str]
success: Literal[true]

Whether the API call was successful.

ScriptsContent

Get script content
workers.scripts.content.get(strscript_name, ContentGetParams**kwargs) -> BinaryResponseContent
GET/accounts/{account_id}/workers/scripts/{script_name}/content/v2
Put script content
workers.scripts.content.update(strscript_name, ContentUpdateParams**kwargs) -> Script
PUT/accounts/{account_id}/workers/scripts/{script_name}/content

ScriptsSettings

Get Script Settings
workers.scripts.settings.get(strscript_name, SettingGetParams**kwargs) -> ScriptSetting
GET/accounts/{account_id}/workers/scripts/{script_name}/script-settings
Patch Script Settings
workers.scripts.settings.edit(strscript_name, SettingEditParams**kwargs) -> ScriptSetting
PATCH/accounts/{account_id}/workers/scripts/{script_name}/script-settings

ScriptsDeployments

List Deployments
workers.scripts.deployments.list(strscript_name, DeploymentListParams**kwargs) -> DeploymentListResponse
GET/accounts/{account_id}/workers/scripts/{script_name}/deployments
Create Deployment
workers.scripts.deployments.create(strscript_name, DeploymentCreateParams**kwargs) -> Deployment
POST/accounts/{account_id}/workers/scripts/{script_name}/deployments
Get Deployment
workers.scripts.deployments.get(strdeployment_id, DeploymentGetParams**kwargs) -> Deployment
GET/accounts/{account_id}/workers/scripts/{script_name}/deployments/{deployment_id}
Delete Deployment
workers.scripts.deployments.delete(strdeployment_id, DeploymentDeleteParams**kwargs) -> DeploymentDeleteResponse
DELETE/accounts/{account_id}/workers/scripts/{script_name}/deployments/{deployment_id}
ModelsExpand Collapse
class Deployment:
id: str
formatuuid
created_on: datetime
formatdate-time
source: str
strategy: Literal["percentage"]
versions: List[Version]
percentage: float
maximum100
minimum0.01
version_id: str
formatuuid
annotations: Optional[Annotations]
workers_message: Optional[str]

Human-readable message about the deployment. Truncated to 1000 bytes if longer.

maxLength1000
workers_triggered_by: Optional[str]

Operation that triggered the creation of the deployment.

author_email: Optional[str]
formatemail
class DeploymentListResponse:
deployments: List[Deployment]
id: str
formatuuid
created_on: datetime
formatdate-time
source: str
strategy: Literal["percentage"]
versions: List[Version]
percentage: float
maximum100
minimum0.01
version_id: str
formatuuid
annotations: Optional[Annotations]
workers_message: Optional[str]

Human-readable message about the deployment. Truncated to 1000 bytes if longer.

maxLength1000
workers_triggered_by: Optional[str]

Operation that triggered the creation of the deployment.

author_email: Optional[str]
formatemail
class DeploymentDeleteResponse:
errors: List[Error]
code: int
minimum1000
message: str
documentation_url: Optional[str]
source: Optional[ErrorSource]
pointer: Optional[str]
messages: List[Message]
code: int
minimum1000
message: str
documentation_url: Optional[str]
source: Optional[MessageSource]
pointer: Optional[str]
success: Literal[true]

Whether the API call was successful.

ScriptsVersions

List Versions
workers.scripts.versions.list(strscript_name, VersionListParams**kwargs) -> SyncV4PagePagination[VersionListResponse]
GET/accounts/{account_id}/workers/scripts/{script_name}/versions
Get Version Detail
workers.scripts.versions.get(strversion_id, VersionGetParams**kwargs) -> VersionGetResponse
GET/accounts/{account_id}/workers/scripts/{script_name}/versions/{version_id}
Upload Version
workers.scripts.versions.create(strscript_name, VersionCreateParams**kwargs) -> VersionCreateResponse
POST/accounts/{account_id}/workers/scripts/{script_name}/versions
ModelsExpand Collapse
class VersionListResponse:
id: Optional[str]

Unique identifier for the version.

metadata: Optional[Metadata]
author_email: Optional[str]

Email of the user who created the version.

author_id: Optional[str]

Identifier of the user who created the version.

created_on: Optional[str]

When the version was created.

has_preview: Optional[bool]

Whether the version can be previewed.

modified_on: Optional[str]

When the version was last modified.

source: Optional[Literal["unknown", "api", "wrangler", 8 more]]

The source of the version upload.

One of the following:
"unknown"
"api"
"wrangler"
"terraform"
"dash"
"cf_cli"
"dash_template"
"integration"
"quick_editor"
"playground"
"workersci"
number: Optional[float]

Sequential version number.

class VersionGetResponse:
resources: Resources
bindings: Optional[List[ResourcesBinding]]

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:
class ResourcesBindingWorkersBindingKindAI:
name: str

A JavaScript variable name for the binding.

type: Literal["ai"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindAISearch:
instance_name: str

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

name: str

A JavaScript variable name for the binding.

type: Literal["ai_search"]

The kind of resource that the binding provides.

namespace: Optional[str]

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

class ResourcesBindingWorkersBindingKindAISearchNamespace:
name: str

A JavaScript variable name for the binding.

namespace: str

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: Literal["ai_search_namespace"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindMessaging:
name: str

A JavaScript variable name for the binding.

namespace: str

The Messaging namespace to bind to.

type: Literal["messaging"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindAnalyticsEngine:
dataset: str

The name of the dataset to bind to.

name: str

A JavaScript variable name for the binding.

type: Literal["analytics_engine"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindAssets:
name: str

A JavaScript variable name for the binding.

type: Literal["assets"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindBrowser:
name: str

A JavaScript variable name for the binding.

type: Literal["browser"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindD1:
database_id: str

Identifier of the D1 database to bind to.

name: str

A JavaScript variable name for the binding.

type: Literal["d1"]

The kind of resource that the binding provides.

Deprecatedid: Optional[str]

This property has been renamed to database_id.

Identifier of the D1 database to bind to.

class ResourcesBindingWorkersBindingKindDataBlob:
name: str

A JavaScript variable name for the binding.

part: str

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

Deprecatedtype: Literal["data_blob"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindDispatchNamespace:
name: str

A JavaScript variable name for the binding.

namespace: str

The name of the dispatch namespace.

type: Literal["dispatch_namespace"]

The kind of resource that the binding provides.

outbound: Optional[ResourcesBindingWorkersBindingKindDispatchNamespaceOutbound]

Outbound worker.

params: Optional[List[ResourcesBindingWorkersBindingKindDispatchNamespaceOutboundParam]]

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

name: str

Name of the parameter.

worker: Optional[ResourcesBindingWorkersBindingKindDispatchNamespaceOutboundWorker]

Outbound worker.

entrypoint: Optional[str]

Entrypoint to invoke on the outbound worker.

environment: Optional[str]

Environment of the outbound worker.

service: Optional[str]

Name of the outbound worker.

class ResourcesBindingWorkersBindingKindDurableObjectNamespace:
name: str

A JavaScript variable name for the binding.

type: Literal["durable_object_namespace"]

The kind of resource that the binding provides.

class_name: Optional[str]

The exported class name of the Durable Object.

dispatch_namespace: Optional[str]

The dispatch namespace the Durable Object script belongs to.

environment: Optional[str]

The environment of the script_name to bind to.

namespace_id: Optional[str]

Namespace identifier tag.

maxLength32
script_name: Optional[str]

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

class ResourcesBindingWorkersBindingKindHyperdrive:
id: str

Identifier of the Hyperdrive connection to bind to.

name: str

A JavaScript variable name for the binding.

type: Literal["hyperdrive"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindInherit:
name: str

The name of the inherited binding.

type: Literal["inherit"]

The kind of resource that the binding provides.

old_name: Optional[str]

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[str]

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.

class ResourcesBindingWorkersBindingKindImages:
name: str

A JavaScript variable name for the binding.

type: Literal["images"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindJson:
json: object

JSON data to use.

name: str

A JavaScript variable name for the binding.

type: Literal["json"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindKVNamespace:
name: str

A JavaScript variable name for the binding.

namespace_id: str

Namespace identifier tag.

maxLength32
type: Literal["kv_namespace"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindMedia:
name: str

A JavaScript variable name for the binding.

type: Literal["media"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindMTLSCertificate:
certificate_id: str

Identifier of the certificate to bind to.

name: str

A JavaScript variable name for the binding.

type: Literal["mtls_certificate"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindPlainText:
name: str

A JavaScript variable name for the binding.

text: str

The text value to use.

type: Literal["plain_text"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindPipelines:
name: str

A JavaScript variable name for the binding.

pipeline: str

Name of the Pipeline to bind to.

type: Literal["pipelines"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindQueue:
name: str

A JavaScript variable name for the binding.

queue_name: str

Name of the Queue to bind to.

type: Literal["queue"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindRatelimit:
name: str

A JavaScript variable name for the binding.

namespace_id: str

Identifier of the rate limit namespace to bind to.

simple: ResourcesBindingWorkersBindingKindRatelimitSimple

The rate limit configuration.

limit: float

The limit (requests per period).

period: int

The period in seconds.

mitigation_timeout: Optional[int]

Duration in seconds to apply the mitigation action after the rate limit is exceeded. Valid values are 0 (disabled), 10, or multiples of 60 up to 86400. Must be greater than or equal to the period when non-zero.

type: Literal["ratelimit"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindR2Bucket:
bucket_name: str

R2 bucket to bind to.

name: str

A JavaScript variable name for the binding.

type: Literal["r2_bucket"]

The kind of resource that the binding provides.

jurisdiction: Optional[Literal["eu", "fedramp", "fedramp-high"]]

The jurisdiction of the R2 bucket.

One of the following:
"eu"
"fedramp"
"fedramp-high"
class ResourcesBindingWorkersBindingKindSecretText:
name: str

A JavaScript variable name for the binding.

text: str

The secret value to use.

type: Literal["secret_text"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindSendEmail:
name: str

A JavaScript variable name for the binding.

type: Literal["send_email"]

The kind of resource that the binding provides.

allowed_destination_addresses: Optional[List[str]]

List of allowed destination addresses.

allowed_sender_addresses: Optional[List[str]]

List of allowed sender addresses.

destination_address: Optional[str]

Destination address for the email.

formatemail
class ResourcesBindingWorkersBindingKindService:
name: str

A JavaScript variable name for the binding.

service: str

Name of Worker to bind to.

type: Literal["service"]

The kind of resource that the binding provides.

entrypoint: Optional[str]

Entrypoint to invoke on the target Worker.

environment: Optional[str]

Optional environment if the Worker utilizes one.

class ResourcesBindingWorkersBindingKindTextBlob:
name: str

A JavaScript variable name for the binding.

part: str

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

Deprecatedtype: Literal["text_blob"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindVectorize:
index_name: str

Name of the Vectorize index to bind to.

name: str

A JavaScript variable name for the binding.

type: Literal["vectorize"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindVersionMetadata:
name: str

A JavaScript variable name for the binding.

type: Literal["version_metadata"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindSecretsStoreSecret:
name: str

A JavaScript variable name for the binding.

secret_name: str

Name of the secret in the store.

store_id: str

ID of the store containing the secret.

type: Literal["secrets_store_secret"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindFlagship:
app_id: str

ID of the Flagship app to bind to for feature flag evaluation.

maxLength128
name: str

A JavaScript variable name for the binding.

type: Literal["flagship"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindSecretKey:
algorithm: object

Algorithm-specific key parameters. Learn more.

format: Literal["raw", "pkcs8", "spki", "jwk"]

Data format of the key. Learn more.

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

A JavaScript variable name for the binding.

type: Literal["secret_key"]

The kind of resource that the binding provides.

usages: List[Literal["encrypt", "decrypt", "sign", 5 more]]

Allowed operations with the key. Learn more.

One of the following:
"encrypt"
"decrypt"
"sign"
"verify"
"deriveKey"
"deriveBits"
"wrapKey"
"unwrapKey"
key_base64: Optional[str]

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

key_jwk: Optional[object]

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

class ResourcesBindingWorkersBindingKindWorkflow:
name: str

A JavaScript variable name for the binding.

type: Literal["workflow"]

The kind of resource that the binding provides.

workflow_name: str

Name of the Workflow to bind to.

class_name: Optional[str]

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

script_name: Optional[str]

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

class ResourcesBindingWorkersBindingKindWasmModule:
name: str

A JavaScript variable name for the binding.

part: str

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

Deprecatedtype: Literal["wasm_module"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindVPCService:
name: str

A JavaScript variable name for the binding.

service_id: str

Identifier of the VPC service to bind to.

type: Literal["vpc_service"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindVPCNetwork:
name: str

A JavaScript variable name for the binding.

type: Literal["vpc_network"]

The kind of resource that the binding provides.

network_id: Optional[str]

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

tunnel_id: Optional[str]

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

script: Optional[ResourcesScript]
etag: Optional[str]

Hashed script content

handlers: Optional[List[str]]

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

last_deployed_from: Optional[str]

The client most recently used to deploy this Worker.

named_handlers: Optional[List[ResourcesScriptNamedHandler]]

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

handlers: Optional[List[str]]

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

name: Optional[str]

The name of the exported class or entrypoint.

script_runtime: Optional[ResourcesScriptRuntime]

Runtime configuration for the Worker.

compatibility_date: Optional[str]

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[List[str]]

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

exports: Optional[Dict[str, ResourcesScriptRuntimeExports]]

Declarative exports for this version, including Durable Object classes (with their storage backend) and named Worker entrypoints. Tombstoned lifecycle entries are omitted, so only live exports (created and expecting-transfer) are returned.

One of the following:
class ResourcesScriptRuntimeExportsWorkersWorkerExport:

A named Worker entrypoint export (type: worker). Worker entrypoints are always live (state: created) and carry no storage or lifecycle fields. The optional cache block overrides the Worker’s global cache_options.enabled for this entrypoint.

type: Literal["worker"]

Marks this entry as a Worker entrypoint export.

cache: Optional[ResourcesScriptRuntimeExportsWorkersWorkerExportCache]

Cache override for this entrypoint. Overrides the Worker’s global cache_options.enabled for this entrypoint only.

enabled: bool

Whether caching is enabled for this entrypoint.

state: Optional[Literal["created"]]

Live export. May be omitted; defaults to created.

class ResourcesScriptRuntimeExportsWorkersDurableObjectExport:

A live Durable Object export (state: created, the default). The platform auto-provisions the namespace on first deploy, matches it on subsequent deploys, and never mutates or deletes it as a side effect of a code-only change. storage is required; renamed_to, transferred_to and transfer_from are not allowed on a live entry.

storage: Literal["sqlite", "legacy-kv"]

Durable Object storage backend. sqlite is the recommended (and only) backend for new namespaces. legacy-kv is accepted only for a class whose namespace already exists as KV-backed; the exports flow never provisions a new legacy-kv namespace.

One of the following:
"sqlite"
"legacy-kv"
type: Literal["durable-object"]

Marks this entry as a Durable Object export.

container: Optional[str]

Name of the container (declared in the upload’s metadata.containers) that backs this Durable Object. When set, the namespace is container-enabled. Valid only on live entries.

maxLength128
state: Optional[Literal["created"]]

Live export. May be omitted; defaults to created.

class ResourcesScriptRuntimeExportsWorkersDurableObjectDeletedExport:

A deleted tombstone: retires the provisioned namespace for this class and all of its data. The class must be absent from the uploaded code and no other Worker in the account may bind to the namespace, otherwise the deploy is rejected. No other fields are allowed. Deletion is irreversible.

state: Literal["deleted"]

Tombstone that deletes the namespace.

type: Literal["durable-object"]

Marks this entry as a Durable Object export.

class ResourcesScriptRuntimeExportsWorkersDurableObjectRenamedExport:

A renamed tombstone: rewrites the provisioned namespace’s class name from this map key to renamed_to. The source class may stay in code during the rollout window (an info notice is emitted). storage, transferred_to and transfer_from are not allowed.

renamed_to: str

The destination class name. Must differ from the source class (the map key) and must be declared as a live (created) entry in the same exports map. Write-only: never present in GET responses.

maxLength128
state: Literal["renamed"]

Tombstone that renames the namespace’s class.

type: Literal["durable-object"]

Marks this entry as a Durable Object export.

class ResourcesScriptRuntimeExportsWorkersDurableObjectTransferredExport:

A transferred tombstone (source side of a two-phase transfer): hands ownership of the provisioned namespace to another script in the same account, named by transferred_to. The target must have already deployed a matching expecting-transfer entry. The source class may stay in code during the rollout window (an info notice is emitted). storage, renamed_to and transfer_from are not allowed.

state: Literal["transferred"]

Tombstone that transfers the namespace to another script.

transferred_to: str

The destination script name. Must be in the same account and the same dispatch-namespace context (or both non-dispatch). Cross-dispatch-namespace transfers are rejected. Write-only: never present in GET responses.

maxLength128
type: Literal["durable-object"]

Marks this entry as a Durable Object export.

class ResourcesScriptRuntimeExportsWorkersDurableObjectExpectingTransferExport:

The target side of a two-phase transfer (state: expecting-transfer). Declares that this script expects to receive a namespace for this class from the transfer_from script. This is a live entry, not a tombstone: bindings resolve through the source’s namespace until the source commits with a transferred tombstone. storage and transfer_from are required; renamed_to and transferred_to are not allowed.

state: Literal["expecting-transfer"]

Target side of a two-phase transfer.

storage: Literal["sqlite", "legacy-kv"]

Durable Object storage backend. sqlite is the recommended (and only) backend for new namespaces. legacy-kv is accepted only for a class whose namespace already exists as KV-backed; the exports flow never provisions a new legacy-kv namespace.

One of the following:
"sqlite"
"legacy-kv"
transfer_from: str

The source script name to receive the namespace from. Must be in the same account and dispatch-namespace context. Present on reads for expecting-transfer entries.

maxLength128
type: Literal["durable-object"]

Marks this entry as a Durable Object export.

container: Optional[str]

Name of the container (declared in the upload’s metadata.containers) that backs this Durable Object once the transfer settles. Valid only on live entries.

maxLength128
limits: Optional[ResourcesScriptRuntimeLimits]

Resource limits for the Worker.

cpu_ms: Optional[int]

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

migration_tag: Optional[str]

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

usage_model: Optional[Literal["bundled", "unbound", "standard"]]

Usage model for the Worker invocations.

One of the following:
"bundled"
"unbound"
"standard"
id: Optional[str]

Unique identifier for the version.

metadata: Optional[Metadata]
author_email: Optional[str]

Email of the user who created the version.

author_id: Optional[str]

Identifier of the user who created the version.

created_on: Optional[str]

When the version was created.

has_preview: Optional[bool]

Whether the version can be previewed.

modified_on: Optional[str]

When the version was last modified.

source: Optional[Literal["unknown", "api", "wrangler", 8 more]]

The source of the version upload.

One of the following:
"unknown"
"api"
"wrangler"
"terraform"
"dash"
"cf_cli"
"dash_template"
"integration"
"quick_editor"
"playground"
"workersci"
number: Optional[float]

Sequential version number.

class VersionCreateResponse:
resources: Resources
bindings: Optional[List[ResourcesBinding]]

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:
class ResourcesBindingWorkersBindingKindAI:
name: str

A JavaScript variable name for the binding.

type: Literal["ai"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindAISearch:
instance_name: str

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

name: str

A JavaScript variable name for the binding.

type: Literal["ai_search"]

The kind of resource that the binding provides.

namespace: Optional[str]

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

class ResourcesBindingWorkersBindingKindAISearchNamespace:
name: str

A JavaScript variable name for the binding.

namespace: str

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: Literal["ai_search_namespace"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindMessaging:
name: str

A JavaScript variable name for the binding.

namespace: str

The Messaging namespace to bind to.

type: Literal["messaging"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindAnalyticsEngine:
dataset: str

The name of the dataset to bind to.

name: str

A JavaScript variable name for the binding.

type: Literal["analytics_engine"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindAssets:
name: str

A JavaScript variable name for the binding.

type: Literal["assets"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindBrowser:
name: str

A JavaScript variable name for the binding.

type: Literal["browser"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindD1:
database_id: str

Identifier of the D1 database to bind to.

name: str

A JavaScript variable name for the binding.

type: Literal["d1"]

The kind of resource that the binding provides.

Deprecatedid: Optional[str]

This property has been renamed to database_id.

Identifier of the D1 database to bind to.

class ResourcesBindingWorkersBindingKindDataBlob:
name: str

A JavaScript variable name for the binding.

part: str

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

Deprecatedtype: Literal["data_blob"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindDispatchNamespace:
name: str

A JavaScript variable name for the binding.

namespace: str

The name of the dispatch namespace.

type: Literal["dispatch_namespace"]

The kind of resource that the binding provides.

outbound: Optional[ResourcesBindingWorkersBindingKindDispatchNamespaceOutbound]

Outbound worker.

params: Optional[List[ResourcesBindingWorkersBindingKindDispatchNamespaceOutboundParam]]

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

name: str

Name of the parameter.

worker: Optional[ResourcesBindingWorkersBindingKindDispatchNamespaceOutboundWorker]

Outbound worker.

entrypoint: Optional[str]

Entrypoint to invoke on the outbound worker.

environment: Optional[str]

Environment of the outbound worker.

service: Optional[str]

Name of the outbound worker.

class ResourcesBindingWorkersBindingKindDurableObjectNamespace:
name: str

A JavaScript variable name for the binding.

type: Literal["durable_object_namespace"]

The kind of resource that the binding provides.

class_name: Optional[str]

The exported class name of the Durable Object.

dispatch_namespace: Optional[str]

The dispatch namespace the Durable Object script belongs to.

environment: Optional[str]

The environment of the script_name to bind to.

namespace_id: Optional[str]

Namespace identifier tag.

maxLength32
script_name: Optional[str]

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

class ResourcesBindingWorkersBindingKindHyperdrive:
id: str

Identifier of the Hyperdrive connection to bind to.

name: str

A JavaScript variable name for the binding.

type: Literal["hyperdrive"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindInherit:
name: str

The name of the inherited binding.

type: Literal["inherit"]

The kind of resource that the binding provides.

old_name: Optional[str]

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[str]

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.

class ResourcesBindingWorkersBindingKindImages:
name: str

A JavaScript variable name for the binding.

type: Literal["images"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindJson:
json: object

JSON data to use.

name: str

A JavaScript variable name for the binding.

type: Literal["json"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindKVNamespace:
name: str

A JavaScript variable name for the binding.

namespace_id: str

Namespace identifier tag.

maxLength32
type: Literal["kv_namespace"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindMedia:
name: str

A JavaScript variable name for the binding.

type: Literal["media"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindMTLSCertificate:
certificate_id: str

Identifier of the certificate to bind to.

name: str

A JavaScript variable name for the binding.

type: Literal["mtls_certificate"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindPlainText:
name: str

A JavaScript variable name for the binding.

text: str

The text value to use.

type: Literal["plain_text"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindPipelines:
name: str

A JavaScript variable name for the binding.

pipeline: str

Name of the Pipeline to bind to.

type: Literal["pipelines"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindQueue:
name: str

A JavaScript variable name for the binding.

queue_name: str

Name of the Queue to bind to.

type: Literal["queue"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindRatelimit:
name: str

A JavaScript variable name for the binding.

namespace_id: str

Identifier of the rate limit namespace to bind to.

simple: ResourcesBindingWorkersBindingKindRatelimitSimple

The rate limit configuration.

limit: float

The limit (requests per period).

period: int

The period in seconds.

mitigation_timeout: Optional[int]

Duration in seconds to apply the mitigation action after the rate limit is exceeded. Valid values are 0 (disabled), 10, or multiples of 60 up to 86400. Must be greater than or equal to the period when non-zero.

type: Literal["ratelimit"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindR2Bucket:
bucket_name: str

R2 bucket to bind to.

name: str

A JavaScript variable name for the binding.

type: Literal["r2_bucket"]

The kind of resource that the binding provides.

jurisdiction: Optional[Literal["eu", "fedramp", "fedramp-high"]]

The jurisdiction of the R2 bucket.

One of the following:
"eu"
"fedramp"
"fedramp-high"
class ResourcesBindingWorkersBindingKindSecretText:
name: str

A JavaScript variable name for the binding.

text: str

The secret value to use.

type: Literal["secret_text"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindSendEmail:
name: str

A JavaScript variable name for the binding.

type: Literal["send_email"]

The kind of resource that the binding provides.

allowed_destination_addresses: Optional[List[str]]

List of allowed destination addresses.

allowed_sender_addresses: Optional[List[str]]

List of allowed sender addresses.

destination_address: Optional[str]

Destination address for the email.

formatemail
class ResourcesBindingWorkersBindingKindService:
name: str

A JavaScript variable name for the binding.

service: str

Name of Worker to bind to.

type: Literal["service"]

The kind of resource that the binding provides.

entrypoint: Optional[str]

Entrypoint to invoke on the target Worker.

environment: Optional[str]

Optional environment if the Worker utilizes one.

class ResourcesBindingWorkersBindingKindTextBlob:
name: str

A JavaScript variable name for the binding.

part: str

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

Deprecatedtype: Literal["text_blob"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindVectorize:
index_name: str

Name of the Vectorize index to bind to.

name: str

A JavaScript variable name for the binding.

type: Literal["vectorize"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindVersionMetadata:
name: str

A JavaScript variable name for the binding.

type: Literal["version_metadata"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindSecretsStoreSecret:
name: str

A JavaScript variable name for the binding.

secret_name: str

Name of the secret in the store.

store_id: str

ID of the store containing the secret.

type: Literal["secrets_store_secret"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindFlagship:
app_id: str

ID of the Flagship app to bind to for feature flag evaluation.

maxLength128
name: str

A JavaScript variable name for the binding.

type: Literal["flagship"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindSecretKey:
algorithm: object

Algorithm-specific key parameters. Learn more.

format: Literal["raw", "pkcs8", "spki", "jwk"]

Data format of the key. Learn more.

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

A JavaScript variable name for the binding.

type: Literal["secret_key"]

The kind of resource that the binding provides.

usages: List[Literal["encrypt", "decrypt", "sign", 5 more]]

Allowed operations with the key. Learn more.

One of the following:
"encrypt"
"decrypt"
"sign"
"verify"
"deriveKey"
"deriveBits"
"wrapKey"
"unwrapKey"
key_base64: Optional[str]

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

key_jwk: Optional[object]

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

class ResourcesBindingWorkersBindingKindWorkflow:
name: str

A JavaScript variable name for the binding.

type: Literal["workflow"]

The kind of resource that the binding provides.

workflow_name: str

Name of the Workflow to bind to.

class_name: Optional[str]

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

script_name: Optional[str]

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

class ResourcesBindingWorkersBindingKindWasmModule:
name: str

A JavaScript variable name for the binding.

part: str

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

Deprecatedtype: Literal["wasm_module"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindVPCService:
name: str

A JavaScript variable name for the binding.

service_id: str

Identifier of the VPC service to bind to.

type: Literal["vpc_service"]

The kind of resource that the binding provides.

class ResourcesBindingWorkersBindingKindVPCNetwork:
name: str

A JavaScript variable name for the binding.

type: Literal["vpc_network"]

The kind of resource that the binding provides.

network_id: Optional[str]

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

tunnel_id: Optional[str]

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

script: Optional[ResourcesScript]
etag: Optional[str]

Hashed script content

handlers: Optional[List[str]]

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

last_deployed_from: Optional[str]

The client most recently used to deploy this Worker.

named_handlers: Optional[List[ResourcesScriptNamedHandler]]

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

handlers: Optional[List[str]]

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

name: Optional[str]

The name of the exported class or entrypoint.

script_runtime: Optional[ResourcesScriptRuntime]

Runtime configuration for the Worker.

compatibility_date: Optional[str]

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[List[str]]

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

exports: Optional[Dict[str, ResourcesScriptRuntimeExports]]

Declarative exports for this version, including Durable Object classes (with their storage backend) and named Worker entrypoints. Tombstoned lifecycle entries are omitted, so only live exports (created and expecting-transfer) are returned.

One of the following:
class ResourcesScriptRuntimeExportsWorkersWorkerExport:

A named Worker entrypoint export (type: worker). Worker entrypoints are always live (state: created) and carry no storage or lifecycle fields. The optional cache block overrides the Worker’s global cache_options.enabled for this entrypoint.

type: Literal["worker"]

Marks this entry as a Worker entrypoint export.

cache: Optional[ResourcesScriptRuntimeExportsWorkersWorkerExportCache]

Cache override for this entrypoint. Overrides the Worker’s global cache_options.enabled for this entrypoint only.

enabled: bool

Whether caching is enabled for this entrypoint.

state: Optional[Literal["created"]]

Live export. May be omitted; defaults to created.

class ResourcesScriptRuntimeExportsWorkersDurableObjectExport:

A live Durable Object export (state: created, the default). The platform auto-provisions the namespace on first deploy, matches it on subsequent deploys, and never mutates or deletes it as a side effect of a code-only change. storage is required; renamed_to, transferred_to and transfer_from are not allowed on a live entry.

storage: Literal["sqlite", "legacy-kv"]

Durable Object storage backend. sqlite is the recommended (and only) backend for new namespaces. legacy-kv is accepted only for a class whose namespace already exists as KV-backed; the exports flow never provisions a new legacy-kv namespace.

One of the following:
"sqlite"
"legacy-kv"
type: Literal["durable-object"]

Marks this entry as a Durable Object export.

container: Optional[str]

Name of the container (declared in the upload’s metadata.containers) that backs this Durable Object. When set, the namespace is container-enabled. Valid only on live entries.

maxLength128
state: Optional[Literal["created"]]

Live export. May be omitted; defaults to created.

class ResourcesScriptRuntimeExportsWorkersDurableObjectDeletedExport:

A deleted tombstone: retires the provisioned namespace for this class and all of its data. The class must be absent from the uploaded code and no other Worker in the account may bind to the namespace, otherwise the deploy is rejected. No other fields are allowed. Deletion is irreversible.

state: Literal["deleted"]

Tombstone that deletes the namespace.

type: Literal["durable-object"]

Marks this entry as a Durable Object export.

class ResourcesScriptRuntimeExportsWorkersDurableObjectRenamedExport:

A renamed tombstone: rewrites the provisioned namespace’s class name from this map key to renamed_to. The source class may stay in code during the rollout window (an info notice is emitted). storage, transferred_to and transfer_from are not allowed.

renamed_to: str

The destination class name. Must differ from the source class (the map key) and must be declared as a live (created) entry in the same exports map. Write-only: never present in GET responses.

maxLength128
state: Literal["renamed"]

Tombstone that renames the namespace’s class.

type: Literal["durable-object"]

Marks this entry as a Durable Object export.

class ResourcesScriptRuntimeExportsWorkersDurableObjectTransferredExport:

A transferred tombstone (source side of a two-phase transfer): hands ownership of the provisioned namespace to another script in the same account, named by transferred_to. The target must have already deployed a matching expecting-transfer entry. The source class may stay in code during the rollout window (an info notice is emitted). storage, renamed_to and transfer_from are not allowed.

state: Literal["transferred"]

Tombstone that transfers the namespace to another script.

transferred_to: str

The destination script name. Must be in the same account and the same dispatch-namespace context (or both non-dispatch). Cross-dispatch-namespace transfers are rejected. Write-only: never present in GET responses.

maxLength128
type: Literal["durable-object"]

Marks this entry as a Durable Object export.

class ResourcesScriptRuntimeExportsWorkersDurableObjectExpectingTransferExport:

The target side of a two-phase transfer (state: expecting-transfer). Declares that this script expects to receive a namespace for this class from the transfer_from script. This is a live entry, not a tombstone: bindings resolve through the source’s namespace until the source commits with a transferred tombstone. storage and transfer_from are required; renamed_to and transferred_to are not allowed.

state: Literal["expecting-transfer"]

Target side of a two-phase transfer.

storage: Literal["sqlite", "legacy-kv"]

Durable Object storage backend. sqlite is the recommended (and only) backend for new namespaces. legacy-kv is accepted only for a class whose namespace already exists as KV-backed; the exports flow never provisions a new legacy-kv namespace.

One of the following:
"sqlite"
"legacy-kv"
transfer_from: str

The source script name to receive the namespace from. Must be in the same account and dispatch-namespace context. Present on reads for expecting-transfer entries.

maxLength128
type: Literal["durable-object"]

Marks this entry as a Durable Object export.

container: Optional[str]

Name of the container (declared in the upload’s metadata.containers) that backs this Durable Object once the transfer settles. Valid only on live entries.

maxLength128
limits: Optional[ResourcesScriptRuntimeLimits]

Resource limits for the Worker.

cpu_ms: Optional[int]

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

migration_tag: Optional[str]

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

usage_model: Optional[Literal["bundled", "unbound", "standard"]]

Usage model for the Worker invocations.

One of the following:
"bundled"
"unbound"
"standard"
id: Optional[str]

Unique identifier for the version.

exports_reconciliation: Optional[ExportsReconciliation]

Summary of the declarative exports reconciliation that ran on this upload. Populated only when the uploaded metadata included an exports block. Durable Object entries drive reconciliation; type: worker entries do not contribute to this summary.

created: List[str]

Class names for which a new namespace was provisioned.

deleted: List[str]

Class names whose namespace was deleted by a deleted tombstone.

info: List[ExportsReconciliationInfo]

Non-blocking info entries (stale tombstones, tombstone applied with class still in code). See exports_reconciliation_info.

class_: str

The class name the info entry is about.

message: str

Human-readable explanation.

scenario: Literal["code_class_not_in_exports", "provisioned_class_missing_from_config", "config_export_not_in_code", 30 more]

Stable, machine-readable tag identifying which reconciliation scenario produced an error, warning, or info entry. Clients may branch on this value instead of parsing message.

One of the following:
"code_class_not_in_exports"
"provisioned_class_missing_from_config"
"config_export_not_in_code"
"config_references_nonexistent_class"
"orphaned_provisioned_namespace"
"storage_type_mismatch"
"free_tier_requires_sqlite"
"invalid_export"
"tombstone_delete_class_still_in_code"
"tombstone_delete_blocked_by_external_bindings"
"tombstone_renamed_to_occupied"
"transferred_pending_not_found"
"transferred_target_missing"
"transferred_target_mismatch"
"phase_one_transfer_source_missing"
"phase_one_transfer_source_namespace_missing"
"phase_one_transfer_target_class_provisioned"
"phase_one_transfer_after_commit_mismatch"
"phase_one_transfer_duplicate"
"phase_one_transfer_target_in_dispatch_namespace"
"phase_one_transfer_source_in_dispatch_namespace"
"transferred_source_in_dispatch_namespace"
"transferred_target_in_dispatch_namespace"
"container_undeclared_reference"
"container_class_not_durable_object"
"container_wiring_inconsistent"
"container_multiple_durable_objects"
"transfer_container_parity_mismatch"
"transfer_container_parity_mismatch_on_commit"
"tombstone_class_still_in_code"
"stale_tombstone"
"transfer_receive_already_applied"
"transfer_receive_cleanup_complete"
namespace_id: Optional[str]

The provisioned namespace the entry relates to, when applicable.

formatuuid
referencing_scripts: Optional[List[str]]

Other Workers in the account that still bind to the affected class. Advisory: while non-empty the tombstone is not yet safe to remove — redeploy these Workers with bindings re-pointed first.

removable_entries: List[str]

Source class names whose tombstone entry is now stale and safe to delete from exports (no remaining referencing scripts).

renamed: List[ExportsReconciliationRenamed]

Applied renamed tombstones.

from_: str

The original (source) class name.

to: str

The new class name (renamed_to).

transfer_pending: List[ExportsReconciliationTransferPending]

Phase-1 transfer hints recorded on the target side.

class_: str

The target-side class name awaiting transfer.

from_: str

The source script the namespace will be transferred from.

transferred: List[ExportsReconciliationTransferred]

Committed transferred tombstones (phase-2).

class_: str

The source class name that was transferred.

phase: Literal["committed"]

The transfer phase. Currently always committed.

to: str

The destination script that now owns the namespace.

updated: List[str]

Class names whose provisioned namespace was mutated in place.

warnings: List[ExportsReconciliationWarning]

Non-blocking warnings. See exports_reconciliation_warning.

class_: str

The class name the warning is about.

message: str

Human-readable explanation of the warning.

scenario: Literal["code_class_not_in_exports", "provisioned_class_missing_from_config", "config_export_not_in_code", 30 more]

Stable, machine-readable tag identifying which reconciliation scenario produced an error, warning, or info entry. Clients may branch on this value instead of parsing message.

One of the following:
"code_class_not_in_exports"
"provisioned_class_missing_from_config"
"config_export_not_in_code"
"config_references_nonexistent_class"
"orphaned_provisioned_namespace"
"storage_type_mismatch"
"free_tier_requires_sqlite"
"invalid_export"
"tombstone_delete_class_still_in_code"
"tombstone_delete_blocked_by_external_bindings"
"tombstone_renamed_to_occupied"
"transferred_pending_not_found"
"transferred_target_missing"
"transferred_target_mismatch"
"phase_one_transfer_source_missing"
"phase_one_transfer_source_namespace_missing"
"phase_one_transfer_target_class_provisioned"
"phase_one_transfer_after_commit_mismatch"
"phase_one_transfer_duplicate"
"phase_one_transfer_target_in_dispatch_namespace"
"phase_one_transfer_source_in_dispatch_namespace"
"transferred_source_in_dispatch_namespace"
"transferred_target_in_dispatch_namespace"
"container_undeclared_reference"
"container_class_not_durable_object"
"container_wiring_inconsistent"
"container_multiple_durable_objects"
"transfer_container_parity_mismatch"
"transfer_container_parity_mismatch_on_commit"
"tombstone_class_still_in_code"
"stale_tombstone"
"transfer_receive_already_applied"
"transfer_receive_cleanup_complete"
namespace_id: Optional[str]

The provisioned namespace the warning relates to, when applicable.

formatuuid
metadata: Optional[Metadata]
author_email: Optional[str]

Email of the user who created the version.

author_id: Optional[str]

Identifier of the user who created the version.

created_on: Optional[str]

When the version was created.

has_preview: Optional[bool]

Whether the version can be previewed.

modified_on: Optional[str]

When the version was last modified.

source: Optional[Literal["unknown", "api", "wrangler", 8 more]]

The source of the version upload.

One of the following:
"unknown"
"api"
"wrangler"
"terraform"
"dash"
"cf_cli"
"dash_template"
"integration"
"quick_editor"
"playground"
"workersci"
number: Optional[float]

Sequential version number.

startup_time_ms: Optional[int]

Time in milliseconds spent on Worker startup.

ScriptsSecrets

List script secrets
workers.scripts.secrets.list(strscript_name, SecretListParams**kwargs) -> SyncSinglePage[SecretListResponse]
GET/accounts/{account_id}/workers/scripts/{script_name}/secrets
Get secret binding
workers.scripts.secrets.get(strsecret_name, SecretGetParams**kwargs) -> SecretGetResponse
GET/accounts/{account_id}/workers/scripts/{script_name}/secrets/{secret_name}
Add script secret
workers.scripts.secrets.update(strscript_name, SecretUpdateParams**kwargs) -> SecretUpdateResponse
PUT/accounts/{account_id}/workers/scripts/{script_name}/secrets
Delete script secret
workers.scripts.secrets.delete(strsecret_name, SecretDeleteParams**kwargs) -> object
DELETE/accounts/{account_id}/workers/scripts/{script_name}/secrets/{secret_name}
Patch multiple script secrets
workers.scripts.secrets.bulk_update(strscript_name, SecretBulkUpdateParams**kwargs) -> SecretBulkUpdateResponse
PATCH/accounts/{account_id}/workers/scripts/{script_name}/secrets-bulk
ModelsExpand Collapse

A secret value accessible through a binding.

One of the following:
class WorkersBindingKindSecretText:
name: str

A JavaScript variable name for the binding.

text: str

The secret value to use.

type: Literal["secret_text"]

The kind of resource that the binding provides.

class WorkersBindingKindSecretKey:
algorithm: object

Algorithm-specific key parameters. Learn more.

format: Literal["raw", "pkcs8", "spki", "jwk"]

Data format of the key. Learn more.

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

A JavaScript variable name for the binding.

type: Literal["secret_key"]

The kind of resource that the binding provides.

usages: List[Literal["encrypt", "decrypt", "sign", 5 more]]

Allowed operations with the key. Learn more.

One of the following:
"encrypt"
"decrypt"
"sign"
"verify"
"deriveKey"
"deriveBits"
"wrapKey"
"unwrapKey"
key_base64: Optional[str]

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

key_jwk: Optional[object]

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

A secret value accessible through a binding.

One of the following:
class WorkersBindingKindSecretText:
name: str

A JavaScript variable name for the binding.

text: str

The secret value to use.

type: Literal["secret_text"]

The kind of resource that the binding provides.

class WorkersBindingKindSecretKey:
algorithm: object

Algorithm-specific key parameters. Learn more.

format: Literal["raw", "pkcs8", "spki", "jwk"]

Data format of the key. Learn more.

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

A JavaScript variable name for the binding.

type: Literal["secret_key"]

The kind of resource that the binding provides.

usages: List[Literal["encrypt", "decrypt", "sign", 5 more]]

Allowed operations with the key. Learn more.

One of the following:
"encrypt"
"decrypt"
"sign"
"verify"
"deriveKey"
"deriveBits"
"wrapKey"
"unwrapKey"
key_base64: Optional[str]

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

key_jwk: Optional[object]

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

A secret value accessible through a binding.

One of the following:
class WorkersBindingKindSecretText:
name: str

A JavaScript variable name for the binding.

text: str

The secret value to use.

type: Literal["secret_text"]

The kind of resource that the binding provides.

class WorkersBindingKindSecretKey:
algorithm: object

Algorithm-specific key parameters. Learn more.

format: Literal["raw", "pkcs8", "spki", "jwk"]

Data format of the key. Learn more.

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

A JavaScript variable name for the binding.

type: Literal["secret_key"]

The kind of resource that the binding provides.

usages: List[Literal["encrypt", "decrypt", "sign", 5 more]]

Allowed operations with the key. Learn more.

One of the following:
"encrypt"
"decrypt"
"sign"
"verify"
"deriveKey"
"deriveBits"
"wrapKey"
"unwrapKey"
key_base64: Optional[str]

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

key_jwk: Optional[object]

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

Dict[str, SecretBulkUpdateResponseItem]

Map of secret names to secret metadata for resulting secrets.

One of the following:
class SecretBulkUpdateResponseItemWorkersBindingKindSecretText:
name: str

A JavaScript variable name for the binding.

text: str

The secret value to use.

type: Literal["secret_text"]

The kind of resource that the binding provides.

class SecretBulkUpdateResponseItemWorkersBindingKindSecretKey:
algorithm: object

Algorithm-specific key parameters. Learn more.

format: Literal["raw", "pkcs8", "spki", "jwk"]

Data format of the key. Learn more.

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

A JavaScript variable name for the binding.

type: Literal["secret_key"]

The kind of resource that the binding provides.

usages: List[Literal["encrypt", "decrypt", "sign", 5 more]]

Allowed operations with the key. Learn more.

One of the following:
"encrypt"
"decrypt"
"sign"
"verify"
"deriveKey"
"deriveBits"
"wrapKey"
"unwrapKey"
key_base64: Optional[str]

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

key_jwk: Optional[object]

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

ScriptsScript And Version Settings

Get Settings
workers.scripts.script_and_version_settings.get(strscript_name, ScriptAndVersionSettingGetParams**kwargs) -> ScriptAndVersionSettingGetResponse
GET/accounts/{account_id}/workers/scripts/{script_name}/settings
Patch Settings
workers.scripts.script_and_version_settings.edit(strscript_name, ScriptAndVersionSettingEditParams**kwargs) -> ScriptAndVersionSettingEditResponse
PATCH/accounts/{account_id}/workers/scripts/{script_name}/settings
ModelsExpand Collapse
class ScriptAndVersionSettingGetResponse:
annotations: Optional[Annotations]

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[str]

Human-readable message about the version. Truncated to 1000 bytes if longer.

maxLength1000
workers_tag: Optional[str]

User-provided identifier for the version. Maximum 100 bytes.

maxLength100
workers_triggered_by: Optional[str]

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

bindings: Optional[List[Binding]]

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:
class BindingWorkersBindingKindAI:
name: str

A JavaScript variable name for the binding.

type: Literal["ai"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindAISearch:
instance_name: str

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

name: str

A JavaScript variable name for the binding.

type: Literal["ai_search"]

The kind of resource that the binding provides.

namespace: Optional[str]

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

class BindingWorkersBindingKindAISearchNamespace:
name: str

A JavaScript variable name for the binding.

namespace: str

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: Literal["ai_search_namespace"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindMessaging:
name: str

A JavaScript variable name for the binding.

namespace: str

The Messaging namespace to bind to.

type: Literal["messaging"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindAnalyticsEngine:
dataset: str

The name of the dataset to bind to.

name: str

A JavaScript variable name for the binding.

type: Literal["analytics_engine"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindAssets:
name: str

A JavaScript variable name for the binding.

type: Literal["assets"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindBrowser:
name: str

A JavaScript variable name for the binding.

type: Literal["browser"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindD1:
database_id: str

Identifier of the D1 database to bind to.

name: str

A JavaScript variable name for the binding.

type: Literal["d1"]

The kind of resource that the binding provides.

Deprecatedid: Optional[str]

This property has been renamed to database_id.

Identifier of the D1 database to bind to.

class BindingWorkersBindingKindDataBlob:
name: str

A JavaScript variable name for the binding.

part: str

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

Deprecatedtype: Literal["data_blob"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindDispatchNamespace:
name: str

A JavaScript variable name for the binding.

namespace: str

The name of the dispatch namespace.

type: Literal["dispatch_namespace"]

The kind of resource that the binding provides.

outbound: Optional[BindingWorkersBindingKindDispatchNamespaceOutbound]

Outbound worker.

params: Optional[List[BindingWorkersBindingKindDispatchNamespaceOutboundParam]]

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

name: str

Name of the parameter.

worker: Optional[BindingWorkersBindingKindDispatchNamespaceOutboundWorker]

Outbound worker.

entrypoint: Optional[str]

Entrypoint to invoke on the outbound worker.

environment: Optional[str]

Environment of the outbound worker.

service: Optional[str]

Name of the outbound worker.

class BindingWorkersBindingKindDurableObjectNamespace:
name: str

A JavaScript variable name for the binding.

type: Literal["durable_object_namespace"]

The kind of resource that the binding provides.

class_name: Optional[str]

The exported class name of the Durable Object.

dispatch_namespace: Optional[str]

The dispatch namespace the Durable Object script belongs to.

environment: Optional[str]

The environment of the script_name to bind to.

namespace_id: Optional[str]

Namespace identifier tag.

maxLength32
script_name: Optional[str]

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

class BindingWorkersBindingKindHyperdrive:
id: str

Identifier of the Hyperdrive connection to bind to.

name: str

A JavaScript variable name for the binding.

type: Literal["hyperdrive"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindInherit:
name: str

The name of the inherited binding.

type: Literal["inherit"]

The kind of resource that the binding provides.

old_name: Optional[str]

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[str]

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.

class BindingWorkersBindingKindImages:
name: str

A JavaScript variable name for the binding.

type: Literal["images"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindJson:
json: object

JSON data to use.

name: str

A JavaScript variable name for the binding.

type: Literal["json"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindKVNamespace:
name: str

A JavaScript variable name for the binding.

namespace_id: str

Namespace identifier tag.

maxLength32
type: Literal["kv_namespace"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindMedia:
name: str

A JavaScript variable name for the binding.

type: Literal["media"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindMTLSCertificate:
certificate_id: str

Identifier of the certificate to bind to.

name: str

A JavaScript variable name for the binding.

type: Literal["mtls_certificate"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindPlainText:
name: str

A JavaScript variable name for the binding.

text: str

The text value to use.

type: Literal["plain_text"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindPipelines:
name: str

A JavaScript variable name for the binding.

pipeline: str

Name of the Pipeline to bind to.

type: Literal["pipelines"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindQueue:
name: str

A JavaScript variable name for the binding.

queue_name: str

Name of the Queue to bind to.

type: Literal["queue"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindRatelimit:
name: str

A JavaScript variable name for the binding.

namespace_id: str

Identifier of the rate limit namespace to bind to.

simple: BindingWorkersBindingKindRatelimitSimple

The rate limit configuration.

limit: float

The limit (requests per period).

period: int

The period in seconds.

mitigation_timeout: Optional[int]

Duration in seconds to apply the mitigation action after the rate limit is exceeded. Valid values are 0 (disabled), 10, or multiples of 60 up to 86400. Must be greater than or equal to the period when non-zero.

type: Literal["ratelimit"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindR2Bucket:
bucket_name: str

R2 bucket to bind to.

name: str

A JavaScript variable name for the binding.

type: Literal["r2_bucket"]

The kind of resource that the binding provides.

jurisdiction: Optional[Literal["eu", "fedramp", "fedramp-high"]]

The jurisdiction of the R2 bucket.

One of the following:
"eu"
"fedramp"
"fedramp-high"
class BindingWorkersBindingKindSecretText:
name: str

A JavaScript variable name for the binding.

text: str

The secret value to use.

type: Literal["secret_text"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindSendEmail:
name: str

A JavaScript variable name for the binding.

type: Literal["send_email"]

The kind of resource that the binding provides.

allowed_destination_addresses: Optional[List[str]]

List of allowed destination addresses.

allowed_sender_addresses: Optional[List[str]]

List of allowed sender addresses.

destination_address: Optional[str]

Destination address for the email.

formatemail
class BindingWorkersBindingKindService:
name: str

A JavaScript variable name for the binding.

service: str

Name of Worker to bind to.

type: Literal["service"]

The kind of resource that the binding provides.

entrypoint: Optional[str]

Entrypoint to invoke on the target Worker.

environment: Optional[str]

Optional environment if the Worker utilizes one.

class BindingWorkersBindingKindTextBlob:
name: str

A JavaScript variable name for the binding.

part: str

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

Deprecatedtype: Literal["text_blob"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindVectorize:
index_name: str

Name of the Vectorize index to bind to.

name: str

A JavaScript variable name for the binding.

type: Literal["vectorize"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindVersionMetadata:
name: str

A JavaScript variable name for the binding.

type: Literal["version_metadata"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindSecretsStoreSecret:
name: str

A JavaScript variable name for the binding.

secret_name: str

Name of the secret in the store.

store_id: str

ID of the store containing the secret.

type: Literal["secrets_store_secret"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindFlagship:
app_id: str

ID of the Flagship app to bind to for feature flag evaluation.

maxLength128
name: str

A JavaScript variable name for the binding.

type: Literal["flagship"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindSecretKey:
algorithm: object

Algorithm-specific key parameters. Learn more.

format: Literal["raw", "pkcs8", "spki", "jwk"]

Data format of the key. Learn more.

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

A JavaScript variable name for the binding.

type: Literal["secret_key"]

The kind of resource that the binding provides.

usages: List[Literal["encrypt", "decrypt", "sign", 5 more]]

Allowed operations with the key. Learn more.

One of the following:
"encrypt"
"decrypt"
"sign"
"verify"
"deriveKey"
"deriveBits"
"wrapKey"
"unwrapKey"
key_base64: Optional[str]

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

key_jwk: Optional[object]

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

class BindingWorkersBindingKindWorkflow:
name: str

A JavaScript variable name for the binding.

type: Literal["workflow"]

The kind of resource that the binding provides.

workflow_name: str

Name of the Workflow to bind to.

class_name: Optional[str]

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

script_name: Optional[str]

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

class BindingWorkersBindingKindWasmModule:
name: str

A JavaScript variable name for the binding.

part: str

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

Deprecatedtype: Literal["wasm_module"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindVPCService:
name: str

A JavaScript variable name for the binding.

service_id: str

Identifier of the VPC service to bind to.

type: Literal["vpc_service"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindVPCNetwork:
name: str

A JavaScript variable name for the binding.

type: Literal["vpc_network"]

The kind of resource that the binding provides.

network_id: Optional[str]

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

tunnel_id: Optional[str]

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

cache_options: Optional[CacheOptions]

Global CacheW configuration for the Worker. When caching is on, the platform provisions a cloudflare.app zone for the Worker. A type: worker entry in the exports map can override this value for a single entrypoint.

enabled: bool

Whether caching is enabled for this Worker.

cross_version_cache: Optional[bool]

Whether cached responses are shared across Worker version uploads. This is independent of enabled. It can stay true while caching is off, so the preference survives turning caching off and back on.

compatibility_date: Optional[str]

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[List[str]]

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.

exports: Optional[Dict[str, Exports]]

Declarative exports for the Worker. Worker entrypoint entries (type: worker) carry cache configuration for that entrypoint.

One of the following:
class ExportsWorkersWorkerExport:

A named Worker entrypoint export (type: worker). Worker entrypoints are always live (state: created) and carry no storage or lifecycle fields. The optional cache block overrides the Worker’s global cache_options.enabled for this entrypoint.

type: Literal["worker"]

Marks this entry as a Worker entrypoint export.

cache: Optional[ExportsWorkersWorkerExportCache]

Cache override for this entrypoint. Overrides the Worker’s global cache_options.enabled for this entrypoint only.

enabled: bool

Whether caching is enabled for this entrypoint.

state: Optional[Literal["created"]]

Live export. May be omitted; defaults to created.

class ExportsWorkersDurableObjectExport:

A live Durable Object export (state: created, the default). The platform auto-provisions the namespace on first deploy, matches it on subsequent deploys, and never mutates or deletes it as a side effect of a code-only change. storage is required; renamed_to, transferred_to and transfer_from are not allowed on a live entry.

storage: Literal["sqlite", "legacy-kv"]

Durable Object storage backend. sqlite is the recommended (and only) backend for new namespaces. legacy-kv is accepted only for a class whose namespace already exists as KV-backed; the exports flow never provisions a new legacy-kv namespace.

One of the following:
"sqlite"
"legacy-kv"
type: Literal["durable-object"]

Marks this entry as a Durable Object export.

container: Optional[str]

Name of the container (declared in the upload’s metadata.containers) that backs this Durable Object. When set, the namespace is container-enabled. Valid only on live entries.

maxLength128
state: Optional[Literal["created"]]

Live export. May be omitted; defaults to created.

class ExportsWorkersDurableObjectDeletedExport:

A deleted tombstone: retires the provisioned namespace for this class and all of its data. The class must be absent from the uploaded code and no other Worker in the account may bind to the namespace, otherwise the deploy is rejected. No other fields are allowed. Deletion is irreversible.

state: Literal["deleted"]

Tombstone that deletes the namespace.

type: Literal["durable-object"]

Marks this entry as a Durable Object export.

class ExportsWorkersDurableObjectRenamedExport:

A renamed tombstone: rewrites the provisioned namespace’s class name from this map key to renamed_to. The source class may stay in code during the rollout window (an info notice is emitted). storage, transferred_to and transfer_from are not allowed.

renamed_to: str

The destination class name. Must differ from the source class (the map key) and must be declared as a live (created) entry in the same exports map. Write-only: never present in GET responses.

maxLength128
state: Literal["renamed"]

Tombstone that renames the namespace’s class.

type: Literal["durable-object"]

Marks this entry as a Durable Object export.

class ExportsWorkersDurableObjectTransferredExport:

A transferred tombstone (source side of a two-phase transfer): hands ownership of the provisioned namespace to another script in the same account, named by transferred_to. The target must have already deployed a matching expecting-transfer entry. The source class may stay in code during the rollout window (an info notice is emitted). storage, renamed_to and transfer_from are not allowed.

state: Literal["transferred"]

Tombstone that transfers the namespace to another script.

transferred_to: str

The destination script name. Must be in the same account and the same dispatch-namespace context (or both non-dispatch). Cross-dispatch-namespace transfers are rejected. Write-only: never present in GET responses.

maxLength128
type: Literal["durable-object"]

Marks this entry as a Durable Object export.

class ExportsWorkersDurableObjectExpectingTransferExport:

The target side of a two-phase transfer (state: expecting-transfer). Declares that this script expects to receive a namespace for this class from the transfer_from script. This is a live entry, not a tombstone: bindings resolve through the source’s namespace until the source commits with a transferred tombstone. storage and transfer_from are required; renamed_to and transferred_to are not allowed.

state: Literal["expecting-transfer"]

Target side of a two-phase transfer.

storage: Literal["sqlite", "legacy-kv"]

Durable Object storage backend. sqlite is the recommended (and only) backend for new namespaces. legacy-kv is accepted only for a class whose namespace already exists as KV-backed; the exports flow never provisions a new legacy-kv namespace.

One of the following:
"sqlite"
"legacy-kv"
transfer_from: str

The source script name to receive the namespace from. Must be in the same account and dispatch-namespace context. Present on reads for expecting-transfer entries.

maxLength128
type: Literal["durable-object"]

Marks this entry as a Durable Object export.

container: Optional[str]

Name of the container (declared in the upload’s metadata.containers) that backs this Durable Object once the transfer settles. Valid only on live entries.

maxLength128
exports_reconciliation: Optional[ExportsReconciliation]

Summary of the declarative exports reconciliation that ran on this upload. Populated only when the uploaded metadata included an exports block. Durable Object entries drive reconciliation; type: worker entries do not contribute to this summary.

created: List[str]

Class names for which a new namespace was provisioned.

deleted: List[str]

Class names whose namespace was deleted by a deleted tombstone.

info: List[ExportsReconciliationInfo]

Non-blocking info entries (stale tombstones, tombstone applied with class still in code). See exports_reconciliation_info.

class_: str

The class name the info entry is about.

message: str

Human-readable explanation.

scenario: Literal["code_class_not_in_exports", "provisioned_class_missing_from_config", "config_export_not_in_code", 30 more]

Stable, machine-readable tag identifying which reconciliation scenario produced an error, warning, or info entry. Clients may branch on this value instead of parsing message.

One of the following:
"code_class_not_in_exports"
"provisioned_class_missing_from_config"
"config_export_not_in_code"
"config_references_nonexistent_class"
"orphaned_provisioned_namespace"
"storage_type_mismatch"
"free_tier_requires_sqlite"
"invalid_export"
"tombstone_delete_class_still_in_code"
"tombstone_delete_blocked_by_external_bindings"
"tombstone_renamed_to_occupied"
"transferred_pending_not_found"
"transferred_target_missing"
"transferred_target_mismatch"
"phase_one_transfer_source_missing"
"phase_one_transfer_source_namespace_missing"
"phase_one_transfer_target_class_provisioned"
"phase_one_transfer_after_commit_mismatch"
"phase_one_transfer_duplicate"
"phase_one_transfer_target_in_dispatch_namespace"
"phase_one_transfer_source_in_dispatch_namespace"
"transferred_source_in_dispatch_namespace"
"transferred_target_in_dispatch_namespace"
"container_undeclared_reference"
"container_class_not_durable_object"
"container_wiring_inconsistent"
"container_multiple_durable_objects"
"transfer_container_parity_mismatch"
"transfer_container_parity_mismatch_on_commit"
"tombstone_class_still_in_code"
"stale_tombstone"
"transfer_receive_already_applied"
"transfer_receive_cleanup_complete"
namespace_id: Optional[str]

The provisioned namespace the entry relates to, when applicable.

formatuuid
referencing_scripts: Optional[List[str]]

Other Workers in the account that still bind to the affected class. Advisory: while non-empty the tombstone is not yet safe to remove — redeploy these Workers with bindings re-pointed first.

removable_entries: List[str]

Source class names whose tombstone entry is now stale and safe to delete from exports (no remaining referencing scripts).

renamed: List[ExportsReconciliationRenamed]

Applied renamed tombstones.

from_: str

The original (source) class name.

to: str

The new class name (renamed_to).

transfer_pending: List[ExportsReconciliationTransferPending]

Phase-1 transfer hints recorded on the target side.

class_: str

The target-side class name awaiting transfer.

from_: str

The source script the namespace will be transferred from.

transferred: List[ExportsReconciliationTransferred]

Committed transferred tombstones (phase-2).

class_: str

The source class name that was transferred.

phase: Literal["committed"]

The transfer phase. Currently always committed.

to: str

The destination script that now owns the namespace.

updated: List[str]

Class names whose provisioned namespace was mutated in place.

warnings: List[ExportsReconciliationWarning]

Non-blocking warnings. See exports_reconciliation_warning.

class_: str

The class name the warning is about.

message: str

Human-readable explanation of the warning.

scenario: Literal["code_class_not_in_exports", "provisioned_class_missing_from_config", "config_export_not_in_code", 30 more]

Stable, machine-readable tag identifying which reconciliation scenario produced an error, warning, or info entry. Clients may branch on this value instead of parsing message.

One of the following:
"code_class_not_in_exports"
"provisioned_class_missing_from_config"
"config_export_not_in_code"
"config_references_nonexistent_class"
"orphaned_provisioned_namespace"
"storage_type_mismatch"
"free_tier_requires_sqlite"
"invalid_export"
"tombstone_delete_class_still_in_code"
"tombstone_delete_blocked_by_external_bindings"
"tombstone_renamed_to_occupied"
"transferred_pending_not_found"
"transferred_target_missing"
"transferred_target_mismatch"
"phase_one_transfer_source_missing"
"phase_one_transfer_source_namespace_missing"
"phase_one_transfer_target_class_provisioned"
"phase_one_transfer_after_commit_mismatch"
"phase_one_transfer_duplicate"
"phase_one_transfer_target_in_dispatch_namespace"
"phase_one_transfer_source_in_dispatch_namespace"
"transferred_source_in_dispatch_namespace"
"transferred_target_in_dispatch_namespace"
"container_undeclared_reference"
"container_class_not_durable_object"
"container_wiring_inconsistent"
"container_multiple_durable_objects"
"transfer_container_parity_mismatch"
"transfer_container_parity_mismatch_on_commit"
"tombstone_class_still_in_code"
"stale_tombstone"
"transfer_receive_already_applied"
"transfer_receive_cleanup_complete"
namespace_id: Optional[str]

The provisioned namespace the warning relates to, when applicable.

formatuuid
limits: Optional[Limits]

Limits to apply for this Worker.

cpu_ms: Optional[int]

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

subrequests: Optional[int]

The number of subrequests this Worker can make per request.

logpush: Optional[bool]

Whether Logpush is turned on for the Worker.

migrations: Optional[Migrations]

Migrations to apply for Durable Objects associated with this Worker.

One of the following:
class SingleStepMigration:

A single set of migrations to apply.

deleted_classes: Optional[List[str]]

A list of classes to delete Durable Object namespaces from.

new_classes: Optional[List[str]]

A list of classes to create Durable Object namespaces from.

new_sqlite_classes: Optional[List[str]]

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

new_tag: Optional[str]

Tag to set as the latest migration tag.

old_tag: Optional[str]

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

renamed_classes: Optional[List[RenamedClass]]

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

from_: Optional[str]
to: Optional[str]
transferred_classes: Optional[List[TransferredClass]]

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

from_: Optional[str]
from_script: Optional[str]
to: Optional[str]
class MigrationsWorkersMultipleStepMigrations:
new_tag: Optional[str]

Tag to set as the latest migration tag.

old_tag: Optional[str]

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

steps: Optional[List[MigrationStep]]

Migrations to apply in order.

deleted_classes: Optional[List[str]]

A list of classes to delete Durable Object namespaces from.

new_classes: Optional[List[str]]

A list of classes to create Durable Object namespaces from.

new_sqlite_classes: Optional[List[str]]

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

renamed_classes: Optional[List[RenamedClass]]

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

from_: Optional[str]
to: Optional[str]
transferred_classes: Optional[List[TransferredClass]]

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

from_: Optional[str]
from_script: Optional[str]
to: Optional[str]
observability: Optional[Observability]

Observability settings for the Worker.

enabled: bool

Whether observability is enabled for the Worker.

head_sampling_rate: Optional[float]

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

logs: Optional[ObservabilityLogs]

Log settings for the Worker.

enabled: bool

Whether logs are enabled for the Worker.

invocation_logs: bool

Whether invocation logs are enabled for the Worker.

destinations: Optional[List[str]]

A list of destinations where logs will be exported to.

head_sampling_rate: Optional[float]

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

persist: Optional[bool]

Whether log persistence is enabled for the Worker.

traces: Optional[ObservabilityTraces]

Trace settings for the Worker.

destinations: Optional[List[str]]

A list of destinations where traces will be exported to.

enabled: Optional[bool]

Whether traces are enabled for the Worker.

head_sampling_rate: Optional[float]

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

persist: Optional[bool]

Whether trace persistence is enabled for the Worker.

propagation_policy: Optional[Literal["authenticated", "accept"]]

Controls how inbound trace context (traceparent/tracestate) headers on incoming requests are handled. “authenticated” (default) honors inbound trace context only when accompanied by a valid trace auth token. “accept” unconditionally accepts inbound trace context. Requires the trace propagation feature to be enabled.

One of the following:
"authenticated"
"accept"
placement: Optional[Placement]

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

One of the following:
class PlacementMode:
mode: Literal["smart"]
class PlacementRegion:
region: str

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

class PlacementHostname:
hostname: str

HTTP hostname for targeted placement.

class PlacementHost:
host: str

TCP host and port for targeted placement.

class PlacementUnionMember4:
mode: Literal["targeted"]

Targeted placement mode.

region: str

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

class PlacementUnionMember5:
hostname: str

HTTP hostname for targeted placement.

mode: Literal["targeted"]

Targeted placement mode.

class PlacementUnionMember6:
host: str

TCP host and port for targeted placement.

mode: Literal["targeted"]

Targeted placement mode.

class PlacementUnionMember7:
mode: Literal["targeted"]

Targeted placement mode.

target: List[PlacementUnionMember7Target]

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

One of the following:
class PlacementUnionMember7TargetRegion:
region: str

Cloud region in format ‘provider:region’.

class PlacementUnionMember7TargetHostname:
hostname: str

HTTP hostname for targeted placement.

class PlacementUnionMember7TargetHost:
host: str

TCP host:port for targeted placement.

tags: Optional[List[str]]

Tags associated with the Worker.

tail_consumers: Optional[List[ConsumerScript]]

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

service: str

Name of Worker that is to be the consumer.

environment: Optional[str]

Optional environment if the Worker utilizes one.

namespace: Optional[str]

Optional dispatch namespace the script belongs to.

usage_model: Optional[Literal["standard", "bundled", "unbound"]]

Usage model for the Worker invocations.

One of the following:
"standard"
"bundled"
"unbound"
class ScriptAndVersionSettingEditResponse:
annotations: Optional[Annotations]

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[str]

Human-readable message about the version. Truncated to 1000 bytes if longer.

maxLength1000
workers_tag: Optional[str]

User-provided identifier for the version. Maximum 100 bytes.

maxLength100
workers_triggered_by: Optional[str]

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

bindings: Optional[List[Binding]]

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:
class BindingWorkersBindingKindAI:
name: str

A JavaScript variable name for the binding.

type: Literal["ai"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindAISearch:
instance_name: str

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

name: str

A JavaScript variable name for the binding.

type: Literal["ai_search"]

The kind of resource that the binding provides.

namespace: Optional[str]

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

class BindingWorkersBindingKindAISearchNamespace:
name: str

A JavaScript variable name for the binding.

namespace: str

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: Literal["ai_search_namespace"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindMessaging:
name: str

A JavaScript variable name for the binding.

namespace: str

The Messaging namespace to bind to.

type: Literal["messaging"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindAnalyticsEngine:
dataset: str

The name of the dataset to bind to.

name: str

A JavaScript variable name for the binding.

type: Literal["analytics_engine"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindAssets:
name: str

A JavaScript variable name for the binding.

type: Literal["assets"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindBrowser:
name: str

A JavaScript variable name for the binding.

type: Literal["browser"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindD1:
database_id: str

Identifier of the D1 database to bind to.

name: str

A JavaScript variable name for the binding.

type: Literal["d1"]

The kind of resource that the binding provides.

Deprecatedid: Optional[str]

This property has been renamed to database_id.

Identifier of the D1 database to bind to.

class BindingWorkersBindingKindDataBlob:
name: str

A JavaScript variable name for the binding.

part: str

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

Deprecatedtype: Literal["data_blob"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindDispatchNamespace:
name: str

A JavaScript variable name for the binding.

namespace: str

The name of the dispatch namespace.

type: Literal["dispatch_namespace"]

The kind of resource that the binding provides.

outbound: Optional[BindingWorkersBindingKindDispatchNamespaceOutbound]

Outbound worker.

params: Optional[List[BindingWorkersBindingKindDispatchNamespaceOutboundParam]]

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

name: str

Name of the parameter.

worker: Optional[BindingWorkersBindingKindDispatchNamespaceOutboundWorker]

Outbound worker.

entrypoint: Optional[str]

Entrypoint to invoke on the outbound worker.

environment: Optional[str]

Environment of the outbound worker.

service: Optional[str]

Name of the outbound worker.

class BindingWorkersBindingKindDurableObjectNamespace:
name: str

A JavaScript variable name for the binding.

type: Literal["durable_object_namespace"]

The kind of resource that the binding provides.

class_name: Optional[str]

The exported class name of the Durable Object.

dispatch_namespace: Optional[str]

The dispatch namespace the Durable Object script belongs to.

environment: Optional[str]

The environment of the script_name to bind to.

namespace_id: Optional[str]

Namespace identifier tag.

maxLength32
script_name: Optional[str]

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

class BindingWorkersBindingKindHyperdrive:
id: str

Identifier of the Hyperdrive connection to bind to.

name: str

A JavaScript variable name for the binding.

type: Literal["hyperdrive"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindInherit:
name: str

The name of the inherited binding.

type: Literal["inherit"]

The kind of resource that the binding provides.

old_name: Optional[str]

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[str]

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.

class BindingWorkersBindingKindImages:
name: str

A JavaScript variable name for the binding.

type: Literal["images"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindJson:
json: object

JSON data to use.

name: str

A JavaScript variable name for the binding.

type: Literal["json"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindKVNamespace:
name: str

A JavaScript variable name for the binding.

namespace_id: str

Namespace identifier tag.

maxLength32
type: Literal["kv_namespace"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindMedia:
name: str

A JavaScript variable name for the binding.

type: Literal["media"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindMTLSCertificate:
certificate_id: str

Identifier of the certificate to bind to.

name: str

A JavaScript variable name for the binding.

type: Literal["mtls_certificate"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindPlainText:
name: str

A JavaScript variable name for the binding.

text: str

The text value to use.

type: Literal["plain_text"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindPipelines:
name: str

A JavaScript variable name for the binding.

pipeline: str

Name of the Pipeline to bind to.

type: Literal["pipelines"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindQueue:
name: str

A JavaScript variable name for the binding.

queue_name: str

Name of the Queue to bind to.

type: Literal["queue"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindRatelimit:
name: str

A JavaScript variable name for the binding.

namespace_id: str

Identifier of the rate limit namespace to bind to.

simple: BindingWorkersBindingKindRatelimitSimple

The rate limit configuration.

limit: float

The limit (requests per period).

period: int

The period in seconds.

mitigation_timeout: Optional[int]

Duration in seconds to apply the mitigation action after the rate limit is exceeded. Valid values are 0 (disabled), 10, or multiples of 60 up to 86400. Must be greater than or equal to the period when non-zero.

type: Literal["ratelimit"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindR2Bucket:
bucket_name: str

R2 bucket to bind to.

name: str

A JavaScript variable name for the binding.

type: Literal["r2_bucket"]

The kind of resource that the binding provides.

jurisdiction: Optional[Literal["eu", "fedramp", "fedramp-high"]]

The jurisdiction of the R2 bucket.

One of the following:
"eu"
"fedramp"
"fedramp-high"
class BindingWorkersBindingKindSecretText:
name: str

A JavaScript variable name for the binding.

text: str

The secret value to use.

type: Literal["secret_text"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindSendEmail:
name: str

A JavaScript variable name for the binding.

type: Literal["send_email"]

The kind of resource that the binding provides.

allowed_destination_addresses: Optional[List[str]]

List of allowed destination addresses.

allowed_sender_addresses: Optional[List[str]]

List of allowed sender addresses.

destination_address: Optional[str]

Destination address for the email.

formatemail
class BindingWorkersBindingKindService:
name: str

A JavaScript variable name for the binding.

service: str

Name of Worker to bind to.

type: Literal["service"]

The kind of resource that the binding provides.

entrypoint: Optional[str]

Entrypoint to invoke on the target Worker.

environment: Optional[str]

Optional environment if the Worker utilizes one.

class BindingWorkersBindingKindTextBlob:
name: str

A JavaScript variable name for the binding.

part: str

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

Deprecatedtype: Literal["text_blob"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindVectorize:
index_name: str

Name of the Vectorize index to bind to.

name: str

A JavaScript variable name for the binding.

type: Literal["vectorize"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindVersionMetadata:
name: str

A JavaScript variable name for the binding.

type: Literal["version_metadata"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindSecretsStoreSecret:
name: str

A JavaScript variable name for the binding.

secret_name: str

Name of the secret in the store.

store_id: str

ID of the store containing the secret.

type: Literal["secrets_store_secret"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindFlagship:
app_id: str

ID of the Flagship app to bind to for feature flag evaluation.

maxLength128
name: str

A JavaScript variable name for the binding.

type: Literal["flagship"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindSecretKey:
algorithm: object

Algorithm-specific key parameters. Learn more.

format: Literal["raw", "pkcs8", "spki", "jwk"]

Data format of the key. Learn more.

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

A JavaScript variable name for the binding.

type: Literal["secret_key"]

The kind of resource that the binding provides.

usages: List[Literal["encrypt", "decrypt", "sign", 5 more]]

Allowed operations with the key. Learn more.

One of the following:
"encrypt"
"decrypt"
"sign"
"verify"
"deriveKey"
"deriveBits"
"wrapKey"
"unwrapKey"
key_base64: Optional[str]

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

key_jwk: Optional[object]

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

class BindingWorkersBindingKindWorkflow:
name: str

A JavaScript variable name for the binding.

type: Literal["workflow"]

The kind of resource that the binding provides.

workflow_name: str

Name of the Workflow to bind to.

class_name: Optional[str]

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

script_name: Optional[str]

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

class BindingWorkersBindingKindWasmModule:
name: str

A JavaScript variable name for the binding.

part: str

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

Deprecatedtype: Literal["wasm_module"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindVPCService:
name: str

A JavaScript variable name for the binding.

service_id: str

Identifier of the VPC service to bind to.

type: Literal["vpc_service"]

The kind of resource that the binding provides.

class BindingWorkersBindingKindVPCNetwork:
name: str

A JavaScript variable name for the binding.

type: Literal["vpc_network"]

The kind of resource that the binding provides.

network_id: Optional[str]

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

tunnel_id: Optional[str]

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

cache_options: Optional[CacheOptions]

Global CacheW configuration for the Worker. When caching is on, the platform provisions a cloudflare.app zone for the Worker. A type: worker entry in the exports map can override this value for a single entrypoint.

enabled: bool

Whether caching is enabled for this Worker.

cross_version_cache: Optional[bool]

Whether cached responses are shared across Worker version uploads. This is independent of enabled. It can stay true while caching is off, so the preference survives turning caching off and back on.

compatibility_date: Optional[str]

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[List[str]]

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.

exports: Optional[Dict[str, Exports]]

Declarative exports for the Worker. Worker entrypoint entries (type: worker) carry cache configuration for that entrypoint.

One of the following:
class ExportsWorkersWorkerExport:

A named Worker entrypoint export (type: worker). Worker entrypoints are always live (state: created) and carry no storage or lifecycle fields. The optional cache block overrides the Worker’s global cache_options.enabled for this entrypoint.

type: Literal["worker"]

Marks this entry as a Worker entrypoint export.

cache: Optional[ExportsWorkersWorkerExportCache]

Cache override for this entrypoint. Overrides the Worker’s global cache_options.enabled for this entrypoint only.

enabled: bool

Whether caching is enabled for this entrypoint.

state: Optional[Literal["created"]]

Live export. May be omitted; defaults to created.

class ExportsWorkersDurableObjectExport:

A live Durable Object export (state: created, the default). The platform auto-provisions the namespace on first deploy, matches it on subsequent deploys, and never mutates or deletes it as a side effect of a code-only change. storage is required; renamed_to, transferred_to and transfer_from are not allowed on a live entry.

storage: Literal["sqlite", "legacy-kv"]

Durable Object storage backend. sqlite is the recommended (and only) backend for new namespaces. legacy-kv is accepted only for a class whose namespace already exists as KV-backed; the exports flow never provisions a new legacy-kv namespace.

One of the following:
"sqlite"
"legacy-kv"
type: Literal["durable-object"]

Marks this entry as a Durable Object export.

container: Optional[str]

Name of the container (declared in the upload’s metadata.containers) that backs this Durable Object. When set, the namespace is container-enabled. Valid only on live entries.

maxLength128
state: Optional[Literal["created"]]

Live export. May be omitted; defaults to created.

class ExportsWorkersDurableObjectDeletedExport:

A deleted tombstone: retires the provisioned namespace for this class and all of its data. The class must be absent from the uploaded code and no other Worker in the account may bind to the namespace, otherwise the deploy is rejected. No other fields are allowed. Deletion is irreversible.

state: Literal["deleted"]

Tombstone that deletes the namespace.

type: Literal["durable-object"]

Marks this entry as a Durable Object export.

class ExportsWorkersDurableObjectRenamedExport:

A renamed tombstone: rewrites the provisioned namespace’s class name from this map key to renamed_to. The source class may stay in code during the rollout window (an info notice is emitted). storage, transferred_to and transfer_from are not allowed.

renamed_to: str

The destination class name. Must differ from the source class (the map key) and must be declared as a live (created) entry in the same exports map. Write-only: never present in GET responses.

maxLength128
state: Literal["renamed"]

Tombstone that renames the namespace’s class.

type: Literal["durable-object"]

Marks this entry as a Durable Object export.

class ExportsWorkersDurableObjectTransferredExport:

A transferred tombstone (source side of a two-phase transfer): hands ownership of the provisioned namespace to another script in the same account, named by transferred_to. The target must have already deployed a matching expecting-transfer entry. The source class may stay in code during the rollout window (an info notice is emitted). storage, renamed_to and transfer_from are not allowed.

state: Literal["transferred"]

Tombstone that transfers the namespace to another script.

transferred_to: str

The destination script name. Must be in the same account and the same dispatch-namespace context (or both non-dispatch). Cross-dispatch-namespace transfers are rejected. Write-only: never present in GET responses.

maxLength128
type: Literal["durable-object"]

Marks this entry as a Durable Object export.

class ExportsWorkersDurableObjectExpectingTransferExport:

The target side of a two-phase transfer (state: expecting-transfer). Declares that this script expects to receive a namespace for this class from the transfer_from script. This is a live entry, not a tombstone: bindings resolve through the source’s namespace until the source commits with a transferred tombstone. storage and transfer_from are required; renamed_to and transferred_to are not allowed.

state: Literal["expecting-transfer"]

Target side of a two-phase transfer.

storage: Literal["sqlite", "legacy-kv"]

Durable Object storage backend. sqlite is the recommended (and only) backend for new namespaces. legacy-kv is accepted only for a class whose namespace already exists as KV-backed; the exports flow never provisions a new legacy-kv namespace.

One of the following:
"sqlite"
"legacy-kv"
transfer_from: str

The source script name to receive the namespace from. Must be in the same account and dispatch-namespace context. Present on reads for expecting-transfer entries.

maxLength128
type: Literal["durable-object"]

Marks this entry as a Durable Object export.

container: Optional[str]

Name of the container (declared in the upload’s metadata.containers) that backs this Durable Object once the transfer settles. Valid only on live entries.

maxLength128
exports_reconciliation: Optional[ExportsReconciliation]

Summary of the declarative exports reconciliation that ran on this upload. Populated only when the uploaded metadata included an exports block. Durable Object entries drive reconciliation; type: worker entries do not contribute to this summary.

created: List[str]

Class names for which a new namespace was provisioned.

deleted: List[str]

Class names whose namespace was deleted by a deleted tombstone.

info: List[ExportsReconciliationInfo]

Non-blocking info entries (stale tombstones, tombstone applied with class still in code). See exports_reconciliation_info.

class_: str

The class name the info entry is about.

message: str

Human-readable explanation.

scenario: Literal["code_class_not_in_exports", "provisioned_class_missing_from_config", "config_export_not_in_code", 30 more]

Stable, machine-readable tag identifying which reconciliation scenario produced an error, warning, or info entry. Clients may branch on this value instead of parsing message.

One of the following:
"code_class_not_in_exports"
"provisioned_class_missing_from_config"
"config_export_not_in_code"
"config_references_nonexistent_class"
"orphaned_provisioned_namespace"
"storage_type_mismatch"
"free_tier_requires_sqlite"
"invalid_export"
"tombstone_delete_class_still_in_code"
"tombstone_delete_blocked_by_external_bindings"
"tombstone_renamed_to_occupied"
"transferred_pending_not_found"
"transferred_target_missing"
"transferred_target_mismatch"
"phase_one_transfer_source_missing"
"phase_one_transfer_source_namespace_missing"
"phase_one_transfer_target_class_provisioned"
"phase_one_transfer_after_commit_mismatch"
"phase_one_transfer_duplicate"
"phase_one_transfer_target_in_dispatch_namespace"
"phase_one_transfer_source_in_dispatch_namespace"
"transferred_source_in_dispatch_namespace"
"transferred_target_in_dispatch_namespace"
"container_undeclared_reference"
"container_class_not_durable_object"
"container_wiring_inconsistent"
"container_multiple_durable_objects"
"transfer_container_parity_mismatch"
"transfer_container_parity_mismatch_on_commit"
"tombstone_class_still_in_code"
"stale_tombstone"
"transfer_receive_already_applied"
"transfer_receive_cleanup_complete"
namespace_id: Optional[str]

The provisioned namespace the entry relates to, when applicable.

formatuuid
referencing_scripts: Optional[List[str]]

Other Workers in the account that still bind to the affected class. Advisory: while non-empty the tombstone is not yet safe to remove — redeploy these Workers with bindings re-pointed first.

removable_entries: List[str]

Source class names whose tombstone entry is now stale and safe to delete from exports (no remaining referencing scripts).

renamed: List[ExportsReconciliationRenamed]

Applied renamed tombstones.

from_: str

The original (source) class name.

to: str

The new class name (renamed_to).

transfer_pending: List[ExportsReconciliationTransferPending]

Phase-1 transfer hints recorded on the target side.

class_: str

The target-side class name awaiting transfer.

from_: str

The source script the namespace will be transferred from.

transferred: List[ExportsReconciliationTransferred]

Committed transferred tombstones (phase-2).

class_: str

The source class name that was transferred.

phase: Literal["committed"]

The transfer phase. Currently always committed.

to: str

The destination script that now owns the namespace.

updated: List[str]

Class names whose provisioned namespace was mutated in place.

warnings: List[ExportsReconciliationWarning]

Non-blocking warnings. See exports_reconciliation_warning.

class_: str

The class name the warning is about.

message: str

Human-readable explanation of the warning.

scenario: Literal["code_class_not_in_exports", "provisioned_class_missing_from_config", "config_export_not_in_code", 30 more]

Stable, machine-readable tag identifying which reconciliation scenario produced an error, warning, or info entry. Clients may branch on this value instead of parsing message.

One of the following:
"code_class_not_in_exports"
"provisioned_class_missing_from_config"
"config_export_not_in_code"
"config_references_nonexistent_class"
"orphaned_provisioned_namespace"
"storage_type_mismatch"
"free_tier_requires_sqlite"
"invalid_export"
"tombstone_delete_class_still_in_code"
"tombstone_delete_blocked_by_external_bindings"
"tombstone_renamed_to_occupied"
"transferred_pending_not_found"
"transferred_target_missing"
"transferred_target_mismatch"
"phase_one_transfer_source_missing"
"phase_one_transfer_source_namespace_missing"
"phase_one_transfer_target_class_provisioned"
"phase_one_transfer_after_commit_mismatch"
"phase_one_transfer_duplicate"
"phase_one_transfer_target_in_dispatch_namespace"
"phase_one_transfer_source_in_dispatch_namespace"
"transferred_source_in_dispatch_namespace"
"transferred_target_in_dispatch_namespace"
"container_undeclared_reference"
"container_class_not_durable_object"
"container_wiring_inconsistent"
"container_multiple_durable_objects"
"transfer_container_parity_mismatch"
"transfer_container_parity_mismatch_on_commit"
"tombstone_class_still_in_code"
"stale_tombstone"
"transfer_receive_already_applied"
"transfer_receive_cleanup_complete"
namespace_id: Optional[str]

The provisioned namespace the warning relates to, when applicable.

formatuuid
limits: Optional[Limits]

Limits to apply for this Worker.

cpu_ms: Optional[int]

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

subrequests: Optional[int]

The number of subrequests this Worker can make per request.

logpush: Optional[bool]

Whether Logpush is turned on for the Worker.

migrations: Optional[Migrations]

Migrations to apply for Durable Objects associated with this Worker.

One of the following:
class SingleStepMigration:

A single set of migrations to apply.

deleted_classes: Optional[List[str]]

A list of classes to delete Durable Object namespaces from.

new_classes: Optional[List[str]]

A list of classes to create Durable Object namespaces from.

new_sqlite_classes: Optional[List[str]]

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

new_tag: Optional[str]

Tag to set as the latest migration tag.

old_tag: Optional[str]

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

renamed_classes: Optional[List[RenamedClass]]

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

from_: Optional[str]
to: Optional[str]
transferred_classes: Optional[List[TransferredClass]]

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

from_: Optional[str]
from_script: Optional[str]
to: Optional[str]
class MigrationsWorkersMultipleStepMigrations:
new_tag: Optional[str]

Tag to set as the latest migration tag.

old_tag: Optional[str]

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

steps: Optional[List[MigrationStep]]

Migrations to apply in order.

deleted_classes: Optional[List[str]]

A list of classes to delete Durable Object namespaces from.

new_classes: Optional[List[str]]

A list of classes to create Durable Object namespaces from.

new_sqlite_classes: Optional[List[str]]

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

renamed_classes: Optional[List[RenamedClass]]

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

from_: Optional[str]
to: Optional[str]
transferred_classes: Optional[List[TransferredClass]]

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

from_: Optional[str]
from_script: Optional[str]
to: Optional[str]
observability: Optional[Observability]

Observability settings for the Worker.

enabled: bool

Whether observability is enabled for the Worker.

head_sampling_rate: Optional[float]

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

logs: Optional[ObservabilityLogs]

Log settings for the Worker.

enabled: bool

Whether logs are enabled for the Worker.

invocation_logs: bool

Whether invocation logs are enabled for the Worker.

destinations: Optional[List[str]]

A list of destinations where logs will be exported to.

head_sampling_rate: Optional[float]

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

persist: Optional[bool]

Whether log persistence is enabled for the Worker.

traces: Optional[ObservabilityTraces]

Trace settings for the Worker.

destinations: Optional[List[str]]

A list of destinations where traces will be exported to.

enabled: Optional[bool]

Whether traces are enabled for the Worker.

head_sampling_rate: Optional[float]

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

persist: Optional[bool]

Whether trace persistence is enabled for the Worker.

propagation_policy: Optional[Literal["authenticated", "accept"]]

Controls how inbound trace context (traceparent/tracestate) headers on incoming requests are handled. “authenticated” (default) honors inbound trace context only when accompanied by a valid trace auth token. “accept” unconditionally accepts inbound trace context. Requires the trace propagation feature to be enabled.

One of the following:
"authenticated"
"accept"
placement: Optional[Placement]

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

One of the following:
class PlacementMode:
mode: Literal["smart"]
class PlacementRegion:
region: str

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

class PlacementHostname:
hostname: str

HTTP hostname for targeted placement.

class PlacementHost:
host: str

TCP host and port for targeted placement.

class PlacementUnionMember4:
mode: Literal["targeted"]

Targeted placement mode.

region: str

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

class PlacementUnionMember5:
hostname: str

HTTP hostname for targeted placement.

mode: Literal["targeted"]

Targeted placement mode.

class PlacementUnionMember6:
host: str

TCP host and port for targeted placement.

mode: Literal["targeted"]

Targeted placement mode.

class PlacementUnionMember7:
mode: Literal["targeted"]

Targeted placement mode.

target: List[PlacementUnionMember7Target]

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

One of the following:
class PlacementUnionMember7TargetRegion:
region: str

Cloud region in format ‘provider:region’.

class PlacementUnionMember7TargetHostname:
hostname: str

HTTP hostname for targeted placement.

class PlacementUnionMember7TargetHost:
host: str

TCP host:port for targeted placement.

tags: Optional[List[str]]

Tags associated with the Worker.

tail_consumers: Optional[List[ConsumerScript]]

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

service: str

Name of Worker that is to be the consumer.

environment: Optional[str]

Optional environment if the Worker utilizes one.

namespace: Optional[str]

Optional dispatch namespace the script belongs to.

usage_model: Optional[Literal["standard", "bundled", "unbound"]]

Usage model for the Worker invocations.

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