migration_status

The migration_status method provides detailed information about the
progress and results of a migration job.

Syntax

{
    <credentials object> 
    "job": <job id>
}

Request fields for migration_status

The following fields can be used in the migration_status method:

Field name

Obligation

Definition/Value

job

Required

The ID of the job you are querying.

The ID is returned in the migration_add response.

Response fields for migration_status

The following fields may be returned when the migration_status method is submitted:

Field name

Obligation

Description/Value

error

Returned if success = false

A text string that explains the error.

error_number

Returned if success = false

A number that represents the error.

rate

Returned if success = true

The aggregate throughput rate for the entire migration job (for all users).

success

Always returned

Indicates whether the requested change was successful or not. Allowed values are true and false.

users

Returned if success = true

Information about the migration job.

Allowed values are:

  • data — Information about the migration, including the following:

  • config — Details about the user's migration. Includes the following information:

* **method** — The method used (imap4, imap4s, pop3, or pop3s) 

* **server** — The server from which the job is pulling data.

* **username** — The remote username used to log in.
  • folders — Details about each of the folders that are being migrated. Includes the following information:

    * **bytes** — Number of bytes migrated.
    
    * **delim** — The hierarchy delimiter that the remote imap server uses to separate nested folder names. Our imap server uses ".", the
    

    example uses "/" - so a folder named "INBOX/Sent" on the remote end would end up as "INBOX.Sent" on our end after migration.

    * **fail_count** — Number of messages that failed to migrate and will not be retried.
    
    * **migrate_count** —   Number of messages migrated.
    
    * **next_uid** — Response from the remote imap server as to what the next unique identifier (uid) will be.
    
    * **remote_count** —   Number of messages on the remote imap/pop server.
    
    * **retry1count** — Number of messages that will have their first retry attempt (after failing on the first attempt).
    
    * **retry2count** — Number of messages that will have their second retry attempt (after failing on the first and second attempts). If they fail again, they go into **fail_count.**
    
    * **skip_count** — Number of messages that will not be migrated either because they were migrated in a previous migration or because the request said to skip the folder.
    
  • status — Current status of all folders in aggregate. Includes the following information:

    • bytes — Total number of bytes migrated.

    • critical_errors — Total number of critical errors encountered. If there are too many critical errors, the migration is aborted for the user.

    • fail_count — Number of messages that failed to migrate.

    • foldercount — Number of folders present on the remote server.

    • migrate_count — Total number of messages migrated.

    • remote_count — Number of messages present on the remote server.

    • skip_count — Total number of messages skipped.

  • local — The user to whom mail is being migrated.

  • state—The progress of the migration. Allowed values are:

  • active—Phase 2 in process, mailbox being actively migrated.

  • complete — Phase 2 complete, mailbox migrated.

  • error — Errors in phase1 or phase2, migration aborted.

  • pending — Migration accepted and enqueued;; hasn't started processing yet.

  • validated — Phase 1 complete, waiting for phase 2 (full migration).

  • validating — Phase 1 in progress - login credentials being tested, remote message counts being gathered.

Examples for migration_status

Request

{
  "credentials": {
    "user": "[email protected]",
    "password": "sw0rdf1sh"
  },
 "job":"1326229437638"
}

Response

{
  "rate": "613.499 KiB/s",
  "success": true,
  "users": [
     {
      "data": {
        "folders": {
          "INBOX": {
            "next_uid": "5",
            "bytes": 123133,
            "migrate_count": 5,
            "fail_count": 0,
            "retry1count": 0,
            "skip_count": 0,
            "remote_count": "5",
            "retry2count": 0,
            "delim": "."
          }, 
          "Trash": {
            "next_uid": "1",
            "skip_count": "1",
            "delim": ".",
            "remote_count": "1"
         },
         "Drafts": {
           "next_uid": "0",
           "delim": ".",
           "remote_count": "0"
         }, 
         "Spam": {
           "next_uid": "1",
           "skip_count": "1",
           "delim": ".",
           "remote_count": "1"
         },
         "Sent Items": {
           "next_uid": "0",
           "delim": ".",
           "remote_count": "0"
         } 
      },
       "status": {
         "bytes": 123133,
         "fail_count": 0,
         "migrate_count": 5,
         "skip_count": 2,
         "critical_errors": "0",
         "foldercount": 5,
         "remote_count": "7"
       },
       "config": {
         "server": "mail.bigmail.com:993", 
         "method": "imap4s",
         "remote": "[email protected]"
       } 
     },
     "local": "[email protected]",
     "state": "complete"
    }
  ] 
}