---
title: "Update a project"
method: PATCH
path: "/api/v1/projects/{id}"
tags: ["Projects"]
---

# Update a project

`PATCH /api/v1/projects/{id}`

## Request

- Base URL: `https://your-deployment.example.com`
- URL: `https://your-deployment.example.com/api/v1/projects/{id}`
- Auth: one of:
  - HTTP bearer
  - API key in header `x-api-key`

Renames a project you own or changes its description. Omitted fields are left unchanged, and an empty body changes nothing. Only the owner can update a project. Unknown body fields are rejected.

## Path parameters

- `id` string, required

## Request body

- UpdateProjectRequest
  - `name` string: Unique among your live projects.
  - `description` string

## Response `200`

The updated project.

- UpdateProjectResponse200
  - `id` string, required
  - `name` string, required
  - `description` string, required
  - `session_ids` string[], required: Sessions grouped in the project. Anyone the project is shared with can read them.
  - `file_ids` string[], required: Files grouped in the project. Anyone the project is shared with can read them.
  - `created_at` string, nullable, required: ISO 8601 timestamp.
  - `updated_at` string, nullable, required: ISO 8601 timestamp.

## Other responses

- `401`: Missing or invalid credentials.
- `403`: The API key lacks `projects:write`.
- `404`: No project with that id is yours. A project shared with you, one that does not exist, a deleted project and a malformed id are all reported as 404, so project ids cannot be probed through this endpoint.
- `405`: The path does not serve this HTTP method.
- `422`: Request body failed validation, or you already have a live project with this `name`.
- `429`: Per-user rate limit exceeded.

---

[API](https://skmtc.dev/bike4mind/apis/bike4mind-api.md) · [All operations](https://skmtc.dev/bike4mind/apis/bike4mind-api/llms.txt) · [OpenAPI document](https://skmtc.dev/bike4mind/apis/bike4mind-api/revisions/db47495b892f?raw)
