createAdditionalAssignmentsForHIT method
The CreateAdditionalAssignmentsForHIT
operation increases the
maximum number of assignments of an existing HIT.
To extend the maximum number of assignments, specify the number of additional assignments.
-
HITs created with fewer than 10 assignments cannot be extended to have 10
or more assignments. Attempting to add assignments in a way that brings
the total number of assignments for a HIT from fewer than 10 assignments
to 10 or more assignments will result in an
AWS.MechanicalTurk.InvalidMaximumAssignmentsIncrease
exception. -
HITs that were created before July 22, 2015 cannot be extended. Attempting
to extend HITs that were created before July 22, 2015 will result in an
AWS.MechanicalTurk.HITTooOldForExtension
exception.
May throw ServiceFault. May throw RequestError.
Parameter hITId
:
The ID of the HIT to extend.
Parameter numberOfAdditionalAssignments
:
The number of additional assignments to request for this HIT.
Parameter uniqueRequestToken
:
A unique identifier for this request, which allows you to retry the call
on error without extending the HIT multiple times. This is useful in cases
such as network timeouts where it is unclear whether or not the call
succeeded on the server. If the extend HIT already exists in the system
from a previous call using the same UniqueRequestToken
,
subsequent calls will return an error with a message containing the
request ID.
Implementation
Future<void> createAdditionalAssignmentsForHIT({
required String hITId,
required int numberOfAdditionalAssignments,
String? uniqueRequestToken,
}) async {
ArgumentError.checkNotNull(hITId, 'hITId');
_s.validateStringLength(
'hITId',
hITId,
1,
64,
isRequired: true,
);
ArgumentError.checkNotNull(
numberOfAdditionalAssignments, 'numberOfAdditionalAssignments');
_s.validateStringLength(
'uniqueRequestToken',
uniqueRequestToken,
1,
64,
);
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target':
'MTurkRequesterServiceV20170117.CreateAdditionalAssignmentsForHIT'
};
await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'HITId': hITId,
'NumberOfAdditionalAssignments': numberOfAdditionalAssignments,
if (uniqueRequestToken != null)
'UniqueRequestToken': uniqueRequestToken,
},
);
}