Deleting and exporting
What each delete, erase and export call does, on both sets of routes. Nothing here answers a request yet; it describes the code as it stands.
On /api/v1
- Delete one memory:
DELETE /api/v1/memory/v2/nodes/<id>. It writes the ledger record first, then removes the memory and the details stored with it, such as summaries written from it. Notes the engine keeps about the person rather than the memory, such as patterns across several memories and copies of what was said, survive this delete, and so does the wording a fix replaced, if the memory was fixed earlier. Erasing the person removes both. - See what was deleted:
GET /api/v1/memory/v2/ledger. Each record says who asked and why, with the date. It does not hold the words that were deleted. - Export a person:
GET /api/v1/memory/v2/export. JSON with every line, including archived lines and the wordings a fix replaced, plus the ledger. It does not carry the copies of what was said that are filed under the person. - Erase a person:
DELETE /api/v1/memory/v2/users/<id>. Removes everything held for that person apart from the record that it happened.
On /api/b2c/memory
- Delete one memory:
DELETE /api/b2c/memory/nodes/<id>. Removes that memory and its links to other memories, and nothing more. It writes no ledger record, and the memory's details stay. - Erase a person:
DELETE /api/b2c/memory/users/<id>. It opens a deletion record before any work starts. When the work is done, it counts what is left for that person, which should be nothing, and writes the count to the record. A large erase carries on in the background, so the call answers straight away with a request id. - See where an erase stands:
GET /api/b2c/memory/users/<id>/deletion. The record holds the id you sent, the counts and the times, and none of what the person said. - Export a person:
POST /api/b2c/memory/users/<id>/export. JSON of the person's memories, with archived lines left out.
Before an app stops using KAPEX
Export each person first if you want a copy, then erase each person. On /api/v1 the export includes archived lines and replaced wordings; on /api/b2c/memory it leaves archived lines out.
What is still open
- A fixed line's earlier wording survives a single delete on
/api/v1, and so do the notes the engine keeps about the person rather than the memory. Erasing the person removes both. - On
/api/b2c/memory, a single delete writes no ledger record and leaves the memory's details, and the list and the export leave archived lines out. Build on/api/v1if a person's controls matter to your app.