Restoring, Saving and Sending SharePoint Folders

Restores, sends and saves a backed-up SharePoint folder with a specified ID.

Request

POST https://<hostname>:4443/v4/RestoreSessions/{restoreSessionId}/Organization/Sites/{siteId}/Folders/{folderId}/Action

Request Headers

The request header must contain an authorization token of the current session.

Request Body

Restore List Folders

To restore a SharePoint list folder, the request body must contain the restoreTo action properties:

Property

Type

Description

UserName

string

Specifies the user name you want to use for authenticating with the organization.

UserPassword

string

Specifies the user name you want to use for authenticating with the organization.

List

string

Specifies the target SharePoint list.

ChangedItems

boolean

If set to True, indicates that the changed SharePoint items will be restored.

DeletedItems

boolean

If set to True, indicates that the deleted SharePoint items will be restored.

RestorePermissions

boolean

If set to True, indicates that the SharePoint items will be restored with all permissions.

SendSharedLinksNotification

boolean

If set to True, indicates that shared links notifications will be sent.

DocumentVersion

DocumentVersion

Specifies, which of the following versions of the SharePoint documents will be restored:

  • all
  • last

DocumentLastVersionAction

DocumentLastVersionAction

Specifies, which one of the following actions will be performed with the last versions of the restored SharePoint documents on the production server:

  • overwrite
  • merge

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.

{

 "restoreTo":

 {"userName": "jsmith@westsupport.onmicrosoft.com",

  "userPassword": "paSSw0rd",

  "list": "listname",

  "changedItem": "true",

  "deletedItems": "true",

  "restorePermissions": "true",

  "documentVersion": "last",

  "documentLastVersionAction": "overwrite"

 }

}

Request Example 2

The following example shows how to use a device code for a restore.

{

"restoreTo":

 {

    "userCode": "C6A9DB737",

    "list": "listname",

  "changedItem": "true",

  "deletedItems": "true",

  "restorePermissions": "true",

  "documentVersion": "last",

  "documentLastVersionAction": "overwrite"  

 }

}

Request Example 3

The following example shows how to use a certificate for a restore.

{

"restoreTo":

 {

     "ApplicationId" : <app_id>,

     "ApplicationCertificate": "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",

   "ApplicationCertificatePassword": "xxx",         "list": "listname",

  "changedItem": "true",

  "deletedItems": "true",

  "restorePermissions": "true",

  "documentVersion": "last",

  "documentLastVersionAction": "overwrite"

 }

}

Restore Library Folders

To restore a SharePoint library folder, the request body must contain the restoreTo action properties:

Property

Type

Description

UserName

string

Specifies the user name you want to use for authenticating with the organization.

UserPassword

string

Specifies the user name you want to use for authenticating with the organization.

List

string

Specifies the target SharePoint list.

ChangedItems

boolean

If set to True, indicates that the changed SharePoint items will be restored.

DeletedItems

boolean

If set to True, indicates that the deleted SharePoint items will be restored.

RestorePermissions

boolean

If set to True, indicates that the SharePoint items will be restored with all permissions.

SendSharedLinksNotification

boolean

If set to True, indicates that shared links notifications will be sent.

DocumentVersion

DocumentVersion

Specifies, which of the following versions of the SharePoint documents will be restored:

  • all
  • last

DocumentLastVersionAction

DocumentLastVersionAction

Specifies, which one of the following actions will be performed with the last versions of the restored SharePoint documents on the production server:

  • overwrite
  • merge

For example:

{

 "restoreTo":

 {"userName": "jsmith@westsupport.onmicrosoft.com",

  "userPassword": "paSSw0rd",

  "list": "listname",

  "changedItem": "true",

  "deletedItems": "true",

  "restorePermissions": "true",

  "documentVersion": "last",

  "documentLastVersionAction": "overwrite"

 }

}

Send Library Folders

To send a SharePoint library folder as attachment in an email message, the request body must contain the sendTo action:

Property

Type

Description

From

string

Specifies the email address from which a library folder will be sent.

To

string

Specifies the email address to which a library folder will be sent.

Subject

string

