What it covers
| Group | Operations |
|---|---|
| Create tasks and batches | CreateHIT, CreateHITWithHITType |
| Read tasks | ListHITs, GetHIT, ListReviewableHITs |
| Review work | ListAssignmentsForHIT, GetAssignment, ApproveAssignment, RejectAssignment |
| Bonuses | SendBonus |
| Qualifications | CreateQualificationType, AssociateQualificationWithWorker |
Changing one URL
Mechanical Turk's API uses the JSON 1.1 protocol with AWS Signature Version 4, so standard AWS SDKs can point at another endpoint. With boto3, for example, the change is the endpoint and the credentials Tavra issues:
import boto3
client = boto3.client(
"mturk",
endpoint_url=TAVRA_COMPATIBLE_ENDPOINT, # published at launch
aws_access_key_id=TAVRA_KEY_ID,
aws_secret_access_key=TAVRA_SECRET,
region_name="us-east-1",
)What works differently
- Tavra holds no balance. Creating a batch charges your organization's saved card or business bank account for that batch, and it opens when Stripe confirms the payment. GetAccountBalance returns an error that explains this.
- Rejections need a reason tied to a check agreed before the task started, and workers can dispute them with an independent reviewer.
- Review windows apply, and work not reviewed in time is approved automatically.
- A bonus is its own payment, and the worker is credited once Stripe confirms it.
- Every difference returns an error that says what Tavra does instead.
Join the waitlist and tell us you use another platform's API.
Join the waitlistSources
- Internet Archive copy of the AWS documentation, captured June 30, 2026, Amazon Mechanical Turk API reference: operations. The 39 operations of the 2017-01-17 Requester API. Checked November 14, 2026.
- Amazon Web Services, AWS CLI command reference: mturk. Current reference for the same operations as CLI commands. Checked November 14, 2026.
- AWS botocore on GitHub, mturk 2017-01-17 service model. JSON 1.1 protocol, Signature Version 4 and the MTurkRequesterServiceV20170117 target prefix. Checked November 14, 2026.