# forget

> Мягкое удаление одной записи по ID или всех записей источника — параметры, ответ, ошибки и подводные камни.

Из этой страницы вы узнаете, как удалить одну запись или все записи, взятые из одного документа, что вернёт сервер и почему важно не передавать оба параметра сразу.

Сквозной пример: документ `docs/deploy.md` переписан, и команда хочет убрать из памяти все факты, сохранённые из его старой версии.

## Назначение

`forget` выполняет **мягкое удаление**: запись получает отметку времени удаления, перестаёт находиться в `search`, а её связи в графе знаний удаляются. Есть два режима:

- по `memory_id` — одна запись;
- по `source_id` — все активные записи этого источника в рабочей области (каскадно).

## Параметры

| Параметр | Тип | По умолчанию | Описание |
| --- | --- | --- | --- |
| `memory_id` | string или null | `null` | ID записи, которую нужно удалить. |
| `workspace` | string | `"default"` | Рабочая область, где лежит запись. |
| `source_id` | string или null | `null` | Источник, все записи которого нужно удалить. |

Нужен хотя бы один из `memory_id` и `source_id`.

Если передать **оба** параметра, сработает режим `source_id`: будут удалены все записи источника, а не одна запись. Для удаления одной записи передавайте только `memory_id`.

## Ответ

Удаление по `memory_id`:

| Поле | Описание |
| --- | --- |
| `id` | ID записи из запроса. |
| `forgotten` | `true`, если запись найдена и удалена; `false`, если её нет, она уже удалена или вам недоступна. |
| `workspace`, `tenant_id`, `api_version` | Служебные поля. |
| `at` | Время операции, ISO 8601. |

Удаление по `source_id`:

| Поле | Описание |
| --- | --- |
| `source_id` | Источник из запроса. |
| `forgotten_count` | Сколько записей удалено (может быть `0`). |
| `workspace`, `tenant_id`, `api_version` | Служебные поля. |
| `at` | Время операции, ISO 8601. |

## Пример

Удалить все факты из старой версии документа:

```json title="arguments"
{
  "source_id": "docs/deploy.md",
  "workspace": "default"
}
```

```json
{
  "api_version": "1.0",
  "source_id": "docs/deploy.md",
  "tenant_id": "t-3f9a",
  "workspace": "default",
  "forgotten_count": 3,
  "at": "2026-10-05T10:02:41.118204+00:00"
}
```

Удалить одну запись:

```json title="arguments"
{ "memory_id": "4d428a41-e7b0-4f81-a886-f40c6f6c766c" }
```

```json
{
  "api_version": "1.0",
  "id": "4d428a41-e7b0-4f81-a886-f40c6f6c766c",
  "tenant_id": "t-3f9a",
  "workspace": "default",
  "forgotten": true,
  "at": "2026-10-05T10:03:05.540911+00:00"
}
```

## Ошибки

| Текст | Причина |
| --- | --- |
| `Either memory_id or source_id must be provided` | Не передан ни `memory_id`, ни `source_id`. |
| `workspace '…' was deleted and cannot be reused` | Рабочая область удалена. |
| `403 Forbidden: workspace access denied for project` | Рабочая область принадлежит другому проекту. |
| `MCP rate limit exceeded`, `project call limit exceeded` | Слишком много вызовов в минуту. |
| `[MMW Notice]: …` | Нет подписки, льготный период (удаление недоступно, только чтение) или аккаунт приостановлен. |

Запись, которой нет, — это не ошибка: ответ придёт с `forgotten: false` или `forgotten_count: 0`.

## Примечания

- **Только своя область видимости.** В организации `forget` затрагивает лишь записи, которые вы можете прочитать по правилам [видимости](/organizations/visibility/). Чужие черновики не удаляются, даже если у них тот же `source_id`.
- **Только проект ключа.** Записи других проектов недоступны.
- **Мягкое удаление.** Восстановить запись через MCP нельзя. Про полное удаление данных аккаунта — в разделе [Данные и удаление](/account/data-and-deletion/).
- `remember` никогда не удаляет записи сам: чтобы убрать устаревшее, нужен явный `forget`.

## Что дальше
