# Retract a memory

> Retires a fact that stopped holding with nothing replacing it.

Retires a fact that stopped holding with nothing replacing it. The memory leaves the default listing, [knowledge search](/docs/api/knowledge/search-knowledge) and write deduplication, so restating the fact later lands as a new memory.

It is an invalidation with no successor, which is what tells it apart from a supersede: `invalidated_at` is set and `superseded_by_memory_id` stays null. The retraction is appended to the assertion ledger with outcome `retracted`, so who withdrew the fact is part of the record.

The memory stays readable by id, with its text and its assertions. `DELETE` remains the way to remove it outright.

  Request

<ParamsDetails
  {...require("./retract-memory.ParamsDetails.json")}
>

<RequestSchema
  {...require("./retract-memory.RequestSchema.json")}
>

<StatusCodes
  {...require("./retract-memory.StatusCodes.json")}
>
