---
title: "Delete (archive) a saved document."
method: DELETE
path: "/v1/documents/{document_id}"
tags: ["v1", "mcp"]
---

# Delete (archive) a saved document.

`DELETE /v1/documents/{document_id}`

## Request

- Base URL: `https://api.superdocs.app`
- URL: `https://api.superdocs.app/v1/documents/{document_id}`
- Auth: HTTP bearer

Soft-archive a saved document — it leaves the Files view but is recoverable server-side.
Presence-aware: if the document is currently open in ANOTHER session and `force` is not set,
the request FAILS honestly with HTTP 409 (`code:"document_in_use"` + `open_in_sessions:N` +
`suggested_action`) so callers can confirm "open in N other session(s) — delete anyway?" and
re-call with `force=true`. On `force=true` it archives, unlinks every session, and notifies the
other sessions (which then prompt the user to keep editing or honor the deletion).

A no-op never wears a success status: if nothing was archived you get the 409 above, so a
2xx always means the archive actually happened.

## Path parameters

- `document_id` string, required

## Query parameters

- `force` boolean: Confirm deletion of a doc that is open in another session. Without it, deleting an in-use doc fails with HTTP 409 (code document_in_use, open_in_sessions:N) instead of tombstoning — nothing is archived until you re-call with force=true.
- `from_session` string, nullable: The caller's own session id (so it is excluded from the in-use check). Omit for a pure Files-view delete.

## Headers

- `authorization` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/superdocs/apis/universal-document-ai-api.md) · [All operations](https://skmtc.dev/superdocs/apis/universal-document-ai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/superdocs/apis/universal-document-ai-api/revisions/37d03122940b?raw)
