Export stored episodes as JSON or JSONL.

POST /v1/export

Export stored episodes for backup, audit, or off-platform analysis. Episodes are returned inline in the response. For very large exports, run the request against a snapshot-style replica or paginate through time_range_start / time_range_end.

For the complementary import endpoint, see POST /v1/import.

Request

{
  "tenant_id": "engineering",
  "format": "jsonl",
  "episode_type": "decision",
  "time_range_start": 1740787200000000,
  "time_range_end":   1747353600000000,
  "limit": 10000
}

| Field | Type | Required | Description | |---|---|---|---| | tenant_id | string | No | Sub-tenant scope | | format | string | No | json (default) or jsonl | | episode_type | string | No | Filter by episode type | | time_range_start | integer | No | Lower bound, microseconds since epoch (inclusive) | | time_range_end | integer | No | Upper bound, microseconds since epoch (exclusive) | | limit | integer | No | Cap on the number of episodes returned |

Response

{
  "format": "jsonl",
  "count": 1283,
  "episodes": [ /* StoredEpisode objects */ ]
}

Each entry in episodes contains the full stored shape: id, event_id, actor_name, actor_id, source_connector, source_external_id, episode_type, content, occurred_at, ingested_at, tenant_id, namespace, entities[], tags[], metadata.

For programmatic re-ingest, pipe these through POST /v1/import.