Skip to content
Start here

Update project

pages.projects.edit(strproject_name, ProjectEditParams**kwargs) -> Project
PATCH/accounts/{account_id}/pages/projects/{project_name}

Set new attributes for an existing project. Modify environment variables. To delete an environment variable, set the key to null.

Security
API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

Example:X-Auth-Email: user@example.com

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
Accepted Permissions (at least one required)
Pages Write
ParametersExpand Collapse
account_id: str

Identifier.

maxLength32
project_name: str

Name of the project.

build_config: Optional[BuildConfig]

Configs for the project build process.

build_caching: Optional[bool]

Enable build caching for the project.

build_command: Optional[str]

Command used to build project.

destination_dir: Optional[str]

Output directory of the build.

root_dir: Optional[str]

Directory to run the command.

web_analytics_tag: Optional[str]

The classifying tag for analytics.

web_analytics_token: Optional[str]

The auth token for analytics.

deployment_configs: Optional[DeploymentConfigs]

Configs for deployments in a project.

preview: Optional[DeploymentConfigsPreview]

Configs for preview deploys.

ai_bindings: Optional[Dict[str, Optional[DeploymentConfigsPreviewAIBindings]]]

Constellation bindings used for Pages Functions.

project_id: str
always_use_latest_compatibility_date: Optional[bool]

Whether to always use the latest compatibility date for Pages Functions.

analytics_engine_datasets: Optional[Dict[str, Optional[DeploymentConfigsPreviewAnalyticsEngineDatasets]]]

Analytics Engine bindings used for Pages Functions.

dataset: str

Name of the dataset.

browsers: Optional[Dict[str, Optional[DeploymentConfigsPreviewBrowsers]]]

Browser bindings used for Pages Functions.

build_image_major_version: Optional[int]

The major version of the build image to use for Pages Functions.

compatibility_date: Optional[str]

Compatibility date used for Pages Functions.

compatibility_flags: Optional[SequenceNotStr[str]]

Compatibility flags used for Pages Functions.

d1_databases: Optional[Dict[str, Optional[DeploymentConfigsPreviewD1Databases]]]

D1 databases used for Pages Functions.

id: str

UUID of the D1 database.

durable_object_namespaces: Optional[Dict[str, Optional[DeploymentConfigsPreviewDurableObjectNamespaces]]]

Durable Object namespaces used for Pages Functions.

namespace_id: str

ID of the Durable Object namespace.

env_vars: Optional[Dict[str, Optional[DeploymentConfigsPreviewEnvVars]]]

Environment variables used for builds and Pages Functions.

One of the following:
class DeploymentConfigsPreviewEnvVarsPagesPlainTextEnvVar:

A plaintext environment variable.

type: Literal["plain_text"]
value: str

Environment variable value.

class DeploymentConfigsPreviewEnvVarsPagesSecretTextEnvVar:

An encrypted environment variable.

type: Literal["secret_text"]
value: str

Secret value.

fail_open: Optional[bool]

Whether to fail open when the deployment config cannot be applied.

hyperdrive_bindings: Optional[Dict[str, Optional[DeploymentConfigsPreviewHyperdriveBindings]]]

Hyperdrive bindings used for Pages Functions.

id: str
kv_namespaces: Optional[Dict[str, Optional[DeploymentConfigsPreviewKVNamespaces]]]

KV namespaces used for Pages Functions.

namespace_id: str

ID of the KV namespace.

limits: Optional[DeploymentConfigsPreviewLimits]

Limits for Pages Functions.

cpu_ms: int

CPU time limit in milliseconds.

mtls_certificates: Optional[Dict[str, Optional[DeploymentConfigsPreviewMTLSCertificates]]]

mTLS bindings used for Pages Functions.

certificate_id: str
placement: Optional[DeploymentConfigsPreviewPlacement]

Placement setting used for Pages Functions.

mode: str

Placement mode.

queue_producers: Optional[Dict[str, Optional[DeploymentConfigsPreviewQueueProducers]]]

Queue Producer bindings used for Pages Functions.

name: str

Name of the Queue.

r2_buckets: Optional[Dict[str, Optional[DeploymentConfigsPreviewR2Buckets]]]

R2 buckets used for Pages Functions.

name: str

Name of the R2 bucket.

jurisdiction: Optional[str]

Jurisdiction of the R2 bucket.

services: Optional[Dict[str, Optional[DeploymentConfigsPreviewServices]]]

Services used for Pages Functions.

service: str

The Service name.

entrypoint: Optional[str]

The entrypoint to bind to.

environment: Optional[str]

The Service environment.

Deprecatedusage_model: Optional[Literal["standard", "bundled", "unbound"]]
All new projects now use the Standard usage model.

The usage model for Pages Functions.

One of the following:
"standard"
"bundled"
"unbound"
vectorize_bindings: Optional[Dict[str, Optional[DeploymentConfigsPreviewVectorizeBindings]]]

Vectorize bindings used for Pages Functions.

index_name: str
wrangler_config_hash: Optional[str]

Hash of the Wrangler configuration used for the deployment.

production: Optional[DeploymentConfigsProduction]

Configs for production deploys.

ai_bindings: Optional[Dict[str, Optional[DeploymentConfigsProductionAIBindings]]]

Constellation bindings used for Pages Functions.

project_id: str
always_use_latest_compatibility_date: Optional[bool]

Whether to always use the latest compatibility date for Pages Functions.

analytics_engine_datasets: Optional[Dict[str, Optional[DeploymentConfigsProductionAnalyticsEngineDatasets]]]

Analytics Engine bindings used for Pages Functions.

dataset: str

Name of the dataset.

browsers: Optional[Dict[str, Optional[DeploymentConfigsProductionBrowsers]]]

Browser bindings used for Pages Functions.

build_image_major_version: Optional[int]

The major version of the build image to use for Pages Functions.

compatibility_date: Optional[str]

Compatibility date used for Pages Functions.

compatibility_flags: Optional[SequenceNotStr[str]]

Compatibility flags used for Pages Functions.

d1_databases: Optional[Dict[str, Optional[DeploymentConfigsProductionD1Databases]]]

D1 databases used for Pages Functions.

id: str

UUID of the D1 database.

durable_object_namespaces: Optional[Dict[str, Optional[DeploymentConfigsProductionDurableObjectNamespaces]]]

Durable Object namespaces used for Pages Functions.

namespace_id: str

ID of the Durable Object namespace.

env_vars: Optional[Dict[str, Optional[DeploymentConfigsProductionEnvVars]]]

Environment variables used for builds and Pages Functions.

One of the following:
class DeploymentConfigsProductionEnvVarsPagesPlainTextEnvVar:

