Get memory
Get one memory by id. Works for facts, artifacts, episodes.
Always returns the full representation — artifacts include
details.full_content.
Authorizations
Long-lived org API key. Alternative: Authorization: Bearer <key>.
Required alongside the API key (no key→org reverse index).
Path Parameters
Response
Successful Response
Unified memory resource — facts, artifacts, episodes marshal to
this shape. type is the discriminator; details is the
type-specific extension.
Invariant: text is always a short readable preview, regardless
of type (fact statement / artifact summary / episode summary).
Stable UUID for this memory row.
Memory subtype. fact = a single semantic claim extracted from a turn; artifact = a structured object (code, doc, image) referenced by the conversation; episode = a session-scoped summary of a stretch of turns.
fact, artifact, episode Short readable preview. For facts: the claim statement. For artifacts: a summary or title (full body lives in details.full_content, opt-in via include=full_content). For episodes: a summary of the session.
Constant discriminator for the resource type.
"memory"User scope this row belongs to.
Agent scope, if any.
Conversation anchor.
App scope, if any.
Group ids stamped on this row at ingest time. Reachable as a filter axis via filters: {group_ids: <id>} or {group_ids: {"$in": [<id>, ...]}}. Frozen at ingest — PATCH cannot edit this field.
Optional category labels from xmem's extraction pipeline.
Vector-similarity score. Present only on search responses; null on list / get-by-id / patch / ingest result rows.
ISO-8601 timestamp of original ingest.
ISO-8601 timestamp of the last supersede / consolidation.
Per-row fact details — sits under Memory.details when
Memory.type == "fact". Mirrors the SoT shape, not xmem's raw
Fact shape: e.g. xmem's source_artifact_id → artifact_id.
- FactDetails
- ArtifactDetails
- EpisodeDetails