---
title: "Update Project"
method: PATCH
path: "/projects/{projectId}"
tags: ["projects"]
---

# Update Project

`PATCH /projects/{projectId}`

Updates the metadata of an existing project using its `projectId`. Supports changes to the project name and privacy setting.

## Path parameters

- `projectId` string, required

## Request body

- object
  - `name` string — A new name to assign to the project. Helps with identification and organization.
  - `description` string — A new description to assign to the project. Helps with identification and organization.
  - `instructions` string — Guidance or goals that provide context for the model when working within the project.
  - `privacy` 'private' | 'team' — The privacy setting for the project. For user accounts, this must be "private". For team/enterprise accounts, this can be either "private" or "team".

## Response `200`

Success

- ProjectDetail — Full representation of a project, including its associated chats.
  - `id` string, required — A unique identifier for the project.
  - `object` 'project', required — Fixed value identifying this object as a project.
  - `name` string, required — The name of the project as defined by the user.
  - `privacy` 'private' | 'team', required — The privacy setting for the project - either private or team.
  - `vercelProjectId` string — Optional ID of the linked Vercel project, if connected.
  - `createdAt` string, date-time, required — The ISO timestamp representing when the project was created.
  - `updatedAt` string, date-time — The ISO timestamp of the most recent update, if available.
  - `apiUrl` string, uri, required — The API endpoint URL for accessing this project programmatically.
  - `webUrl` string, uri, 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.
    - `id` string, required — A unique identifier for the chat.
    - `object` 'chat', required — Fixed value identifying this object as a chat.
    - `shareable` boolean, required — Indicates whether the chat can be shared via public link.
    - `privacy` 'public' | 'private' | 'team' | 'team-edit' | 'unlisted', required — Defines the visibility of the chat—private, team-only, or public.
    - `name` string — An optional name assigned to the chat by the user.
    - `title` string — Deprecated title field preserved for backward compatibility.
    - `createdAt` string, date-time, 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` 'version', required — Fixed value identifying this object as a version.
      - `status` 'pending' | 'completed' | 'failed', required — 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, date-time, required — The date and time when the version was created, in ISO 8601 format.
      - `updatedAt` string, date-time — The date and time when the version was last updated, in ISO 8601 format.

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `409` — Conflict
- `413` — Payload Too Large
- `422` — Unprocessable Entity
- `429` — Too Many Requests
- `500` — Internal Server Error

## Changes

- **2025-10-23** `bcf554284606` — 6 info
  - added the optional property `chats/items/latestVersion/screenshotUrl` to the response with the `200` status
  - the `chats/items/createdAt` response's property pattern `^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$` was added for the status `200`
  - the `chats/items/latestVersion/createdAt` response's property pattern `^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$` was added for the status `200`
  - the `chats/items/latestVersion/updatedAt` response's property pattern `^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$` was added for the status `200`
  - …2 more
- …earlier changes not shown

[Full history](https://skmtc.dev/vercel/apis/v0-platform-api-beta/changes/projects/:projectId/patch.md)

---

[API](https://skmtc.dev/vercel/apis/v0-platform-api-beta.md) · [All operations](https://skmtc.dev/vercel/apis/v0-platform-api-beta/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/vercel/v0-platform-api-beta/revisions/86302d0793b1/schema)