A plaintext environment variable.

type: Literal["plain_text"]
value: str

Environment variable value.

class DeploymentConfigsProductionEnvVarsPagesSecretTextEnvVar:

An encrypted environment variable.

type: Literal["secret_text"]
value: str

Secret value.

fail_open: Optional[bool]

Whether to fail open when the deployment config cannot be applied.

hyperdrive_bindings: Optional[Dict[str, Optional[DeploymentConfigsProductionHyperdriveBindings]]]

Hyperdrive bindings used for Pages Functions.

id: str
kv_namespaces: Optional[Dict[str, Optional[DeploymentConfigsProductionKVNamespaces]]]

KV namespaces used for Pages Functions.

namespace_id: str

ID of the KV namespace.

limits: Optional[DeploymentConfigsProductionLimits]

Limits for Pages Functions.

cpu_ms: int

CPU time limit in milliseconds.

mtls_certificates: Optional[Dict[str, Optional[DeploymentConfigsProductionMTLSCertificates]]]

mTLS bindings used for Pages Functions.

certificate_id: str
placement: Optional[DeploymentConfigsProductionPlacement]

Placement setting used for Pages Functions.

mode: str

Placement mode.

queue_producers: Optional[Dict[str, Optional[DeploymentConfigsProductionQueueProducers]]]

Queue Producer bindings used for Pages Functions.

name: str

Name of the Queue.

r2_buckets: Optional[Dict[str, Optional[DeploymentConfigsProductionR2Buckets]]]

R2 buckets used for Pages Functions.

name: str

Name of the R2 bucket.

jurisdiction: Optional[str]

Jurisdiction of the R2 bucket.

services: Optional[Dict[str, Optional[DeploymentConfigsProductionServices]]]

Services used for Pages Functions.

service: str

The Service name.

entrypoint: Optional[str]

The entrypoint to bind to.

environment: Optional[str]

The Service environment.

Deprecatedusage_model: Optional[Literal["standard", "bundled", "unbound"]]
All new projects now use the Standard usage model.

The usage model for Pages Functions.

One of the following:
"standard"
"bundled"
"unbound"
vectorize_bindings: Optional[Dict[str, Optional[DeploymentConfigsProductionVectorizeBindings]]]

Vectorize bindings used for Pages Functions.

index_name: str
wrangler_config_hash: Optional[str]

Hash of the Wrangler configuration used for the deployment.

name: Optional[str]

Name of the project.

production_branch: Optional[str]

Production branch of the project. Used to identify production deployments.

source: Optional[Source]

Configs for the project source control.

config: SourceConfig
Deprecateddeployments_enabled: Optional[bool]
Use `production_deployments_enabled` and `preview_deployment_setting` for more granular control.

Whether to enable automatic deployments when pushing to the source repository. When disabled, no deployments (production or preview) will be triggered automatically.

owner: Optional[str]

The owner of the repository.

owner_id: Optional[str]

The owner ID of the repository.

path_excludes: Optional[SequenceNotStr[str]]

A list of paths that should be excluded from triggering a preview deployment. Wildcard syntax (*) is supported.

path_includes: Optional[SequenceNotStr[str]]

A list of paths that should be watched to trigger a preview deployment. Wildcard syntax (*) is supported.

pr_comments_enabled: Optional[bool]

Whether to enable PR comments.

preview_branch_excludes: Optional[SequenceNotStr[str]]

A list of branches that should not trigger a preview deployment. Wildcard syntax (*) is supported. Must be used with preview_deployment_setting set to custom.

preview_branch_includes: Optional[SequenceNotStr[str]]

A list of branches that should trigger a preview deployment. Wildcard syntax (*) is supported. Must be used with preview_deployment_setting set to custom.

preview_deployment_setting: Optional[Literal["all", "none", "custom"]]

Controls whether commits to preview branches trigger a preview deployment.

One of the following:
"all"
"none"
"custom"
production_branch: Optional[str]

The production branch of the repository.

production_deployments_enabled: Optional[bool]

Whether to trigger a production deployment on commits to the production branch.

repo_id: Optional[str]

The ID of the repository.

repo_name: Optional[str]

The name of the repository.

type: Literal["github", "gitlab"]

The source control management provider.

One of the following:
"github"
"gitlab"
ReturnsExpand Collapse
class Project:
id: str

ID of the project.

canonical_deployment: Optional[Deployment]

Most recent production deployment of the project.

id: str

Id of the deployment.

aliases: Optional[List[str]]

A list of alias URLs pointing to this deployment.

build_config: BuildConfig

Configs for the project build process.

web_analytics_tag: Optional[str]

The classifying tag for analytics.

web_analytics_token: Optional[str]

The auth token for analytics.

build_caching: Optional[bool]

Enable build caching for the project.

build_command: Optional[str]

Command used to build project.

destination_dir: Optional[str]

Assets output directory of the build.

root_dir: Optional[str]

Directory to run the command.

created_on: datetime

When the deployment was created.

formatdate-time
deployment_trigger: DeploymentTrigger

Info about what caused the deployment.

metadata: DeploymentTriggerMetadata

Additional info about the trigger.

branch: str

Where the trigger happened.

commit_dirty: bool

Whether the deployment trigger commit was dirty.

commit_hash: str

Hash of the deployment trigger commit.

commit_message: str

Message of the deployment trigger commit.

type: Literal["github:push", "ad_hoc", "deploy_hook"]

What caused the deployment.

One of the following:
"github:push"
"ad_hoc"
"deploy_hook"
env_vars: Optional[Dict[str, Optional[EnvVars]]]

Environment variables used for builds and Pages Functions.

One of the following:
class EnvVarsPagesPlainTextEnvVar:

A plaintext environment variable.

type: Literal["plain_text"]
value: str

Environment variable value.

class EnvVarsPagesSecretTextEnvVar:

An encrypted environment variable.

type: Literal["secret_text"]
value: str

Secret value.

environment: Literal["preview", "production"]

Type of deploy.

One of the following:
"preview"
"production"
is_skipped: bool

If the deployment has been skipped.

latest_stage: Stage

The status of the deployment.

ended_on: Optional[datetime]

When the stage ended.

formatdate-time
name: Literal["queued", "initialize", "clone_repo", 2 more]

The current build stage.

One of the following:
"queued"
"initialize"
"clone_repo"
"build"
"deploy"
started_on: Optional[datetime]

When the stage started.

formatdate-time
status: Literal["success", "idle", "active", 2 more]

State of the current stage.

One of the following:
"success"
"idle"
"active"
"failure"
"canceled"
modified_on: datetime

When the deployment was last modified.

formatdate-time
project_id: str

Id of the project.

