Migration scope
EPAdmin Accounts → Migrations requires installation:manage and fresh local authentication. The source inventory is registered locally through the protected operator boundary. The UI cannot fetch an arbitrary server, accept root passwords or take over another control panel automatically.
Inspect and map a source
Select an authorized registered source and load its read-only inventory. Inspect source_id, scan_digest, component capabilities and remaining requirements. Choose a suspended managed destination account. Select only components with supported non-blocked capability.
Map files to the intended existing website and map mail/database source references to actual same-account destination mailboxes and MariaDB databases. The interface bounds inventory review and rejects incomplete mapping; it must not silently treat a page of loaded resources as the whole migration. Existing identities/credentials are separate prerequisites.
Build the reviewed plan
The preview input includes version: 1, source_id, target_account_id, scan_digest, selected components, optional website_id, mailbox_mappings and database_mappings. Mail mappings pair source_mailbox_ref with mailbox_id; database mappings pair source_database_ref with database_id.
POST /v1/migration-previews returns the durable reviewed plan, exact confirmation and expiry. Read overwrite impact and remaining requirements. Submit /v1/migration-operations with api_version: 1, preview ID, exact confirmation and the retained idempotency key. Keep the operation ID and inspect actual destination state after success.
Rollback
Request /v1/migration-operations/{id}/rollback-preview for the original operation. Review the owned rollback plan and confirmation before a separate submission. A rollback is not permission to erase independent customer changes or recreate missing credentials automatically. Retain the original source, destination snapshots and operation history.
Diagnose safely
If a preview expires or the source digest changes, inspect again rather than editing its token. Ambiguous delivery retains the same reviewed attempt/key and requires checking operation history before another import. A missing mapping or unsupported component must remain blocked. A general Website Migration menu remains unavailable even though this separately protected account import workflow exists. Native cross-component recovery acceptance remains release-specific and is not certified by a successful fixture.

