# Correct and forget

> Say what is right instead, or forget one memory, one source, or everything held for one user.

Everything Geniffy holds can be corrected or taken out again, at four sizes.

| To | Call | What happens |
| --- | --- | --- |
| Correct one memory | `memories.correct(id, text)` | The wrong one is marked and never used again; what is right is learned as a new memory |
| Forget one memory | `memories.delete(id)` | That memory, for good |
| Delete one source | `sources.delete(id)` | The source, and every memory only it taught |
| Forget one user | `forget_space(space)` | Everything held for them |

## Correct a memory

```python
mem.memories.correct(42, "Priya signs it, with Arjun co-signing.")
```

```ts
await mem.memories.correct(42, "Priya signs it, with Arjun co-signing.");
```

```bash
curl -X PATCH https://api.geniffy.com/v1/memories/42 \
  -H "Authorization: Bearer $GENIFFY_API_KEY" \
  -H "X-Geniffy-Space: customer_1042" \
  -H "Content-Type: application/json" \
  -d '{"text": "Priya signs it, with Arjun co-signing."}'
```

Nothing is quietly overwritten. The wrong memory is kept, marked, so the correction has something to
point at, and it is never used in an answer again. What is right arrives as a new memory with a source
of its own, titled `Correction`, so you can always see what changed and why.

## Forget a memory

```python
mem.memories.delete(42)
```

```ts
await mem.memories.delete(42);
```

The memory is gone for good. The source it came from stays, with whatever else it taught.

## Delete a source

```python
mem.sources.delete(source.id)
```

```ts
await mem.sources.delete(source.id);
```

The source goes, and so does every memory that only it taught. A memory that another source also taught
stays, because something still says it.

## Forget a user

```python
client.forget_space("user_8841")
```

```ts
await client.forgetSpace("user_8841");
```

Everything held for that user, gone, and nothing else. This is the call to make when one of your users
asks to be forgotten, or when your app deletes their account. It cannot be undone. You can also find any
space and erase it under **Spaces** in the Geniffy app.

Source: https://docs.geniffy.com/correct-and-forget
