Mailbox migration API

Move mailboxes without losing their history.

Connect source and destination accounts, copy complete IMAP mailboxes in the background, and run a final catch-up before the provider cutover.

View endpoint details
POST /v1/mailbox/migrateFolders, flags, internal dates, progress, and resumable jobs.
Migration fidelity

Preserve what users recognize.

A mailbox is more than a list of messages. Maail moves the structure and state people expect to find after signing in to the new provider.

01

IMAP to IMAP

Connect standards-based source and destination providers through one migration resource.

02

Folder hierarchy

Recreate nested mailbox structure and map provider-specific special folders deliberately.

03

Flags and dates

Keep read, replied, flagged, and draft state together with original internal dates.

04

Resumable jobs

Continue after network or provider interruptions without restarting the complete transfer.

05

Observable progress

Read folder, message, byte, warning, and failure counters from a stable status endpoint.

06

Catch-up pass

Copy messages that arrived during the main run immediately before changing MX records.

Controlled cutover

Prepare. Copy. Catch up.

The migration remains observable from the first connection check through final verification.

01 · CONNECT

Verify both providers

Test authentication, capabilities, folder access, and destination readiness.

02 · MIGRATE

Copy in the background

Transfer folders and messages while reporting progress and recoverable warnings.

03 · CUT OVER

Run the final delta

Catch up new messages, verify counts, and then switch mail delivery.

Representative resources

A small migration surface.

Credentials belong to connection resources. Jobs reference those resources, exposing progress without echoing secrets into every request.

POST
/v1/mailbox/connection

Create and verify an encrypted source or destination connection.

POST
/v1/mailbox/migrate

Start a migration between two verified connections.

GET
/v1/mailbox/migrate/:id

Read status, counters, warnings, and completion information.

POST
/v1/mailbox/migrate/:id/catch-up

Run an incremental pass before the final provider cutover.

Operational privacy

Access is temporary and purpose-limited.

Mailbox access exists to complete the requested transfer. Connections can be revoked after verification, and migration state can be removed according to the agreed retention window.

Encrypted connectionsSecrets are kept separate from migration payloads and status responses.
Explicit lifecycleCreated, running, catch-up, completed, revoked.
EU operatorOperated by a German company within the European Union.
Move with confidence

Make the provider change boring.

Share the source, destination, mailbox count, and desired cutover window to scope the migration.

Read the API guide