---
title: Duplicate Chat
description: Creates a new chat by duplicating an existing chat.
docs_index: /docs/llms.txt
lastUpdated: 2026-10-23
badge: "POST"
---

> For an index of all documentation, see [/docs/llms.txt](/docs/llms.txt).

Creates a new chat by duplicating an existing chat.

#### `POST /v2/chats/{chatId}/duplicate`

## Usage

```typescript
import { v0 } from 'v0'

const result = await v0.chats.duplicate({
  chatId: 'chat_abc123',
  privacy: 'public',
})

console.log(result)
```

```bash
curl -X POST "https://api.v0.dev/v2/chats/chat_abc123/duplicate"   -H "Authorization: Bearer $V0_API_KEY"   -H "Content-Type: application/json"   -d '{"privacy":"public"}'
```

## API Signature

### Request

#### Path Parameters

- `chatId: string` The unique identifier of the chat.
  - **Minimum length:** 1

#### Request Body

- `privacy: 'public' | 'private' | 'team' | 'team-edit' | 'unlisted'` Visibility setting for the duplicated chat.
- `title?: string` Custom title for the duplicated chat. If omitted, the original title is reused with an incremented suffix (e.g. "My Chat (2)").
- `metadata?: Record<string, string>` Arbitrary key-value data to attach to the chat.

### Response

- `id: string` Unique chat identifier.
- `title?: string` Chat title, if generated.
- `privacy: 'public' | 'private' | 'team' | 'team-edit' | 'unlisted'` Visibility setting of the chat.
- `createdAt: string` ISO timestamp of when the chat was created.
- `updatedAt?: string` ISO timestamp of when the chat was last updated.
- `authorId: string` ID of the user who created the chat.
- `vercelProjectId?: string` Associated Vercel project ID, if any.
- `metadata: Record<string, string>` User-defined key-value metadata.
- `writePermission: boolean` Whether the caller has write access to this chat.

---

For a semantic overview of all documentation, see [/docs/sitemap.md](/docs/sitemap.md)

For an index of all available documentation, see [/docs/llms.txt](/docs/llms.txt)

For agent-facing discovery, including API and MCP surfaces, see [/docs/agents.md](/docs/agents.md)