Fork Chat

Creates a new chat fork from a specific version within an existing chat. Useful for branching off alternate directions without modifying the original conversation.

POST /chats/{chatId}/fork
import { v0 } from 'v0-sdk'

const result = await v0.chats.fork({
  chatId: '123',
})

console.log(result)
POST /chats/{chatId}/fork
curl -X POST https://api.v0.dev/chats/123/fork \
  -H "Authorization: Bearer $V0_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "chatId": "123"
  }'

Parameters

Path Parameters

chatId string Required

The unique identifier of the chat to fork. Provided as a path parameter.


Request Body

versionId string

The identifier of the specific chat version to fork from. If omitted, the latest version will be used.


Response

Response Body

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 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

Full details of the most recent generated version, 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.


files any[] Required

A list of files that were generated or included in this version.

Array items: string


url string Required

The canonical URL to access this chat.


messages any[] Required

All messages exchanged in the chat, including user and assistant entries.

Array items: string


files object[]

Optional array of files associated with the chat context.

Array items:

lang string Required

Programming language used in the file (e.g., JavaScript, Python).


meta object Required

A key-value map of metadata associated with the file (e.g., path, type).


source string Required

The origin or identifier of the file source (e.g., path or upload label).


demo string

Deprecated demo URL used for previewing the chat result.


text string Required

The main user prompt or instruction that started the chat.