{"openapi":"3.0.0","info":{"description":"Cloudflare Pages API — projects, deployments, domains, direct-upload token.","version":[]},"servers":[{"description":"Cloudflare Pages API — projects, deployments, domains, direct-upload token.","url":"https://api.apirails.com/cloudflare-pages"}],"paths":{"/client/v4/accounts/{account_id}/pages/projects":{"get":{"tags":["Projects"],"parameters":[{"name":"account_id","in":"path","description":"Identifier. (max length 32)","required":true,"schema":{"type":"string","example":""}},{"name":"page","in":"query","description":"Which page of projects to fetch.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"How many projects to return per page.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.cloudflare.com/api/resources/pages/","api_endpoint":"https://api.cloudflare.com/client/v4/accounts/{account_id}/pages/projects"},"summary":"Get projects","description":"Fetch a list of all user projects.","security":[{"bearerAuth":[]}]},"post":{"tags":["Projects"],"parameters":[{"name":"account_id","in":"path","description":"Identifier. (max length 32)","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.cloudflare.com/api/resources/pages/","api_endpoint":"https://api.cloudflare.com/client/v4/accounts/{account_id}/pages/projects"},"summary":"Create project","description":"Create a new project.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"build_config":{"type":"object","description":"Configs for the project build process.","properties":{"build_caching":{"type":"boolean","description":"Enable build caching for the project.","enum":[true,false]},"build_command":{"type":"string","description":"Command used to build project."},"destination_dir":{"type":"string","description":"Output directory of the build."},"root_dir":{"type":"string","description":"Directory to run the command."},"web_analytics_tag":{"type":"string","description":"The classifying tag for analytics."},"web_analytics_token":{"type":"string","description":"The auth token for analytics."}}},"deployment_configs":{"type":"object","description":"Configs for deployments in a project.","properties":{"preview":{"type":"object","description":"Configs for preview deploys."},"production":{"type":"object","description":"Configs for production deploys."}}},"name":{"type":"string","description":"Name of the project.","required":true},"production_branch":{"type":"string","description":"Production branch of the project. Used to identify production deployments.","required":true},"source":{"type":"object","description":"Configs for the project source control.","properties":{"type":{"type":"string","description":"The source control management provider.","required":true,"enum":["github","gitlab"]},"config":{"type":"object","description":"Config","required":true}}}}},"example":{"build_config":{},"deployment_configs":{},"name":"","production_branch":"","source":{}}}}}}},"/client/v4/accounts/{account_id}/pages/projects/{project_name}":{"get":{"tags":["Projects"],"parameters":[{"name":"account_id","in":"path","description":"Identifier. (max length 32)","required":true,"schema":{"type":"string","example":""}},{"name":"project_name","in":"path","description":"Name of the project.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.cloudflare.com/api/resources/pages/","api_endpoint":"https://api.cloudflare.com/client/v4/accounts/{account_id}/pages/projects/{project_name}"},"summary":"Get project","description":"Fetch a project by name.","security":[{"bearerAuth":[]}]},"patch":{"tags":["Projects"],"parameters":[{"name":"account_id","in":"path","description":"Identifier. (max length 32)","required":true,"schema":{"type":"string","example":""}},{"name":"project_name","in":"path","description":"Name of the project.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.cloudflare.com/api/resources/pages/","api_endpoint":"https://api.cloudflare.com/client/v4/accounts/{account_id}/pages/projects/{project_name}"},"summary":"Update project","description":"Set new attributes for an existing project. Modify environment variables. To delete an environment variable, set the key to null.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"build_config":{"type":"object","description":"Configs for the project build process.","properties":{"build_caching":{"type":"boolean","description":"Enable build caching for the project.","enum":[true,false]},"build_command":{"type":"string","description":"Command used to build project."},"destination_dir":{"type":"string","description":"Output directory of the build."},"root_dir":{"type":"string","description":"Directory to run the command."},"web_analytics_tag":{"type":"string","description":"The classifying tag for analytics."},"web_analytics_token":{"type":"string","description":"The auth token for analytics."}}},"deployment_configs":{"type":"object","description":"Configs for deployments in a project.","properties":{"preview":{"type":"object","description":"Configs for preview deploys."},"production":{"type":"object","description":"Configs for production deploys."}}},"name":{"type":"string","description":"Name of the project."},"production_branch":{"type":"string","description":"Production branch of the project. Used to identify production deployments."},"source":{"type":"object","description":"Configs for the project source control.","properties":{"type":{"type":"string","description":"The source control management provider.","required":true,"enum":["github","gitlab"]},"config":{"type":"object","description":"Config","required":true}}}}},"example":{"build_config":{},"deployment_configs":{},"name":"","production_branch":"","source":{}}}}}},"delete":{"tags":["Projects"],"parameters":[{"name":"account_id","in":"path","description":"Identifier. (max length 32)","required":true,"schema":{"type":"string","example":""}},{"name":"project_name","in":"path","description":"Name of the project.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.cloudflare.com/api/resources/pages/","api_endpoint":"https://api.cloudflare.com/client/v4/accounts/{account_id}/pages/projects/{project_name}"},"summary":"Delete project","description":"Delete a project by name.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/client/v4/accounts/{account_id}/pages/projects/{project_name}/deployments":{"get":{"tags":["Deployments"],"parameters":[{"name":"account_id","in":"path","description":"Identifier. (max length 32)","required":true,"schema":{"type":"string","example":""}},{"name":"project_name","in":"path","description":"Name of the project.","required":true,"schema":{"type":"string","example":""}},{"name":"env","in":"query","description":"What type of deployments to fetch.","required":false,"schema":{"type":"string","example":"","items":{"type":"string","enum":["production","preview"]}}},{"name":"page","in":"query","description":"Which page of deployments to fetch.","required":false,"schema":{"type":"number","example":""}},{"name":"per_page","in":"query","description":"How many deployments to return per page.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.cloudflare.com/api/resources/pages/","api_endpoint":"https://api.cloudflare.com/client/v4/accounts/{account_id}/pages/projects/{project_name}/deployments"},"summary":"Get deployments","description":"Fetch a list of project deployments.","security":[{"bearerAuth":[]}]},"post":{"tags":["Deployments"],"parameters":[{"name":"account_id","in":"path","description":"Identifier. (max length 32)","required":true,"schema":{"type":"string","example":""}},{"name":"project_name","in":"path","description":"Name of the project.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.cloudflare.com/api/resources/pages/","api_endpoint":"https://api.cloudflare.com/client/v4/accounts/{account_id}/pages/projects/{project_name}/deployments"},"summary":"Create deployment","description":"Start a new deployment from production. The repository and account must have already been authorized on the Cloudflare Pages dashboard.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":false,"content":{"multipart/form-data":{"schema":{"type":"object","required":[],"properties":{"_headers":{"type":"string","format":"binary","description":"Headers configuration file for the deployment."},"_redirects":{"type":"string","format":"binary","description":"Redirects configuration file for the deployment."},"_routes.json":{"type":"string","format":"binary","description":"Routes configuration file defining routing rules."},"_worker.bundle":{"type":"string","format":"binary","description":"Worker bundle file in multipart/form-data format. Mutually exclusive with `_worker.js`.\nCannot specify both `_worker.js` and `_worker.bundle` in the same request.\nMaximum size: 25 MiB.\n"},"_worker.js":{"type":"string","format":"binary","description":"Worker JavaScript file. Mutually exclusive with `_worker.bundle`.\nCannot specify both `_worker.js` and `_worker.bundle` in the same request.\n"},"branch":{"type":"string","description":"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":{"type":"string","description":"Boolean string indicating if the working directory has uncommitted changes.","enum":["true","false"]},"commit_hash":{"type":"string","description":"Git commit SHA associated with this deployment."},"commit_message":{"type":"string","description":"Git commit message associated with this deployment."},"functions-filepath-routing-config.json":{"type":"string","format":"binary","description":"Functions routing configuration file."},"manifest":{"type":"string","description":"JSON string containing a manifest of files to deploy. Maps file paths to their content hashes.\nRequired for direct upload deployments. Maximum 20,000 entries.\n"},"pages_build_output_dir":{"type":"string","description":"The build output directory path."},"wrangler_config_hash":{"type":"string","description":"Hash of the Wrangler configuration file used for this deployment."}}},"example":{"_headers":"(binary)","_redirects":"(binary)","_routes.json":"(binary)","_worker.bundle":"(binary)","_worker.js":"(binary)","branch":"","commit_dirty":"","commit_hash":"","commit_message":"","functions-filepath-routing-config.json":"(binary)","manifest":"","pages_build_output_dir":"","wrangler_config_hash":""}}}}}},"/client/v4/accounts/{account_id}/pages/projects/{project_name}/deployments/{deployment_id}":{"get":{"tags":["Deployments"],"parameters":[{"name":"account_id","in":"path","description":"Identifier. (max length 32)","required":true,"schema":{"type":"string","example":""}},{"name":"deployment_id","in":"path","description":"Identifier. (max length 32)","required":true,"schema":{"type":"string","example":""}},{"name":"project_name","in":"path","description":"Name of the project.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.cloudflare.com/api/resources/pages/","api_endpoint":"https://api.cloudflare.com/client/v4/accounts/{account_id}/pages/projects/{project_name}/deployments/{deployment_id}"},"summary":"Get deployment info","description":"Fetch information about a deployment.","security":[{"bearerAuth":[]}]},"delete":{"tags":["Deployments"],"parameters":[{"name":"account_id","in":"path","description":"Identifier. (max length 32)","required":true,"schema":{"type":"string","example":""}},{"name":"deployment_id","in":"path","description":"Identifier. (max length 32)","required":true,"schema":{"type":"string","example":""}},{"name":"project_name","in":"path","description":"Name of the project.","required":true,"schema":{"type":"string","example":""}},{"name":"force","in":"query","description":"Allow deletion of aliased non-production deployments when a normal delete would be rejected.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.cloudflare.com/api/resources/pages/","api_endpoint":"https://api.cloudflare.com/client/v4/accounts/{account_id}/pages/projects/{project_name}/deployments/{deployment_id}"},"summary":"Delete deployment","description":"Delete a deployment.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/client/v4/accounts/{account_id}/pages/projects/{project_name}/deployments/{deployment_id}/history/logs":{"get":{"tags":["Deployments"],"parameters":[{"name":"account_id","in":"path","description":"Identifier. (max length 32)","required":true,"schema":{"type":"string","example":""}},{"name":"deployment_id","in":"path","description":"Identifier. (max length 32)","required":true,"schema":{"type":"string","example":""}},{"name":"project_name","in":"path","description":"Name of the project.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.cloudflare.com/api/resources/pages/","api_endpoint":"https://api.cloudflare.com/client/v4/accounts/{account_id}/pages/projects/{project_name}/deployments/{deployment_id}/history/logs"},"summary":"Get deployment logs","description":"Fetch deployment logs for a project.","security":[{"bearerAuth":[]}]}},"/client/v4/accounts/{account_id}/pages/projects/{project_name}/deployments/{deployment_id}/retry":{"post":{"tags":["Deployments"],"parameters":[{"name":"account_id","in":"path","description":"Identifier. (max length 32)","required":true,"schema":{"type":"string","example":""}},{"name":"deployment_id","in":"path","description":"Identifier. (max length 32)","required":true,"schema":{"type":"string","example":""}},{"name":"project_name","in":"path","description":"Name of the project.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.cloudflare.com/api/resources/pages/","api_endpoint":"https://api.cloudflare.com/client/v4/accounts/{account_id}/pages/projects/{project_name}/deployments/{deployment_id}/retry"},"summary":"Retry deployment","description":"Retry a previous deployment.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/client/v4/accounts/{account_id}/pages/projects/{project_name}/deployments/{deployment_id}/rollback":{"post":{"tags":["Deployments"],"parameters":[{"name":"account_id","in":"path","description":"Identifier. (max length 32)","required":true,"schema":{"type":"string","example":""}},{"name":"deployment_id","in":"path","description":"Identifier. (max length 32)","required":true,"schema":{"type":"string","example":""}},{"name":"project_name","in":"path","description":"Name of the project.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.cloudflare.com/api/resources/pages/","api_endpoint":"https://api.cloudflare.com/client/v4/accounts/{account_id}/pages/projects/{project_name}/deployments/{deployment_id}/rollback"},"summary":"Rollback deployment","description":"Rollback the production deployment to a previous deployment. You can only rollback to succesful builds on production.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/client/v4/accounts/{account_id}/pages/projects/{project_name}/deployments/{deployment_id}/tails":{"post":{"tags":["Deployments"],"parameters":[{"name":"account_id","in":"path","description":"Identifier. (max length 32)","required":true,"schema":{"type":"string","example":""}},{"name":"deployment_id","in":"path","description":"Identifier. (max length 32)","required":true,"schema":{"type":"string","example":""}},{"name":"project_name","in":"path","description":"Name of the project.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.cloudflare.com/api/resources/pages/","api_endpoint":"https://api.cloudflare.com/client/v4/accounts/{account_id}/pages/projects/{project_name}/deployments/{deployment_id}/tails"},"summary":"Create deployment tail","description":"Start a tail that receives logs and exception data.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"filters":{"type":"array","description":"Filters to apply to the tail session.","items":{"type":"object","properties":{}}}}},"example":{"filters":[]}}}}}},"/client/v4/accounts/{account_id}/pages/projects/{project_name}/deployments/{deployment_id}/tails/{tail_id}":{"delete":{"tags":["Deployments"],"parameters":[{"name":"account_id","in":"path","description":"Identifier. (max length 32)","required":true,"schema":{"type":"string","example":""}},{"name":"deployment_id","in":"path","description":"Identifier. (max length 32)","required":true,"schema":{"type":"string","example":""}},{"name":"project_name","in":"path","description":"Name of the project.","required":true,"schema":{"type":"string","example":""}},{"name":"tail_id","in":"path","description":"Identifier. (max length 32)","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.cloudflare.com/api/resources/pages/","api_endpoint":"https://api.cloudflare.com/client/v4/accounts/{account_id}/pages/projects/{project_name}/deployments/{deployment_id}/tails/{tail_id}"},"summary":"Delete deployment tail","description":"Deletes a tail from a Pages deployment.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/client/v4/accounts/{account_id}/pages/projects/{project_name}/domains":{"get":{"tags":["Domains"],"parameters":[{"name":"account_id","in":"path","description":"Identifier. (max length 32)","required":true,"schema":{"type":"string","example":""}},{"name":"project_name","in":"path","description":"Name of the project.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.cloudflare.com/api/resources/pages/","api_endpoint":"https://api.cloudflare.com/client/v4/accounts/{account_id}/pages/projects/{project_name}/domains"},"summary":"Get domains","description":"Fetch a list of all domains associated with a Pages project.","security":[{"bearerAuth":[]}]},"post":{"tags":["Domains"],"parameters":[{"name":"account_id","in":"path","description":"Identifier. (max length 32)","required":true,"schema":{"type":"string","example":""}},{"name":"project_name","in":"path","description":"Name of the project.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.cloudflare.com/api/resources/pages/","api_endpoint":"https://api.cloudflare.com/client/v4/accounts/{account_id}/pages/projects/{project_name}/domains"},"summary":"Add domain","description":"Add a new domain for the Pages project.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"name":{"type":"string","description":"The domain name.","required":true}}},"example":{"name":""}}}}}},"/client/v4/accounts/{account_id}/pages/projects/{project_name}/domains/{domain_name}":{"get":{"tags":["Domains"],"parameters":[{"name":"account_id","in":"path","description":"Identifier. (max length 32)","required":true,"schema":{"type":"string","example":""}},{"name":"domain_name","in":"path","description":"The domain name.","required":true,"schema":{"type":"string","example":""}},{"name":"project_name","in":"path","description":"Name of the project.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.cloudflare.com/api/resources/pages/","api_endpoint":"https://api.cloudflare.com/client/v4/accounts/{account_id}/pages/projects/{project_name}/domains/{domain_name}"},"summary":"Get domain","description":"Fetch a single domain.","security":[{"bearerAuth":[]}]},"patch":{"tags":["Domains"],"parameters":[{"name":"account_id","in":"path","description":"Identifier. (max length 32)","required":true,"schema":{"type":"string","example":""}},{"name":"domain_name","in":"path","description":"The domain name.","required":true,"schema":{"type":"string","example":""}},{"name":"project_name","in":"path","description":"Name of the project.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.cloudflare.com/api/resources/pages/","api_endpoint":"https://api.cloudflare.com/client/v4/accounts/{account_id}/pages/projects/{project_name}/domains/{domain_name}"},"summary":"Patch domain","description":"Retry the validation status of a single domain.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}},"delete":{"tags":["Domains"],"parameters":[{"name":"account_id","in":"path","description":"Identifier. (max length 32)","required":true,"schema":{"type":"string","example":""}},{"name":"domain_name","in":"path","description":"The domain name.","required":true,"schema":{"type":"string","example":""}},{"name":"project_name","in":"path","description":"Name of the project.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.cloudflare.com/api/resources/pages/","api_endpoint":"https://api.cloudflare.com/client/v4/accounts/{account_id}/pages/projects/{project_name}/domains/{domain_name}"},"summary":"Delete domain","description":"Delete a Pages project's domain.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/client/v4/accounts/{account_id}/pages/projects/{project_name}/purge_build_cache":{"post":{"tags":["Projects"],"parameters":[{"name":"account_id","in":"path","description":"Identifier. (max length 32)","required":true,"schema":{"type":"string","example":""}},{"name":"project_name","in":"path","description":"Name of the project.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.cloudflare.com/api/resources/pages/","api_endpoint":"https://api.cloudflare.com/client/v4/accounts/{account_id}/pages/projects/{project_name}/purge_build_cache"},"summary":"Purge build cache","description":"Purge all cached build artifacts for a Pages project","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/client/v4/accounts/{account_id}/pages/projects/{project_name}/source":{"post":{"tags":["Projects"],"parameters":[{"name":"account_id","in":"path","description":"Identifier. (max length 32)","required":true,"schema":{"type":"string","example":""}},{"name":"project_name","in":"path","description":"Name of the project.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.cloudflare.com/api/resources/pages/","api_endpoint":"https://api.cloudflare.com/client/v4/accounts/{account_id}/pages/projects/{project_name}/source"},"summary":"Connect project source","description":"Connect a Git repository source to an existing Pages project.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"type":{"type":"string","description":"The source control management provider.","required":true,"enum":["github","gitlab"]},"config":{"type":"object","description":"Config","required":true,"properties":{"deployments_enabled":{"type":"boolean","description":"Whether to enable automatic deployments when pushing to the source repository.\nWhen disabled, no deployments (production or preview) will be triggered automatically.\n","required":true,"enum":[true,false]},"owner":{"type":"string","description":"The owner of the repository.","required":true},"owner_id":{"type":"string","description":"The owner ID of the repository.","required":true},"path_excludes":{"type":"array","description":"A list of paths that should be excluded from triggering a preview deployment. Wildcard syntax (`*`) is supported.","required":true},"path_includes":{"type":"array","description":"A list of paths that should be watched to trigger a preview deployment. Wildcard syntax (`*`) is supported.","required":true},"pr_comments_enabled":{"type":"boolean","description":"Whether to enable PR comments.","required":true,"enum":[true,false]},"preview_branch_excludes":{"type":"array","description":"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`.","required":true},"preview_branch_includes":{"type":"array","description":"A list of branches that should trigger a preview deployment. Wildcard syntax (`*`) is supported. Must be used with `preview_deployment_setting` set to `custom`.","required":true},"preview_deployment_setting":{"type":"string","description":"Controls whether commits to preview branches trigger a preview deployment.","required":true,"enum":["all","none","custom"]},"production_branch":{"type":"string","description":"The production branch of the repository.","required":true},"production_deployments_enabled":{"type":"boolean","description":"Whether to trigger a production deployment on commits to the production branch.","required":true,"enum":[true,false]},"repo_id":{"type":"string","description":"The ID of the repository.","required":true},"repo_name":{"type":"string","description":"The name of the repository.","required":true}}}}},"example":{"type":"","config":{}}}}}},"delete":{"tags":["Projects"],"parameters":[{"name":"account_id","in":"path","description":"Identifier. (max length 32)","required":true,"schema":{"type":"string","example":""}},{"name":"project_name","in":"path","description":"Name of the project.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.cloudflare.com/api/resources/pages/","api_endpoint":"https://api.cloudflare.com/client/v4/accounts/{account_id}/pages/projects/{project_name}/source"},"summary":"Disconnect project source","description":"Disconnect the Git repository source from an existing Pages project.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/client/v4/accounts/{account_id}/pages/projects/{project_name}/upload-token":{"get":{"tags":["Projects"],"parameters":[{"name":"account_id","in":"path","description":"Identifier. (max length 32)","required":true,"schema":{"type":"string","example":""}},{"name":"project_name","in":"path","description":"Name of the project.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developers.cloudflare.com/api/resources/pages/","api_endpoint":"https://api.cloudflare.com/client/v4/accounts/{account_id}/pages/projects/{project_name}/upload-token"},"summary":"Get upload token","description":"Get a short-lived JWT for Pages Direct Upload asset operations.","security":[{"bearerAuth":[]}]}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}}},"security":[{"bearerAuth":[]}]}