QualificationRequirement

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:

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:

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/onca/xml?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.

NameDescriptionValue
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 LessThan, LessThanOrEqualTo, GreaterThan, GreaterThanOrEqualTo, EqualTo, or NotEqualTo the other.

A Qualification requirement can also test if a Qualification Exists in the user's profile, regardless of its value.

LessThan | LessThanOrEqualTo | GreaterThan | GreaterThanOrEqualTo | EqualTo | NotEqualTo | Exists

IntegerValue

The integer value to compare against the Qualification's value.

IntegerValue must not be present if Comparator is Exists.

IntegerValue can only be used if the Qualification type has an integer value (i.e. not with the locale Qualification).

An integer

LocaleValue

The locale value to compare against the Qualification's value, if the Qualification being compared is the locale Qualification.

LocaleValue can only be used with the EqualTo and NotEqualTo comparators.

LocaleValue can only be used if the Qualification type has a locale value (i.e. the locale Qualification).

A locale data structure. (See above.)

RequiredToPreview

If true, the question data for the HIT will not be shown when a Worker whose Qualifications do not meet this requirement tries to preview the HIT. That is, a Worker's Qualifications must meet all of the requirements for which RequiredToPreview is true in order to preview the HIT.

If a Worker meets all of the requirements where RequiredToPreview is true (or if there are no such requirements), but does not meet all of the requirements for the HIT, the Worker will be allowed to preview the HIT's question data, but will not be allowed to accept and complete the HIT.

The default is false.

A Boolean value, true or false