Remember a fact
An identical fact (same subject and text) is returned instead of stored twice.
AuthorizationBearer <token>Your space key (om_...). Create one with POST /v1/spaces.
application/json- body
subject?stringWho or what the fact is about, e.g. 'Sam'.
length <= 200""text*stringThe fact itself, in one or two sentences.
1 <= length <= 4000tier?Tiercore = always in context; long = recalled on demand; scratch = short-lived.
"long""core""long""scratch"tags?array<>items <= 20[]source_ref?stringWhere the fact came from (message id, URL). No message bodies.
length <= 500""pinned?booleanPinned facts are never changed by dreaming.
falseorigin?string'user' when the person stated it; dreaming never rewrites those.
"agent""user""agent"expires_at?|date-timeAlready known
application/json- response
memory*created*booleancurl -X POST 'https://api.openmemory.sh/v1/memories' \ -H 'Content-Type: application/json' \ -d '{ "text": "string"}'{ "memory": { "id": "string", "subject": "string", "text": "string", "tier": "core", "tags": [ "string" ], "source_ref": "string", "pinned": true, "origin": "user", "expires_at": "string", "recall_count": 0, "last_recalled_at": "string", "created_at": "string", "updated_at": "string", "match": "keyword" }, "created": true}Recall facts by words, meaning, subject, tier, or tag GET
With q, finds facts that share its words (accent- and case-insensitive, prefix matching) or its meaning, best first. Meaning search falls back to words only when it is off or over its daily budget; `search` says what ran. A new or changed fact takes a few minutes to become findable by meaning, and `search.indexing` counts the ones that may not be yet. A q with no letters or digits finds nothing. Without q, lists every stored fact, pinned and core first, with `total` and `next_cursor` for the next page. Listing everything does not count as a recall.
Change a fact PATCH
Next Page