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. |
| Worker_Adult |
00000000000000000060
| Requires workers to acknowledge that they are over 18 and that they agree to work on potentially offensive content. The value type is boolean, 1 (required), 0 (not required, the default) |
Adult content can be offensive to some people. For that reason, if your HIT is adult-oriented, we ask you to use the following procedure.
Adding Adult HITs
In the HIT title, include the words "adult content."
Specify the worker's qualifications in one of the following ways:
|
Using the API:
|
|
Using the command line tools, in the HIT properties file:
|
Define the HIT to be private or previewed.
This setting prevents anyone who does not qualify from seeing the HIT. To make the HIT private, use one of the following methods:
Using the API, set the
RequiredToPreview
parameter to true. |
|
Using the command line tools, in the HIT properties
file, set the private parameter,
|
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,
|