Migration API
Restart-safe import of reviewed external document exports
Create or recover a restart-safe browser export upload
The idempotency key is bound to the sorted relative-path/length manifest and exact ordered bulk operations. Files are uploaded separately in checksummed bounded chunks.
Recover the household's latest browser migration workflow
Requires migration.manage and household scope. Returns the most recently created browser workflow, including terminal states, or 204 when the household has no workflow.
Describe the supported Paperless export profiles and explicit losses
Requires migration.manage. Returns the provisional compatibility matrix for an already-extracted Paperless export, including supported version segments, checksums, preserved data, and explicit exclusions; it does not claim whole-household replacement.
Read authoritative upload, preflight, import, and bulk progress
Requires migration.manage and exact household scope. Returns the durable workflow snapshot, including immutable bulk operations, preflight report, progress, bounded failure, and restart instructions.
Cancel a migration before document import and remove its staged copy
Canceling never changes the browser-selected export. A migration that already began importing documents cannot be canceled; it remains restart-safe instead.
Recover one staged export file's durable offset
Requires migration.manage and exact household scope. Available only while the workflow is uploading; the returned offset and length describe durable staging state, while foreign or non-uploading files return 404.
Append one checksummed bounded export-file chunk
Requires migration.manage and an exact same-origin proof for cookie requests. The supplied offset must equal durable state and every bounded chunk must carry a matching SHA-256 checksum; failure rolls the file back and success advances the offset only after durable sync.
Verify the complete staged folder and queue read-only preflight
Requires migration.manage and an exact same-origin proof for cookie requests. Every declared file must be complete, regular, non-symlink staging data of the declared length before the workflow atomically queues read-only preflight; repeating the command after that transition is safe.
Safely retry a stopped preflight or import
Requires migration.manage, an exact same-origin proof for cookie requests, and the document permissions required by the immutable workflow. A failed preflight or import is requeued with the same staged export, bulk operations, and durable checkpoints; an already active or completed retry is safe.
Start the reviewed, checkpointed migration
The uploaded export and ordered bulk operations are immutable. Repeating this command is safe; the worker resumes terminal document and operation checkpoints.