project_name: str

Name of the project.

short_id: str

Short Id (8 character) of the deployment.

source: Source

Configs for the project source control.

config: SourceConfig
Deprecateddeployments_enabled: bool
Use `production_deployments_enabled` and `preview_deployment_setting` for more granular control.

Whether to enable automatic deployments when pushing to the source repository. When disabled, no deployments (production or preview) will be triggered automatically.

owner: str

The owner of the repository.

owner_id: str

The owner ID of the repository.

path_excludes: List[str]

A list of paths that should be excluded from triggering a preview deployment. Wildcard syntax (*) is supported.

path_includes: List[str]

A list of paths that should be watched to trigger a preview deployment. Wildcard syntax (*) is supported.

pr_comments_enabled: bool

Whether to enable PR comments.

preview_branch_excludes: List[str]

A list of branches that should not trigger a preview deployment. Wildcard syntax (*) is supported. Must be used with preview_deployment_setting set to custom.

preview_branch_includes: List[str]

A list of branches that should trigger a preview deployment. Wildcard syntax (*) is supported. Must be used with preview_deployment_setting set to custom.

preview_deployment_setting: Literal["all", "none", "custom"]

Controls whether commits to preview branches trigger a preview deployment.

One of the following:
"all"
"none"
"custom"
production_branch: str

The production branch of the repository.

production_deployments_enabled: bool

Whether to trigger a production deployment on commits to the production branch.

repo_id: str

The ID of the repository.

repo_name: str

The name of the repository.

type: Literal["github", "gitlab"]

The source control management provider.

One of the following:
"github"
"gitlab"
stages: List[Stage]

List of past stages.

ended_on: Optional[datetime]

When the stage ended.

formatdate-time
name: Literal["queued", "initialize", "clone_repo", 2 more]

The current build stage.

One of the following:
"queued"
"initialize"
"clone_repo"
"build"
"deploy"
started_on: Optional[datetime]

When the stage started.

formatdate-time
status: Literal["success", "idle", "active", 2 more]

State of the current stage.

One of the following:
"success"
"idle"
"active"
"failure"
"canceled"
url: str

The live URL to view this deployment.

uses_functions: Optional[bool]

Whether the deployment uses functions.

created_on: datetime

When the project was created.

formatdate-time
deployment_configs: DeploymentConfigs

Configs for deployments in a project.

preview: DeploymentConfigsPreview

Configs for preview deploys.

always_use_latest_compatibility_date: bool

Whether to always use the latest compatibility date for Pages Functions.

build_image_major_version: int

The major version of the build image to use for Pages Functions.

compatibility_date: str

Compatibility date used for Pages Functions.

compatibility_flags: List[str]

Compatibility flags used for Pages Functions.

env_vars: Optional[Dict[str, Optional[DeploymentConfigsPreviewEnvVars]]]

Environment variables used for builds and Pages Functions.

One of the following:
class DeploymentConfigsPreviewEnvVarsPagesPlainTextEnvVar:

A plaintext environment variable.

type: Literal["plain_text"]
value: str

Environment variable value.

class DeploymentConfigsPreviewEnvVarsPagesSecretTextEnvVar:

An encrypted environment variable.

type: Literal["secret_text"]
value: str

Secret value.

fail_open: bool

Whether to fail open when the deployment config cannot be applied.

Deprecatedusage_model: Literal["standard", "bundled", "unbound"]
All new projects now use the Standard usage model.

The usage model for Pages Functions.

One of the following:
"standard"
"bundled"
"unbound"
ai_bindings: Optional[Dict[str, DeploymentConfigsPreviewAIBindings]]

Constellation bindings used for Pages Functions.

project_id: str
analytics_engine_datasets: Optional[Dict[str, DeploymentConfigsPreviewAnalyticsEngineDatasets]]

Analytics Engine bindings used for Pages Functions.

dataset: str

Name of the dataset.

browsers: Optional[Dict[str, Optional[DeploymentConfigsPreviewBrowsers]]]

Browser bindings used for Pages Functions.

d1_databases: Optional[Dict[str, DeploymentConfigsPreviewD1Databases]]

D1 databases used for Pages Functions.

id: str

UUID of the D1 database.

durable_object_namespaces: Optional[Dict[str, DeploymentConfigsPreviewDurableObjectNamespaces]]

Durable Object namespaces used for Pages Functions.

namespace_id: str

ID of the Durable Object namespace.

hyperdrive_bindings: Optional[Dict[str, DeploymentConfigsPreviewHyperdriveBindings]]

Hyperdrive bindings used for Pages Functions.

id: str
kv_namespaces: Optional[Dict[str, DeploymentConfigsPreviewKVNamespaces]]

KV namespaces used for Pages Functions.

namespace_id: str

ID of the KV namespace.

limits: Optional[DeploymentConfigsPreviewLimits]

Limits for Pages Functions.

cpu_ms: int

CPU time limit in milliseconds.

mtls_certificates: Optional[Dict[str, DeploymentConfigsPreviewMTLSCertificates]]

mTLS bindings used for Pages Functions.

certificate_id: str
placement: Optional[DeploymentConfigsPreviewPlacement]

Placement setting used for Pages Functions.

mode: str

Placement mode.

queue_producers: Optional[Dict[str, DeploymentConfigsPreviewQueueProducers]]

Queue Producer bindings used for Pages Functions.

name: str

Name of the Queue.

r2_buckets: Optional[Dict[str, DeploymentConfigsPreviewR2Buckets]]

R2 buckets used for Pages Functions.

name: str

Name of the R2 bucket.

jurisdiction: Optional[str]

Jurisdiction of the R2 bucket.

services: Optional[Dict[str, DeploymentConfigsPreviewServices]]

Services used for Pages Functions.

environment: str

The Service environment.

service: str

The Service name.

entrypoint: Optional[str]

The entrypoint to bind to.

vectorize_bindings: Optional[Dict[str, DeploymentConfigsPreviewVectorizeBindings]]

Vectorize bindings used for Pages Functions.

index_name: str
wrangler_config_hash: Optional[str]

Hash of the Wrangler configuration used for the deployment.

production: DeploymentConfigsProduction

Configs for production deploys.

always_use_latest_compatibility_date: bool

Whether to always use the latest compatibility date for Pages Functions.

build_image_major_version: int

The major version of the build image to use for Pages Functions.

compatibility_date: str

Compatibility date used for Pages Functions.

compatibility_flags: List[str]

Compatibility flags used for Pages Functions.

env_vars: Optional[Dict[str, Optional[DeploymentConfigsProductionEnvVars]]]

Environment variables used for builds and Pages Functions.

