Skip to main content

Exports

The Exports API lets you download your workspace memories in bulk as JSON, CSV, or Markdown files. Exports are created asynchronously — you create the job, poll for completion, then download the file.

Endpoint Overview

MethodPathPermissionDescription
POST/v1/exportsexport.writeCreate an export job
GET/v1/exportsexport.readList export jobs
GET/v1/exports/:idexport.readGet export job status
GET/v1/exports/:id/downloadexport.readDownload the exported file

Export Object

FieldTypeDescription
idstringUUID of the export job
formatjson | csv | markdownOutput file format
statusPENDING | PROCESSING | READY | FAILED | EXPIREDCurrent job status
user_idstring | nullUser filter applied to this export
agent_idstring | nullAgent filter applied
session_idstring | nullSession filter applied
priorityLOW | MEDIUM | HIGH | nullPriority filter applied
categoriesstring[] | nullCategory filter applied
created_afterstring | nullDate range start filter
created_beforestring | nullDate range end filter
created_atstringISO 8601 creation timestamp
updated_atstringISO 8601 last-update timestamp

Create Export

POST/v1/exports
API Key

Create a new export job and enqueue it for processing

All query parameters are optional filters. If none are provided, all memories in the workspace are exported.

ParameterTypeDescription
formatenumOutput format: `json` (default), `csv`, or `markdown`
user_idstringExport memories for a specific user only
agent_idstringExport memories for a specific agent only
session_idstringExport memories from a specific session only
priorityenumExport only memories with this priority: `LOW`, `MEDIUM`, or `HIGH`
categoriesstring[]Export memories in these categories (comma-separated, max 20)
created_afterstring (ISO 8601)Export memories created after this date
created_beforestring (ISO 8601)Export memories created before this date
curl -X POST "https://api.memsolus.com/v1/exports?format=json&user_id=user-123" \
-H "X-Api-Key: msk_live_..."
202Export job accepted
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"format": "json",
"status": "PENDING",
"user_id": "user-123",
"agent_id": null,
"session_id": null,
"priority": null,
"categories": null,
"created_after": null,
"created_before": null,
"created_at": "2026-01-15T10:30:00.000Z",
"updated_at": "2026-01-15T10:30:00.000Z"
}

The export is processed asynchronously. Poll GET /v1/exports/:id until status is READY, then download the file.


List Exports

GET/v1/exports
API Key

List all export jobs for the account

ParameterTypeDescription
pagenumberPage number (default: 1)
page_sizenumberResults per page, max 100 (default: 20)
curl "https://api.memsolus.com/v1/exports?page=1&page_size=10" \
-H "X-Api-Key: msk_live_..."
200Success
{
"data": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"format": "json",
"status": "READY",
"user_id": "user-123",
"created_at": "2026-01-15T10:30:00.000Z",
"updated_at": "2026-01-15T10:32:00.000Z"
},
{
"id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"format": "csv",
"status": "PENDING",
"user_id": null,
"created_at": "2026-01-15T10:35:00.000Z",
"updated_at": "2026-01-15T10:35:00.000Z"
}
],
"total": 2,
"page": 1,
"page_size": 20
}

Get Export Status

GET/v1/exports/:id
API Key

Get the current status of an export job

curl "https://api.memsolus.com/v1/exports/a1b2c3d4-e5f6-7890-abcd-ef1234567890" \
-H "X-Api-Key: msk_live_..."
200Success
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"format": "json",
"status": "READY",
"user_id": "user-123",
"agent_id": null,
"session_id": null,
"priority": null,
"categories": null,
"created_after": null,
"created_before": null,
"created_at": "2026-01-15T10:30:00.000Z",
"updated_at": "2026-01-15T10:32:00.000Z"
}

Returns 404 EXPORT_NOT_FOUND if the export does not exist or belongs to another account.


Download Export

GET/v1/exports/:id/download
API Key

Download the exported file — only available when status is READY

curl -o memories.json \
"https://api.memsolus.com/v1/exports/a1b2c3d4-e5f6-7890-abcd-ef1234567890/download" \
-H "X-Api-Key: msk_live_..."

The response is the raw file content with appropriate Content-Type and Content-Disposition headers.

FormatContent-Type
jsonapplication/json
csvtext/csv
markdowntext/markdown
Error codeDescription
404 EXPORT_NOT_FOUNDExport not found
409 EXPORT_NOT_READYExport is still processing
410 EXPORT_EXPIREDExport has expired and the file is no longer available

Export Lifecycle

PENDING → PROCESSING → READY
→ FAILED
(after 72h) → EXPIRED

Downloads are available for 72 hours after the export reaches READY status. After that, the file expires and you must create a new export.