DELETE https://api.craftkit.dev/v1/projects/{id}
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 and
get, and every project-scoped call against it — including render and
sign calls made with its ck_live_… keys — is rejected from that point on.
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.
Authorization
Bearer ck_acct_… — must own the project.
Path
Response
200:
The deleted project’s id.
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). |
curl -X DELETE https://api.craftkit.dev/v1/projects/3f9b6c2e-1a2b-4c3d-9e8f-7a6b5c4d3e2f \
-H "Authorization: Bearer $CRAFTKIT_ACCOUNT_KEY"
{
"id": "3f9b6c2e-1a2b-4c3d-9e8f-7a6b5c4d3e2f",
"deleted": true
}