v0 Platform API/API Reference/Projects

Create Project

Creates a new v0 project with an optional description, icon, environment variables, and instructions. Projects help organize chats and manage context.

POST/v1/projects

Usage

TypeScript Example
import { v0 } from 'v0-sdk'

const result = await v0.projects.create({
  name: 'My Project',
})

console.log(result)

API Signature

Request

Body

name: string

The name of the project.

description?: string

A brief summary of the project’s purpose.

icon?: string

An icon identifier to visually represent the project.

environmentVariables?: object[]

A list of key-value pairs used to define runtime variables for the project.

key: string
value: string
instructions?: string

Guidance or goals that provide context for the model when working within the project.

vercelProjectId?: string

The ID of an existing Vercel project to link to. If not provided, a new Vercel project will be created.

privacy?: 'private' | 'team'

The privacy setting for the project. For user accounts, this is always "private". For team/enterprise accounts, this can be either "private" or "team".

Response

id: string

A unique identifier for the project.

object: 'project'

Fixed value identifying this object as a project.

name: string

The name of the project as defined by the user.

privacy: 'private' | 'team'

The privacy setting for the project - either private or team.

vercelProjectId?: string

Optional ID of the linked Vercel project, if connected.

createdAt: string

The ISO timestamp representing when the project was created.

updatedAt?: string

The ISO timestamp of the most recent update, if available.

apiUrl: string

The API endpoint URL for accessing this project programmatically.

webUrl: string

The web URL where the project can be viewed or managed.

description?: string

The description of the project.

instructions?: string

The instructions for the project.

chats: object[]

List of all chats that are associated with this project.

id: string

A unique identifier for the chat.

object: 'chat'

Fixed value identifying this object as a chat.

shareable: boolean

Indicates whether the chat can be shared via public link.

privacy: 'public' | 'private' | 'team' | 'team-edit' | 'unlisted'

Defines the visibility of the chat—private, team-only, or public.

name?: string

An optional name assigned to the chat by the user.

title?: string
deprecated

Deprecated title field preserved for backward compatibility.

createdAt: string

The ISO timestamp representing when the chat was created.

updatedAt?: string

The ISO timestamp of the last update to the chat.

favorite: boolean

Indicates whether the chat is marked as a favorite.

authorId: string

The ID of the user who created the chat.

projectId?: string

Optional ID of the v0 project associated with this chat.

webUrl: string

Web URL to view this chat in the browser.

apiUrl: string

API URL to access this chat via the API.

latestVersion?: object

The most recent generated version of the chat, if available.

id: string

A unique identifier for the version.

object: 'version'

Fixed value identifying this object as a version.

status: 'pending' | 'completed' | 'failed'

The current status of the version generation process.

demoUrl?: string

Optional URL for previewing the generated output.

createdAt: string

The date and time when the version was created, in ISO 8601 format.

updatedAt?: string

The date and time when the version was last updated, in ISO 8601 format.