@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Amazon Mechanical Turk
@version 2017-01-17
@auth AWS SigV4
@endpoints 39
@hint download_for_search
@toc root(39)

@endpoint POST /
@required {QualificationRequestId: str}
@optional {IntegerValue: int}

@endpoint POST /
@required {AssignmentId: str}
@optional {RequesterFeedback: str, OverrideRejection: bool}

@endpoint POST /
@required {QualificationTypeId: str, WorkerId: str}
@optional {IntegerValue: int, SendNotification: bool}

@endpoint POST /
@required {HITId: str, NumberOfAdditionalAssignments: int}
@optional {UniqueRequestToken: str}

@endpoint POST /
@required {LifetimeInSeconds: int(i64), AssignmentDurationInSeconds: int(i64), Reward: str, Title: str, Description: str}
@optional {MaxAssignments: int, AutoApprovalDelayInSeconds: int(i64), Keywords: str, Question: str, RequesterAnnotation: str, QualificationRequirements: [QualificationRequirement], UniqueRequestToken: str, AssignmentReviewPolicy: ReviewPolicy, HITReviewPolicy: ReviewPolicy, HITLayoutId: str, HITLayoutParameters: [HITLayoutParameter]}
@returns(200) {HIT: HIT?{HITId: str?, HITTypeId: str?, HITGroupId: str?, HITLayoutId: str?, CreationTime: str(timestamp)?, Title: str?, Description: str?, Question: str?, Keywords: str?, HITStatus: str?, MaxAssignments: int?, Reward: str?, AutoApprovalDelayInSeconds: int(i64)?, Expiration: str(timestamp)?, AssignmentDurationInSeconds: int(i64)?, RequesterAnnotation: str?, QualificationRequirements: [QualificationRequirement]?, HITReviewStatus: str?, NumberOfAssignmentsPending: int?, NumberOfAssignmentsAvailable: int?, NumberOfAssignmentsCompleted: int?}}

@endpoint POST /
@required {AssignmentDurationInSeconds: int(i64), Reward: str, Title: str, Description: str}
@optional {AutoApprovalDelayInSeconds: int(i64), Keywords: str, QualificationRequirements: [QualificationRequirement]}
@returns(200) {HITTypeId: str?}

@endpoint POST /
@required {HITTypeId: str, LifetimeInSeconds: int(i64)}
@optional {MaxAssignments: int, Question: str, RequesterAnnotation: str, UniqueRequestToken: str, AssignmentReviewPolicy: ReviewPolicy, HITReviewPolicy: ReviewPolicy, HITLayoutId: str, HITLayoutParameters: [HITLayoutParameter]}
@returns(200) {HIT: HIT?{HITId: str?, HITTypeId: str?, HITGroupId: str?, HITLayoutId: str?, CreationTime: str(timestamp)?, Title: str?, Description: str?, Question: str?, Keywords: str?, HITStatus: str?, MaxAssignments: int?, Reward: str?, AutoApprovalDelayInSeconds: int(i64)?, Expiration: str(timestamp)?, AssignmentDurationInSeconds: int(i64)?, RequesterAnnotation: str?, QualificationRequirements: [QualificationRequirement]?, HITReviewStatus: str?, NumberOfAssignmentsPending: int?, NumberOfAssignmentsAvailable: int?, NumberOfAssignmentsCompleted: int?}}

@endpoint POST /
@required {Name: str, Description: str, QualificationTypeStatus: str}
@optional {Keywords: str, RetryDelayInSeconds: int(i64), Test: str, AnswerKey: str, TestDurationInSeconds: int(i64), AutoGranted: bool, AutoGrantedValue: int}
@returns(200) {QualificationType: QualificationType?{QualificationTypeId: str?, CreationTime: str(timestamp)?, Name: str?, Description: str?, Keywords: str?, QualificationTypeStatus: str?, Test: str?, TestDurationInSeconds: int(i64)?, AnswerKey: str?, RetryDelayInSeconds: int(i64)?, IsRequestable: bool?, AutoGranted: bool?, AutoGrantedValue: int?}}

