---
title: "Close and purge SOURCES (Zero Retention) · 0 credits · always free"
method: POST
path: "/api/v1/cases/{caseId}/purge"
tags: ["Cases"]
---

# Close and purge SOURCES (Zero Retention) · 0 credits · always free

`POST /api/v1/cases/{caseId}/purge`

## Request

- Base URL: `https://legal.nexusquantum.legal`
- URL: `https://legal.nexusquantum.legal/api/v1/cases/{caseId}/purge`
- Auth: HTTP bearer

Owner-only, idempotent (re-purging returns counters at 0). Literal body `{"confirm":"PURGE"}`. EXTENDED purge: originals + chunks + case_queries + timeline excerpts + crypto-shred of email bodies (the envelope is kept). Keeps encrypted outputs, document shells, metadata, parties and firm-memory. Recommended belt-and-braces on top of the sliding TTL in the 100% ephemeral recipe.

## Path parameters

- `caseId` string, uuid, required

## Request body

- object
  - `confirm` 'PURGE', required

## Response `200`

PurgeResult

- PurgeResult: Result of the EXTENDED source purge (idempotent: re-purging returns counters at 0). Purges: Storage originals + document_chunks + case_queries (Q&A) + timeline excerpts + crypto-shred of email bodies (envelope kept). Keeps: encrypted outputs, document shells, metadata, parties, firm-memory.
  - `ok` boolean
  - `chunks_deleted` integer
  - `docs_cleared` integer
  - `queries_deleted` integer
  - `email_bodies_shredded` integer
  - `timeline_excerpts_cleared` integer
  - `source_purged_at` string, date-time, nullable

## Other responses

- `400`: CONFIRM_REQUIRED
- `403`: FORBIDDEN (not the owner)
- `404`: CASE_NOT_FOUND

---

[API](https://skmtc.dev/nexusquantum/apis/nexus-legal-api.md) · [All operations](https://skmtc.dev/nexusquantum/apis/nexus-legal-api/llms.txt) · [OpenAPI document](https://skmtc.dev/nexusquantum/apis/nexus-legal-api/revisions/4084d8d4eb0b?raw)