Specifies the subject of the email message used for sending a library folder.

Text

string

Specifies the body of the email message used for sending a library folder.

For example:

{

 "sendTo":

 {"from": "j_smith@bestsupport.onmicrosoft.com",

  "to": "r.clark@bestsupport.onmicrosoft.com",

  "subject": "Support Ticket",

  "text": "Please find attached the files you requested"

 }

}

 

Restoring, Saving and Sending SharePoint Folders Note:

To be able to send library folders as attachments you must specify the Veeam Explorer for Microsoft SharePoint email settings by sending PUT HTTPS request to the /VESPEmailSettings URL. For more information, see (PUT) /VESPEmailSettings.

Save Library Folders

To save a SharePoint library folder, the request body must contain the save action:

{

 "save": null

}

The request command will place the library folder to a temporary folder on the Veeam Backup for Microsoft Office 365 server. After that, the library folder will be transferred as application/octet-stream media to the client. To download, read or perform other actions with the octet-stream, use features of programming languages.

Restoring, Saving and Sending SharePoint Folders Tip:

You can use Swagger UI to download the library folder from the stream by clicking Download action link in the response body.

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 request body message for the requests with the export and save actions: application/octet-stream.

The media type and syntax of the request body message for the requests with the restore and send actions: null.

Response Body

None.

Example 1

The following request restores a backed-up SharePoint folder with a specified ID.

Request:

POST https://<hostname>:4443/v4/RestoreSessions/9de1aad8-b932-4083-b58a-edac38c35533/Organization/Sites/1cfe4469-0a31-414b-9fd0-e84a087dcb739f242172-6d3f-47a2-816a-4989d45e88dd/Folders/1cfe4469-0a31-414b-9fd0-e84a087dcb739f242172-6d3f-47a2-816a-4989d45e88ddbf94c035-744a-4ecb-85de-b0e55380bdc378b8bb47-34aa-4e8e-9c95-9dff94f35898/Action

 

Request Header:

Authorization: Bearer <Access-Token>

 

Request Body:

{

 "restoreTo" :

 {

  "list" : "exampleList",

  "username" : "admin",

  "userpassword" : "password",

  "RestorePermissions" : true,

  "DocumentVersion" : "last",

  "DocumentLastVersionAction" : "Merge"

 }

}

 

Response:

200 OK

Example 2

The following request saves a backed-up SharePoint folder with a specified ID.

Request:

POST https://<hostname>:4443/v4/RestoreSessions/9de1aad8-b932-4083-b58a-edac38c35533/Organization/Sites/1cfe4469-0a31-414b-9fd0-e84a087dcb739f242172-6d3f-47a2-816a-4989d45e88dd/Folders/1cfe4469-0a31-414b-9fd0-e84a087dcb739f242172-6d3f-47a2-816a-4989d45e88ddbf94c035-744a-4ecb-85de-b0e55380bdc378b8bb47-34aa-4e8e-9c95-9dff94f35898/Action

 

Request Header:

Authorization: Bearer <Access-Token>

 

Request Body:

{

“save” : null

}

 

Response:

200 OK

Example 3

The following request sends a backed-up SharePoint folder with a specified ID.

Request:

POST https://<hostname>:4443/v4/RestoreSessions/9de1aad8-b932-4083-b58a-edac38c35533/Organization/Sites/1cfe4469-0a31-414b-9fd0-e84a087dcb739f242172-6d3f-47a2-816a-4989d45e88dd/Folders/1cfe4469-0a31-414b-9fd0-e84a087dcb739f242172-6d3f-47a2-816a-4989d45e88ddbf94c035-744a-4ecb-85de-b0e55380bdc378b8bb47-34aa-4e8e-9c95-9dff94f35898/Action

 

Request Header:

Authorization: Bearer <Access-Token>

 

Request Body:

{

 "sendto" :

 {

  "from": "fromUser@example.com",

  "to" : "toUser@example.com",

  "subject" : "Send document",

  "text" : "Hello. It’s your document!"

 }

}

 

Response:

200 OK

I want to report a typo

There is a misspelling right here:

 

I want to let the Veeam Documentation Team know about that.