---
title: Restore Chat Version
description: Restores a chat to a specific version in-place. Unlike forking, this keeps the same chat ID and creates a new version entry pointing to the restored files.
docs_index: /docs/llms.txt
lastUpdated: 2026-10-23
product: v0 API
type: reference
prerequisites:
  - /docs/api/v1/quickstart
---

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

Restores a chat to a specific version in-place. Unlike forking, this keeps the same chat ID and creates a new version entry pointing to the restored files.

#### `POST /v1/chats/{chatId}/versions/{versionId}/restore`

## Usage

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

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

console.log(result)
```

```bash
curl -X POST https://api.v0.dev/v1/chats/123/versions/abc/restore   -H "Authorization: Bearer $V0_API_KEY"
```

## API Signature

### Request

#### Path Parameters

- `chatId: string` The unique identifier of the chat containing the version to restore. Provided as a path parameter.
- `versionId: string` The unique identifier of the version to restore. Provided as a path parameter.

### Response

- `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.
- `screenshotUrl?: string` URL to retrieve a screenshot of this version.
- `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.
- `files: object[]` A list of files that were generated or included in this version.
  - `item: object` Detailed representation of a file, including its content and lock status.
    - `object: 'file'` Fixed value identifying this object as a file.
    - `name: string` The name of the file, including its extension.
    - `content: string` The full contents of the file as a raw string.
    - `locked: boolean` Whether the file is locked to prevent AI from overwriting it during new version generation.

---

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)