

# Operations
<a name="ApiReference_OperationsArticle"></a>

 The Amazon Mechanical Turk API consists of web service operations for every task the service can perform. This section describes each operation in detail. 
+ [AcceptQualificationRequest](ApiReference_AcceptQualificationRequestOperation.md)
+ [ApproveAssignment](ApiReference_ApproveAssignmentOperation.md)
+ [AssociateQualificationWithWorker](ApiReference_AssociateQualificationWithWorkerOperation.md)
+ [CreateAdditionalAssignmentsForHIT](ApiReference_CreateAdditionalAssignmentsForHITOperation.md)
+ [CreateHIT](ApiReference_CreateHITOperation.md)
+ [CreateHITType](ApiReference_CreateHITTypeOperation.md)
+ [CreateHITWithHITType](ApiReference_CreateHITWithHITTypeOperation.md)
+ [CreateQualificationType](ApiReference_CreateQualificationTypeOperation.md)
+ [CreateWorkerBlock](ApiReference_CreateWorkerBlockOperation.md)
+ [DeleteHIT](ApiReference_DeleteHITOperation.md)
+ [DeleteQualificationType](ApiReference_DeleteQualificationTypeOperation.md)
+ [DeleteWorkerBlock](ApiReference_DeleteWorkerBlockOperation.md)
+ [DisassociateQualificationFromWorker](ApiReference_DisassociateQualificationFromWorkerOperation.md)
+ [GetAccountBalance](ApiReference_GetAccountBalanceOperation.md)
+ [GetAssignment](ApiReference_GetAssignmentOperation.md)
+ [GetFileUploadURL](ApiReference_GetFileUploadURLOperation.md)
+ [GetHIT](ApiReference_GetHITOperation.md)
+ [GetQualificationScore](ApiReference_GetQualificationScoreOperation.md)
+ [GetQualificationType](ApiReference_GetQualificationTypeOperation.md)
+ [ListAssignmentsForHIT](ApiReference_ListAssignmentsForHITOperation.md)
+ [ListBonusPayments](ApiReference_ListBonusPaymentsOperation.md)
+ [ListHITs](ApiReference_ListHITsOperation.md)
+ [ListHITsForQualificationType](ApiReference_ListHITsForQualificationTypeOperation.md)
+ [ListQualificationRequests](ApiReference_ListQualificationRequestsOperation.md)
+ [ListQualificationTypes](ApiReference_ListQualificationTypesOperation.md)
+ [ListReviewableHITs](ApiReference_ListReviewableHITsOperation.md)
+ [ListReviewPolicyResultsForHIT](ApiReference_ListReviewPolicyResultsForHITOperation.md)
+ [ListWorkerBlocks](ApiReference_ListWorkerBlocksOperation.md)
+ [ListWorkersWithQualificationType](ApiReference_ListWorkersWithQualificationTypeOperation.md)
+ [NotifyWorkers](ApiReference_NotifyWorkersOperation.md)
+ [RejectAssignment](ApiReference_RejectAssignmentOperation.md)
+ [RejectQualificationRequest](ApiReference_RejectQualificationRequestOperation.md)
+ [SendBonus](ApiReference_SendBonusOperation.md)
+ [SendTestEventNotification](ApiReference_SendTestEventNotificationOperation.md)
+ [UpdateExpirationForHIT](ApiReference_UpdateExpirationForHITOperation.md)
+ [UpdateHITReviewStatus](ApiReference_UpdateHITReviewStatusOperation.md)
+ [UpdateHITTypeOfHIT](ApiReference_UpdateHITTypeOfHITOperation.md)
+ [UpdateNotificationSettings](ApiReference_UpdateNotificationSettingsOperation.md)
+ [UpdateQualificationType](ApiReference_UpdateQualificationTypeOperation.md)

# AcceptQualificationRequest
<a name="ApiReference_AcceptQualificationRequestOperation"></a>

## Description
<a name="ApiReference_AcceptQualificationRequestOperation-description"></a>

 The `AcceptQualificationRequest` operation grants a Worker's request for a Qualification. 

 Only the owner of the Qualification type can grant a Qualification request for that type.

## Request Syntax
<a name="ApiReference_AcceptQualificationRequestOperation-request-syntax"></a>

```
{ 
  "QualificationRequestId": String,

  "IntegerValue": Integer
 }
```

## Request Parameters
<a name="ApiReference_AcceptQualificationRequestOperation-request-parameters"></a>

 The request accepts the following data in JSON format: 


| Name | Description | Required | 
| --- | --- | --- | 
|   ` QualificationRequestId `   |  The ID of the Qualification request, as returned by the [ListQualificationRequests](ApiReference_ListQualificationRequestsOperation.md) operation. Type: String.  |  Yes  | 
|   ` IntegerValue `   |  The value of the Qualification. You can omit this value if you are using the presence or absence of the Qualification as the basis for a HIT requirement. Type: Integer Default: 1  |  No  | 

## Response Elements
<a name="ApiReference_AcceptQualificationRequestOperation-response-elements"></a>

 A successful request for the `AcceptQualificationRequest` operation returns with no errors and an empty body. 

## Example
<a name="ApiReference_AcceptQualificationRequestOperation-examples"></a>

The following example shows how to use the `AcceptQualificationRequest` operation:

### Sample Request
<a name="ApiReference_AcceptQualificationRequestOperation-examples-sample-request"></a>

The following example grants a Qualification to a user.

```
POST / HTTP/1.1
Host: mturk-requester.us-east-1.amazonaws.com
Content-Length: <PayloadSizeBytes>
X-Amz-Date: <Date>
{
  QualificationRequestId:"789RVWYBAZW00EXAMPLE951RVWYBAZW00EXAMPLE",
  IntegerValue:95
}
```

### Sample Response
<a name="ApiReference_AcceptQualificationRequestOperation-examples-sample-response"></a>

The following is an example response:

```
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
```

# ApproveAssignment
<a name="ApiReference_ApproveAssignmentOperation"></a>

## Description
<a name="ApiReference_ApproveAssignmentOperation-description"></a>

The `ApproveAssignment` operation approves the results of a completed assignment created with the API. 

Approving an assignment initiates two payments from the Requester's Amazon.com account: the Worker who submitted the results is paid the reward specified in the HIT, and Amazon Mechanical Turk fees are debited. If the Requester's account does not have adequate funds for these payments, the call to ApproveAssignment returns an exception, and the approval is not processed. You can include an optional feedback message with the approval, which the Worker can see in the Status section of the web site.

You can also call this operation on assignments that were previous rejected and approve them by over-riding the previous rejection. This works only on rejected assignments that were submitted within the previous 30 days and only if the assignment's related HIT has not been deleted.

