Updated on 2025-08-25 GMT+08:00

Restoring a Backup

Function

This API is used to restore backup data.

Debugging

You can debug this API through automatic authentication in API Explorer or use the SDK sample code generated by API Explorer.

URI

POST /v3/{project_id}/backups/{backup_id}/restore

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

backup_id

Yes

String

Backup ID.

For details about how to obtain the backup ID, see Obtaining a Backup ID.

project_id

Yes

String

Project ID.

For details about how to obtain the project ID, see Obtaining a Project ID.

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

User token

The token can be obtained by calling the IAM API used to obtain a user token. The value of X-Subject-Token in the response header is the user token.

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

restore

Yes

BackupRestore object

Request body of restoring a backup

Table 4 BackupRestore

Parameter

Mandatory

Type

Description

mappings

No

Array of BackupRestoreServerMapping objects

Restored mapping relationship. This parameter is mandatory for VM restoration and optional for disk restoration.

power_on

No

Boolean

Whether to start the VM after the restoration. The default value is true. - true: Start the VM. - false: Stop the VM.

server_id

No

String

ID of the VM to be restored. This parameter is mandatory for entire-server restoration.

For details, see Obtaining an ECS ID.

volume_id

No

String

ID of the volume to be restored. This parameter is mandatory for volume restoration.

For details, see Obtaining an EVS Disk ID.

resource_id

No

String

ID of the resource to be restored. It is in UUID format. You can query the resource status based on the type of the resource to be backed up.

details

No

RestoreDetails object

Restoration details

Table 5 BackupRestoreServerMapping

Parameter

Mandatory

Type

Description

backup_id

Yes

String

Volume backup ID. You can view the disk-level backup ID in the cloud server backups backup details on the console or obtain the disk-level backup ID in children of the backup by calling the API for querying a specified backup.

volume_id

Yes

String

ID of the volume to be restored. For details, see Obtaining an EVS Disk ID.

Table 6 RestoreDetails

Parameter

Mandatory

Type

Description

destination_path

Yes

String

Destination path. The value can contain a maximum of 255 characters and can contain only letters, digits, colons (:), backslashes (), and slashes (/).

Response Parameters

Status code: 202

Accepted

None

Example Requests

Restoring from a specified backup

POST https://{endpoint}/v3/{f841e01fd2b14e7fa41b6ae7aa6b0594}/backups/a5200268-74a5-4806-acc6-95793ab0228b/restore

{
  "restore" : {
    "mappings" : [ {
      "backup_id" : "5d822633-2bbf-4af8-a16e-5ab1c7705235",
      "volume_id" : "eccbcfdd-f843-4bbb-b2c0-a5ce861f9376"
    } ],
    "power_on" : true,
    "server_id" : "94eba8b2-acc9-4d82-badc-127144cc5526"
  }
}

Example Responses

None

Status Codes

Status Code

Description

202

Accepted

Error Codes

See Error Codes.