Core memory operations
Get a memory
Fetch one memory by id, including all typed facts currently extracted from it.
GET
/v1/memories/{memory_id}
SDK: korely.get(memory_id). Returns the stored memory plus the
facts currently active for it, the typed, bi-temporal triples Korely
extracted server-side. Use it to inspect a single memory and the knowledge
derived from it.
Authentication
HTTP header, required: Authorization: Bearer kor_live_....
Path parameter
This endpoint takes a single path parameter and no query parameters or request body.
| Parameter | Type | Required | Description |
|---|---|---|---|
memory_id | string | Required | The memory id from the URL path. Accepts a mem_-prefixed public id (e.g. mem_8f2c1a) or a bare UUID. |
Example request
curl https://api.korely.ai/v1/memories/mem_8f2c1a \ -H "Authorization: Bearer kor_live_..."Response
200 OK. The memory, plus every typed fact currently active for
it.
{ "id": "mem_8f2c1a", "content": "Giulia prefers async standups and works in CET.", "user_id": "customer-giulia-4812", "agent_id": "onboarding-bot", "run_id": null, "metadata": {"source": "slack"}, "created_at": "2026-03-01T09:14:22+00:00", "updated_at": "2026-03-01T09:14:22+00:00", "facts": [ { "id": "fct_a1", "subject": "Giulia", "subject_type": "person", "predicate": "prefers", "predicate_raw": "prefers", "object": "async standups", "object_is_literal": true, "predicate_family": "preference", "confidence": 0.91, "user_id": "customer-giulia-4812", "agent_id": "onboarding-bot", "valid_from": "2026-03-01T00:00:00+00:00", "invalid_at": null, "invalidated_by": null, "source_memory_id": "mem_8f2c1a", "created_at": "2026-03-01T09:14:25+00:00" } ]}| Field | Type | Description |
|---|---|---|
id | string | Public memory id (mem_ prefixed). |
content | string | Memory content. |
user_id | string · null | End user this memory belongs to (engine end_user_id), nullable. |
agent_id | string · null | Agent namespace, nullable. |
run_id | string · null | Run sub-namespace, nullable. |
metadata | object | Developer metadata dict. |
created_at | string · null | ISO 8601 timestamp, nullable. |
updated_at | string · null | ISO 8601 timestamp, nullable. |
facts | array<object> | Facts currently extracted from this memory. Each fact carries id (fct_ prefixed), subject, subject_type, predicate, predicate_raw, object, object_is_literal, predicate_family, confidence, user_id, agent_id, valid_from, invalid_at, invalidated_by, source_memory_id, and created_at. |
Errors
| Status | Code | Cause |
|---|---|---|
401 | invalid_key | Missing or invalid kor_live_ key, Invalid or missing API key. |
403 | forbidden | The key lacks the memories:read scope. |
404 | not_found | Unparseable memory id, or no memory matches that id, Memory not found. |
429 | quota_exceeded | Monthly query quota exceeded. |
429 | rate_limit_exceeded | Rate limit exceeded. Honor the Retry-After header. |
Notes
- Accepts both id forms. Pass a
mem_-prefixed public id or a bare UUID, both resolve to the same memory. - Facts are the active set. The
factsarray holds the currently active facts for this memory. Superseded facts are not returned here. - Counts as one read. Each get counts against your monthly query quota. The read is logged before the existence check, so a
404still counts.
Related
- Search memories, find memories by semantic query.
- Get context, the assembled recall block, facts plus memories.
- SDK reference, the typed client methods.