Skip to content

Delete for good every run, case, suite and company whose six months have passed

POST
/v1/admin/purge
curl --request POST \
--url https://beta-api.plune.ai/v1/admin/purge \
--header 'Authorization: Bearer <token>'

The second half of the run delete: DELETE /v1/runs/{id} hides a run and keeps it, this removes what has aged out. Irreversible — nothing brings these rows back, which is why they wait six months first. Restricted to the owner of the deployment; everyone else gets 404. Called by a schedule, not by a person: 0 everywhere is the normal answer.

What the sweep removed

Media type application/json
object
ranAt
required
string format: date-time
runs
required
integer
reviewItems
required
integer
results
required
integer
testCases
required

Deleted cases whose six months have passed, removed with their results (D21).

integer
suites
required

Deleted suites whose six months have passed and nothing live points at.

integer
projects
required

Projects a company took into the bin whose six months have passed, emptied (ADR 0038) — what was in them is counted above; the project row stays, because its audit feed names it.

integer
companies
required

Deleted companies whose six months have passed, removed with their people and invitations (ADR 0038).

integer
Example generated
{
"ranAt": "2026-04-15T12:00:00Z",
"runs": 1,
"reviewItems": 1,
"results": 1,
"testCases": 1,
"suites": 1,
"projects": 1,
"companies": 1
}

No / invalid token or session

The caller does not own the application

Media type application/json
object
error
required
string
Example generated
{
"error": "example"
}

Rate-limited: either the per-route throttle or a tenant quota. Retry-After carries the seconds until the window rolls over.

Media type application/json
object
error
required
string
Example generated
{
"error": "example"
}
Retry-After
integer

Seconds until the window rolls over