Create deployment
Start a new deployment from production. The repository and account must have already been authorized on the Cloudflare Pages dashboard.
Security
API Token
The preferred authorization scheme for interacting with the Cloudflare API. Create a token.
API Email + API Key
The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.
The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.
Accepted Permissions (at least one required)
Body ParametersForm Data
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.
Worker JavaScript file. Mutually exclusive with _worker.bundle.
Cannot specify both _worker.js and _worker.bundle in the same request.
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.
Create deployment
curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/pages/projects/$PROJECT_NAME/deployments \
-H 'Content-Type: multipart/form-data' \
-H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
-F branch=staging \
-F commit_dirty=false \
-F commit_hash=a1b2c3d4e5f6 \
-F commit_message='Update homepage' \
-F manifest='{"index.html": "abc123", "style.css": "def456"}' \
-F pages_build_output_dir=dist{
"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",
"uses_functions": true
},
"success": true
}Returns Examples
{
"errors": [
{
"code": 1000,
"message": "message",
"documentation_url": "documentation_url",
"source": {
"pointer": "pointer"
}
}
],
"messages": [
{
"code": 1000,
"message": "message",
"documentation_url": "documentation_url",
"source": {
"pointer": "pointer"
}
}
],
"result": {
"id": "f64788e9-fccd-4d4a-a28a-cb84f88f6",
"aliases": [
"https://branchname.projectname.pages.dev"
],
"build_config": {
"web_analytics_tag": "cee1c73f6e4743d0b5e6bb1a0bcaabcc",
"web_analytics_token": "021e1057c18547eca7b79f2516f06o7x",
"build_caching": true,
"build_command": "npm run build",
"destination_dir": "build",
"root_dir": "/"
},
"created_on": "2021-03-09T00:55:03.923456Z",
"deployment_trigger": {
"metadata": {
"branch": "main",
"commit_dirty": false,
"commit_hash": "ad9ccd918a81025731e10e40267e11273a263421",
"commit_message": "Update index.html"
},
"type": "ad_hoc"
},
"env_vars": {
"foo": {
"type": "plain_text",
"value": "hello world"
}
},
"environment": "preview",
"is_skipped": true,
"latest_stage": {
"ended_on": "2021-03-09T00:58:59.045655Z",
"name": "deploy",
"started_on": "2021-03-09T00:55:03.923456Z",
"status": "success"
},
"modified_on": "2021-03-09T00:58:59.045655Z",
"project_id": "7b162ea7-7367-4d67-bcde-1160995d5",
"project_name": "this-is-my-project-01",
"short_id": "f64788e9",
"source": {
"config": {
"deployments_enabled": true,
"owner": "my-org",
"owner_id": "12345678",
"path_excludes": [
"string"
],
"path_includes": [
"string"
],
"pr_comments_enabled": true,
"preview_branch_excludes": [
"string"
],
"preview_branch_includes": [
"string"
],
"preview_deployment_setting": "all",
"production_branch": "main",
"production_deployments_enabled": true,
"repo_id": "12345678",
"repo_name": "my-repo"
},
"type": "github"
},
"stages": [
{
"ended_on": "2021-06-03T15:39:03.134378Z",
"name": "queued",
"started_on": "2021-06-03T15:38:15.608194Z",
"status": "active"
},
{
"ended_on": null,
"name": "initialize",
"started_on": null,
"status": "idle"
},
{
"ended_on": null,
"name": "clone_repo",
"started_on": null,
"status": "idle"
},
{
"ended_on": null,
"name": "build",
"started_on": null,
"status": "idle"
},
{
"ended_on": null,
"name": "deploy",
"started_on": null,
"status": "idle"
}
],
"url": "https://f64788e9.ninjakittens.pages.dev",
"uses_functions": true
},
"success": true
}