Restoring Version of OneDrive Document

In this article

    You can restore a specific version of a backed-up OneDrive document to its original location.

    Request

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

    versionId

    integer

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

    Request Body

    To restore a specific version of 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 a specific version of the specified OneDrive document.

    Request:

    POST https://abc.tech.local:4443/v6/RestoreSessions/61954db6-7278-4d26-86f7-888bda5a4ec4/Organization/OneDrives/b3184e77-b95b-45f7-96cc-180a20b61cbd8507931c-4561-4ddf-bc90-411aba44bb39/Documents/b82b427c-e369-4f6a-aacd-dee45a9755d5/Versions/3/restore

     

    Request Header:

    Authorization: Bearer <Access-Token>

     

    Request Body:

    {

     "documentAction": "Keep",

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

     "userPassword": "paSSw0rd",

     "officeRegion": "Worldwide",

     "organizationName": "abc.onmicrosoft.com"

    }

     

    Response:

    200 OK

     

    Response Body:

    {

     "totalItemsCount": 1,

     "restoredItemsCount": 1,

     "failedItemsCount": 0,

     "skippedItemsByErrorCount": 0,

     "skippedItemsByNoChangesCount": 0,

     "failedRestrictionsCount": 0,

     "restoreIssues": []

    }