- PUT/projects/transfer-request/{code}
- POST/v10/projects/{idOrName}/domains
- POST/v11/projects
- POST/v10/projects/{idOrName}/env
- POST/projects/{idOrName}/transfer-request
- DELETE/v9/projects/{idOrName}
- PATCH/v9/projects/{idOrName}/env/{id}
- GET/v9/projects/{idOrName}
- GET/v9/projects/{idOrName}/domains/{domain}
- GET/v1/projects/{projectId}/promote/aliases
- POST/v1/projects/{projectId}/pause
- POST/v10/projects/{projectId}/promote/{deploymentId}
- DELETE/v9/projects/{idOrName}/domains/{domain}
- DELETE/v9/projects/{idOrName}/env/{id}
- GET/v10/projects
- GET/v9/projects/{idOrName}/domains
- GET/v1/projects/{idOrName}/env/{id}
- GET/v10/projects/{idOrName}/env
- POST/v1/projects/{projectId}/unpause
- PATCH/v9/projects/{idOrName}/domains/{domain}
- PATCH/v9/projects/{idOrName}
- PATCH/v1/projects/{idOrName}/protection-bypass
- PATCH/v1/data-cache/projects/{projectId}
- POST/v9/projects/{idOrName}/domains/{domain}/verify
projects
Accept project transfer request
Accept a project transfer request initated by another team.
The code
is generated using the POST /projects/:idOrName/transfer-request
endpoint.
- codestringrequired
The code of the project transfer request.
- teamIdstring
The Team identifier to perform the request on behalf of.
- slugstring
The Team slug to perform the request on behalf of.
The desired name for the project
a-project-name
- 400
One of the provided values in the request body is invalid. One of the provided values in the request query is invalid.
- 401
- 403
You do not have permission to access this resource.
- 404
fetch('https://api.vercel.com/projects/transfer-request/{code}', {
method: 'PUT',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
newProjectName: 'a-project-name',
paidFeatures: {
concurrentBuilds: null,
passwordProtection: null,
previewDeploymentSuffix: null
}
})
})
{}
The project has been transferred successfully.
Add a domain to a project
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.
- idOrNamestringrequired
The unique project identifier or the project name
- teamIdstring
The Team identifier to perform the request on behalf of.
- slugstring
The Team slug to perform the request on behalf of.
The project domain name
www.example.com
Git branch to link the project domain
The unique custom environment identifier within the project
Target destination domain for redirect
foobar.com
Status code for domain redirect
307
- 301
- 302
- 307
- 308
- 400
One of the provided values in the request body is invalid. One of the provided values in the request query is invalid. The domain is not valid You can't set both a git branch and a redirect for the domain The domain can not be added because the latest production deployment for the project was not successful The domain redirect is not valid A domain cannot redirect to itself You can not set the production branch as a branch for your domain
- 401
- 402
The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated
- 403
You do not have permission to access this resource. You don't have access to the domain you are adding
- 409
The domain is already assigned to another Vercel project Cannot create project domain since owner already has
domain
on their account, but it's not verified yet. Cannot create project domain since owner already hasdomain
on their account, and it's verified. The domain is not allowed to be used The project is currently being transferred
fetch('https://api.vercel.com/v10/projects/{idOrName}/domains', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: 'www.example.com',
gitBranch: null,
customEnvironmentId: '',
redirect: 'foobar.com',
redirectStatusCode: 307
})
})
{
"name": "…",
"apexName": "…",
"projectId": "…",
"redirect": null,
"redirectStatusCode": 307,
"gitBranch": null,
"customEnvironmentId": null,
"updatedAt": 1,
"createdAt": 1,
"verified": true,
"verification": [
{
"type": "…",
"domain": "…",
"value": "…",
"reason": "…"
}
]
}
The domain was successfully added to the project
Vercel REST API
The Vercel REST API is a REST-styled API that gives you full control over the entire Vercel platform. You can use it with any programming language or framework that can send HTTP requests. You need to authenticate with a Vercel access token for every request.
Production API
access-groups
- POST/v1/access-groups/{accessGroupIdOrName}/projects
- POST/v1/access-groups
- DELETE/v1/access-groups/{accessGroupIdOrName}/projects/{projectId}
- DELETE/v1/access-groups/{idOrName}
- GET/v1/access-groups
- GET/v1/access-groups/{idOrName}/members
- GET/v1/access-groups/{idOrName}/projects
- GET/v1/access-groups/{idOrName}
- GET/v1/access-groups/{accessGroupIdOrName}/projects/{projectId}
- POST/v1/access-groups/{idOrName}
- PATCH/v1/access-groups/{accessGroupIdOrName}/projects/{projectId}
aliases
artifacts
authentication
certs
checks
deployments
- PATCH/v12/deployments/{id}/cancel
- POST/v13/deployments
- DELETE/v13/deployments/{id}
- GET/v13/deployments/{idOrUrl}
- GET/v3/deployments/{idOrUrl}/events
- GET/v7/deployments/{id}/files/{fileId}
- GET/v6/deployments/{id}/files
- GET/v6/deployments
- PATCH/v1/deployments/{deploymentId}/integrations/{integrationConfigurationId}/resources/{resourceId}/actions/{action}
- POST/v2/files
dns
domains
edge-config
- POST/v1/edge-config
- POST/v1/edge-config/{edgeConfigId}/token
- DELETE/v1/edge-config/{edgeConfigId}
- DELETE/v1/edge-config/{edgeConfigId}/schema
- DELETE/v1/edge-config/{edgeConfigId}/tokens
- GET/v1/edge-config/{edgeConfigId}/tokens
- GET/v1/edge-config/{edgeConfigId}
- GET/v1/edge-config/{edgeConfigId}/item/{edgeConfigItemKey}
- GET/v1/edge-config/{edgeConfigId}/backups/{edgeConfigBackupVersionId}
- GET/v1/edge-config/{edgeConfigId}/backups
- GET/v1/edge-config/{edgeConfigId}/items
- GET/v1/edge-config/{edgeConfigId}/schema
- GET/v1/edge-config/{edgeConfigId}/token/{token}
- GET/v1/edge-config
- PUT/v1/edge-config/{edgeConfigId}
- PATCH/v1/edge-config/{edgeConfigId}/items
- POST/v1/edge-config/{edgeConfigId}/schema
environment
- POST/v9/projects/{idOrName}/custom-environments
- DELETE/v9/projects/{idOrName}/custom-environments/{environmentSlugOrId}
- GET/v9/projects/{idOrName}/custom-environments/{environmentSlugOrId}
- GET/v9/projects/{idOrName}/custom-environments
- PATCH/v9/projects/{idOrName}/custom-environments/{environmentSlugOrId}
integrations
logDrains
marketplace
- POST/v1/installations/{integrationConfigurationId}/events
- POST/v1/installations/{integrationConfigurationId}/resources/{resourceId}/experimentation/items
- DELETE/v1/installations/{integrationConfigurationId}/resources/{resourceId}/experimentation/items/{itemId}
- GET/v1/installations/{integrationConfigurationId}/account
- GET/v1/installations/{integrationConfigurationId}/billing/invoices/{invoiceId}
- GET/v1/installations/{integrationConfigurationId}/member/{memberId}
- HEAD/v1/installations/{integrationConfigurationId}/resources/{resourceId}/experimentation/edge-config
- PUT/v1/installations/{integrationConfigurationId}/resources/{resourceId}
- POST/v1/installations/{integrationConfigurationId}/billing/invoices/{invoiceId}/actions
- PATCH/v1/installations/{integrationConfigurationId}/resources/{resourceId}/experimentation/items/{itemId}
- PUT/v1/installations/{integrationConfigurationId}/resources/{resourceId}/experimentation/edge-config
- GET/v1/experimentation/items
- POST/v1/integrations/sso/token
- POST/v1/installations/{integrationConfigurationId}/billing
- POST/v1/installations/{integrationConfigurationId}/billing/invoices
- POST/v1/installations/{integrationConfigurationId}/billing/balance
- PUT/v1/installations/{integrationConfigurationId}/resources/{resourceId}/secrets
- PUT/v1/installations/{integrationConfigurationId}/products/{integrationProductIdOrSlug}/resources/{resourceId}/secrets
projectMembers
projects
- PUT/projects/transfer-request/{code}
- POST/v10/projects/{idOrName}/domains
- POST/v11/projects
- POST/v10/projects/{idOrName}/env
- POST/projects/{idOrName}/transfer-request
- DELETE/v9/projects/{idOrName}
- PATCH/v9/projects/{idOrName}/env/{id}
- GET/v9/projects/{idOrName}
- GET/v9/projects/{idOrName}/domains/{domain}
- GET/v1/projects/{projectId}/promote/aliases
- POST/v1/projects/{projectId}/pause
- POST/v10/projects/{projectId}/promote/{deploymentId}
- DELETE/v9/projects/{idOrName}/domains/{domain}
- DELETE/v9/projects/{idOrName}/env/{id}
- GET/v10/projects
- GET/v9/projects/{idOrName}/domains
- GET/v1/projects/{idOrName}/env/{id}
- GET/v10/projects/{idOrName}/env
- POST/v1/projects/{projectId}/unpause
- PATCH/v9/projects/{idOrName}/domains/{domain}
- PATCH/v9/projects/{idOrName}
- PATCH/v1/projects/{idOrName}/protection-bypass
- PATCH/v1/data-cache/projects/{projectId}
- POST/v9/projects/{idOrName}/domains/{domain}/verify
secrets
security
teams
- POST/v1/teams
- DELETE/v1/teams/{teamId}
- DELETE/v1/teams/{teamId}/invites/{inviteId}
- GET/v2/teams/{teamId}
- GET/v1/teams/{teamId}/request/{userId}
- POST/v1/teams/{teamId}/members
- POST/v1/teams/{teamId}/members/teams/join
- GET/v2/teams
- GET/v3/teams/{teamId}/members
- DELETE/v1/teams/{teamId}/members/{uid}
- POST/v1/teams/{teamId}/request
- PATCH/v2/teams/{teamId}
- PATCH/v1/teams/{teamId}/members/{uid}
Models
idOrName Required |
Accept | */* |
teamId | |
slug |