We’re pleased to announce a new version of the Mechanical Turk WSDL and Java, .Net and Ruby SDKs. We’ve added a number of features to make it easier to use Mechanical Turk. The new version of the API and SDKs include the ability to Un-reject Assignments that you accidentally rejected, Get Assignments by their Assignment ID and Get a list of Workers you have blocked. And, we’ve added guaranteed notifications via Amazon Simple Queue Service (SQS).
We’ve also added the ability to create your HITs in HTML without having to externally host them. You can either use the HTML that you’ve created in the Requester web site to create HITs via the API or you can send us the HTML for the HIT via the API and we’ll host it for you.
UnReject An Assignment
Have you ever mistakenly rejected an Assignment? The new API call, ApproveRejectedAssignment lets you reverse rejections. Provide the Assignment ID for the rejected Assignment that you want to Approve and Mechanical Turk will mark the Assignment as “Approved”, the Worker will be paid from your pre-paid HITs balance and the Worker’s Approval Statistics will be updated to reflect this change.
Get Individual Assignments
We have added a new API Call, GetAssignment so now instead of getting all the assignments for a HIT and parsing them to find the one you need, you can get the specific Assignment you need.
Get a list of Workers you've Blocked
The new GetBlockedWorkers call will return a list of the Workers you’ve blocked. You can also get this information from the Requester web site.
Guaranteed Notifications via SQS
We know that many Requesters want to be notified when specific events occur, for instance when Workers have submitted an Assignment, or when all the Assignments for a HIT have been submitted. In the past Mechanical Turk could notify you of these events via email, SOAP or REST. However, email can be unreliable. And SOAP or REST notifications require you to host an endpoint on your server – which means that if your server crashes, you don’t get notified. So we’ve added the ability to be notified via SQS. We did this by adding a new SQS transport to the Notification data structure. If you are an AWS SQS user, you can now configure your Mechanical Turk notifications to go to your queues (Just remember to provide Mechanical Turk with permissions to write the notification to your queue).
Create HITs in HTML Without Having to Externally Host Them
Previously, if you wanted to create HITs in HTML via the API you needed to host the HTML yourself. Now we will host the HTML for you and give you two easy ways to create HITs with HTML:
If you have designed a HIT in the Requester web site, you're now able to use that design in the API. This allows you to get your HIT design just right before you integrate with the API. We also added the ability to provide the HTML for your HITs via the API, without using the Requester web site.
To create HITs in the API based on a template you created via the Requester web site, you need to provide the template’s HIT Layout ID in the CreateHIT Call. Every HIT Template created on the Requester website now has a unique HIT Layout ID. To find your template’s HIT LayoutID click on “Layout ID” from the Design Page of the Requester web site.
Once you have the HIT Layout ID you can use it in the CreateHIT call. You will need to provide the data to populate the variable parameters in the HIT.
To provide the HTML for your HITs via the API without using the Requester web site you need to use a new data structure called HTMLQuestion for Question and Answer data in your CreateHIT call. HTMLQuestion combines hosting convenience (like QuestionForm), with the flexibility of HTML forms (like ExternalQuestion) to make it easier for our Requesters to create powerful HITs quickly.
You can learn more about these features in the updated API Reference Guide.
Thanks to all the Requesters who provided feedback that led to these enhancements!