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