v14

latestOpenAPI 3.0.32026-08-04377889.4 MB
projects

Update an existing project

Update the fields of a project using either its name or id.

patch/v9/projects/{idOrName}

Path parameters

idOrNamestring required

The unique project identifier or the project name

Example:prj_12HKQaOmR5t5Uy6vdcQsNIiZgHGB

The unique project identifier or the project name

Query parameters

teamIdstring
Example:team_1a2b3c4d5e6f7g8h9i0j1k2l

The Team identifier to perform the request on behalf of.

slugstring
Example:my-team-url-slug

The Team slug to perform the request on behalf of.

Request body

autoExposeSystemEnvsboolean
autoAssignCustomDomainsboolean
autoAssignCustomDomainsUpdatedBystring
buildCommandstring nullable

The build command for this project. When null is used this value will be automatically detected

commandForIgnoringBuildStepstring nullable
customerSupportCodeVisibilityboolean

Specifies whether customer support can see git source for a deployment

devCommandstring nullable

The dev command for this project. When null is used this value will be automatically detected

directoryListingboolean
framework'null' | 'container' | 'blitzjs' | 'nextjs' | 'gatsby' | 'remix' | 'react-router' | 'astro' | 'hexo' | 'eleventy' | 'docusaurus-2' | 'docusaurus' | 'preact' | 'solidstart-1' | 'solidstart' | 'dojo' | 'ember' | 'vue' | 'scully' | 'ionic-angular' | 'angular' | 'polymer' | 'svelte' | 'sveltekit' | 'sveltekit-1' | 'ionic-react' | 'create-react-app' | 'gridsome' | 'umijs' | 'sapper' | 'saber' | 'stencil' | 'nuxtjs' | 'redwoodjs' | 'hugo' | 'jekyll' | 'brunch' | 'middleman' | 'zola' | 'hydrogen' | 'vite' | 'tanstack-start' | 'tanstack-start-lovable' | 'vitepress' | 'vuepress' | 'parcel' | 'fastapi' | 'flask' | 'fasthtml' | 'django' | 'ash' | 'eve' | 'sanity' | 'sanity-v2' | 'storybook' | 'nitro' | 'hono' | 'express' | 'h3' | 'koa' | 'nestjs' | 'elysia' | 'fastify' | 'xmcp' | 'python' | 'ruby' | 'rust' | 'axum' | 'actix-web' | 'bun' | 'node' | 'go' | 'services' | 'mastra' nullable

The framework that is being used for this project. When null is used no framework is selected

gitForkProtectionboolean

Specifies whether PRs from Git forks should require a team member's authorization before it can be deployed

gitLFSboolean

Specifies whether Git LFS is enabled for this project.

protectedSourcemapsboolean

Specifies whether sourcemaps are protected and require authentication to access.

installCommandstring nullable

The install command for this project. When null is used this value will be automatically detected

namestring

The desired name for the project

nodeVersion'24.x' | '22.x' | '20.x' | '18.x' | '16.x' | '14.x' | '12.x' | '10.x'
outputDirectorystring nullable

The output directory of the project. When null is used this value will be automatically detected

previewDeploymentsDisabledboolean nullable

Specifies whether preview deployments are disabled for this project.

previewDeploymentSuffixstring nullable

Custom domain suffix for preview deployments. Takes precedence over team-level suffix. Must be a domain owned by the team.

publicSourceboolean nullable

Deprecated. Accepted for backwards compatibility but ignored.

rootDirectorystring nullable

The name of a directory or relative path to the source code of your project. When null is used it will default to the project root

serverlessFunctionRegionstring nullable

The region to deploy Serverless Functions in this project

serverlessFunctionZeroConfigFailoverboolean

Specifies whether Zero Config Failover is enabled for this project.

skewProtectionBoundaryAtinteger

Deployments created before this absolute datetime have Skew Protection disabled. Value is in milliseconds since epoch to match "createdAt" fields.

skewProtectionMaxAgeinteger

Deployments created before this rolling window have Skew Protection disabled. Value is in seconds to match "revalidate" fields.

skewProtectionAllowedDomainsstring[]

Cross-site domains allowed to fetch skew-protected assets (hostnames, optionally with leading wildcard like *.example.com).

skipGitConnectDuringLinkboolean

