Restoring SharePoint Sites to Original Location

You can restore a backed-up SharePoint site with the specified ID to the original location.

Request

POST https://<hostname>:4443/v6/RestoreSessions/{restoreSessionId}/Organization/Sites/{siteId}/restore

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.

siteId

string

Specifies the identification number of the SharePoint site. For more information on how to get this parameter, see Getting Organization SharePoint Sites.

Request Body

To restore a backed-up organization SharePoint site to the original location, the request body must contain the following properties:

Property

Type

Description

username

string

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

userpassword

string

Specifies the password of the user account that you want to use for authenticating to the SharePoint organization.

alias

string

Specifies an alias for the target site. If you omit this property, the SharePoint site items will be restored to the original location.

restoreListViews

boolean

If set to true, indicates that the SharePoint lists will be restored with all list views.

changedItems

boolean

If set to true, indicates that the SharePoint site will be restored with all changed items.

deletedItems

boolean

If set to true, indicates that the SharePoint site will be restored with all deleted items.

restoreSubsites

boolean

If set to true, indicates that the SharePoint site will be restored with all subsites.

restoreMasterPages

boolean

If set to true, indicates that the SharePoint site will be restored with all master pages.

restorePermissions

boolean

If set to true, indicates that the SharePoint site will be restored with all permissions.

documentVersion

documentVersion

Specifies what version of the SharePoint documents will be restored. The following values are available:

  • All
  • Last

sendSharedLinksNotification

boolean

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

documentLastVersionAction

documentLastVersionAction

Specifies the action that will be performed with the last version of the restored SharePoint document on the destination list. The following values are available:

  • Overwrite
  • Merge

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

Specifies the password for the SSL certificate that you want to use for data restore.

impersonationAccountName

string

Specifies a user name of the account that will be used as a SharePoint site owner account to restore a SharePoint site.

This property is required if you want to use an application certificate for data restore. Use this property only with the applicationCertificate property.

Restoring SharePoint Sites to Original Location Important

Make sure to set either the deletedItems or changedItems properties to true, otherwise the request will fail.

Converting Certificate to Base64 String

If you want to use a certificate to access an Azure AD application, you must provide the certificate as a Base64 string. To obtain a Base64 string, perform the following steps:

  1. Get the certificate content from a PFX file.
  2. Convert the certificate to a Base64 string.

To do this, you can use the following PowerShell cmdlets:

$pfx_cert = get-content '<path_to_cert>' -Encoding Byte

[System.Convert]::ToBase64String($pfx_cert) | Out-File '<path_to_file>'

where:

For example:

$pfx_cert = get-content 'C:\cert.pfx' -Encoding Byte

[System.Convert]::ToBase64String($pfx_cert) | Out-File 'C:\base64.txt'

Request Example 1

The following example shows how to use a user name and password for restore.

Request Body:

{
   "username": "admin",
   "userpassword": "password",

   "alias": "Subsite",
   "restorePermissions": true,
   "documentVersion": "last",
    "documentLastVersionAction": "merge",
   "restoreListViews": true,
   "changedItems": true,
   "deletedItems": true,
   "restoreSubsites": false,
   "restoreMasterPages": true,
   "sendSharedLinksNotification": false
}

Request Example 2

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

Request Body:

{
   "userCode": "C6A9DB737",
   "restorePermissions": true,
   "documentVersion": "last",
    "documentLastVersionAction": "merge",
   "restoreListViews": true,
   "changedItems": true,
   "deletedItems": true,
   "restoreSubsites": false,
   "restoreMasterPages": true,
   "sendSharedLinksNotification": false
}

Request Example 3

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

Request Body:

{

   "applicationId" : <app_id>,

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

   "applicationCertificatePassword": "xxx",        

   "impersonationAccountName": "xxx",

   "restorePermissions" : true,

   "documentVersion" : "last",

   "documentLastVersionAction" : "merge"

}

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.

Example

The example shows how to restore a backed-up SharePoint site with the specified ID.

Request:

POST https://abc.tech.local:4443/v6/RestoreSessions/6a50c1ce-07e1-4ee9-9158-9150acb5c2eb/Organization/Sites/b3184e77-b95b-45f7-96cc-180a20b61cbd8507931c-4561-4ddf-bc90-411aba44bb39/restore

 

Request Header:

Authorization: Bearer <Access-Token>

 

Request Body:

{

 "username" : "admin",

 "userpassword" : "password",

 "alias": "Subsite",

 "restorePermissions" : true,

 "documentVersion" : "last",

 "documentLastVersionAction" : "merge"

}

 

Response:

200 OK