Bank Transfer

Import a bank (async)

Changed on

Submit a transfer archive (produced by the export endpoint) for import. Runs as a background operation: facts are re-embedded with the target bank's embedding model and entities are re-resolved — no LLM extraction, so the import costs no tokens and invents no new facts.

Two modes. restore (default) writes a whole bank into target_bank_id, which must NOT already exist — it restores a bank rather than merging into one, and is how a bank is moved between instances or copied under a new id. merge folds an archive's documents into this bank, with document_conflict deciding what happens to ids that already exist (skip, replace, new-id).

The include flags narrow what is restored to a subset of what the archive holds; they cannot add what the producer did not export. Returns an operation_id; poll GET /v1/default/banks/{bank_id}/operations/{operation_id} for status and per-component counts. The operation is recorded against {bank_id} even in restore mode, because the target bank does not exist yet.

post/v1/default/banks/{bank_id}/transfer/import

Request

Path parameters

bank_idstring required

Query parameters

modestring

restore (into a fresh bank) | merge (into this bank)

target_bank_idstring nullable

restore mode: the bank to create; defaults to the archive's source bank

document_conflictstring

merge mode: skip | replace | new-id

include_databoolean nullable

restore mode: carry the memories and everything backing them (default true)

include_bank_configboolean nullable

restore mode: restore the bank's config overrides, directives and webhooks (default true)

include_historyboolean nullable

restore mode: carry audit_log and llm_requests (default false)

Headers

authorizationstring nullable

Request body multipart/form-data

filestring binary required

Transfer ZIP archive

Response

Successful Response

operation_idstring required
statusstring

Changes