StartRestoreJob - Amazon Backup
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).


Recovers the saved resource identified by an Amazon Resource Name (ARN).

Request Syntax

PUT /restore-jobs HTTP/1.1 Content-type: application/json { "CopySourceTagsToRestoredResource": boolean, "IamRoleArn": "string", "IdempotencyToken": "string", "Metadata": { "string" : "string" }, "RecoveryPointArn": "string", "ResourceType": "string" }

URI Request Parameters

The request does not use any URI parameters.

Request Body

The request accepts the following data in JSON format.


This is an optional parameter. If this equals True, tags included in the backup will be copied to the restored resource.

This can only be applied to backups created through Amazon Backup.

Type: Boolean

Required: No


The Amazon Resource Name (ARN) of the IAM role that Amazon Backup uses to create the target resource; for example: arn:aws:iam::123456789012:role/S3Access.

Type: String

Required: No


A customer-chosen string that you can use to distinguish between otherwise identical calls to StartRestoreJob. Retrying a successful request with the same idempotency token results in a success message with no action taken.

Type: String

Required: No


A set of metadata key-value pairs. Contains information, such as a resource name, required to restore a recovery point.

You can get configuration metadata about a resource at the time it was backed up by calling GetRecoveryPointRestoreMetadata. However, values in addition to those provided by GetRecoveryPointRestoreMetadata might be required to restore a resource. For example, you might need to provide a new resource name if the original already exists.

You need to specify specific metadata to restore an Amazon Elastic File System (Amazon EFS) instance:

  • file-system-id: The ID of the Amazon EFS file system that is backed up by Amazon Backup. Returned in GetRecoveryPointRestoreMetadata.

  • Encrypted: A Boolean value that, if true, specifies that the file system is encrypted. If KmsKeyId is specified, Encrypted must be set to true.

  • KmsKeyId: Specifies the Amazon KMS key that is used to encrypt the restored file system. You can specify a key from another Amazon account provided that key it is properly shared with your account via Amazon KMS.

  • PerformanceMode: Specifies the throughput mode of the file system.

  • CreationToken: A user-supplied value that ensures the uniqueness (idempotency) of the request.

  • newFileSystem: A Boolean value that, if true, specifies that the recovery point is restored to a new Amazon EFS file system.

  • ItemsToRestore: An array of one to five strings where each string is a file path. Use ItemsToRestore to restore specific files or directories rather than the entire file system. This parameter is optional. For example, "itemsToRestore":"[\"/my.test\"]".

Type: String to string map

Required: Yes


An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

Type: String

Required: Yes


Starts a job to restore a recovery point for one of the following resources:

  • Aurora for Amazon Aurora

  • DocumentDB for Amazon DocumentDB (with MongoDB compatibility)

  • CloudFormation for Amazon CloudFormation

  • DynamoDB for Amazon DynamoDB

  • EBS for Amazon Elastic Block Store

  • EC2 for Amazon Elastic Compute Cloud

  • EFS for Amazon Elastic File System

  • FSx for Amazon FSx

  • Neptune for Amazon Neptune

  • RDS for Amazon Relational Database Service

  • Redshift for Amazon Redshift

  • Storage Gateway for Amazon Storage Gateway

  • S3 for Amazon S3

  • Timestream for Amazon Timestream

  • VirtualMachine for virtual machines

Type: String

Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$

Required: No

Response Syntax

HTTP/1.1 200 Content-type: application/json { "RestoreJobId": "string" }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.


Uniquely identifies the job that restores a recovery point.

Type: String


For information about the errors that are common to all actions, see Common Errors.


Indicates that something is wrong with a parameter's value. For example, the value is out of range.

HTTP Status Code: 400


Indicates that something is wrong with the input to the request. For example, a parameter is of the wrong type.

HTTP Status Code: 400


Indicates that a required parameter is missing.

HTTP Status Code: 400


A resource that is required for the action doesn't exist.

HTTP Status Code: 400


The request failed due to a temporary failure of the server.

HTTP Status Code: 500

See Also

For more information about using this API in one of the language-specific Amazon SDKs, see the following: