---
title: "Rename a project"
method: PATCH
path: "/projects/{projectId}"
tags: ["Projects"]
---

# Rename a project

`PATCH /projects/{projectId}`

## Request

- Base URL: `https://app.flora.ai/api/v1`
- URL: `https://app.flora.ai/api/v1/projects/{projectId}`
- Auth: HTTP bearer

Renames a single project when the authenticated caller can edit it. `name` is the only field this operation writes; workspace write access is required and missing or inaccessible projects return 404. Projects managed by a Generation Table or backing a Production cannot be renamed here — rename them from the owning surface. Mutating public API requests support an optional Idempotency-Key header for client retries; duplicate keys within two hours return idempotency_duplicate.

## Path parameters

- `projectId` string, required: Project identifier

## Request body

- object
  - `name` string, required: Project name

## Response `200`

Project renamed.

- object
  - `project_id` string, required: Project identifier
  - `name` string, required: Project name
  - `thumbnail_url` string, uri, nullable: HTTPS project thumbnail URL, or null when unavailable. Uses the manual cover, then the automatic thumbnail, then the legacy project picture. Non-HTTPS URLs are returned as null.
  - `is_private` boolean: True when only the creator sees the project, rather than the whole workspace. Absent when the API cannot tell.
  - `workspace_id` string, required: Workspace identifier
  - `origin` string, nullable, required: Project origin
  - `last_modified` number, nullable, required
  - `created_at` number, required

## Other responses

- `400`: 400
- `401`: 401
- `402`: 402
- `403`: 403
- `404`: 404
- `409`: 409
- `429`: 429
- `500`: 500
- `503`: 503

## Changes

- **2026-10-28** `a8351619f225`: 9 warning
  - added the new `not_configured` enum value to the `error/code` response property for the response status `400`
  - added the new `not_configured` enum value to the `error/code` response property for the response status `401`
  - added the new `not_configured` enum value to the `error/code` response property for the response status `402`
  - added the new `not_configured` enum value to the `error/code` response property for the response status `403`
  - …5 more
- **2026-10-16** `e54130373b10`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/florafauna-ai/apis/flora-ai-api/changes/projects/:projectId/patch.md)

---

[API](https://skmtc.dev/florafauna-ai/apis/flora-ai-api.md) - [All operations](https://skmtc.dev/florafauna-ai/apis/flora-ai-api/llms.txt) - [OpenAPI document](https://skmtc.dev/florafauna-ai/apis/flora-ai-api/revisions/87cfe2c4ac29?raw)
