StartRestoreJob - AWS Backup


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

Request Syntax

PUT /restore-jobs HTTP/1.1 Content-type: application/json { "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.


The Amazon Resource Name (ARN) of the IAM role that AWS 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 AWS 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 AWS KMS key that is used to encrypt the restored file system. You can specify a key from another AWS account provided that key it is properly shared with your account via AWS 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)

  • 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

  • Storage Gateway for AWS Storage Gateway

  • S3 for Amazon S3

  • 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 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 AWS SDKs, see the following: