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

# Update Project Endpoint

`PATCH /v1/projects/{project_id}`

Update mutable project fields. Only provided fields are changed.

## Path parameters

- `project_id` string, required

## Request body

- UpdateProjectRequest
  - `name` string, nullable — New project name (1-100 characters).

## Response `200`

The updated project row.

- ProjectRow — One projects-table row, as returned by these endpoints. Spec-only: handlers return raw rows (select *) via JSONResponse, so this documents the stable core without filtering. extra="allow" — rows may carry additional audit columns.
  - `id` string, required — Project ID.
  - `org_id` string, required — Organization the project belongs to.
  - `name` string, required — Project name.
  - `created_at` string, required — When the project was created.

## Other responses

- `400` — No fields to update.
- `404` — Project not found (or not visible to the caller).
- `422` — Validation Error

---

[API](https://skmtc.net/tryardent/apis/fastapi.md) · [All operations](https://skmtc.net/tryardent/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tryardent/fastapi/versions/f92d8d54bae2/schema)
