E-Mail-Migrationen über die API verwalten
Verwalte E-Mail-Migrationen über die TrekMail API. Teste Verbindungen, starte Importe, überwache sie, brich sie ab und wiederhole oder lösche Aufträge.
Artikeldetails
Typ, Schwierigkeit, Tarife und Info zur letzten Aktualisierung.
▼
Artikeldetails
Typ, Schwierigkeit, Tarife und Info zur letzten Aktualisierung.
- Typ
- Referenz
- Schwierigkeit
- Mittel
- Tarife
- Starter · Pro · Agency
- Zuletzt aktualisiert
- 9. Sep 2026
Mit der Migrations-API kannst du E-Mails von jedem IMAP-Anbieter über eine Integration oder einen Agenten in ein TrekMail-Postfach importieren. Du kannst Verbindungen testen, Importe starten, den Fortschritt für jeden Ordner überwachen, laufende Aufträge abbrechen, fehlgeschlagene Aufträge wiederholen und alte Datensätze bereinigen.
Vor dem Start
- Du benötigst mindestens den Starter-Tarif. Der Nano-Tarif enthält das Migrationswerkzeug nicht.
- Mit Pro und Agency kannst du Migrationen über die API starten, abbrechen, wiederholen und löschen (
migrations:read+migrations:write). Starter kann Migrationen über die API lesen und neue Migrationen im Dashboard ausführen. - Pro Konto kann jeweils eine Migration ausgeführt werden. Starte eine neue, nachdem die aktuelle beendet wurde, oder brich die aktuelle zuerst ab.
Berechtigungsbereiche
| Bereich | Funktion | Tarife |
|---|---|---|
migrations:read |
Migrationen auflisten und Details anzeigen | Starter · Pro · Agency |
migrations:write |
Verbindungen testen, Migrationen starten, abbrechen, wiederholen und löschen | Pro · Agency |
Endpunkte
Verbindung testen
POST /api/v1/migrations/test-connection
Scope: migrations:write
Validiert die IMAP-Zugangsdaten und gibt eine Liste der Quellordner mit der jeweiligen Nachrichtenanzahl zurück. Verwende dies vor dem Start einer Migration, um die Verbindung zu prüfen und den Benutzer die zu importierenden Ordner auswählen zu lassen.
Anfragetext:
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
source_host |
Zeichenfolge | Ja | Hostname des IMAP-Servers (z. B. imap.gmail.com) |
source_port |
Ganzzahl | Ja | IMAP-Port (üblicherweise 993 für SSL) |
source_security |
Zeichenfolge | Ja | ssl, tls oder none |
source_email |
Zeichenfolge | Ja | E-Mail-Adresse auf dem Quellserver |
source_username |
Zeichenfolge | Nein | Benutzername, falls er von der E-Mail-Adresse abweicht |
source_password |
Zeichenfolge | Ja | Passwort oder App-Passwort |
Antwort (Erfolg):
{
"success": true,
"folders": {
"INBOX": 1234,
"Sent": 567,
"Drafts": 12,
"Work": 89
}
}
Antwort (Fehler): 422 mit dem Fehlercode connection_failed.
Migrationen auflisten
GET /api/v1/migrations
Scope: migrations:read
Gibt eine paginierte Liste der Migrationsaufträge für dein Konto zurück.
Abfrageparameter:
| Parameter | Typ | Beschreibung |
|---|---|---|
status |
Zeichenfolge | Nach Status filtern (pending, validating, planning, processing, completed, failed, cancelled) |
mailbox_id |
Ganzzahl | Nach Zielpostfach filtern |
per_page |
Ganzzahl | Ergebnisse pro Seite (Standard: 20, maximal: 100) |
Migration abrufen
GET /api/v1/migrations/{id}
Scope: migrations:read
Gibt den detaillierten Migrationsstatus einschließlich des Fortschritts für jeden Ordner zurück.
Antwort:
{
"data": {
"id": 5,
"mailbox_id": 10,
"mailbox_email": "support@acme.com",
"provider": "gmail",
"source_host": "imap.gmail.com",
"source_email": "j***e@gmail.com",
"status": "processing",
"progress": 45,
"total_messages": 1234,
"imported_messages": 556,
"failed_messages": 2,
"skipped_duplicates": 12,
"selected_folders": ["INBOX", "Sent"],
"import_since": "2025-01-01",
"skip_duplicates": true,
"folders": [
{ "name": "INBOX", "status": "processing", "expected": 1000, "imported": 450, "failed": 2, "skipped": 10 },
{ "name": "Sent", "status": "pending", "expected": 234, "imported": 0, "failed": 0, "skipped": 0 }
],
"error_message": null,
"poll_hint_seconds": 10,
"started_at": "2026-03-13T10:00:00+00:00",
"finished_at": null,
"created_at": "2026-03-13T09:59:50+00:00"
}
}
poll_hint_seconds gibt an, wie oft du Aktualisierungen abrufen solltest: alle 5 Sekunden während pending/validating/planning, alle 10 Sekunden während processing und null bei endgültigen Zuständen.
source_email wird aus Sicherheitsgründen maskiert (z. B. j***e@gmail.com).
Migration starten
POST /api/v1/migrations
Scope: migrations:write
Startet eine neue E-Mail-Migration. Pro Konto kann jeweils nur eine Migration ausgeführt werden.
Anfragetext:
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
mailbox_id |
Ganzzahl | Ja | ID des TrekMail-Zielpostfachs |
provider |
Zeichenfolge | Ja | gmail, outlook, yahoo, icloud oder generic_imap |
source_host |
Zeichenfolge | Ja | Hostname des IMAP-Servers |
source_port |
Ganzzahl | Ja | IMAP-Port |
source_security |
Zeichenfolge | Ja | ssl, tls oder none |
source_email |
Zeichenfolge | Ja | Quell-E-Mail-Adresse |
source_username |
Zeichenfolge | Nein | Benutzername, falls er von der E-Mail-Adresse abweicht |
source_password |
Zeichenfolge | Ja | Quellpasswort oder App-Passwort |
selected_folders |
Zeichenfolge[] | Nein | Bestimmte zu importierende Ordner (Standard: alle) |
import_since |
Datum | Nein | Nur E-Mails nach diesem Datum importieren |
skip_duplicates |
boolesch | Nein | Doppelte Nachrichten überspringen (Standard: true) |
Antwort: 201 mit der Ressource des Migrationsauftrags.
Fehlerantworten:
| Status | Code | Bedeutung |
|---|---|---|
409 |
conflict | In diesem Konto wird bereits eine aktive Migration ausgeführt |
503 |
migration_capacity_reached |
Das serverweite Migrationslimit wurde erreicht (wiederholbar) |
422 |
validation_error | Ungültige Parameter oder Postfach nicht gefunden |
Migration abbrechen
POST /api/v1/migrations/{id}:cancel
Scope: migrations:write
Bricht eine laufende Migration ab. Die Migration muss sich in einem aktiven Zustand befinden (pending, validating, planning oder processing).
Migration wiederholen
POST /api/v1/migrations/{id}:retry
Scope: migrations:write
Wiederholt eine Migration mit dem Status failed oder cancelled. Setzt den Fortschritt auf 0 zurück und startet die Validierung erneut.
Gibt 409 zurück, wenn bereits eine andere Migration im Konto ausgeführt wird.
Teilweise Migrationen
TrekMail versucht möglicherweise, eine teilweise abgeschlossene Migration fortzusetzen, wenn dies sicher möglich ist. Prüfe vor einer Aktion den Migrationsstatus. Wenn sie nicht mehr fortschreitet, prüfe die Zugangsdaten und Limits des Quellkontos und verwende anschließend den Endpunkt zum Wiederholen oder die Aktion Fortsetzen im Dashboard. Gehe nicht davon aus, dass ein teilweiser Import abgeschlossen wird, ohne seinen endgültigen Status zu prüfen.
Migration löschen
DELETE /api/v1/migrations/{id}
Scope: migrations:write
Löscht einen Migrationsdatensatz. Die Migration darf nicht ausgeführt werden (brich sie zuerst ab).
Gibt bei Erfolg 204 No Content zurück.
Ratenlimits
Für Schreibvorgänge bei Migrationen gilt ein eigenes Limit von 10 Anfragen pro Minute und Token, getrennt vom standardmäßigen API-Ratenlimit.
Zusätzlich erzwingt der Server ein globales Parallelitätslimit (Standard: 20 gleichzeitige Migrationen). Wenn das Limit erreicht ist, geben neue Migrationsanfragen 503 mit migration_capacity_reached und retryable: true zurück. Warte einige Minuten und versuche es erneut.
Audit-Ereignisse
Alle Aktionen der Migrations-API werden im Auditprotokoll aufgezeichnet:
- migration_started: Eine neue Migration wurde gestartet
- migration_cancelled: Eine laufende Migration wurde abgebrochen
- migration_retried: Eine fehlgeschlagene oder abgebrochene Migration wurde wiederholt
- migration_deleted: Ein Migrationsdatensatz wurde gelöscht
MCP-Werkzeuge
Dieselben Migrationsfunktionen stehen über den MCP-Server zur Verfügung. Dazu gehören Testen, Auflisten, Starten, Abbrechen, Wiederholen, Fortsetzen, Passwortaktualisierung und Löschen für einzelne und gebündelte Migrationen. Ein lokal betriebener MCP-Administrator kann eine ausdrückliche Genehmigung für Migrationsschreibvorgänge verlangen. Weitere Informationen findest du unter KI-Agenten verbinden (MCP).
API für gebündelte Migrationen
Mit der API für gebündelte Migrationen kannst du viele Konten gleichzeitig anhand einer CSV-artigen Datennutzlast migrieren. Im Benutzerhandbuch E-Mail-Massenmigration und unter CSV-Format für Massenmigrationen findest du weitere Informationen zum Datenformat.
Endpunkte
| Methode | Endpunkt | Bereich | Beschreibung |
|---|---|---|---|
| POST | /api/v1/migrations/bulk/preview |
migrations:write |
CSV-Daten anzeigen und validieren |
| POST | /api/v1/migrations/bulk |
migrations:write |
Einen Stapel gebündelter Migrationen starten |
| GET | /api/v1/migrations/bulk |
migrations:read |
Stapel gebündelter Migrationen auflisten |
| GET | /api/v1/migrations/bulk/{id} |
migrations:read |
Stapeldetails mit dem Status jedes Auftrags abrufen |
| POST | /api/v1/migrations/bulk/{id}:cancel |
migrations:write |
Den gesamten Stapel abbrechen |
| POST | /api/v1/migrations/bulk/{id}:retry |
migrations:write |
Fehlgeschlagene Aufträge im Stapel wiederholen |
| POST | /api/v1/migrations/bulk/{id}:resume |
migrations:write |
Einen pausierten Stapel fortsetzen |
| DELETE | /api/v1/migrations/bulk/{id} |
migrations:write |
Stapeldatensatz löschen |
| PATCH | /api/v1/migrations/bulk/{id}/jobs/{job}/password |
migrations:write |
Quellpasswort für einen fehlgeschlagenen Auftrag aktualisieren |
Vorschauanfrage
POST /api/v1/migrations/bulk/preview
Scope: migrations:write
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
data |
Zeichenfolge | Ja | CSV-Daten (eine Zeile pro Eintrag) |
provider |
Zeichenfolge | Nein | gmail, outlook, yahoo, icloud, generic_imap |
source_host |
Zeichenfolge | Nein | IMAP-Host (wenn der Anbieter generic_imap ist) |
source_port |
Ganzzahl | Nein | IMAP-Port (Standard: 993) |
source_security |
Zeichenfolge | Nein | ssl, tls, none |
per_row_server |
boolesch | Nein | Jede Zeile enthält eigene Servereinstellungen (Format mit 6 Spalten) |
Die Antwort enthält kategorisierte Zeilen (valid, invalid_source_email, invalid_destination usw.), Tariflimits, eine Zeitschätzung und Speicherinformationen.
Anfrage zum Starten eines Stapels
POST /api/v1/migrations/bulk
Scope: migrations:write
Enthält dieselben Felder wie die Vorschau sowie:
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
name |
Zeichenfolge | Nein | Stapelname (wird automatisch erzeugt, wenn leer) |
folder_strategy |
Zeichenfolge | Nein | all, standard, inbox_only (Standard: all) |
import_since |
Zeichenfolge | Nein | Datumsfilter (YYYY-MM-DD) |
skip_duplicates |
boolesch | Nein | Doppelte Nachrichten überspringen (Standard: true) |
idempotency_key |
Zeichenfolge | Nein | Vom Client bereitgestellter Idempotenzschlüssel |
Parallelitätslimits
| Tarif | Maximale Zeilen pro Stapel | Gleichzeitig pro Konto |
|---|---|---|
| Starter | 100 | 2 |
| Pro | 300 | 5 |
| Agency | 1,000 | 10 |
Das globale Serverlimit (20 gleichzeitige Migrationen) gilt gemeinsam für einzelne und gebündelte Migrationen.
MCP-Werkzeuge
Die MCP-Werkzeuge für gebündelte Migrationen sind preview_bulk_migration, start_bulk_migration, list_bulk_migrations, get_bulk_migration, cancel_bulk_migration, retry_bulk_migration, resume_bulk_migration, delete_bulk_migration und update_bulk_migration_job_password. Ein lokal betriebener MCP-Administrator kann für Schreibaktionen eine ausdrückliche Genehmigung verlangen.
Schnelle Lösungen
- 403 "insufficient_scope": Dein Token benötigt
migrations:readodermigrations:write. Erstelle ein neues Token mit den richtigen Bereichen. - 403 "token_scope_blocked_by_plan": Migrationsbereiche erfordern einen kostenpflichtigen Tarif (Starter oder höher).
- 409 "active migration running": Brich die bestehende Migration ab oder warte auf ihren Abschluss.
- 503 "migration_capacity_reached": Der Server ist ausgelastet. Versuche es in einigen Minuten erneut.
- 422 beim Verbindungstest: Prüfe IMAP-Zugangsdaten, Hostname, Port und Sicherheitseinstellung.
Verwandte Artikel
Springen Sie zu nahegelegenen Anleitungen, die den Workflow fortsetzen.