---
title: "Admin Project Cleanup"
method: POST
path: "/admin/project_cleanup"
---

# Admin Project Cleanup

`POST /admin/project_cleanup`

## Request

- Base URL: `https://api.colourmemory.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.colourmemory.com/admin/project_cleanup`
- Auth: none declared

Step 9: bounded expiry cleanup for TEMPORARY (anonymous) projects only
-- deliberately NOT an automatic background thread (unlike the image
sweeper above). Manually triggered, admin-gated, batched, and
dry_run=True by default so an accidental call never deletes anything.
Authenticated projects (expires_at=NULL) are structurally unreachable
by this query -- see expire_anonymous_projects's own docstring.

## Query parameters

- `batch_size` integer
- `dry_run` boolean

## Headers

- `x-admin-key` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/colourmemory/apis/colour-memory-api.md) · [All operations](https://skmtc.dev/colourmemory/apis/colour-memory-api/llms.txt) · [OpenAPI document](https://skmtc.dev/colourmemory/apis/colour-memory-api/revisions/4ba028f64042?raw)
