---
title: "Create Chat From Vercel Project"
method: POST
path: "/chats/from-vercel-project"
tags: ["Chats"]
---

# Create Chat From Vercel Project

`POST /chats/from-vercel-project`

## Request

- Base URL: `https://api.v0.dev/v2`
- URL: `https://api.v0.dev/v2/chats/from-vercel-project`
- Auth: HTTP bearer

Creates a new chat from an existing Vercel project.

## Request body

- object
  - `vercelProjectId` string, required: Vercel project ID in the active user or team scope.
  - `baseBranch` string: Base branch for a GitHub-linked project. Defaults to the repository default branch. Ignored for projects without a GitHub link.
  - `privacy` 'public' | 'private' | 'team' | 'team-edit' | 'unlisted': Visibility setting for the new chat.
  - `title` string: Title for the new chat.
  - `metadata` object: Arbitrary key-value data to attach to the chat.

## Response `200`

A chat response that also reports the usage.

- ChatWithUsage: A chat response that also reports the usage.
  - `chat` object, required
    - `id` string, required: Unique chat identifier.
    - `title` string: Chat title, if generated.
    - `privacy` 'public' | 'private' | 'team' | 'team-edit' | 'unlisted', required: Visibility setting of the chat.
    - `createdAt` string, date-time, required: ISO timestamp of when the chat was created.
    - `updatedAt` string, date-time: ISO timestamp of when the chat was last updated.
    - `authorId` string, required: ID of the user who created the chat.
    - `vercelProjectId` string: Associated Vercel project ID, if any.
    - `metadata` object, required: User-defined key-value metadata.
    - `writePermission` boolean, required: Whether the caller has write access to this chat.
  - `usage` object, required: Model, token usage, and credit cost for the prompt.
    - `model` string, nullable, required: Model identifier used for the assistant message, or null when not applicable or unavailable.
    - `tokens` object, required: Token counts for this message.
      - `input` number, required: Prompt input value (non-cached).
      - `output` number, required: Completion output value.
      - `cacheRead` number, required: Cache-read input value.
      - `cacheWrite` number, required: Cache-write input value.
      - `total` number, required: Sum of input, output, cacheRead, and cacheWrite.
    - `creditsCost` object, required: Credit cost for this message.
      - `input` number, required: Prompt input value (non-cached).
      - `output` number, required: Completion output value.
      - `cacheRead` number, required: Cache-read input value.
      - `cacheWrite` number, required: Cache-write input value.
      - `total` number, required: Sum of input, output, cacheRead, and cacheWrite.

## Other responses

- `401`: Response for status 401
- `403`: Response for status 403
- `404`: Response for status 404
- `422`: Response for status 422
- `500`: Response for status 500

## Changes

- **2026-09-22** `64ea7ed446c9`: 9 info
  - added the new optional request property `metadata` (media type: application/json)
  - added the new optional request property `metadata` (media type: application/x-www-form-urlencoded)
  - added the new optional request property `metadata` (media type: multipart/form-data)
  - added the new optional request property `privacy` (media type: application/json)
  - …5 more
- **2026-09-16** `daca2ff2cc01`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/vercel/apis/v0-platform-api-beta/changes/chats/from-vercel-project/post.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.dev/vercel/apis/v0-platform-api-beta/revisions/467d24b4c224?raw)