@endpoint POST /
@required {WorkerId: str, Reason: str}

@endpoint POST /
@required {HITId: str}

@endpoint POST /
@required {QualificationTypeId: str}

@endpoint POST /
@required {WorkerId: str}
@optional {Reason: str}

@endpoint POST /
@required {WorkerId: str, QualificationTypeId: str}
@optional {Reason: str}

@endpoint POST /
@returns(200) {AvailableBalance: str?, OnHoldBalance: str?}

@endpoint POST /
@required {AssignmentId: str}
@returns(200) {Assignment: Assignment?{AssignmentId: str?, WorkerId: str?, HITId: str?, AssignmentStatus: str?, AutoApprovalTime: str(timestamp)?, AcceptTime: str(timestamp)?, SubmitTime: str(timestamp)?, ApprovalTime: str(timestamp)?, RejectionTime: str(timestamp)?, Deadline: str(timestamp)?, Answer: str?, RequesterFeedback: str?}, HIT: HIT?{HITId: str?, HITTypeId: str?, HITGroupId: str?, HITLayoutId: str?, CreationTime: str(timestamp)?, Title: str?, Description: str?, Question: str?, Keywords: str?, HITStatus: str?, MaxAssignments: int?, Reward: str?, AutoApprovalDelayInSeconds: int(i64)?, Expiration: str(timestamp)?, AssignmentDurationInSeconds: int(i64)?, RequesterAnnotation: str?, QualificationRequirements: [QualificationRequirement]?, HITReviewStatus: str?, NumberOfAssignmentsPending: int?, NumberOfAssignmentsAvailable: int?, NumberOfAssignmentsCompleted: int?}}

@endpoint POST /
@required {AssignmentId: str, QuestionIdentifier: str}
@returns(200) {FileUploadURL: str?}

@endpoint POST /
@required {HITId: str}
@returns(200) {HIT: HIT?{HITId: str?, HITTypeId: str?, HITGroupId: str?, HITLayoutId: str?, CreationTime: str(timestamp)?, Title: str?, Description: str?, Question: str?, Keywords: str?, HITStatus: str?, MaxAssignments: int?, Reward: str?, AutoApprovalDelayInSeconds: int(i64)?, Expiration: str(timestamp)?, AssignmentDurationInSeconds: int(i64)?, RequesterAnnotation: str?, QualificationRequirements: [QualificationRequirement]?, HITReviewStatus: str?, NumberOfAssignmentsPending: int?, NumberOfAssignmentsAvailable: int?, NumberOfAssignmentsCompleted: int?}}

@endpoint POST /
@required {QualificationTypeId: str, WorkerId: str}
@returns(200) {Qualification: Qualification?{QualificationTypeId: str?, WorkerId: str?, GrantTime: str(timestamp)?, IntegerValue: int?, LocaleValue: Locale?{Country: str, Subdivision: str?}, Status: str?}}

@endpoint POST /
@required {QualificationTypeId: str}
@returns(200) {QualificationType: QualificationType?{QualificationTypeId: str?, CreationTime: str(timestamp)?, Name: str?, Description: str?, Keywords: str?, QualificationTypeStatus: str?, Test: str?, TestDurationInSeconds: int(i64)?, AnswerKey: str?, RetryDelayInSeconds: int(i64)?, IsRequestable: bool?, AutoGranted: bool?, AutoGrantedValue: int?}}

@endpoint POST /
@required {HITId: str}
@optional {NextToken: str, MaxResults: int, AssignmentStatuses: [str]}
@returns(200) {NextToken: str?, NumResults: int?, Assignments: [Assignment]?}

@endpoint POST /
@optional {HITId: str, AssignmentId: str, NextToken: str, MaxResults: int}
@returns(200) {NumResults: int?, NextToken: str?, BonusPayments: [BonusPayment]?}

