---
title: "Export a bank (async)"
method: POST
path: "/v1/default/banks/{bank_id}/transfer/export"
tags: ["Bank Transfer"]
---

# Export a bank (async)

`POST /v1/default/banks/{bank_id}/transfer/export`

## Request

- Base URL: `https://hindsight.vectorize.io` (the document declares no server; this is the origin it was published from)
- URL: `https://hindsight.vectorize.io/v1/default/banks/{bank_id}/transfer/export`
- Auth: none declared
- TypeScript: <https://skmtc.dev/vectorize/apis/hindsight-http-api/docs/v1/default/banks/:bank_id/transfer/export/post.ts> (a function with typed inputs; its response is checked against the schema)

Submit an async export of a bank as a transfer ZIP archive. Three flags choose what the archive carries: include_data (documents, facts, observations, attachments and their bytes, the curation archive, the operations log and the maintenance queues), include_bank_config (bank config, mental models and their history, knowledge pages), include_bank_config (the bank's config overrides, directives and webhooks) and include_history (audit_log, llm_requests). Embeddings and database ids are never carried — importing re-embeds with the target bank's model and re-resolves entities, so an archive moves between instances configured with different embedding models. Returns an operation_id; poll GET /v1/default/banks/{bank_id}/operations/{operation_id}, then fetch the archive from the download_url in its result_metadata. Pass document_id to export specific documents instead of the whole bank (a document subset carries no bank-level sections).

## Path parameters

- `bank_id` string, required

## Query parameters

- `include_data` boolean: Carry the memories and everything backing them
- `include_bank_config` boolean: Carry the bank's config overrides, directives and webhooks
- `include_history` boolean: Carry audit_log and llm_requests
- `document_id` string[], nullable: Document id(s); omit for the whole bank

## Headers

- `authorization` string, nullable

## Response `202`

Successful Response

- BankTransferSubmitResponse: Response for the unified bank-transfer endpoints (202). The transfer runs in the background; poll GET /v1/default/banks/{bank_id}/operations/{operation_id}. An export's ``result_metadata`` carries ``download_url`` / ``storage_key`` / ``byte_size`` / ``filename``; an import's carries the per-component counts.
  - `operation_id` string, required
  - `status` string

## Other responses

- `404`: The bank does not exist.
- `422`: Validation Error

## Changes

- **2026-10-04** `4fda98b75f63`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/vectorize/apis/hindsight-http-api/changes/v1/default/banks/:bank_id/transfer/export/post.md)

---

[API](https://skmtc.dev/vectorize/apis/hindsight-http-api.md) - [All operations](https://skmtc.dev/vectorize/apis/hindsight-http-api/llms.txt) - [OpenAPI document](https://skmtc.dev/vectorize/apis/hindsight-http-api/revisions/45e711cd0897?raw)
