# Memory

> Read what a workspace, a member, or a project already knows, and queue a change for the memory agent to fold in.

Source: https://docs.generalinput.com/api/memory



Memory is the standing instructions, conventions, and reference files a workspace's agents accumulate. It has three owners, and every read and write names one:

| `ownerType`    | Owned by                           | Who may read       | Who may propose         |
| -------------- | ---------------------------------- | ------------------ | ----------------------- |
| `organization` | The workspace                      | Any member         | Members allowed by role |
| `membership`   | The member the key acts as         | That member        | That member             |
| `project`      | A project (`?projectId=` required) | Anyone with access | Anyone with edit access |

<Access scope="memory:manage" />

Writing memory directly is deliberately absent. The memory agent is the only writer; a proposal is a note it folds in on its next run, reconciled against everything else it knows.

| Endpoint                                                      | Does                                        |
| ------------------------------------------------------------- | ------------------------------------------- |
| [`GET /v1/memory/:ownerType`](/api/memory/get)                | The rendered memory guide and pending notes |
| [`POST /v1/memory/:ownerType/proposals`](/api/memory/propose) | Queue a change                              |
