

# StartJob
<a name="API_StartJob"></a>

 Starts a new job for a branch of an Amplify app. 

## Request Syntax
<a name="API_StartJob_RequestSyntax"></a>

```
POST /apps/appId/branches/branchName/jobs HTTP/1.1
Content-type: application/json

{
   "commitId": "string",
   "commitMessage": "string",
   "commitTime": number,
   "jobId": "string",
   "jobReason": "string",
   "jobType": "string"
}
```

## URI Request Parameters
<a name="API_StartJob_RequestParameters"></a>

The request uses the following URI parameters.

 ** [appId](#API_StartJob_RequestSyntax) **   <a name="amplify-StartJob-request-uri-appId"></a>
The unique ID for an Amplify app.   
Length Constraints: Minimum length of 1. Maximum length of 20.  
Pattern: `d[a-z0-9]+`   
Required: Yes

 ** [branchName](#API_StartJob_RequestSyntax) **   <a name="amplify-StartJob-request-uri-branchName"></a>
The name of the branch to use for the job.   
Length Constraints: Minimum length of 1. Maximum length of 255.  
Pattern: `(?s).+`   
Required: Yes

## Request Body
<a name="API_StartJob_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [commitId](#API_StartJob_RequestSyntax) **   <a name="amplify-StartJob-request-commitId"></a>
 The commit ID from a third-party repository provider for the job.   
Type: String  
Length Constraints: Maximum length of 255.  
Pattern: `(?s).*`   
Required: No

 ** [commitMessage](#API_StartJob_RequestSyntax) **   <a name="amplify-StartJob-request-commitMessage"></a>
 The commit message from a third-party repository provider for the job.   
Type: String  
Length Constraints: Maximum length of 10000.  
Pattern: `(?s).*`   
Required: No

 ** [commitTime](#API_StartJob_RequestSyntax) **   <a name="amplify-StartJob-request-commitTime"></a>
 The commit date and time for the job.   
Type: Timestamp  
Required: No

 ** [jobId](#API_StartJob_RequestSyntax) **   <a name="amplify-StartJob-request-jobId"></a>
The unique ID for an existing job. This is required if the value of `jobType` is `RETRY`.   
Type: String  
Length Constraints: Maximum length of 255.  
Pattern: `[0-9]+`   
Required: No

 ** [jobReason](#API_StartJob_RequestSyntax) **   <a name="amplify-StartJob-request-jobReason"></a>
A descriptive reason for starting the job.  
Type: String  
Length Constraints: Maximum length of 255.  
Pattern: `(?s).*`   
Required: No

 ** [jobType](#API_StartJob_RequestSyntax) **   <a name="amplify-StartJob-request-jobType"></a>
Describes the type for the job. The job type `RELEASE` starts a new job with the latest change from the specified branch. This value is available only for apps that are connected to a repository.   
The job type `RETRY` retries an existing job. If the job type value is `RETRY`, the `jobId` is also required.   
Type: String  
Length Constraints: Maximum length of 10.  
Valid Values: `RELEASE | RETRY | MANUAL | WEB_HOOK`   
Required: Yes

## Response Syntax
<a name="API_StartJob_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "jobSummary": { 
      "commitId": "string",
      "commitMessage": "string",
      "commitTime": number,
      "endTime": number,
      "jobArn": "string",
      "jobId": "string",
      "jobType": "string",
      "sourceUrl": "string",
      "sourceUrlType": "string",
      "startTime": number,
      "status": "string"
   }
}
```

## Response Elements
<a name="API_StartJob_ResponseElements"></a>

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

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

 ** [jobSummary](#API_StartJob_ResponseSyntax) **   <a name="amplify-StartJob-response-jobSummary"></a>
 The summary for the job.   
Type: [JobSummary](API_JobSummary.md) object

## Errors
<a name="API_StartJob_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** BadRequestException **   
A request contains unexpected data.   
HTTP Status Code: 400

 ** InternalFailureException **   
The service failed to perform an operation due to an internal issue.   
HTTP Status Code: 500

 ** LimitExceededException **   
A resource could not be created because service quotas were exceeded.   
HTTP Status Code: 429

 ** NotFoundException **   
An entity was not found during an operation.   
HTTP Status Code: 404

 ** UnauthorizedException **   
An operation failed due to a lack of access.   
HTTP Status Code: 401

## See Also
<a name="API_StartJob_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/amplify-2017-07-25/StartJob) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/amplify-2017-07-25/StartJob) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/amplify-2017-07-25/StartJob) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/amplify-2017-07-25/StartJob) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/amplify-2017-07-25/StartJob) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/amplify-2017-07-25/StartJob) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/amplify-2017-07-25/StartJob) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/amplify-2017-07-25/StartJob) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/amplify-2017-07-25/StartJob) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/amplify-2017-07-25/StartJob) 