---
title: Update Chat Version Files
description: Updates the source files of a specific chat version (block) manually. This allows editing generated files directly through the API.
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).

Updates the source files of a specific chat version (block) manually. This allows editing generated files directly through the API.

#### `PATCH /v1/chats/{chatId}/versions/{versionId}`

## Usage

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

const result = await v0.chats.updateVersion()

console.log(result)
```

```bash
curl -X PATCH https://api.v0.dev/chats/{chatId}/versions/{versionId}   -H "Authorization: Bearer $V0_API_KEY"   -H "Content-Type: application/json"
```

## API Signature

### Request

#### Path Parameters

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

#### Body

- `files: object[]` Array of files to update with their new content
  - `item: object`
    - `name: string` The full file path including extension (e.g., "components/test.tsx")
    - `content: string` The new content for the file
    - `locked?: boolean` Whether to lock or unlock the file to prevent AI from overwriting it during generation

### 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` An authenticated URL to retrieve a screenshot of this version. Fetching this URL requires the same Authorization: Bearer header as all other API calls — it cannot be used directly as an `<img>` `src`. To display it in a browser, proxy the request server-side and forward the Authorization header. Append `?ignoreCache=1` to bypass the one-week screenshot cache.
- `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)