> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tensorpro.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Memory records

> The core object in EDN: one saved piece of information, with its source and history.

A **memory record** is one saved piece of information in EDN, for example
"Sara manages the website project."

Everything EDN remembers is stored as records. When EDN builds a SIP, it
selects the records that are relevant to the current question.

## What a record looks like

```json theme={"theme":"github-light"}
{
  "id": "43466367-e4a1-4d68-b97a-793a1f6628a9",
  "content_summary": "Sara manages the website project.",
  "provenance": "USER_STATED",
  "domain": "factual",
  "created_at": "2026-11-10T04:43:25+00:00",
  "status": "current",
  "superseded_by": null
}
```

| Field | What it means |
| - | - |
| `id` | The unique ID generated by EDN |
| `content_summary` | What the memory says |
| `provenance` | Where the memory came from. See [Provenance](https://docs.tensorpro.ai/concepts/provenance.md) |
| `domain` | The category: `factual`, `technical`, `professional-context` or `communication-style` |
| `created_at` | When EDN saved it (ISO 8601, UTC) |
| `status` | `current` for the version used in SIPs, or `replaced` when a newer version took its place |
| `superseded_by` | The ID of the record that replaced it, or `null` for the current version |

## How records are created

Your app usually creates memory records indirectly through EDN's write
endpoints:

| Action | Endpoint | What EDN saves |
| - | - | - |
| Save a conversation | `memory/ingest` | The exchange as a `ROUND` record, plus any fact or correction the user stated as a `USER_STATED` record |
| Upload a document | `document/ingest` | Each section of the document as a `DOCUMENT_VERIFIED` record |
| Classify an AI reply | `memory/infer` | An `AI_INFERRED` record, only when the reply answers a factual question and passes EDN's check. Otherwise nothing |
| Send unconfirmed AI content | `memory/generated` | An `AI_GENERATED` record |
| Confirm a memory | `memory/confirm` | A new `USER_CONFIRMED` record that replaces the `AI_INFERRED` or `AI_GENERATED` one |

`AI_INFERRED` and `AI_GENERATED` records are never used as context until a user
confirms them.

## The lifecycle of a record

* **Active:** the current version of the memory. It can be used in a SIP if its
  provenance is eligible.
* **Replaced:** a newer record has replaced it. EDN keeps the old record so the
  history stays traceable, but never uses it as context.
  * After a **correction**, the old record stays in lists, and its
    `superseded_by` points to the new record.
  * After a **confirmation**, the old record is no longer listed, and the new
    `USER_CONFIRMED` record takes its place.
* **Deleted:** the record has been removed. It is no longer used as context or
  returned in lists.

## Working with records

* **List and filter** records with `GET /api/v1/memory/records`.
* **Delete** a record with `DELETE /api/v1/memory/records/{record_id}`.
* **Inspect** your records in the Console's **Memory Store**.

## Next steps

> [card] [Provenance](https://docs.tensorpro.ai/concepts/provenance.md)
>
> Understand what each source label means and which memories can be used as
> context.

> [card] [The SIP](https://docs.tensorpro.ai/concepts/sip.md)
>
> See how EDN selects memory records and turns them into context for your AI.

> [card] [Corrections](https://docs.tensorpro.ai/concepts/corrections.md)
>
> Learn how newer facts replace outdated memories while keeping the history
> traceable.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.