Access the Vercel API with managed OAuth authentication. Manage projects, deployments, domains, teams, and environment variables.
Reference
Get Current User
GET /vercel/v2/userResponse:
{
"user": {
"id": "srL5ucia16R88imgFgrn9XHH",
"email": "user@example.com",
"username": "username",
"name": "User Name",
"avatar": null,
"defaultTeamId": "team_abc123",
"billing": {
"plan": "hobby",
"status": "active"
}
}
}List Teams
GET /vercel/v2/teamsResponse:
{
"teams": [
{
"id": "team_1xPDNnVvmKxzxPs2x2XQRoKu",
"slug": "my-team",
"name": "My Team",
"createdAt": 1732138693523,
"membership": {
"role": "OWNER"
},
"billing": {
"plan": "hobby",
"status": "active"
}
}
],
"pagination": {
"count": 1,
"next": null,
"prev": null
}
}List Projects
GET /vercel/v9/projects?limit=20Response:
{
"projects": [
{
"id": "prj_ET9o8o6WAQTfWbtF8NeFe4XF9uYG",
"name": "my-project",
"accountId": "team_abc123",
"framework": "nextjs",
"nodeVersion": "22.x",
"createdAt": 1733304037737,
"updatedAt": 1766947708146,
"targets": {},
"latestDeployments": []
}
],
"pagination": {
"count": 20,
"next": 1733304037737,
"prev": null
}
}Get Project
GET /vercel/v9/projects/{projectId}Response:
{
"id": "prj_ET9o8o6WAQTfWbtF8NeFe4XF9uYG",
"name": "my-project",
"accountId": "team_abc123",
"framework": "nextjs",
"nodeVersion": "22.x",
"createdAt": 1733304037737,
"updatedAt": 1766947708146,
"buildCommand": null,
"devCommand": null,
"installCommand": null,
"outputDirectory": null,
"rootDirectory": null,
"serverlessFunctionRegion": "iad1"
}Create Project
POST /vercel/v9/projects
Content-Type: application/json
{
"name": "my-new-project",
"framework": "nextjs",
"gitRepository": {
"type": "github",
"repo": "username/repo"
}
}Update Project
PATCH /vercel/v9/projects/{projectId}
Content-Type: application/json
{
"name": "updated-project-name",
"buildCommand": "npm run build"
}Delete Project
DELETE /vercel/v9/projects/{projectId}List Deployments
GET /vercel/v6/deployments?limit=20Query Parameters:
limit- Number of results (default: 20)projectId- Filter by project IDtarget- Filter by target (production,preview)state- Filter by state (BUILDING,READY,ERROR,CANCELED)
Response:
{
"deployments": [
{
"uid": "dpl_8gFe6M8XZsQ1ohP86VWTemcBAmZJ",
"name": "my-project",
"url": "my-project-abc123.vercel.app",
"created": 1759739951209,
"state": "READY",
"readyState": "READY",
"target": "production",
"source": "git",
"creator": {
"uid": "srL5ucia16R88imgFgrn9XHH",
"username": "username"
},
"meta": {
"githubCommitRef": "main",
"githubCommitSha": "6e88c2d..."
}
}
],
"pagination": {
"count": 20,
"next": 1759739951209,
"prev": null
}
}Get Deployment
GET /vercel/v13/deployments/{deploymentId}Response:
{
"id": "dpl_8gFe6M8XZsQ1ohP86VWTemcBAmZJ",
"name": "my-project",
"url": "my-project-abc123.vercel.app",
"created": 1759739951209,
"buildingAt": 1759739952144,
"ready": 1759740085170,
"state": "READY",
"readyState": "READY",
"target": "production",
"source": "git",
"creator": {
"uid": "srL5ucia16R88imgFgrn9XHH",
"username": "username"
}
}Get Deployment Build Logs
GET /vercel/v3/deployments/{deploymentId}/eventsResponse:
[
{
"created": 1759739951860,
"deploymentId": "dpl_8gFe6M8XZsQ1ohP86VWTemcBAmZJ",
"text": "Running build in Washington, D.C., USA (East) – iad1",
"type": "stdout",
"info": {
"type": "build",
"name": "bld_b3go7zd2k"
}
}
]Cancel Deployment
PATCH /vercel/v12/deployments/{deploymentId}/cancelList Environment Variables
GET /vercel/v10/projects/{projectId}/envResponse:
{
"envs": [
{
"id": "6EwQRCd32PVNHORP",
"key": "API_KEY",
"value": "...",
"type": "encrypted",
"target": ["production", "preview", "development"],
"createdAt": 1732148489672,
"updatedAt": 1745542152381
}
]
}Create Environment Variable
POST /vercel/v10/projects/{projectId}/env
Content-Type: application/json
{
"key": "MY_ENV_VAR",
"value": "my-value",
"type": "encrypted",
"target": ["production", "preview"]
}Update Environment Variable
PATCH /vercel/v10/projects/{projectId}/env/{envId}
Content-Type: application/json
{
"value": "updated-value"
}Delete Environment Variable
DELETE /vercel/v10/projects/{projectId}/env/{envId}List Domains
GET /vercel/v5/domainsResponse:
{
"domains": [
{
"name": "example.com",
"apexName": "example.com",
"projectId": "prj_abc123",
"verified": true,
"createdAt": 1732138693523
}
],
"pagination": {
"count": 10,
"next": null,
"prev": null
}
}Get Domain
GET /vercel/v5/domains/{domain}Add Domain
POST /vercel/v5/domains
Content-Type: application/json
{
"name": "example.com"
}Remove Domain
DELETE /vercel/v6/domains/{domain}Get Artifacts Status
GET /vercel/v8/artifacts/statusResponse:
{
"status": "enabled"
}