Restoring Mailbox Data to Another Exchange Server
You can restore backed-up data from a specific mailbox to another Exchange server.
Request
POST https://<hostname>:4443/v6/RestoreSessions/{restoreSessionId}/organization/mailboxes/{mailboxId}/restoreTo |
Request Headers
The request header must contain an authorization token of the current session.
Request Parameters
The following parameters must be specified in the URL of the request:
Parameter | Type | Description |
---|---|---|
restoreSessionId | string | Specifies the identification number of the restore session. For more information on how to get this parameter, see Getting Restore Sessions. |
mailboxId | string | Specifies the identification number of the mailbox. For more information on how to get this parameter, see Getting Mailboxes. |
Request Body
To restore backed-up data of an organization mailbox to another Exchange server, the request body must contain the following properties:
Property | Type | Description |
---|---|---|
casServer | string | Specifies the Microsoft Exchange server with Client Access Server (CAS) role. The mailbox data will be restored to a specified mailbox server. Example: "casServer": "outlook.office365.com". |
mailbox | string | Specifies the email address of the mailbox to which you want to restore mailbox data. Example: "mailbox": "djohnes@northsupport.onmicrosoft.com". |
folder | string | Specifies the mailbox folder to which you want to restore mailbox data. Example: "folder": "RestoreFolder". |
officeRegion | string | Specifies the region of the target Exchange organization. The following values are available:
|
officeOrganizationName | string | Specifies the name of the target Exchange organization. |
userName | string | Specifies the user name that you want to use for authenticating to the Exchange organization. Example: "userName": "djohnes@northsupport.onmicrosoft.com". |
userPassword | string | Specifies the password of the user account that you want to use for authenticating to the Exchange organization. Example: "userPassword": "paSSw0rd". |
changedItems | boolean | If set to true, indicates that all versions of mailbox items will be restored. Example: "changedItems": true. |
deletedItems | boolean | If set to true, indicates that deleted mailbox items will be restored. Example: "deletedItems": true. |
markRestoredAsUnread | boolean | If set to true, indicates that restored mailbox data will be marked as unread. Example: "markRestoredAsUnread": false. |
excludeDrafts | boolean | If set to true, indicates that Drafts mailbox folder will not be restored. Example: "excludeDrafts": false. |
excludeDeletedItems | boolean | If set to true, indicates that Deleted Items mailbox folder will not be restored. Example: "excludeDeletedItems": false. |
excludeInPlaceHoldItems | boolean | If set to true, indicates that preserved items of mailboxes placed on In-Place Hold will not be restored. Example: "excludeInPlaceHoldItems": true. |
excludeLitigationHoldItems | boolean | If set to true, indicates that preserved items of mailboxes placed on Litigation Hold will not be restored. Example: "excludeLitigationHoldItems": true. |
userCode | string | Specifies the authentication code. For more information on how to get a device code, see Getting Device Code. This property is required if you want to use a device code for data restore. |
applicationId | string | An identification number of the Azure AD application that you want to use for a restore. |
applicationCertificate | base64 | Specifies the SSL certificate configured for the Azure AD application that you want to use for data restore. You must provide the certificate as a Base64 string. For more information on how to obtain a Base64 string, see Converting Certificate to Base64 String. |
applicationCertificatePassword | string | A password for the SSL certificate being used. |
impersonationAccountName | string | Specifies a user name of the account that will be used as a Microsoft Exchange account to restore data from a specific mailbox. This property is required if you want to use an application certificate for data restore. Use this property only with the applicationCertificate property. |
Response
The server returns the following response to the client.
Response Codes
A successfully completed operation returns a response code 200 OK.
Response Headers
The response to this request contains the following headers. The response may also include additional standard HTTPS headers.
Header | Description |
---|---|
Content-length | The length of the response body. |
Content-type | The media type and syntax of the response body message for the requests with the export and save actions: application/octet-stream. The media type and syntax of the response body message for the requests with the restore and send actions: null. |
Response Body
In the response body, the server returns information about operation results.
The response body for the restore operation contains the following properties:
Property | Type | Description |
---|---|---|
createdItemsCount | integer | Number of missing items restored from the backup. |
mergedItemsCount | integer | Number of changed items restored from the backup. |
failedItemsCount | integer | Number of items for which the restore operation failed. |
skippedItemsCount | integer | Number of items that were not changed or missing in the original location. Such items are skipped during the restore operation. |
Example
The example shows how to restore all versions of organization mailbox data to a different Exchange server.
Request: POST https://abc.tech.local:4443/v6/RestoreSessions/380d7caf-6294-4a33-b50a-b8aeb13af58c/organization/mailboxes/9e9b7199-f547-467a-b580-9d283a75eaad/restoreTo
Request Header: Authorization: Bearer <Access-Token>
Request Body: { "casServer": "outlook.office365.com", "mailbox": "djohnes@northsupport.onmicrosoft.com", "userName": "djohnes@northsupport.onmicrosoft.com", "userPassword": "p@s$w0rd", "changedItems": true, "deletedItems": false, "markRestoredAsUnread": false, "excludeDrafts": false, "excludeDeleteditems": false, "excludeInPlaceHoldItems": false, "excludeLitigationHoldItems": false }
Response: 200 OK
Response Body: { "createdItemsCount": 3, "mergedItemsCount": 2, "failedItemsCount": 0, "skippedItemsCount": 1 } |