← All use cases
The scenario
Two reasons to export, and they arrive at very different moments. One is
routine: somebody asks whether your memory layer is a lock-in risk, and the only
answer that lands is a file. The other is urgent: you are about to
delete a space, or answer a
deletion request, and the export is the
last thing standing between a mistake and permanent loss.
What this recipe shows that no other does: a surface with no SDK method at
all. Exports are REST-only, so this is raw HTTP — and it is worth knowing
which parts of the platform are like that.
Step 1 — Ask for one
Returns 202 with a job. Exports are asynchronous — a large space takes a while.
Step 2 — Poll the list
Step 3 — Download it
The download URL is short-lived and pre-signed — fetch the bytes promptly, and
do not paste it into a ticket, because anyone holding it can read the bundle.
Step 4 — Actually keep it
An export you generated and never downloaded is not a backup. Bundles expire.
Evals
An untested backup is not a backup:
- Export a small space and download it.
- Open it. Count the memories and compare against
list_memories’s total.
- Confirm it contains the raw facts, not just the consolidated
observations — a takeout that dropped the evidence layer is not a takeout.
- Do this once a quarter rather than once, ever.
Guardrails
Export before you delete, every time. Space deletion and memory deletion
are both irreversible with no recycle bin. The export is the only recovery
path, and it has to exist before the mistake.
- Exports are owner-only. A visitor to a shared space cannot take a copy of
someone else’s space, which is the correct behaviour and occasionally
surprising.
- Bundles expire —
expires_at on the job says when. Re-export rather than
hoarding download URLs.
- The bundle is plain readable content. It is the most concentrated copy of
your customers’ data that will ever exist; treat the file accordingly.
- There is no import endpoint to pair with this. Exports answer “can I
leave”; they do not currently give you “and come back”. Do not design a
migration around round-tripping one.
Where to go next
Delete a user’s memories, provably — where
the export is step two of a runbook rather than an insurance policy.