Purge a generation's content
DELETE/v1/projects/:project_id/generations/:generation_id/content
Clears the generation's content — metadata, error, extraction and the internal recovery state of a paused run — and stamps content_redacted_at as verifiable proof the content is gone.
The billing and audit skeleton is preserved: ids, timestamps, status, stop reason and the attribution fields (action_id, trigger_id) the usage ledger reads. A purged generation still reads back with GET /v1/projects/{project_id}/generations/{generation_id} — a 404 there would prove nothing about what was erased.
This is the narrow erasure, scoped to one model turn. It does not delete the parent trace's step payload, which holds this generation's content alongside its siblings'. To erase a whole run's content, purge the trace with DELETE /v1/projects/{project_id}/traces/{trace_id}/content, which cascades to every descendant trace and all of their generations.
Idempotent: purging an already-purged generation succeeds and leaves the original content_redacted_at in place.
A generation belonging to another project responds 404, not 403, and nothing is purged.
Request
Responses
- 200
- 401
- 404
- 502
The purged generation skeleton.
Missing or invalid credentials.
The resource does not exist (existence is not leaked).
The upstream runtime could not complete the operation.