MemorySync
API Reference

Export Memory

Export the caller's memories as a portable JSON document. The handler walks the caller's records (decrypting with the tenant key), excludes tombstoned rows by default, and returns the full set inline. Designed for portability and self-service GDPR exports.
GET/memory/export

Authentication

Accepts a JWT bearer token (Authorization: Bearer eyJ…) or an API key (X-API-Key: ms_live_…). API-key callers should send X-Project-ID unless the key is project-locked. Cross-tenant operators must send X-Tenant-ID.

Query parameters

FieldTypeRequiredDescription
project_idstringoptionalRestrict export to a single project.
include_tombstonedbooleanoptionalDefault false.
formatstringoptionaljson (default).

Response

Returns 200 OK with the following body.

FieldTypeRequiredDescription
memoriesarrayoptionalFull memory records, decrypted, with metadata.
exported_atstringoptionalRFC 3339 UTC.
countintegeroptionalNumber of records exported.
200.json
{
"exported_at": "2026-05-04T12:30:11Z",
"count": 2,
"memories": [
{
"id": 184213,
"text": "…",
"metadata": {},
"created_at": "…"
},
{
"id": 184214,
"text": "…",
"metadata": {},
"created_at": "…"
}
]
}

Errors

StatusCodeDescription
400validation_errorBody or query failed schema validation. The error includes the offending field name.
401unauthenticatedMissing or invalid bearer token / API key.
403forbiddenAuthenticated principal lacks the required scope, role, or project access.
404not_foundTarget resource does not exist or is not visible to the calling tenant.
429rate_limitedPer-IP or per-route limit exceeded. Respect the Retry-After header.
500internal_errorUnhandled server error. Quote the request_id when contacting support.

Examples

cURL
curl -X GET https://api.memorysync.io/memory/export \
-H "Authorization: Bearer $MEMORYSYNC_KEY"
javascript
import { MemorySync } from 'memorysync'
const client = new MemorySync({ apiKey: process.env.MEMORYSYNC_KEY })
const result = await client.request({
method: 'GET',
path: '/memory/export',
})
console.log(result)
python
from memorysync import Client
client = Client(api_key=os.environ["MEMORYSYNC_KEY"])
result = client.request(
method="GET",
path="/memory/export",
)
print(result)

Behavior & notes

Idempotent through Idempotency-Key on writes. Replays within 24h return the original response unchanged.