Skip to content

Put a deleted run back

POST
/v1/runs/{id}/restore
curl --request POST \
--url https://beta-api.plune.ai/v1/runs/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/restore \
--header 'Authorization: Bearer <token>'

Not the same thing as POST /v1/audit/{id}/restore, which rolls back an EDIT to a record that never went away. This resurrects a deleted run together with the queue entries removed with it, and exactly those — anything deleted afterwards stays deleted. For the account that owns the run (Settings → Bin is their undo) and for the owner of the deployment in any project; everyone else gets 404, the same 404 an unknown id gets. A run’s Cairn report key and externalKey are unique among live runs: when the report was sent again, or the job started again, after this run was deleted, a live run holds the key now, and this one is not put back beside it — 409 naming that run; delete it first, then restore this one. GET /v1/bin lists what can be brought back.

id
required
string format: uuid

Restored

Media type application/json
object
id
required
string
restored
required
boolean
Example generated
{
"id": "example",
"restored": true
}

No / invalid token or session

No such deleted run in the caller’s project (the deployment owner reaches every project)

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

A live run of the project holds the same Cairn report key or externalKey — delete that run first, then restore this one

Media type application/json
object
error
required
string
code
required
string
Allowed values: run_key_live
Example
{
"code": "run_key_live"
}

Rate-limited: the per-route throttle, or the per-minute request limit of the plan an API token counts by (#1442; the body names the plan, #2092). 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