# Pages # Projects ## Get projects `client.pages.projects.list(ProjectListParamsparams, RequestOptionsoptions?): V4PagePaginationArray` **get** `/accounts/{account_id}/pages/projects` Fetch a list of all user projects. ### Parameters - `params: ProjectListParams` - `account_id: string` Path param: Identifier. - `page?: number` Query param: Which page of projects to fetch. - `per_page?: number` Query param: How many projects to return per page. ### Returns - `Project` - `id: string` ID of the project. - `canonical_deployment: Deployment | null` Most recent production deployment of the project. - `id: string` Id of the deployment. - `aliases: Array | null` A list of alias URLs pointing to this deployment. - `build_config: BuildConfig` Configs for the project build process. - `web_analytics_tag: string | null` The classifying tag for analytics. - `web_analytics_token: string | null` The auth token for analytics. - `build_caching?: boolean | null` Enable build caching for the project. - `build_command?: string | null` Command used to build project. - `destination_dir?: string | null` Assets output directory of the build. - `root_dir?: string | null` Directory to run the command. - `created_on: string` When the deployment was created. - `deployment_trigger: DeploymentTrigger` Info about what caused the deployment. - `metadata: Metadata` Additional info about the trigger. - `branch: string` Where the trigger happened. - `commit_dirty: boolean` Whether the deployment trigger commit was dirty. - `commit_hash: string` Hash of the deployment trigger commit. - `commit_message: string` Message of the deployment trigger commit. - `type: "github:push" | "ad_hoc" | "deploy_hook"` What caused the deployment. - `"github:push"` - `"ad_hoc"` - `"deploy_hook"` - `env_vars: Record | null` Environment variables used for builds and Pages Functions. - `PagesPlainTextEnvVar` A plaintext environment variable. - `type: "plain_text"` - `"plain_text"` - `value: string` Environment variable value. - `PagesSecretTextEnvVar` An encrypted environment variable. - `type: "secret_text"` - `"secret_text"` - `value: string` Secret value. - `environment: "preview" | "production"` Type of deploy. - `"preview"` - `"production"` - `is_skipped: boolean` If the deployment has been skipped. - `latest_stage: Stage` The status of the deployment. - `ended_on: string | null` When the stage ended. - `name: "queued" | "initialize" | "clone_repo" | 2 more` The current build stage. - `"queued"` - `"initialize"` - `"clone_repo"` - `"build"` - `"deploy"` - `started_on: string | null` When the stage started. - `status: "success" | "idle" | "active" | 2 more` State of the current stage. - `"success"` - `"idle"` - `"active"` - `"failure"` - `"canceled"` - `modified_on: string` When the deployment was last modified. - `project_id: string` Id of the project. - `project_name: string` Name of the project. - `short_id: string` Short Id (8 character) of the deployment. - `source: Source` Configs for the project source control. - `config: Config` - `deployments_enabled: boolean` Whether to enable automatic deployments when pushing to the source repository. When disabled, no deployments (production or preview) will be triggered automatically. - `owner: string` The owner of the repository. - `owner_id: string` The owner ID of the repository. - `path_excludes: Array` A list of paths that should be excluded from triggering a preview deployment. Wildcard syntax (`*`) is supported. - `path_includes: Array` A list of paths that should be watched to trigger a preview deployment. Wildcard syntax (`*`) is supported. - `pr_comments_enabled: boolean` Whether to enable PR comments. - `preview_branch_excludes: Array` 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: Array` 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: "all" | "none" | "custom"` Controls whether commits to preview branches trigger a preview deployment. - `"all"` - `"none"` - `"custom"` - `production_branch: string` The production branch of the repository. - `production_deployments_enabled: boolean` Whether to trigger a production deployment on commits to the production branch. - `repo_id: string` The ID of the repository. - `repo_name: string` The name of the repository. - `type: "github" | "gitlab"` The source control management provider. - `"github"` - `"gitlab"` - `stages: Array` List of past stages. - `ended_on: string | null` When the stage ended. - `name: "queued" | "initialize" | "clone_repo" | 2 more` The current build stage. - `started_on: string | null` When the stage started. - `status: "success" | "idle" | "active" | 2 more` State of the current stage. - `url: string` The live URL to view this deployment. - `skip_reason?: "commit_message" | "preview_deployments_disabled" | "production_deployments_disabled" | 3 more | null` Why the deployment was skipped. - `"commit_message"` - `"preview_deployments_disabled"` - `"production_deployments_disabled"` - `"path_config"` - `"branch_config"` - `"pages_to_workers_conversion"` - `uses_functions?: boolean | null` Whether the deployment uses functions. - `created_on: string` When the project was created. - `deployment_configs: DeploymentConfigs` Configs for deployments in a project. - `preview: Preview` Configs for preview deploys. - `always_use_latest_compatibility_date: boolean` Whether to always use the latest compatibility date for Pages Functions. - `build_image_major_version: number` The major version of the build image to use for Pages Functions. - `compatibility_date: string` Compatibility date used for Pages Functions. - `compatibility_flags: Array` Compatibility flags used for Pages Functions. - `env_vars: Record | null` Environment variables used for builds and Pages Functions. - `PagesPlainTextEnvVar` A plaintext environment variable. - `type: "plain_text"` - `"plain_text"` - `value: string` Environment variable value. - `PagesSecretTextEnvVar` An encrypted environment variable. - `type: "secret_text"` - `"secret_text"` - `value: string` Secret value. - `fail_open: boolean` Whether to fail open when the deployment config cannot be applied. - `usage_model: "standard" | "bundled" | "unbound"` The usage model for Pages Functions. - `"standard"` - `"bundled"` - `"unbound"` - `ai_bindings?: Record` Constellation bindings used for Pages Functions. - `project_id: string` - `analytics_engine_datasets?: Record` Analytics Engine bindings used for Pages Functions. - `dataset: string` Name of the dataset. - `browsers?: Record` Browser bindings used for Pages Functions. - `d1_databases?: Record` D1 databases used for Pages Functions. - `id: string` UUID of the D1 database. - `durable_object_namespaces?: Record` Durable Object namespaces used for Pages Functions. - `namespace_id: string` ID of the Durable Object namespace. - `hyperdrive_bindings?: Record` Hyperdrive bindings used for Pages Functions. - `id: string` - `kv_namespaces?: Record` KV namespaces used for Pages Functions. - `namespace_id: string` ID of the KV namespace. - `limits?: Limits` Limits for Pages Functions. - `cpu_ms: number` CPU time limit in milliseconds. - `mtls_certificates?: Record` mTLS bindings used for Pages Functions. - `certificate_id: string` - `placement?: Placement` Placement setting used for Pages Functions. - `mode: string` Placement mode. - `queue_producers?: Record` Queue Producer bindings used for Pages Functions. - `name: string` Name of the Queue. - `r2_buckets?: Record` R2 buckets used for Pages Functions. - `name: string` Name of the R2 bucket. - `jurisdiction?: string | null` Jurisdiction of the R2 bucket. - `services?: Record` Services used for Pages Functions. - `environment: string` The Service environment. - `service: string` The Service name. - `entrypoint?: string | null` The entrypoint to bind to. - `vectorize_bindings?: Record` Vectorize bindings used for Pages Functions. - `index_name: string` - `wrangler_config_hash?: string` Hash of the Wrangler configuration used for the deployment. - `production: Production` Configs for production deploys. - `always_use_latest_compatibility_date: boolean` Whether to always use the latest compatibility date for Pages Functions. - `build_image_major_version: number` The major version of the build image to use for Pages Functions. - `compatibility_date: string` Compatibility date used for Pages Functions. - `compatibility_flags: Array` Compatibility flags used for Pages Functions. - `env_vars: Record | null` Environment variables used for builds and Pages Functions. - `PagesPlainTextEnvVar` A plaintext environment variable. - `type: "plain_text"` - `"plain_text"` - `value: string` Environment variable value. - `PagesSecretTextEnvVar` An encrypted environment variable. - `type: "secret_text"` - `"secret_text"` - `value: string` Secret value. - `fail_open: boolean` Whether to fail open when the deployment config cannot be applied. - `usage_model: "standard" | "bundled" | "unbound"` The usage model for Pages Functions. - `"standard"` - `"bundled"` - `"unbound"` - `ai_bindings?: Record` Constellation bindings used for Pages Functions. - `project_id: string` - `analytics_engine_datasets?: Record` Analytics Engine bindings used for Pages Functions. - `dataset: string` Name of the dataset. - `browsers?: Record` Browser bindings used for Pages Functions. - `d1_databases?: Record` D1 databases used for Pages Functions. - `id: string` UUID of the D1 database. - `durable_object_namespaces?: Record` Durable Object namespaces used for Pages Functions. - `namespace_id: string` ID of the Durable Object namespace. - `hyperdrive_bindings?: Record` Hyperdrive bindings used for Pages Functions. - `id: string` - `kv_namespaces?: Record` KV namespaces used for Pages Functions. - `namespace_id: string` ID of the KV namespace. - `limits?: Limits` Limits for Pages Functions. - `cpu_ms: number` CPU time limit in milliseconds. - `mtls_certificates?: Record` mTLS bindings used for Pages Functions. - `certificate_id: string` - `placement?: Placement` Placement setting used for Pages Functions. - `mode: string` Placement mode. - `queue_producers?: Record` Queue Producer bindings used for Pages Functions. - `name: string` Name of the Queue. - `r2_buckets?: Record` R2 buckets used for Pages Functions. - `name: string` Name of the R2 bucket. - `jurisdiction?: string | null` Jurisdiction of the R2 bucket. - `services?: Record` Services used for Pages Functions. - `environment: string` The Service environment. - `service: string` The Service name. - `entrypoint?: string | null` The entrypoint to bind to. - `vectorize_bindings?: Record` Vectorize bindings used for Pages Functions. - `index_name: string` - `wrangler_config_hash?: string` Hash of the Wrangler configuration used for the deployment. - `framework: string` Framework the project is using. - `framework_version: string` Version of the framework the project is using. - `latest_deployment: Deployment | null` Most recent deployment of the project. - `name: string` Name of the project. - `preview_script_name: string` Name of the preview script. - `production_branch: string` Production branch of the project. Used to identify production deployments. - `production_script_name: string` Name of the production script. - `uses_functions: boolean | null` Whether the project uses functions. - `build_config?: BuildConfig` Configs for the project build process. - `web_analytics_tag: string | null` The classifying tag for analytics. - `web_analytics_token: string | null` The auth token for analytics. - `build_caching?: boolean | null` Enable build caching for the project. - `build_command?: string | null` Command used to build project. - `destination_dir?: string | null` Assets output directory of the build. - `root_dir?: string | null` Directory to run the command. - `domains?: Array` A list of associated custom domains for the project. - `source?: Source` Configs for the project source control. - `config: Config` - `deployments_enabled: boolean` Whether to enable automatic deployments when pushing to the source repository. When disabled, no deployments (production or preview) will be triggered automatically. - `owner: string` The owner of the repository. - `owner_id: string` The owner ID of the repository. - `path_excludes: Array` A list of paths that should be excluded from triggering a preview deployment. Wildcard syntax (`*`) is supported. - `path_includes: Array` A list of paths that should be watched to trigger a preview deployment. Wildcard syntax (`*`) is supported. - `pr_comments_enabled: boolean` Whether to enable PR comments. - `preview_branch_excludes: Array` 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: Array` 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: "all" | "none" | "custom"` Controls whether commits to preview branches trigger a preview deployment. - `"all"` - `"none"` - `"custom"` - `production_branch: string` The production branch of the repository. - `production_deployments_enabled: boolean` Whether to trigger a production deployment on commits to the production branch. - `repo_id: string` The ID of the repository. - `repo_name: string` The name of the repository. - `type: "github" | "gitlab"` The source control management provider. - `"github"` - `"gitlab"` - `subdomain?: string` The Cloudflare subdomain associated with the project. ### Example ```typescript import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); // Automatically fetches more pages as needed. for await (const project of client.pages.projects.list({ account_id: '023e105f4ecef8ad9ca31a8372d0c353', })) { console.log(project.id); } ``` #### Response ```json { "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", "skip_reason": "commit_message", "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", "skip_reason": "commit_message", "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, "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000, "total_pages": 100 } } ``` ## Get project `client.pages.projects.get(stringprojectName, ProjectGetParamsparams, RequestOptionsoptions?): Project` **get** `/accounts/{account_id}/pages/projects/{project_name}` Fetch a project by name. ### Parameters - `projectName: string` Name of the project. - `params: ProjectGetParams` - `account_id: string` Identifier. ### Returns - `Project` - `id: string` ID of the project. - `canonical_deployment: Deployment | null` Most recent production deployment of the project. - `id: string` Id of the deployment. - `aliases: Array | null` A list of alias URLs pointing to this deployment. - `build_config: BuildConfig` Configs for the project build process. - `web_analytics_tag: string | null` The classifying tag for analytics. - `web_analytics_token: string | null` The auth token for analytics. - `build_caching?: boolean | null` Enable build caching for the project. - `build_command?: string | null` Command used to build project. - `destination_dir?: string | null` Assets output directory of the build. - `root_dir?: string | null` Directory to run the command. - `created_on: string` When the deployment was created. - `deployment_trigger: DeploymentTrigger` Info about what caused the deployment. - `metadata: Metadata` Additional info about the trigger. - `branch: string` Where the trigger happened. - `commit_dirty: boolean` Whether the deployment trigger commit was dirty. - `commit_hash: string` Hash of the deployment trigger commit. - `commit_message: string` Message of the deployment trigger commit. - `type: "github:push" | "ad_hoc" | "deploy_hook"` What caused the deployment. - `"github:push"` - `"ad_hoc"` - `"deploy_hook"` - `env_vars: Record | null` Environment variables used for builds and Pages Functions. - `PagesPlainTextEnvVar` A plaintext environment variable. - `type: "plain_text"` - `"plain_text"` - `value: string` Environment variable value. - `PagesSecretTextEnvVar` An encrypted environment variable. - `type: "secret_text"` - `"secret_text"` - `value: string` Secret value. - `environment: "preview" | "production"` Type of deploy. - `"preview"` - `"production"` - `is_skipped: boolean` If the deployment has been skipped. - `latest_stage: Stage` The status of the deployment. - `ended_on: string | null` When the stage ended. - `name: "queued" | "initialize" | "clone_repo" | 2 more` The current build stage. - `"queued"` - `"initialize"` - `"clone_repo"` - `"build"` - `"deploy"` - `started_on: string | null` When the stage started. - `status: "success" | "idle" | "active" | 2 more` State of the current stage. - `"success"` - `"idle"` - `"active"` - `"failure"` - `"canceled"` - `modified_on: string` When the deployment was last modified. - `project_id: string` Id of the project. - `project_name: string` Name of the project. - `short_id: string` Short Id (8 character) of the deployment. - `source: Source` Configs for the project source control. - `config: Config` - `deployments_enabled: boolean` Whether to enable automatic deployments when pushing to the source repository. When disabled, no deployments (production or preview) will be triggered automatically. - `owner: string` The owner of the repository. - `owner_id: string` The owner ID of the repository. - `path_excludes: Array` A list of paths that should be excluded from triggering a preview deployment. Wildcard syntax (`*`) is supported. - `path_includes: Array` A list of paths that should be watched to trigger a preview deployment. Wildcard syntax (`*`) is supported. - `pr_comments_enabled: boolean` Whether to enable PR comments. - `preview_branch_excludes: Array` 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: Array` 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: "all" | "none" | "custom"` Controls whether commits to preview branches trigger a preview deployment. - `"all"` - `"none"` - `"custom"` - `production_branch: string` The production branch of the repository. - `production_deployments_enabled: boolean` Whether to trigger a production deployment on commits to the production branch. - `repo_id: string` The ID of the repository. - `repo_name: string` The name of the repository. - `type: "github" | "gitlab"` The source control management provider. - `"github"` - `"gitlab"` - `stages: Array` List of past stages. - `ended_on: string | null` When the stage ended. - `name: "queued" | "initialize" | "clone_repo" | 2 more` The current build stage. - `started_on: string | null` When the stage started. - `status: "success" | "idle" | "active" | 2 more` State of the current stage. - `url: string` The live URL to view this deployment. - `skip_reason?: "commit_message" | "preview_deployments_disabled" | "production_deployments_disabled" | 3 more | null` Why the deployment was skipped. - `"commit_message"` - `"preview_deployments_disabled"` - `"production_deployments_disabled"` - `"path_config"` - `"branch_config"` - `"pages_to_workers_conversion"` - `uses_functions?: boolean | null` Whether the deployment uses functions. - `created_on: string` When the project was created. - `deployment_configs: DeploymentConfigs` Configs for deployments in a project. - `preview: Preview` Configs for preview deploys. - `always_use_latest_compatibility_date: boolean` Whether to always use the latest compatibility date for Pages Functions. - `build_image_major_version: number` The major version of the build image to use for Pages Functions. - `compatibility_date: string` Compatibility date used for Pages Functions. - `compatibility_flags: Array` Compatibility flags used for Pages Functions. - `env_vars: Record | null` Environment variables used for builds and Pages Functions. - `PagesPlainTextEnvVar` A plaintext environment variable. - `type: "plain_text"` - `"plain_text"` - `value: string` Environment variable value. - `PagesSecretTextEnvVar` An encrypted environment variable. - `type: "secret_text"` - `"secret_text"` - `value: string` Secret value. - `fail_open: boolean` Whether to fail open when the deployment config cannot be applied. - `usage_model: "standard" | "bundled" | "unbound"` The usage model for Pages Functions. - `"standard"` - `"bundled"` - `"unbound"` - `ai_bindings?: Record` Constellation bindings used for Pages Functions. - `project_id: string` - `analytics_engine_datasets?: Record` Analytics Engine bindings used for Pages Functions. - `dataset: string` Name of the dataset. - `browsers?: Record` Browser bindings used for Pages Functions. - `d1_databases?: Record` D1 databases used for Pages Functions. - `id: string` UUID of the D1 database. - `durable_object_namespaces?: Record` Durable Object namespaces used for Pages Functions. - `namespace_id: string` ID of the Durable Object namespace. - `hyperdrive_bindings?: Record` Hyperdrive bindings used for Pages Functions. - `id: string` - `kv_namespaces?: Record` KV namespaces used for Pages Functions. - `namespace_id: string` ID of the KV namespace. - `limits?: Limits` Limits for Pages Functions. - `cpu_ms: number` CPU time limit in milliseconds. - `mtls_certificates?: Record` mTLS bindings used for Pages Functions. - `certificate_id: string` - `placement?: Placement` Placement setting used for Pages Functions. - `mode: string` Placement mode. - `queue_producers?: Record` Queue Producer bindings used for Pages Functions. - `name: string` Name of the Queue. - `r2_buckets?: Record` R2 buckets used for Pages Functions. - `name: string` Name of the R2 bucket. - `jurisdiction?: string | null` Jurisdiction of the R2 bucket. - `services?: Record` Services used for Pages Functions. - `environment: string` The Service environment. - `service: string` The Service name. - `entrypoint?: string | null` The entrypoint to bind to. - `vectorize_bindings?: Record` Vectorize bindings used for Pages Functions. - `index_name: string` - `wrangler_config_hash?: string` Hash of the Wrangler configuration used for the deployment. - `production: Production` Configs for production deploys. - `always_use_latest_compatibility_date: boolean` Whether to always use the latest compatibility date for Pages Functions. - `build_image_major_version: number` The major version of the build image to use for Pages Functions. - `compatibility_date: string` Compatibility date used for Pages Functions. - `compatibility_flags: Array` Compatibility flags used for Pages Functions. - `env_vars: Record | null` Environment variables used for builds and Pages Functions. - `PagesPlainTextEnvVar` A plaintext environment variable. - `type: "plain_text"` - `"plain_text"` - `value: string` Environment variable value. - `PagesSecretTextEnvVar` An encrypted environment variable. - `type: "secret_text"` - `"secret_text"` - `value: string` Secret value. - `fail_open: boolean` Whether to fail open when the deployment config cannot be applied. - `usage_model: "standard" | "bundled" | "unbound"` The usage model for Pages Functions. - `"standard"` - `"bundled"` - `"unbound"` - `ai_bindings?: Record` Constellation bindings used for Pages Functions. - `project_id: string` - `analytics_engine_datasets?: Record` Analytics Engine bindings used for Pages Functions. - `dataset: string` Name of the dataset. - `browsers?: Record` Browser bindings used for Pages Functions. - `d1_databases?: Record` D1 databases used for Pages Functions. - `id: string` UUID of the D1 database. - `durable_object_namespaces?: Record` Durable Object namespaces used for Pages Functions. - `namespace_id: string` ID of the Durable Object namespace. - `hyperdrive_bindings?: Record` Hyperdrive bindings used for Pages Functions. - `id: string` - `kv_namespaces?: Record` KV namespaces used for Pages Functions. - `namespace_id: string` ID of the KV namespace. - `limits?: Limits` Limits for Pages Functions. - `cpu_ms: number` CPU time limit in milliseconds. - `mtls_certificates?: Record` mTLS bindings used for Pages Functions. - `certificate_id: string` - `placement?: Placement` Placement setting used for Pages Functions. - `mode: string` Placement mode. - `queue_producers?: Record` Queue Producer bindings used for Pages Functions. - `name: string` Name of the Queue. - `r2_buckets?: Record` R2 buckets used for Pages Functions. - `name: string` Name of the R2 bucket. - `jurisdiction?: string | null` Jurisdiction of the R2 bucket. - `services?: Record` Services used for Pages Functions. - `environment: string` The Service environment. - `service: string` The Service name. - `entrypoint?: string | null` The entrypoint to bind to. - `vectorize_bindings?: Record` Vectorize bindings used for Pages Functions. - `index_name: string` - `wrangler_config_hash?: string` Hash of the Wrangler configuration used for the deployment. - `framework: string` Framework the project is using. - `framework_version: string` Version of the framework the project is using. - `latest_deployment: Deployment | null` Most recent deployment of the project. - `name: string` Name of the project. - `preview_script_name: string` Name of the preview script. - `production_branch: string` Production branch of the project. Used to identify production deployments. - `production_script_name: string` Name of the production script. - `uses_functions: boolean | null` Whether the project uses functions. - `build_config?: BuildConfig` Configs for the project build process. - `web_analytics_tag: string | null` The classifying tag for analytics. - `web_analytics_token: string | null` The auth token for analytics. - `build_caching?: boolean | null` Enable build caching for the project. - `build_command?: string | null` Command used to build project. - `destination_dir?: string | null` Assets output directory of the build. - `root_dir?: string | null` Directory to run the command. - `domains?: Array` A list of associated custom domains for the project. - `source?: Source` Configs for the project source control. - `config: Config` - `deployments_enabled: boolean` Whether to enable automatic deployments when pushing to the source repository. When disabled, no deployments (production or preview) will be triggered automatically. - `owner: string` The owner of the repository. - `owner_id: string` The owner ID of the repository. - `path_excludes: Array` A list of paths that should be excluded from triggering a preview deployment. Wildcard syntax (`*`) is supported. - `path_includes: Array` A list of paths that should be watched to trigger a preview deployment. Wildcard syntax (`*`) is supported. - `pr_comments_enabled: boolean` Whether to enable PR comments. - `preview_branch_excludes: Array` 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: Array` 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: "all" | "none" | "custom"` Controls whether commits to preview branches trigger a preview deployment. - `"all"` - `"none"` - `"custom"` - `production_branch: string` The production branch of the repository. - `production_deployments_enabled: boolean` Whether to trigger a production deployment on commits to the production branch. - `repo_id: string` The ID of the repository. - `repo_name: string` The name of the repository. - `type: "github" | "gitlab"` The source control management provider. - `"github"` - `"gitlab"` - `subdomain?: string` The Cloudflare subdomain associated with the project. ### Example ```typescript import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const project = await client.pages.projects.get('this-is-my-project-01', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(project.id); ``` #### Response ```json { "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", "skip_reason": "commit_message", "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", "skip_reason": "commit_message", "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 } ``` ## Get upload token `client.pages.projects.getUploadToken(stringprojectName, ProjectGetUploadTokenParamsparams, RequestOptionsoptions?): ProjectGetUploadTokenResponse` **get** `/accounts/{account_id}/pages/projects/{project_name}/upload-token` Get a short-lived JWT for Pages Direct Upload asset operations. ### Parameters - `projectName: string` Name of the project. - `params: ProjectGetUploadTokenParams` - `account_id: string` Identifier. ### Returns - `ProjectGetUploadTokenResponse` - `jwt: string` Short-lived JWT used to authenticate Pages Direct Upload asset operations. ### Example ```typescript import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.pages.projects.getUploadToken('this-is-my-project-01', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(response.jwt); ``` #### Response ```json { "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": { "jwt": "jwt" }, "success": true } ``` ## Create project `client.pages.projects.create(ProjectCreateParamsparams, RequestOptionsoptions?): Project` **post** `/accounts/{account_id}/pages/projects` Create a new project. ### Parameters - `params: ProjectCreateParams` - `account_id: string` Path param: Identifier. - `name: string` Body param: Name of the project. - `production_branch: string` Body param: Production branch of the project. Used to identify production deployments. - `build_config?: BuildConfig` Body param: Configs for the project build process. - `build_caching?: boolean` Enable build caching for the project. - `build_command?: string` Command used to build project. - `destination_dir?: string` Output directory of the build. - `root_dir?: string` Directory to run the command. - `web_analytics_tag?: string | null` The classifying tag for analytics. - `web_analytics_token?: string | null` The auth token for analytics. - `deployment_configs?: DeploymentConfigs` Body param: Configs for deployments in a project. - `preview?: Preview` Configs for preview deploys. - `ai_bindings?: Record` Constellation bindings used for Pages Functions. - `project_id: string` - `always_use_latest_compatibility_date?: boolean` Whether to always use the latest compatibility date for Pages Functions. - `analytics_engine_datasets?: Record` Analytics Engine bindings used for Pages Functions. - `dataset: string` Name of the dataset. - `browsers?: Record` Browser bindings used for Pages Functions. - `build_image_major_version?: number` The major version of the build image to use for Pages Functions. - `compatibility_date?: string` Compatibility date used for Pages Functions. - `compatibility_flags?: Array` Compatibility flags used for Pages Functions. - `d1_databases?: Record` D1 databases used for Pages Functions. - `id: string` UUID of the D1 database. - `durable_object_namespaces?: Record` Durable Object namespaces used for Pages Functions. - `namespace_id: string` ID of the Durable Object namespace. - `env_vars?: Record` Environment variables used for builds and Pages Functions. - `PagesPlainTextEnvVar` A plaintext environment variable. - `type: "plain_text"` - `"plain_text"` - `value: string` Environment variable value. - `PagesSecretTextEnvVar` An encrypted environment variable. - `type: "secret_text"` - `"secret_text"` - `value: string` Secret value. - `fail_open?: boolean` Whether to fail open when the deployment config cannot be applied. - `hyperdrive_bindings?: Record` Hyperdrive bindings used for Pages Functions. - `id: string` - `kv_namespaces?: Record` KV namespaces used for Pages Functions. - `namespace_id: string` ID of the KV namespace. - `limits?: Limits` Limits for Pages Functions. - `cpu_ms: number` CPU time limit in milliseconds. - `mtls_certificates?: Record` mTLS bindings used for Pages Functions. - `certificate_id: string` - `placement?: Placement` Placement setting used for Pages Functions. - `mode: string` Placement mode. - `queue_producers?: Record` Queue Producer bindings used for Pages Functions. - `name: string` Name of the Queue. - `r2_buckets?: Record` R2 buckets used for Pages Functions. - `name: string` Name of the R2 bucket. - `jurisdiction?: string | null` Jurisdiction of the R2 bucket. - `services?: Record` Services used for Pages Functions. - `service: string` The Service name. - `entrypoint?: string | null` The entrypoint to bind to. - `environment?: string` The Service environment. - `usage_model?: "standard" | "bundled" | "unbound"` The usage model for Pages Functions. - `"standard"` - `"bundled"` - `"unbound"` - `vectorize_bindings?: Record` Vectorize bindings used for Pages Functions. - `index_name: string` - `wrangler_config_hash?: string` Hash of the Wrangler configuration used for the deployment. - `production?: Production` Configs for production deploys. - `ai_bindings?: Record` Constellation bindings used for Pages Functions. - `project_id: string` - `always_use_latest_compatibility_date?: boolean` Whether to always use the latest compatibility date for Pages Functions. - `analytics_engine_datasets?: Record` Analytics Engine bindings used for Pages Functions. - `dataset: string` Name of the dataset. - `browsers?: Record` Browser bindings used for Pages Functions. - `build_image_major_version?: number` The major version of the build image to use for Pages Functions. - `compatibility_date?: string` Compatibility date used for Pages Functions. - `compatibility_flags?: Array` Compatibility flags used for Pages Functions. - `d1_databases?: Record` D1 databases used for Pages Functions. - `id: string` UUID of the D1 database. - `durable_object_namespaces?: Record` Durable Object namespaces used for Pages Functions. - `namespace_id: string` ID of the Durable Object namespace. - `env_vars?: Record` Environment variables used for builds and Pages Functions. - `PagesPlainTextEnvVar` A plaintext environment variable. - `type: "plain_text"` - `"plain_text"` - `value: string` Environment variable value. - `PagesSecretTextEnvVar` An encrypted environment variable. - `type: "secret_text"` - `"secret_text"` - `value: string` Secret value. - `fail_open?: boolean` Whether to fail open when the deployment config cannot be applied. - `hyperdrive_bindings?: Record` Hyperdrive bindings used for Pages Functions. - `id: string` - `kv_namespaces?: Record` KV namespaces used for Pages Functions. - `namespace_id: string` ID of the KV namespace. - `limits?: Limits` Limits for Pages Functions. - `cpu_ms: number` CPU time limit in milliseconds. - `mtls_certificates?: Record` mTLS bindings used for Pages Functions. - `certificate_id: string` - `placement?: Placement` Placement setting used for Pages Functions. - `mode: string` Placement mode. - `queue_producers?: Record` Queue Producer bindings used for Pages Functions. - `name: string` Name of the Queue. - `r2_buckets?: Record` R2 buckets used for Pages Functions. - `name: string` Name of the R2 bucket. - `jurisdiction?: string | null` Jurisdiction of the R2 bucket. - `services?: Record` Services used for Pages Functions. - `service: string` The Service name. - `entrypoint?: string | null` The entrypoint to bind to. - `environment?: string` The Service environment. - `usage_model?: "standard" | "bundled" | "unbound"` The usage model for Pages Functions. - `"standard"` - `"bundled"` - `"unbound"` - `vectorize_bindings?: Record` Vectorize bindings used for Pages Functions. - `index_name: string` - `wrangler_config_hash?: string` Hash of the Wrangler configuration used for the deployment. - `source?: Source` Body param: Configs for the project source control. - `config: Config` - `deployments_enabled?: boolean` Whether to enable automatic deployments when pushing to the source repository. When disabled, no deployments (production or preview) will be triggered automatically. - `owner?: string` The owner of the repository. - `owner_id?: string` The owner ID of the repository. - `path_excludes?: Array` A list of paths that should be excluded from triggering a preview deployment. Wildcard syntax (`*`) is supported. - `path_includes?: Array` A list of paths that should be watched to trigger a preview deployment. Wildcard syntax (`*`) is supported. - `pr_comments_enabled?: boolean` Whether to enable PR comments. - `preview_branch_excludes?: Array` 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?: Array` 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?: "all" | "none" | "custom"` Controls whether commits to preview branches trigger a preview deployment. - `"all"` - `"none"` - `"custom"` - `production_branch?: string` The production branch of the repository. - `production_deployments_enabled?: boolean` Whether to trigger a production deployment on commits to the production branch. - `repo_id?: string` The ID of the repository. - `repo_name?: string` The name of the repository. - `type: "github" | "gitlab"` The source control management provider. - `"github"` - `"gitlab"` ### Returns - `Project` - `id: string` ID of the project. - `canonical_deployment: Deployment | null` Most recent production deployment of the project. - `id: string` Id of the deployment. - `aliases: Array | null` A list of alias URLs pointing to this deployment. - `build_config: BuildConfig` Configs for the project build process. - `web_analytics_tag: string | null` The classifying tag for analytics. - `web_analytics_token: string | null` The auth token for analytics. - `build_caching?: boolean | null` Enable build caching for the project. - `build_command?: string | null` Command used to build project. - `destination_dir?: string | null` Assets output directory of the build. - `root_dir?: string | null` Directory to run the command. - `created_on: string` When the deployment was created. - `deployment_trigger: DeploymentTrigger` Info about what caused the deployment. - `metadata: Metadata` Additional info about the trigger. - `branch: string` Where the trigger happened. - `commit_dirty: boolean` Whether the deployment trigger commit was dirty. - `commit_hash: string` Hash of the deployment trigger commit. - `commit_message: string` Message of the deployment trigger commit. - `type: "github:push" | "ad_hoc" | "deploy_hook"` What caused the deployment. - `"github:push"` - `"ad_hoc"` - `"deploy_hook"` - `env_vars: Record | null` Environment variables used for builds and Pages Functions. - `PagesPlainTextEnvVar` A plaintext environment variable. - `type: "plain_text"` - `"plain_text"` - `value: string` Environment variable value. - `PagesSecretTextEnvVar` An encrypted environment variable. - `type: "secret_text"` - `"secret_text"` - `value: string` Secret value. - `environment: "preview" | "production"` Type of deploy. - `"preview"` - `"production"` - `is_skipped: boolean` If the deployment has been skipped. - `latest_stage: Stage` The status of the deployment. - `ended_on: string | null` When the stage ended. - `name: "queued" | "initialize" | "clone_repo" | 2 more` The current build stage. - `"queued"` - `"initialize"` - `"clone_repo"` - `"build"` - `"deploy"` - `started_on: string | null` When the stage started. - `status: "success" | "idle" | "active" | 2 more` State of the current stage. - `"success"` - `"idle"` - `"active"` - `"failure"` - `"canceled"` - `modified_on: string` When the deployment was last modified. - `project_id: string` Id of the project. - `project_name: string` Name of the project. - `short_id: string` Short Id (8 character) of the deployment. - `source: Source` Configs for the project source control. - `config: Config` - `deployments_enabled: boolean` Whether to enable automatic deployments when pushing to the source repository. When disabled, no deployments (production or preview) will be triggered automatically. - `owner: string` The owner of the repository. - `owner_id: string` The owner ID of the repository. - `path_excludes: Array` A list of paths that should be excluded from triggering a preview deployment. Wildcard syntax (`*`) is supported. - `path_includes: Array` A list of paths that should be watched to trigger a preview deployment. Wildcard syntax (`*`) is supported. - `pr_comments_enabled: boolean` Whether to enable PR comments. - `preview_branch_excludes: Array` 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: Array` 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: "all" | "none" | "custom"` Controls whether commits to preview branches trigger a preview deployment. - `"all"` - `"none"` - `"custom"` - `production_branch: string` The production branch of the repository. - `production_deployments_enabled: boolean` Whether to trigger a production deployment on commits to the production branch. - `repo_id: string` The ID of the repository. - `repo_name: string` The name of the repository. - `type: "github" | "gitlab"` The source control management provider. - `"github"` - `"gitlab"` - `stages: Array` List of past stages. - `ended_on: string | null` When the stage ended. - `name: "queued" | "initialize" | "clone_repo" | 2 more` The current build stage. - `started_on: string | null` When the stage started. - `status: "success" | "idle" | "active" | 2 more` State of the current stage. - `url: string` The live URL to view this deployment. - `skip_reason?: "commit_message" | "preview_deployments_disabled" | "production_deployments_disabled" | 3 more | null` Why the deployment was skipped. - `"commit_message"` - `"preview_deployments_disabled"` - `"production_deployments_disabled"` - `"path_config"` - `"branch_config"` - `"pages_to_workers_conversion"` - `uses_functions?: boolean | null` Whether the deployment uses functions. - `created_on: string` When the project was created. - `deployment_configs: DeploymentConfigs` Configs for deployments in a project. - `preview: Preview` Configs for preview deploys. - `always_use_latest_compatibility_date: boolean` Whether to always use the latest compatibility date for Pages Functions. - `build_image_major_version: number` The major version of the build image to use for Pages Functions. - `compatibility_date: string` Compatibility date used for Pages Functions. - `compatibility_flags: Array` Compatibility flags used for Pages Functions. - `env_vars: Record | null` Environment variables used for builds and Pages Functions. - `PagesPlainTextEnvVar` A plaintext environment variable. - `type: "plain_text"` - `"plain_text"` - `value: string` Environment variable value. - `PagesSecretTextEnvVar` An encrypted environment variable. - `type: "secret_text"` - `"secret_text"` - `value: string` Secret value. - `fail_open: boolean` Whether to fail open when the deployment config cannot be applied. - `usage_model: "standard" | "bundled" | "unbound"` The usage model for Pages Functions. - `"standard"` - `"bundled"` - `"unbound"` - `ai_bindings?: Record` Constellation bindings used for Pages Functions. - `project_id: string` - `analytics_engine_datasets?: Record` Analytics Engine bindings used for Pages Functions. - `dataset: string` Name of the dataset. - `browsers?: Record` Browser bindings used for Pages Functions. - `d1_databases?: Record` D1 databases used for Pages Functions. - `id: string` UUID of the D1 database. - `durable_object_namespaces?: Record` Durable Object namespaces used for Pages Functions. - `namespace_id: string` ID of the Durable Object namespace. - `hyperdrive_bindings?: Record` Hyperdrive bindings used for Pages Functions. - `id: string` - `kv_namespaces?: Record` KV namespaces used for Pages Functions. - `namespace_id: string` ID of the KV namespace. - `limits?: Limits` Limits for Pages Functions. - `cpu_ms: number` CPU time limit in milliseconds. - `mtls_certificates?: Record` mTLS bindings used for Pages Functions. - `certificate_id: string` - `placement?: Placement` Placement setting used for Pages Functions. - `mode: string` Placement mode. - `queue_producers?: Record` Queue Producer bindings used for Pages Functions. - `name: string` Name of the Queue. - `r2_buckets?: Record` R2 buckets used for Pages Functions. - `name: string` Name of the R2 bucket. - `jurisdiction?: string | null` Jurisdiction of the R2 bucket. - `services?: Record` Services used for Pages Functions. - `environment: string` The Service environment. - `service: string` The Service name. - `entrypoint?: string | null` The entrypoint to bind to. - `vectorize_bindings?: Record` Vectorize bindings used for Pages Functions. - `index_name: string` - `wrangler_config_hash?: string` Hash of the Wrangler configuration used for the deployment. - `production: Production` Configs for production deploys. - `always_use_latest_compatibility_date: boolean` Whether to always use the latest compatibility date for Pages Functions. - `build_image_major_version: number` The major version of the build image to use for Pages Functions. - `compatibility_date: string` Compatibility date used for Pages Functions. - `compatibility_flags: Array` Compatibility flags used for Pages Functions. - `env_vars: Record | null` Environment variables used for builds and Pages Functions. - `PagesPlainTextEnvVar` A plaintext environment variable. - `type: "plain_text"` - `"plain_text"` - `value: string` Environment variable value. - `PagesSecretTextEnvVar` An encrypted environment variable. - `type: "secret_text"` - `"secret_text"` - `value: string` Secret value. - `fail_open: boolean` Whether to fail open when the deployment config cannot be applied. - `usage_model: "standard" | "bundled" | "unbound"` The usage model for Pages Functions. - `"standard"` - `"bundled"` - `"unbound"` - `ai_bindings?: Record` Constellation bindings used for Pages Functions. - `project_id: string` - `analytics_engine_datasets?: Record` Analytics Engine bindings used for Pages Functions. - `dataset: string` Name of the dataset. - `browsers?: Record` Browser bindings used for Pages Functions. - `d1_databases?: Record` D1 databases used for Pages Functions. - `id: string` UUID of the D1 database. - `durable_object_namespaces?: Record` Durable Object namespaces used for Pages Functions. - `namespace_id: string` ID of the Durable Object namespace. - `hyperdrive_bindings?: Record` Hyperdrive bindings used for Pages Functions. - `id: string` - `kv_namespaces?: Record` KV namespaces used for Pages Functions. - `namespace_id: string` ID of the KV namespace. - `limits?: Limits` Limits for Pages Functions. - `cpu_ms: number` CPU time limit in milliseconds. - `mtls_certificates?: Record` mTLS bindings used for Pages Functions. - `certificate_id: string` - `placement?: Placement` Placement setting used for Pages Functions. - `mode: string` Placement mode. - `queue_producers?: Record` Queue Producer bindings used for Pages Functions. - `name: string` Name of the Queue. - `r2_buckets?: Record` R2 buckets used for Pages Functions. - `name: string` Name of the R2 bucket. - `jurisdiction?: string | null` Jurisdiction of the R2 bucket. - `services?: Record` Services used for Pages Functions. - `environment: string` The Service environment. - `service: string` The Service name. - `entrypoint?: string | null` The entrypoint to bind to. - `vectorize_bindings?: Record` Vectorize bindings used for Pages Functions. - `index_name: string` - `wrangler_config_hash?: string` Hash of the Wrangler configuration used for the deployment. - `framework: string` Framework the project is using. - `framework_version: string` Version of the framework the project is using. - `latest_deployment: Deployment | null` Most recent deployment of the project. - `name: string` Name of the project. - `preview_script_name: string` Name of the preview script. - `production_branch: string` Production branch of the project. Used to identify production deployments. - `production_script_name: string` Name of the production script. - `uses_functions: boolean | null` Whether the project uses functions. - `build_config?: BuildConfig` Configs for the project build process. - `web_analytics_tag: string | null` The classifying tag for analytics. - `web_analytics_token: string | null` The auth token for analytics. - `build_caching?: boolean | null` Enable build caching for the project. - `build_command?: string | null` Command used to build project. - `destination_dir?: string | null` Assets output directory of the build. - `root_dir?: string | null` Directory to run the command. - `domains?: Array` A list of associated custom domains for the project. - `source?: Source` Configs for the project source control. - `config: Config` - `deployments_enabled: boolean` Whether to enable automatic deployments when pushing to the source repository. When disabled, no deployments (production or preview) will be triggered automatically. - `owner: string` The owner of the repository. - `owner_id: string` The owner ID of the repository. - `path_excludes: Array` A list of paths that should be excluded from triggering a preview deployment. Wildcard syntax (`*`) is supported. - `path_includes: Array` A list of paths that should be watched to trigger a preview deployment. Wildcard syntax (`*`) is supported. - `pr_comments_enabled: boolean` Whether to enable PR comments. - `preview_branch_excludes: Array` 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: Array` 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: "all" | "none" | "custom"` Controls whether commits to preview branches trigger a preview deployment. - `"all"` - `"none"` - `"custom"` - `production_branch: string` The production branch of the repository. - `production_deployments_enabled: boolean` Whether to trigger a production deployment on commits to the production branch. - `repo_id: string` The ID of the repository. - `repo_name: string` The name of the repository. - `type: "github" | "gitlab"` The source control management provider. - `"github"` - `"gitlab"` - `subdomain?: string` The Cloudflare subdomain associated with the project. ### Example ```typescript import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const project = await client.pages.projects.create({ account_id: '023e105f4ecef8ad9ca31a8372d0c353', name: 'my-pages-app', production_branch: 'main', }); console.log(project.id); ``` #### Response ```json { "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", "skip_reason": "commit_message", "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", "skip_reason": "commit_message", "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 } ``` ## Update project `client.pages.projects.edit(stringprojectName, ProjectEditParamsparams, RequestOptionsoptions?): 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. ### Parameters - `projectName: string` Name of the project. - `params: ProjectEditParams` - `account_id: string` Path param: Identifier. - `build_config?: BuildConfig` Body param: Configs for the project build process. - `build_caching?: boolean` Enable build caching for the project. - `build_command?: string` Command used to build project. - `destination_dir?: string` Output directory of the build. - `root_dir?: string` Directory to run the command. - `web_analytics_tag?: string | null` The classifying tag for analytics. - `web_analytics_token?: string | null` The auth token for analytics. - `deployment_configs?: DeploymentConfigs` Body param: Configs for deployments in a project. - `preview?: Preview` Configs for preview deploys. - `ai_bindings?: Record` Constellation bindings used for Pages Functions. - `project_id: string` - `always_use_latest_compatibility_date?: boolean` Whether to always use the latest compatibility date for Pages Functions. - `analytics_engine_datasets?: Record` Analytics Engine bindings used for Pages Functions. - `dataset: string` Name of the dataset. - `browsers?: Record` Browser bindings used for Pages Functions. - `build_image_major_version?: number` The major version of the build image to use for Pages Functions. - `compatibility_date?: string` Compatibility date used for Pages Functions. - `compatibility_flags?: Array` Compatibility flags used for Pages Functions. - `d1_databases?: Record` D1 databases used for Pages Functions. - `id: string` UUID of the D1 database. - `durable_object_namespaces?: Record` Durable Object namespaces used for Pages Functions. - `namespace_id: string` ID of the Durable Object namespace. - `env_vars?: Record` Environment variables used for builds and Pages Functions. - `PagesPlainTextEnvVar` A plaintext environment variable. - `type: "plain_text"` - `"plain_text"` - `value: string` Environment variable value. - `PagesSecretTextEnvVar` An encrypted environment variable. - `type: "secret_text"` - `"secret_text"` - `value: string` Secret value. - `fail_open?: boolean` Whether to fail open when the deployment config cannot be applied. - `hyperdrive_bindings?: Record` Hyperdrive bindings used for Pages Functions. - `id: string` - `kv_namespaces?: Record` KV namespaces used for Pages Functions. - `namespace_id: string` ID of the KV namespace. - `limits?: Limits` Limits for Pages Functions. - `cpu_ms: number` CPU time limit in milliseconds. - `mtls_certificates?: Record` mTLS bindings used for Pages Functions. - `certificate_id: string` - `placement?: Placement` Placement setting used for Pages Functions. - `mode: string` Placement mode. - `queue_producers?: Record` Queue Producer bindings used for Pages Functions. - `name: string` Name of the Queue. - `r2_buckets?: Record` R2 buckets used for Pages Functions. - `name: string` Name of the R2 bucket. - `jurisdiction?: string | null` Jurisdiction of the R2 bucket. - `services?: Record` Services used for Pages Functions. - `service: string` The Service name. - `entrypoint?: string | null` The entrypoint to bind to. - `environment?: string` The Service environment. - `usage_model?: "standard" | "bundled" | "unbound"` The usage model for Pages Functions. - `"standard"` - `"bundled"` - `"unbound"` - `vectorize_bindings?: Record` Vectorize bindings used for Pages Functions. - `index_name: string` - `wrangler_config_hash?: string` Hash of the Wrangler configuration used for the deployment. - `production?: Production` Configs for production deploys. - `ai_bindings?: Record` Constellation bindings used for Pages Functions. - `project_id: string` - `always_use_latest_compatibility_date?: boolean` Whether to always use the latest compatibility date for Pages Functions. - `analytics_engine_datasets?: Record` Analytics Engine bindings used for Pages Functions. - `dataset: string` Name of the dataset. - `browsers?: Record` Browser bindings used for Pages Functions. - `build_image_major_version?: number` The major version of the build image to use for Pages Functions. - `compatibility_date?: string` Compatibility date used for Pages Functions. - `compatibility_flags?: Array` Compatibility flags used for Pages Functions. - `d1_databases?: Record` D1 databases used for Pages Functions. - `id: string` UUID of the D1 database. - `durable_object_namespaces?: Record` Durable Object namespaces used for Pages Functions. - `namespace_id: string` ID of the Durable Object namespace. - `env_vars?: Record` Environment variables used for builds and Pages Functions. - `PagesPlainTextEnvVar` A plaintext environment variable. - `type: "plain_text"` - `"plain_text"` - `value: string` Environment variable value. - `PagesSecretTextEnvVar` An encrypted environment variable. - `type: "secret_text"` - `"secret_text"` - `value: string` Secret value. - `fail_open?: boolean` Whether to fail open when the deployment config cannot be applied. - `hyperdrive_bindings?: Record` Hyperdrive bindings used for Pages Functions. - `id: string` - `kv_namespaces?: Record` KV namespaces used for Pages Functions. - `namespace_id: string` ID of the KV namespace. - `limits?: Limits` Limits for Pages Functions. - `cpu_ms: number` CPU time limit in milliseconds. - `mtls_certificates?: Record` mTLS bindings used for Pages Functions. - `certificate_id: string` - `placement?: Placement` Placement setting used for Pages Functions. - `mode: string` Placement mode. - `queue_producers?: Record` Queue Producer bindings used for Pages Functions. - `name: string` Name of the Queue. - `r2_buckets?: Record` R2 buckets used for Pages Functions. - `name: string` Name of the R2 bucket. - `jurisdiction?: string | null` Jurisdiction of the R2 bucket. - `services?: Record` Services used for Pages Functions. - `service: string` The Service name. - `entrypoint?: string | null` The entrypoint to bind to. - `environment?: string` The Service environment. - `usage_model?: "standard" | "bundled" | "unbound"` The usage model for Pages Functions. - `"standard"` - `"bundled"` - `"unbound"` - `vectorize_bindings?: Record` Vectorize bindings used for Pages Functions. - `index_name: string` - `wrangler_config_hash?: string` Hash of the Wrangler configuration used for the deployment. - `name?: string` Body param: Name of the project. - `production_branch?: string` Body param: Production branch of the project. Used to identify production deployments. - `source?: Source` Body param: Configs for the project source control. - `config: Config` - `deployments_enabled?: boolean` Whether to enable automatic deployments when pushing to the source repository. When disabled, no deployments (production or preview) will be triggered automatically. - `owner?: string` The owner of the repository. - `owner_id?: string` The owner ID of the repository. - `path_excludes?: Array` A list of paths that should be excluded from triggering a preview deployment. Wildcard syntax (`*`) is supported. - `path_includes?: Array` A list of paths that should be watched to trigger a preview deployment. Wildcard syntax (`*`) is supported. - `pr_comments_enabled?: boolean` Whether to enable PR comments. - `preview_branch_excludes?: Array` 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?: Array` 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?: "all" | "none" | "custom"` Controls whether commits to preview branches trigger a preview deployment. - `"all"` - `"none"` - `"custom"` - `production_branch?: string` The production branch of the repository. - `production_deployments_enabled?: boolean` Whether to trigger a production deployment on commits to the production branch. - `repo_id?: string` The ID of the repository. - `repo_name?: string` The name of the repository. - `type: "github" | "gitlab"` The source control management provider. - `"github"` - `"gitlab"` ### Returns - `Project` - `id: string` ID of the project. - `canonical_deployment: Deployment | null` Most recent production deployment of the project. - `id: string` Id of the deployment. - `aliases: Array | null` A list of alias URLs pointing to this deployment. - `build_config: BuildConfig` Configs for the project build process. - `web_analytics_tag: string | null` The classifying tag for analytics. - `web_analytics_token: string | null` The auth token for analytics. - `build_caching?: boolean | null` Enable build caching for the project. - `build_command?: string | null` Command used to build project. - `destination_dir?: string | null` Assets output directory of the build. - `root_dir?: string | null` Directory to run the command. - `created_on: string` When the deployment was created. - `deployment_trigger: DeploymentTrigger` Info about what caused the deployment. - `metadata: Metadata` Additional info about the trigger. - `branch: string` Where the trigger happened. - `commit_dirty: boolean` Whether the deployment trigger commit was dirty. - `commit_hash: string` Hash of the deployment trigger commit. - `commit_message: string` Message of the deployment trigger commit. - `type: "github:push" | "ad_hoc" | "deploy_hook"` What caused the deployment. - `"github:push"` - `"ad_hoc"` - `"deploy_hook"` - `env_vars: Record | null` Environment variables used for builds and Pages Functions. - `PagesPlainTextEnvVar` A plaintext environment variable. - `type: "plain_text"` - `"plain_text"` - `value: string` Environment variable value. - `PagesSecretTextEnvVar` An encrypted environment variable. - `type: "secret_text"` - `"secret_text"` - `value: string` Secret value. - `environment: "preview" | "production"` Type of deploy. - `"preview"` - `"production"` - `is_skipped: boolean` If the deployment has been skipped. - `latest_stage: Stage` The status of the deployment. - `ended_on: string | null` When the stage ended. - `name: "queued" | "initialize" | "clone_repo" | 2 more` The current build stage. - `"queued"` - `"initialize"` - `"clone_repo"` - `"build"` - `"deploy"` - `started_on: string | null` When the stage started. - `status: "success" | "idle" | "active" | 2 more` State of the current stage. - `"success"` - `"idle"` - `"active"` - `"failure"` - `"canceled"` - `modified_on: string` When the deployment was last modified. - `project_id: string` Id of the project. - `project_name: string` Name of the project. - `short_id: string` Short Id (8 character) of the deployment. - `source: Source` Configs for the project source control. - `config: Config` - `deployments_enabled: boolean` Whether to enable automatic deployments when pushing to the source repository. When disabled, no deployments (production or preview) will be triggered automatically. - `owner: string` The owner of the repository. - `owner_id: string` The owner ID of the repository. - `path_excludes: Array` A list of paths that should be excluded from triggering a preview deployment. Wildcard syntax (`*`) is supported. - `path_includes: Array` A list of paths that should be watched to trigger a preview deployment. Wildcard syntax (`*`) is supported. - `pr_comments_enabled: boolean` Whether to enable PR comments. - `preview_branch_excludes: Array` 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: Array` 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: "all" | "none" | "custom"` Controls whether commits to preview branches trigger a preview deployment. - `"all"` - `"none"` - `"custom"` - `production_branch: string` The production branch of the repository. - `production_deployments_enabled: boolean` Whether to trigger a production deployment on commits to the production branch. - `repo_id: string` The ID of the repository. - `repo_name: string` The name of the repository. - `type: "github" | "gitlab"` The source control management provider. - `"github"` - `"gitlab"` - `stages: Array` List of past stages. - `ended_on: string | null` When the stage ended. - `name: "queued" | "initialize" | "clone_repo" | 2 more` The current build stage. - `started_on: string | null` When the stage started. - `status: "success" | "idle" | "active" | 2 more` State of the current stage. - `url: string` The live URL to view this deployment. - `skip_reason?: "commit_message" | "preview_deployments_disabled" | "production_deployments_disabled" | 3 more | null` Why the deployment was skipped. - `"commit_message"` - `"preview_deployments_disabled"` - `"production_deployments_disabled"` - `"path_config"` - `"branch_config"` - `"pages_to_workers_conversion"` - `uses_functions?: boolean | null` Whether the deployment uses functions. - `created_on: string` When the project was created. - `deployment_configs: DeploymentConfigs` Configs for deployments in a project. - `preview: Preview` Configs for preview deploys. - `always_use_latest_compatibility_date: boolean` Whether to always use the latest compatibility date for Pages Functions. - `build_image_major_version: number` The major version of the build image to use for Pages Functions. - `compatibility_date: string` Compatibility date used for Pages Functions. - `compatibility_flags: Array` Compatibility flags used for Pages Functions. - `env_vars: Record | null` Environment variables used for builds and Pages Functions. - `PagesPlainTextEnvVar` A plaintext environment variable. - `type: "plain_text"` - `"plain_text"` - `value: string` Environment variable value. - `PagesSecretTextEnvVar` An encrypted environment variable. - `type: "secret_text"` - `"secret_text"` - `value: string` Secret value. - `fail_open: boolean` Whether to fail open when the deployment config cannot be applied. - `usage_model: "standard" | "bundled" | "unbound"` The usage model for Pages Functions. - `"standard"` - `"bundled"` - `"unbound"` - `ai_bindings?: Record` Constellation bindings used for Pages Functions. - `project_id: string` - `analytics_engine_datasets?: Record` Analytics Engine bindings used for Pages Functions. - `dataset: string` Name of the dataset. - `browsers?: Record` Browser bindings used for Pages Functions. - `d1_databases?: Record` D1 databases used for Pages Functions. - `id: string` UUID of the D1 database. - `durable_object_namespaces?: Record` Durable Object namespaces used for Pages Functions. - `namespace_id: string` ID of the Durable Object namespace. - `hyperdrive_bindings?: Record` Hyperdrive bindings used for Pages Functions. - `id: string` - `kv_namespaces?: Record` KV namespaces used for Pages Functions. - `namespace_id: string` ID of the KV namespace. - `limits?: Limits` Limits for Pages Functions. - `cpu_ms: number` CPU time limit in milliseconds. - `mtls_certificates?: Record` mTLS bindings used for Pages Functions. - `certificate_id: string` - `placement?: Placement` Placement setting used for Pages Functions. - `mode: string` Placement mode. - `queue_producers?: Record` Queue Producer bindings used for Pages Functions. - `name: string` Name of the Queue. - `r2_buckets?: Record` R2 buckets used for Pages Functions. - `name: string` Name of the R2 bucket. - `jurisdiction?: string | null` Jurisdiction of the R2 bucket. - `services?: Record` Services used for Pages Functions. - `environment: string` The Service environment. - `service: string` The Service name. - `entrypoint?: string | null` The entrypoint to bind to. - `vectorize_bindings?: Record` Vectorize bindings used for Pages Functions. - `index_name: string` - `wrangler_config_hash?: string` Hash of the Wrangler configuration used for the deployment. - `production: Production` Configs for production deploys. - `always_use_latest_compatibility_date: boolean` Whether to always use the latest compatibility date for Pages Functions. - `build_image_major_version: number` The major version of the build image to use for Pages Functions. - `compatibility_date: string` Compatibility date used for Pages Functions. - `compatibility_flags: Array` Compatibility flags used for Pages Functions. - `env_vars: Record | null` Environment variables used for builds and Pages Functions. - `PagesPlainTextEnvVar` A plaintext environment variable. - `type: "plain_text"` - `"plain_text"` - `value: string` Environment variable value. - `PagesSecretTextEnvVar` An encrypted environment variable. - `type: "secret_text"` - `"secret_text"` - `value: string` Secret value. - `fail_open: boolean` Whether to fail open when the deployment config cannot be applied. - `usage_model: "standard" | "bundled" | "unbound"` The usage model for Pages Functions. - `"standard"` - `"bundled"` - `"unbound"` - `ai_bindings?: Record` Constellation bindings used for Pages Functions. - `project_id: string` - `analytics_engine_datasets?: Record` Analytics Engine bindings used for Pages Functions. - `dataset: string` Name of the dataset. - `browsers?: Record` Browser bindings used for Pages Functions. - `d1_databases?: Record` D1 databases used for Pages Functions. - `id: string` UUID of the D1 database. - `durable_object_namespaces?: Record` Durable Object namespaces used for Pages Functions. - `namespace_id: string` ID of the Durable Object namespace. - `hyperdrive_bindings?: Record` Hyperdrive bindings used for Pages Functions. - `id: string` - `kv_namespaces?: Record` KV namespaces used for Pages Functions. - `namespace_id: string` ID of the KV namespace. - `limits?: Limits` Limits for Pages Functions. - `cpu_ms: number` CPU time limit in milliseconds. - `mtls_certificates?: Record` mTLS bindings used for Pages Functions. - `certificate_id: string` - `placement?: Placement` Placement setting used for Pages Functions. - `mode: string` Placement mode. - `queue_producers?: Record` Queue Producer bindings used for Pages Functions. - `name: string` Name of the Queue. - `r2_buckets?: Record` R2 buckets used for Pages Functions. - `name: string` Name of the R2 bucket. - `jurisdiction?: string | null` Jurisdiction of the R2 bucket. - `services?: Record` Services used for Pages Functions. - `environment: string` The Service environment. - `service: string` The Service name. - `entrypoint?: string | null` The entrypoint to bind to. - `vectorize_bindings?: Record` Vectorize bindings used for Pages Functions. - `index_name: string` - `wrangler_config_hash?: string` Hash of the Wrangler configuration used for the deployment. - `framework: string` Framework the project is using. - `framework_version: string` Version of the framework the project is using. - `latest_deployment: Deployment | null` Most recent deployment of the project. - `name: string` Name of the project. - `preview_script_name: string` Name of the preview script. - `production_branch: string` Production branch of the project. Used to identify production deployments. - `production_script_name: string` Name of the production script. - `uses_functions: boolean | null` Whether the project uses functions. - `build_config?: BuildConfig` Configs for the project build process. - `web_analytics_tag: string | null` The classifying tag for analytics. - `web_analytics_token: string | null` The auth token for analytics. - `build_caching?: boolean | null` Enable build caching for the project. - `build_command?: string | null` Command used to build project. - `destination_dir?: string | null` Assets output directory of the build. - `root_dir?: string | null` Directory to run the command. - `domains?: Array` A list of associated custom domains for the project. - `source?: Source` Configs for the project source control. - `config: Config` - `deployments_enabled: boolean` Whether to enable automatic deployments when pushing to the source repository. When disabled, no deployments (production or preview) will be triggered automatically. - `owner: string` The owner of the repository. - `owner_id: string` The owner ID of the repository. - `path_excludes: Array` A list of paths that should be excluded from triggering a preview deployment. Wildcard syntax (`*`) is supported. - `path_includes: Array` A list of paths that should be watched to trigger a preview deployment. Wildcard syntax (`*`) is supported. - `pr_comments_enabled: boolean` Whether to enable PR comments. - `preview_branch_excludes: Array` 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: Array` 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: "all" | "none" | "custom"` Controls whether commits to preview branches trigger a preview deployment. - `"all"` - `"none"` - `"custom"` - `production_branch: string` The production branch of the repository. - `production_deployments_enabled: boolean` Whether to trigger a production deployment on commits to the production branch. - `repo_id: string` The ID of the repository. - `repo_name: string` The name of the repository. - `type: "github" | "gitlab"` The source control management provider. - `"github"` - `"gitlab"` - `subdomain?: string` The Cloudflare subdomain associated with the project. ### Example ```typescript import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const project = await client.pages.projects.edit('this-is-my-project-01', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(project.id); ``` #### Response ```json { "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", "skip_reason": "commit_message", "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", "skip_reason": "commit_message", "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 } ``` ## Delete project `client.pages.projects.delete(stringprojectName, ProjectDeleteParamsparams, RequestOptionsoptions?): ProjectDeleteResponse | null` **delete** `/accounts/{account_id}/pages/projects/{project_name}` Delete a project by name. ### Parameters - `projectName: string` Name of the project. - `params: ProjectDeleteParams` - `account_id: string` Identifier. ### Returns - `ProjectDeleteResponse = unknown` ### Example ```typescript import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const project = await client.pages.projects.delete('this-is-my-project-01', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(project); ``` #### Response ```json { "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": {}, "success": true } ``` ## Purge build cache `client.pages.projects.purgeBuildCache(stringprojectName, ProjectPurgeBuildCacheParamsparams, RequestOptionsoptions?): ProjectPurgeBuildCacheResponse | null` **post** `/accounts/{account_id}/pages/projects/{project_name}/purge_build_cache` Purge all cached build artifacts for a Pages project ### Parameters - `projectName: string` Name of the project. - `params: ProjectPurgeBuildCacheParams` - `account_id: string` Identifier. ### Returns - `ProjectPurgeBuildCacheResponse = unknown` ### Example ```typescript import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.pages.projects.purgeBuildCache('this-is-my-project-01', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(response); ``` #### Response ```json { "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": {}, "success": true } ``` ## Domain Types ### Deployment - `Deployment` - `id: string` Id of the deployment. - `aliases: Array | null` A list of alias URLs pointing to this deployment. - `build_config: BuildConfig` Configs for the project build process. - `web_analytics_tag: string | null` The classifying tag for analytics. - `web_analytics_token: string | null` The auth token for analytics. - `build_caching?: boolean | null` Enable build caching for the project. - `build_command?: string | null` Command used to build project. - `destination_dir?: string | null` Assets output directory of the build. - `root_dir?: string | null` Directory to run the command. - `created_on: string` When the deployment was created. - `deployment_trigger: DeploymentTrigger` Info about what caused the deployment. - `metadata: Metadata` Additional info about the trigger. - `branch: string` Where the trigger happened. - `commit_dirty: boolean` Whether the deployment trigger commit was dirty. - `commit_hash: string` Hash of the deployment trigger commit. - `commit_message: string` Message of the deployment trigger commit. - `type: "github:push" | "ad_hoc" | "deploy_hook"` What caused the deployment. - `"github:push"` - `"ad_hoc"` - `"deploy_hook"` - `env_vars: Record | null` Environment variables used for builds and Pages Functions. - `PagesPlainTextEnvVar` A plaintext environment variable. - `type: "plain_text"` - `"plain_text"` - `value: string` Environment variable value. - `PagesSecretTextEnvVar` An encrypted environment variable. - `type: "secret_text"` - `"secret_text"` - `value: string` Secret value. - `environment: "preview" | "production"` Type of deploy. - `"preview"` - `"production"` - `is_skipped: boolean` If the deployment has been skipped. - `latest_stage: Stage` The status of the deployment. - `ended_on: string | null` When the stage ended. - `name: "queued" | "initialize" | "clone_repo" | 2 more` The current build stage. - `"queued"` - `"initialize"` - `"clone_repo"` - `"build"` - `"deploy"` - `started_on: string | null` When the stage started. - `status: "success" | "idle" | "active" | 2 more` State of the current stage. - `"success"` - `"idle"` - `"active"` - `"failure"` - `"canceled"` - `modified_on: string` When the deployment was last modified. - `project_id: string` Id of the project. - `project_name: string` Name of the project. - `short_id: string` Short Id (8 character) of the deployment. - `source: Source` Configs for the project source control. - `config: Config` - `deployments_enabled: boolean` Whether to enable automatic deployments when pushing to the source repository. When disabled, no deployments (production or preview) will be triggered automatically. - `owner: string` The owner of the repository. - `owner_id: string` The owner ID of the repository. - `path_excludes: Array` A list of paths that should be excluded from triggering a preview deployment. Wildcard syntax (`*`) is supported. - `path_includes: Array` A list of paths that should be watched to trigger a preview deployment. Wildcard syntax (`*`) is supported. - `pr_comments_enabled: boolean` Whether to enable PR comments. - `preview_branch_excludes: Array` 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: Array` 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: "all" | "none" | "custom"` Controls whether commits to preview branches trigger a preview deployment. - `"all"` - `"none"` - `"custom"` - `production_branch: string` The production branch of the repository. - `production_deployments_enabled: boolean` Whether to trigger a production deployment on commits to the production branch. - `repo_id: string` The ID of the repository. - `repo_name: string` The name of the repository. - `type: "github" | "gitlab"` The source control management provider. - `"github"` - `"gitlab"` - `stages: Array` List of past stages. - `ended_on: string | null` When the stage ended. - `name: "queued" | "initialize" | "clone_repo" | 2 more` The current build stage. - `started_on: string | null` When the stage started. - `status: "success" | "idle" | "active" | 2 more` State of the current stage. - `url: string` The live URL to view this deployment. - `skip_reason?: "commit_message" | "preview_deployments_disabled" | "production_deployments_disabled" | 3 more | null` Why the deployment was skipped. - `"commit_message"` - `"preview_deployments_disabled"` - `"production_deployments_disabled"` - `"path_config"` - `"branch_config"` - `"pages_to_workers_conversion"` - `uses_functions?: boolean | null` Whether the deployment uses functions. ### Project - `Project` - `id: string` ID of the project. - `canonical_deployment: Deployment | null` Most recent production deployment of the project. - `id: string` Id of the deployment. - `aliases: Array | null` A list of alias URLs pointing to this deployment. - `build_config: BuildConfig` Configs for the project build process. - `web_analytics_tag: string | null` The classifying tag for analytics. - `web_analytics_token: string | null` The auth token for analytics. - `build_caching?: boolean | null` Enable build caching for the project. - `build_command?: string | null` Command used to build project. - `destination_dir?: string | null` Assets output directory of the build. - `root_dir?: string | null` Directory to run the command. - `created_on: string` When the deployment was created. - `deployment_trigger: DeploymentTrigger` Info about what caused the deployment. - `metadata: Metadata` Additional info about the trigger. - `branch: string` Where the trigger happened. - `commit_dirty: boolean` Whether the deployment trigger commit was dirty. - `commit_hash: string` Hash of the deployment trigger commit. - `commit_message: string` Message of the deployment trigger commit. - `type: "github:push" | "ad_hoc" | "deploy_hook"` What caused the deployment. - `"github:push"` - `"ad_hoc"` - `"deploy_hook"` - `env_vars: Record | null` Environment variables used for builds and Pages Functions. - `PagesPlainTextEnvVar` A plaintext environment variable. - `type: "plain_text"` - `"plain_text"` - `value: string` Environment variable value. - `PagesSecretTextEnvVar` An encrypted environment variable. - `type: "secret_text"` - `"secret_text"` - `value: string` Secret value. - `environment: "preview" | "production"` Type of deploy. - `"preview"` - `"production"` - `is_skipped: boolean` If the deployment has been skipped. - `latest_stage: Stage` The status of the deployment. - `ended_on: string | null` When the stage ended. - `name: "queued" | "initialize" | "clone_repo" | 2 more` The current build stage. - `"queued"` - `"initialize"` - `"clone_repo"` - `"build"` - `"deploy"` - `started_on: string | null` When the stage started. - `status: "success" | "idle" | "active" | 2 more` State of the current stage. - `"success"` - `"idle"` - `"active"` - `"failure"` - `"canceled"` - `modified_on: string` When the deployment was last modified. - `project_id: string` Id of the project. - `project_name: string` Name of the project. - `short_id: string` Short Id (8 character) of the deployment. - `source: Source` Configs for the project source control. - `config: Config` - `deployments_enabled: boolean` Whether to enable automatic deployments when pushing to the source repository. When disabled, no deployments (production or preview) will be triggered automatically. - `owner: string` The owner of the repository. - `owner_id: string` The owner ID of the repository. - `path_excludes: Array` A list of paths that should be excluded from triggering a preview deployment. Wildcard syntax (`*`) is supported. - `path_includes: Array` A list of paths that should be watched to trigger a preview deployment. Wildcard syntax (`*`) is supported. - `pr_comments_enabled: boolean` Whether to enable PR comments. - `preview_branch_excludes: Array` 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: Array` 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: "all" | "none" | "custom"` Controls whether commits to preview branches trigger a preview deployment. - `"all"` - `"none"` - `"custom"` - `production_branch: string` The production branch of the repository. - `production_deployments_enabled: boolean` Whether to trigger a production deployment on commits to the production branch. - `repo_id: string` The ID of the repository. - `repo_name: string` The name of the repository. - `type: "github" | "gitlab"` The source control management provider. - `"github"` - `"gitlab"` - `stages: Array` List of past stages. - `ended_on: string | null` When the stage ended. - `name: "queued" | "initialize" | "clone_repo" | 2 more` The current build stage. - `started_on: string | null` When the stage started. - `status: "success" | "idle" | "active" | 2 more` State of the current stage. - `url: string` The live URL to view this deployment. - `skip_reason?: "commit_message" | "preview_deployments_disabled" | "production_deployments_disabled" | 3 more | null` Why the deployment was skipped. - `"commit_message"` - `"preview_deployments_disabled"` - `"production_deployments_disabled"` - `"path_config"` - `"branch_config"` - `"pages_to_workers_conversion"` - `uses_functions?: boolean | null` Whether the deployment uses functions. - `created_on: string` When the project was created. - `deployment_configs: DeploymentConfigs` Configs for deployments in a project. - `preview: Preview` Configs for preview deploys. - `always_use_latest_compatibility_date: boolean` Whether to always use the latest compatibility date for Pages Functions. - `build_image_major_version: number` The major version of the build image to use for Pages Functions. - `compatibility_date: string` Compatibility date used for Pages Functions. - `compatibility_flags: Array` Compatibility flags used for Pages Functions. - `env_vars: Record | null` Environment variables used for builds and Pages Functions. - `PagesPlainTextEnvVar` A plaintext environment variable. - `type: "plain_text"` - `"plain_text"` - `value: string` Environment variable value. - `PagesSecretTextEnvVar` An encrypted environment variable. - `type: "secret_text"` - `"secret_text"` - `value: string` Secret value. - `fail_open: boolean` Whether to fail open when the deployment config cannot be applied. - `usage_model: "standard" | "bundled" | "unbound"` The usage model for Pages Functions. - `"standard"` - `"bundled"` - `"unbound"` - `ai_bindings?: Record` Constellation bindings used for Pages Functions. - `project_id: string` - `analytics_engine_datasets?: Record` Analytics Engine bindings used for Pages Functions. - `dataset: string` Name of the dataset. - `browsers?: Record` Browser bindings used for Pages Functions. - `d1_databases?: Record` D1 databases used for Pages Functions. - `id: string` UUID of the D1 database. - `durable_object_namespaces?: Record` Durable Object namespaces used for Pages Functions. - `namespace_id: string` ID of the Durable Object namespace. - `hyperdrive_bindings?: Record` Hyperdrive bindings used for Pages Functions. - `id: string` - `kv_namespaces?: Record` KV namespaces used for Pages Functions. - `namespace_id: string` ID of the KV namespace. - `limits?: Limits` Limits for Pages Functions. - `cpu_ms: number` CPU time limit in milliseconds. - `mtls_certificates?: Record` mTLS bindings used for Pages Functions. - `certificate_id: string` - `placement?: Placement` Placement setting used for Pages Functions. - `mode: string` Placement mode. - `queue_producers?: Record` Queue Producer bindings used for Pages Functions. - `name: string` Name of the Queue. - `r2_buckets?: Record` R2 buckets used for Pages Functions. - `name: string` Name of the R2 bucket. - `jurisdiction?: string | null` Jurisdiction of the R2 bucket. - `services?: Record` Services used for Pages Functions. - `environment: string` The Service environment. - `service: string` The Service name. - `entrypoint?: string | null` The entrypoint to bind to. - `vectorize_bindings?: Record` Vectorize bindings used for Pages Functions. - `index_name: string` - `wrangler_config_hash?: string` Hash of the Wrangler configuration used for the deployment. - `production: Production` Configs for production deploys. - `always_use_latest_compatibility_date: boolean` Whether to always use the latest compatibility date for Pages Functions. - `build_image_major_version: number` The major version of the build image to use for Pages Functions. - `compatibility_date: string` Compatibility date used for Pages Functions. - `compatibility_flags: Array` Compatibility flags used for Pages Functions. - `env_vars: Record | null` Environment variables used for builds and Pages Functions. - `PagesPlainTextEnvVar` A plaintext environment variable. - `type: "plain_text"` - `"plain_text"` - `value: string` Environment variable value. - `PagesSecretTextEnvVar` An encrypted environment variable. - `type: "secret_text"` - `"secret_text"` - `value: string` Secret value. - `fail_open: boolean` Whether to fail open when the deployment config cannot be applied. - `usage_model: "standard" | "bundled" | "unbound"` The usage model for Pages Functions. - `"standard"` - `"bundled"` - `"unbound"` - `ai_bindings?: Record` Constellation bindings used for Pages Functions. - `project_id: string` - `analytics_engine_datasets?: Record` Analytics Engine bindings used for Pages Functions. - `dataset: string` Name of the dataset. - `browsers?: Record` Browser bindings used for Pages Functions. - `d1_databases?: Record` D1 databases used for Pages Functions. - `id: string` UUID of the D1 database. - `durable_object_namespaces?: Record` Durable Object namespaces used for Pages Functions. - `namespace_id: string` ID of the Durable Object namespace. - `hyperdrive_bindings?: Record` Hyperdrive bindings used for Pages Functions. - `id: string` - `kv_namespaces?: Record` KV namespaces used for Pages Functions. - `namespace_id: string` ID of the KV namespace. - `limits?: Limits` Limits for Pages Functions. - `cpu_ms: number` CPU time limit in milliseconds. - `mtls_certificates?: Record` mTLS bindings used for Pages Functions. - `certificate_id: string` - `placement?: Placement` Placement setting used for Pages Functions. - `mode: string` Placement mode. - `queue_producers?: Record` Queue Producer bindings used for Pages Functions. - `name: string` Name of the Queue. - `r2_buckets?: Record` R2 buckets used for Pages Functions. - `name: string` Name of the R2 bucket. - `jurisdiction?: string | null` Jurisdiction of the R2 bucket. - `services?: Record` Services used for Pages Functions. - `environment: string` The Service environment. - `service: string` The Service name. - `entrypoint?: string | null` The entrypoint to bind to. - `vectorize_bindings?: Record` Vectorize bindings used for Pages Functions. - `index_name: string` - `wrangler_config_hash?: string` Hash of the Wrangler configuration used for the deployment. - `framework: string` Framework the project is using. - `framework_version: string` Version of the framework the project is using. - `latest_deployment: Deployment | null` Most recent deployment of the project. - `name: string` Name of the project. - `preview_script_name: string` Name of the preview script. - `production_branch: string` Production branch of the project. Used to identify production deployments. - `production_script_name: string` Name of the production script. - `uses_functions: boolean | null` Whether the project uses functions. - `build_config?: BuildConfig` Configs for the project build process. - `web_analytics_tag: string | null` The classifying tag for analytics. - `web_analytics_token: string | null` The auth token for analytics. - `build_caching?: boolean | null` Enable build caching for the project. - `build_command?: string | null` Command used to build project. - `destination_dir?: string | null` Assets output directory of the build. - `root_dir?: string | null` Directory to run the command. - `domains?: Array` A list of associated custom domains for the project. - `source?: Source` Configs for the project source control. - `config: Config` - `deployments_enabled: boolean` Whether to enable automatic deployments when pushing to the source repository. When disabled, no deployments (production or preview) will be triggered automatically. - `owner: string` The owner of the repository. - `owner_id: string` The owner ID of the repository. - `path_excludes: Array` A list of paths that should be excluded from triggering a preview deployment. Wildcard syntax (`*`) is supported. - `path_includes: Array` A list of paths that should be watched to trigger a preview deployment. Wildcard syntax (`*`) is supported. - `pr_comments_enabled: boolean` Whether to enable PR comments. - `preview_branch_excludes: Array` 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: Array` 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: "all" | "none" | "custom"` Controls whether commits to preview branches trigger a preview deployment. - `"all"` - `"none"` - `"custom"` - `production_branch: string` The production branch of the repository. - `production_deployments_enabled: boolean` Whether to trigger a production deployment on commits to the production branch. - `repo_id: string` The ID of the repository. - `repo_name: string` The name of the repository. - `type: "github" | "gitlab"` The source control management provider. - `"github"` - `"gitlab"` - `subdomain?: string` The Cloudflare subdomain associated with the project. ### Stage - `Stage` The status of the deployment. - `ended_on: string | null` When the stage ended. - `name: "queued" | "initialize" | "clone_repo" | 2 more` The current build stage. - `"queued"` - `"initialize"` - `"clone_repo"` - `"build"` - `"deploy"` - `started_on: string | null` When the stage started. - `status: "success" | "idle" | "active" | 2 more` State of the current stage. - `"success"` - `"idle"` - `"active"` - `"failure"` - `"canceled"` ### Project Get Upload Token Response - `ProjectGetUploadTokenResponse` - `jwt: string` Short-lived JWT used to authenticate Pages Direct Upload asset operations. ### Project Delete Response - `ProjectDeleteResponse = unknown` ### Project Purge Build Cache Response - `ProjectPurgeBuildCacheResponse = unknown` # Deployments ## Get deployments `client.pages.projects.deployments.list(stringprojectName, DeploymentListParamsparams, RequestOptionsoptions?): V4PagePaginationArray` **get** `/accounts/{account_id}/pages/projects/{project_name}/deployments` Fetch a list of project deployments. ### Parameters - `projectName: string` Name of the project. - `params: DeploymentListParams` - `account_id: string` Path param: Identifier. - `env?: "production" | "preview"` Query param: What type of deployments to fetch. - `"production"` - `"preview"` - `page?: number` Query param: Which page of deployments to fetch. - `per_page?: number` Query param: How many deployments to return per page. ### Returns - `Deployment` - `id: string` Id of the deployment. - `aliases: Array | null` A list of alias URLs pointing to this deployment. - `build_config: BuildConfig` Configs for the project build process. - `web_analytics_tag: string | null` The classifying tag for analytics. - `web_analytics_token: string | null` The auth token for analytics. - `build_caching?: boolean | null` Enable build caching for the project. - `build_command?: string | null` Command used to build project. - `destination_dir?: string | null` Assets output directory of the build. - `root_dir?: string | null` Directory to run the command. - `created_on: string` When the deployment was created. - `deployment_trigger: DeploymentTrigger` Info about what caused the deployment. - `metadata: Metadata` Additional info about the trigger. - `branch: string` Where the trigger happened. - `commit_dirty: boolean` Whether the deployment trigger commit was dirty. - `commit_hash: string` Hash of the deployment trigger commit. - `commit_message: string` Message of the deployment trigger commit. - `type: "github:push" | "ad_hoc" | "deploy_hook"` What caused the deployment. - `"github:push"` - `"ad_hoc"` - `"deploy_hook"` - `env_vars: Record | null` Environment variables used for builds and Pages Functions. - `PagesPlainTextEnvVar` A plaintext environment variable. - `type: "plain_text"` - `"plain_text"` - `value: string` Environment variable value. - `PagesSecretTextEnvVar` An encrypted environment variable. - `type: "secret_text"` - `"secret_text"` - `value: string` Secret value. - `environment: "preview" | "production"` Type of deploy. - `"preview"` - `"production"` - `is_skipped: boolean` If the deployment has been skipped. - `latest_stage: Stage` The status of the deployment. - `ended_on: string | null` When the stage ended. - `name: "queued" | "initialize" | "clone_repo" | 2 more` The current build stage. - `"queued"` - `"initialize"` - `"clone_repo"` - `"build"` - `"deploy"` - `started_on: string | null` When the stage started. - `status: "success" | "idle" | "active" | 2 more` State of the current stage. - `"success"` - `"idle"` - `"active"` - `"failure"` - `"canceled"` - `modified_on: string` When the deployment was last modified. - `project_id: string` Id of the project. - `project_name: string` Name of the project. - `short_id: string` Short Id (8 character) of the deployment. - `source: Source` Configs for the project source control. - `config: Config` - `deployments_enabled: boolean` Whether to enable automatic deployments when pushing to the source repository. When disabled, no deployments (production or preview) will be triggered automatically. - `owner: string` The owner of the repository. - `owner_id: string` The owner ID of the repository. - `path_excludes: Array` A list of paths that should be excluded from triggering a preview deployment. Wildcard syntax (`*`) is supported. - `path_includes: Array` A list of paths that should be watched to trigger a preview deployment. Wildcard syntax (`*`) is supported. - `pr_comments_enabled: boolean` Whether to enable PR comments. - `preview_branch_excludes: Array` 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: Array` 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: "all" | "none" | "custom"` Controls whether commits to preview branches trigger a preview deployment. - `"all"` - `"none"` - `"custom"` - `production_branch: string` The production branch of the repository. - `production_deployments_enabled: boolean` Whether to trigger a production deployment on commits to the production branch. - `repo_id: string` The ID of the repository. - `repo_name: string` The name of the repository. - `type: "github" | "gitlab"` The source control management provider. - `"github"` - `"gitlab"` - `stages: Array` List of past stages. - `ended_on: string | null` When the stage ended. - `name: "queued" | "initialize" | "clone_repo" | 2 more` The current build stage. - `started_on: string | null` When the stage started. - `status: "success" | "idle" | "active" | 2 more` State of the current stage. - `url: string` The live URL to view this deployment. - `skip_reason?: "commit_message" | "preview_deployments_disabled" | "production_deployments_disabled" | 3 more | null` Why the deployment was skipped. - `"commit_message"` - `"preview_deployments_disabled"` - `"production_deployments_disabled"` - `"path_config"` - `"branch_config"` - `"pages_to_workers_conversion"` - `uses_functions?: boolean | null` Whether the deployment uses functions. ### Example ```typescript import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); // Automatically fetches more pages as needed. for await (const deployment of client.pages.projects.deployments.list('this-is-my-project-01', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', })) { console.log(deployment.id); } ``` #### Response ```json { "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": "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", "skip_reason": "commit_message", "uses_functions": true } ], "success": true, "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000, "total_pages": 100 } } ``` ## Get deployment info `client.pages.projects.deployments.get(stringdeploymentID, DeploymentGetParamsparams, RequestOptionsoptions?): Deployment` **get** `/accounts/{account_id}/pages/projects/{project_name}/deployments/{deployment_id}` Fetch information about a deployment. ### Parameters - `deploymentID: string` Identifier. - `params: DeploymentGetParams` - `account_id: string` Identifier. - `project_name: string` Name of the project. ### Returns - `Deployment` - `id: string` Id of the deployment. - `aliases: Array | null` A list of alias URLs pointing to this deployment. - `build_config: BuildConfig` Configs for the project build process. - `web_analytics_tag: string | null` The classifying tag for analytics. - `web_analytics_token: string | null` The auth token for analytics. - `build_caching?: boolean | null` Enable build caching for the project. - `build_command?: string | null` Command used to build project. - `destination_dir?: string | null` Assets output directory of the build. - `root_dir?: string | null` Directory to run the command. - `created_on: string` When the deployment was created. - `deployment_trigger: DeploymentTrigger` Info about what caused the deployment. - `metadata: Metadata` Additional info about the trigger. - `branch: string` Where the trigger happened. - `commit_dirty: boolean` Whether the deployment trigger commit was dirty. - `commit_hash: string` Hash of the deployment trigger commit. - `commit_message: string` Message of the deployment trigger commit. - `type: "github:push" | "ad_hoc" | "deploy_hook"` What caused the deployment. - `"github:push"` - `"ad_hoc"` - `"deploy_hook"` - `env_vars: Record | null` Environment variables used for builds and Pages Functions. - `PagesPlainTextEnvVar` A plaintext environment variable. - `type: "plain_text"` - `"plain_text"` - `value: string` Environment variable value. - `PagesSecretTextEnvVar` An encrypted environment variable. - `type: "secret_text"` - `"secret_text"` - `value: string` Secret value. - `environment: "preview" | "production"` Type of deploy. - `"preview"` - `"production"` - `is_skipped: boolean` If the deployment has been skipped. - `latest_stage: Stage` The status of the deployment. - `ended_on: string | null` When the stage ended. - `name: "queued" | "initialize" | "clone_repo" | 2 more` The current build stage. - `"queued"` - `"initialize"` - `"clone_repo"` - `"build"` - `"deploy"` - `started_on: string | null` When the stage started. - `status: "success" | "idle" | "active" | 2 more` State of the current stage. - `"success"` - `"idle"` - `"active"` - `"failure"` - `"canceled"` - `modified_on: string` When the deployment was last modified. - `project_id: string` Id of the project. - `project_name: string` Name of the project. - `short_id: string` Short Id (8 character) of the deployment. - `source: Source` Configs for the project source control. - `config: Config` - `deployments_enabled: boolean` Whether to enable automatic deployments when pushing to the source repository. When disabled, no deployments (production or preview) will be triggered automatically. - `owner: string` The owner of the repository. - `owner_id: string` The owner ID of the repository. - `path_excludes: Array` A list of paths that should be excluded from triggering a preview deployment. Wildcard syntax (`*`) is supported. - `path_includes: Array` A list of paths that should be watched to trigger a preview deployment. Wildcard syntax (`*`) is supported. - `pr_comments_enabled: boolean` Whether to enable PR comments. - `preview_branch_excludes: Array` 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: Array` 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: "all" | "none" | "custom"` Controls whether commits to preview branches trigger a preview deployment. - `"all"` - `"none"` - `"custom"` - `production_branch: string` The production branch of the repository. - `production_deployments_enabled: boolean` Whether to trigger a production deployment on commits to the production branch. - `repo_id: string` The ID of the repository. - `repo_name: string` The name of the repository. - `type: "github" | "gitlab"` The source control management provider. - `"github"` - `"gitlab"` - `stages: Array` List of past stages. - `ended_on: string | null` When the stage ended. - `name: "queued" | "initialize" | "clone_repo" | 2 more` The current build stage. - `started_on: string | null` When the stage started. - `status: "success" | "idle" | "active" | 2 more` State of the current stage. - `url: string` The live URL to view this deployment. - `skip_reason?: "commit_message" | "preview_deployments_disabled" | "production_deployments_disabled" | 3 more | null` Why the deployment was skipped. - `"commit_message"` - `"preview_deployments_disabled"` - `"production_deployments_disabled"` - `"path_config"` - `"branch_config"` - `"pages_to_workers_conversion"` - `uses_functions?: boolean | null` Whether the deployment uses functions. ### Example ```typescript import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const deployment = await client.pages.projects.deployments.get('023e105f4ecef8ad9ca31a8372d0c353', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', project_name: 'this-is-my-project-01', }); console.log(deployment.id); ``` #### Response ```json { "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": "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", "skip_reason": "commit_message", "uses_functions": true }, "success": true } ``` ## Create deployment `client.pages.projects.deployments.create(stringprojectName, DeploymentCreateParamsparams, RequestOptionsoptions?): Deployment` **post** `/accounts/{account_id}/pages/projects/{project_name}/deployments` Start a new deployment from production. The repository and account must have already been authorized on the Cloudflare Pages dashboard. ### Parameters - `projectName: string` Name of the project. - `params: DeploymentCreateParams` - `account_id: string` Path param: Identifier. - `_headers?: Uploadable` Body param: Headers configuration file for the deployment. - `_redirects?: Uploadable` Body param: Redirects configuration file for the deployment. - `_routesJson?: Uploadable` Body param: Routes configuration file defining routing rules. - `_workerBundle?: Uploadable` Body param: Worker bundle file in multipart/form-data format. Mutually exclusive with `_worker.js`. Cannot specify both `_worker.js` and `_worker.bundle` in the same request. Maximum size: 25 MiB. - `_workerJS?: Uploadable` Body param: Worker JavaScript file. Mutually exclusive with `_worker.bundle`. Cannot specify both `_worker.js` and `_worker.bundle` in the same request. - `branch?: string` Body param: The branch to build the new deployment from. The `HEAD` of the branch will be used. If omitted, the production branch will be used by default. - `commit_dirty?: "true" | "false"` Body param: Boolean string indicating if the working directory has uncommitted changes. - `"true"` - `"false"` - `commit_hash?: string` Body param: Git commit SHA associated with this deployment. - `commit_message?: string` Body param: Git commit message associated with this deployment. - `functionsFilepathRoutingConfigJson?: Uploadable` Body param: Functions routing configuration file. - `manifest?: string` Body param: JSON string containing a manifest of files to deploy. Maps file paths to their content hashes. Required for direct upload deployments. Maximum 20,000 entries. - `pages_build_output_dir?: string` Body param: The build output directory path. - `wrangler_config_hash?: string` Body param: Hash of the Wrangler configuration file used for this deployment. ### Returns - `Deployment` - `id: string` Id of the deployment. - `aliases: Array | null` A list of alias URLs pointing to this deployment. - `build_config: BuildConfig` Configs for the project build process. - `web_analytics_tag: string | null` The classifying tag for analytics. - `web_analytics_token: string | null` The auth token for analytics. - `build_caching?: boolean | null` Enable build caching for the project. - `build_command?: string | null` Command used to build project. - `destination_dir?: string | null` Assets output directory of the build. - `root_dir?: string | null` Directory to run the command. - `created_on: string` When the deployment was created. - `deployment_trigger: DeploymentTrigger` Info about what caused the deployment. - `metadata: Metadata` Additional info about the trigger. - `branch: string` Where the trigger happened. - `commit_dirty: boolean` Whether the deployment trigger commit was dirty. - `commit_hash: string` Hash of the deployment trigger commit. - `commit_message: string` Message of the deployment trigger commit. - `type: "github:push" | "ad_hoc" | "deploy_hook"` What caused the deployment. - `"github:push"` - `"ad_hoc"` - `"deploy_hook"` - `env_vars: Record | null` Environment variables used for builds and Pages Functions. - `PagesPlainTextEnvVar` A plaintext environment variable. - `type: "plain_text"` - `"plain_text"` - `value: string` Environment variable value. - `PagesSecretTextEnvVar` An encrypted environment variable. - `type: "secret_text"` - `"secret_text"` - `value: string` Secret value. - `environment: "preview" | "production"` Type of deploy. - `"preview"` - `"production"` - `is_skipped: boolean` If the deployment has been skipped. - `latest_stage: Stage` The status of the deployment. - `ended_on: string | null` When the stage ended. - `name: "queued" | "initialize" | "clone_repo" | 2 more` The current build stage. - `"queued"` - `"initialize"` - `"clone_repo"` - `"build"` - `"deploy"` - `started_on: string | null` When the stage started. - `status: "success" | "idle" | "active" | 2 more` State of the current stage. - `"success"` - `"idle"` - `"active"` - `"failure"` - `"canceled"` - `modified_on: string` When the deployment was last modified. - `project_id: string` Id of the project. - `project_name: string` Name of the project. - `short_id: string` Short Id (8 character) of the deployment. - `source: Source` Configs for the project source control. - `config: Config` - `deployments_enabled: boolean` Whether to enable automatic deployments when pushing to the source repository. When disabled, no deployments (production or preview) will be triggered automatically. - `owner: string` The owner of the repository. - `owner_id: string` The owner ID of the repository. - `path_excludes: Array` A list of paths that should be excluded from triggering a preview deployment. Wildcard syntax (`*`) is supported. - `path_includes: Array` A list of paths that should be watched to trigger a preview deployment. Wildcard syntax (`*`) is supported. - `pr_comments_enabled: boolean` Whether to enable PR comments. - `preview_branch_excludes: Array` 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: Array` 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: "all" | "none" | "custom"` Controls whether commits to preview branches trigger a preview deployment. - `"all"` - `"none"` - `"custom"` - `production_branch: string` The production branch of the repository. - `production_deployments_enabled: boolean` Whether to trigger a production deployment on commits to the production branch. - `repo_id: string` The ID of the repository. - `repo_name: string` The name of the repository. - `type: "github" | "gitlab"` The source control management provider. - `"github"` - `"gitlab"` - `stages: Array` List of past stages. - `ended_on: string | null` When the stage ended. - `name: "queued" | "initialize" | "clone_repo" | 2 more` The current build stage. - `started_on: string | null` When the stage started. - `status: "success" | "idle" | "active" | 2 more` State of the current stage. - `url: string` The live URL to view this deployment. - `skip_reason?: "commit_message" | "preview_deployments_disabled" | "production_deployments_disabled" | 3 more | null` Why the deployment was skipped. - `"commit_message"` - `"preview_deployments_disabled"` - `"production_deployments_disabled"` - `"path_config"` - `"branch_config"` - `"pages_to_workers_conversion"` - `uses_functions?: boolean | null` Whether the deployment uses functions. ### Example ```typescript import fs from 'fs'; import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const deployment = await client.pages.projects.deployments.create('this-is-my-project-01', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(deployment.id); ``` #### Response ```json { "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": "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", "skip_reason": "commit_message", "uses_functions": true }, "success": true } ``` ## Delete deployment `client.pages.projects.deployments.delete(stringdeploymentID, DeploymentDeleteParamsparams, RequestOptionsoptions?): DeploymentDeleteResponse | null` **delete** `/accounts/{account_id}/pages/projects/{project_name}/deployments/{deployment_id}` Delete a deployment. ### Parameters - `deploymentID: string` Identifier. - `params: DeploymentDeleteParams` - `account_id: string` Path param: Identifier. - `project_name: string` Path param: Name of the project. - `force?: boolean` Query param: Allow deletion of aliased non-production deployments when a normal delete would be rejected. ### Returns - `DeploymentDeleteResponse = unknown` ### Example ```typescript import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const deployment = await client.pages.projects.deployments.delete( '023e105f4ecef8ad9ca31a8372d0c353', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', project_name: 'this-is-my-project-01' }, ); console.log(deployment); ``` #### Response ```json { "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": {}, "success": true } ``` ## Retry deployment `client.pages.projects.deployments.retry(stringdeploymentID, DeploymentRetryParamsparams, RequestOptionsoptions?): Deployment` **post** `/accounts/{account_id}/pages/projects/{project_name}/deployments/{deployment_id}/retry` Retry a previous deployment. ### Parameters - `deploymentID: string` Identifier. - `params: DeploymentRetryParams` - `account_id: string` Identifier. - `project_name: string` Name of the project. ### Returns - `Deployment` - `id: string` Id of the deployment. - `aliases: Array | null` A list of alias URLs pointing to this deployment. - `build_config: BuildConfig` Configs for the project build process. - `web_analytics_tag: string | null` The classifying tag for analytics. - `web_analytics_token: string | null` The auth token for analytics. - `build_caching?: boolean | null` Enable build caching for the project. - `build_command?: string | null` Command used to build project. - `destination_dir?: string | null` Assets output directory of the build. - `root_dir?: string | null` Directory to run the command. - `created_on: string` When the deployment was created. - `deployment_trigger: DeploymentTrigger` Info about what caused the deployment. - `metadata: Metadata` Additional info about the trigger. - `branch: string` Where the trigger happened. - `commit_dirty: boolean` Whether the deployment trigger commit was dirty. - `commit_hash: string` Hash of the deployment trigger commit. - `commit_message: string` Message of the deployment trigger commit. - `type: "github:push" | "ad_hoc" | "deploy_hook"` What caused the deployment. - `"github:push"` - `"ad_hoc"` - `"deploy_hook"` - `env_vars: Record | null` Environment variables used for builds and Pages Functions. - `PagesPlainTextEnvVar` A plaintext environment variable. - `type: "plain_text"` - `"plain_text"` - `value: string` Environment variable value. - `PagesSecretTextEnvVar` An encrypted environment variable. - `type: "secret_text"` - `"secret_text"` - `value: string` Secret value. - `environment: "preview" | "production"` Type of deploy. - `"preview"` - `"production"` - `is_skipped: boolean` If the deployment has been skipped. - `latest_stage: Stage` The status of the deployment. - `ended_on: string | null` When the stage ended. - `name: "queued" | "initialize" | "clone_repo" | 2 more` The current build stage. - `"queued"` - `"initialize"` - `"clone_repo"` - `"build"` - `"deploy"` - `started_on: string | null` When the stage started. - `status: "success" | "idle" | "active" | 2 more` State of the current stage. - `"success"` - `"idle"` - `"active"` - `"failure"` - `"canceled"` - `modified_on: string` When the deployment was last modified. - `project_id: string` Id of the project. - `project_name: string` Name of the project. - `short_id: string` Short Id (8 character) of the deployment. - `source: Source` Configs for the project source control. - `config: Config` - `deployments_enabled: boolean` Whether to enable automatic deployments when pushing to the source repository. When disabled, no deployments (production or preview) will be triggered automatically. - `owner: string` The owner of the repository. - `owner_id: string` The owner ID of the repository. - `path_excludes: Array` A list of paths that should be excluded from triggering a preview deployment. Wildcard syntax (`*`) is supported. - `path_includes: Array` A list of paths that should be watched to trigger a preview deployment. Wildcard syntax (`*`) is supported. - `pr_comments_enabled: boolean` Whether to enable PR comments. - `preview_branch_excludes: Array` 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: Array` 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: "all" | "none" | "custom"` Controls whether commits to preview branches trigger a preview deployment. - `"all"` - `"none"` - `"custom"` - `production_branch: string` The production branch of the repository. - `production_deployments_enabled: boolean` Whether to trigger a production deployment on commits to the production branch. - `repo_id: string` The ID of the repository. - `repo_name: string` The name of the repository. - `type: "github" | "gitlab"` The source control management provider. - `"github"` - `"gitlab"` - `stages: Array` List of past stages. - `ended_on: string | null` When the stage ended. - `name: "queued" | "initialize" | "clone_repo" | 2 more` The current build stage. - `started_on: string | null` When the stage started. - `status: "success" | "idle" | "active" | 2 more` State of the current stage. - `url: string` The live URL to view this deployment. - `skip_reason?: "commit_message" | "preview_deployments_disabled" | "production_deployments_disabled" | 3 more | null` Why the deployment was skipped. - `"commit_message"` - `"preview_deployments_disabled"` - `"production_deployments_disabled"` - `"path_config"` - `"branch_config"` - `"pages_to_workers_conversion"` - `uses_functions?: boolean | null` Whether the deployment uses functions. ### Example ```typescript import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const deployment = await client.pages.projects.deployments.retry( '023e105f4ecef8ad9ca31a8372d0c353', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', project_name: 'this-is-my-project-01' }, ); console.log(deployment.id); ``` #### Response ```json { "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": "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", "skip_reason": "commit_message", "uses_functions": true }, "success": true } ``` ## Rollback deployment `client.pages.projects.deployments.rollback(stringdeploymentID, DeploymentRollbackParamsparams, RequestOptionsoptions?): Deployment` **post** `/accounts/{account_id}/pages/projects/{project_name}/deployments/{deployment_id}/rollback` Rollback the production deployment to a previous deployment. You can only rollback to succesful builds on production. ### Parameters - `deploymentID: string` Identifier. - `params: DeploymentRollbackParams` - `account_id: string` Identifier. - `project_name: string` Name of the project. ### Returns - `Deployment` - `id: string` Id of the deployment. - `aliases: Array | null` A list of alias URLs pointing to this deployment. - `build_config: BuildConfig` Configs for the project build process. - `web_analytics_tag: string | null` The classifying tag for analytics. - `web_analytics_token: string | null` The auth token for analytics. - `build_caching?: boolean | null` Enable build caching for the project. - `build_command?: string | null` Command used to build project. - `destination_dir?: string | null` Assets output directory of the build. - `root_dir?: string | null` Directory to run the command. - `created_on: string` When the deployment was created. - `deployment_trigger: DeploymentTrigger` Info about what caused the deployment. - `metadata: Metadata` Additional info about the trigger. - `branch: string` Where the trigger happened. - `commit_dirty: boolean` Whether the deployment trigger commit was dirty. - `commit_hash: string` Hash of the deployment trigger commit. - `commit_message: string` Message of the deployment trigger commit. - `type: "github:push" | "ad_hoc" | "deploy_hook"` What caused the deployment. - `"github:push"` - `"ad_hoc"` - `"deploy_hook"` - `env_vars: Record | null` Environment variables used for builds and Pages Functions. - `PagesPlainTextEnvVar` A plaintext environment variable. - `type: "plain_text"` - `"plain_text"` - `value: string` Environment variable value. - `PagesSecretTextEnvVar` An encrypted environment variable. - `type: "secret_text"` - `"secret_text"` - `value: string` Secret value. - `environment: "preview" | "production"` Type of deploy. - `"preview"` - `"production"` - `is_skipped: boolean` If the deployment has been skipped. - `latest_stage: Stage` The status of the deployment. - `ended_on: string | null` When the stage ended. - `name: "queued" | "initialize" | "clone_repo" | 2 more` The current build stage. - `"queued"` - `"initialize"` - `"clone_repo"` - `"build"` - `"deploy"` - `started_on: string | null` When the stage started. - `status: "success" | "idle" | "active" | 2 more` State of the current stage. - `"success"` - `"idle"` - `"active"` - `"failure"` - `"canceled"` - `modified_on: string` When the deployment was last modified. - `project_id: string` Id of the project. - `project_name: string` Name of the project. - `short_id: string` Short Id (8 character) of the deployment. - `source: Source` Configs for the project source control. - `config: Config` - `deployments_enabled: boolean` Whether to enable automatic deployments when pushing to the source repository. When disabled, no deployments (production or preview) will be triggered automatically. - `owner: string` The owner of the repository. - `owner_id: string` The owner ID of the repository. - `path_excludes: Array` A list of paths that should be excluded from triggering a preview deployment. Wildcard syntax (`*`) is supported. - `path_includes: Array` A list of paths that should be watched to trigger a preview deployment. Wildcard syntax (`*`) is supported. - `pr_comments_enabled: boolean` Whether to enable PR comments. - `preview_branch_excludes: Array` 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: Array` 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: "all" | "none" | "custom"` Controls whether commits to preview branches trigger a preview deployment. - `"all"` - `"none"` - `"custom"` - `production_branch: string` The production branch of the repository. - `production_deployments_enabled: boolean` Whether to trigger a production deployment on commits to the production branch. - `repo_id: string` The ID of the repository. - `repo_name: string` The name of the repository. - `type: "github" | "gitlab"` The source control management provider. - `"github"` - `"gitlab"` - `stages: Array` List of past stages. - `ended_on: string | null` When the stage ended. - `name: "queued" | "initialize" | "clone_repo" | 2 more` The current build stage. - `started_on: string | null` When the stage started. - `status: "success" | "idle" | "active" | 2 more` State of the current stage. - `url: string` The live URL to view this deployment. - `skip_reason?: "commit_message" | "preview_deployments_disabled" | "production_deployments_disabled" | 3 more | null` Why the deployment was skipped. - `"commit_message"` - `"preview_deployments_disabled"` - `"production_deployments_disabled"` - `"path_config"` - `"branch_config"` - `"pages_to_workers_conversion"` - `uses_functions?: boolean | null` Whether the deployment uses functions. ### Example ```typescript import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const deployment = await client.pages.projects.deployments.rollback( '023e105f4ecef8ad9ca31a8372d0c353', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', project_name: 'this-is-my-project-01' }, ); console.log(deployment.id); ``` #### Response ```json { "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": "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", "skip_reason": "commit_message", "uses_functions": true }, "success": true } ``` ## Domain Types ### Deployment Delete Response - `DeploymentDeleteResponse = unknown` # History # Logs ## Get deployment logs `client.pages.projects.deployments.history.logs.get(stringdeploymentID, LogGetParamsparams, RequestOptionsoptions?): LogGetResponse` **get** `/accounts/{account_id}/pages/projects/{project_name}/deployments/{deployment_id}/history/logs` Fetch deployment logs for a project. ### Parameters - `deploymentID: string` Identifier. - `params: LogGetParams` - `account_id: string` Identifier. - `project_name: string` Name of the project. ### Returns - `LogGetResponse` - `data: Array` - `line: string` - `ts: string` - `includes_container_logs: boolean` - `total: number` ### Example ```typescript import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const log = await client.pages.projects.deployments.history.logs.get( '023e105f4ecef8ad9ca31a8372d0c353', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', project_name: 'this-is-my-project-01' }, ); console.log(log.data); ``` #### Response ```json { "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": { "data": [ { "line": "Cloning repository...", "ts": "2021-04-20T19:35:29.0749819Z" }, { "line": "From https://github.com/cloudflare/example", "ts": "2021-04-20T19:35:30.0749819Z" }, { "line": " * branch 209c5bb11d89533f426b2f8469bcae12fdccf71b -> FETCH_HEAD", "ts": "2021-04-20T19:35:30.0749819Z" }, { "line": "", "ts": "2021-04-20T19:35:30.0749819Z" }, { "line": "HEAD is now at 209c5bb Update index.html", "ts": "2021-04-20T19:35:30.0749819Z" }, { "line": "", "ts": "2021-04-20T19:35:30.0749819Z" }, { "line": "", "ts": "2021-04-20T19:35:30.0749819Z" }, { "line": "Success: Finished cloning repository files", "ts": "2021-04-20T19:35:30.0749819Z" }, { "line": "Installing dependencies", "ts": "2021-04-20T19:35:59.0749819Z" }, { "line": "Python version set to 2.7", "ts": "2021-04-20T19:35:59.0931208Z" }, { "line": "v12.18.0 is already installed.", "ts": "2021-04-20T19:36:02.2369501Z" }, { "line": "Now using node v12.18.0 (npm v6.14.4)", "ts": "2021-04-20T19:36:02.6028886Z" }, { "line": "Started restoring cached build plugins", "ts": "2021-04-20T19:36:02.624555Z" }, { "line": "Finished restoring cached build plugins", "ts": "2021-04-20T19:36:02.6340688Z" }, { "line": "Attempting ruby version 2.7.1, read from environment", "ts": "2021-04-20T19:36:02.963095Z" }, { "line": "Using ruby version 2.7.1", "ts": "2021-04-20T19:36:04.2236084Z" }, { "line": "Using PHP version 5.6", "ts": "2021-04-20T19:36:04.5450152Z" }, { "line": "5.2 is already installed.", "ts": "2021-04-20T19:36:04.5740509Z" }, { "line": "Using Swift version 5.2", "ts": "2021-04-20T19:36:04.577035Z" }, { "line": "Installing Hugo 0.54.0", "ts": "2021-04-20T19:36:04.5771615Z" }, { "line": "Hugo Static Site Generator v0.54.0-B1A82C61A/extended linux/amd64 BuildDate: 2019-02-01T10:04:38Z", "ts": "2021-04-20T19:36:05.4786868Z" }, { "line": "Started restoring cached go cache", "ts": "2021-04-20T19:36:05.4794366Z" }, { "line": "Finished restoring cached go cache", "ts": "2021-04-20T19:36:05.481977Z" }, { "line": "go version go1.14.4 linux/amd64", "ts": "2021-04-20T19:36:05.9049776Z" }, { "line": "go version go1.14.4 linux/amd64", "ts": "2021-04-20T19:36:05.9086053Z" }, { "line": "Installing missing commands", "ts": "2021-04-20T19:36:05.9163568Z" }, { "line": "Verify run directory", "ts": "2021-04-20T19:36:05.9163934Z" }, { "line": "Executing user command: echo \"skipping build step: no build command specified\"", "ts": "2021-04-20T19:36:05.9164636Z" }, { "line": "skipping build step: no build command specified", "ts": "2021-04-20T19:36:05.9165087Z" }, { "line": "Finished", "ts": "2021-04-20T19:36:05.917412Z" } ], "includes_container_logs": true, "total": 30 }, "success": true } ``` ## Domain Types ### Log Get Response - `LogGetResponse` - `data: Array` - `line: string` - `ts: string` - `includes_container_logs: boolean` - `total: number` # Tails ## Create deployment tail `client.pages.projects.deployments.tails.create(stringdeploymentID, TailCreateParamsparams, RequestOptionsoptions?): TailCreateResponse` **post** `/accounts/{account_id}/pages/projects/{project_name}/deployments/{deployment_id}/tails` Start a tail that receives logs and exception data. ### Parameters - `deploymentID: string` Identifier. - `params: TailCreateParams` - `account_id: string` Path param: Identifier. - `project_name: string` Path param: Name of the project. - `filters?: Array>` Body param: Filters to apply to the tail session. ### Returns - `TailCreateResponse` A tail session for streaming logs from a Pages deployment. - `id: string` Identifier of the tail session. - `url?: string` Optional WebSocket URL to connect to for receiving tail events, when returned by the tail service. ### Example ```typescript import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const tail = await client.pages.projects.deployments.tails.create( '023e105f4ecef8ad9ca31a8372d0c353', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', project_name: 'this-is-my-project-01' }, ); console.log(tail.id); ``` #### Response ```json { "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": "49a4dcf81a3940fab8453b2be3fb86ef", "url": "wss://tail.developers.workers.dev/49a4dcf81a3940fab8453b2be3fb86ef" }, "success": true } ``` ## Delete deployment tail `client.pages.projects.deployments.tails.delete(stringtailID, TailDeleteParamsparams, RequestOptionsoptions?): TailDeleteResponse | null` **delete** `/accounts/{account_id}/pages/projects/{project_name}/deployments/{deployment_id}/tails/{tail_id}` Deletes a tail from a Pages deployment. ### Parameters - `tailID: string` Identifier. - `params: TailDeleteParams` - `account_id: string` Identifier. - `project_name: string` Name of the project. - `deployment_id: string` Identifier. ### Returns - `TailDeleteResponse = unknown` ### Example ```typescript import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const tail = await client.pages.projects.deployments.tails.delete( '023e105f4ecef8ad9ca31a8372d0c353', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', project_name: 'this-is-my-project-01', deployment_id: '023e105f4ecef8ad9ca31a8372d0c353', }, ); console.log(tail); ``` #### Response ```json { "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": {}, "success": true } ``` ## Domain Types ### Tail Create Response - `TailCreateResponse` A tail session for streaming logs from a Pages deployment. - `id: string` Identifier of the tail session. - `url?: string` Optional WebSocket URL to connect to for receiving tail events, when returned by the tail service. ### Tail Delete Response - `TailDeleteResponse = unknown` # Domains ## Get domains `client.pages.projects.domains.list(stringprojectName, DomainListParamsparams, RequestOptionsoptions?): SinglePage` **get** `/accounts/{account_id}/pages/projects/{project_name}/domains` Fetch a list of all domains associated with a Pages project. ### Parameters - `projectName: string` Name of the project. - `params: DomainListParams` - `account_id: string` Identifier. ### Returns - `DomainListResponse` - `id: string` - `certificate_authority: "google" | "lets_encrypt"` - `"google"` - `"lets_encrypt"` - `created_on: string` - `domain_id: string` - `name: string` The domain name. - `status: "initializing" | "pending" | "active" | 3 more` - `"initializing"` - `"pending"` - `"active"` - `"deactivated"` - `"blocked"` - `"error"` - `validation_data: ValidationData` - `method: "http" | "txt"` - `"http"` - `"txt"` - `status: "initializing" | "pending" | "active" | 2 more` - `"initializing"` - `"pending"` - `"active"` - `"deactivated"` - `"error"` - `error_message?: string` - `txt_name?: string` - `txt_value?: string` - `verification_data: VerificationData` - `status: "pending" | "active" | "deactivated" | 2 more` - `"pending"` - `"active"` - `"deactivated"` - `"blocked"` - `"error"` - `error_message?: string` - `zone_tag: string` ### Example ```typescript import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); // Automatically fetches more pages as needed. for await (const domainListResponse of client.pages.projects.domains.list('this-is-my-project-01', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', })) { console.log(domainListResponse.id); } ``` #### Response ```json { "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": "id", "certificate_authority": "lets_encrypt", "created_on": "created_on", "domain_id": "domain_id", "name": "this-is-my-domain-01.com", "status": "initializing", "validation_data": { "method": "http", "status": "initializing", "error_message": "error_message", "txt_name": "txt_name", "txt_value": "txt_value" }, "verification_data": { "status": "pending", "error_message": "error_message" }, "zone_tag": "zone_tag" } ], "success": true, "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000, "total_pages": 100 } } ``` ## Get domain `client.pages.projects.domains.get(stringdomainName, DomainGetParamsparams, RequestOptionsoptions?): DomainGetResponse` **get** `/accounts/{account_id}/pages/projects/{project_name}/domains/{domain_name}` Fetch a single domain. ### Parameters - `domainName: string` The domain name. - `params: DomainGetParams` - `account_id: string` Identifier. - `project_name: string` Name of the project. ### Returns - `DomainGetResponse` - `id: string` - `certificate_authority: "google" | "lets_encrypt"` - `"google"` - `"lets_encrypt"` - `created_on: string` - `domain_id: string` - `name: string` The domain name. - `status: "initializing" | "pending" | "active" | 3 more` - `"initializing"` - `"pending"` - `"active"` - `"deactivated"` - `"blocked"` - `"error"` - `validation_data: ValidationData` - `method: "http" | "txt"` - `"http"` - `"txt"` - `status: "initializing" | "pending" | "active" | 2 more` - `"initializing"` - `"pending"` - `"active"` - `"deactivated"` - `"error"` - `error_message?: string` - `txt_name?: string` - `txt_value?: string` - `verification_data: VerificationData` - `status: "pending" | "active" | "deactivated" | 2 more` - `"pending"` - `"active"` - `"deactivated"` - `"blocked"` - `"error"` - `error_message?: string` - `zone_tag: string` ### Example ```typescript import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const domain = await client.pages.projects.domains.get('this-is-my-domain-01.com', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', project_name: 'this-is-my-project-01', }); console.log(domain.id); ``` #### Response ```json { "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": "id", "certificate_authority": "lets_encrypt", "created_on": "created_on", "domain_id": "domain_id", "name": "this-is-my-domain-01.com", "status": "initializing", "validation_data": { "method": "http", "status": "initializing", "error_message": "error_message", "txt_name": "txt_name", "txt_value": "txt_value" }, "verification_data": { "status": "pending", "error_message": "error_message" }, "zone_tag": "zone_tag" }, "success": true } ``` ## Add domain `client.pages.projects.domains.create(stringprojectName, DomainCreateParamsparams, RequestOptionsoptions?): DomainCreateResponse` **post** `/accounts/{account_id}/pages/projects/{project_name}/domains` Add a new domain for the Pages project. ### Parameters - `projectName: string` Name of the project. - `params: DomainCreateParams` - `account_id: string` Path param: Identifier. - `name: string` Body param: The domain name. ### Returns - `DomainCreateResponse` - `id: string` - `certificate_authority: "google" | "lets_encrypt"` - `"google"` - `"lets_encrypt"` - `created_on: string` - `domain_id: string` - `name: string` The domain name. - `status: "initializing" | "pending" | "active" | 3 more` - `"initializing"` - `"pending"` - `"active"` - `"deactivated"` - `"blocked"` - `"error"` - `validation_data: ValidationData` - `method: "http" | "txt"` - `"http"` - `"txt"` - `status: "initializing" | "pending" | "active" | 2 more` - `"initializing"` - `"pending"` - `"active"` - `"deactivated"` - `"error"` - `error_message?: string` - `txt_name?: string` - `txt_value?: string` - `verification_data: VerificationData` - `status: "pending" | "active" | "deactivated" | 2 more` - `"pending"` - `"active"` - `"deactivated"` - `"blocked"` - `"error"` - `error_message?: string` - `zone_tag: string` ### Example ```typescript import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const domain = await client.pages.projects.domains.create('this-is-my-project-01', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', name: 'this-is-my-domain-01.com', }); console.log(domain.id); ``` #### Response ```json { "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": "id", "certificate_authority": "lets_encrypt", "created_on": "created_on", "domain_id": "domain_id", "name": "this-is-my-domain-01.com", "status": "initializing", "validation_data": { "method": "http", "status": "initializing", "error_message": "error_message", "txt_name": "txt_name", "txt_value": "txt_value" }, "verification_data": { "status": "pending", "error_message": "error_message" }, "zone_tag": "zone_tag" }, "success": true } ``` ## Patch domain `client.pages.projects.domains.edit(stringdomainName, DomainEditParamsparams, RequestOptionsoptions?): DomainEditResponse` **patch** `/accounts/{account_id}/pages/projects/{project_name}/domains/{domain_name}` Retry the validation status of a single domain. ### Parameters - `domainName: string` The domain name. - `params: DomainEditParams` - `account_id: string` Identifier. - `project_name: string` Name of the project. ### Returns - `DomainEditResponse` - `id: string` - `certificate_authority: "google" | "lets_encrypt"` - `"google"` - `"lets_encrypt"` - `created_on: string` - `domain_id: string` - `name: string` The domain name. - `status: "initializing" | "pending" | "active" | 3 more` - `"initializing"` - `"pending"` - `"active"` - `"deactivated"` - `"blocked"` - `"error"` - `validation_data: ValidationData` - `method: "http" | "txt"` - `"http"` - `"txt"` - `status: "initializing" | "pending" | "active" | 2 more` - `"initializing"` - `"pending"` - `"active"` - `"deactivated"` - `"error"` - `error_message?: string` - `txt_name?: string` - `txt_value?: string` - `verification_data: VerificationData` - `status: "pending" | "active" | "deactivated" | 2 more` - `"pending"` - `"active"` - `"deactivated"` - `"blocked"` - `"error"` - `error_message?: string` - `zone_tag: string` ### Example ```typescript import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.pages.projects.domains.edit('this-is-my-domain-01.com', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', project_name: 'this-is-my-project-01', }); console.log(response.id); ``` #### Response ```json { "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": "id", "certificate_authority": "lets_encrypt", "created_on": "created_on", "domain_id": "domain_id", "name": "this-is-my-domain-01.com", "status": "initializing", "validation_data": { "method": "http", "status": "initializing", "error_message": "error_message", "txt_name": "txt_name", "txt_value": "txt_value" }, "verification_data": { "status": "pending", "error_message": "error_message" }, "zone_tag": "zone_tag" }, "success": true } ``` ## Delete domain `client.pages.projects.domains.delete(stringdomainName, DomainDeleteParamsparams, RequestOptionsoptions?): DomainDeleteResponse | null` **delete** `/accounts/{account_id}/pages/projects/{project_name}/domains/{domain_name}` Delete a Pages project's domain. ### Parameters - `domainName: string` The domain name. - `params: DomainDeleteParams` - `account_id: string` Identifier. - `project_name: string` Name of the project. ### Returns - `DomainDeleteResponse = unknown` ### Example ```typescript import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const domain = await client.pages.projects.domains.delete('this-is-my-domain-01.com', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', project_name: 'this-is-my-project-01', }); console.log(domain); ``` #### Response ```json { "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": {}, "success": true } ``` ## Domain Types ### Domain List Response - `DomainListResponse` - `id: string` - `certificate_authority: "google" | "lets_encrypt"` - `"google"` - `"lets_encrypt"` - `created_on: string` - `domain_id: string` - `name: string` The domain name. - `status: "initializing" | "pending" | "active" | 3 more` - `"initializing"` - `"pending"` - `"active"` - `"deactivated"` - `"blocked"` - `"error"` - `validation_data: ValidationData` - `method: "http" | "txt"` - `"http"` - `"txt"` - `status: "initializing" | "pending" | "active" | 2 more` - `"initializing"` - `"pending"` - `"active"` - `"deactivated"` - `"error"` - `error_message?: string` - `txt_name?: string` - `txt_value?: string` - `verification_data: VerificationData` - `status: "pending" | "active" | "deactivated" | 2 more` - `"pending"` - `"active"` - `"deactivated"` - `"blocked"` - `"error"` - `error_message?: string` - `zone_tag: string` ### Domain Get Response - `DomainGetResponse` - `id: string` - `certificate_authority: "google" | "lets_encrypt"` - `"google"` - `"lets_encrypt"` - `created_on: string` - `domain_id: string` - `name: string` The domain name. - `status: "initializing" | "pending" | "active" | 3 more` - `"initializing"` - `"pending"` - `"active"` - `"deactivated"` - `"blocked"` - `"error"` - `validation_data: ValidationData` - `method: "http" | "txt"` - `"http"` - `"txt"` - `status: "initializing" | "pending" | "active" | 2 more` - `"initializing"` - `"pending"` - `"active"` - `"deactivated"` - `"error"` - `error_message?: string` - `txt_name?: string` - `txt_value?: string` - `verification_data: VerificationData` - `status: "pending" | "active" | "deactivated" | 2 more` - `"pending"` - `"active"` - `"deactivated"` - `"blocked"` - `"error"` - `error_message?: string` - `zone_tag: string` ### Domain Create Response - `DomainCreateResponse` - `id: string` - `certificate_authority: "google" | "lets_encrypt"` - `"google"` - `"lets_encrypt"` - `created_on: string` - `domain_id: string` - `name: string` The domain name. - `status: "initializing" | "pending" | "active" | 3 more` - `"initializing"` - `"pending"` - `"active"` - `"deactivated"` - `"blocked"` - `"error"` - `validation_data: ValidationData` - `method: "http" | "txt"` - `"http"` - `"txt"` - `status: "initializing" | "pending" | "active" | 2 more` - `"initializing"` - `"pending"` - `"active"` - `"deactivated"` - `"error"` - `error_message?: string` - `txt_name?: string` - `txt_value?: string` - `verification_data: VerificationData` - `status: "pending" | "active" | "deactivated" | 2 more` - `"pending"` - `"active"` - `"deactivated"` - `"blocked"` - `"error"` - `error_message?: string` - `zone_tag: string` ### Domain Edit Response - `DomainEditResponse` - `id: string` - `certificate_authority: "google" | "lets_encrypt"` - `"google"` - `"lets_encrypt"` - `created_on: string` - `domain_id: string` - `name: string` The domain name. - `status: "initializing" | "pending" | "active" | 3 more` - `"initializing"` - `"pending"` - `"active"` - `"deactivated"` - `"blocked"` - `"error"` - `validation_data: ValidationData` - `method: "http" | "txt"` - `"http"` - `"txt"` - `status: "initializing" | "pending" | "active" | 2 more` - `"initializing"` - `"pending"` - `"active"` - `"deactivated"` - `"error"` - `error_message?: string` - `txt_name?: string` - `txt_value?: string` - `verification_data: VerificationData` - `status: "pending" | "active" | "deactivated" | 2 more` - `"pending"` - `"active"` - `"deactivated"` - `"blocked"` - `"error"` - `error_message?: string` - `zone_tag: string` ### Domain Delete Response - `DomainDeleteResponse = unknown` # Assets ## Upsert asset hashes `client.pages.assets.upsertHashes(AssetUpsertHashesParamsbody, RequestOptionsoptions?): AssetUpsertHashesResponse` **post** `/pages/assets/upsert-hashes` Register the provided file hashes as recently uploaded to the Pages asset store. Used as part of the Pages Direct Upload workflow so future deployments can avoid re-uploading files that are already present. Authenticate with the JWT obtained from the upload-token endpoint: GET /accounts/{account_id}/pages/projects/{project_name}/upload-token ### Parameters - `body: AssetUpsertHashesParams` - `hashes: Array` List of file content hashes to register in the asset store. ### Returns - `AssetUpsertHashesResponse` - `errors: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `messages: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `success: true` Whether the API call was successful. - `true` ### Example ```typescript import Cloudflare from 'cloudflare'; const client = new Cloudflare(); const response = await client.pages.assets.upsertHashes({ hashes: ['a948904f2f0f479b8f936b8a0c5d9882', 'b026324c6904b2a9cb4b88d6d61c81d1'], }); console.log(response.errors); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true } ``` ## Check missing assets `client.pages.assets.checkMissing(AssetCheckMissingParamsbody, RequestOptionsoptions?): SinglePage` **post** `/pages/assets/check-missing` Check which of the provided file hashes are missing from the Pages asset store. Returns a list of missing hashes that need to be uploaded. Used as part of the Pages Direct Upload workflow. Authenticate with the JWT obtained from the upload-token endpoint: GET /accounts/{account_id}/pages/projects/{project_name}/upload-token ### Parameters - `body: AssetCheckMissingParams` - `hashes: Array` List of file content hashes to check for existence in the asset store. ### Returns - `AssetCheckMissingResponse = string` ### Example ```typescript import Cloudflare from 'cloudflare'; const client = new Cloudflare(); // Automatically fetches more pages as needed. for await (const assetCheckMissingResponse of client.pages.assets.checkMissing({ hashes: ['a948904f2f0f479b8f936b8a0c5d9882', 'b026324c6904b2a9cb4b88d6d61c81d1'], })) { console.log(assetCheckMissingResponse); } ``` #### Response ```json { "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": [ "b026324c6904b2a9cb4b88d6d61c81d1" ], "success": true } ``` ## Upload asset `client.pages.assets.upload(AssetUploadParamsparams, RequestOptionsoptions?): AssetUploadResponse` **post** `/pages/assets/upload` Upload one or more files to the Pages asset store. Each file is identified by its content hash and is uploaded using the same JSON shape as the Cloudflare KV bulk write API. Used as part of the Pages Direct Upload workflow. Authenticate with the JWT obtained from the upload-token endpoint: GET /accounts/{account_id}/pages/projects/{project_name}/upload-token ### Parameters - `params: AssetUploadParams` - `body: Array` - `base64: boolean` Whether value is base64 encoded. - `key: string` File content hash used as the object key in the Pages asset store. - `metadata: Metadata` - `contentType: string` MIME type for the uploaded file. - `value: string` File content. When base64 is true, this value is base64 encoded. ### Returns - `AssetUploadResponse` - `errors: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `messages: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `success: true` Whether the API call was successful. - `true` ### Example ```typescript import Cloudflare from 'cloudflare'; const client = new Cloudflare(); const response = await client.pages.assets.upload({ body: [ { base64: true, key: 'b026324c6904b2a9cb4b88d6d61c81d1', metadata: { contentType: 'text/plain' }, value: 'SGVsbG8sIFdvcmxkIQ==', }, ], }); console.log(response.errors); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true } ``` ## Domain Types ### Asset Upsert Hashes Response - `AssetUpsertHashesResponse` - `errors: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `messages: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `success: true` Whether the API call was successful. - `true` ### Asset Check Missing Response - `AssetCheckMissingResponse = string` ### Asset Upload Response - `AssetUploadResponse` - `errors: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `messages: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `success: true` Whether the API call was successful. - `true`