v0 Platform API/Integrations

Create Vercel Project

Create a new Vercel project

POST
/integrations/vercel/projects
Authorization<token>

Your v0 API key. Get one at https://v0.dev/chat/settings/keys

In: header

projectIdstring
namestring

Response Body

curl -X POST "https://api.v0.dev/v1/integrations/vercel/projects" \
  -H "Content-Type: application/json" \
  -d '{
    "projectId": "string",
    "name": "string"
  }'
{
  "id": "string",
  "object": "vercel_project",
  "name": "string"
}
{
  "error": {
    "message": "string",
    "type": "unauthorized_error"
  }
}
{
  "error": {
    "message": "string",
    "type": "forbidden_error"
  }
}
{
  "error": {
    "message": "string",
    "type": "not_found_error"
  }
}
{
  "error": {
    "message": "string",
    "type": "conflict_error"
  }
}
{
  "error": {
    "message": "string",
    "type": "payload_too_large_error"
  }
}
{
  "error": {
    "message": "string",
    "type": "unprocessable_entity_error"
  }
}
{
  "error": {
    "message": "string",
    "type": "too_many_requests_error"
  }
}
{
  "error": {
    "message": "string",
    "type": "internal_server_error"
  }
}

Code Examples

cURL

POST /integrations/vercel/projects
curl -X POST "https://api.v0.dev/v1/integrations/vercel/projects" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "E-commerce Dashboard",
    "framework": "next",
    "description": "Admin dashboard for online store"
  }'

TypeScript SDK

Using v0-sdk
import { v0 } from 'v0-sdk'

// Create a new Next.js project
const project = await v0.projects.create({
  name: 'E-commerce Dashboard',
  framework: 'next',
  description: 'Admin dashboard for online store'
})

console.log('Project created:', project.id)
console.log('Project URL:', project.url)

// Create a React project
const reactProject = await v0.projects.create({
  name: 'Landing Page',
  framework: 'react',
  description: 'Marketing landing page'
})