Restoring OneDrive Documents

You can restore a backed-up OneDrive document with the specified ID to its original location.

Request

POST https://<hostname>:4443/v6/RestoreSessions/{restoreSessionId}/Organization/OneDrives/{oneDriveId}/Documents/{documentId}/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.

oneDriveId

string

Specifies the identification number of OneDrive. For more information on how to get this parameter, see Getting OneDrives.

documentId

string

Specifies the identification number of the OneDrive document. For more information on how to get this parameter, see Getting OneDrive Documents.

Request Body

To restore a backed-up OneDrive document to the production server, 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 organization.

userPassword

string

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

documentAction

string

Specifies the action that will be performed in case the restore destination contains the restored document. The following values are available:

  • Overwrite
  • Keep

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.

officeRegion

string

Specifies the region of the target Microsoft 365 organization. The following values are available:

  • Worldwide
  • USGovernment
  • Germany
  • China
  • USDefence

organizationName

string

Specifies the name of the target Microsoft 365 organization.

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@abcsupport.onmicrosoft.com",

   "userPassword": "paSSw0rd",

   "documentAction" : "Keep",

   "officeRegion": "Worldwide",

   "organizationName": "abc.onmicrosoft.com"

}

Request Example 2

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

Request Body:

{

   "userCode": "C6A9DB737",

   "documentAction" : "Keep",

   "officeRegion": "Worldwide",

   "organizationName": "abc.onmicrosoft.com"

}

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

   "documentAction" : "Keep",

   "officeRegion": "Worldwide",

   "organizationName": "abc.onmicrosoft.com"

}

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 contains the following properties:

Property

Type

Description

totalItemsCount

integer

Specifies the total number of items in the backup.

restoredItemsCount

integer

Specifies the number of items restored from the backup.

failedItemsCount

integer

Specifies the number of items for which the restore operation failed.

skippedItemsByErrorCount

integer

Specifies the number of items that were skipped during the restore operation because of errors.

skippedItemsByNoChangesCount

integer

Specifies the number of items that were not changed or missing in the original location. Such items are skipped during the restore operation.

failedRestrictionsCount

integer

Specifies the number of items for which restore of permissions failed during the restore operation.

restoreIssues

Array of string values

Description of issues that occurred during the restore operation.

Example

The example shows how to restore the OneDrive document with the ID dbeb32bf-1ca6-448d-9158-3a19581eb7ab.

Request:

POST https://abc.tech.local:4443/v6/RestoreSessions/4c49bac1-a871-4413-bc97-ad280a3718cb/Organization/OneDrives/9c4a2afc-5e57-4dfa-a7e2-59e092691772ef4221af-9351-41ec-9128-534cf34db1a5/Documents/dbeb32bf-1ca6-448d-9158-3a19581eb7ab/restore

 

Request Header:

Authorization: Bearer <Access-Token>

 

Request Body:

{

 "documentAction": "Overwrite",

 "userName": "administrator@abc.onmicrosoft.com",

 "userPassword": "paSSw0rd",

 "officeRegion": "Worldwide",

 "organizationName": "abc.onmicrosoft.com"

}

 

Response:

200 OK

 

Response Body:

{

 "totalItemsCount": 1,

 "restoredItemsCount": 0,

 "failedItemsCount": 0,

 "skippedItemsByErrorCount": 0,

 "skippedItemsByNoChangesCount": 1,

 "failedRestrictionsCount": 0,

 "restoreIssues": []

}