The QualificationRequirement data structure describes a Qualification a Worker must have before the Worker is allowed to accept a HIT. A requirement may optionally state that a Worker must have the Qualification to preview the HIT's question data.
The QualificationRequirement data structure is used as a parameter for the following operations:
CreateHIT
RegisterHITType
The QualificationRequirement data structure is used in the HIT data structure.
A Qualfication requirement can be based on a Qualification you
assign to Workers. You create the type using the
CreateQualificationType operation, then
grant requests for the Qualification automatically using a
Qualification test and answer key submitted with the
Qualification type, or manually with the
GrantQualification operation.
CreateQualificationType returns a
QualificationTypeId, which you can use
with the QualificationRequirement data structure to identify the
type of Qualification the Worker is required to have to accept a
HIT. Either the Qualification test or your call to
GrantQualification determines a
Qualification value, which is compared to the requirement in the
HIT to determine the Worker's eligibility.
Mechanical Turk supplies several values of its own that describe a Worker's account activity. These values can also be used as Qualification requirements for your HITs. Every Worker has a value for each system Qualification, and these values are updated continuously as the Worker uses the system.
To include a requirement for a system-assigned Qualification, use the Qualification type ID that corresponds to the value you wish to use. The following system Qualification types are available:
| Name | QualificationTypeId | Description |
|---|---|---|
| Worker_PercentAssignmentsSubmitted |
00000000000000000000
|
The percentage of assignments the Worker has submitted, over all assignments the Worker has accepted. The value is an integer between 0 and 100. |
| Worker_PercentAssignmentsAbandoned |
00000000000000000070
|
The percentage of assignments the Worker has abandoned (allowed the deadline to elapse), over all assignments the Worker has accepted. The value is an integer between 0 and 100. |
| Worker_PercentAssignmentsReturned |
000000000000000000E0
|
The percentage of assignments the Worker has returned, over all assignments the Worker has accepted. The value is an integer between 0 and 100. |
| Worker_PercentAssignmentsApproved |
000000000000000000L0
|
The percentage of assignments the Worker has submitted that were subsequently approved by the Requester, over all assignments the Worker has submitted. The value is an integer between 0 and 100. |
| Worker_PercentAssignmentsRejected |
000000000000000000S0
|
The percentage of assignments the Worker has submitted that were subsequently rejected by the Requester, over all assignments the Worker has submitted. The value is an integer between 0 and 100. |
| Worker_Locale |
00000000000000000071
|
The location of the Worker, as specified in the Worker's mailing address. See below for more information about the locale Qualification. |
You can create a Qualification requirement based on the Worker's location. The Worker's location is specified by the Worker to Mechanical Turk when the Worker creates his account.
To create a Qualification requirement based on the Worker's location, specify:
a QualificationTypeId of 00000000000000000071
a Comparator of EqualTo or NotEqualTo
a LocaleValue data structure that corresponds to the desired locale
For more information on the format of a LocaleValue, see Locale data structure.
![]() | Note |
|---|---|
A Worker must meet all of a HIT's Qualification requirements to qualify for the HIT. This means you cannot specify more than one locale Qualification requirement, because a given Worker will only be able to match one of the requirements. There is no way to allow Workers of varying locales to qualify for a single HIT. |
The following example of a QualificationRequirement data
structure could be passed in to a call to
CreateHIT. CreateHIT
accepts parameters that describe the HIT being created,
including one or more Qualification requirements.
In a SOAP request, the QualificationRequirement data structure
is specified as the
QualificationRequirement parameter in
XML:
<QualificationRequirement> <QualificationTypeId>789RVWYBAZW00EXAMPLE</QualificationTypeId> <Comparator>GreaterThan</Comparator> <IntegerValue>18</IntegerValue> </QualificationRequirement>
In a REST request, the components of the
QualificationRequirement data structure are specified as
separate parameters. To specify more than one
QualificationRequirement in a REST
request, increment the sequence number in the parameter name for
each value:
http://mechanicalturk.amazonaws.com/?Service=AWSMechanicalTurkRequester
[...]
&QualificationRequirement.1.QualificationTypeId=789RVWYBAZW00EXAMPLE
&QualificationRequirement.1.Comparator=GreaterThan
&QualificationRequirement.1.IntegerValue=18
&QualificationRequirement.2.QualificationTypeId=237HSIANVCI00EXAMPLE
&QualificationRequirement.2.Comparator=EqualTo
&QualificationRequirement.2.IntegerValue=1
The QualificationRequirement structure may contain the following elements.
| Name | Description | Value |
|---|---|---|
QualificationTypeId
|
The ID of the Qualification type for the requirement. |
A valid QualificationType ID |
Comparator
|
The kind of comparison to make against a Qualification's value.
Two values can be
compared to see if one value is
A Qualification requirement can also test if a
Qualification |
|
IntegerValue
|
The integer value to compare against the Qualification's value.
|
An integer |
LocaleValue
|
The locale value to compare against the Qualification's value, if the Qualification being compared is the locale Qualification.
|
A locale data structure. (See above.) |
RequiredToPreview
|
If
If a Worker meets all of the requirements where
The default is |
A Boolean value, |