StartImportTask - AWS Application Discovery Service


Starts an import task, which allows you to import details of your on-premises environment directly into AWS Migration Hub without having to use the Application Discovery Service (ADS) tools such as the Discovery Connector or Discovery Agent. This gives you the option to perform migration assessment and planning directly from your imported data, including the ability to group your devices as applications and track their migration status.

To start an import request, do this:

  1. Download the specially formatted comma separated value (CSV) import template, which you can find here:

  2. Fill out the template with your server and application data.

  3. Upload your import file to an Amazon S3 bucket, and make a note of it's Object URL. Your import file must be in the CSV format.

  4. Use the console or the StartImportTask command with the AWS CLI or one of the AWS SDKs to import the records from your file.

For more information, including step-by-step procedures, see Migration Hub Import in the AWS Application Discovery Service User Guide.


There are limits to the number of import tasks you can create (and delete) in an AWS account. For more information, see AWS Application Discovery Service Limits in the AWS Application Discovery Service User Guide.

Request Syntax

{ "clientRequestToken": "string", "importUrl": "string", "name": "string" }

Request Parameters

For information about the parameters that are common to all actions, see Common Parameters.

The request accepts the following data in JSON format.


Optional. A unique token that you can provide to prevent the same import request from occurring more than once. If you don't provide a token, a token is automatically generated.

Sending more than one StartImportTask request with the same client request token will return information about the original import task with that client request token.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 100.

Required: No


The URL for your import file that you've uploaded to Amazon S3.


If you're using the AWS CLI, this URL is structured as follows: s3://BucketName/ImportFileName.CSV

Type: String

Length Constraints: Minimum length of 1. Maximum length of 4000.

Pattern: \S+://\S+/[\s\S]*\S[\s\S]*

Required: Yes


A descriptive name for this request. You can use this name to filter future requests related to this import task, such as identifying applications and servers that were included in this import task. We recommend that you use a meaningful name for each import task.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 100.

Pattern: [\s\S]*\S[\s\S]*

Required: Yes

Response Syntax

{ "task": { "applicationImportFailure": number, "applicationImportSuccess": number, "clientRequestToken": "string", "errorsAndFailedEntriesZip": "string", "importCompletionTime": number, "importDeletedTime": number, "importRequestTime": number, "importTaskId": "string", "importUrl": "string", "name": "string", "serverImportFailure": number, "serverImportSuccess": number, "status": "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.


An array of information related to the import task request including status information, times, IDs, the Amazon S3 Object URL for the import file, and more.

Type: ImportTask object


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


The AWS user account does not have permission to perform the action. Check the IAM policy associated with this account.

HTTP Status Code: 400


The home region is not set. Set the home region to continue.

HTTP Status Code: 400


One or more parameters are not valid. Verify the parameters and try again.

HTTP Status Code: 400


The value of one or more parameters are either invalid or out of range. Verify the parameter values and try again.

HTTP Status Code: 400


This issue occurs when the same clientRequestToken is used with the StartImportTask action, but with different parameters. For example, you use the same request token but have two different import URLs, you can encounter this issue. If the import tasks are meant to be different, use a different clientRequestToken, and try again.

HTTP Status Code: 400


The server experienced an internal error. Try again.

HTTP Status Code: 500

See Also

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