POST /v13/deployments

Create a new deployment with all the required and intended data. If the deployment is not a git deployment, all files must be provided with the request, either referenced or inlined. Additionally, a deployment id can be specified to redeploy a previous deployment.

Servers

Request headers

Name Type Required Description
Content-Type String Yes The media type of the request body.

Default value: "application/json"

Query parameters

Name Type Required Description
teamId String No

The Team identifier to perform the request on behalf of.

slug String No

The Team slug to perform the request on behalf of.

skipAutoDetectionConfirmation String No

Allows to skip framework detection so the API would not fail to ask for confirmation

Possible values:

  • "1"
  • "0"
forceNew String No

Forces a new deployment even if there is a previous similar deployment

Possible values:

  • "1"
  • "0"

Request body fields

Name Type Required Description
projectSettings Object No

Project settings that will be applied to the deployment. It is required for the first deployment of a project and will be saved for any following deployments

projectSettings.commandForIgnoringBuildStep String No
projectSettings.devCommand String No

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

projectSettings.rootDirectory String No

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

projectSettings.sourceFilesOutsideRootDirectory Boolean No

Indicates if there are source files outside of the root directory, typically used for monorepos

projectSettings.skipGitConnectDuringLink Boolean No

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

projectSettings.installCommand String No

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

projectSettings.nodeVersion String No

Override the Node.js version that should be used for this deployment

Possible values:

  • "16.x"
  • "20.x"
  • "22.x"
  • "10.x"
  • "12.x"
  • "14.x"
  • "8.10.x"
  • "18.x"
projectSettings.outputDirectory String No

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

projectSettings.buildCommand String No

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

projectSettings.serverlessFunctionRegion String No

The region to deploy Serverless Functions in this project

projectSettings.framework String No

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

Possible values:

  • "astro"
  • "nextjs"
  • "sanity-v3"
  • "remix"
  • "docusaurus"
  • "jekyll"
  • "brunch"
  • "umijs"
  • "dojo"
  • "parcel"
  • "solidstart-1"
  • "eleventy"
  • "ionic-angular"
  • "create-react-app"
  • "docusaurus-2"
  • "svelte"
  • "middleman"
  • "redwoodjs"
  • "sapper"
  • "angular"
  • "hugo"
  • "hydrogen"
  • "hexo"
  • "polymer"
  • "blitzjs"
  • "ember"
  • "zola"
  • "vue"
  • "sanity"
  • "react-router"
  • "vite"
  • "solidstart"
  • "scully"
  • "sveltekit-1"
  • "gridsome"
  • "stencil"
  • "ionic-react"
  • null
  • "saber"
  • "preact"
  • "gatsby"
  • "nuxtjs"
  • "storybook"
  • "vitepress"
  • "vuepress"
  • "fasthtml"
  • "sveltekit"
customEnvironmentSlugOrId String No

Deploy to a custom environment, which will override the default environment

deploymentId String No

An deployment id for an existing deployment to redeploy

files[] Array No

A list of objects with the files to be deployed

name String Yes

A string with the project name used in the deployment URL

target String No

Either not defined, staging, production, or a custom environment identifier. If staging, a staging alias in the format <project>-<team>.vercel.app will be assigned. If production, any aliases defined in alias will be assigned. If omitted, the target will be preview.

meta Object No

An object containing the deployment's metadata. Multiple key-value pairs can be attached to a deployment

withLatestCommit Boolean No

When true and deploymentId is passed in, the sha from the previous deployment's gitSource is removed forcing the latest commit to be used.

gitMetadata Object No

Populates initial git metadata for different git providers.

gitMetadata.commitMessage String No

The commit message

gitMetadata.commitSha String No

The hash of the commit

gitMetadata.dirty Boolean No

Whether or not there have been modifications to the working tree since the latest commit

gitMetadata.commitAuthorName String No

The name of the author of the commit

gitMetadata.remoteUrl String No

The git repository's remote origin url

gitMetadata.commitRef String No

The branch on which the commit was made

monorepoManager String No

The monorepo manager that is being used for this deployment. When null is used no monorepo manager is selected

gitSource No

Defines the Git Repository source to be deployed. This property can not be used in combination with files.

project String No

The target project identifier in which the deployment will be created. When defined, this parameter overrides name

How to start integrating

  1. Add HTTP Task to your workflow definition.
  2. Search for the API you want to integrate with and click on the name.
    • This loads the API reference documentation and prepares the Http request settings.
  3. Click Test request to test run your request to the API and see the API's response.