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
| Method | Path | Permission | Description |
|---|---|---|---|
POST | /v1/exports | export.write | Create an export job |
GET | /v1/exports | export.read | List export jobs |
GET | /v1/exports/:id | export.read | Get export job status |
GET | /v1/exports/:id/download | export.read | Download the exported file |
Export Object
| Field | Type | Description |
|---|---|---|
id | string | UUID of the export job |
format | json | csv | markdown | Output file format |
status | PENDING | PROCESSING | READY | FAILED | EXPIRED | Current job status |
user_id | string | null | User filter applied to this export |
agent_id | string | null | Agent filter applied |
session_id | string | null | Session filter applied |
priority | LOW | MEDIUM | HIGH | null | Priority filter applied |
categories | string[] | null | Category filter applied |
created_after | string | null | Date range start filter |
created_before | string | null | Date range end filter |
created_at | string | ISO 8601 creation timestamp |
updated_at | string | ISO 8601 last-update timestamp |
Create Export
/v1/exportsCreate 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.
| Parameter | Type | Description |
|---|---|---|
format | enum | Output format: `json` (default), `csv`, or `markdown` |
user_id | string | Export memories for a specific user only |
agent_id | string | Export memories for a specific agent only |
session_id | string | Export memories from a specific session only |
priority | enum | Export only memories with this priority: `LOW`, `MEDIUM`, or `HIGH` |
categories | string[] | Export memories in these categories (comma-separated, max 20) |
created_after | string (ISO 8601) | Export memories created after this date |
created_before | string (ISO 8601) | Export memories created before this date |
The export is processed asynchronously. Poll GET /v1/exports/:id until status is READY, then download the file.
List Exports
/v1/exportsList all export jobs for the account
| Parameter | Type | Description |
|---|---|---|
page | number | Page number (default: 1) |
page_size | number | Results per page, max 100 (default: 20) |
Get Export Status
/v1/exports/:idGet the current status of an export job
Returns 404 EXPORT_NOT_FOUND if the export does not exist or belongs to another account.
Download Export
/v1/exports/:id/downloadDownload the exported file — only available when status is READY
The response is the raw file content with appropriate Content-Type and Content-Disposition headers.
| Format | Content-Type |
|---|---|
json | application/json |
csv | text/csv |
markdown | text/markdown |
| Error code | Description |
|---|---|
404 EXPORT_NOT_FOUND | Export not found |
409 EXPORT_NOT_READY | Export is still processing |
410 EXPORT_EXPIRED | Export has expired and the file is no longer available |
Export Lifecycle
Downloads are available for 72 hours after the export reaches READY status. After that, the file expires and you must create a new export.