GET /v1/memories/{id}
Fetch a single memory by its UUID. This is the only endpoint that returns the content field in a non-search context — the list endpoint excludes content for payload efficiency.
Required scope: memory:read
Request
Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string (UUID) | yes | The memory’s unique identifier, as returned by POST /v1/memories. |
Response
200 OK
Fields
| Field | Type | Description |
|---|---|---|
id | string (UUID) | Memory identifier |
org_id | string | Your organization identifier |
agent_id | string | Agent that owns the memory |
user_id | string | User the memory belongs to |
content | string | The full memory text |
level | integer | 0 = raw, 1 = abstraction |
status | string | "active" or "deprecated" (soft-deleted) |
importance | float (0–1) | Importance score assigned by the cognition worker |
confidence | float (0–1) | Confidence score (provided on write, defaults to 1.0) |
source | string | Origin of the memory (e.g. "agent") |
created_at | ISO 8601 string | When the memory was created |
updated_at | ISO 8601 string | When the memory was last updated |
Examples
- Python
- TypeScript
Errors
| Status | Code | Description |
|---|---|---|
401 | unauthorized | Missing or invalid API key |
401 | forbidden | API key lacks memory:read scope |
404 | not_found | Memory does not exist, has been hard-deleted, or belongs to a different organization |
429 | rate_limited | Rate limit exceeded |
500 | internal_error | Server error |
A
404 is returned both when the memory does not exist and when it exists but belongs to a different organization. These cases are intentionally indistinguishable.