Reference
Common questions related to Multi Projet Platforms
Custom blocks
Start with our Custom Blocks and Actions that speed up your usage of the Vercel API.
Projects & Deployments API reference
Create project
Create a new Vercel project using the create project API.
SDK:
import { Vercel } from "@vercel/sdk";
const vercel = new Vercel({
  bearerToken: "<YOUR_BEARER_TOKEN_HERE>",
});
async function run() {
  const result = await vercel.projects.createProject({
    teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l",
    slug: "my-team-url-slug",
    requestBody: {
      name: "a-project-name",
    },
  });
  console.log(result);
}
run();Deploy to project
Create a deployment for a project using the create deployment API.
SDK:
import { Vercel } from "@vercel/sdk";
const vercel = new Vercel({
  bearerToken: "<YOUR_BEARER_TOKEN_HERE>",
});
async function run() {
  const result = await vercel.deployments.createDeployment({
    teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l",
    slug: "my-team-url-slug",
    requestBody: {
      deploymentId: "dpl_2qn7PZrx89yxY34vEZPD31Y9XVj6",
      files: [
        {
          data: "<value>",
          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",
      },
      gitSource: {
        projectId: 987654321,
        ref: "main",
        sha: "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0",
        type: "gitlab",
      },
      meta: {
        foo: "bar",
      },
      name: "my-instant-deployment",
      project: "my-deployment-project",
      projectSettings: {
        buildCommand: "next build",
        installCommand: "pnpm install",
      },
      target: "production",
    },
  });
  console.log(result);
}
run();List deployments
Get deployments for a project using the list deployments API.
SDK:
import { Vercel } from "@vercel/sdk";
const vercel = new Vercel({
  bearerToken: "<YOUR_BEARER_TOKEN_HERE>",
});
async function run() {
  const result = await vercel.deployments.getDeployments({
    app: "docs",
    from: 1612948664566,
    limit: 10,
    projectId: "QmXGTs7mvAMMC7WW5ebrM33qKG32QK3h4vmQMjmY",
    projectIds: ["prj_123", "prj_456"],
    target: "production",
    to: 1612948664566,
    users: "kr1PsOIzqEL5Xg6M4VZcZosf,K4amb7K9dAt5R2vBJWF32bmY",
    since: 1540095775941,
    until: 1540095775951,
    state: "BUILDING,READY",
    teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l",
    slug: "my-team-url-slug",
  });
  console.log(result);
}
run();Delete project
Remove a project and all its deployments using the delete project API.
SDK:
import { Vercel } from "@vercel/sdk";
const vercel = new Vercel({
  bearerToken: "<YOUR_BEARER_TOKEN_HERE>",
});
async function run() {
  const result = await vercel.deployments.deleteDeployment({
    id: "dpl_5WJWYSyB7BpgTj3EuwF37WMRBXBtPQ2iTMJHJBJyRfd",
    url: "https://files-orcin-xi.vercel.app/",
    teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l",
    slug: "my-team-url-slug",
  });
  console.log(result);
}
run();Error codes
| Code | Description | Solution | 
|---|---|---|
project_limit_exceeded | Team project limit reached | Upgrade plan or clean up unused projects | 
invalid_name | Project name is invalid | Use alphanumeric characters and hyphens | 
forbidden | Insufficient permissions | Check API token has project creation scope | 
rate_limit_exceeded | Too many requests | Implement exponential backoff | 
build_failed | Deployment build failed | Check build logs for errors | 
Troubleshooting
FAQ
Next steps
- Concepts: Understand multi-project architecture
 - How-to Guide: Implement multi-project features
 - Vercel SDK: Complete SDK documentation