**Note**  
To maintain the consistency of the assignments for HITs in a batch, if a HIT is created through the [Amazon Mechanical Turk Requester website](https://requester.mturk.com/create/projects/new), you must use the Requester website UI to approve or reject the work.  
If you want to be able to approve or reject work through the API, you can use a [HITLayout](ApiReference_HITLayoutArticle.md) when calling [CreateHIT](ApiReference_CreateHITOperation.md) to utilize an existing template from the [Amazon Mechanical Turk Requester website](https://requester.mturk.com/create/projects/new) 

## Request Syntax
<a name="ApiReference_ApproveAssignmentOperation-request-syntax"></a>

```
{ 
  "AssignmentId": String,

  "RequesterFeedback": String,

  "OverrideRejection": Boolean
 }
```

## Request Parameters
<a name="ApiReference_ApproveAssignmentOperation-request-parameters"></a>

 The request accepts the following data in JSON format: 


| Name | Description | Required | 
| --- | --- | --- | 
|   ` AssignmentId `   |  The ID of the assignment. This parameter must correspond to a HIT created by the Requester. Type: String  |  Yes  | 
|   ` RequesterFeedback `   |  A message for the Worker, which the Worker can see in the Status section of the web site. Type: String Constraints: Can be up to 1024 characters (including multi-byte characters). The RequesterFeedback parameter cannot contain ASCII characters 0-8, 11,12, or 14-31. If these characters are present, the operation throws an InvalidParameterValue error.  |  No  | 
|   ` OverrideRejection `   |  A flag indicating whether you want to approve an assignment that was previously rejected. Type: Boolean Constraints: This works only on rejected assignments that were submitted within the previous 30 days and only if the assignment's related HIT has not been deleted.  |  No  | 

## Response Elements
<a name="ApiReference_ApproveAssignmentOperation-response-elements"></a>

 A successful request for the `ApproveAssignment` operation returns with no errors and an empty body. 

## Example
<a name="ApiReference_ApproveAssignmentOperation-examples"></a>

The following example shows how to use the `ApproveAssignment` operation:

### Sample Request
<a name="ApiReference_ApproveAssignmentOperation-examples-sample-request"></a>

The following example approves an assignment identified by its assignment ID.

```
POST / HTTP/1.1
Host: mturk-requester.us-east-1.amazonaws.com
Content-Length: <PayloadSizeBytes>
X-Amz-Date: <Date>
{
  AssignmentId:"123RVWYBAZW00EXAMPLE456RVWYBAZW00EXAMPLE"
}
```

### Sample Response
<a name="ApiReference_ApproveAssignmentOperation-examples-sample-response"></a>

The following is an example response:

```
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
```

# AssociateQualificationWithWorker
<a name="ApiReference_AssociateQualificationWithWorkerOperation"></a>

## Description
<a name="ApiReference_AssociateQualificationWithWorkerOperation-description"></a>

 The `AssociateQualificationWithWorker` operation gives a Worker a Qualification. `AssociateQualificationWithWorker` does not require that the Worker submit a Qualification request. It immediately gives the Worker the Qualification. 

 You can only assign a Qualification of a Qualification type that you created (using the [CreateQualificationType](ApiReference_CreateQualificationTypeOperation.md) operation).

**Tip**  
`AssociateQualificationWithWorker` does not affect any pending Qualification requests for the Qualification by the Worker. If you associate a Qualification to a Worker, then later accept a Qualification request made by the Worker, accepting the request may modify the Qualification score. To resolve a pending Qualification request without affecting the Qualification the Worker already has, reject the request with the [RejectQualificationRequest](ApiReference_RejectQualificationRequestOperation.md) operation. 

## Request Syntax
<a name="ApiReference_AssociateQualificationWithWorkerOperation-request-syntax"></a>

```
{ 
  "QualificationTypeId": String,

  "WorkerId": String,

  "IntegerValue": Integer,

  "SendNotification": Boolean
 }
```

## Request Parameters
<a name="ApiReference_AssociateQualificationWithWorkerOperation-request-parameters"></a>

 The request accepts the following data in JSON format: 


| Name | Description | Required | 
| --- | --- | --- | 
|   ` QualificationTypeId `   |  The ID of the Qualification type to use for the assigned Qualification. Type: String Constraints: must be a valid Qualification type ID, as returned by the [CreateQualificationType](ApiReference_CreateQualificationTypeOperation.md) operation.  |  Yes  | 
|   ` WorkerId `   |  The ID of the Worker to whom the Qualification is being assigned. Worker IDs are included with submitted HIT assignments and Qualification requests. Type: String  |  Yes  | 
|   ` IntegerValue `   |  The value of the Qualification to assign. Type: Integer Default: 1  |  Yes  | 
|   ` SendNotification `   |  Specifies whether to send a notification email message to the Worker saying that the qualification was assigned to the Worker. Type: Boolean Default: true  |  No  | 

## Response Elements
<a name="ApiReference_AssociateQualificationWithWorkerOperation-response-elements"></a>

 A successful request for the `AssociateQualificationWithWorker` operation returns with no errors and an empty body. 

## Example
<a name="ApiReference_AssociateQualificationWithWorkerOperation-examples"></a>

The following example shows how to use the `AssociateQualificationWithWorker` operation:

### Sample Request
<a name="ApiReference_AssociateQualificationWithWorkerOperation-examples-sample-request"></a>

The following example grants a Qualification to a Worker.

```
POST / HTTP/1.1
Host: mturk-requester.us-east-1.amazonaws.com
Content-Length: <PayloadSizeBytes>
X-Amz-Date: <Date>
{
  WorkerId:"AZ3456EXAMPLE",
  QualificationTypeId:"789RVWYBAZW00EXAMPLE",
  IntegerValue:1,
  SendNotification:false
}
```

### Sample Response
<a name="ApiReference_AssociateQualificationWithWorkerOperation-examples-sample-response"></a>

The following is an example response:

```
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
```

# CreateAdditionalAssignmentsForHIT
<a name="ApiReference_CreateAdditionalAssignmentsForHITOperation"></a>

## Description
<a name="ApiReference_CreateAdditionalAssignmentsForHITOperation-description"></a>

 The `CreateAdditionalAssignmentsForHIT` operation increases the maximum number of assignments of an existing HIT. 

 To extend the maximum number of assignments, specify the number of additional assignments.

**Note**  
HITs created with fewer than 10 assignments cannot be extended to have 10 or more assignments. Attempting to add assignments in a way that brings the total number of assignments for a HIT from fewer than 10 assignments to 10 or more assignments will result in an `AWS.MechanicalTurk.InvalidMaximumAssignmentsIncrease` exception.
HITs that were created before July 22, 2015 cannot be extended. Attempting to extend HITs that were created before July 22, 2015 will result in an `AWS.MechanicalTurk.HITTooOldForExtension` exception. 

## Request Syntax
<a name="ApiReference_CreateAdditionalAssignmentsForHITOperation-request-syntax"></a>

```
{ 
  "HITId": String,

  "NumberOfAdditionalAssignments": Integer,

  "UniqueRequestToken": String
 }
```

## Request Parameters
<a name="ApiReference_CreateAdditionalAssignmentsForHITOperation-request-parameters"></a>

 The request accepts the following data in JSON format: 


| Name | Description | Required | 
| --- | --- | --- | 
|   ` HITId `   |  The ID of the HIT to for which to request more assignments. Type: String  |  Yes  | 
|   ` NumberOfAdditionalAssignments `   |  The number of additional assignments to request for this HIT. Type: Integer  |  Yes  | 
|   ` UniqueRequestToken `   |  A unique identifier for this request, which allows you to retry the call on error without extending the HIT multiple times. This is useful in cases such as network timeouts where it is unclear whether or not the call succeeded on the server. If the extend HIT already exists in the system from a previous call using the same `UniqueRequestToken`, subsequent calls will return an error with a message containing the request ID. Type: String Constraints: must not be longer than 64 characters in length.  |  No  | 

## Response Elements
<a name="ApiReference_CreateAdditionalAssignmentsForHITOperation-response-elements"></a>

 A successful request for the `CreateAdditionalAssignmentsForHIT` operation returns with no errors and an empty body. 

## Example
<a name="ApiReference_CreateAdditionalAssignmentsForHITOperation-examples"></a>

The following example shows how to use the `CreateAdditionalAssignmentsForHIT` operation:

### Sample Request
<a name="ApiReference_CreateAdditionalAssignmentsForHITOperation-examples-sample-request"></a>

The following example adds 2 more assignments to a HIT.

```
POST / HTTP/1.1
Host: mturk-requester.us-east-1.amazonaws.com
Content-Length: <PayloadSizeBytes>
X-Amz-Date: <Date>
{
  HITId:"123RVAZW00EXAMPLE2SL3LSK",
  HITNumberOfAdditionalAssignments:2
}
```

### Sample Response
<a name="ApiReference_CreateAdditionalAssignmentsForHITOperation-examples-sample-response"></a>

The following is an example response:

```
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
```

# CreateHIT
<a name="ApiReference_CreateHITOperation"></a>

## Description
<a name="ApiReference_CreateHITOperation-description"></a>

The `CreateHIT` operation creates a new [HIT](ApiReference_HITDataStructureArticle.md) (Human Intelligence Task). The new HIT is made available for Workers to find and accept on the Amazon Mechanical Turk website. 

 This operation allows you to specify a new HIT by passing in values for the properties of the HIT, such as its title, reward amount and number of assignments. When you pass these values to `CreateHIT`, a new HIT is created for you, with a new `HITTypeID`.

CreateHIT also supports several ways to provide question data: by providing a value for the [Question](ApiReference_QuestionAnswerDataArticle.md) parameter that fully specifies the contents of the HIT, or by providing a [HitLayoutId](ApiReference_HITLayoutArticle.md) and associated `HitLayoutParameters`.

For a step-by-step tutorial, please read our [blog post](https://blog.mturk.com/tutorial-a-beginners-guide-to-crowdsourcing-ml-training-data-with-python-and-mturk-d8df4bdf2977) which walks you through the HIT creation process.

**Note**  
If a HIT is created with 10 or more maximum assignments, there is an additional fee. For more information, see [Amazon Mechanical Turk Pricing](https://requester.mturk.com/pricing).
During the first few seconds after calling `CreateHIT`, the HIT cannot be modified except to expire it using `UpdateExpirationForHIT`. Until the HIT becomes modifiable, the following operations may return a RequestError:  
 `UpdateHITTypeOfHIT`, `CreateAdditionalAssignmentsForHIT`, and `UpdateExpirationForHIT` with a DateTime in the future.

## Request Syntax
<a name="ApiReference_CreateHITOperation-request-syntax"></a>

```
{ 
  "Title": String,

  "Description": String,

  "Question": String,

  "HITLayoutId": String,

  "HITLayoutParameters": HITLayoutParameterList,

  "Reward": String,

  "AssignmentDurationInSeconds": Integer,

  "LifetimeInSeconds": Integer,

  "Keywords": String,

  "MaxAssignments": Integer,

  "AutoApprovalDelayInSeconds": Integer,

  "QualificationRequirements": QualificationRequirementList,

  "AssignmentReviewPolicy": ReviewPolicy,

  "HITReviewPolicy": ReviewPolicy,

  "RequesterAnnotation": String,

  "UniqueRequestToken": String
 }
```

## Request Parameters
<a name="ApiReference_CreateHITOperation-request-parameters"></a>

 The request accepts the following data in JSON format: 


| Name | Description | Required | 
| --- | --- | --- | 
|   ` Title `   |  The title of the HIT. A title should be short and descriptive about the kind of task the HIT contains. On the Amazon Mechanical Turk web site, the HIT title appears in search results, and everywhere the HIT is mentioned. Type: String  |  Yes  | 
|   ` Description `   |  A general description of the HIT. A description includes detailed information about the kind of task the HIT contains. On the Amazon Mechanical Turk web site, the HIT description appears in the expanded view of search results, and in the HIT and assignment screens. A good description gives the user enough information to evaluate the HIT before accepting it. Type: String  |  Yes  | 
|   ` Question `   |  The data the person completing the HIT uses to produce the results. You can learn more about the various ways of specifying this field [here](ApiReference_QuestionAnswerDataArticle.md) Type: String Constraints: The XML question data must not be larger than 64 kilobytes (65,535 bytes) in size, including whitespace. Either a Question parameter or a HITLayoutId parameter must be provided.  |  No  | 
|   ` HITLayoutId `   |  The HITLayoutId allows you to use a pre-existing HIT design with placeholder values and create an additional HIT by providing those values as HITLayoutParameters. For more information, see [here](ApiReference_HITLayoutArticle.md). Type: String Constraints: Either a Question parameter or a HITLayoutId parameter must be provided.  |  No  | 
|   ` HITLayoutParameters `   |  If the HITLayoutId is provided, any placeholder values must be filled in with values using the HITLayoutParameter structure. For more information, see HITLayout. Type: [HITLayoutParameterList](ApiReference_HITLayoutParameterArticle.md)  |  No  | 
|   ` Reward `   |  The US Dollar amount the Requester will pay a Worker for successfully completing the HIT. Type: String  |  Yes  | 
|   ` AssignmentDurationInSeconds `   |  The amount of time, in seconds, that a Worker has to complete the HIT after accepting it. If a Worker does not complete the assignment within the specified duration, the assignment is considered abandoned. If the HIT is still active (that is, its lifetime has not elapsed), the assignment becomes available for other users to find and accept. Type: Integer  |  Yes  | 
|   ` LifetimeInSeconds `   |  An amount of time, in seconds, after which the HIT is no longer available for users to accept. After the lifetime of the HIT elapses, the HIT no longer appears in HIT searches, even if not all of the assignments for the HIT have been accepted. Type: Integer  |  Yes  | 
|   ` Keywords `   |  One or more words or phrases that describe the HIT, separated by commas. These words are used in searches to find HITs. Type: String  |  Yes  | 
|   ` MaxAssignments `   |  The number of times the HIT can be accepted and completed before the HIT becomes unavailable. Type: Integer  |  Yes  | 
|   ` AutoApprovalDelayInSeconds `   |  The number of seconds after an assignment for the HIT has been submitted, after which the assignment is considered Approved automatically unless the Requester explicitly rejects it. Type: Integer  |  No  | 
|   ` QualificationRequirements `   |  A condition that a Worker's Qualifications must meet before the Worker is allowed to accept and complete the HIT. Type: [QualificationRequirementList](ApiReference_QualificationTypeDataStructureArticle.md)  |  No  | 
|   ` AssignmentReviewPolicy `   |  The Assignment-level Review Policy applies to the assignments under the HIT. You can specify for Mechanical Turk to take various actions based on the policy. Type: [ReviewPolicy](ApiReference_HITReviewPolicyDataStructureArticle.md)  |  No  | 
|   ` HITReviewPolicy `   |  The HIT-level Review Policy applies to the HIT. You can specify for Mechanical Turk to take various actions based on the policy. Type: [ReviewPolicy](ApiReference_HITReviewPolicyDataStructureArticle.md)  |  No  | 
|   ` RequesterAnnotation `   |  An arbitrary data field. The RequesterAnnotation parameter lets your application attach arbitrary data to the HIT for tracking purposes. For example, this parameter could be an identifier internal to the Requester's application that corresponds with the HIT. The RequesterAnnotation parameter for a HIT is only visible to the Requester who created the HIT. It is not shown to the Worker, or any other Requester. The RequesterAnnotation parameter may be different for each HIT you submit. It does not affect how your HITs are grouped. Type: String  Constraints: must not be longer than 255 characters in length.  |  No  | 
|   ` UniqueRequestToken `   |  A unique identifier for this request. Allows you to retry the call on error without creating duplicate HITs. This is useful in cases such as network timeouts where it is unclear whether or not the call succeeded on the server. If the HIT already exists in the system from a previous call using the same UniqueRequestToken, subsequent calls will return a AWS.MechanicalTurk.HitAlreadyExists error with a message containing the HITId. Type: String Constraints: must not be longer than 64 characters in length. It is your responsibility to ensure uniqueness of the token. The unique token expires after 24 hours. Subsequent calls using the same UniqueRequestToken made after the 24 hour limit could create duplicate HITs.  |  No  | 

## Response Elements
<a name="ApiReference_CreateHITOperation-response-elements"></a>

A successful request for the CreateHIT operation returns [HIT](ApiReference_HITDataStructureArticle.md) object containing the newly created HIT data.

## Example
<a name="ApiReference_CreateHITOperation-examples"></a>

The following example shows how to use the `CreateHIT` operation:

### Sample Request
<a name="ApiReference_CreateHITOperation-examples-sample-request"></a>

The following example creates a simple HIT. The Question parameter takes a block of XML data as its value.

```
POST / HTTP/1.1
Host: mturk-requester.us-east-1.amazonaws.com
Content-Length: <PayloadSizeBytes>
X-Amz-Date: <Date>
{
  Title:"Compare two photographs",
  Description:"Compare two pictures and pick one",
  Reward:0.5,
  Question:[XML question data],
  AssignmentDurationInSeconds:0,
  LifetimeInSeconds:604800,
  Keywords:"location, photograph, image, identification, opinion"
}
```

**Tip**  
Find code samples for MTurk Requester API at [AWSLabs on Github](https://github.com/awslabs/mturk-code-samples)

### Sample Response
<a name="ApiReference_CreateHITOperation-examples-sample-response"></a>

The following is an example response:

```
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
{
  HITId:"789RVWYBAZW00EXAMPLE951RVWYBAZW00EXAMPLE",
  HITTypeId:"789RVWYBAZW00EXAMPLE951RVWYBAZW00EXAMPLE"
}
```

# CreateHITType
<a name="ApiReference_CreateHITTypeOperation"></a>

## Description
<a name="ApiReference_CreateHITTypeOperation-description"></a>

 The `CreateHITType` operation creates a new HIT type.

`CreateHITType` lets you be explicit about which HITs ought to be the same type. It also gives you error checking, to ensure that you call the [CreateHITWithHITType](ApiReference_CreateHITWithHITTypeOperation.md) operation with a valid HIT type ID.

If you register a HIT type with values that match an existing HIT type, the HIT type ID of the existing type will be returned.

## Request Syntax
<a name="ApiReference_CreateHITTypeOperation-request-syntax"></a>

```
{ 
  "Title": String,

  "Description": String,

  "Reward": String,

  "AssignmentDurationInSeconds": Integer,

  "Keywords": String,

  "AutoApprovalDelayInSeconds": Integer,

  "QualificationRequirements": QualificationRequirementList
 }
```

## Request Parameters
<a name="ApiReference_CreateHITTypeOperation-request-parameters"></a>

 The request accepts the following data in JSON format: 


| Name | Description | Required | 
| --- | --- | --- | 
|   ` Title `   |  The title of the HIT. A title should be short and descriptive about the kind of task the HIT contains. On the Amazon Mechanical Turk web site, the HIT title appears in search results, and everywhere the HIT is mentioned. Type: String  |  Yes  | 
|   ` Description `   |  A general description of the HIT. A description includes detailed information about the kind of task the HIT contains. On the Amazon Mechanical Turk web site, the HIT description appears in the expanded view of search results, and in the HIT and assignment screens. A good description gives the user enough information to evaluate the HIT before accepting it. Type: String  |  Yes  | 
|   ` Reward `   |  The US Dollar amount the Requester will pay a Worker for successfully completing the HIT. Type: String  |  Yes  | 
|   ` AssignmentDurationInSeconds `   |  The amount of time, in seconds, that a Worker has to complete the HIT after accepting it. If a Worker does not complete the assignment within the specified duration, the assignment is considered abandoned. If the HIT is still active (that is, its lifetime has not elapsed), the assignment becomes available for other users to find and accept. Type: Integer  |  Yes  | 
|   ` Keywords `   |  One or more words or phrases that describe the HIT, separated by commas. These words are used in searches to find HITs. Type: String  |  Yes  | 
|   ` AutoApprovalDelayInSeconds `   |  The number of seconds after an assignment for the HIT has been submitted, after which the assignment is considered Approved automatically unless the Requester explicitly rejects it. Type: Integer  |  No  | 
|   ` QualificationRequirements `   |  A condition that a Worker's Qualifications must meet before the Worker is allowed to accept and complete the HIT. Type: [QualificationRequirementList](ApiReference_QualificationRequirementDataStructureArticle.md)  |  No  | 

## Response Elements
<a name="ApiReference_CreateHITTypeOperation-response-elements"></a>

A successful request for the `CreateHITWithHITType` operation returns a HITTypeId. A HITTypeId can be up to 255 bytes long.

## Example
<a name="ApiReference_CreateHITTypeOperation-examples"></a>

The following example shows how to use the `CreateHITType` operation:

### Sample Request
<a name="ApiReference_CreateHITTypeOperation-examples-sample-request"></a>

The following example creates a new HIT type.

```
POST / HTTP/1.1
Host: mturk-requester.us-east-1.amazonaws.com
Content-Length: <PayloadSizeBytes>
X-Amz-Date: <Date>
{
  Title:"Compare two photographs",
  Description:"Compare two pictures and pick one",
  Reward:0.5,
  AssignmentDurationInSeconds:0,
  Keywords:"location, photograph, image, identification, opinion"
}
```

### Sample Response
<a name="ApiReference_CreateHITTypeOperation-examples-sample-response"></a>

The following is an example response:

```
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
{
  HITTypeId:"789RVWYBAZW00EXAMPLE951RVWYBAZW00EXAMPLE"
}
```

# CreateHITWithHITType
<a name="ApiReference_CreateHITWithHITTypeOperation"></a>

## Description
<a name="ApiReference_CreateHITWithHITTypeOperation-description"></a>

 The `CreateHITWithHITType` operation creates a new Human Intelligence Task (HIT) using an existing HITTypeID generated by the `CreateHITType` operation.

 This is an alternative way to create HITs from the `CreateHIT` operation. This is the recommended best practice for Requesters who are creating large numbers of HITs.

CreateHIT also supports several ways to provide question data: by providing a value for the [Question](ApiReference_QuestionAnswerDataArticle.md) parameter that fully specifies the contents of the HIT, or by providing a [HitLayoutId](ApiReference_HITLayoutArticle.md) and associated `HitLayoutParameters`.

**Note**  
If a HIT is created with 10 or more maximum assignments, there is an additional fee. For more information, see [Amazon Mechanical Turk Pricing](https://requester.mturk.com/pricing).

## Request Syntax
<a name="ApiReference_CreateHITWithHITTypeOperation-request-syntax"></a>

```
{ 
  "HITTypeId": String,

  "Question": String,

  "HITLayoutId": String,

  "HITLayoutParameters": HITLayoutParameterList,

  "LifetimeInSeconds": Integer,

  "MaxAssignments": Integer,

  "AssignmentReviewPolicy": ReviewPolicy,

  "HITReviewPolicy": ReviewPolicy,

  "RequesterAnnotation": String,

  "UniqueRequestToken": String
 }
```

## Request Parameters
<a name="ApiReference_CreateHITWithHITTypeOperation-request-parameters"></a>

 The request accepts the following data in JSON format: 


| Name | Description | Required | 
| --- | --- | --- | 
|   ` HITTypeId `   |  The HIT type ID. Type: String  |  Yes  | 
|   ` Question `   |  The data the person completing the HIT uses to produce the results. You can learn more about the various ways of specifying this field [here](ApiReference_QuestionAnswerDataArticle.md). Type: String Constraints: The XML question data must not be larger than 64 kilobytes (65,535 bytes) in size, including whitespace. Either a Question parameter or a HITLayoutId parameter must be provided.  |  No  | 
|   ` HITLayoutId `   |  The HITLayoutId allows you to use a pre-existing HIT design with placeholder values and create an additional HIT by providing those values as HITLayoutParameters. For more information, see [here](ApiReference_HITLayoutArticle.md). Type: String Constraints: Either a Question parameter or a HITLayoutId parameter must be provided.  |  No  | 
|   ` HITLayoutParameters `   |  If the HITLayoutId is provided, any placeholder values must be filled in with values using the HITLayoutParameter structure. For more information, see HITLayout. Type: [HITLayoutParameterList](ApiReference_HITLayoutParameterArticle.md)  |  No  | 
|   ` LifetimeInSeconds `   |  An amount of time, in seconds, after which the HIT is no longer available for users to accept. After the lifetime of the HIT elapses, the HIT no longer appears in HIT searches, even if not all of the assignments for the HIT have been accepted. Type: Integer  |  Yes  | 
|   ` MaxAssignments `   |  The number of times the HIT can be accepted and completed before the HIT becomes unavailable. Type: Integer  |  Yes  | 
|   ` AssignmentReviewPolicy `   |  The Assignment-level Review Policy applies to the assignments under the HIT. You can specify for Mechanical Turk to take various actions based on the policy. Type: [ReviewPolicy](ApiReference_HITReviewPolicyDataStructureArticle.md)  |  No  | 
|   ` HITReviewPolicy `   |  The HIT-level Review Policy applies to the HIT. You can specify for Mechanical Turk to take various actions based on the policy. Type: [ReviewPolicy](ApiReference_HITReviewPolicyDataStructureArticle.md)  |  No  | 
|   ` RequesterAnnotation `   |  An arbitrary data field. The RequesterAnnotation parameter lets your application attach arbitrary data to the HIT for tracking purposes. For example, this parameter could be an identifier internal to the Requester's application that corresponds with the HIT. The RequesterAnnotation parameter for a HIT is only visible to the Requester who created the HIT. It is not shown to the Worker, or any other Requester. The RequesterAnnotation parameter may be different for each HIT you submit. It does not affect how your HITs are grouped. Type: String  |  No  | 
|   ` UniqueRequestToken `   |  A unique identifier for this request. Allows you to retry the call on error without creating duplicate HITs. This is useful in cases such as network timeouts where it is unclear whether or not the call succeeded on the server. If the HIT already exists in the system from a previous call using the same UniqueRequestToken, subsequent calls will return a AWS.MechanicalTurk.HitAlreadyExists error with a message containing the HITId. Type: String Constraints: must not be longer than 64 characters in length. It is your responsibility to ensure uniqueness of the token. The unique token expires after 24 hours. Subsequent calls using the same UniqueRequestToken made after the 24 hour limit could create duplicate HITs.  |  No  | 

## Response Elements
<a name="ApiReference_CreateHITWithHITTypeOperation-response-elements"></a>

A successful request for the CreateHIT operation returns [HIT](ApiReference_HITDataStructureArticle.md) object containing the newly created HIT data.

## Example
<a name="ApiReference_CreateHITWithHITTypeOperation-examples"></a>

The following example shows how to use the `CreateHITWithHITType` operation:

### Sample Request
<a name="ApiReference_CreateHITWithHITTypeOperation-examples-sample-request"></a>

The following example creates a simple HIT. The Question parameter takes a block of XML data as its value.

```
POST / HTTP/1.1
Host: mturk-requester.us-east-1.amazonaws.com
Content-Length: <PayloadSizeBytes>
X-Amz-Date: <Date>
{
  HITTypeId:"T100CN9P324W00EXAMPLE",
  Question:[XML question data],
  LifetimeInSeconds:604800
}
```

### Sample Response
<a name="ApiReference_CreateHITWithHITTypeOperation-examples-sample-response"></a>

The following is an example response:

```
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
{
  HITId:"789RVWYBAZW00EXAMPLE951RVWYBAZW00EXAMPLE",
  HITTypeId:"789RVWYBAZW00EXAMPLE951RVWYBAZW00EXAMPLE"
}
```

# CreateQualificationType
<a name="ApiReference_CreateQualificationTypeOperation"></a>

## Description
<a name="ApiReference_CreateQualificationTypeOperation-description"></a>

 The `CreateQualificationType` operation creates a new Qualification type, which is represented by a [QualificationType](ApiReference_QualificationTypeDataStructureArticle.md) data structure.

## Request Syntax
<a name="ApiReference_CreateQualificationTypeOperation-request-syntax"></a>

```
{ 
  "Name": String,

  "Description": String,

  "Keywords": String,

  "RetryDelayInSeconds": Non-negative integer,

  "QualificationTypeStatus": String,

  "Test": String,

  "AnswerKey": String,

  "TestDurationInSeconds": Integer,

  "AutoGranted": Boolean,

  "AutoGrantedValue": Integer
 }
```

## Request Parameters
<a name="ApiReference_CreateQualificationTypeOperation-request-parameters"></a>

 The request accepts the following data in JSON format: 


| Name | Description | Required | 
| --- | --- | --- | 
|   ` Name `   |   The name you give to the Qualification type. The type name is used to represent the Qualification to Workers, and to find the type using a Qualification type search. It must be unique across all of your Qualification types. Type: String  |  Yes  | 
|   ` Description `   |  A long description for the Qualification type. On the Amazon Mechanical Turk website, the long description is displayed when a Worker examines a Qualification type. Type: String Constraints: Must be less than or equal to 2000 characters  |  Yes  | 
|   ` Keywords `   |  One or more words or phrases that describe the Qualification type, separated by commas. The keywords of a type make the type easier to find during a search. Type: String Constraints: Must be less than or equal to 1000 characters, including commas and spaces.  |  No  | 
|   ` RetryDelayInSeconds `   |  The number of seconds that a Worker must wait after requesting a Qualification of the Qualification type before the worker can retry the Qualification request. Type: Non-negative integer Default: None. If not specified, retries are disabled and Workers can request a Qualification of this type only once, even if the Worker has not been granted the Qualification. It is not possible to disable retries for a Qualification type after it has been created with retries enabled. If you want to disable retries, you must delete existing retry-enabled Qualification type and then create a new Qualification type with retries disabled.  |  No  | 
|   ` QualificationTypeStatus `   |  The initial status of the Qualification type. Type: String Constraints: Valid values are: Active \$1 Inactive  |  Yes  | 
|   ` Test `   |  The questions for the Qualification test a Worker must answer correctly to obtain a Qualification of this type. If this parameter is specified, `TestDurationInSeconds` must also be specified. Type: String Constraints: Must not be longer than 65535 bytes. Must be a QuestionForm data structure. This parameter cannot be specified if AutoGranted is true. Default: None. If not specified, the Worker may request the Qualification without answering any questions.  |  No  | 
|   ` AnswerKey `   |  The answers to the Qualification test specified in the Test parameter, in the form of an AnswerKey data structure. Type: String Constraints: Must not be longer than 65535 bytes. Default: None. If not specified, you must process Qualification requests manually.  |  No  | 
|   ` TestDurationInSeconds `   |  The number of seconds the Worker has to complete the Qualification test, starting from the time the Worker requests the Qualification. Type: Integer  |  Conditional: required when a Test is specified.  | 
|   ` AutoGranted `   |  Specifies whether requests for the Qualification type are granted immediately, without prompting the Worker with a Qualification test. Type: Boolean Constraints: If the Test parameter is specified, this parameter cannot be true. Default: False  |  No  | 
|   ` AutoGrantedValue `   |  The Qualification value to use for automatically granted Qualifications. This parameter is used only if the AutoGranted parameter is true. Type: Integer Default: 1 when used with AutoGranted. None when AutoGranted is not specified.  |  No  | 

## Response Elements
<a name="ApiReference_CreateQualificationTypeOperation-response-elements"></a>

A successful request for the CreateQualificationType operation returns a [QualificationType](ApiReference_QualificationTypeDataStructureArticle.md) data structure.

## Example
<a name="ApiReference_CreateQualificationTypeOperation-examples"></a>

The following example shows how to use the `CreateQualificationType` operation:

### Sample Request
<a name="ApiReference_CreateQualificationTypeOperation-examples-sample-request"></a>

The following example creates a Qualification type.

```
POST / HTTP/1.1
Host: mturk-requester.us-east-1.amazonaws.com
Content-Length: <PayloadSizeBytes>
X-Amz-Date: <Date>
{
  Name:"EnglishWritingAbility",
  Description:"The ability to write and edit in text in English",
  QualificationTypeStatus:"Active"
}
```

### Sample Response
<a name="ApiReference_CreateQualificationTypeOperation-examples-sample-response"></a>

The following is an example response:

```
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
{
  QualificationTypeId:"789RVWYBAZW00EXAMPLE951RVWYBAZW00EXAMPLE",
  Name:"EnglishWritingAbility",
  Description:"The ability to write and edit in text in English",
  QualificationTypeStatus:"Active"
}
```

# CreateWorkerBlock
<a name="ApiReference_CreateWorkerBlockOperation"></a>

## Description
<a name="ApiReference_CreateWorkerBlockOperation-description"></a>

The `CreateWorkerBlock` operation allows you to prevent a Worker from working on your HITs. For example, you can block a Worker who is producing poor quality work. You can block up to 100,000 Workers.

## Request Syntax
<a name="ApiReference_CreateWorkerBlockOperation-request-syntax"></a>

```
{ 
  "WorkerId": String,

  "Reason": String
 }
```

## Request Parameters
<a name="ApiReference_CreateWorkerBlockOperation-request-parameters"></a>

 The request accepts the following data in JSON format: 


| Name | Description | Required | 
| --- | --- | --- | 
|   ` WorkerId `   |  The ID of the Worker to block Type: String  |  Yes  | 
|   ` Reason `   |  A message that explains the reason for blocking the Worker. The Worker does not see this message. Type: String  |  No  | 

## Response Elements
<a name="ApiReference_CreateWorkerBlockOperation-response-elements"></a>

 A successful request for the `CreateWorkerBlock` operation returns with no errors and an empty body. 

# DeleteHIT
<a name="ApiReference_DeleteHITOperation"></a>

## Description
<a name="ApiReference_DeleteHITOperation-description"></a>

 The `DeleteHIT` operation disposes of a HIT that is no longer needed. Only the Requester who created the HIT can delete it.

You can only dispose of HITs that are in the Reviewable state, with all of their submitted assignments already either approved or rejected. If you call the DeleteHIT operation on a HIT that is not in the Reviewable state (for example, that has not expired, or still has active assignments), or on a HIT that is Reviewable but without all of its submitted assignments already approved or rejected, the service returns an error.

**Note**  
HITs are automatically disposed of after 120 days.
After you dispose of a HIT, you can no longer approve the HIT's rejected assignments.
Disposed of HITs are not returned in results for the SearchHITs operation.
Disposing of HITs can improve the performance of operations such as ListReviewableHITs and ListHITs.

## Request Syntax
<a name="ApiReference_DeleteHITOperation-request-syntax"></a>

```
{ 
  "HITId": String
 }
```

## Request Parameters
<a name="ApiReference_DeleteHITOperation-request-parameters"></a>

 The request accepts the following data in JSON format: 


| Name | Description | Required | 
| --- | --- | --- | 
|   ` HITId `   |  The ID of the HIT. Type: String  |  Yes  | 

## Response Elements
<a name="ApiReference_DeleteHITOperation-response-elements"></a>

 A successful request for the `DeleteHIT` operation returns with no errors and an empty body. 

## Example
<a name="ApiReference_DeleteHITOperation-examples"></a>

The following example shows how to use the `DeleteHIT` operation:

### Sample Request
<a name="ApiReference_DeleteHITOperation-examples-sample-request"></a>

The following example deletes a HIT with the specified HIT ID.

```
POST / HTTP/1.1
Host: mturk-requester.us-east-1.amazonaws.com
Content-Length: <PayloadSizeBytes>
X-Amz-Date: <Date>
{
  HITId:"789RVWYBAZW00EXAMPLE951RVWYBAZW00EXAMPLE"
}
```

### Sample Response
<a name="ApiReference_DeleteHITOperation-examples-sample-response"></a>

The following is an example response:

```
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
```

# DeleteQualificationType
<a name="ApiReference_DeleteQualificationTypeOperation"></a>

## Description
<a name="ApiReference_DeleteQualificationTypeOperation-description"></a>

 The `DeleteQualificationType` disposes a Qualification type and disposes any HIT types that are associated with the Qualification type.

This operation does not revoke Qualifications already assigned to Workers because the Qualifications might be needed for active HITs. If there are any pending requests for the Qualification type, Amazon Mechanical Turk rejects those requests. After you delete a Qualification type, you can no longer use it to create HITs or HIT types.

**Note**  
DeleteQualificationType must wait for all the HITs that use the deleted Qualification type to be deleted before completing. It may take up to 48 hours before DeleteQualificationType completes and the unique name of the Qualification type is available for reuse with CreateQualificationType.

## Request Syntax
<a name="ApiReference_DeleteQualificationTypeOperation-request-syntax"></a>

```
{ 
  "QualificationTypeId": String
 }
```

## Request Parameters
<a name="ApiReference_DeleteQualificationTypeOperation-request-parameters"></a>

 The request accepts the following data in JSON format: 


| Name | Description | Required | 
| --- | --- | --- | 
|   ` QualificationTypeId `   |  The ID of the QualificationType to dispose. Type: String  |  Yes  | 

## Response Elements
<a name="ApiReference_DeleteQualificationTypeOperation-response-elements"></a>

 A successful request for the `DeleteQualificationType` operation returns with no errors and an empty body. 

## Example
<a name="ApiReference_DeleteQualificationTypeOperation-examples"></a>

The following example shows how to use the `DeleteQualificationType` operation:

### Sample Request
<a name="ApiReference_DeleteQualificationTypeOperation-examples-sample-request"></a>

The following example deletes a Qualification type and any HIT types that are associated with the Qualification type.

```
POST / HTTP/1.1
Host: mturk-requester.us-east-1.amazonaws.com
Content-Length: <PayloadSizeBytes>
X-Amz-Date: <Date>
{
  QualificationTypeId:"AZ34EXAMPLE"
}
```

### Sample Response
<a name="ApiReference_DeleteQualificationTypeOperation-examples-sample-response"></a>

The following is an example response:

```
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
```

# DeleteWorkerBlock
<a name="ApiReference_DeleteWorkerBlockOperation"></a>

## Description
<a name="ApiReference_DeleteWorkerBlockOperation-description"></a>

The `DeleteWorkerBlock` operation allows you to reinstate a blocked Worker to work on your HITs. This operation reverses the effects of the CreateWorkerBlock operation. You need the Worker ID to use this operation. If the Worker ID is missing or invalid, this operation fails and returns the message “WorkerId is invalid.” If the specified Worker is not blocked, this operation returns successfully.

## Request Syntax
<a name="ApiReference_DeleteWorkerBlockOperation-request-syntax"></a>

```
{ 
  "WorkerId": String,

  "Reason": String
 }
```

## Request Parameters
<a name="ApiReference_DeleteWorkerBlockOperation-request-parameters"></a>

 The request accepts the following data in JSON format: 


| Name | Description | Required | 
| --- | --- | --- | 
|   ` WorkerId `   |  The ID of the Worker to unblock Type: String  |  Yes  | 
|   ` Reason `   |  A message that explains the reason for unblocking the Worker. The Worker does not see this message. Type: String  |  No  | 

## Response Elements
<a name="ApiReference_DeleteWorkerBlockOperation-response-elements"></a>

 A successful request for the `DeleteWorkerBlock` operation returns with no errors and an empty body. 

# DisassociateQualificationFromWorker
<a name="ApiReference_DisassociateQualificationFromWorkerOperation"></a>

## Description
<a name="ApiReference_DisassociateQualificationFromWorkerOperation-description"></a>

 The `DisassociateQualificationFromWorker` revokes a previously granted Qualification from a user. 

 You can provide a text message explaining why the Qualification was revoked. The user who had the Qualification can see this message.

## Request Syntax
<a name="ApiReference_DisassociateQualificationFromWorkerOperation-request-syntax"></a>

```
{ 
  "QualificationTypeId": String,

  "WorkerId": String,

  "IntegerValue": Integer,

  "Reason": String
 }
```

## Request Parameters
<a name="ApiReference_DisassociateQualificationFromWorkerOperation-request-parameters"></a>

 The request accepts the following data in JSON format: 


| Name | Description | Required | 
| --- | --- | --- | 
|   ` QualificationTypeId `   |  The ID of the Qualification type of the Qualification to be revoked. Type: String  |  Yes  | 
|   ` WorkerId `   |  The ID of the Worker who possesses the Qualification to be revoked. Type: String  |  Yes  | 
|   ` Reason `   |  A text message that explains why the Qualification was revoked. The user who had the Qualification sees this message. IF a reason is not provided, the worker will not be notified. Type: String  |  No  | 

## Response Elements
<a name="ApiReference_DisassociateQualificationFromWorkerOperation-response-elements"></a>

 A successful request for the `DisassociateQualificationFromWorker` operation returns with no errors and an empty body. 

## Example
<a name="ApiReference_DisassociateQualificationFromWorkerOperation-examples"></a>

The following example shows how to use the `DisassociateQualificationFromWorker` operation:

### Sample Request
<a name="ApiReference_DisassociateQualificationFromWorkerOperation-examples-sample-request"></a>

The following example revokes Qualification of the specified Qualification type for the specified user.

```
POST / HTTP/1.1
Host: mturk-requester.us-east-1.amazonaws.com
Content-Length: <PayloadSizeBytes>
X-Amz-Date: <Date>
{
  WorkerId:"AZ3456EXAMPLE",
  QualificationTypeId:"789RVWYBAZW00EXAMPLE"
  IntegerValue:1,
  
}
```

### Sample Response
<a name="ApiReference_DisassociateQualificationFromWorkerOperation-examples-sample-response"></a>

The following is an example response:

```
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
```

# GetAccountBalance
<a name="ApiReference_GetAccountBalanceOperation"></a>

## Description
<a name="ApiReference_GetAccountBalanceOperation-description"></a>

The `GetAccountBalance` operation retrieves the Prepaid HITs balance in your Amazon Mechanical Turk account if you are a Prepaid Requester. Alternatively, this operation will retrieve the remaining available AWS Billing usage if you have enabled AWS Billing.

Note: If you have enabled AWS Billing and still have a remaining Prepaid HITs balance, this balance can be viewed on the My Account page in the Requester console.

## Request Syntax
<a name="ApiReference_GetAccountBalanceOperation-request-syntax"></a>

```
{  }
```

## Request Parameters
<a name="ApiReference_GetAccountBalanceOperation-request-parameters"></a>

 The request accepts the following data in JSON format: 

## Response Elements
<a name="ApiReference_GetAccountBalanceOperation-response-elements"></a>

A successful request returns a string representing your available balance details in US Dollars.

## Example
<a name="ApiReference_GetAccountBalanceOperation-examples"></a>

The following example shows how to use the `GetAccountBalance` operation:

### Sample Request
<a name="ApiReference_GetAccountBalanceOperation-examples-sample-request"></a>

The following makes a GetAccountBalance request.

```
POST / HTTP/1.1
Host: mturk-requester.us-east-1.amazonaws.com
Content-Length: <PayloadSizeBytes>
X-Amz-Date: <Date>
{
}
```

### Sample Response
<a name="ApiReference_GetAccountBalanceOperation-examples-sample-response"></a>

The following is an example response:

```
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
{
  AvailableBalance:10000.00
}
```

# GetAssignment
<a name="ApiReference_GetAssignmentOperation"></a>

## Description
<a name="ApiReference_GetAssignmentOperation-description"></a>

The `GetAssignment` retrieves an assignment with an AssignmentStatus value of Submitted, Approved, or Rejected, using the assignment's ID. Requesters can only retrieve their own assignments for HITs that they have not disposed of.

## Request Syntax
<a name="ApiReference_GetAssignmentOperation-request-syntax"></a>

```
{ 
  "AssignmentId": String
 }
```

## Request Parameters
<a name="ApiReference_GetAssignmentOperation-request-parameters"></a>

 The request accepts the following data in JSON format: 


| Name | Description | Required | 
| --- | --- | --- | 
|   ` AssignmentId `   |  The ID of the assignment you want to retrieve Type: String  |  Yes  | 

## Response Elements
<a name="ApiReference_GetAssignmentOperation-response-elements"></a>

A successful request returns an [Assignment](ApiReference_AssignmentDataStructureArticle.md) data structure.

# GetFileUploadURL
<a name="ApiReference_GetFileUploadURLOperation"></a>

## Description
<a name="ApiReference_GetFileUploadURLOperation-description"></a>

**Important**  
Beginning Tuesday, December 12th 2017 the Answer Specification structure will **no longer support the `FileUploadAnswer` element** to be used for the [QuestionForm](ApiReference_QuestionFormDataStructureArticle.md) data structure. Instead, we recommend that Requesters who want to create HITs asking Workers to upload files use [Amazon S3](http://aws.amazon.com/s3).

The `GetFileUploadURL` operation generates and returns a temporary URL. You use the temporary URL to retrieve a file uploaded by a Worker as an answer to a FileUploadAnswer question for a HIT. The temporary URL is generated the instant the GetFileUploadURL operation is called, and is valid for 60 seconds. You can get a temporary file upload URL any time until the HIT is disposed. After the HIT is disposed, any uploaded files are deleted, and cannot be retrieved.

## Request Syntax
<a name="ApiReference_GetFileUploadURLOperation-request-syntax"></a>

```
{ 
  "AssignmentId": String,

  "QuestionIdentifier": String
 }
```

## Request Parameters
<a name="ApiReference_GetFileUploadURLOperation-request-parameters"></a>

 The request accepts the following data in JSON format: 


| Name | Description | Required | 
| --- | --- | --- | 
|   ` AssignmentId `   |  The ID of the assignment that contains the question with a FileUploadAnswer. Type: String  |  Yes  | 
|   ` QuestionIdentifier `   |  The identifier of the question with a FileUploadAnswer, as specified in the QuestionForm of the HIT. Type: String  |  Yes  | 

## Response Elements
<a name="ApiReference_GetFileUploadURLOperation-response-elements"></a>

A successful request returns an FileUploadURL string containing the temporary URL.

# GetHIT
<a name="ApiReference_GetHITOperation"></a>

## Description
<a name="ApiReference_GetHITOperation-description"></a>

The `GetHIT` operation retrieves the details of the specified HIT.

## Request Syntax
<a name="ApiReference_GetHITOperation-request-syntax"></a>

```
{ 
  "HITId": String
 }
```

## Request Parameters
<a name="ApiReference_GetHITOperation-request-parameters"></a>

 The request accepts the following data in JSON format: 


| Name | Description | Required | 
| --- | --- | --- | 
|   ` HITId `   |  The ID of the HIT. Type: String  |  Yes  | 

## Response Elements
<a name="ApiReference_GetHITOperation-response-elements"></a>

A successful request returns a [HIT](ApiReference_HITDataStructureArticle.md) data structure.

# GetQualificationScore
<a name="ApiReference_GetQualificationScoreOperation"></a>

## Description
<a name="ApiReference_GetQualificationScoreOperation-description"></a>

The `GetQualificationScore` operation returns the value of a Worker's Qualification for a given Qualification type.

To get a Worker's Qualification, you must know the Worker's ID.

Only the owner of a Qualification type can query the value of a Worker's Qualification of that type.

## Request Syntax
<a name="ApiReference_GetQualificationScoreOperation-request-syntax"></a>

```
{ 
  "QualificationTypeId": String,

  "WorkerId": String
 }
```

## Request Parameters
<a name="ApiReference_GetQualificationScoreOperation-request-parameters"></a>

 The request accepts the following data in JSON format: 


| Name | Description | Required | 
| --- | --- | --- | 
|   ` QualificationTypeId `   |  The ID of the QualificationType. Type: String  |  Yes  | 
|   ` WorkerId `   |  The ID of the Worker whose Qualification is being updated. Type: String  |  Yes  | 

## Response Elements
<a name="ApiReference_GetQualificationScoreOperation-response-elements"></a>

A successful request returns a [Qualification](#ApiReference_GetQualificationScoreOperation) data structure.

## Example
<a name="ApiReference_GetQualificationScoreOperation-examples"></a>

The following example shows how to use the `GetQualificationScore` operation:

### Sample Request
<a name="ApiReference_GetQualificationScoreOperation-examples-sample-request"></a>

The following example disposes a Qualification type and any HIT types that are associated with the Qualification type.

```
POST / HTTP/1.1
Host: mturk-requester.us-east-1.amazonaws.com
Content-Length: <PayloadSizeBytes>
X-Amz-Date: <Date>
{
  QualificationTypeId:"AZ34EXAMPLE",
  WorkerId:"AZ3456EXAMPLE"
}
```

### Sample Response
<a name="ApiReference_GetQualificationScoreOperation-examples-sample-response"></a>

The following is an example response:

```
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
{
  QualificationTypeId:"789RVWYBAZW00EXAMPLE951RVWYBAZW00EXAMPLE",
  WorkerId:"AZ3456EXAMPLE",
  IntegerValue:"95",
  GrantTime:"<date>"
}
```

# GetQualificationType
<a name="ApiReference_GetQualificationTypeOperation"></a>

## Description
<a name="ApiReference_GetQualificationTypeOperation-description"></a>

The `GetQualificationType`operation retrieves information about a Qualification type using its ID.

## Request Syntax
<a name="ApiReference_GetQualificationTypeOperation-request-syntax"></a>

```
{ 
  "QualificationTypeId": String
 }
```

## Request Parameters
<a name="ApiReference_GetQualificationTypeOperation-request-parameters"></a>

 The request accepts the following data in JSON format: 


| Name | Description | Required | 
| --- | --- | --- | 
|   ` QualificationTypeId `   |  The ID of the QualificationType. Type: String  |  Yes  | 

## Response Elements
<a name="ApiReference_GetQualificationTypeOperation-response-elements"></a>

A successful request returns a [QualificationType](ApiReference_QualificationTypeDataStructureArticle.md) data structure.

## Example
<a name="ApiReference_GetQualificationTypeOperation-examples"></a>

The following example shows how to use the `GetQualificationType` operation:

### Sample Request
<a name="ApiReference_GetQualificationTypeOperation-examples-sample-request"></a>

The following example gets information about a Qualification type.

```
POST / HTTP/1.1
Host: mturk-requester.us-east-1.amazonaws.com
Content-Length: <PayloadSizeBytes>
X-Amz-Date: <Date>
{
  QualificationTypeId:"AZ34EXAMPLE"
}
```

### Sample Response
<a name="ApiReference_GetQualificationTypeOperation-examples-sample-response"></a>

The following is an example response:

```
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
{
  QualificationTypeId:"789RVWYBAZW00EXAMPLE951RVWYBAZW00EXAMPLE",
  Name:"EnglishWritingAbility",
  Description:"The ability to write and edit in text in English",
  QualificationTypeStatus:"Active"
}
```

# ListAssignmentsForHIT
<a name="ApiReference_ListAssignmentsForHITOperation"></a>

## Description
<a name="ApiReference_ListAssignmentsForHITOperation-description"></a>

The `ListAssignmentsForHIT` operation retrieves completed assignments for a HIT. You can use this operation to retrieve the results for a HIT. 

 You can get assignments for a HIT at any time, even if the HIT is not yet Reviewable. If a HIT requested multiple assignments, and has received some results but has not yet become Reviewable, you can still retrieve the partial results with this operation. 

 Use the AssignmentStatuses parameter to control which set of assignments for a HIT are returned. The GetAssignmentsForHIT operation can return submitted assignments awaiting approval, or it can return assignments that have already been approved or rejected. You can set AssignmentStatuses=Approved,Rejected to get assignments that have already been approved and rejected together in one result set. 

 Only the Requester who created the HIT can retrieve the assignments for that HIT. 

 Results are sorted and divided into numbered pages and the operation returns a single page of results. You can use the parameters of the operation to control sorting and pagination. 

## Request Syntax
<a name="ApiReference_ListAssignmentsForHITOperation-request-syntax"></a>

```
{ 
  "HITId": String,

  "AssignmentStatuses": String,

  "NextToken": String,

  "MaxResults": Integer
 }
```

## Request Parameters
<a name="ApiReference_ListAssignmentsForHITOperation-request-parameters"></a>

 The request accepts the following data in JSON format: 


| Name | Description | Required | 
| --- | --- | --- | 
|   ` HITId `   |  The ID of the HIT. Type: String  |  Yes  | 
|   ` AssignmentStatuses `   |  The status of the assignments to return: Submitted \$1 Approved \$1 Rejected Type: String  |  No  | 
|   ` NextToken `   |  Pagination token Type: String  |  No  | 
|   ` MaxResults `   |   Type: Integer  |  No  | 

## Response Elements
<a name="ApiReference_ListAssignmentsForHITOperation-response-elements"></a>

A successful request returns a paginated list of [Assignment](ApiReference_AssignmentDataStructureArticle.md) data structures submitted for the HIT.

## Example
<a name="ApiReference_ListAssignmentsForHITOperation-examples"></a>

The following example shows how to use the `ListAssignmentsForHIT` operation:

### Sample Request
<a name="ApiReference_ListAssignmentsForHITOperation-examples-sample-request"></a>



```
POST / HTTP/1.1
Host: mturk-requester.us-east-1.amazonaws.com
Content-Length: <PayloadSizeBytes>
X-Amz-Date: <Date>
{
}
```

### Sample Response
<a name="ApiReference_ListAssignmentsForHITOperation-examples-sample-response"></a>

The following is an example response:

```
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
{
  NextToken:PaginationToken,
  NumResults:10,
  Assignments:[Assignment]
}
```

# ListBonusPayments
<a name="ApiReference_ListBonusPaymentsOperation"></a>

## Description
<a name="ApiReference_ListBonusPaymentsOperation-description"></a>

The `ListBonusPayments` operation retrieves the amounts of bonuses you have paid to Workers for a given HIT or assignment.

## Request Syntax
<a name="ApiReference_ListBonusPaymentsOperation-request-syntax"></a>

```
{ 
  "HITId": String,

  "AssignmentId": String,

  "NextToken": String,

  "MaxResults": Integer
 }
```

## Request Parameters
<a name="ApiReference_ListBonusPaymentsOperation-request-parameters"></a>

 The request accepts the following data in JSON format: 


| Name | Description | Required | 
| --- | --- | --- | 
|   ` HITId `   |  The ID of the HIT associated with the bonus payments to retrieve. If not specified, all bonus payments for all assignments for the given HIT are returned. Either the HITId parameter or the AssignmentId parameter must be specified Type: String  |  Conditional  | 
|   ` AssignmentId `   |  The ID of the assignment associated with the bonus payments to retrieve. If specified, only bonus payments for the given assignment are returned. Either the HITId parameter or the AssignmentId parameter must be specified Type: String  |  Conditional  | 
|   ` NextToken `   |  Pagination token Type: String  |  No  | 
|   ` MaxResults `   |   Type: Integer  |  No  | 

## Response Elements
<a name="ApiReference_ListBonusPaymentsOperation-response-elements"></a>

A successful request returns a paginated list of Bonuses with the following fields: WorkerId, BonusAmount, AssignmentId, Reason and GrantTime

## Example
<a name="ApiReference_ListBonusPaymentsOperation-examples"></a>

The following example shows how to use the `ListBonusPayments` operation:

### Sample Request
<a name="ApiReference_ListBonusPaymentsOperation-examples-sample-request"></a>



```
POST / HTTP/1.1
Host: mturk-requester.us-east-1.amazonaws.com
Content-Length: <PayloadSizeBytes>
X-Amz-Date: <Date>
{
}
```

### Sample Response
<a name="ApiReference_ListBonusPaymentsOperation-examples-sample-response"></a>

The following is an example response:

```
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
{
  NextToken:PaginationToken,
  NumResults:10,
  BonusPayments:[Bonus]
}
```

# ListHITs
<a name="ApiReference_ListHITsOperation"></a>

## Description
<a name="ApiReference_ListHITsOperation-description"></a>

The `ListHITs` operation returns all of a Requester's HITs. The operation returns HITs of any status, except for HITs that have been deleted of with the `DeleteHIT` operation or that have been auto-deleted.

 Having high volumes of active HITs may lead to latency or timeouts when calling `ListHITs`. To remedy this, call the [`DeleteHIT`](ApiReference_DeleteHITOperation.md) operation on HITs you no longer need access to.

## Request Syntax
<a name="ApiReference_ListHITsOperation-request-syntax"></a>

```
{ 
  "NextToken": String,

  "MaxResults": Integer
 }
```

## Request Parameters
<a name="ApiReference_ListHITsOperation-request-parameters"></a>

 The request accepts the following data in JSON format: 


| Name | Description | Required | 
| --- | --- | --- | 
|   ` NextToken `   |  Pagination token Type: String  |  No  | 
|   ` MaxResults `   |   Type: Integer  |  No  | 

## Response Elements
<a name="ApiReference_ListHITsOperation-response-elements"></a>

A successful request returns a paginated list of [HIT](ApiReference_HITDataStructureArticle.md) data structures.

## Example
<a name="ApiReference_ListHITsOperation-examples"></a>

The following example shows how to use the `ListHITs` operation:

### Sample Request
<a name="ApiReference_ListHITsOperation-examples-sample-request"></a>



```
POST / HTTP/1.1
Host: mturk-requester.us-east-1.amazonaws.com
Content-Length: <PayloadSizeBytes>
X-Amz-Date: <Date>
{
}
```

### Sample Response
<a name="ApiReference_ListHITsOperation-examples-sample-response"></a>

The following is an example response:

```
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
{
  NextToken:PaginationToken,
  NumResults:10,
  HITs:[HIT]
}
```

# ListHITsForQualificationType
<a name="ApiReference_ListHITsForQualificationTypeOperation"></a>

## Description
<a name="ApiReference_ListHITsForQualificationTypeOperation-description"></a>

The `ListHITsForQualificationType` operation returns the HITs that use the given [`QualififcationType`](ApiReference_QualificationTypeDataStructureArticle.md) for a [`QualificationRequirement`](ApiReference_QualificationRequirementDataStructureArticle.md). The operation returns HITs of any status, except for HITs that have been deleted with the DeleteHIT operation or that have been auto-deleted.

 Having high volumes of active HITs may lead to latency or timeouts when calling `ListHITsForQualificationType`. To remedy this, call the [`DeleteHIT`](ApiReference_DeleteHITOperation.md) operation on HITs you no longer need access to.

## Request Syntax
<a name="ApiReference_ListHITsForQualificationTypeOperation-request-syntax"></a>

```
{ 
  "QualificationTypeId": String,

  "NextToken": String,

  "MaxResults": Integer
 }
```

## Request Parameters
<a name="ApiReference_ListHITsForQualificationTypeOperation-request-parameters"></a>

 The request accepts the following data in JSON format: 


| Name | Description | Required | 
| --- | --- | --- | 
|   ` QualificationTypeId `   |  The ID of the Qualification type to use when querying HITs. Type: String  |  No  | 
|   ` NextToken `   |  Pagination token Type: String  |  No  | 
|   ` MaxResults `   |   Type: Integer  |  No  | 

## Response Elements
<a name="ApiReference_ListHITsForQualificationTypeOperation-response-elements"></a>

A successful request returns a paginated list of [HIT](ApiReference_HITDataStructureArticle.md) data structures.

## Example
<a name="ApiReference_ListHITsForQualificationTypeOperation-examples"></a>

The following example shows how to use the `ListHITsForQualificationType` operation:

### Sample Request
<a name="ApiReference_ListHITsForQualificationTypeOperation-examples-sample-request"></a>



```
POST / HTTP/1.1
Host: mturk-requester.us-east-1.amazonaws.com
Content-Length: <PayloadSizeBytes>
X-Amz-Date: <Date>
{
}
```

### Sample Response
<a name="ApiReference_ListHITsForQualificationTypeOperation-examples-sample-response"></a>

The following is an example response:

```
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
{
  NextToken:PaginationToken,
  NumResults:10,
  HITs:[HIT]
}
```

# ListQualificationRequests
<a name="ApiReference_ListQualificationRequestsOperation"></a>

## Description
<a name="ApiReference_ListQualificationRequestsOperation-description"></a>

The `ListQualificationRequests` operation retrieves requests for Qualifications of a particular Qualification type. The owner of the Qualification type calls this operation to poll for pending requests, and accepts them using the AcceptQualification operation.

## Request Syntax
<a name="ApiReference_ListQualificationRequestsOperation-request-syntax"></a>

```
{ 
  "QualificationTypeId": String
 }
```

## Request Parameters
<a name="ApiReference_ListQualificationRequestsOperation-request-parameters"></a>

 The request accepts the following data in JSON format: 


| Name | Description | Required | 
| --- | --- | --- | 
|   ` QualificationTypeId `   |  The ID of the QualificationType. Type: String  |  No  | 

## Response Elements
<a name="ApiReference_ListQualificationRequestsOperation-response-elements"></a>

A successful request returns a paginated list of QualificationRequests.

## Example
<a name="ApiReference_ListQualificationRequestsOperation-examples"></a>

The following example shows how to use the `ListQualificationRequests` operation:

### Sample Request
<a name="ApiReference_ListQualificationRequestsOperation-examples-sample-request"></a>

The following example lists requests for a Qualification type.

```
POST / HTTP/1.1
Host: mturk-requester.us-east-1.amazonaws.com
Content-Length: <PayloadSizeBytes>
X-Amz-Date: <Date>
{
  QualificationTypeId:"AZ34EXAMPLE"
}
```

### Sample Response
<a name="ApiReference_ListQualificationRequestsOperation-examples-sample-response"></a>

The following is an example response:

```
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
{
  QualificationRequests:[QualificationRequest ],
  NumResults:10,
  NextToken:PaginationToken
}
```

# ListQualificationTypes
<a name="ApiReference_ListQualificationTypesOperation"></a>

## Description
<a name="ApiReference_ListQualificationTypesOperation-description"></a>

The `ListQualificationTypes` operation searches for Qualification types using the specified search query, and returns a list of Qualification types.

## Request Syntax
<a name="ApiReference_ListQualificationTypesOperation-request-syntax"></a>

```
{ 
  "Query": String,

  "MustBeRequestable": Boolean,

  "MustBeOwnedByCaller": Boolean,

  "NextToken": String,

  "MaxResults": Integer,
 }
```

## Request Parameters
<a name="ApiReference_ListQualificationTypesOperation-request-parameters"></a>

 The request accepts the following data in JSON format: 


| Name | Description | Required | 
| --- | --- | --- | 
|   ` Query `   |  A search term Type: String  |  No  | 
|   ` MustBeRequestable `   |  Specifies that only Qualification types that a user can request through the Amazon Mechanical Turk web site, such as by taking a Qualification test, are returned as results of the search. Some Qualification types, such as those assigned automatically by the system, cannot be requested directly by users. If false, all Qualification types, including those managed by the system, are considered for the search. Type: Boolean  |  Yes  | 
|   ` MustBeOwnedByCaller `   |  Specifies that only Qualification types that the Requester created are returned. If false, the operation returns all Qualification types. Type: Boolean Default: False  |  No  | 
|   ` NextToken `   |  Pagination token Type: String  |  No  | 
|   ` MaxResults `   |   Type: Integer  |  No  | 

## Response Elements
<a name="ApiReference_ListQualificationTypesOperation-response-elements"></a>

A successful request returns a paginated list of Qualification Types.

## Example
<a name="ApiReference_ListQualificationTypesOperation-examples"></a>

The following example shows how to use the `ListQualificationTypes` operation:

### Sample Request
<a name="ApiReference_ListQualificationTypesOperation-examples-sample-request"></a>

The following example performs a simple text query for Qualification types.

```
POST / HTTP/1.1
Host: mturk-requester.us-east-1.amazonaws.com
Content-Length: <PayloadSizeBytes>
X-Amz-Date: <Date>
{
  Query:"LanguageSkill"
}
```

### Sample Response
<a name="ApiReference_ListQualificationTypesOperation-examples-sample-response"></a>

The following is an example response:

```
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
{
  NextToken:PaginationToken,
  NumResults:10,
  QualificationType:[QualificationType]
}
```

# ListReviewableHITs
<a name="ApiReference_ListReviewableHITsOperation"></a>

## Description
<a name="ApiReference_ListReviewableHITsOperation-description"></a>

 The `ListReviewableHITs` operation retrieves the HITs with `Status` equal to **Reviewable** or `Status` equal to **Reviewing** that belong to the Requester calling the operation. Once a HIT has either expired or had the requested number of assignments submitted, it enters the **Reviewable** state. The only ways a HIT can leave the **Reviewable** states are:
+ By being extended, so assignments are once again available on the marketplace.
+ Because `UpdateHITReviewStatus` has updated the status to **Reviewing**.
+ By being disposed, either manually via the `DisposeHIT` operation, or automatically after 120 days.

 You can limit the query to HITs with a specified HIT type. 

 The operation sorts the results, divides them into numbered pages, and returns a single page of results. You can control sorting and pagination can be controlled with parameters to the operation. 

 When (`PageNumber` x `PageSize`) is less than 100, you can get reliable results when you use any of the sort properties. If this number is greater than 100, use the **Enumeration** sort property for best results. The **Enumeration** sort property guarantees that the operation returns all reviewable HITs with no duplicates, but not in any specific order. 

## Request Syntax
<a name="ApiReference_ListReviewableHITsOperation-request-syntax"></a>

```
{ 
  "HITTypeId": String,

  "Status": String,

  "NextToken": String,

  "MaxResults": Integer
 }
```

## Request Parameters
<a name="ApiReference_ListReviewableHITsOperation-request-parameters"></a>

 The request accepts the following data in JSON format: 


| Name | Description | Required | 
| --- | --- | --- | 
|   ` HITTypeId `   |  The ID of the HIT type of the HITs to consider for the query. Type: String  |  No  | 
|   ` Status `   |  The status of the HITs to return: Reviewable \$1 Reviewing Type: String By Default Status is set to Reviewable.  |  No  | 
|   ` NextToken `   |  Pagination token Type: String  |  No  | 
|   ` MaxResults `   |   Type: Integer  |  No  | 

## Response Elements
<a name="ApiReference_ListReviewableHITsOperation-response-elements"></a>

A successful request returns a paginated list of [HIT](ApiReference_HITDataStructureArticle.md) data structures.

## Example
<a name="ApiReference_ListReviewableHITsOperation-examples"></a>

The following example shows how to use the `ListReviewableHITs` operation:

### Sample Request
<a name="ApiReference_ListReviewableHITsOperation-examples-sample-request"></a>



```
POST / HTTP/1.1
Host: mturk-requester.us-east-1.amazonaws.com
Content-Length: <PayloadSizeBytes>
X-Amz-Date: <Date>
{
}
```

### Sample Response
<a name="ApiReference_ListReviewableHITsOperation-examples-sample-response"></a>

The following is an example response:

```
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
{
  NextToken:PaginationToken,
  NumResults:10,
  HITs:[HIT]
}
```

# ListReviewPolicyResultsForHIT
<a name="ApiReference_ListReviewPolicyResultsForHITOperation"></a>

## Description
<a name="ApiReference_ListReviewPolicyResultsForHITOperation-description"></a>

The `ListReviewPolicyResultsForHIT` operation retrieves the computed results and the actions taken in the course of executing your Review Policies during a CreateHIT operation. For information about how to apply Review Policies when you call CreateHIT, see Review Policies. The GetReviewResultsForHIT operation can return results for both Assignment-level and HIT-level review results. You can also specify to only return results pertaining to a particular Assignment.

## Request Syntax
<a name="ApiReference_ListReviewPolicyResultsForHITOperation-request-syntax"></a>

```
{ 
  "HITId": String,

  "PolicyLevel": String,

  "AssignmentId": String,

  "RetrieveActions": String,

  "RetrieveResults": String,

  "NextToken": String,

  "MaxResults": Integer
 }
```

## Request Parameters
<a name="ApiReference_ListReviewPolicyResultsForHITOperation-request-parameters"></a>

 The request accepts the following data in JSON format: 


| Name | Description | Required | 
| --- | --- | --- | 
|   ` HITId `   |  The unique identifier of the HIT to retrieve review results for. Type: String  |  Yes  | 
|   ` PolicyLevel `   |  The Policy Level(s) to retrieve review results for - HIT or Assignment. If omitted, the default behavior is to retrieve all data for both policy levels. For a list of all the described policies, see Review Policies. Type: String  |  Yes  | 
|   ` AssignmentId `   |  If supplied, the results are limited to those pertaining directly to this Assignment ID. Type: String  |  No  | 
|   ` RetrieveActions `   |  Retrieves a list of the actions taken executing the Review Policies and their outcomes. T or F. Type: String  |  No  | 
|   ` RetrieveResults `   |  Retrieves a list of the results computed by the Review Policies. T or F. Type: String  |  No  | 
|   ` NextToken `   |  Pagination token Type: String  |  No  | 
|   ` MaxResults `   |   Type: Integer  |  No  | 

## Response Elements
<a name="ApiReference_ListReviewPolicyResultsForHITOperation-response-elements"></a>

A successful request operation has a ListReviewPolicyResultsForHITResponse element in the response. The ListReviewPolicyResultsForHITResponse element contains the name of the Review Policy applied as well as the AssignmentReviewReport element and the HITReviewReport element.

# ListWorkerBlocks
<a name="ApiReference_ListWorkerBlocksOperation"></a>

## Description
<a name="ApiReference_ListWorkerBlocksOperation-description"></a>

The `ListWorkersBlocks` operation retrieves a list of Workers who are blocked from working on your HITs.

## Request Syntax
<a name="ApiReference_ListWorkerBlocksOperation-request-syntax"></a>

```
{ 
  "NextToken": String,

  "MaxResults": Integer
 }
```

## Request Parameters
<a name="ApiReference_ListWorkerBlocksOperation-request-parameters"></a>

 The request accepts the following data in JSON format: 


| Name | Description | Required | 
| --- | --- | --- | 
|   ` NextToken `   |  Pagination token Type: String  |  No  | 
|   ` MaxResults `   |   Type: Integer  |  No  | 

## Response Elements
<a name="ApiReference_ListWorkerBlocksOperation-response-elements"></a>

A successful request returns a paginated list of Workers that have been blocked along with the reason for the block.

## Example
<a name="ApiReference_ListWorkerBlocksOperation-examples"></a>

The following example shows how to use the `ListWorkerBlocks` operation:

### Sample Request
<a name="ApiReference_ListWorkerBlocksOperation-examples-sample-request"></a>

The following example lists all Worker blocks.

```
POST / HTTP/1.1
Host: mturk-requester.us-east-1.amazonaws.com
Content-Length: <PayloadSizeBytes>
X-Amz-Date: <Date>
{
}
```

### Sample Response
<a name="ApiReference_ListWorkerBlocksOperation-examples-sample-response"></a>

The following is an example response:

```
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
{
  WorkerBlocks:[{WorkerId, Reason}],
  NumResults:3
}
```

# ListWorkersWithQualificationType
<a name="ApiReference_ListWorkersWithQualificationTypeOperation"></a>

## Description
<a name="ApiReference_ListWorkersWithQualificationTypeOperation-description"></a>

The `ListWorkersWithQualificationType` operation returns all of the Workers with a given Qualification type.

## Request Syntax
<a name="ApiReference_ListWorkersWithQualificationTypeOperation-request-syntax"></a>

```
{ 
  "QualificationTypeId": String,

  "Status": String,

  "NextToken": String,

  "MaxResults": Integer,
 }
```

## Request Parameters
<a name="ApiReference_ListWorkersWithQualificationTypeOperation-request-parameters"></a>

 The request accepts the following data in JSON format: 


| Name | Description | Required | 
| --- | --- | --- | 
|   ` QualificationTypeId `   |  The ID of the QualificationType. Type: String  |  No  | 
|   ` Status `   |  The status of the Qualifications to return. Granted \$1 Revoked Type: String  |  No  | 
|   ` NextToken `   |  Pagination token Type: String  |  No  | 
|   ` MaxResults `   |   Type: Integer  |  No  | 

## Response Elements
<a name="ApiReference_ListWorkersWithQualificationTypeOperation-response-elements"></a>

A successful request returns a paginated list of Qualifications that have been granted to Workers.

## Example
<a name="ApiReference_ListWorkersWithQualificationTypeOperation-examples"></a>

The following example shows how to use the `ListWorkersWithQualificationType` operation:

### Sample Request
<a name="ApiReference_ListWorkersWithQualificationTypeOperation-examples-sample-request"></a>

The following example performs a simple text query for Qualification types.

```
POST / HTTP/1.1
Host: mturk-requester.us-east-1.amazonaws.com
Content-Length: <PayloadSizeBytes>
X-Amz-Date: <Date>
{
  QualificationTypeId:"ZSPJXD4F1SFZP7YNJWR0"
}
```

### Sample Response
<a name="ApiReference_ListWorkersWithQualificationTypeOperation-examples-sample-response"></a>

The following is an example response:

```
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
{
  NextToken:PaginationToken,
  NumResults:10,
  Qualifications:[Qualification]
}
```

# NotifyWorkers
<a name="ApiReference_NotifyWorkersOperation"></a>

## Description
<a name="ApiReference_NotifyWorkersOperation-description"></a>

The `NotifyWorkers` operation sends an email to one or more Workers that you specify with the Worker ID. You can specify up to 100 Worker IDs to send the same message with a single call to the NotifyWorkers operation. The NotifyWorkers operation will send a notification email to a Worker only if you have previously approved or rejected work from the Worker.

## Request Syntax
<a name="ApiReference_NotifyWorkersOperation-request-syntax"></a>

```
{ 
  "Subject": String,

  "MessageText": String,

  "WorkerIds": Array of Strings
 }
```

## Request Parameters
<a name="ApiReference_NotifyWorkersOperation-request-parameters"></a>

 The request accepts the following data in JSON format: 


| Name | Description | Required | 
| --- | --- | --- | 
|   ` Subject `   |  The subject line of the email message to send. Can include up to 200 characters. Type: String  |  Yes  | 
|   ` MessageText `   |  The text of the email message to send. Can include up to 4,096 characters. Type: String  |  Yes  | 
|   ` WorkerIds `   |  An array of WorkerIds to notify. You can notify upto 100 Workers at a time. Type: Array of Strings  |  Yes  | 

## Response Elements
<a name="ApiReference_NotifyWorkersOperation-response-elements"></a>

 A successful request for the `NotifyWorkers` operation returns with no errors and an empty body. 

# RejectAssignment
<a name="ApiReference_RejectAssignmentOperation"></a>

## Description
<a name="ApiReference_RejectAssignmentOperation-description"></a>

The `RejectAssignment` operation rejects the results of a completed assignment.

You must include a feedback message with the rejection, which the Worker can see in the Status section of the web site. When you include a feedback message with the rejection, it helps the Worker understand why the assignment was rejected, and can improve the quality of the results the Worker submits in the future.

Only the Requester who created the HIT can reject an assignment for the HIT.

**Note**  
To maintain the consistency of the assignments for HITs in a batch, if a HIT is created through the [Amazon Mechanical Turk Requester website](https://requester.mturk.com/create/projects/new), you must use the Requester website UI to approve or reject the work.  
If you want to be able to approve or reject work through the API, you can use a [HITLayout](ApiReference_HITLayoutArticle.md) when calling [CreateHIT](ApiReference_CreateHITOperation.md) to utilize an existing template from the [Amazon Mechanical Turk Requester website](https://requester.mturk.com/create/projects/new) 

## Request Syntax
<a name="ApiReference_RejectAssignmentOperation-request-syntax"></a>

```
{ 
  "AssignmentId": String,

  "RequesterFeedback": String
 }
```

## Request Parameters
<a name="ApiReference_RejectAssignmentOperation-request-parameters"></a>

 The request accepts the following data in JSON format: 


| Name | Description | Required | 
| --- | --- | --- | 
|   ` AssignmentId `   |  The ID of the assignment. This parameter must correspond to a HIT created by the Requester. Type: String  |  Yes  | 
|   ` RequesterFeedback `   |  A message for the Worker, which the Worker can see in the Status section of the web site. Type: String Constraints: Can be up to 1024 characters (including multi-byte characters). The RequesterFeedback parameter cannot contain ASCII characters 0-8, 11,12, or 14-31. If these characters are present, the operation throws an InvalidParameterValue error.  |  Yes  | 

## Response Elements
<a name="ApiReference_RejectAssignmentOperation-response-elements"></a>

 A successful request for the `RejectAssignment` operation returns with no errors and an empty body. 

## Example
<a name="ApiReference_RejectAssignmentOperation-examples"></a>

The following example shows how to use the `RejectAssignment` operation:

### Sample Request
<a name="ApiReference_RejectAssignmentOperation-examples-sample-request"></a>

The following example rejects an assignment identified by its assignment ID.

```
POST / HTTP/1.1
Host: mturk-requester.us-east-1.amazonaws.com
Content-Length: <PayloadSizeBytes>
X-Amz-Date: <Date>
{
  AssignmentId:"123RVWYBAZW00EXAMPLE456RVWYBAZW00EXAMPLE"
}
```

### Sample Response
<a name="ApiReference_RejectAssignmentOperation-examples-sample-response"></a>

The following is an example response:

```
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
```

# RejectQualificationRequest
<a name="ApiReference_RejectQualificationRequestOperation"></a>

## Description
<a name="ApiReference_RejectQualificationRequestOperation-description"></a>

 The `RejectQualificationRequest` operation rejects a user's request for a Qualification. 

 You can provide a text message explaining why the request was rejected. The Worker who made the request can see this message.

## Request Syntax
<a name="ApiReference_RejectQualificationRequestOperation-request-syntax"></a>

```
{ 
  "QualificationRequestId": String,

  "Reason": String
 }
```

## Request Parameters
<a name="ApiReference_RejectQualificationRequestOperation-request-parameters"></a>

 The request accepts the following data in JSON format: 


| Name | Description | Required | 
| --- | --- | --- | 
|   ` QualificationRequestId `   |  The ID of the Qualification request, as returned by the [ListQualificationRequests](ApiReference_ListQualificationRequestsOperation.md) operation. Type: String  |  Yes  | 
|   ` Reason `   |  A text message explaining why the request was rejected, to be shown to the Worker who made the request. Type: String  |  No  | 

## Response Elements
<a name="ApiReference_RejectQualificationRequestOperation-response-elements"></a>

 A successful request for the `RejectQualificationRequest` operation returns with no errors and an empty body. 

## Example
<a name="ApiReference_RejectQualificationRequestOperation-examples"></a>

The following example shows how to use the `RejectQualificationRequest` operation:

### Sample Request
<a name="ApiReference_RejectQualificationRequestOperation-examples-sample-request"></a>

The following example rejects a specified Qualification request.

```
POST / HTTP/1.1
Host: mturk-requester.us-east-1.amazonaws.com
Content-Length: <PayloadSizeBytes>
X-Amz-Date: <Date>
{
  QualificationRequestId:"789RVWYBAZW00EXAMPLE951RVWYBAZW00EXAMPLE"
}
```

### Sample Response
<a name="ApiReference_RejectQualificationRequestOperation-examples-sample-response"></a>

The following is an example response:

```
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
```

# SendBonus
<a name="ApiReference_SendBonusOperation"></a>

## Description
<a name="ApiReference_SendBonusOperation-description"></a>

The `SendBonus` operation issues a payment of money from your account to a Worker. This payment happens separately from the reward you pay to the Worker when you approve the Worker's assignment. The SendBonus operation requires the Worker's ID and the assignment ID as parameters to initiate payment of the bonus. You must include a message that explains the reason for the bonus payment, as the Worker may not be expecting the payment. Amazon Mechanical Turk collects a fee for bonus payments, similar to the HIT listing fee.

 This operation fails if your account does not have enough funds to pay for both the bonus and the fees. This operation may also fail if the Worker in question has not completed an Assignment for you in the last six months.

## Request Syntax
<a name="ApiReference_SendBonusOperation-request-syntax"></a>

```
{ 
  "WorkerId": String,

  "AssignmentId": String,

  "BonusAmount": String,

  "Reason": String,

  "UniqueRequestToken": String
 }
```

## Request Parameters
<a name="ApiReference_SendBonusOperation-request-parameters"></a>

 The request accepts the following data in JSON format: 


| Name | Description | Required | 
| --- | --- | --- | 
|   ` WorkerId `   |  The ID of the Worker being paid the bonus. Type: String  |  Yes  | 
|   ` AssignmentId `   |  The ID of the assignment for which this bonus is paid. Type: String  |  Yes  | 
|   ` BonusAmount `   |  The bonus is specified as a US Dollar amount. Type: String  |  Yes  | 
|   ` Reason `   |  A message that explains the reason for the bonus payment. The Worker receiving the bonus can see this message. Type: String  |  Yes  | 
|   ` UniqueRequestToken `   |  A unique identifier for this request, which allows you to retry the call on error without granting multiple bonuses. This is useful in cases such as network timeouts where it is unclear whether or not the call succeeded on the server. If the bonus already exists in the system from a previous call using the same UniqueRequestToken, subsequent calls will return an error with a message containing the request ID. Type: String Constraints: must not be longer than 64 characters in length.  |  No  | 

## Response Elements
<a name="ApiReference_SendBonusOperation-response-elements"></a>

 A successful request for the `SendBonus` operation returns with no errors and an empty body. 

# SendTestEventNotification
<a name="ApiReference_SendTestEventNotificationOperation"></a>

## Description
<a name="ApiReference_SendTestEventNotificationOperation-description"></a>

The `SendTestEventNotification` operation causes Amazon Mechanical Turk to send a notification message as if a HIT event occurred, according to the provided notification specification. This allows you to test notifications without setting up notifications for a real HIT type and trying to trigger them using the website. When you call this operation, the service sends the test notification immediately.

## Request Syntax
<a name="ApiReference_SendTestEventNotificationOperation-request-syntax"></a>

```
{ 
  "Notification": Notification data structure,

  "TestEventType": An EventType element of the Notification data structure.
 }
```

## Request Parameters
<a name="ApiReference_SendTestEventNotificationOperation-request-parameters"></a>

 The request accepts the following data in JSON format: 


| Name | Description | Required | 
| --- | --- | --- | 
|   ` Notification `   |  The notification specification to test. This value is identical to the value you would provide to the UpdateNotificationSettings operation when you establish the notification specification for a HIT type. Type: Notification data structure  |  Yes  | 
|   ` TestEventType `   |  The event to simulate to test the notification specification. This event is included in the test message even if the notification specification does not include the event type. The notification specification does not filter out the test event. Type: An EventType element of the Notification data structure.  |  Yes  | 

## Response Elements
<a name="ApiReference_SendTestEventNotificationOperation-response-elements"></a>

 A successful request for the `SendTestEventNotification` operation returns with no errors and an empty body. 

# UpdateExpirationForHIT
<a name="ApiReference_UpdateExpirationForHITOperation"></a>

## Description
<a name="ApiReference_UpdateExpirationForHITOperation-description"></a>

The `UpdateExpirationForHIT` operation allows you extend the expiration time of a HIT beyond is current expiration or expire a HIT immediately. You cannot shorten the expiration time so that you're not affecting Workers who have accepted your HIT.

 To expire a HIT immediately, provide the value 0 or set ExpireAt to a time in the past. 

## Request Syntax
<a name="ApiReference_UpdateExpirationForHITOperation-request-syntax"></a>

```
{ 
  "HITId": String,

  "ExpireAt": Timestamp
 }
```

## Request Parameters
<a name="ApiReference_UpdateExpirationForHITOperation-request-parameters"></a>

 The request accepts the following data in JSON format: 


| Name | Description | Required | 
| --- | --- | --- | 
|   ` HITId `   |  The HIT to update. Type: String  |  Yes  | 
|   ` ExpireAt `   |  The date and time at which you want the HIT to expire Type: Timestamp  |  Yes  | 

## Response Elements
<a name="ApiReference_UpdateExpirationForHITOperation-response-elements"></a>

 A successful request for the `UpdateExpirationForHIT` operation returns with no errors and an empty body. 

# UpdateHITReviewStatus
<a name="ApiReference_UpdateHITReviewStatusOperation"></a>

## Description
<a name="ApiReference_UpdateHITReviewStatusOperation-description"></a>

The `UpdateHITReviewStatus` operation toggles the status of a HIT. If the status is Reviewable, this operation updates the status to Reviewing, or reverts a Reviewing HIT back to the Reviewable status. 

For example, when processing assignments from Workers if you do not want to make an immediate decision about approving or rejecting assignments, you can use this operation to set the status of the HIT to Reviewing . To retrieve a list of HITs in reviewing status, add `"Status": "Reviewing"` to your request parameters in the [ListReviewableHITs](ApiReference_ListReviewableHITsOperation.md) Operation.

## Request Syntax
<a name="ApiReference_UpdateHITReviewStatusOperation-request-syntax"></a>

```
{ 
  "HITId": String,

  "Revert": Boolean
 }
```

## Request Parameters
<a name="ApiReference_UpdateHITReviewStatusOperation-request-parameters"></a>

 The request accepts the following data in JSON format: 


| Name | Description | Required | 
| --- | --- | --- | 
|   ` HITId `   |  The HIT to update. Type: String  |  Yes  | 
|   ` Revert `   |  Specifies whether to update the HIT Status from Reviewing to Reviewable. Type: Boolean Default: false; the operation promotes the HIT from Reviewable to Reviewing.  |  No  | 

## Response Elements
<a name="ApiReference_UpdateHITReviewStatusOperation-response-elements"></a>

 A successful request for the `UpdateHITReviewStatus` operation returns with no errors and an empty body. 

# UpdateHITTypeOfHIT
<a name="ApiReference_UpdateHITTypeOfHITOperation"></a>

## Description
<a name="ApiReference_UpdateHITTypeOfHITOperation-description"></a>

The `UpdateHITTypeOfHIT` operation allows you to change the HITType properties of a HIT. This operation disassociates the HIT from its old HITType properties and associates it with the new HITType properties. The HIT takes on the properties of the new HITType in place of the old ones.

## Request Syntax
<a name="ApiReference_UpdateHITTypeOfHITOperation-request-syntax"></a>

```
{ 
  "HITId": String,

  "HITTypeId": String
 }
```

## Request Parameters
<a name="ApiReference_UpdateHITTypeOfHITOperation-request-parameters"></a>

 The request accepts the following data in JSON format: 


| Name | Description | Required | 
| --- | --- | --- | 
|   ` HITId `   |  The HIT to update. Type: String  |  Yes  | 
|   ` HITTypeId `   |  The ID of the new HIT type. Type: String  |  Yes  | 

## Response Elements
<a name="ApiReference_UpdateHITTypeOfHITOperation-response-elements"></a>

 A successful request for the `UpdateHITTypeOfHIT` operation returns with no errors and an empty body. 

# UpdateNotificationSettings
<a name="ApiReference_UpdateNotificationSettingsOperation"></a>

## Description
<a name="ApiReference_UpdateNotificationSettingsOperation-description"></a>

The `UpdateNotificationSettings` operation creates, updates, disables or re-enables notifications for a HIT type.

 If you call the UpdateNotificationSettings operation for a HIT type that already has a notification specification, the operation replaces the old specification with a new one. 

 You can call the UpdateNotificationSettings operation to enable or disable notifications for the HIT type, without having to modify the notification specification itself. 

 You can call this operation at any time to change the value of the of the Active parameter of a HIT type. You can specify changes to the Active status without specifying a new notification specification (the Notification parameter). 

 To change the Active status of a HIT type's notifications, the HIT type must already have a notification specification, or one must be provided in the same call to UpdateNotificationSettings. 

## Request Syntax
<a name="ApiReference_UpdateNotificationSettingsOperation-request-syntax"></a>

```
{ 
  "HITTypeId": String,

  "Notification": Notification data structure,

  "Active": Boolean
 }
```

## Request Parameters
<a name="ApiReference_UpdateNotificationSettingsOperation-request-parameters"></a>

 The request accepts the following data in JSON format: 


| Name | Description | Required | 
| --- | --- | --- | 
|   ` HITTypeId `   |  The the HITTypeID whose notification specification is being updated. Type: String  |  Yes  | 
|   ` Notification `   |  The notification specification for the HIT type. Type: [Notification](ApiReference_NotificationDataStructureArticle.md) data structure  |  Conditional  | 
|   ` Active `   |  Specifies whether notifications are sent for HITs of this HIT type, according to the notification specification. You must specify either the Notification parameter or the Active parameter for the call to SetHITTypeNotification to succeed. Type: Boolean  |  Conditional  | 

## Response Elements
<a name="ApiReference_UpdateNotificationSettingsOperation-response-elements"></a>

 A successful request for the `UpdateNotificationSettings` operation returns with no errors and an empty body. 

# UpdateQualificationType
<a name="ApiReference_UpdateQualificationTypeOperation"></a>

## Description
<a name="ApiReference_UpdateQualificationTypeOperation-description"></a>

The `UpdateQualificationType` operation modifies the attributes of an existing Qualification type, which is represented by a QualificationType data structure. Only the owner of a Qualification type can modify its attributes.

 Most attributes of a Qualification type can be changed after the type has been created. However, the Name and Keywords fields cannot be modified. The RetryDelayInSeconds parameter can be modified or added to change the delay or to enable retries, but RetryDelayInSeconds cannot be used to disable retries. 

 You can use this operation to update the test for a Qualification type. The test is updated based on the values specified for the Test, TestDurationInSeconds and AnswerKey parameters. All three parameters specify the updated test. If you are updating the test for a type, you must specify the Test and TestDurationInSeconds parameters. The AnswerKey parameter is optional; omitting it specifies that the updated test does not have an answer key. 

 If you omit the Test parameter, the test for the Qualification type is unchanged. There is no way to remove a test from a Qualification type that has one. If the type already has a test, you cannot update it to be AutoGranted. If the Qualification type does not have a test and one is provided by an update, the type will henceforth have a test. 

 If you want to update the test duration or answer key for an existing test without changing the questions, you must specify a Test parameter with the original questions, along with the updated values. 

 If you provide an updated Test but no AnswerKey, the new test will not have an answer key. Requests for such Qualifications must be granted manually. 

 You can also update the AutoGranted and AutoGrantedValue attributes of the Qualification type.

## Request Syntax
<a name="ApiReference_UpdateQualificationTypeOperation-request-syntax"></a>

```
{ 
  "QualificationTypeId": String,

  "RetryDelayInSeconds": Integer,

  "QualificationTypeStatus": String,

  "Description": String,

  "Test": String,

  "AnswerKey": String,

  "TestDurationInSeconds": Integer,

  "AutoGranted": Boolean,

  "AutoGrantedValue": Integer
 }
```

## Request Parameters
<a name="ApiReference_UpdateQualificationTypeOperation-request-parameters"></a>

 The request accepts the following data in JSON format: 


| Name | Description | Required | 
| --- | --- | --- | 
|   ` QualificationTypeId `   |  The ID of the Qualification type to update. Type: String  |  Yes  | 
|   ` RetryDelayInSeconds `   |  The amount of time, in seconds, that Workers must wait after requesting a Qualification of the specified Qualification type before they can retry the Qualification request. It is not possible to disable retries for a Qualification type after it has been created with retries enabled. If you want to disable retries, you must dispose of the existing retry-enabled Qualification type using DisposeQualificationType and then create a new Qualification type with retries disabled using CreateQualificationType. Type: Integer  |  No  | 
|   ` QualificationTypeStatus `   |  The new status of the Qualification type - Active \$1 Inactive Type: String  |  No  | 
|   ` Description `   |  The new description of the Qualification type. Type: String  |  No  | 
|   ` Test `   |  The questions for the Qualification test a Worker must answer correctly to obtain a Qualification of this type. If this parameter is specified, `TestDurationInSeconds` must also be specified. Type: String Constraints: Must not be longer than 65535 bytes. Must be a QuestionForm data structure. This parameter cannot be specified if AutoGranted is true. Default: None. If not specified, the Worker may request the Qualification without answering any questions.  |  No  | 
|   ` AnswerKey `   |  The answers to the Qualification test specified in the Test parameter, in the form of an AnswerKey data structure. Type: String Constraints: Must not be longer than 65535 bytes. Default: None. If not specified, you must process Qualification requests manually.  |  No  | 
|   ` TestDurationInSeconds `   |  The number of seconds the Worker has to complete the Qualification test, starting from the time the Worker requests the Qualification. This is required if the Test parameter is specified. Type: Integer  |  Conditional  | 
|   ` AutoGranted `   |  Specifies whether requests for the Qualification type are granted immediately, without prompting the Worker with a Qualification test. Type: Boolean Constraints: If the Test parameter is specified, this parameter cannot be true. Default: False  |  No  | 
|   ` AutoGrantedValue `   |  The Qualification value to use for automatically granted Qualifications. This parameter is used only if the AutoGranted parameter is true. Type: Integer Default: If AutoGranted is true, AutoGrantedValue is set to 1.  |  No  | 

## Response Elements
<a name="ApiReference_UpdateQualificationTypeOperation-response-elements"></a>

A successful request returns a [QualificationType](ApiReference_QualificationTypeDataStructureArticle.md) data structure.

## Example
<a name="ApiReference_UpdateQualificationTypeOperation-examples"></a>

The following example shows how to use the `UpdateQualificationType` operation:

### Sample Request
<a name="ApiReference_UpdateQualificationTypeOperation-examples-sample-request"></a>

The following example changes the QualificationTypeStatus of a Qualification type.

```
POST / HTTP/1.1
Host: mturk-requester.us-east-1.amazonaws.com
Content-Length: <PayloadSizeBytes>
X-Amz-Date: <Date>
{
  QualificationTypeId:"789RVWYBAZW00EXAMPLE",
  QualificationTypeStatus:"Inactive"
}
```

### Sample Response
<a name="ApiReference_UpdateQualificationTypeOperation-examples-sample-response"></a>

The following is an example response:

```
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
{
  QualificationTypeId:"789RVWYBAZW00EXAMPLE",
  Name:"EnglishWritingAbility",
  Description:"The ability to write and edit in text in English",
  QualificationTypeStatus:"Inactive"
}
```