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

# Update Project Endpoint

`PATCH /v1/projects/{project_id}`

## Request

- Base URL: `https://api.tryardent.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.tryardent.com/v1/projects/{project_id}`
- Auth: none declared

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.dev/tryardent/apis/tryardent-api.md) - [All operations](https://skmtc.dev/tryardent/apis/tryardent-api/llms.txt) - [OpenAPI document](https://skmtc.dev/tryardent/apis/tryardent-api/revisions/a0512915b997?raw)