One of the following:
class DeploymentConfigsProductionEnvVarsPagesPlainTextEnvVar:

A plaintext environment variable.

type: Literal["plain_text"]
value: str

Environment variable value.

class DeploymentConfigsProductionEnvVarsPagesSecretTextEnvVar:

An encrypted environment variable.

type: Literal["secret_text"]
value: str

Secret value.

fail_open: bool

Whether to fail open when the deployment config cannot be applied.

Deprecatedusage_model: Literal["standard", "bundled", "unbound"]
All new projects now use the Standard usage model.

The usage model for Pages Functions.

One of the following:
"standard"
"bundled"
"unbound"
ai_bindings: Optional[Dict[str, DeploymentConfigsProductionAIBindings]]

Constellation bindings used for Pages Functions.

project_id: str
analytics_engine_datasets: Optional[Dict[str, DeploymentConfigsProductionAnalyticsEngineDatasets]]

Analytics Engine bindings used for Pages Functions.

dataset: str

Name of the dataset.

browsers: Optional[Dict[str, Optional[DeploymentConfigsProductionBrowsers]]]

Browser bindings used for Pages Functions.

d1_databases: Optional[Dict[str, DeploymentConfigsProductionD1Databases]]

D1 databases used for Pages Functions.

id: str

UUID of the D1 database.

durable_object_namespaces: Optional[Dict[str, DeploymentConfigsProductionDurableObjectNamespaces]]

Durable Object namespaces used for Pages Functions.

namespace_id: str

ID of the Durable Object namespace.

hyperdrive_bindings: Optional[Dict[str, DeploymentConfigsProductionHyperdriveBindings]]

Hyperdrive bindings used for Pages Functions.

id: str
kv_namespaces: Optional[Dict[str, DeploymentConfigsProductionKVNamespaces]]

KV namespaces used for Pages Functions.

namespace_id: str

ID of the KV namespace.

limits: Optional[DeploymentConfigsProductionLimits]

Limits for Pages Functions.

cpu_ms: int

CPU time limit in milliseconds.

mtls_certificates: Optional[Dict[str, DeploymentConfigsProductionMTLSCertificates]]

mTLS bindings used for Pages Functions.

certificate_id: str
placement: Optional[DeploymentConfigsProductionPlacement]

Placement setting used for Pages Functions.

mode: str

Placement mode.

queue_producers: Optional[Dict[str, DeploymentConfigsProductionQueueProducers]]

Queue Producer bindings used for Pages Functions.

name: str

Name of the Queue.

r2_buckets: Optional[Dict[str, DeploymentConfigsProductionR2Buckets]]

R2 buckets used for Pages Functions.

name: str

Name of the R2 bucket.

jurisdiction: Optional[str]

Jurisdiction of the R2 bucket.

services: Optional[Dict[str, DeploymentConfigsProductionServices]]

Services used for Pages Functions.

environment: str

The Service environment.

service: str

The Service name.

entrypoint: Optional[str]

The entrypoint to bind to.

vectorize_bindings: Optional[Dict[str, DeploymentConfigsProductionVectorizeBindings]]

Vectorize bindings used for Pages Functions.

index_name: str
wrangler_config_hash: Optional[str]

Hash of the Wrangler configuration used for the deployment.

framework: str

Framework the project is using.

framework_version: str

Version of the framework the project is using.

latest_deployment: Optional[Deployment]

Most recent deployment of the project.

id: str

Id of the deployment.

aliases: Optional[List[str]]

A list of alias URLs pointing to this deployment.

build_config: BuildConfig

Configs for the project build process.

web_analytics_tag: Optional[str]

The classifying tag for analytics.

web_analytics_token: Optional[str]

The auth token for analytics.

build_caching: Optional[bool]

Enable build caching for the project.

build_command: Optional[str]

Command used to build project.

destination_dir: Optional[str]

Assets output directory of the build.

root_dir: Optional[str]

Directory to run the command.

created_on: datetime

When the deployment was created.

formatdate-time
deployment_trigger: DeploymentTrigger

Info about what caused the deployment.

metadata: DeploymentTriggerMetadata

Additional info about the trigger.

branch: str

Where the trigger happened.

commit_dirty: bool

Whether the deployment trigger commit was dirty.

commit_hash: str

Hash of the deployment trigger commit.

commit_message: str

Message of the deployment trigger commit.

type: Literal["github:push", "ad_hoc", "deploy_hook"]

What caused the deployment.

One of the following:
"github:push"
"ad_hoc"
"deploy_hook"
env_vars: Optional[Dict[str, Optional[EnvVars]]]

Environment variables used for builds and Pages Functions.

One of the following:
class EnvVarsPagesPlainTextEnvVar:

A plaintext environment variable.

type: Literal["plain_text"]
value: str

Environment variable value.

class EnvVarsPagesSecretTextEnvVar:

An encrypted environment variable.

type: Literal["secret_text"]
value: str

Secret value.

environment: Literal["preview", "production"]

Type of deploy.

One of the following:
"preview"
"production"
is_skipped: bool

If the deployment has been skipped.

latest_stage: Stage

The status of the deployment.

ended_on: Optional[datetime]

When the stage ended.

formatdate-time
name: Literal["queued", "initialize", "clone_repo", 2 more]

The current build stage.

One of the following:
"queued"
"initialize"
"clone_repo"
"build"
"deploy"
started_on: Optional[datetime]

When the stage started.

formatdate-time
status: Literal["success", "idle", "active", 2 more]

State of the current stage.

One of the following:
"success"
"idle"
"active"
"failure"
"canceled"
modified_on: datetime

When the deployment was last modified.

formatdate-time
project_id: str

Id of the project.

project_name: str

Name of the project.

short_id: str

Short Id (8 character) of the deployment.

source: Source

Configs for the project source control.

config: SourceConfig
Deprecateddeployments_enabled: bool
Use `production_deployments_enabled` and `preview_deployment_setting` for more granular control.

Whether to enable automatic deployments when pushing to the source repository. When disabled, no deployments (production or preview) will be triggered automatically.

owner: str

The owner of the repository.

owner_id: str

The owner ID of the repository.

path_excludes: List[str]

A list of paths that should be excluded from triggering a preview deployment. Wildcard syntax (*) is supported.

path_includes: List[str]

A list of paths that should be watched to trigger a preview deployment. Wildcard syntax (*) is supported.

pr_comments_enabled: bool

Whether to enable PR comments.

preview_branch_excludes: List[str]

A list of branches that should not trigger a preview deployment. Wildcard syntax (*) is supported. Must be used with preview_deployment_setting set to custom.

preview_branch_includes: List[str]

