Choose the recoverable forget path or an explicitly authorized destructive mode with an auditable tombstone.
Soft deletion is the public default
DELETE /v1/memories/{memory_id} defaults to mode=soft_delete. POST /v1/memories/{memory_id}/forget accepts the same MemoryForgetRequest family with mode, reason, replacement_content, and metadata. A soft delete creates a tombstone and a version snapshot, changes the memory status to deleted, and can be followed by restore.
DELETE /v1/memories/<memory-id>?mode=soft_delete&reason=user-requested
X-API-Key: <your-assigned-api-key>
Forget, redact, and hard-delete are different modes
The persistence engine accepts soft_delete, redact, and hard_delete. Redact replaces content with [REDACTED] (or supplied replacement content), clears metadata and embeddings, and records safe redaction provenance. Hard delete is irreversible and is protected by the stronger memory:hard_delete authorization path; do not choose it as a routine correction.
- soft_delete — recoverable deletion with a tombstone and version snapshot.
- redact — retain a non-content tombstone/result while removing the original content and embedding.
- hard_delete — permanent removal path requiring the stronger delete capability.
Restore only a soft-deleted memory
POST /v1/memories/{memory_id}/restore accepts MemoryRestoreRequest with an optional reason and metadata. The persistence path restores status=active and increments the version; a redacted memory cannot be restored because its original content is no longer available.
POST /v1/memories/<memory-id>/restore
X-API-Key: <your-assigned-api-key>
Content-Type: application/json
{
"reason": "owner-confirmed recovery"
}
Deletion is authorized and audited
The REST mutation path checks the mode-specific memory scope and owner-scoped key before resolving the target. It writes memory tombstone/audit evidence with the requested mode, reason presence, and target references without exposing the forgotten content.
Persona flows
ChatGPT user
Give ChatGPT durable access to your XMemo preferences, project facts, decisions, and TODOs without pasting bearer tokens into a chat.
Save a synthetic preference or project note, start a new chat, then ask ChatGPT to recall it through XMemo before continuing work.
Copilot / Codex developer
Carry repo decisions, coding conventions, bug-fix notes, and task history between IDE and CLI agents.
Record a codebase decision or bug fix, then ask the next IDE or CLI agent to recall the relevant XMemo context before editing.
Team / enterprise pilot owner
Evaluate shared memory with account controls, source attribution, export/delete workflows, and reviewer-safe setup evidence.
Have a pilot member save a synthetic team memory, confirm source attribution in XMemo, then review delete/export and support paths.