createAdditionalAssignmentsForHIT method

Future<void> createAdditionalAssignmentsForHIT({
  1. required String hITId,
  2. required int numberOfAdditionalAssignments,
  3. String? uniqueRequestToken,
})

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,
    },
  );
}