QualificationRequirement Data Structure

Description

The QualificationRequirement data structure describes a Qualification a Worker must have before the Worker is allowed to accept a HIT.

The QualificationRequirement data structure is used as a parameter for the following operations:

When used in a call to CreateHIT, all elements are required.

The QualificationRequirement data structure is used in the HIT data structure.

Custom Qualifications and System Qualifications

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.

Example: CreateHIT

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>
  <Value>18</Value>
</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.Value=18
&QualificationRequirement.2.QualificationTypeId=237HSIANVCI00EXAMPLE
&QualificationRequirement.2.Comparator=EqualTo
&QualificationRequirement.2.Value=1

Elements

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 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

Value

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

Value must not be present if Comparator is Exists.

An integer