UpdateQualificationType - Amazon Mechanical Turk

WARNING

You are browsing the documentation for a deprecated version ('2014-08-15') of the Amazon Mechanical Turk Requester API. This version of the API will be deprecated and will be rendered unusable as of June 1st, 2019.

If you request against a legacy API version (https://docs.aws.amazon.com/AWSMechTurk/latest/AWSMturkAPI-legacy/Welcome.html) on or after June 1, 2019, you will receive the following response:

This Requester API is no longer supported. Please use the latest API using the official AWS SDK. https://aws.amazon.com/getting-started/tools-sdks

The latest version of our API ('2017-01-17') provides you with additional tool choices and enables you to select from nine AWS Software Development Kits (SDKs) that have been widely adopted across the AWS community. This API can be accessed using the following AWS SDKs: Python/Boto (Boto3), Javascript (NodeJS or Browser), Java, .NET, Go, Ruby, PHP or C++. This version also makes it easier for customers to connect MTurk with other AWS services like S3, Lambda, Step Functions, Lex, Polly, Rekognition, Amazon SageMaker, AWS Batch, EC2, and more.

This version also updates naming conventions used in the API and adopts the AWS standard of Signature Version 4 to authenticate requests securely. The API uses REST requests and no longer requires that developers be familiar with SOAP protocol. These changes make the MTurk API consistent with AWS APIs, simplifying the on-boarding process for both new and existing AWS developers. The legacy MTurk Command Line Tools and .NET, Java, Ruby, and Perl SDKs were marked as deprecated in January 2018. We will be deprecating the legacy APIs as of June 1, 2019.

If you are on a legacy API, you must migrate to the latest version of our API. You can find documentation for the latest API here and the AWS SDKs here. Please check whether you need to migrate and review the technical migration guide.

For support, contact requestor-apilegacydeprecation-support@amazon.com.

 

UpdateQualificationType

Description

The UpdateQualificationType operation modifies the attributes of an existing Qualification type, which is represented by a QualificationType data structure. Only the owner of a Qualification type can modify its attributes.

Most attributes of a Qualification type can be changed after the type has been created. However, the Name and Keywords fields cannot be modified. The RetryDelayInSeconds parameter can be modified or added to change the delay or to enable retries, but RetryDelayInSeconds cannot be used to disable retries.

Each Qualification type name must be unique across all of your Qualification types. If you want to reuse the name of an existing Qualification type, you must first dispose of the existing Qualification type using DisposeQualificationType and then create a new Qualification type with the name of the disposed type using CreateQualificationType.

If you want to disable retries, you must dispose of the existing retry-enabled Qualification type using DisposeQualificationType and then create a new Qualification type with retries disabled using CreateQualificationType.

You can use this operation to update the test for a Qualification type. The test is updated based on the values specified for the Test, TestDurationInSeconds and AnswerKey parameters. All three parameters specify the updated test. If you are updating the test for a type, you must specify the Test and TestDurationInSeconds parameters. The AnswerKey parameter is optional; omitting it specifies that the updated test does not have an answer key.

If you omit the Test parameter, the test for the Qualification type is unchanged. There is no way to remove a test from a Qualification type that has one. If the type already has a test, you cannot update it to be AutoGranted. If the Qualification type does not have a test and one is provided by an update, the type will henceforth have a test.

If you want to update the test duration or answer key for an existing test without changing the questions, you must specify a Test parameter with the original questions, along with the updated values.

If you provide an AnswerKey parameter, Amazon Mechanical Turk processes requests for the Qualification automatically, and assigns the Worker a Qualification with a value calculated from the AnswerKey and the answers submitted by the Worker.

If you provide an updated Test but no AnswerKey, the new test will not have an answer key. Requests for such Qualifications must be granted manually.

You can also update the AutoGranted and AutoGrantedValue attributes of the Qualification type.

Note

A Qualification type cannot be configured with both the Test parameter specified and the AutoGranted parameter set to true. Currently, there is no way to remove a test from a Qualification type that has one. A Qualification type with a test cannot be re-configured to use the auto-granting feature.

Request Parameters

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

Note

If an optional request parameter is not specified, the UpdateQualificationType operation does not modify the corresponding field of the QualificationType being updated.

The following parameters are specific to the UpdateQualificationType operation:

Name Description Required

Operation

The name of the operation.

Type: String

Valid Values: UpdateQualificationType

Default: None

Yes

QualificationTypeId

The ID of the Qualification type to update.

Type: String

Default: None

Yes

RetryDelayInSeconds

The amount of time, in seconds, that Workers must wait after requesting a Qualification of the specified Qualification type before they can retry the Qualification request.

It is not possible to disable retries for a Qualification type after it has been created with retries enabled. If you want to disable retries, you must dispose of the existing retry-enabled Qualification type using DisposeQualificationType and then create a new Qualification type with retries disabled using CreateQualificationType.

Type: Non-negative integer

Default: None. If not specified, the RetryDelayInSeconds value of the specified Qualification type will not be changed.

No

QualificationTypeStatus

The new status of the Qualification type.

Type: String

Valid Values: Active | Inactive

Default: None

No

Description

The new description of the Qualification type.

Type: String

Default: None

No

Test

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

Type: A QuestionForm data structure.

Default: None

Constraints: Must not be longer than 65535 bytes. Cannot be specified if AutoGranted is true. If you update the AnswerKey, you must provide the Test parameter, even if the test has not changed. If you update the TestDurationInSeconds, you must provide the Test parameter, even if the test has not changed.

No

AnswerKey

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

Type: An AnswerKey data structure.

Default: None

Constraints: Must not be longer than 65535 bytes.

No

TestDurationInSeconds

The amount of time, in seconds, that a Worker has to complete the Qualification test, starting from when the Worker requested the Qualification.

Type: Positive integer

Default: None

Conditions: Required if the Test parameter is specified.

Conditional

AutoGranted

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

Type: Boolean

Valid Values: true | false

Default: None

Conditions: Cannot be true if Test is specified.

Conditional

AutoGrantedValue

The Qualification value to use if AutoGranted is true.

Type: Integer

Default: 1

No

Response Elements

A successful request for the UpdateQualificationType operation has a QualificationType element in the response, as described in the following table:

Name Description

QualificationType

Contains a QualificationType data structure.

Type: A QualificationType data structure.

Examples

The following example shows how to use the UpdateQualificationType operation.

Sample Request

The following example changes the QualificationTypeStatus of a Qualification type.

https://mechanicalturk.amazonaws.com/?Service=AWSMechanicalTurkRequester &AWSAccessKeyId=[the Requester's Access Key ID] &Version=2017-01-17 &Operation=UpdateQualificationType &Signature=[signature for this request] &Timestamp=[your system's local time] &QualificationTypeId=789RVWYBAZW00EXAMPLE &QualificationTypeStatus=Inactive

Sample Response

The following is an example response.

<UpdateQualificationTypeResult> <Request> <IsValid>True</IsValid> </Request> <QualificationType> <QualificationTypeId>789RVWYBAZW00EXAMPLE</QualificationTypeId> <CreationTime>2009-06-15T12:00:01Z</CreationTime> <Name>EnglishWritingAbility</Name> <Description>The ability to write and edit text...</Description> <Keywords>English, text, write, edit, language</Keywords> <QualificationTypeStatus>Active</QualificationTypeStatus> <RetryDelayInSeconds>86400</RetryDelayInSeconds> <IsRequestable>true</IsRequestable> </QualificationType> </UpdateQualificationTypeResult>