Get one fact
AuthorizationBearer <token>Your space key (om_...). Create one with POST /v1/spaces.
id*string1 <= length <= 64The fact
application/json- response
id*stringsubject*stringtext*stringtier*Tiercore = always in context; long = recalled on demand; scratch = short-lived.
"long""core""long""scratch"tags*array<string>source_ref*stringpinned*booleanorigin*Origin"user""agent""dream"expires_at*string|nullrecall_count*integerlast_recalled_at*string|nullcreated_at*stringupdated_at*stringmatch?stringRecall only: whether this fact matched the words of q, its meaning, or both.
"keyword""meaning""both"curl -X GET 'https://api.openmemory.sh/v1/memories/string'{ "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"}Forget: remove matching facts, records, journal text, actions, KV values, and events POST
Looks only in the scopes you list, and the default is memories alone: not_searched names the rest. Facts match when they contain ALL the words in query, as whole words. Everything else matches the exact phrase, ignoring case and accents. Facts, records, KV values, and events are deleted. Journal entries are redacted by default. Actions are always redacted, and any that could still run are superseded. Use dry_run to preview. If truncated is true, run it again. Leaves content-free tombstones.
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.