ingest and remember return its source_id in their 202, so you have it before extraction finishes. Re-ingesting a session keeps its source id and replaces what it held.
List a profile’s sources
Every source a profile stored, most recently written first, without content:session_id is null for a remembered fact — the only place the two kinds differ. Paged like every listing: page[number] / page[size], with meta.total_pages / meta.total_results.
Find one session’s source
Add?session_id= to look up the source a session was stored as, without paging or re-deriving its id:
total_results: 0) — a listing, not a 404. A session_id over 128 characters is a 422.
Read one source
One source with itscontent, returned in the shape it was sent — a JSON body as JSON, a string as a string:
Trace a memory to its source
Read one memory by id to see where it came from — exactly one field is set:- A fact names the source it was extracted from in
source_id— read it withGET …/sources/{source_id}. - A derived memory names the memories it was built from in
derived_from— read each one to follow it back. Every read is a single call, however many memories are cited.
Forget one source
Forget a single source and the memories derived from it, leaving the rest of the profile intact. This is also how you forget one session — delete the session’s source, either with thesource_id from the ingest 202 or the one from ?session_id= above:
404 — an unknown id, another profile’s source, or one already forgotten. Retrying is safe: on a 502 or 504, repeat it and read a 404 as done.
A source id is an opaque UUID. Another profile’s source or memory answers
404 — the same as one that does not exist — and an id that is not a UUID is a 422.Related
- Writing memories — how sources get in
- Recalling memories — reading a profile’s memories
- Forgetting — forgetting a whole profile