Skip to main content
← 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:
  1. Export a small space and download it.
  2. Open it. Count the memories and compare against list_memories’s total.
  3. Confirm it contains the raw facts, not just the consolidated observations — a takeout that dropped the evidence layer is not a takeout.
  4. 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 expireexpires_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.