Create a new deployment
Changed onCreates a new deployment for the authenticated team or user. For non-git deployments, upload files first via the file upload API, then reference them here by SHA — or inline small files directly in the request body. To redeploy an existing deployment, provide its deploymentId; all settings are inherited unless explicitly overridden. The deployment begins building immediately and transitions through QUEUED → INITIALIZING → BUILDING before reaching READY or ERROR.
Request
- Base URL: https://api.vercel.com
- URL: https://api.vercel.com/v13/deployments
- Auth: HTTP bearer
Query parameters
Forces a new deployment even if there is a previous similar deployment. Set to 1 to bypass deployment deduplication and always trigger a fresh build.
Set to 1 to skip framework auto-detection and proceed without confirmation. By default, if Vercel detects a framework that differs from the project setting, the API returns a 400 asking you to confirm. Use this to suppress that check in automated pipelines.
The Team identifier to perform the request on behalf of.
The Team slug to perform the request on behalf of.
Request body
Example request
{
"customEnvironmentSlugOrId": "staging",
"deploymentId": "dpl_2qn7PZrx89yxY34vEZPD31Y9XVj6",
"files": [
{
"file": "folder/file.js"
}
],
"gitMetadata": {
"remoteUrl": "https://github.com/vercel/next.js",
"commitAuthorName": "kyliau",
"commitAuthorEmail": "kyliau@example.com",
"commitMessage": "add method to measure Interaction to Next Paint (INP) (#36490)",
"commitRef": "main",
"commitSha": "dc36199b2234c6586ebe05ec94078a895c707e29",
"dirty": true,
"ci": true,
"ciType": "github-actions",
"ciGitProviderUsername": "rauchg",
"ciGitRepoVisibility": "private",
"rootDirectory": "apps/web"
},
"gitSource": {
"sha": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0"
},
"meta": {
"foo": "bar"
},
"name": "my-instant-deployment",
"project": "my-deployment-project",
"projectSettings": {
"buildCommand": "next build",
"installCommand": "pnpm install"
},
"target": "production"
}Response
Returns the newly created deployment object. Poll readyState to track build progress. See https://vercel.com/docs/deployments/deployment-states for possible states. Returns the reduced deployment view for anonymous (vcn_) callers. Pool-team details are withheld.
Example response
{
"id": "dpl_89qyp1cskzkLrVicDaZoDbjyHuDJ",
"readyState": "READY"
}Changes
- warning
added the new
projectenum value to the//response property for the response status
- warning
- breaking
added
subschema #1subschema #2to the//response propertyoneOflist for the response status - info
removed
subschema #1subschema #2from the//response propertyoneOflist for the response status
- breaking