CreateQualificationType

The CreateQualificationType operation creates a new Qualification type.

Every Qualification has a Qualification type. The creator of the type can assign Qualifications of that type to Workers, and grant requests for Qualifications of the type made by Workers. A Qualification can be considered a statement about a Worker made by the Qualification type's owner.

A Qualification type may include a Qualification test, a set of questions a Worker must answer to request the Qualification. The type may also include an answer key for the test. Qualification requests for types with answer keys are granted automatically by Mechanical Turk, using a value calculated from the answer key and the Worker's test answers. If the Qualification type does not have a test, or does not have an answer key, the type's owner is responsible for polling for and granting Qualification requests. (See GetQualificationRequests.)

A Qualification type can be set up to grant requests automatically without a Qualification test. Requests for such a Qualification type are granted immediately with a default value, without prompting the Worker with a test.

Once a Qualification type has been created, it cannot be deleted. You can disable the Qualification type by calling the UpdateQualificationType operation, to prevent Workers from taking the Qualification test, and to prevent Requesters from creating HITs that use the type in a requirement.

You may create an unlimited number of Qualification types.

The following example of a call to the CreateQualificationType operation creates a Qualification type.

http://mechanicalturk.amazonaws.com/onca/xml?Service=AWSMechanicalTurkRequester
&AWSAccessKeyId=[the Requester's Access Key ID]
&Version=2006-10-31
&Operation=CreateQualificationType
&Signature=[signature for this request]
&Timestamp=[your system's local time]
&Name=EnglishWritingAbility
&Description=The%20ability%20to%20write%20and%20edit%20text...
&QualificationTypeStatus=Active

A request to the Mechanical Turk Service includes parameters that control its behavior and the data it returns. Required parameters must be included for the request to succeed.

CreateQualificationType accepts parameters common to all operations. Some common parameters are required. See Common Parameters for more information.

The following parameters are specific to the CreateQualificationType operation:

NameDescriptionTypeValue
Operation

The operation to call. To access the CreateQualificationType operation, set the Operation parameter to CreateQualificationType.

Required

CreateQualificationType

Name

The name of the Qualification type. The type name is used to represent the Qualification to Workers, and to find the type using a Qualification type search.

The name of your Qualification type must be unique across all of your Qualification types. To other users, a Qualification type is known by the name of the type's owner as well as the name of the type.

Required

A string

Description

A long description for the Qualification type. On the Mechanical Turk web site, the long description is displayed when a user examines a Qualification type.

The description must be less than or equal to 2,000 characters in length.

Required

A string

Keywords

One or more words or phrases that describe the Qualification type, separated by commas. A type's Keywords make the type easier to find using a search.

The complete string of keywords, including commas and spaces, must be less than or equal to 1,000 characters in length.

Optional

A string

RetryDelayInSeconds

An amount of time after requesting a Qualification of the Qualification type a user must wait before the user can request it again. A user may wish to request a Qualification multiple times if they were not granted the Qualification from a previous request, or if a Qualification test offers a gradient score and the user would like a better score.

If RetryDelayInSeconds is not specified, then retries are disabled. A user can request a Qualification of this type only once, even if the user has not been granted the Qualification.

Caution:

There is currently no way to disable retries once a retry delay is set. This feature is being considered for a future version.

Optional

A number of seconds, as a non-negative integer

QualificationTypeStatus

The initial status of the Qualification type. A Qualification type's status determines if users can apply to receive a Qualification of this type, and if HITs can be created with requirements based on this type.

If a Qualification type is Active, a user can take a Qualification test to receive the Qualification, and HITs can include requirements based on the type. If the QualificationTypeStatus is Inactive, users may not apply for the Qualification, and newly created HITs may not use the type for their requirements.

If a type becomes Inactive, Workers may continue to accept HITs created while the type was Active that have not yet expired, as long as the Workers' Qualifications meet the requirements. Workers that started a Qualification test before the type became inactive may submit the test, though you may wish to reject those requests.

Required

Active | Inactive

Test

The questions for a Qualification test a user must answer correctly to obtain a Qualification of this type.

The value of this parameter is an XML data structure. See the QuestionForm data structure for more information. (Note: A Qualification test cannot use an "external question" like a HIT can.)

A Qualification test is optional. If omitted, a user may request the Qualification without answering any questions.

If Test is specified, TestDurationInSeconds must also be specified.

Optional

XML data for the Qualification test, a QuestionForm data structure

AnswerKey

The answers to the Qualification test specified in the Test parameter.

If an answer key is provided for a test, Mechanical Turk will process requests for the Qualification automatically, assigning the user a Qualification with a value calculated from the answer key and the answers submitted by the user.

The value of this parameter is an XML data structure. See the AnswerKey data structure for more information.

The answer key is optional. If an answer key is not provided with a test, you must process Qualification requests manually. The user's test answers will be included in the response from the GetQualificationRequests operation.

Optional

XML data for the answer key, an AnswerKey data structure

TestDurationInSeconds

An amount of time a user has from requesting the Qualification to complete the Qualification test. If the user does not submit test answers before this duration has elapsed after requesting the Qualification, the request is voided. The user must then wait for the RetryDelayInSeconds to elapse before requesting the Qualification again.

If test retries are disabled (if RetryDelayInSeconds is not specified) and the TestDurationInSeconds elapses before the user submits test answers, the user will not be able to request the Qualification again, nor will the user be able to submit test answers. You may wish to allow retries to ensure users are not prevented from receiving the Qualification unnecessarily.

TestDurationInSeconds is required if Test is specified.

Optional

A number of seconds, as a positive integer

AutoGranted

If true, requests for the Qualification type will be granted immediately, without prompting the Worker with a Qualification test.

A Qualification type cannot have both a Test and an AutoGranted value of true.

Optional

A Boolean, either true or false

AutoGrantedValue

The Qualification value to use for automatically granted Qualifications, if AutoGranted is true.

If AutoGrantedValue is not specified and AutoGranted is true, Qualifications will be granted automatically with a value of "1".

Optional

An integer

A successful request for the CreateQualificationType operation will have a QualificationType element in the response.

The QualificationType element contains a Qualification type data structure. For a description of this data structure, see the Qualification Type Data Structure.