Create Project

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

POST /projects
import { v0 } from 'v0-sdk'

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

console.log(result)
POST /projects
curl -X POST https://api.v0.dev/projects \
  -H "Authorization: Bearer $V0_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "My Project"
  }'

Parameters

Request Body

name string Required

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.

Array items:

key string Required


value string Required


instructions string

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


Response

Response Body

id string Required

A unique identifier for the project.


object string Required

Fixed value identifying this object as a project.


name string Required

The name of the project as defined by the user.


vercelProjectId string

Optional ID of the linked Vercel project, if connected.


createdAt string Required

The ISO timestamp representing when the project was created.


updatedAt string

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


apiUrl string Required

The API endpoint URL for accessing this project programmatically.


webUrl string Required

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[] Required

List of all chats that are associated with this project.

Array items:

id string Required

A unique identifier for the chat.


object string Required

Fixed value identifying this object as a chat.


shareable boolean Required

Indicates whether the chat can be shared via public link.


privacy enum Required

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

Possible values:

  • public
  • private
  • team
  • team-edit
  • unlisted

name string

An optional name assigned to the chat by the user.


title string Deprecated

Deprecated title field preserved for backward compatibility.


createdAt string Required

The ISO timestamp representing when the chat was created.


updatedAt string

The ISO timestamp of the last update to the chat.


favorite boolean Required

Indicates whether the chat is marked as a favorite.


authorId string Required

The ID of the user who created the chat.


projectId string

Optional ID of the v0 project associated with this chat.


webUrl string Required

Web URL to view this chat in the browser.


apiUrl string Required

API URL to access this chat via the API.


latestVersion object

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

id string Required

A unique identifier for the version.


object string Required

Fixed value identifying this object as a version.


status enum Required

The current status of the version generation process.

Possible values:

  • pending
  • completed
  • failed

demoUrl string

Optional URL for previewing the generated output.


createdAt string Required

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.