Add a domain to the project by passing its domain name and by specifying the project by either passing the project id
or name
in the URL. If the domain is not yet verified to be used on this project, the request will return verified = false
, and the domain will need to be verified according to the verification
challenge via POST /projects/:idOrName/domains/:domain/verify
. If the domain already exists on the project, the request will fail with a 400
status code.
Optional params
fetch-request
1await fetch("https://api.vercel.com/v10/projects/SOME_STRING_VALUE/domains?slug=SOME_STRING_VALUE&teamId=SOME_STRING_VALUE", {2 "body": {3 "name": "www.example.com",4 "gitBranch": "SOME_STRING_VALUE",5 "redirect": "foobar.com",6 "redirectStatusCode": 3077 },8 "headers": {9 "Authorization": "Bearer <TOKEN>"10 },11 "method": "post"12})
Path Parameter | Description |
---|---|
idOrName | string requiredThe unique project identifier or the project name |
apexNamestringRequired createdAtnumber customEnvironmentIdstring or null gitBranchstring or null namestringRequired projectIdstringRequired redirectstring or null redirectStatusCodenumber or null One of: 307
|301
|302
|308
updatedAtnumber verificationarray A list of verification challenges, one of which must be completed to verify the domain for use on the project. After the challenge is complete POST /projects/:idOrName/domains/:domain/verify
to verify the domain. Possible challenges: - Ifverification.type = TXT
theverification.domain
will be checked for a TXT record matchingverification.value
.verifiedbooleanRequired true
if the domain is verified for use with the project. Iffalse
it will not be used as an alias on this project until the challenge inverification
is completed.
Code | Description |
---|---|
200 | The domain was successfully added to the project |
400 |
|
401 | |
402 |
|
403 |
|
409 |
|
Optional params
fetch-request
1await fetch("https://api.vercel.com/v10/projects/SOME_STRING_VALUE/domains?slug=SOME_STRING_VALUE&teamId=SOME_STRING_VALUE", {2 "body": {3 "name": "www.example.com",4 "gitBranch": "SOME_STRING_VALUE",5 "redirect": "foobar.com",6 "redirectStatusCode": 3077 },8 "headers": {9 "Authorization": "Bearer <TOKEN>"10 },11 "method": "post"12})
Allows to create a new project with the provided configuration. It only requires the project name
but more configuration can be provided to override the defaults.
Optional params
fetch-request
1await fetch("https://api.vercel.com/v10/projects?slug=SOME_STRING_VALUE&teamId=SOME_STRING_VALUE", {2 "body": {3 "name": "a-project-name",4 "buildCommand": "SOME_STRING_VALUE",5 "commandForIgnoringBuildStep": "SOME_STRING_VALUE",6 "devCommand": "SOME_STRING_VALUE",7 "enableAffectedProjectsDeployments": true,8 "environmentVariables": [9 {10 "key": "SOME_STRING_VALUE",11 "target": "production",12 "gitBranch": "SOME_STRING_VALUE",13 "type": "system",14 "value": "SOME_STRING_VALUE"15 }16 ],17 "framework": "nextjs",18 "gitRepository": {19 "repo": "SOME_STRING_VALUE",20 "type": "github"21 },22 "installCommand": "SOME_STRING_VALUE",23 "oidcTokenConfig": {24 "enabled": true,25 "issuerMode": "team"26 },27 "outputDirectory": "SOME_STRING_VALUE",28 "publicSource": true,29 "rootDirectory": "SOME_STRING_VALUE",30 "serverlessFunctionRegion": "SOME_STRING_VALUE",31 "serverlessFunctionZeroConfigFailover": "ANY_TYPE_VALUE",32 "skipGitConnectDuringLink": true33 },34 "headers": {35 "Authorization": "Bearer <TOKEN>"36 },37 "method": "post"38})
Query Parameter | Description |
---|---|
slug | string The Team slug to perform the request on behalf of. |
teamId | string The Team identifier to perform the request on behalf of. |
accountIdstringRequired analyticsobject autoAssignCustomDomainsboolean autoAssignCustomDomainsUpdatedBystring autoExposeSystemEnvsboolean buildCommandstring or null commandForIgnoringBuildStepstring or null concurrencyBucketNamestring connectBuildsEnabledboolean connectConfigurationIdstring or null createdAtnumber cronsobject customEnvironmentsarray customerSupportCodeVisibilityboolean dataCacheobject deploymentExpirationobject or null devCommandstring or null directoryListingbooleanRequired enableAffectedProjectsDeploymentsboolean enablePreviewFeedbackboolean or null enableProductionFeedbackboolean or null envarray frameworkstring or null One of: blitzjs
|nextjs
|gatsby
|remix
|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
|vitepress
|vuepress
|parcel
|fasthtml
|sanity-v3
|sanity
|storybook
gitCommentsobject gitForkProtectionboolean gitLFSboolean hasActiveBranchesboolean hasFloatingAliasesboolean idstringRequired installCommandstring or null ipBucketsarray lastAliasRequestobject or null lastRollbackTargetobject or null latestDeploymentsarray linkOne of the following objects liveboolean namestringRequired nodeVersionstringRequired One of: 22.x
|20.x
|18.x
|16.x
|14.x
|12.x
|10.x
|8.10.x
oidcTokenConfigobject optionsAllowlistobject or null outputDirectorystring or null passiveConnectConfigurationIdstring or null passwordProtectionobject or null pausedboolean permissionsobject productionDeploymentsFastLaneboolean protectionBypassobject publicSourceboolean or null resourceConfigobject rootDirectorystring or null securityobject serverlessFunctionRegionstring or null serverlessFunctionZeroConfigFailoverboolean skewProtectionBoundaryAtnumber skewProtectionMaxAgenumber skipGitConnectDuringLinkboolean sourceFilesOutsideRootDirectoryboolean speedInsightsobject ssoProtectionobject or null targetsobject tierstring One of: standard
|advanced
|critical
transferCompletedAtnumber transferStartedAtnumber transferToAccountIdstring transferredFromAccountIdstring trustedIpsOne of the following objects or null updatedAtnumber webAnalyticsobject
Code | Description |
---|---|
200 | The project was successfuly created |
400 |
|
401 | |
402 |
|
403 | You do not have permission to access this resource. |
409 | A project with the provided name already exists. |
Optional params
fetch-request
1await fetch("https://api.vercel.com/v10/projects?slug=SOME_STRING_VALUE&teamId=SOME_STRING_VALUE", {2 "body": {3 "name": "a-project-name",4 "buildCommand": "SOME_STRING_VALUE",5 "commandForIgnoringBuildStep": "SOME_STRING_VALUE",6 "devCommand": "SOME_STRING_VALUE",7 "enableAffectedProjectsDeployments": true,8 "environmentVariables": [9 {10 "key": "SOME_STRING_VALUE",11 "target": "production",12 "gitBranch": "SOME_STRING_VALUE",13 "type": "system",14 "value": "SOME_STRING_VALUE"15 }16 ],17 "framework": "nextjs",18 "gitRepository": {19 "repo": "SOME_STRING_VALUE",20 "type": "github"21 },22 "installCommand": "SOME_STRING_VALUE",23 "oidcTokenConfig": {24 "enabled": true,25 "issuerMode": "team"26 },27 "outputDirectory": "SOME_STRING_VALUE",28 "publicSource": true,29 "rootDirectory": "SOME_STRING_VALUE",30 "serverlessFunctionRegion": "SOME_STRING_VALUE",31 "serverlessFunctionZeroConfigFailover": "ANY_TYPE_VALUE",32 "skipGitConnectDuringLink": true33 },34 "headers": {35 "Authorization": "Bearer <TOKEN>"36 },37 "method": "post"38})
Create one ore more environment variables for a project by passing its key
, value
, type
and target
and by specifying the project by either passing the project id
or name
in the URL.
Optional params
fetch-request
1await fetch("https://api.vercel.com/v10/projects/prj_XLKmu1DyR1eY7zq8UgeRKbA7yVLA/env?slug=SOME_STRING_VALUE&teamId=SOME_STRING_VALUE&upsert=true", {2 "body": {3 "key": "API_URL",4 "value": "https://api.vercel.com",5 "type": "plain",6 "target": [7 "preview"8 ],9 "gitBranch": "feature-1",10 "comment": "database connection string for production"11 },12 "headers": {13 "Authorization": "Bearer <TOKEN>"14 },15 "method": "post"16})
Path Parameter | Description |
---|---|
idOrName | string requiredThe unique project identifier or the project name Example: prj_XLKmu1DyR1eY7zq8UgeRKbA7yVLA |
createdRequiredOne of the following objects failedarrayRequired
Code | Description |
---|---|
201 | The environment variable was created successfully |
400 |
|
401 | |
402 |
|
403 |
|
409 | The project is being transfered and creating an environment variable is not possible |
Optional params
fetch-request
1await fetch("https://api.vercel.com/v10/projects/prj_XLKmu1DyR1eY7zq8UgeRKbA7yVLA/env?slug=SOME_STRING_VALUE&teamId=SOME_STRING_VALUE&upsert=true", {2 "body": {3 "key": "API_URL",4 "value": "https://api.vercel.com",5 "type": "plain",6 "target": [7 "preview"8 ],9 "gitBranch": "feature-1",10 "comment": "database connection string for production"11 },12 "headers": {13 "Authorization": "Bearer <TOKEN>"14 },15 "method": "post"16})
Delete a specific project by passing either the project id
or name
in the URL.
Optional params
fetch-request
1await fetch("https://api.vercel.com/v9/projects/prj_12HKQaOmR5t5Uy6vdcQsNIiZgHGB?slug=SOME_STRING_VALUE&teamId=SOME_STRING_VALUE", {2 "headers": {3 "Authorization": "Bearer <TOKEN>"4 },5 "method": "delete"6})
Path Parameter | Description |
---|---|
idOrName | string requiredThe unique project identifier or the project name Example: prj_12HKQaOmR5t5Uy6vdcQsNIiZgHGB |
Code | Description |
---|---|
204 | The project was successfuly removed |
400 | One of the provided values in the request query is invalid. |
401 | |
403 | You do not have permission to access this resource. |
409 |
Optional params
fetch-request
1await fetch("https://api.vercel.com/v9/projects/prj_12HKQaOmR5t5Uy6vdcQsNIiZgHGB?slug=SOME_STRING_VALUE&teamId=SOME_STRING_VALUE", {2 "headers": {3 "Authorization": "Bearer <TOKEN>"4 },5 "method": "delete"6})
Edit a specific environment variable for a given project by passing the environment variable identifier and either passing the project id
or name
in the URL.
Optional params
fetch-request
1await fetch("https://api.vercel.com/v9/projects/prj_XLKmu1DyR1eY7zq8UgeRKbA7yVLA/env/XMbOEya1gUUO1ir4?slug=SOME_STRING_VALUE&teamId=SOME_STRING_VALUE", {2 "body": {3 "comment": "database connection string for production",4 "customEnvironmentIds": "SOME_ARRAY OF STRING_VALUE",5 "gitBranch": "feature-1",6 "key": "GITHUB_APP_ID",7 "target": "[preview]",8 "type": "plain",9 "value": "bkWIjbnxcvo78"10 },11 "headers": {12 "Authorization": "Bearer <TOKEN>"13 },14 "method": "patch"15})
Path Parameter | Description |
---|---|
id | string requiredThe unique environment variable identifier Example: XMbOEya1gUUO1ir4 |
idOrName | string requiredThe unique project identifier or the project name Example: prj_XLKmu1DyR1eY7zq8UgeRKbA7yVLA |
One of the following objects
Code | Description |
---|---|
200 | The environment variable was successfully edited |
400 |
|
401 | |
403 | You do not have permission to access this resource. |
409 | The project is being transfered and removing an environment variable is not possible |
Optional params
fetch-request
1await fetch("https://api.vercel.com/v9/projects/prj_XLKmu1DyR1eY7zq8UgeRKbA7yVLA/env/XMbOEya1gUUO1ir4?slug=SOME_STRING_VALUE&teamId=SOME_STRING_VALUE", {2 "body": {3 "comment": "database connection string for production",4 "customEnvironmentIds": "SOME_ARRAY OF STRING_VALUE",5 "gitBranch": "feature-1",6 "key": "GITHUB_APP_ID",7 "target": "[preview]",8 "type": "plain",9 "value": "bkWIjbnxcvo78"10 },11 "headers": {12 "Authorization": "Bearer <TOKEN>"13 },14 "method": "patch"15})
Retrieve the environment variables for a given project by passing either the project id
or name
in the URL.
Optional params
fetch-request
1await fetch("https://api.vercel.com/v9/projects/prj_XLKmu1DyR1eY7zq8UgeRKbA7yVLA/env?decrypt=true&gitBranch=feature-1&slug=SOME_STRING_VALUE&source=vercel-cli:pull&teamId=SOME_STRING_VALUE", {2 "headers": {3 "Authorization": "Bearer <TOKEN>"4 },5 "method": "get"6})
Path Parameter | Description |
---|---|
idOrName | string requiredThe unique project identifier or the project name Example: prj_XLKmu1DyR1eY7zq8UgeRKbA7yVLA |
One of the following objects
Code | Description |
---|---|
200 | The list of environment variables for the given project |
400 | One of the provided values in the request query is invalid. |
401 | |
403 | You do not have permission to access this resource. |
Optional params
fetch-request
1await fetch("https://api.vercel.com/v9/projects/prj_XLKmu1DyR1eY7zq8UgeRKbA7yVLA/env?decrypt=true&gitBranch=feature-1&slug=SOME_STRING_VALUE&source=vercel-cli:pull&teamId=SOME_STRING_VALUE", {2 "headers": {3 "Authorization": "Bearer <TOKEN>"4 },5 "method": "get"6})
Get the information for a specific project by passing either the project id
or name
in the URL.
Optional params
fetch-request
1await fetch("https://api.vercel.com/v9/projects/SOME_STRING|BOOLEAN_VALUE?slug=SOME_STRING_VALUE&teamId=SOME_STRING_VALUE", {2 "headers": {3 "Authorization": "Bearer <TOKEN>"4 },5 "method": "get"6})
Path Parameter | Description |
---|---|
idOrName | string | boolean of the following requiredThe unique project identifier or the project name type: string type: boolean |
accountIdstringRequired analyticsobject autoAssignCustomDomainsboolean autoAssignCustomDomainsUpdatedBystring autoExposeSystemEnvsboolean buildCommandstring or null commandForIgnoringBuildStepstring or null concurrencyBucketNamestring connectBuildsEnabledboolean connectConfigurationIdstring or null createdAtnumber cronsobject customEnvironmentsarray customerSupportCodeVisibilityboolean dataCacheobject deploymentExpirationobject or null devCommandstring or null directoryListingbooleanRequired enableAffectedProjectsDeploymentsboolean enablePreviewFeedbackboolean or null enableProductionFeedbackboolean or null envarray frameworkstring or null One of: blitzjs
|nextjs
|gatsby
|remix
|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
|vitepress
|vuepress
|parcel
|fasthtml
|sanity-v3
|sanity
|storybook
gitCommentsobject gitForkProtectionboolean gitLFSboolean hasActiveBranchesboolean hasFloatingAliasesboolean idstringRequired installCommandstring or null ipBucketsarray lastAliasRequestobject or null lastRollbackTargetobject or null latestDeploymentsarray linkOne of the following objects liveboolean namestringRequired nodeVersionstringRequired One of: 22.x
|20.x
|18.x
|16.x
|14.x
|12.x
|10.x
|8.10.x
oidcTokenConfigobject optionsAllowlistobject or null outputDirectorystring or null passiveConnectConfigurationIdstring or null passwordProtectionobject or null pausedboolean permissionsobject productionDeploymentsFastLaneboolean protectionBypassobject publicSourceboolean or null resourceConfigobject rootDirectorystring or null securityobject serverlessFunctionRegionstring or null serverlessFunctionZeroConfigFailoverboolean skewProtectionBoundaryAtnumber skewProtectionMaxAgenumber skipGitConnectDuringLinkboolean sourceFilesOutsideRootDirectoryboolean speedInsightsobject ssoProtectionobject or null targetsobject tierstring One of: standard
|advanced
|critical
transferCompletedAtnumber transferStartedAtnumber transferToAccountIdstring transferredFromAccountIdstring trustedIpsOne of the following objects or null updatedAtnumber webAnalyticsobject
Code | Description |
---|---|
200 | The project information |
400 | One of the provided values in the request query is invalid. |
401 | |
403 | You do not have permission to access this resource. |
Optional params
fetch-request
1await fetch("https://api.vercel.com/v9/projects/SOME_STRING|BOOLEAN_VALUE?slug=SOME_STRING_VALUE&teamId=SOME_STRING_VALUE", {2 "headers": {3 "Authorization": "Bearer <TOKEN>"4 },5 "method": "get"6})
Get project domain by project id/name and domain name.
Optional params
fetch-request
1await fetch("https://api.vercel.com/v9/projects/SOME_STRING_VALUE/domains/www.example.com?slug=SOME_STRING_VALUE&teamId=SOME_STRING_VALUE", {2 "headers": {3 "Authorization": "Bearer <TOKEN>"4 },5 "method": "get"6})
Path Parameter | Description |
---|---|
domain | string requiredThe project domain name Example: www.example.com |
idOrName | string requiredThe unique project identifier or the project name |
apexNamestringRequired createdAtnumber customEnvironmentIdstring or null gitBranchstring or null namestringRequired projectIdstringRequired redirectstring or null redirectStatusCodenumber or null One of: 307
|301
|302
|308
updatedAtnumber verificationarray A list of verification challenges, one of which must be completed to verify the domain for use on the project. After the challenge is complete POST /projects/:idOrName/domains/:domain/verify
to verify the domain. Possible challenges: - Ifverification.type = TXT
theverification.domain
will be checked for a TXT record matchingverification.value
.verifiedbooleanRequired true
if the domain is verified for use with the project. Iffalse
it will not be used as an alias on this project until the challenge inverification
is completed.
Code | Description |
---|---|
200 | |
400 | One of the provided values in the request query is invalid. |
401 | |
403 | You do not have permission to access this resource. |
Optional params
fetch-request
1await fetch("https://api.vercel.com/v9/projects/SOME_STRING_VALUE/domains/www.example.com?slug=SOME_STRING_VALUE&teamId=SOME_STRING_VALUE", {2 "headers": {3 "Authorization": "Bearer <TOKEN>"4 },5 "method": "get"6})
Retrieve the domains associated with a given project by passing either the project id
or name
in the URL.
Optional params
fetch-request
1await fetch("https://api.vercel.com/v9/projects/SOME_STRING|INTEGER_VALUE/domains?gitBranch=SOME_STRING_VALUE&limit=20&order=ASC&production=true&redirect=example.com&redirects=true&since=1609499532000&slug=SOME_STRING_VALUE&target=production&teamId=SOME_STRING_VALUE&until=1612264332000&verified=true", {2 "headers": {3 "Authorization": "Bearer <TOKEN>"4 },5 "method": "get"6})
Path Parameter | Description |
---|---|
idOrName | string | integer of the following requiredThe unique project identifier or the project name type: string type: integer |
domainsarrayRequired paginationRequired
Code | Description |
---|---|
200 | Successful response retrieving a list of domains |
400 | One of the provided values in the request query is invalid. |
401 | |
403 | You do not have permission to access this resource. |
Optional params
fetch-request
1await fetch("https://api.vercel.com/v9/projects/SOME_STRING|INTEGER_VALUE/domains?gitBranch=SOME_STRING_VALUE&limit=20&order=ASC&production=true&redirect=example.com&redirects=true&since=1609499532000&slug=SOME_STRING_VALUE&target=production&teamId=SOME_STRING_VALUE&until=1612264332000&verified=true", {2 "headers": {3 "Authorization": "Bearer <TOKEN>"4 },5 "method": "get"6})
Retrieve the environment variable for a given project.
Optional params
fetch-request
1await fetch("https://api.vercel.com/v1/projects/prj_XLKmu1DyR1eY7zq8UgeRKbA7yVLA/env/SOME_STRING_VALUE?slug=SOME_STRING_VALUE&teamId=SOME_STRING_VALUE", {2 "headers": {3 "Authorization": "Bearer <TOKEN>"4 },5 "method": "get"6})
Path Parameter | Description |
---|---|
id | string requiredThe unique ID for the environment variable to get the decrypted value. |
idOrName | string requiredThe unique project identifier or the project name Example: prj_XLKmu1DyR1eY7zq8UgeRKbA7yVLA |
One of the following objects
Code | Description |
---|---|
200 | |
400 | One of the provided values in the request query is invalid. |
401 | |
403 | You do not have permission to access this resource. |
Optional params
fetch-request
1await fetch("https://api.vercel.com/v1/projects/prj_XLKmu1DyR1eY7zq8UgeRKbA7yVLA/env/SOME_STRING_VALUE?slug=SOME_STRING_VALUE&teamId=SOME_STRING_VALUE", {2 "headers": {3 "Authorization": "Bearer <TOKEN>"4 },5 "method": "get"6})
Allows to retrieve the list of projects of the authenticated user or team. The list will be paginated and the provided query parameters allow filtering the returned projects.
Optional params
fetch-request
1await fetch("https://api.vercel.com/v9/projects?deprecated=true&edgeConfigId=SOME_STRING_VALUE&edgeConfigTokenId=SOME_STRING_VALUE&excludeRepos=SOME_STRING_VALUE&from=SOME_STRING_VALUE&gitForkProtection=1&limit=SOME_STRING_VALUE&repo=SOME_STRING_VALUE&repoId=SOME_STRING_VALUE&repoUrl=https://github.com/vercel/next.js&search=SOME_STRING_VALUE&slug=SOME_STRING_VALUE&teamId=SOME_STRING_VALUE", {2 "headers": {3 "Authorization": "Bearer <TOKEN>"4 },5 "method": "get"6})
Query Parameter | Description |
---|---|
deprecated | boolean |
edgeConfigId | string Filter results by connected Edge Config ID |
edgeConfigTokenId | string Filter results by connected Edge Config Token ID |
excludeRepos | string Filter results by excluding those projects that belong to a repo |
from | string Query only projects updated after the given timestamp |
gitForkProtection | string of the following Specifies whether PRs from Git forks should require a team member's authorization before it can be deployed Example: 1 Allowed values: 1 0 |
limit | string Limit the number of projects returned |
repo | string Filter results by repo. Also used for project count |
repoId | string Filter results by Repository ID. |
repoUrl | string Filter results by Repository URL. Example: https://github.com/vercel/next.js |
search | string Search projects by the name field |
slug | string The Team slug to perform the request on behalf of. |
teamId | string The Team identifier to perform the request on behalf of. |
The paginated list of projects
paginationRequired projectsarrayRequired
Code | Description |
---|---|
200 | The paginated list of projects |
400 | One of the provided values in the request query is invalid. |
401 | |
403 | You do not have permission to access this resource. |
Optional params
fetch-request
1await fetch("https://api.vercel.com/v9/projects?deprecated=true&edgeConfigId=SOME_STRING_VALUE&edgeConfigTokenId=SOME_STRING_VALUE&excludeRepos=SOME_STRING_VALUE&from=SOME_STRING_VALUE&gitForkProtection=1&limit=SOME_STRING_VALUE&repo=SOME_STRING_VALUE&repoId=SOME_STRING_VALUE&repoUrl=https://github.com/vercel/next.js&search=SOME_STRING_VALUE&slug=SOME_STRING_VALUE&teamId=SOME_STRING_VALUE", {2 "headers": {3 "Authorization": "Bearer <TOKEN>"4 },5 "method": "get"6})
Get a list of aliases related to the last promote request with their mapping status
Optional params
fetch-request
1await fetch("https://api.vercel.com/v1/projects/SOME_STRING_VALUE/promote/aliases?failedOnly=true&limit=20&since=1609499532000&slug=SOME_STRING_VALUE&teamId=SOME_STRING_VALUE&until=1612264332000", {2 "headers": {3 "Authorization": "Bearer <TOKEN>"4 },5 "method": "get"6})
Path Parameter | Description |
---|---|
projectId | string required |
One of the following objects
Code | Description |
---|---|
200 | |
400 | One of the provided values in the request query is invalid. |
401 | |
403 | You do not have permission to access this resource. |
404 |
Optional params
fetch-request
1await fetch("https://api.vercel.com/v1/projects/SOME_STRING_VALUE/promote/aliases?failedOnly=true&limit=20&since=1609499532000&slug=SOME_STRING_VALUE&teamId=SOME_STRING_VALUE&until=1612264332000", {2 "headers": {3 "Authorization": "Bearer <TOKEN>"4 },5 "method": "get"6})
Pause a project by passing its project id
in the URL. If the project does not exist given the id then the request will fail with 400 status code. If the project disables auto assigning custom production domains and blocks the active Production Deployment then the request will return with 200 status code.
Optional params
fetch-request
1await fetch("https://api.vercel.com/v1/projects/SOME_STRING_VALUE/pause?slug=SOME_STRING_VALUE&teamId=SOME_STRING_VALUE", {2 "headers": {3 "Authorization": "Bearer <TOKEN>"4 },5 "method": "post"6})
Path Parameter | Description |
---|---|
projectId | string requiredThe unique project identifier |
Code | Description |
---|---|
200 | |
400 | One of the provided values in the request query is invalid. |
401 | |
402 |
|
403 | You do not have permission to access this resource. |
500 |
Optional params
fetch-request
1await fetch("https://api.vercel.com/v1/projects/SOME_STRING_VALUE/pause?slug=SOME_STRING_VALUE&teamId=SOME_STRING_VALUE", {2 "headers": {3 "Authorization": "Bearer <TOKEN>"4 },5 "method": "post"6})
Remove a domain from a project by passing the domain name and by specifying the project by either passing the project id
or name
in the URL.
Optional params
fetch-request
1await fetch("https://api.vercel.com/v9/projects/SOME_STRING_VALUE/domains/www.example.com?slug=SOME_STRING_VALUE&teamId=SOME_STRING_VALUE", {2 "headers": {3 "Authorization": "Bearer <TOKEN>"4 },5 "method": "delete"6})
Path Parameter | Description |
---|---|
domain | string requiredThe project domain name Example: www.example.com |
idOrName | string requiredThe unique project identifier or the project name |
object
Code | Description |
---|---|
200 | The domain was succesfully removed from the project |
400 | One of the provided values in the request query is invalid. |
401 | |
403 | You do not have permission to access this resource. |
404 | |
409 | The project is currently being transferred |
Optional params
fetch-request
1await fetch("https://api.vercel.com/v9/projects/SOME_STRING_VALUE/domains/www.example.com?slug=SOME_STRING_VALUE&teamId=SOME_STRING_VALUE", {2 "headers": {3 "Authorization": "Bearer <TOKEN>"4 },5 "method": "delete"6})
Delete a specific environment variable for a given project by passing the environment variable identifier and either passing the project id
or name
in the URL.
Optional params
fetch-request
1await fetch("https://api.vercel.com/v9/projects/prj_XLKmu1DyR1eY7zq8UgeRKbA7yVLA/env/XMbOEya1gUUO1ir4?slug=SOME_STRING_VALUE&teamId=SOME_STRING_VALUE", {2 "headers": {3 "Authorization": "Bearer <TOKEN>"4 },5 "method": "delete"6})
Path Parameter | Description |
---|---|
id | string requiredThe unique environment variable identifier Example: XMbOEya1gUUO1ir4 |
idOrName | string requiredThe unique project identifier or the project name Example: prj_XLKmu1DyR1eY7zq8UgeRKbA7yVLA |
One of the following objects
Code | Description |
---|---|
200 | The environment variable was successfully removed |
400 | One of the provided values in the request query is invalid. |
401 | |
403 | You do not have permission to access this resource. |
404 | |
409 | The project is being transfered and removing an environment variable is not possible |
Optional params
fetch-request
1await fetch("https://api.vercel.com/v9/projects/prj_XLKmu1DyR1eY7zq8UgeRKbA7yVLA/env/XMbOEya1gUUO1ir4?slug=SOME_STRING_VALUE&teamId=SOME_STRING_VALUE", {2 "headers": {3 "Authorization": "Bearer <TOKEN>"4 },5 "method": "delete"6})
Allows users to promote a deployment to production. Note: This does NOT rebuild the deployment. If you need that, then call create-deployments endpoint.
Optional params
fetch-request
1await fetch("https://api.vercel.com/v10/projects/SOME_STRING_VALUE/promote/SOME_STRING_VALUE?slug=SOME_STRING_VALUE&teamId=SOME_STRING_VALUE", {2 "headers": {3 "Authorization": "Bearer <TOKEN>"4 },5 "method": "post"6})
Path Parameter | Description |
---|---|
deploymentId | string required |
projectId | string required |
Code | Description |
---|---|
201 | |
400 | One of the provided values in the request query is invalid. |
401 | |
403 | You do not have permission to access this resource. |
409 |
Optional params
fetch-request
1await fetch("https://api.vercel.com/v10/projects/SOME_STRING_VALUE/promote/SOME_STRING_VALUE?slug=SOME_STRING_VALUE&teamId=SOME_STRING_VALUE", {2 "headers": {3 "Authorization": "Bearer <TOKEN>"4 },5 "method": "post"6})
Unpause a project by passing its project id
in the URL. If the project does not exist given the id then the request will fail with 400 status code. If the project enables auto assigning custom production domains and unblocks the active Production Deployment then the request will return with 200 status code.
Optional params
fetch-request
1await fetch("https://api.vercel.com/v1/projects/SOME_STRING_VALUE/unpause?slug=SOME_STRING_VALUE&teamId=SOME_STRING_VALUE", {2 "headers": {3 "Authorization": "Bearer <TOKEN>"4 },5 "method": "post"6})
Path Parameter | Description |
---|---|
projectId | string requiredThe unique project identifier |
Code | Description |
---|---|
200 | |
400 | One of the provided values in the request query is invalid. |
401 | |
403 | You do not have permission to access this resource. |
500 |
Optional params
fetch-request
1await fetch("https://api.vercel.com/v1/projects/SOME_STRING_VALUE/unpause?slug=SOME_STRING_VALUE&teamId=SOME_STRING_VALUE", {2 "headers": {3 "Authorization": "Bearer <TOKEN>"4 },5 "method": "post"6})
Update the fields of a project using either its name
or id
.
Optional params
fetch-request
1await fetch("https://api.vercel.com/v9/projects/prj_12HKQaOmR5t5Uy6vdcQsNIiZgHGB?slug=SOME_STRING_VALUE&teamId=SOME_STRING_VALUE", {2 "body": {3 "autoAssignCustomDomains": true,4 "autoAssignCustomDomainsUpdatedBy": "SOME_STRING_VALUE",5 "autoExposeSystemEnvs": true,6 "buildCommand": "SOME_STRING_VALUE",7 "commandForIgnoringBuildStep": "SOME_STRING_VALUE",8 "customerSupportCodeVisibility": true,9 "devCommand": "SOME_STRING_VALUE",10 "directoryListing": true,11 "enableAffectedProjectsDeployments": true,12 "enablePreviewFeedback": true,13 "enableProductionFeedback": true,14 "framework": "nextjs",15 "gitForkProtection": true,16 "gitLFS": true,17 "installCommand": "SOME_STRING_VALUE",18 "name": "a-project-name",19 "nodeVersion": "22.x",20 "oidcTokenConfig": {21 "enabled": true,22 "issuerMode": "team"23 },24 "optionsAllowlist": {25 "paths": "SOME_ARRAY_VALUE"26 },27 "outputDirectory": "SOME_STRING_VALUE",28 "passwordProtection": {29 "deploymentType": "all",30 "password": "SOME_STRING_VALUE"31 },32 "previewDeploymentsDisabled": true,33 "publicSource": true,34 "rootDirectory": "SOME_STRING_VALUE",35 "serverlessFunctionRegion": "SOME_STRING_VALUE",36 "serverlessFunctionZeroConfigFailover": "ANY_TYPE_VALUE",37 "skewProtectionBoundaryAt": "SOME_INTEGER_VALUE",38 "skewProtectionMaxAge": "SOME_INTEGER_VALUE",39 "skipGitConnectDuringLink": true,40 "sourceFilesOutsideRootDirectory": true,41 "ssoProtection": {42 "deploymentType": "all"43 },44 "trustedIps": {45 "deploymentType": "all",46 "addresses": "SOME_ARRAY_VALUE",47 "protectionMode": "exclusive"48 }49 },50 "headers": {51 "Authorization": "Bearer <TOKEN>"52 },53 "method": "patch"54})
Path Parameter | Description |
---|---|
idOrName | string requiredThe unique project identifier or the project name Example: prj_12HKQaOmR5t5Uy6vdcQsNIiZgHGB |
accountIdstringRequired analyticsobject autoAssignCustomDomainsboolean autoAssignCustomDomainsUpdatedBystring autoExposeSystemEnvsboolean buildCommandstring or null commandForIgnoringBuildStepstring or null concurrencyBucketNamestring connectBuildsEnabledboolean connectConfigurationIdstring or null createdAtnumber cronsobject customEnvironmentsarray customerSupportCodeVisibilityboolean dataCacheobject deploymentExpirationobject or null devCommandstring or null directoryListingbooleanRequired enableAffectedProjectsDeploymentsboolean enablePreviewFeedbackboolean or null enableProductionFeedbackboolean or null envarray frameworkstring or null One of: blitzjs
|nextjs
|gatsby
|remix
|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
|vitepress
|vuepress
|parcel
|fasthtml
|sanity-v3
|sanity
|storybook
gitCommentsobject gitForkProtectionboolean gitLFSboolean hasActiveBranchesboolean hasFloatingAliasesboolean idstringRequired installCommandstring or null ipBucketsarray lastAliasRequestobject or null lastRollbackTargetobject or null latestDeploymentsarray linkOne of the following objects liveboolean namestringRequired nodeVersionstringRequired One of: 22.x
|20.x
|18.x
|16.x
|14.x
|12.x
|10.x
|8.10.x
oidcTokenConfigobject optionsAllowlistobject or null outputDirectorystring or null passiveConnectConfigurationIdstring or null passwordProtectionobject or null pausedboolean permissionsobject productionDeploymentsFastLaneboolean protectionBypassobject publicSourceboolean or null resourceConfigobject rootDirectorystring or null securityobject serverlessFunctionRegionstring or null serverlessFunctionZeroConfigFailoverboolean skewProtectionBoundaryAtnumber skewProtectionMaxAgenumber skipGitConnectDuringLinkboolean sourceFilesOutsideRootDirectoryboolean speedInsightsobject ssoProtectionobject or null targetsobject tierstring One of: standard
|advanced
|critical
transferCompletedAtnumber transferStartedAtnumber transferToAccountIdstring transferredFromAccountIdstring trustedIpsOne of the following objects or null updatedAtnumber webAnalyticsobject
Code | Description |
---|---|
200 | The project was successfully updated |
400 |
|
401 | |
402 | |
403 | You do not have permission to access this resource. |
409 |
|
428 |
|
Optional params
fetch-request
1await fetch("https://api.vercel.com/v9/projects/prj_12HKQaOmR5t5Uy6vdcQsNIiZgHGB?slug=SOME_STRING_VALUE&teamId=SOME_STRING_VALUE", {2 "body": {3 "autoAssignCustomDomains": true,4 "autoAssignCustomDomainsUpdatedBy": "SOME_STRING_VALUE",5 "autoExposeSystemEnvs": true,6 "buildCommand": "SOME_STRING_VALUE",7 "commandForIgnoringBuildStep": "SOME_STRING_VALUE",8 "customerSupportCodeVisibility": true,9 "devCommand": "SOME_STRING_VALUE",10 "directoryListing": true,11 "enableAffectedProjectsDeployments": true,12 "enablePreviewFeedback": true,13 "enableProductionFeedback": true,14 "framework": "nextjs",15 "gitForkProtection": true,16 "gitLFS": true,17 "installCommand": "SOME_STRING_VALUE",18 "name": "a-project-name",19 "nodeVersion": "22.x",20 "oidcTokenConfig": {21 "enabled": true,22 "issuerMode": "team"23 },24 "optionsAllowlist": {25 "paths": "SOME_ARRAY_VALUE"26 },27 "outputDirectory": "SOME_STRING_VALUE",28 "passwordProtection": {29 "deploymentType": "all",30 "password": "SOME_STRING_VALUE"31 },32 "previewDeploymentsDisabled": true,33 "publicSource": true,34 "rootDirectory": "SOME_STRING_VALUE",35 "serverlessFunctionRegion": "SOME_STRING_VALUE",36 "serverlessFunctionZeroConfigFailover": "ANY_TYPE_VALUE",37 "skewProtectionBoundaryAt": "SOME_INTEGER_VALUE",38 "skewProtectionMaxAge": "SOME_INTEGER_VALUE",39 "skipGitConnectDuringLink": true,40 "sourceFilesOutsideRootDirectory": true,41 "ssoProtection": {42 "deploymentType": "all"43 },44 "trustedIps": {45 "deploymentType": "all",46 "addresses": "SOME_ARRAY_VALUE",47 "protectionMode": "exclusive"48 }49 },50 "headers": {51 "Authorization": "Bearer <TOKEN>"52 },53 "method": "patch"54})
Update the data cache feature on a project.
Optional params
fetch-request
1await fetch("https://api.vercel.com/v1/data-cache/projects/prj_12HKQaOmR5t5Uy6vdcQsNIiZgHGB?slug=SOME_STRING_VALUE&teamId=SOME_STRING_VALUE", {2 "body": {3 "disabled": true4 },5 "headers": {6 "Authorization": "Bearer <TOKEN>"7 },8 "method": "patch"9})
Path Parameter | Description |
---|---|
projectId | string requiredThe unique project identifier Example: prj_12HKQaOmR5t5Uy6vdcQsNIiZgHGB |
accountIdstringRequired analyticsobject autoAssignCustomDomainsboolean autoAssignCustomDomainsUpdatedBystring autoExposeSystemEnvsboolean buildCommandstring or null commandForIgnoringBuildStepstring or null concurrencyBucketNamestring connectBuildsEnabledboolean connectConfigurationIdstring or null createdAtnumber cronsobject customEnvironmentsarray customerSupportCodeVisibilityboolean dataCacheobject deploymentExpirationobject or null devCommandstring or null directoryListingbooleanRequired enableAffectedProjectsDeploymentsboolean enablePreviewFeedbackboolean or null enableProductionFeedbackboolean or null envarray frameworkstring or null One of: blitzjs
|nextjs
|gatsby
|remix
|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
|vitepress
|vuepress
|parcel
|fasthtml
|sanity-v3
|sanity
|storybook
gitCommentsobject gitForkProtectionboolean gitLFSboolean hasActiveBranchesboolean hasFloatingAliasesboolean idstringRequired installCommandstring or null ipBucketsarray lastAliasRequestobject or null lastRollbackTargetobject or null latestDeploymentsarray linkOne of the following objects liveboolean namestringRequired nodeVersionstringRequired One of: 22.x
|20.x
|18.x
|16.x
|14.x
|12.x
|10.x
|8.10.x
oidcTokenConfigobject optionsAllowlistobject or null outputDirectorystring or null passiveConnectConfigurationIdstring or null passwordProtectionobject or null pausedboolean permissionsobject productionDeploymentsFastLaneboolean protectionBypassobject publicSourceboolean or null resourceConfigobject rootDirectorystring or null securityobject serverlessFunctionRegionstring or null serverlessFunctionZeroConfigFailoverboolean skewProtectionBoundaryAtnumber skewProtectionMaxAgenumber skipGitConnectDuringLinkboolean sourceFilesOutsideRootDirectoryboolean speedInsightsobject ssoProtectionobject or null targetsobject tierstring One of: standard
|advanced
|critical
transferCompletedAtnumber transferStartedAtnumber transferToAccountIdstring transferredFromAccountIdstring trustedIpsOne of the following objects or null updatedAtnumber webAnalyticsobject
Code | Description |
---|---|
200 | |
400 |
|
401 | |
403 | You do not have permission to access this resource. |
404 |
Optional params
fetch-request
1await fetch("https://api.vercel.com/v1/data-cache/projects/prj_12HKQaOmR5t5Uy6vdcQsNIiZgHGB?slug=SOME_STRING_VALUE&teamId=SOME_STRING_VALUE", {2 "body": {3 "disabled": true4 },5 "headers": {6 "Authorization": "Bearer <TOKEN>"7 },8 "method": "patch"9})
Update a project domain's configuration, including the name, git branch and redirect of the domain.
Optional params
fetch-request
1await fetch("https://api.vercel.com/v9/projects/SOME_STRING_VALUE/domains/www.example.com?slug=SOME_STRING_VALUE&teamId=SOME_STRING_VALUE", {2 "body": {3 "gitBranch": "SOME_STRING_VALUE",4 "redirect": "foobar.com",5 "redirectStatusCode": 3076 },7 "headers": {8 "Authorization": "Bearer <TOKEN>"9 },10 "method": "patch"11})
Path Parameter | Description |
---|---|
domain | string requiredThe project domain name Example: www.example.com |
idOrName | string requiredThe unique project identifier or the project name |
apexNamestringRequired createdAtnumber customEnvironmentIdstring or null gitBranchstring or null namestringRequired projectIdstringRequired redirectstring or null redirectStatusCodenumber or null One of: 307
|301
|302
|308
updatedAtnumber verificationarray A list of verification challenges, one of which must be completed to verify the domain for use on the project. After the challenge is complete POST /projects/:idOrName/domains/:domain/verify
to verify the domain. Possible challenges: - Ifverification.type = TXT
theverification.domain
will be checked for a TXT record matchingverification.value
.verifiedbooleanRequired true
if the domain is verified for use with the project. Iffalse
it will not be used as an alias on this project until the challenge inverification
is completed.
Code | Description |
---|---|
200 | The domain was updated successfuly |
400 |
|
401 | |
403 | You do not have permission to access this resource. |
409 | The project is currently being transferred |
Optional params
fetch-request
1await fetch("https://api.vercel.com/v9/projects/SOME_STRING_VALUE/domains/www.example.com?slug=SOME_STRING_VALUE&teamId=SOME_STRING_VALUE", {2 "body": {3 "gitBranch": "SOME_STRING_VALUE",4 "redirect": "foobar.com",5 "redirectStatusCode": 3076 },7 "headers": {8 "Authorization": "Bearer <TOKEN>"9 },10 "method": "patch"11})
Update the deployment protection automation bypass for a project
Optional params
fetch-request
1await fetch("https://api.vercel.com/v1/projects/SOME_STRING_VALUE/protection-bypass?slug=SOME_STRING_VALUE&teamId=SOME_STRING_VALUE", {2 "body": {3 "generate": {4 "secret": "SOME_STRING_VALUE"5 },6 "revoke": {7 "secret": "SOME_STRING_VALUE",8 "regenerate": true9 }10 },11 "headers": {12 "Authorization": "Bearer <TOKEN>"13 },14 "method": "patch"15})
Path Parameter | Description |
---|---|
idOrName | string requiredThe unique project identifier or the project name |
protectionBypassobject
Code | Description |
---|---|
200 | |
400 |
|
401 | |
403 | You do not have permission to access this resource. |
404 | |
409 |
Optional params
fetch-request
1await fetch("https://api.vercel.com/v1/projects/SOME_STRING_VALUE/protection-bypass?slug=SOME_STRING_VALUE&teamId=SOME_STRING_VALUE", {2 "body": {3 "generate": {4 "secret": "SOME_STRING_VALUE"5 },6 "revoke": {7 "secret": "SOME_STRING_VALUE",8 "regenerate": true9 }10 },11 "headers": {12 "Authorization": "Bearer <TOKEN>"13 },14 "method": "patch"15})
Attempts to verify a project domain with verified = false
by checking the correctness of the project domain's verification
challenge.
Optional params
fetch-request
1await fetch("https://api.vercel.com/v9/projects/prj_12HKQaOmR5t5Uy6vdcQsNIiZgHGB/domains/example.com/verify?slug=SOME_STRING_VALUE&teamId=SOME_STRING_VALUE", {2 "headers": {3 "Authorization": "Bearer <TOKEN>"4 },5 "method": "post"6})
Path Parameter | Description |
---|---|
domain | string requiredThe domain name you want to verify Example: example.com |
idOrName | string requiredThe unique project identifier or the project name Example: prj_12HKQaOmR5t5Uy6vdcQsNIiZgHGB |
apexNamestringRequired createdAtnumber customEnvironmentIdstring or null gitBranchstring or null namestringRequired projectIdstringRequired redirectstring or null redirectStatusCodenumber or null One of: 307
|301
|302
|308
updatedAtnumber verificationarray A list of verification challenges, one of which must be completed to verify the domain for use on the project. After the challenge is complete POST /projects/:idOrName/domains/:domain/verify
to verify the domain. Possible challenges: - Ifverification.type = TXT
theverification.domain
will be checked for a TXT record matchingverification.value
.verifiedbooleanRequired true
if the domain is verified for use with the project. Iffalse
it will not be used as an alias on this project until the challenge inverification
is completed.
Code | Description |
---|---|
200 |
|
400 |
|
401 | |
403 | You do not have permission to access this resource. |
Optional params
fetch-request
1await fetch("https://api.vercel.com/v9/projects/prj_12HKQaOmR5t5Uy6vdcQsNIiZgHGB/domains/example.com/verify?slug=SOME_STRING_VALUE&teamId=SOME_STRING_VALUE", {2 "headers": {3 "Authorization": "Bearer <TOKEN>"4 },5 "method": "post"6})
Was this helpful?