> ## 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.

# Delete a project

> DELETE /v1/projects/:id — soft-delete a project owned by your account.

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

Soft-delete a project. The row and everything under it (templates, renders, signature requests,
API keys) is retained, but the project stops appearing in [list](/api-reference/list-projects) and
[get](/api-reference/get-project), and every project-scoped call against it — including render and
sign calls made with its `ck_live_…` keys — is rejected from that point on.

<Warning>
  **The slug is not freed.** `(userId, slug)` is a non-partial unique index, so a soft-deleted
  project's slug stays reserved for that account — `POST /v1/projects` with the same derived slug
  gets a numeric suffix instead of reusing it. This is intentional, documented behavior, not a bug.
</Warning>

## 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>

## Response

`200`:

<ResponseField name="id" type="string">The deleted project's id.</ResponseField>
<ResponseField name="deleted" type="boolean">Always `true` on success.</ResponseField>

A second DELETE of the same id returns `404` — the operation is idempotent in effect.

## Errors

| Status | code           | Meaning                                                                    |
| ------ | -------------- | -------------------------------------------------------------------------- |
| 401    | `unauthorized` | Missing/invalid account key.                                               |
| 404    | `not_found`    | No such project owned by this account (already deleted, or never existed). |

```bash cURL theme={null}
curl -X DELETE https://api.craftkit.dev/v1/projects/3f9b6c2e-1a2b-4c3d-9e8f-7a6b5c4d3e2f \
  -H "Authorization: Bearer $CRAFTKIT_ACCOUNT_KEY"
```

```json 200 theme={null}
{
  "id": "3f9b6c2e-1a2b-4c3d-9e8f-7a6b5c4d3e2f",
  "deleted": true
}
```