A list of branches that should trigger a preview deployment. Wildcard syntax (*) is supported. Must be used with preview_deployment_setting set to custom.

preview_deployment_setting: Literal["all", "none", "custom"]

Controls whether commits to preview branches trigger a preview deployment.

One of the following:
"all"
"none"
"custom"
production_branch: str

The production branch of the repository.

production_deployments_enabled: bool

Whether to trigger a production deployment on commits to the production branch.

repo_id: str

The ID of the repository.

repo_name: str

The name of the repository.

type: Literal["github", "gitlab"]

The source control management provider.

One of the following:
"github"
"gitlab"
stages: List[Stage]

List of past stages.

ended_on: Optional[datetime]

When the stage ended.

formatdate-time
name: Literal["queued", "initialize", "clone_repo", 2 more]

The current build stage.

One of the following:
"queued"
"initialize"
"clone_repo"
"build"
"deploy"
started_on: Optional[datetime]

When the stage started.

formatdate-time
status: Literal["success", "idle", "active", 2 more]

State of the current stage.

One of the following:
"success"
"idle"
"active"
"failure"
"canceled"
url: str

The live URL to view this deployment.

uses_functions: Optional[bool]

Whether the deployment uses functions.

name: str

Name of the project.

preview_script_name: str

Name of the preview script.

production_branch: str

Production branch of the project. Used to identify production deployments.

production_script_name: str

Name of the production script.

uses_functions: Optional[bool]

Whether the project uses functions.

build_config: Optional[BuildConfig]

Configs for the project build process.

web_analytics_tag: Optional[str]

The classifying tag for analytics.

web_analytics_token: Optional[str]

The auth token for analytics.

build_caching: Optional[bool]

Enable build caching for the project.

build_command: Optional[str]

Command used to build project.

destination_dir: Optional[str]

Assets output directory of the build.

root_dir: Optional[str]

Directory to run the command.

domains: Optional[List[str]]

A list of associated custom domains for the project.

source: Optional[Source]

Configs for the project source control.

config: SourceConfig
Deprecateddeployments_enabled: bool
Use `production_deployments_enabled` and `preview_deployment_setting` for more granular control.

Whether to enable automatic deployments when pushing to the source repository. When disabled, no deployments (production or preview) will be triggered automatically.

owner: str

The owner of the repository.

owner_id: str

The owner ID of the repository.

path_excludes: List[str]

A list of paths that should be excluded from triggering a preview deployment. Wildcard syntax (*) is supported.

path_includes: List[str]

A list of paths that should be watched to trigger a preview deployment. Wildcard syntax (*) is supported.

pr_comments_enabled: bool

Whether to enable PR comments.

preview_branch_excludes: List[str]

A list of branches that should not trigger a preview deployment. Wildcard syntax (*) is supported. Must be used with preview_deployment_setting set to custom.

preview_branch_includes: List[str]

A list of branches that should trigger a preview deployment. Wildcard syntax (*) is supported. Must be used with preview_deployment_setting set to custom.

preview_deployment_setting: Literal["all", "none", "custom"]

Controls whether commits to preview branches trigger a preview deployment.

One of the following:
"all"
"none"
"custom"
production_branch: str

The production branch of the repository.

production_deployments_enabled: bool

Whether to trigger a production deployment on commits to the production branch.

repo_id: str

The ID of the repository.

repo_name: str

The name of the repository.

type: Literal["github", "gitlab"]

The source control management provider.

One of the following:
"github"
"gitlab"
subdomain: Optional[str]

The Cloudflare subdomain associated with the project.

Update project

import os
from cloudflare import Cloudflare

