Creating HITs - Amazon Mechanical Turk

Creating HITs

A human intelligence task, or HIT, is a question your application asks and a worker answers. There are two primary ways to create tasks (HITs) in Amazon Mechanical Turk (Mechanical Turk): directly or using a HIT Type ID. In both cases, you need to provide a valid question and attributes for your HIT.

Create a HIT Directly

The most common way to create HITs in Mechanical Turk is via the CreateHIT operation. This API can be called with a JSON object containing the following values.

{   "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  }

The response includes the HITId that was generated for the task as well as the HITTypeId that has been assigned to the HIT.  It also includes all of the attributes of the HIT that were provided in the CreateHIT call.

Create a HIT using a HIT Type

Creating a HIT with a HIT Type allows you to be explicit about which HITs ought to be the same type and is a best practice for customers creating large numbers of HITs.  It is also valuable when connecting notifications to your HITs as described in Use Mechanical Turk notifications.

When creating a HIT using a HIT Type, you can use a HIT Type ID generated via a previous CreateHIT call or generate one by calling the CreateHITType operation. This API can be called with a JSON object containing the following values.

{   "Title": String,   "Description": String,   "Reward": String,   "AssignmentDurationInSeconds": Integer,   "Keywords": String,   "AutoApprovalDelayInSeconds": Integer,   "QualificationRequirements": QualificationRequirementList }  

The response includes a generated HITTypeId, or the ID of an existing HIT Type in your account that has the same attributes. The HITTypeId can then be used to call CreateHITWithHITType with a JSON object containing the following values.

{   "HITTypeId": String,   "Question": String,   "HITLayoutId": String,   "HITLayoutParameters": HITLayoutParameterList,   "LifetimeInSeconds": Integer,   "MaxAssignments": Integer,   "AssignmentReviewPolicy": ReviewPolicy,   "HITReviewPolicy": ReviewPolicy,   "RequesterAnnotation": String,   "UniqueRequestToken": String  }  

The response includes the HITId that was generated for the HIT and all of the attributes of the HIT.