Exporting, Restoring, Sending and Saving Mailbox Items
This section explains how to export, restore, send and save backed-up items.
Request
POST https://<hostname>:4443/v4/RestoreSessions/{restoreSessionId}/Organization/Mailboxes/{mailboxId}/Items/Action |
Request Headers
The request header must contain an authorization token of the current session.
Request Body
Export to PST
|
To export data to .pst files, you must have a 64-bit version of Microsoft Outlook 2016, Microsoft Outlook 2013 or Microsoft Outlook 2010 installed on a computer running restore sessions. |
To export the backed-up items from the organization's mailbox to a PST file (Personal Folder File), the request body must contain the exportToPst action property:
Property | Type | Description |
---|---|---|
ContentKeywords | string | Specifies the keyword to query backed-up mailbox folder data. |
EnablePstSizeLimit | boolean | Defines whether to set the size limit for the exported .pst file. If set to true, make sure to specify the PstSizeLimitBytes parameter. |
PstSizeLimitBytes | integer | Sets the limit of the exported .pst file. You can choose the limit range from 1 GB to 49 GB. |
For example:
{ "exportToPst": { "contentKeywords": "support", "EnablePstSizeLimit": true, "PstSizeLimitBytes": 1073741824 } } |
The request command will look for a specified keyword in item names and fields inside the organization's mailbox. The backed-up data with a specified keyword then will be exported to a PST file and placed to a temporary folder on the Veeam Backup for Microsoft Office 365 server. After that, the PST file will be transferred as application/octet-stream media to the client. To download, read, convert to PST or perform other actions with the octet-stream, use features of programming languages.
If the size of the exported data exceeds the limit specified for the PST file, Veeam Backup for Microsoft Office 365 splits the PST file into separate files and exports these files to an archive file of the ZIP format. For example, you specified 1 GB as the PST file size limit. The size of the exported data is 1.5 GB. In this case, Veeam Backup for Microsoft Office 365 will export data to a ZIP archive. The archive will contain two PST files: one PST file of the 1 GB size and another PST file of the 0.5 GB size.
|
You can use Swagger UI to download the octet-stream file by clicking the Download action link, which server returns in the response body after a successfully completed export operation. |
Restore to the same mailbox
To restore backed-up items to the same mailbox on the production Exchange server, the request body must contain the restoretoOriginallocation action properties:
Property | Type | Description |
---|---|---|
UserName | string | Specifies the user name you want to use for authenticating with the Exchange organization. |
UserPassword | string | Specifies the user name you want to use for authenticating with the Exchange organization. |
Items | Items | Specifies the IDs of mailbox items that you want to restore. If you omit this parameter, all backed-up items will be restored to the same mailbox on the production Exchange server. |
userCode | string | An authentication code. Can be obtained, as described in Getting Device Code. |
ApplicationId | string | An identification number of the Azure AD application that you want to use for a restore. |
ApplicationCertificate | base64 | An SSL certificate that is configured for the AD application being used. |
ApplicationCertificatePassword | string | A password for the SSL certificate being used. |
Request Example 1
The following example shows how to use a user name and password for a restore.
{ "restoretoOriginallocation": {"userName": "jsmith@westsupport.onmicrosoft.com", "userPassword": "paSSw0rd" "items": [ {"Id": "74685f6b-16aa-4a78-a44f-05526ce0ae30"}, {"Id": "70013a9e-c446-429d-aa78-9c8c20d9b814"} ] } } |
Request Example 2
The following example shows how to use a device code for a restore.
{ "restoretoOriginallocation": { "userCode": "C6A9DB737" } } |
Request Example 3
The following example shows how to use a certificate for a restore.
{ "restoretoOriginallocation": { "ApplicationId" : <app_id>, "ApplicationCertificate": "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", "ApplicationCertificatePassword": "xxx", } } |
Restore to a different mailbox
To restore backed-up items to a different mailbox on the production server, the request body must contain the restoreTo action properties:
Property | Type | Description |
---|---|---|
Mailbox | string | Specifies the email address of the mailbox to which you want to restore mailbox items. |
UserName | string | Specifies the user name you want to use for authenticating with the Exchange organization. |
UserPassword | string | Specifies the user name you want to use for authenticating with the Exchange organization. |
userCode | string | An authentication code. Can be obtained, as described in Getting Device Code. |
ApplicationId | string | An identification number of the Azure AD application that you want to use for a restore. |
ApplicationCertificate | base64 | An SSL certificate that is configured for the AD application being used. |
ApplicationCertificatePassword | string | A password for the SSL certificate being used. |
Send to the same mailbox
To send backed-up items as attachments in an email message to the same mailbox, the request body must contain the sendtoDefaultaddress action:
{ "sendtoDefaultaddress": null } |
|
To be able to send items as attachments you must specify the Veeam Explorer for Microsoft Exchange email settings by sending PUT HTTPS request to the /VEXEmailSettings URL. For more information, see (PUT) /VEXEmailSettings. |
Send to a different mailbox
To send backed-up items as attachments in an email message to a different mailbox, the request body must contain the sendtoDifferentaddress action properties:
Property | Type | Description |
---|---|---|
From | string | Specifies the email address from which the restored mailbox items will be sent. |
To | string | Specifies the email address to which the restored mailbox items will be sent. |
Subject | string | Specifies the subject of the email message used for sending restored mailbox items. |
Text | string | Specifies the body of the email message used for sending restored mailbox items. |
For example:
{ "sendtoDifferentaddress": {"from": "j_smith@bestsupport.onmicrosoft.com", "to": "r.clark@bestsupport.onmicrosoft.com", "subject": "Support Tickets", "text": "Please find attached the files you requested" } } |
|
If you omit the From property, the default "from" email address specified in Veeam Explorer for Microsoft Exchange email settings will be used. To specify Veeam Explorer for Microsoft Exchange email settings, send PUT HTTPS request to the /VEXEmailSettings URL. For more information, see (PUT) /VEXEmailSettings. |
Save as MSG
To save backed-up organization's mailbox items to MSG files (Outlook Message Files), the request body must contain the savetoMsg action property:
Property | Type | Description |
---|---|---|
ContentKeywords | string | Specifies the keyword to query backed-up mailbox items. |
For example:
{ "savetoMsg": {"contentKeywords": "support" } } |
The request command will look for a specified keyword in item fields inside the organization's mailbox. After that the backed-up items with a specified keywords will be saved to MSG files and transferred to application/octet-stream media. You can use Swagger UI to download the mailbox items in MSG format from the stream by clicking the "Download action" link in the response body.
Response
The server returns the following response to the client.
Response Codes
A successfully completed operation returns 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 the following data:
- [For export and save actions] Binary data stream
- [For restore actions] Information about operation results
Example 1
The following request exports backed-up mailbox items containing "support" keyword to a PST file.
Request: POST https://abc.tech.local:4443/v4/RestoreSessions/380d7caf-6294-4a33-b50a-b8aeb13af58c/Organization/Mailboxes/9e9b7199-f547-467a-b580-9d283a75eaad/Items/Action
Request Header: Authorization: Bearer <Access-Token>
Request Body: { "exportToPst": { "contentKeywords": "support", "EnablePstSizeLimit": false } }
Response: 200 OK |
Example 2
The following request saves backed-up mailbox items containing "support" keyword to MSG files.
Request: POST https://abc.tech.local:4443/v4/RestoreSessions/380d7caf-6294-4a33-b50a-b8aeb13af58c/Organization/Mailboxes/9e9b7199-f547-467a-b580-9d283a75eaad/Items/Action
Request Header: Authorization: Bearer <Access-Token>
Request Body: { "savetoMsg": {"contentKeywords": "support" } }
Response: 200 OK |
Example 3
The following request restores backed-up mailbox items to the same mailbox on the production server.
Request: POST https://abc.tech.local:4443/v4/RestoreSessions/380d7caf-6294-4a33-b50a-b8aeb13af58c/Organization/Mailboxes/9e9b7199-f547-467a-b580-9d283a75eaad/Items/Action
Request Header: Authorization: Bearer <Access-Token>
Request Body: { "restoretoOriginallocation": {"userName": "jsmith@westsupport.onmicrosoft.com", "userPassword": "paSSw0rd" } }
Response: 200 OK |
Example 4
The following request restores backed-up mailbox items to a different mailbox on the production server.
Request: POST https://abc.tech.local:4443/v4/RestoreSessions/380d7caf-6294-4a33-b50a-b8aeb13af58c/Organization/Mailboxes/9e9b7199-f547-467a-b580-9d283a75eaad/Items/Action Request Header: Authorization: Bearer <Access-Token>
Request Body: { "restoreTo": {"userPassword": "Pa$$w0rd", "userName": "administrator@westsupport.onmicrosoft.com", "mailbox": "djohnes@westsupport.onmicrosoft.com", } }
Response: 200 OK |
Example 5
The following request sends restored mailbox items as attachments in the email message to the same mailbox.
Request: POST https://abc.tech.local:4443/v4/RestoreSessions/380d7caf-6294-4a33-b50a-b8aeb13af58c/Organization/Mailboxes/9e9b7199-f547-467a-b580-9d283a75eaad/Items/Action
Request Header: Authorization: Bearer <Access-Token>
Request Body: { "sendtoDefaultaddress": null }
Response: 200 OK |
Example 6
The following request sends restored mailbox items as attachments in the email message to a different mailbox.
Request: POST https://abc.tech.local:4443/v4/RestoreSessions/380d7caf-6294-4a33-b50a-b8aeb13af58c/Organization/Mailboxes/9e9b7199-f547-467a-b580-9d283a75eaad/Items/Action
Request Header: Authorization: Bearer <Access-Token>
Request Body: { "sendtoDifferentaddress": {"from": "j_smith@bestsupport.onmicrosoft.com", "to": "r.clark@bestsupport.onmicrosoft.com", "subject": "Support Tickets", "text": "Please find attached the files you requested" } }
Response: 200 OK |