@endpoint POST /
@optional {NextToken: str, MaxResults: int}
@returns(200) {NextToken: str?, NumResults: int?, HITs: [HIT]?}

@endpoint POST /
@required {QualificationTypeId: str}
@optional {NextToken: str, MaxResults: int}
@returns(200) {NextToken: str?, NumResults: int?, HITs: [HIT]?}

@endpoint POST /
@optional {QualificationTypeId: str, NextToken: str, MaxResults: int}
@returns(200) {NumResults: int?, NextToken: str?, QualificationRequests: [QualificationRequest]?}

@endpoint POST /
@required {MustBeRequestable: bool}
@optional {Query: str, MustBeOwnedByCaller: bool, NextToken: str, MaxResults: int}
@returns(200) {NumResults: int?, NextToken: str?, QualificationTypes: [QualificationType]?}

@endpoint POST /
@required {HITId: str}
@optional {PolicyLevels: [str], RetrieveActions: bool, RetrieveResults: bool, NextToken: str, MaxResults: int}
@returns(200) {HITId: str?, AssignmentReviewPolicy: ReviewPolicy?{PolicyName: str, Parameters: [PolicyParameter]?}, HITReviewPolicy: ReviewPolicy?{PolicyName: str, Parameters: [PolicyParameter]?}, AssignmentReviewReport: ReviewReport?{ReviewResults: [ReviewResultDetail]?, ReviewActions: [ReviewActionDetail]?}, HITReviewReport: ReviewReport?{ReviewResults: [ReviewResultDetail]?, ReviewActions: [ReviewActionDetail]?}, NextToken: str?}

@endpoint POST /
@optional {HITTypeId: str, Status: str, NextToken: str, MaxResults: int}
@returns(200) {NextToken: str?, NumResults: int?, HITs: [HIT]?}

@endpoint POST /
@optional {NextToken: str, MaxResults: int}
@returns(200) {NextToken: str?, NumResults: int?, WorkerBlocks: [WorkerBlock]?}

@endpoint POST /
@required {QualificationTypeId: str}
@optional {Status: str, NextToken: str, MaxResults: int}
@returns(200) {NextToken: str?, NumResults: int?, Qualifications: [Qualification]?}

@endpoint POST /
@required {Subject: str, MessageText: str, WorkerIds: [str]}
@returns(200) {NotifyWorkersFailureStatuses: [NotifyWorkersFailureStatus]?}

@endpoint POST /
@required {AssignmentId: str, RequesterFeedback: str}

@endpoint POST /
@required {QualificationRequestId: str}
@optional {Reason: str}

@endpoint POST /
@required {WorkerId: str, BonusAmount: str, AssignmentId: str, Reason: str}
@optional {UniqueRequestToken: str}

@endpoint POST /
@required {Notification: NotificationSpecification, TestEventType: str}

@endpoint POST /
@required {HITId: str, ExpireAt: str(timestamp)}

@endpoint POST /
@required {HITId: str}
@optional {Revert: bool}

@endpoint POST /
@required {HITId: str, HITTypeId: str}

@endpoint POST /
@required {HITTypeId: str}
@optional {Notification: NotificationSpecification, Active: bool}

@endpoint POST /
@required {QualificationTypeId: str}
@optional {Description: str, QualificationTypeStatus: str, Test: str, AnswerKey: str, TestDurationInSeconds: int(i64), RetryDelayInSeconds: int(i64), AutoGranted: bool, AutoGrantedValue: int}
@returns(200) {QualificationType: QualificationType?{QualificationTypeId: str?, CreationTime: str(timestamp)?, Name: str?, Description: str?, Keywords: str?, QualificationTypeStatus: str?, Test: str?, TestDurationInSeconds: int(i64)?, AnswerKey: str?, RetryDelayInSeconds: int(i64)?, IsRequestable: bool?, AutoGranted: bool?, AutoGrantedValue: int?}}

@end
