Skip to main content
POST
Save a memory

Headers

X-Memloom-Owner
string<uuid>

The owner this request acts for. Applies to every owner-scoped endpoint, reads as well as writes. Omit it and the daemon's own default owner answers (see GET /health), which is what a single-owner install has always used. A value that is not a uuid is refused with 400 rather than coerced.

Body

application/json
content
string
required

The memory text to save.

Example:

"the staging database runs on Postgres 17"

canonical
string

Optional short canonical form used for exact-duplicate detection.

Example:

"staging database engine"

memoryType
enum<string>
default:fact

The kind of memory (defaults to fact): fact is a stable truth about the world or the user; preference is how the user likes things done; episode is a time-bound event or decision; procedure is reusable how-to steps.

Available options:
fact,
preference,
episode,
procedure
Example:

"fact"

ownerId
string

Owner UUID. Defaults to the fixed single-user sentinel in the embedded tier.

Response

The save decision.

id
string
required

Id of the saved (or merged-into) memory.

outcome
enum<string>
required

What the belief pipeline did. versioned means the save restated an existing belief and became its new current version.

Available options:
added,
merged,
versioned,
conflict
conflictId
string

Present when outcome is conflict; resolve it via the conflicts endpoints.

version
integer

Present when outcome is versioned; the new version number (2 or higher).