Opts-out of the message prompting a CLI user to connect a Git repository in vercel link.

sourceFilesOutsideRootDirectoryboolean

Indicates if there are source files outside of the root directory

enablePreviewFeedbackboolean nullable

Opt-in to preview toolbar on the project level

enableProductionFeedbackboolean nullable

Opt-in to production toolbar on the project level

enableAffectedProjectsDeploymentsboolean

Opt-in to skip deployments when there are no changes to the root directory and its dependencies

enableExternalRewriteCachingboolean

Specifies whether external rewrite caching is enabled for this project.

Example request

{
  "name": "a-project-name"
}

Response

The project was successfully updated

accountIdstring required
appliedCve55182Migrationfalse | true
autoExposeSystemEnvsfalse | true
autoAssignCustomDomainsfalse | true
autoAssignCustomDomainsUpdatedBystring
buildCommandstring nullable
commandForIgnoringBuildStepstring nullable
connectConfigurationIdstring nullable
connectBuildsEnabledfalse | true
passiveConnectConfigurationIdstring nullable
createdAtnumber
customerSupportCodeVisibilityfalse | true
devCommandstring nullable
directoryListingfalse | true required
installCommandstring nullable
framework'actix-web' | 'angular' | 'ash' | 'astro' | 'axum' | 'blitzjs' | 'brunch' | 'bun' | 'container' | 'create-react-app' | 'django' | 'docusaurus' | 'docusaurus-2' | 'dojo' | 'eleventy' | 'elysia' | 'ember' | 'eve' | 'express' | 'fastapi' | 'fasthtml' | 'fastify' | 'flask' | 'gatsby' | 'go' | 'gridsome' | 'h3' | 'hexo' | 'hono' | 'hugo' | 'hydrogen' | 'ionic-angular' | 'ionic-react' | 'jekyll' | 'koa' | 'mastra' | 'middleman' | 'nestjs' | 'nextjs' | 'nitro' | 'node' | 'nuxtjs' | 'parcel' | 'polymer' | 'preact' | 'python' | 'react-router' | 'redwoodjs' | 'remix' | 'ruby' | 'rust' | 'saber' | 'sanity' | 'sanity-v2' | 'sapper' | 'scully' | 'services' | 'solidstart' | 'solidstart-1' | 'stencil' | 'storybook' | 'svelte' | 'sveltekit' | 'sveltekit-1' | 'tanstack-start' | 'tanstack-start-lovable' | 'umijs' | 'vite' | 'vitepress' | 'vue' | 'vuepress' | 'xmcp' | 'zola' | 'null' nullable
gitForkProtectionfalse | true
gitLFSfalse | true
idstring required
namestring required
nodeVersion'10.x' | '12.x' | '14.x' | '16.x' | '18.x' | '20.x' | '22.x' | '24.x' | '8.10.x' required
outputDirectorystring nullable
passwordProtectionobject nullable
productionDeploymentsFastLanefalse | true
rootDirectorystring nullable
serverlessFunctionZeroConfigFailoverfalse | true
skewProtectionBoundaryAtnumber
skewProtectionMaxAgenumber
skewProtectionAllowedDomainsstring[]
skipGitConnectDuringLinkfalse | true
sourceFilesOutsideRootDirectoryfalse | true
enableAffectedProjectsDeploymentsfalse | true
enableExternalRewriteCachingfalse | true
targetsobject
transferCompletedAtnumber
transferStartedAtnumber
transferToAccountIdstring
transferredFromAccountIdstring
updatedAtnumber
livefalse | true
enablePreviewFeedbackfalse | true | null nullable
enableProductionFeedbackfalse | true | null nullable
lastRollbackTargetobject nullable
protectionBypassobject
hasActiveBranchesfalse | true
pausedfalse | true
concurrencyBucketNamestring
tierstring
v0false | true
v0Createdfalse | true
hasDeploymentsfalse | true
protectedSourcemapsfalse | true
avatarstring nullable

Example response

{
  "crons": {
    "definitions": [
      {
        "host": "vercel.com",
        "path": "/api/crons/sync-something?hello=world",
        "schedule": "0 0 * * *"
      }
    ]
  },
  "rollingRelease": {
    "target": "production",
    "stages": [
      {
        "targetPercentage": 25,
        "duration": 600
      }
    ]
  }
}