client = Cloudflare(
    api_token=os.environ.get("CLOUDFLARE_API_TOKEN"),  # This is the default and can be omitted
)
project = client.pages.projects.edit(
    project_name="this-is-my-project-01",
    account_id="023e105f4ecef8ad9ca31a8372d0c353",
)
print(project.id)
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "result": {
    "id": "7b162ea7-7367-4d67-bcde-1160995d5",
    "canonical_deployment": {
      "id": "f64788e9-fccd-4d4a-a28a-cb84f88f6",
      "aliases": [
        "https://branchname.projectname.pages.dev"
      ],
      "build_config": {
        "web_analytics_tag": "cee1c73f6e4743d0b5e6bb1a0bcaabcc",
        "web_analytics_token": "021e1057c18547eca7b79f2516f06o7x",
        "build_caching": true,
        "build_command": "npm run build",
        "destination_dir": "build",
        "root_dir": "/"
      },
      "created_on": "2021-03-09T00:55:03.923456Z",
      "deployment_trigger": {
        "metadata": {
          "branch": "main",
          "commit_dirty": false,
          "commit_hash": "ad9ccd918a81025731e10e40267e11273a263421",
          "commit_message": "Update index.html"
        },
        "type": "ad_hoc"
      },
      "env_vars": {
        "foo": {
          "type": "plain_text",
          "value": "hello world"
        }
      },
      "environment": "preview",
      "is_skipped": true,
      "latest_stage": {
        "ended_on": "2021-03-09T00:58:59.045655Z",
        "name": "deploy",
        "started_on": "2021-03-09T00:55:03.923456Z",
        "status": "success"
      },
      "modified_on": "2021-03-09T00:58:59.045655Z",
      "project_id": "7b162ea7-7367-4d67-bcde-1160995d5",
      "project_name": "this-is-my-project-01",
      "short_id": "f64788e9",
      "source": {
        "config": {
          "deployments_enabled": true,
          "owner": "my-org",
          "owner_id": "12345678",
          "path_excludes": [
            "string"
          ],
          "path_includes": [
            "string"
          ],
          "pr_comments_enabled": true,
          "preview_branch_excludes": [
            "string"
          ],
          "preview_branch_includes": [
            "string"
          ],
          "preview_deployment_setting": "all",
          "production_branch": "main",
          "production_deployments_enabled": true,
          "repo_id": "12345678",
          "repo_name": "my-repo"
        },
        "type": "github"
      },
      "stages": [
        {
          "ended_on": "2021-06-03T15:39:03.134378Z",
          "name": "queued",
          "started_on": "2021-06-03T15:38:15.608194Z",
          "status": "active"
        },
        {
          "ended_on": null,
          "name": "initialize",
          "started_on": null,
          "status": "idle"
        },
        {
          "ended_on": null,
          "name": "clone_repo",
          "started_on": null,
          "status": "idle"
        },
        {
          "ended_on": null,
          "name": "build",
          "started_on": null,
          "status": "idle"
        },
        {
          "ended_on": null,
          "name": "deploy",
          "started_on": null,
          "status": "idle"
        }
      ],
      "url": "https://f64788e9.ninjakittens.pages.dev",
      "uses_functions": true
    },
    "created_on": "2017-01-01T00:00:00Z",
    "deployment_configs": {
      "preview": {
        "always_use_latest_compatibility_date": false,
        "build_image_major_version": 3,
        "compatibility_date": "2025-01-01",
        "compatibility_flags": [
          "url_standard"
        ],
        "env_vars": {
          "foo": {
            "type": "plain_text",
            "value": "hello world"
          }
        },
        "fail_open": true,
        "usage_model": "standard",
        "ai_bindings": {
          "AI_BINDING": {
            "project_id": "some-project-id"
          }
        },
        "analytics_engine_datasets": {
          "ANALYTICS_ENGINE_BINDING": {
            "dataset": "api_analytics"
          }
        },
        "browsers": {
          "BROWSER": {}
        },
        "d1_databases": {
          "D1_BINDING": {
            "id": "445e2955-951a-43f8-a35b-a4d0c8138f63"
          }
        },
        "durable_object_namespaces": {
          "DO_BINDING": {
            "namespace_id": "5eb63bbbe01eeed093cb22bb8f5acdc3"
          }
        },
        "hyperdrive_bindings": {
          "HYPERDRIVE": {
            "id": "a76a99bc342644deb02c38d66082262a"
          }
        },
        "kv_namespaces": {
          "KV_BINDING": {
            "namespace_id": "5eb63bbbe01eeed093cb22bb8f5acdc3"
          }
        },
        "limits": {
          "cpu_ms": 100
        },
        "mtls_certificates": {
          "MTLS": {
            "certificate_id": "d7cdd17c-916f-4cb7-aabe-585eb382ec4e"
          }
        },
        "placement": {
          "mode": "smart"
        },
        "queue_producers": {
          "QUEUE_PRODUCER_BINDING": {
            "name": "some-queue"
          }
        },
        "r2_buckets": {
          "R2_BINDING": {
            "name": "some-bucket",
            "jurisdiction": "eu"
          }
        },
        "services": {
          "SERVICE_BINDING": {
            "environment": "production",
            "service": "example-worker",
            "entrypoint": "MyHandler"
          }
        },
        "vectorize_bindings": {
          "VECTORIZE": {
            "index_name": "my_index"
          }
        },
        "wrangler_config_hash": "abc123def456"
      },
      "production": {
        "always_use_latest_compatibility_date": false,
        "build_image_major_version": 3,
        "compatibility_date": "2025-01-01",
        "compatibility_flags": [
          "url_standard"
        ],
        "env_vars": {
          "foo": {
            "type": "plain_text",
            "value": "hello world"
          }
        },
        "fail_open": true,
        "usage_model": "standard",
        "ai_bindings": {
          "AI_BINDING": {
            "project_id": "some-project-id"
          }
        },
        "analytics_engine_datasets": {
          "ANALYTICS_ENGINE_BINDING": {
            "dataset": "api_analytics"
          }
        },
        "browsers": {
          "BROWSER": {}
        },
        "d1_databases": {
          "D1_BINDING": {
            "id": "445e2955-951a-43f8-a35b-a4d0c8138f63"
          }
        },
        "durable_object_namespaces": {
          "DO_BINDING": {
            "namespace_id": "5eb63bbbe01eeed093cb22bb8f5acdc3"
          }
        },
        "hyperdrive_bindings": {
          "HYPERDRIVE": {
            "id": "a76a99bc342644deb02c38d66082262a"
          }
        },
        "kv_namespaces": {
          "KV_BINDING": {
            "namespace_id": "5eb63bbbe01eeed093cb22bb8f5acdc3"
          }
        },
        "limits": {
          "cpu_ms": 100
        },
        "mtls_certificates": {
          "MTLS": {
            "certificate_id": "d7cdd17c-916f-4cb7-aabe-585eb382ec4e"
          }
        },
        "placement": {
          "mode": "smart"
        },
        "queue_producers": {
          "QUEUE_PRODUCER_BINDING": {
            "name": "some-queue"
          }
        },
        "r2_buckets": {
          "R2_BINDING": {
            "name": "some-bucket",
            "jurisdiction": "eu"
          }
        },
        "services": {
          "SERVICE_BINDING": {
            "environment": "production",
            "service": "example-worker",
            "entrypoint": "MyHandler"
          }
        },
        "vectorize_bindings": {
          "VECTORIZE": {
            "index_name": "my_index"
          }
        },
        "wrangler_config_hash": "abc123def456"
      }
    },
    "framework": "framework",
    "framework_version": "framework_version",
    "latest_deployment": {
      "id": "f64788e9-fccd-4d4a-a28a-cb84f88f6",
      "aliases": [
        "https://branchname.projectname.pages.dev"
      ],
      "build_config": {
        "web_analytics_tag": "cee1c73f6e4743d0b5e6bb1a0bcaabcc",
        "web_analytics_token": "021e1057c18547eca7b79f2516f06o7x",
        "build_caching": true,
        "build_command": "npm run build",
        "destination_dir": "build",
        "root_dir": "/"
      },
      "created_on": "2021-03-09T00:55:03.923456Z",
      "deployment_trigger": {
        "metadata": {
          "branch": "main",
          "commit_dirty": false,
          "commit_hash": "ad9ccd918a81025731e10e40267e11273a263421",
          "commit_message": "Update index.html"
        },
        "type": "ad_hoc"
      },
      "env_vars": {
        "foo": {
          "type": "plain_text",
          "value": "hello world"
        }
      },
      "environment": "preview",
      "is_skipped": true,
      "latest_stage": {
        "ended_on": "2021-03-09T00:58:59.045655Z",
        "name": "deploy",
        "started_on": "2021-03-09T00:55:03.923456Z",
        "status": "success"
      },
      "modified_on": "2021-03-09T00:58:59.045655Z",
      "project_id": "7b162ea7-7367-4d67-bcde-1160995d5",
      "project_name": "this-is-my-project-01",
      "short_id": "f64788e9",
      "source": {
        "config": {
          "deployments_enabled": true,
          "owner": "my-org",
          "owner_id": "12345678",
          "path_excludes": [
            "string"
          ],
          "path_includes": [
            "string"
          ],
          "pr_comments_enabled": true,
          "preview_branch_excludes": [
            "string"
          ],
          "preview_branch_includes": [
            "string"
          ],
          "preview_deployment_setting": "all",
          "production_branch": "main",
          "production_deployments_enabled": true,
          "repo_id": "12345678",
          "repo_name": "my-repo"
        },
        "type": "github"
      },
      "stages": [
        {
          "ended_on": "2021-06-03T15:39:03.134378Z",
          "name": "queued",
          "started_on": "2021-06-03T15:38:15.608194Z",
          "status": "active"
        },
        {
          "ended_on": null,
          "name": "initialize",
          "started_on": null,
          "status": "idle"
        },
        {
          "ended_on": null,
          "name": "clone_repo",
          "started_on": null,
          "status": "idle"
        },
        {
          "ended_on": null,
          "name": "build",
          "started_on": null,
          "status": "idle"
        },
        {
          "ended_on": null,
          "name": "deploy",
          "started_on": null,
          "status": "idle"
        }
      ],
      "url": "https://f64788e9.ninjakittens.pages.dev",
      "uses_functions": true
    },
    "name": "this-is-my-project-01",
    "preview_script_name": "pages-worker--1234567-preview",
    "production_branch": "main",
    "production_script_name": "pages-worker--1234567-production",
    "uses_functions": true,
    "build_config": {
      "web_analytics_tag": "cee1c73f6e4743d0b5e6bb1a0bcaabcc",
      "web_analytics_token": "021e1057c18547eca7b79f2516f06o7x",
      "build_caching": true,
      "build_command": "npm run build",
      "destination_dir": "build",
      "root_dir": "/"
    },
    "domains": [
      "customdomain.com",
      "customdomain.org"
    ],
    "source": {
      "config": {
        "deployments_enabled": true,
        "owner": "my-org",
        "owner_id": "12345678",
        "path_excludes": [
          "string"
        ],
        "path_includes": [
          "string"
        ],
        "pr_comments_enabled": true,
        "preview_branch_excludes": [
          "string"
        ],
        "preview_branch_includes": [
          "string"
        ],
        "preview_deployment_setting": "all",
        "production_branch": "main",
        "production_deployments_enabled": true,
        "repo_id": "12345678",
        "repo_name": "my-repo"
      },
      "type": "github"
    },
    "subdomain": "helloworld.pages.dev"
  },
  "success": true
}
Returns Examples
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "result": {
    "id": "7b162ea7-7367-4d67-bcde-1160995d5",
    "canonical_deployment": {
      "id": "f64788e9-fccd-4d4a-a28a-cb84f88f6",
      "aliases": [
        "https://branchname.projectname.pages.dev"
      ],
      "build_config": {
        "web_analytics_tag": "cee1c73f6e4743d0b5e6bb1a0bcaabcc",
        "web_analytics_token": "021e1057c18547eca7b79f2516f06o7x",
        "build_caching": true,
        "build_command": "npm run build",
        "destination_dir": "build",
        "root_dir": "/"
      },
      "created_on": "2021-03-09T00:55:03.923456Z",
      "deployment_trigger": {
        "metadata": {
          "branch": "main",
          "commit_dirty": false,
          "commit_hash": "ad9ccd918a81025731e10e40267e11273a263421",
          "commit_message": "Update index.html"
        },
        "type": "ad_hoc"
      },
      "env_vars": {
        "foo": {
          "type": "plain_text",
          "value": "hello world"
        }
      },
      "environment": "preview",
      "is_skipped": true,
      "latest_stage": {
        "ended_on": "2021-03-09T00:58:59.045655Z",
        "name": "deploy",
        "started_on": "2021-03-09T00:55:03.923456Z",
        "status": "success"
      },
      "modified_on": "2021-03-09T00:58:59.045655Z",
      "project_id": "7b162ea7-7367-4d67-bcde-1160995d5",
      "project_name": "this-is-my-project-01",
      "short_id": "f64788e9",
      "source": {
        "config": {
          "deployments_enabled": true,
          "owner": "my-org",
          "owner_id": "12345678",
          "path_excludes": [
            "string"
          ],
          "path_includes": [
            "string"
          ],
          "pr_comments_enabled": true,
          "preview_branch_excludes": [
            "string"
          ],
          "preview_branch_includes": [
            "string"
          ],
          "preview_deployment_setting": "all",
          "production_branch": "main",
          "production_deployments_enabled": true,
          "repo_id": "12345678",
          "repo_name": "my-repo"
        },
        "type": "github"
      },
      "stages": [
        {
          "ended_on": "2021-06-03T15:39:03.134378Z",
          "name": "queued",
          "started_on": "2021-06-03T15:38:15.608194Z",
          "status": "active"
        },
        {
          "ended_on": null,
          "name": "initialize",
          "started_on": null,
          "status": "idle"
        },
        {
          "ended_on": null,
          "name": "clone_repo",
          "started_on": null,
          "status": "idle"
        },
        {
          "ended_on": null,
          "name": "build",
          "started_on": null,
          "status": "idle"
        },
        {
          "ended_on": null,
          "name": "deploy",
          "started_on": null,
          "status": "idle"
        }
      ],
      "url": "https://f64788e9.ninjakittens.pages.dev",
      "uses_functions": true
    },
    "created_on": "2017-01-01T00:00:00Z",
    "deployment_configs": {
      "preview": {
        "always_use_latest_compatibility_date": false,
        "build_image_major_version": 3,
        "compatibility_date": "2025-01-01",
        "compatibility_flags": [
          "url_standard"
        ],
        "env_vars": {
          "foo": {
            "type": "plain_text",
            "value": "hello world"
          }
        },
        "fail_open": true,
        "usage_model": "standard",
        "ai_bindings": {
          "AI_BINDING": {
            "project_id": "some-project-id"
          }
        },
        "analytics_engine_datasets": {
          "ANALYTICS_ENGINE_BINDING": {
            "dataset": "api_analytics"
          }
        },
        "browsers": {
          "BROWSER": {}
        },
        "d1_databases": {
          "D1_BINDING": {
            "id": "445e2955-951a-43f8-a35b-a4d0c8138f63"
          }
        },
        "durable_object_namespaces": {
          "DO_BINDING": {
            "namespace_id": "5eb63bbbe01eeed093cb22bb8f5acdc3"
          }
        },
        "hyperdrive_bindings": {
          "HYPERDRIVE": {
            "id": "a76a99bc342644deb02c38d66082262a"
          }
        },
        "kv_namespaces": {
          "KV_BINDING": {
            "namespace_id": "5eb63bbbe01eeed093cb22bb8f5acdc3"
          }
        },
        "limits": {
          "cpu_ms": 100
        },
        "mtls_certificates": {
          "MTLS": {
            "certificate_id": "d7cdd17c-916f-4cb7-aabe-585eb382ec4e"
          }
        },
        "placement": {
          "mode": "smart"
        },
        "queue_producers": {
          "QUEUE_PRODUCER_BINDING": {
            "name": "some-queue"
          }
        },
        "r2_buckets": {
          "R2_BINDING": {
            "name": "some-bucket",
            "jurisdiction": "eu"
          }
        },
        "services": {
          "SERVICE_BINDING": {
            "environment": "production",
            "service": "example-worker",
            "entrypoint": "MyHandler"
          }
        },
        "vectorize_bindings": {
          "VECTORIZE": {
            "index_name": "my_index"
          }
        },
        "wrangler_config_hash": "abc123def456"
      },
      "production": {
        "always_use_latest_compatibility_date": false,
        "build_image_major_version": 3,
        "compatibility_date": "2025-01-01",
        "compatibility_flags": [
          "url_standard"
        ],
        "env_vars": {
          "foo": {
            "type": "plain_text",
            "value": "hello world"
          }
        },
        "fail_open": true,
        "usage_model": "standard",
        "ai_bindings": {
          "AI_BINDING": {
            "project_id": "some-project-id"
          }
        },
        "analytics_engine_datasets": {
          "ANALYTICS_ENGINE_BINDING": {
            "dataset": "api_analytics"
          }
        },
        "browsers": {
          "BROWSER": {}
        },
        "d1_databases": {
          "D1_BINDING": {
            "id": "445e2955-951a-43f8-a35b-a4d0c8138f63"
          }
        },
        "durable_object_namespaces": {
          "DO_BINDING": {
            "namespace_id": "5eb63bbbe01eeed093cb22bb8f5acdc3"
          }
        },
        "hyperdrive_bindings": {
          "HYPERDRIVE": {
            "id": "a76a99bc342644deb02c38d66082262a"
          }
        },
        "kv_namespaces": {
          "KV_BINDING": {
            "namespace_id": "5eb63bbbe01eeed093cb22bb8f5acdc3"
          }
        },
        "limits": {
          "cpu_ms": 100
        },
        "mtls_certificates": {
          "MTLS": {
            "certificate_id": "d7cdd17c-916f-4cb7-aabe-585eb382ec4e"
          }
        },
        "placement": {
          "mode": "smart"
        },
        "queue_producers": {
          "QUEUE_PRODUCER_BINDING": {
            "name": "some-queue"
          }
        },
        "r2_buckets": {
          "R2_BINDING": {
            "name": "some-bucket",
            "jurisdiction": "eu"
          }
        },
        "services": {
          "SERVICE_BINDING": {
            "environment": "production",
            "service": "example-worker",
            "entrypoint": "MyHandler"
          }
        },
        "vectorize_bindings": {
          "VECTORIZE": {
            "index_name": "my_index"
          }
        },
        "wrangler_config_hash": "abc123def456"
      }
    },
    "framework": "framework",
    "framework_version": "framework_version",
    "latest_deployment": {
      "id": "f64788e9-fccd-4d4a-a28a-cb84f88f6",
      "aliases": [
        "https://branchname.projectname.pages.dev"
      ],
      "build_config": {
        "web_analytics_tag": "cee1c73f6e4743d0b5e6bb1a0bcaabcc",
        "web_analytics_token": "021e1057c18547eca7b79f2516f06o7x",
        "build_caching": true,
        "build_command": "npm run build",
        "destination_dir": "build",
        "root_dir": "/"
      },
      "created_on": "2021-03-09T00:55:03.923456Z",
      "deployment_trigger": {
        "metadata": {
          "branch": "main",
          "commit_dirty": false,
          "commit_hash": "ad9ccd918a81025731e10e40267e11273a263421",
          "commit_message": "Update index.html"
        },
        "type": "ad_hoc"
      },
      "env_vars": {
        "foo": {
          "type": "plain_text",
          "value": "hello world"
        }
      },
      "environment": "preview",
      "is_skipped": true,
      "latest_stage": {
        "ended_on": "2021-03-09T00:58:59.045655Z",
        "name": "deploy",
        "started_on": "2021-03-09T00:55:03.923456Z",
        "status": "success"
      },
      "modified_on": "2021-03-09T00:58:59.045655Z",
      "project_id": "7b162ea7-7367-4d67-bcde-1160995d5",
      "project_name": "this-is-my-project-01",
      "short_id": "f64788e9",
      "source": {
        "config": {
          "deployments_enabled": true,
          "owner": "my-org",
          "owner_id": "12345678",
          "path_excludes": [
            "string"
          ],
          "path_includes": [
            "string"
          ],
          "pr_comments_enabled": true,
          "preview_branch_excludes": [
            "string"
          ],
          "preview_branch_includes": [
            "string"
          ],
          "preview_deployment_setting": "all",
          "production_branch": "main",
          "production_deployments_enabled": true,
          "repo_id": "12345678",
          "repo_name": "my-repo"
        },
        "type": "github"
      },
      "stages": [
        {
          "ended_on": "2021-06-03T15:39:03.134378Z",
          "name": "queued",
          "started_on": "2021-06-03T15:38:15.608194Z",
          "status": "active"
        },
        {
          "ended_on": null,
          "name": "initialize",
          "started_on": null,
          "status": "idle"
        },
        {
          "ended_on": null,
          "name": "clone_repo",
          "started_on": null,
          "status": "idle"
        },
        {
          "ended_on": null,
          "name": "build",
          "started_on": null,
          "status": "idle"
        },
        {
          "ended_on": null,
          "name": "deploy",
          "started_on": null,
          "status": "idle"
        }
      ],
      "url": "https://f64788e9.ninjakittens.pages.dev",
      "uses_functions": true
    },
    "name": "this-is-my-project-01",
    "preview_script_name": "pages-worker--1234567-preview",
    "production_branch": "main",
    "production_script_name": "pages-worker--1234567-production",
    "uses_functions": true,
    "build_config": {
      "web_analytics_tag": "cee1c73f6e4743d0b5e6bb1a0bcaabcc",
      "web_analytics_token": "021e1057c18547eca7b79f2516f06o7x",
      "build_caching": true,
      "build_command": "npm run build",
      "destination_dir": "build",
      "root_dir": "/"
    },
    "domains": [
      "customdomain.com",
      "customdomain.org"
    ],
    "source": {
      "config": {
        "deployments_enabled": true,
        "owner": "my-org",
        "owner_id": "12345678",
        "path_excludes": [
          "string"
        ],
        "path_includes": [
          "string"
        ],
        "pr_comments_enabled": true,
        "preview_branch_excludes": [
          "string"
        ],
        "preview_branch_includes": [
          "string"
        ],
        "preview_deployment_setting": "all",
        "production_branch": "main",
        "production_deployments_enabled": true,
        "repo_id": "12345678",
        "repo_name": "my-repo"
      },
      "type": "github"
    },
    "subdomain": "helloworld.pages.dev"
  },
  "success": true
}