v0 Platform API/Packages

v0-sdk

TypeScript SDK for the v0 Platform API

The core TypeScript SDK for interacting with the v0 Platform API. Provides type-safe methods for creating chats, managing projects, handling deployments, and more.

Installation

npm install v0-sdk
# or
pnpm add v0-sdk
# or
yarn add v0-sdk

Quick Start

import { V0 } from 'v0-sdk'

const v0 = new V0({
  apiKey: process.env.V0_API_KEY,
})

// Create a new chat
const chat = await v0.chats.create({
  message: 'Create a todo app with React',
})

console.log(chat.id)

Features

  • Type-safe API: Full TypeScript support with comprehensive type definitions
  • Complete Coverage: Access all v0 Platform API endpoints
  • Modern Architecture: Built with modern JavaScript/TypeScript patterns
  • Error Handling: Comprehensive error handling and validation
  • Streaming Support: Real-time streaming for chat responses

Core APIs

Chats

// Create a chat
const chat = await v0.chats.create({
  message: 'Build a landing page',
})

// Send a message
const response = await v0.chats.sendMessage(chat.id, {
  message: 'Add a contact form',
})

// Get chat history
const chatData = await v0.chats.getById(chat.id)

Projects

// Create a project
const project = await v0.projects.create({
  name: 'My App',
})

// Get project details
const projectData = await v0.projects.getById(project.id)

// List all projects
const projects = await v0.projects.find()

Deployments

// Create a deployment
const deployment = await v0.deployments.create({
  projectId: project.id,
})

// Get deployment status
const deploymentData = await v0.deployments.getById(deployment.id)

// Get deployment logs
const logs = await v0.deployments.findLogs(deployment.id)

User & Account

// Get user information
const user = await v0.user.get()

// Get billing information
const billing = await v0.user.getBilling()

// Get current plan
const plan = await v0.user.getPlan()

Configuration

Environment Variables

V0_API_KEY=your_api_key_here
V0_API_URL=https://api.v0.dev/v1  # Optional, defaults to production

Client Options

const v0 = new V0({
  apiKey: 'your-api-key',
  baseURL: 'https://api.v0.dev/v1', // Optional
  timeout: 30000, // Optional, in milliseconds
  maxRetries: 3, // Optional
})

Error Handling

import { V0Error } from 'v0-sdk'

try {
  const chat = await v0.chats.create({
    message: 'Create an app',
  })
} catch (error) {
  if (error instanceof V0Error) {
    console.error('API Error:', error.message)
    console.error('Status:', error.status)
    console.error('Code:', error.code)
  } else {
    console.error('Unexpected error:', error)
  }
}

Requirements

  • Node.js 22+
  • TypeScript 5.0+ (for TypeScript projects)