List and act on low-confidence inferred memories — approve, decline, or undo
Supermemory’s graph automatically derives new facts from patterns across your
existing memories (see Graph Memory). These derived facts
are guesses — the engine wasn’t told them directly — so they are flagged as
inferred (isInference: true) and down-weighted in search until confirmed.These two endpoints let you build a review experience on top of that queue: list the
inferred memories awaiting review, then approve, decline, or undo a
decision on each one.
These endpoints are scoped to a single container tag
(space), under /v3/container-tags/{containerTag}.
While a memory is unreviewed and inferred it is down-weighted in search, so the
engine’s guesses rank below facts you stated explicitly. Reviewing it resolves that
either way:
Action
Result
Effect on search
Approve
isInference cleared
Ranks like a stated fact — no longer down-weighted
Decline
isForgotten set
Removed from search entirely — a rejected guess is forgotten
Undo
back to unreviewed
Returns to the queue; inferred and down-weighted again
A reviewed memory is stamped with reviewStatus in its metadata so it drops out of the
review queue (declined memories also leave search, since they’re forgotten). Undo
clears that stamp — and un-forgets a declined memory — bringing it back.
How many source memories this was derived from. Higher = stronger signal
memories[].createdAt
string
ISO 8601 timestamp
memories[].updatedAt
string
ISO 8601 timestamp
memories[].metadata
object | null
Arbitrary metadata stored on the memory
total
number
Count of unreviewed inferred memories returned
The queue returns up to 50 memories, ordered by parentCount descending (most
strongly supported first), then by createdAt descending. It excludes anything that
is forgotten, expired, or already reviewed. An unknown or empty container tag returns
{ "memories": [], "total": 0 }.
The reject action is named decline. There is no reject value.
Action semantics:
approve — Promote the memory: clears isInference, so it ranks like a stated
fact instead of a down-weighted guess. Stamps reviewStatus: "approved".
decline — Reject the suggestion: the memory is forgotten
(isForgotten: true) and stamped reviewStatus: "declined", so it leaves both
search and the review queue.
undo — Revert a prior approve/decline back to the unreviewed inferred
state: restores isInference: true, un-forgets the memory (isForgotten: false),
and clears the review stamp, so it returns to the queue.
The endpoints are designed for an optimistic, one-at-a-time review UI (swipe to keep /
decline, with undo). A typical client fetches the queue once, then pops each card off
locally as the user decides — undo re-adds it.
There is no separate “skip” action. A swipe-to-skip is purely client-side — don’t send
a request and the memory simply stays in the queue for a later session.