> ## Documentation Index
> Fetch the complete documentation index at: https://docs.craftkit.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Rename a project

> PATCH /v1/projects/:id — rename a project owned by your account.

<Info>**PATCH** `https://api.craftkit.dev/v1/projects/{id}`</Info>

Rename a project. The slug is not recomputed — renaming never changes `slug` or breaks existing
project-key integrations.

## Authorization

<ParamField header="Authorization" type="string" required>
  `Bearer ck_acct_…` — must own the project.
</ParamField>

## Path

<ParamField path="id" type="string" required>The project id (UUID).</ParamField>

## Body

<ParamField body="name" type="string" required>New display name (1–200 chars).</ParamField>

## Response

`200` — the full project, `slug` unchanged:

<ResponseField name="id" type="string" />

<ResponseField name="slug" type="string">Unchanged — renaming never recomputes the slug.</ResponseField>
<ResponseField name="name" type="string">The new name.</ResponseField>

<ResponseField name="createdAt" type="string" />

<ResponseField name="updatedAt" type="string" />

## Errors

Ownership is resolved **before** the body is read, so an id you don't own returns `404` even if the
body is also invalid.

| Status | code              | Meaning                                   |
| ------ | ----------------- | ----------------------------------------- |
| 400    | `invalid_json`    | Body is not valid JSON.                   |
| 400    | `invalid_request` | `name` missing, empty, or over 200 chars. |
| 401    | `unauthorized`    | Missing/invalid account key.              |
| 404    | `not_found`       | No such project owned by this account.    |

```bash cURL theme={null}
curl -X PATCH https://api.craftkit.dev/v1/projects/3f9b6c2e-1a2b-4c3d-9e8f-7a6b5c4d3e2f \
  -H "Authorization: Bearer $CRAFTKIT_ACCOUNT_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Acme Corp (EU)" }'
```

```json 200 theme={null}
{
  "id": "3f9b6c2e-1a2b-4c3d-9e8f-7a6b5c4d3e2f",
  "slug": "acme-corp",
  "name": "Acme Corp (EU)",
  "createdAt": "2026-06-01T09:00:00.000Z",
  "updatedAt": "2026-07-02T00:00:00.000Z"
}
```
