Class: Aws::MTurk::Client

Inherits:
Seahorse::Client::Base
  • Object
show all
Includes:
ClientStubs
Defined in:
lib/aws-sdk-mturk/client.rb

Overview

An API client for MTurk. To construct a client, you need to configure a ‘:region` and `:credentials`.

client = Aws::MTurk::Client.new(
  region: region_name,
  credentials: credentials,
  # ...
)

For details on configuring region and credentials see the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).

See #initialize for a full list of supported configuration options.

Class Attribute Summary collapse

API Operations collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ Client

Returns a new instance of Client.

Parameters:

  • options (Hash)

Options Hash (options):

  • :plugins (Array<Seahorse::Client::Plugin>) — default: []]

    A list of plugins to apply to the client. Each plugin is either a class name or an instance of a plugin class.

  • :credentials (required, Aws::CredentialProvider)

    Your AWS credentials. This can be an instance of any one of the following classes:

    • ‘Aws::Credentials` - Used for configuring static, non-refreshing credentials.

    • ‘Aws::SharedCredentials` - Used for loading static credentials from a shared file, such as `~/.aws/config`.

    • ‘Aws::AssumeRoleCredentials` - Used when you need to assume a role.

    • ‘Aws::AssumeRoleWebIdentityCredentials` - Used when you need to assume a role after providing credentials via the web.

    • ‘Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an access token generated from `aws login`.

    • ‘Aws::ProcessCredentials` - Used for loading credentials from a process that outputs to stdout.

    • ‘Aws::InstanceProfileCredentials` - Used for loading credentials from an EC2 IMDS on an EC2 instance.

    • ‘Aws::ECSCredentials` - Used for loading credentials from instances running in ECS.

    • ‘Aws::CognitoIdentityCredentials` - Used for loading credentials from the Cognito Identity service.

    When ‘:credentials` are not configured directly, the following locations will be searched for credentials:

    • Aws.config`

    • The ‘:access_key_id`, `:secret_access_key`, `:session_token`, and `:account_id` options.

    • ENV, ENV, ENV, and ENV

    • ‘~/.aws/credentials`

    • ‘~/.aws/config`

    • EC2/ECS IMDS instance profile - When used by default, the timeouts are very aggressive. Construct and pass an instance of ‘Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to enable retries and extended timeouts. Instance profile credential fetching can be disabled by setting ENV to true.

  • :region (required, String)

    The AWS region to connect to. The configured ‘:region` is used to determine the service `:endpoint`. When not passed, a default `:region` is searched for in the following locations:

  • :access_key_id (String)
  • :account_id (String)
  • :active_endpoint_cache (Boolean) — default: false

    When set to ‘true`, a thread polling for endpoints will be running in the background every 60 secs (default). Defaults to `false`.

  • :adaptive_retry_wait_to_fill (Boolean) — default: true

    Used only in ‘adaptive` retry mode. When true, the request will sleep until there is sufficent client side capacity to retry the request. When false, the request will raise a `RetryCapacityNotAvailableError` and will not retry instead of sleeping.

  • :client_side_monitoring (Boolean) — default: false

    When ‘true`, client-side metrics will be collected for all API requests from this client.

  • :client_side_monitoring_client_id (String) — default: ""

    Allows you to provide an identifier for this client which will be attached to all generated client side metrics. Defaults to an empty string.

  • :client_side_monitoring_host (String) — default: "127.0.0.1"

    Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client side monitoring agent is running on, where client metrics will be published via UDP.

  • :client_side_monitoring_port (Integer) — default: 31000

    Required for publishing client metrics. The port that the client side monitoring agent is running on, where client metrics will be published via UDP.

  • :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher) — default: Aws::ClientSideMonitoring::Publisher

    Allows you to provide a custom client-side monitoring publisher class. By default, will use the Client Side Monitoring Agent Publisher.

  • :convert_params (Boolean) — default: true

    When ‘true`, an attempt is made to coerce request parameters into the required types.

  • :correct_clock_skew (Boolean) — default: true

    Used only in ‘standard` and adaptive retry modes. Specifies whether to apply a clock skew correction and retry requests with skewed client clocks.

  • :defaults_mode (String) — default: "legacy"

    See DefaultsModeConfiguration for a list of the accepted modes and the configuration defaults that are included.

  • :disable_host_prefix_injection (Boolean) — default: false

    Set to true to disable SDK automatically adding host prefix to default service endpoint when available.

  • :disable_request_compression (Boolean) — default: false

    When set to ‘true’ the request body will not be compressed for supported operations.

  • :endpoint (String, URI::HTTPS, URI::HTTP)

    Normally you should not configure the ‘:endpoint` option directly. This is normally constructed from the `:region` option. Configuring `:endpoint` is normally reserved for connecting to test or custom endpoints. The endpoint should be a URI formatted like:

    'http://example.com'
    'https://example.com'
    'http://example.com:123'
    
  • :endpoint_cache_max_entries (Integer) — default: 1000

    Used for the maximum size limit of the LRU cache storing endpoints data for endpoint discovery enabled operations. Defaults to 1000.

  • :endpoint_cache_max_threads (Integer) — default: 10

    Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.

  • :endpoint_cache_poll_interval (Integer) — default: 60

    When :endpoint_discovery and :active_endpoint_cache is enabled, Use this option to config the time interval in seconds for making requests fetching endpoints information. Defaults to 60 sec.

  • :endpoint_discovery (Boolean) — default: false

    When set to ‘true`, endpoint discovery will be enabled for operations when available.

  • :ignore_configured_endpoint_urls (Boolean)

    Setting to true disables use of endpoint URLs provided via environment variables and the shared configuration file.

  • :log_formatter (Aws::Log::Formatter) — default: Aws::Log::Formatter.default

    The log formatter.

  • :log_level (Symbol) — default: :info

    The log level to send messages to the ‘:logger` at.

  • :logger (Logger)

    The Logger instance to send log messages to. If this option is not set, logging will be disabled.

  • :max_attempts (Integer) — default: 3

    An integer representing the maximum number attempts that will be made for a single request, including the initial attempt. For example, setting this value to 5 will result in a request being retried up to 4 times. Used in ‘standard` and `adaptive` retry modes.

  • :profile (String) — default: "default"

    Used when loading credentials from the shared credentials file at HOME/.aws/credentials. When not specified, ‘default’ is used.

  • :request_min_compression_size_bytes (Integer) — default: 10240

    The minimum size in bytes that triggers compression for request bodies. The value must be non-negative integer value between 0 and 10485780 bytes inclusive.

  • :retry_backoff (Proc)

    A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay. This option is only used in the ‘legacy` retry mode.

  • :retry_base_delay (Float) — default: 0.3

    The base delay in seconds used by the default backoff function. This option is only used in the ‘legacy` retry mode.

  • :retry_jitter (Symbol) — default: :none

    A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number. This option is only used in the ‘legacy` retry mode.

    @see www.awsarchitectureblog.com/2015/03/backoff.html

  • :retry_limit (Integer) — default: 3

    The maximum number of times to retry failed requests. Only ~ 500 level server errors and certain ~ 400 level client errors are retried. Generally, these are throttling errors, data checksum errors, networking errors, timeout errors, auth errors, endpoint discovery, and errors from expired credentials. This option is only used in the ‘legacy` retry mode.

  • :retry_max_delay (Integer) — default: 0

    The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function. This option is only used in the ‘legacy` retry mode.

  • :retry_mode (String) — default: "legacy"

    Specifies which retry algorithm to use. Values are:

    • ‘legacy` - The pre-existing retry behavior. This is default value if no retry mode is provided.

    • ‘standard` - A standardized set of retry rules across the AWS SDKs. This includes support for retry quotas, which limit the number of unsuccessful retries a client can make.

    • ‘adaptive` - An experimental retry mode that includes all the functionality of `standard` mode along with automatic client side throttling. This is a provisional mode that may change behavior in the future.

  • :sdk_ua_app_id (String)

    A unique and opaque application ID that is appended to the User-Agent header as app/sdk_ua_app_id. It should have a maximum length of 50. This variable is sourced from environment variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.

  • :secret_access_key (String)
  • :session_token (String)
  • :sigv4a_signing_region_set (Array)

    A list of regions that should be signed with SigV4a signing. When not passed, a default ‘:sigv4a_signing_region_set` is searched for in the following locations:

  • :simple_json (Boolean) — default: false

    Disables request parameter conversion, validation, and formatting. Also disables response data type conversions. The request parameters hash must be formatted exactly as the API expects.This option is useful when you want to ensure the highest level of performance by avoiding overhead of walking request parameters and response data structures.

  • :stub_responses (Boolean) — default: false

    Causes the client to return stubbed responses. By default fake responses are generated and returned. You can specify the response data to return or errors to raise by calling ClientStubs#stub_responses. See ClientStubs for more information.

    ** Please note ** When response stubbing is enabled, no HTTP requests are made, and retries are disabled.

  • :telemetry_provider (Aws::Telemetry::TelemetryProviderBase) — default: Aws::Telemetry::NoOpTelemetryProvider

    Allows you to provide a telemetry provider, which is used to emit telemetry data. By default, uses ‘NoOpTelemetryProvider` which will not record or emit any telemetry data. The SDK supports the following telemetry providers:

    • OpenTelemetry (OTel) - To use the OTel provider, install and require the

    ‘opentelemetry-sdk` gem and then, pass in an instance of a `Aws::Telemetry::OTelProvider` for telemetry provider.

  • :token_provider (Aws::TokenProvider)

    A Bearer Token Provider. This can be an instance of any one of the following classes:

    • ‘Aws::StaticTokenProvider` - Used for configuring static, non-refreshing tokens.

    • ‘Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an access token generated from `aws login`.

    When ‘:token_provider` is not configured directly, the `Aws::TokenProviderChain` will be used to search for tokens configured for your profile in shared configuration files.

  • :use_dualstack_endpoint (Boolean)

    When set to ‘true`, dualstack enabled endpoints (with `.aws` TLD) will be used if available.

  • :use_fips_endpoint (Boolean)

    When set to ‘true`, fips compatible endpoints will be used if available. When a `fips` region is used, the region is normalized and this config is set to `true`.

  • :validate_params (Boolean) — default: true

    When ‘true`, request parameters are validated before sending the request.

  • :endpoint_provider (Aws::MTurk::EndpointProvider)

    The endpoint provider used to resolve endpoints. Any object that responds to ‘#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::MTurk::EndpointParameters`.

  • :http_continue_timeout (Float) — default: 1

    The number of seconds to wait for a 100-continue response before sending the request body. This option has no effect unless the request has “Expect” header set to “100-continue”. Defaults to ‘nil` which disables this behaviour. This value can safely be set per request on the session.

  • :http_idle_timeout (Float) — default: 5

    The number of seconds a connection is allowed to sit idle before it is considered stale. Stale connections are closed and removed from the pool before making a request.

  • :http_open_timeout (Float) — default: 15

    The default number of seconds to wait for response data. This value can safely be set per-request on the session.

  • :http_proxy (URI::HTTP, String)

    A proxy to send requests through. Formatted like ‘proxy.com:123’.

  • :http_read_timeout (Float) — default: 60

    The default number of seconds to wait for response data. This value can safely be set per-request on the session.

  • :http_wire_trace (Boolean) — default: false

    When ‘true`, HTTP debug output will be sent to the `:logger`.

  • :on_chunk_received (Proc)

    When a Proc object is provided, it will be used as callback when each chunk of the response body is received. It provides three arguments: the chunk, the number of bytes received, and the total number of bytes in the response (or nil if the server did not send a ‘content-length`).

  • :on_chunk_sent (Proc)

    When a Proc object is provided, it will be used as callback when each chunk of the request body is sent. It provides three arguments: the chunk, the number of bytes read from the body, and the total number of bytes in the body.

  • :raise_response_errors (Boolean) — default: true

    When ‘true`, response errors are raised.

  • :ssl_ca_bundle (String)

    Full path to the SSL certificate authority bundle file that should be used when verifying peer certificates. If you do not pass ‘:ssl_ca_bundle` or `:ssl_ca_directory` the the system default will be used if available.

  • :ssl_ca_directory (String)

    Full path of the directory that contains the unbundled SSL certificate authority files for verifying peer certificates. If you do not pass ‘:ssl_ca_bundle` or `:ssl_ca_directory` the the system default will be used if available.

  • :ssl_ca_store (String)

    Sets the X509::Store to verify peer certificate.

  • :ssl_cert (OpenSSL::X509::Certificate)

    Sets a client certificate when creating http connections.

  • :ssl_key (OpenSSL::PKey)

    Sets a client key when creating http connections.

  • :ssl_timeout (Float)

    Sets the SSL timeout in seconds

  • :ssl_verify_peer (Boolean) — default: true

    When ‘true`, SSL peer certificates are verified when establishing a connection.



451
452
453
# File 'lib/aws-sdk-mturk/client.rb', line 451

def initialize(*args)
  super
end

Class Attribute Details

.identifierObject (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



3002
3003
3004
# File 'lib/aws-sdk-mturk/client.rb', line 3002

def identifier
  @identifier
end

Class Method Details

.errors_moduleObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



3005
3006
3007
# File 'lib/aws-sdk-mturk/client.rb', line 3005

def errors_module
  Errors
end

Instance Method Details

#accept_qualification_request(params = {}) ⇒ Struct

The ‘AcceptQualificationRequest` operation approves a Worker’s request for a Qualification.

Only the owner of the Qualification type can grant a Qualification request for that type.

A successful request for the ‘AcceptQualificationRequest` operation returns with no errors and an empty body.

Examples:

Request syntax with placeholder values


resp = client.accept_qualification_request({
  qualification_request_id: "String", # required
  integer_value: 1,
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :qualification_request_id (required, String)

    The ID of the Qualification request, as returned by the ‘GetQualificationRequests` operation.

  • :integer_value (Integer)

    The value of the Qualification. You can omit this value if you are using the presence or absence of the Qualification as the basis for a HIT requirement.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



488
489
490
491
# File 'lib/aws-sdk-mturk/client.rb', line 488

def accept_qualification_request(params = {}, options = {})
  req = build_request(:accept_qualification_request, params)
  req.send_request(options)
end

#approve_assignment(params = {}) ⇒ Struct

The ‘ApproveAssignment` operation approves the results of a completed assignment.

Approving an assignment initiates two payments from the Requester’s Amazon.com account

  • The Worker who submitted the results is paid the reward specified in the HIT.

  • Amazon Mechanical Turk fees are debited.

If the Requester’s account does not have adequate funds for these payments, the call to ApproveAssignment returns an exception, and the approval is not processed. You can include an optional feedback message with the approval, which the Worker can see in the Status section of the web site.

You can also call this operation for assignments that were previous rejected and approve them by explicitly overriding the previous rejection. This only works on rejected assignments that were submitted within the previous 30 days and only if the assignment’s related HIT has not been deleted.

Examples:

Request syntax with placeholder values


resp = client.approve_assignment({
  assignment_id: "EntityId", # required
  requester_feedback: "String",
  override_rejection: false,
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :assignment_id (required, String)

    The ID of the assignment. The assignment must correspond to a HIT created by the Requester.

  • :requester_feedback (String)

    A message for the Worker, which the Worker can see in the Status section of the web site.

  • :override_rejection (Boolean)

    A flag indicating that an assignment should be approved even if it was previously rejected. Defaults to ‘False`.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



542
543
544
545
# File 'lib/aws-sdk-mturk/client.rb', line 542

def approve_assignment(params = {}, options = {})
  req = build_request(:approve_assignment, params)
  req.send_request(options)
end

#associate_qualification_with_worker(params = {}) ⇒ Struct

The ‘AssociateQualificationWithWorker` operation gives a Worker a Qualification. `AssociateQualificationWithWorker` does not require that the Worker submit a Qualification request. It gives the Qualification directly to the Worker.

You can only assign a Qualification of a Qualification type that you created (using the ‘CreateQualificationType` operation).

<note markdown=“1”> Note: ‘AssociateQualificationWithWorker` does not affect any pending Qualification requests for the Qualification by the Worker. If you assign a Qualification to a Worker, then later grant a Qualification request made by the Worker, the granting of the request may modify the Qualification score. To resolve a pending Qualification request without affecting the Qualification the Worker already has, reject the request with the `RejectQualificationRequest` operation.

</note>

Examples:

Request syntax with placeholder values


resp = client.associate_qualification_with_worker({
  qualification_type_id: "EntityId", # required
  worker_id: "CustomerId", # required
  integer_value: 1,
  send_notification: false,
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :qualification_type_id (required, String)

    The ID of the Qualification type to use for the assigned Qualification.

  • :worker_id (required, String)

    The ID of the Worker to whom the Qualification is being assigned. Worker IDs are included with submitted HIT assignments and Qualification requests.

  • :integer_value (Integer)

    The value of the Qualification to assign.

  • :send_notification (Boolean)

    Specifies whether to send a notification email message to the Worker saying that the qualification was assigned to the Worker. Note: this is true by default.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



597
598
599
600
# File 'lib/aws-sdk-mturk/client.rb', line 597

def associate_qualification_with_worker(params = {}, options = {})
  req = build_request(:associate_qualification_with_worker, params)
  req.send_request(options)
end

#build_request(operation_name, params = {}) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Parameters:

  • params ({}) (defaults to: {})


2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
# File 'lib/aws-sdk-mturk/client.rb', line 2975

def build_request(operation_name, params = {})
  handlers = @handlers.for(operation_name)
  tracer = config.telemetry_provider.tracer_provider.tracer(
    Aws::Telemetry.module_to_tracer_name('Aws::MTurk')
  )
  context = Seahorse::Client::RequestContext.new(
    operation_name: operation_name,
    operation: config.api.operation(operation_name),
    client: self,
    params: params,
    config: config,
    tracer: tracer
  )
  context[:gem_name] = 'aws-sdk-mturk'
  context[:gem_version] = '1.66.0'
  Seahorse::Client::Request.new(handlers, context)
end

#create_additional_assignments_for_hit(params = {}) ⇒ Struct

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.

<note markdown=“1”> * 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.

</note>

Examples:

Request syntax with placeholder values


resp = client.create_additional_assignments_for_hit({
  hit_id: "EntityId", # required
  number_of_additional_assignments: 1, # required
  unique_request_token: "IdempotencyToken",
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :hit_id (required, String)

    The ID of the HIT to extend.

  • :number_of_additional_assignments (required, Integer)

    The number of additional assignments to request for this HIT.

  • :unique_request_token (String)

    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.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



650
651
652
653
# File 'lib/aws-sdk-mturk/client.rb', line 650

def create_additional_assignments_for_hit(params = {}, options = {})
  req = build_request(:create_additional_assignments_for_hit, params)
  req.send_request(options)
end

#create_hit(params = {}) ⇒ Types::CreateHITResponse

The ‘CreateHIT` operation creates a new Human Intelligence Task (HIT). The new HIT is made available for Workers to find and accept on the Amazon Mechanical Turk website.

This operation allows you to specify a new HIT by passing in values for the properties of the HIT, such as its title, reward amount and number of assignments. When you pass these values to ‘CreateHIT`, a new HIT is created for you, with a new `HITTypeID`. The HITTypeID can be used to create additional HITs in the future without needing to specify common parameters such as the title, description and reward amount each time.

An alternative way to create HITs is to first generate a HITTypeID using the ‘CreateHITType` operation and then call the `CreateHITWithHITType` operation. This is the recommended best practice for Requesters who are creating large numbers of HITs.

CreateHIT also supports several ways to provide question data: by providing a value for the ‘Question` parameter that fully specifies the contents of the HIT, or by providing a `HitLayoutId` and associated `HitLayoutParameters`.

<note markdown=“1”> If a HIT is created with 10 or more maximum assignments, there is an additional fee. For more information, see [Amazon Mechanical Turk Pricing].

</note>

[1]: requester.mturk.com/pricing

Examples:

Request syntax with placeholder values


resp = client.create_hit({
  max_assignments: 1,
  auto_approval_delay_in_seconds: 1,
  lifetime_in_seconds: 1, # required
  assignment_duration_in_seconds: 1, # required
  reward: "CurrencyAmount", # required
  title: "String", # required
  keywords: "String",
  description: "String", # required
  question: "String",
  requester_annotation: "String",
  qualification_requirements: [
    {
      qualification_type_id: "String", # required
      comparator: "LessThan", # required, accepts LessThan, LessThanOrEqualTo, GreaterThan, GreaterThanOrEqualTo, EqualTo, NotEqualTo, Exists, DoesNotExist, In, NotIn
      integer_values: [1],
      locale_values: [
        {
          country: "CountryParameters", # required
          subdivision: "CountryParameters",
        },
      ],
      required_to_preview: false,
      actions_guarded: "Accept", # accepts Accept, PreviewAndAccept, DiscoverPreviewAndAccept
    },
  ],
  unique_request_token: "IdempotencyToken",
  assignment_review_policy: {
    policy_name: "String", # required
    parameters: [
      {
        key: "String",
        values: ["String"],
        map_entries: [
          {
            key: "String",
            values: ["String"],
          },
        ],
      },
    ],
  },
  hit_review_policy: {
    policy_name: "String", # required
    parameters: [
      {
        key: "String",
        values: ["String"],
        map_entries: [
          {
            key: "String",
            values: ["String"],
          },
        ],
      },
    ],
  },
  hit_layout_id: "EntityId",
  hit_layout_parameters: [
    {
      name: "String", # required
      value: "String", # required
    },
  ],
})

Response structure


resp.hit.hit_id #=> String
resp.hit.hit_type_id #=> String
resp.hit.hit_group_id #=> String
resp.hit.hit_layout_id #=> String
resp.hit.creation_time #=> Time
resp.hit.title #=> String
resp.hit.description #=> String
resp.hit.question #=> String
resp.hit.keywords #=> String
resp.hit.hit_status #=> String, one of "Assignable", "Unassignable", "Reviewable", "Reviewing", "Disposed"
resp.hit.max_assignments #=> Integer
resp.hit.reward #=> String
resp.hit.auto_approval_delay_in_seconds #=> Integer
resp.hit.expiration #=> Time
resp.hit.assignment_duration_in_seconds #=> Integer
resp.hit.requester_annotation #=> String
resp.hit.qualification_requirements #=> Array
resp.hit.qualification_requirements[0].qualification_type_id #=> String
resp.hit.qualification_requirements[0].comparator #=> String, one of "LessThan", "LessThanOrEqualTo", "GreaterThan", "GreaterThanOrEqualTo", "EqualTo", "NotEqualTo", "Exists", "DoesNotExist", "In", "NotIn"
resp.hit.qualification_requirements[0].integer_values #=> Array
resp.hit.qualification_requirements[0].integer_values[0] #=> Integer
resp.hit.qualification_requirements[0].locale_values #=> Array
resp.hit.qualification_requirements[0].locale_values[0].country #=> String
resp.hit.qualification_requirements[0].locale_values[0].subdivision #=> String
resp.hit.qualification_requirements[0].required_to_preview #=> Boolean
resp.hit.qualification_requirements[0].actions_guarded #=> String, one of "Accept", "PreviewAndAccept", "DiscoverPreviewAndAccept"
resp.hit.hit_review_status #=> String, one of "NotReviewed", "MarkedForReview", "ReviewedAppropriate", "ReviewedInappropriate"
resp.hit.number_of_assignments_pending #=> Integer
resp.hit.number_of_assignments_available #=> Integer
resp.hit.number_of_assignments_completed #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :max_assignments (Integer)

    The number of times the HIT can be accepted and completed before the HIT becomes unavailable.

  • :auto_approval_delay_in_seconds (Integer)

    The number of seconds after an assignment for the HIT has been submitted, after which the assignment is considered Approved automatically unless the Requester explicitly rejects it.

  • :lifetime_in_seconds (required, Integer)

    An amount of time, in seconds, after which the HIT is no longer available for users to accept. After the lifetime of the HIT elapses, the HIT no longer appears in HIT searches, even if not all of the assignments for the HIT have been accepted.

  • :assignment_duration_in_seconds (required, Integer)

    The amount of time, in seconds, that a Worker has to complete the HIT after accepting it. If a Worker does not complete the assignment within the specified duration, the assignment is considered abandoned. If the HIT is still active (that is, its lifetime has not elapsed), the assignment becomes available for other users to find and accept.

  • :reward (required, String)

    The amount of money the Requester will pay a Worker for successfully completing the HIT.

  • :title (required, String)

    The title of the HIT. A title should be short and descriptive about the kind of task the HIT contains. On the Amazon Mechanical Turk web site, the HIT title appears in search results, and everywhere the HIT is mentioned.

  • :keywords (String)

    One or more words or phrases that describe the HIT, separated by commas. These words are used in searches to find HITs.

  • :description (required, String)

    A general description of the HIT. A description includes detailed information about the kind of task the HIT contains. On the Amazon Mechanical Turk web site, the HIT description appears in the expanded view of search results, and in the HIT and assignment screens. A good description gives the user enough information to evaluate the HIT before accepting it.

  • :question (String)

    The data the person completing the HIT uses to produce the results.

    Constraints: Must be a QuestionForm data structure, an ExternalQuestion data structure, or an HTMLQuestion data structure. The XML question data must not be larger than 64 kilobytes (65,535 bytes) in size, including whitespace.

    Either a Question parameter or a HITLayoutId parameter must be provided.

  • :requester_annotation (String)

    An arbitrary data field. The RequesterAnnotation parameter lets your application attach arbitrary data to the HIT for tracking purposes. For example, this parameter could be an identifier internal to the Requester’s application that corresponds with the HIT.

    The RequesterAnnotation parameter for a HIT is only visible to the Requester who created the HIT. It is not shown to the Worker, or any other Requester.

    The RequesterAnnotation parameter may be different for each HIT you submit. It does not affect how your HITs are grouped.

  • :qualification_requirements (Array<Types::QualificationRequirement>)

    Conditions that a Worker’s Qualifications must meet in order to accept the HIT. A HIT can have between zero and ten Qualification requirements. All requirements must be met in order for a Worker to accept the HIT. Additionally, other actions can be restricted using the ‘ActionsGuarded` field on each `QualificationRequirement` structure.

  • :unique_request_token (String)

    A unique identifier for this request which allows you to retry the call on error without creating duplicate HITs. This is useful in cases such as network timeouts where it is unclear whether or not the call succeeded on the server. If the HIT already exists in the system from a previous call using the same UniqueRequestToken, subsequent calls will return a AWS.MechanicalTurk.HitAlreadyExists error with a message containing the HITId.

    <note markdown=“1”> Note: It is your responsibility to ensure uniqueness of the token. The unique token expires after 24 hours. Subsequent calls using the same UniqueRequestToken made after the 24 hour limit could create duplicate HITs.

    </note>
    
  • :assignment_review_policy (Types::ReviewPolicy)

    The Assignment-level Review Policy applies to the assignments under the HIT. You can specify for Mechanical Turk to take various actions based on the policy.

  • :hit_review_policy (Types::ReviewPolicy)

    The HIT-level Review Policy applies to the HIT. You can specify for Mechanical Turk to take various actions based on the policy.

  • :hit_layout_id (String)

    The HITLayoutId allows you to use a pre-existing HIT design with placeholder values and create an additional HIT by providing those values as HITLayoutParameters.

    Constraints: Either a Question parameter or a HITLayoutId parameter must be provided.

  • :hit_layout_parameters (Array<Types::HITLayoutParameter>)

    If the HITLayoutId is provided, any placeholder values must be filled in with values using the HITLayoutParameter structure. For more information, see HITLayout.

Returns:

See Also:



910
911
912
913
# File 'lib/aws-sdk-mturk/client.rb', line 910

def create_hit(params = {}, options = {})
  req = build_request(:create_hit, params)
  req.send_request(options)
end

#create_hit_type(params = {}) ⇒ Types::CreateHITTypeResponse

The ‘CreateHITType` operation creates a new HIT type. This operation allows you to define a standard set of HIT properties to use when creating HITs. If you register a HIT type with values that match an existing HIT type, the HIT type ID of the existing type will be returned.

Examples:

Request syntax with placeholder values


resp = client.create_hit_type({
  auto_approval_delay_in_seconds: 1,
  assignment_duration_in_seconds: 1, # required
  reward: "CurrencyAmount", # required
  title: "String", # required
  keywords: "String",
  description: "String", # required
  qualification_requirements: [
    {
      qualification_type_id: "String", # required
      comparator: "LessThan", # required, accepts LessThan, LessThanOrEqualTo, GreaterThan, GreaterThanOrEqualTo, EqualTo, NotEqualTo, Exists, DoesNotExist, In, NotIn
      integer_values: [1],
      locale_values: [
        {
          country: "CountryParameters", # required
          subdivision: "CountryParameters",
        },
      ],
      required_to_preview: false,
      actions_guarded: "Accept", # accepts Accept, PreviewAndAccept, DiscoverPreviewAndAccept
    },
  ],
})

Response structure


resp.hit_type_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :auto_approval_delay_in_seconds (Integer)

    The number of seconds after an assignment for the HIT has been submitted, after which the assignment is considered Approved automatically unless the Requester explicitly rejects it.

  • :assignment_duration_in_seconds (required, Integer)

    The amount of time, in seconds, that a Worker has to complete the HIT after accepting it. If a Worker does not complete the assignment within the specified duration, the assignment is considered abandoned. If the HIT is still active (that is, its lifetime has not elapsed), the assignment becomes available for other users to find and accept.

  • :reward (required, String)

    The amount of money the Requester will pay a Worker for successfully completing the HIT.

  • :title (required, String)

    The title of the HIT. A title should be short and descriptive about the kind of task the HIT contains. On the Amazon Mechanical Turk web site, the HIT title appears in search results, and everywhere the HIT is mentioned.

  • :keywords (String)

    One or more words or phrases that describe the HIT, separated by commas. These words are used in searches to find HITs.

  • :description (required, String)

    A general description of the HIT. A description includes detailed information about the kind of task the HIT contains. On the Amazon Mechanical Turk web site, the HIT description appears in the expanded view of search results, and in the HIT and assignment screens. A good description gives the user enough information to evaluate the HIT before accepting it.

  • :qualification_requirements (Array<Types::QualificationRequirement>)

    Conditions that a Worker’s Qualifications must meet in order to accept the HIT. A HIT can have between zero and ten Qualification requirements. All requirements must be met in order for a Worker to accept the HIT. Additionally, other actions can be restricted using the ‘ActionsGuarded` field on each `QualificationRequirement` structure.

Returns:

See Also:



1001
1002
1003
1004
# File 'lib/aws-sdk-mturk/client.rb', line 1001

def create_hit_type(params = {}, options = {})
  req = build_request(:create_hit_type, params)
  req.send_request(options)
end

#create_hit_with_hit_type(params = {}) ⇒ Types::CreateHITWithHITTypeResponse

The ‘CreateHITWithHITType` operation creates a new Human Intelligence Task (HIT) using an existing HITTypeID generated by the `CreateHITType` operation.

This is an alternative way to create HITs from the ‘CreateHIT` operation. This is the recommended best practice for Requesters who are creating large numbers of HITs.

CreateHITWithHITType also supports several ways to provide question data: by providing a value for the ‘Question` parameter that fully specifies the contents of the HIT, or by providing a `HitLayoutId` and associated `HitLayoutParameters`.

<note markdown=“1”> If a HIT is created with 10 or more maximum assignments, there is an additional fee. For more information, see [Amazon Mechanical Turk Pricing].

</note>

[1]: requester.mturk.com/pricing

Examples:

Request syntax with placeholder values


resp = client.create_hit_with_hit_type({
  hit_type_id: "EntityId", # required
  max_assignments: 1,
  lifetime_in_seconds: 1, # required
  question: "String",
  requester_annotation: "String",
  unique_request_token: "IdempotencyToken",
  assignment_review_policy: {
    policy_name: "String", # required
    parameters: [
      {
        key: "String",
        values: ["String"],
        map_entries: [
          {
            key: "String",
            values: ["String"],
          },
        ],
      },
    ],
  },
  hit_review_policy: {
    policy_name: "String", # required
    parameters: [
      {
        key: "String",
        values: ["String"],
        map_entries: [
          {
            key: "String",
            values: ["String"],
          },
        ],
      },
    ],
  },
  hit_layout_id: "EntityId",
  hit_layout_parameters: [
    {
      name: "String", # required
      value: "String", # required
    },
  ],
})

Response structure


resp.hit.hit_id #=> String
resp.hit.hit_type_id #=> String
resp.hit.hit_group_id #=> String
resp.hit.hit_layout_id #=> String
resp.hit.creation_time #=> Time
resp.hit.title #=> String
resp.hit.description #=> String
resp.hit.question #=> String
resp.hit.keywords #=> String
resp.hit.hit_status #=> String, one of "Assignable", "Unassignable", "Reviewable", "Reviewing", "Disposed"
resp.hit.max_assignments #=> Integer
resp.hit.reward #=> String
resp.hit.auto_approval_delay_in_seconds #=> Integer
resp.hit.expiration #=> Time
resp.hit.assignment_duration_in_seconds #=> Integer
resp.hit.requester_annotation #=> String
resp.hit.qualification_requirements #=> Array
resp.hit.qualification_requirements[0].qualification_type_id #=> String
resp.hit.qualification_requirements[0].comparator #=> String, one of "LessThan", "LessThanOrEqualTo", "GreaterThan", "GreaterThanOrEqualTo", "EqualTo", "NotEqualTo", "Exists", "DoesNotExist", "In", "NotIn"
resp.hit.qualification_requirements[0].integer_values #=> Array
resp.hit.qualification_requirements[0].integer_values[0] #=> Integer
resp.hit.qualification_requirements[0].locale_values #=> Array
resp.hit.qualification_requirements[0].locale_values[0].country #=> String
resp.hit.qualification_requirements[0].locale_values[0].subdivision #=> String
resp.hit.qualification_requirements[0].required_to_preview #=> Boolean
resp.hit.qualification_requirements[0].actions_guarded #=> String, one of "Accept", "PreviewAndAccept", "DiscoverPreviewAndAccept"
resp.hit.hit_review_status #=> String, one of "NotReviewed", "MarkedForReview", "ReviewedAppropriate", "ReviewedInappropriate"
resp.hit.number_of_assignments_pending #=> Integer
resp.hit.number_of_assignments_available #=> Integer
resp.hit.number_of_assignments_completed #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :hit_type_id (required, String)

    The HIT type ID you want to create this HIT with.

  • :max_assignments (Integer)

    The number of times the HIT can be accepted and completed before the HIT becomes unavailable.

  • :lifetime_in_seconds (required, Integer)

    An amount of time, in seconds, after which the HIT is no longer available for users to accept. After the lifetime of the HIT elapses, the HIT no longer appears in HIT searches, even if not all of the assignments for the HIT have been accepted.

  • :question (String)

    The data the person completing the HIT uses to produce the results.

    Constraints: Must be a QuestionForm data structure, an ExternalQuestion data structure, or an HTMLQuestion data structure. The XML question data must not be larger than 64 kilobytes (65,535 bytes) in size, including whitespace.

    Either a Question parameter or a HITLayoutId parameter must be provided.

  • :requester_annotation (String)

    An arbitrary data field. The RequesterAnnotation parameter lets your application attach arbitrary data to the HIT for tracking purposes. For example, this parameter could be an identifier internal to the Requester’s application that corresponds with the HIT.

    The RequesterAnnotation parameter for a HIT is only visible to the Requester who created the HIT. It is not shown to the Worker, or any other Requester.

    The RequesterAnnotation parameter may be different for each HIT you submit. It does not affect how your HITs are grouped.

  • :unique_request_token (String)

    A unique identifier for this request which allows you to retry the call on error without creating duplicate HITs. This is useful in cases such as network timeouts where it is unclear whether or not the call succeeded on the server. If the HIT already exists in the system from a previous call using the same UniqueRequestToken, subsequent calls will return a AWS.MechanicalTurk.HitAlreadyExists error with a message containing the HITId.

    <note markdown=“1”> Note: It is your responsibility to ensure uniqueness of the token. The unique token expires after 24 hours. Subsequent calls using the same UniqueRequestToken made after the 24 hour limit could create duplicate HITs.

    </note>
    
  • :assignment_review_policy (Types::ReviewPolicy)

    The Assignment-level Review Policy applies to the assignments under the HIT. You can specify for Mechanical Turk to take various actions based on the policy.

  • :hit_review_policy (Types::ReviewPolicy)

    The HIT-level Review Policy applies to the HIT. You can specify for Mechanical Turk to take various actions based on the policy.

  • :hit_layout_id (String)

    The HITLayoutId allows you to use a pre-existing HIT design with placeholder values and create an additional HIT by providing those values as HITLayoutParameters.

    Constraints: Either a Question parameter or a HITLayoutId parameter must be provided.

  • :hit_layout_parameters (Array<Types::HITLayoutParameter>)

    If the HITLayoutId is provided, any placeholder values must be filled in with values using the HITLayoutParameter structure. For more information, see HITLayout.

Returns:

See Also:



1193
1194
1195
1196
# File 'lib/aws-sdk-mturk/client.rb', line 1193

def create_hit_with_hit_type(params = {}, options = {})
  req = build_request(:create_hit_with_hit_type, params)
  req.send_request(options)
end

#create_qualification_type(params = {}) ⇒ Types::CreateQualificationTypeResponse

The ‘CreateQualificationType` operation creates a new Qualification type, which is represented by a `QualificationType` data structure.

Examples:

Request syntax with placeholder values


resp = client.create_qualification_type({
  name: "String", # required
  keywords: "String",
  description: "String", # required
  qualification_type_status: "Active", # required, accepts Active, Inactive
  retry_delay_in_seconds: 1,
  test: "String",
  answer_key: "String",
  test_duration_in_seconds: 1,
  auto_granted: false,
  auto_granted_value: 1,
})

Response structure


resp.qualification_type.qualification_type_id #=> String
resp.qualification_type.creation_time #=> Time
resp.qualification_type.name #=> String
resp.qualification_type.description #=> String
resp.qualification_type.keywords #=> String
resp.qualification_type.qualification_type_status #=> String, one of "Active", "Inactive"
resp.qualification_type.test #=> String
resp.qualification_type.test_duration_in_seconds #=> Integer
resp.qualification_type.answer_key #=> String
resp.qualification_type.retry_delay_in_seconds #=> Integer
resp.qualification_type.is_requestable #=> Boolean
resp.qualification_type.auto_granted #=> Boolean
resp.qualification_type.auto_granted_value #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name you give to the Qualification type. The type name is used to represent the Qualification to Workers, and to find the type using a Qualification type search. It must be unique across all of your Qualification types.

  • :keywords (String)

    One or more words or phrases that describe the Qualification type, separated by commas. The keywords of a type make the type easier to find during a search.

  • :description (required, String)

    A long description for the Qualification type. On the Amazon Mechanical Turk website, the long description is displayed when a Worker examines a Qualification type.

  • :qualification_type_status (required, String)

    The initial status of the Qualification type.

    Constraints: Valid values are: Active | Inactive

  • :retry_delay_in_seconds (Integer)

    The number of seconds that a Worker must wait after requesting a Qualification of the Qualification type before the worker can retry the Qualification request.

    Constraints: None. If not specified, retries are disabled and Workers can request a Qualification of this type only once, even if the Worker has not been granted the Qualification. It is not possible to disable retries for a Qualification type after it has been created with retries enabled. If you want to disable retries, you must delete existing retry-enabled Qualification type and then create a new Qualification type with retries disabled.

  • :test (String)

    The questions for the Qualification test a Worker must answer correctly to obtain a Qualification of this type. If this parameter is specified, ‘TestDurationInSeconds` must also be specified.

    Constraints: Must not be longer than 65535 bytes. Must be a QuestionForm data structure. This parameter cannot be specified if AutoGranted is true.

    Constraints: None. If not specified, the Worker may request the Qualification without answering any questions.

  • :answer_key (String)

    The answers to the Qualification test specified in the Test parameter, in the form of an AnswerKey data structure.

    Constraints: Must not be longer than 65535 bytes.

    Constraints: None. If not specified, you must process Qualification requests manually.

  • :test_duration_in_seconds (Integer)

    The number of seconds the Worker has to complete the Qualification test, starting from the time the Worker requests the Qualification.

  • :auto_granted (Boolean)

    Specifies whether requests for the Qualification type are granted immediately, without prompting the Worker with a Qualification test.

    Constraints: If the Test parameter is specified, this parameter cannot be true.

  • :auto_granted_value (Integer)

    The Qualification value to use for automatically granted Qualifications. This parameter is used only if the AutoGranted parameter is true.

Returns:

See Also:



1311
1312
1313
1314
# File 'lib/aws-sdk-mturk/client.rb', line 1311

def create_qualification_type(params = {}, options = {})
  req = build_request(:create_qualification_type, params)
  req.send_request(options)
end

#create_worker_block(params = {}) ⇒ Struct

The ‘CreateWorkerBlock` operation allows you to prevent a Worker from working on your HITs. For example, you can block a Worker who is producing poor quality work. You can block up to 100,000 Workers.

Examples:

Request syntax with placeholder values


resp = client.create_worker_block({
  worker_id: "CustomerId", # required
  reason: "String", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :worker_id (required, String)

    The ID of the Worker to block.

  • :reason (required, String)

    A message explaining the reason for blocking the Worker. This parameter enables you to keep track of your Workers. The Worker does not see this message.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1341
1342
1343
1344
# File 'lib/aws-sdk-mturk/client.rb', line 1341

def create_worker_block(params = {}, options = {})
  req = build_request(:create_worker_block, params)
  req.send_request(options)
end

#delete_hit(params = {}) ⇒ Struct

The ‘DeleteHIT` operation is used to delete HIT that is no longer needed. Only the Requester who created the HIT can delete it.

You can only dispose of HITs that are in the ‘Reviewable` state, with all of their submitted assignments already either approved or rejected. If you call the DeleteHIT operation on a HIT that is not in the `Reviewable` state (for example, that has not expired, or still has active assignments), or on a HIT that is Reviewable but without all of its submitted assignments already approved or rejected, the service will return an error.

<note markdown=“1”> * HITs are automatically disposed of after 120 days.

  • After you dispose of a HIT, you can no longer approve the HIT’s rejected assignments.

  • Disposed HITs are not returned in results for the ListHITs operation.

  • Disposing HITs can improve the performance of operations such as ListReviewableHITs and ListHITs.

</note>

Examples:

Request syntax with placeholder values


resp = client.delete_hit({
  hit_id: "EntityId", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :hit_id (required, String)

    The ID of the HIT to be deleted.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1385
1386
1387
1388
# File 'lib/aws-sdk-mturk/client.rb', line 1385

def delete_hit(params = {}, options = {})
  req = build_request(:delete_hit, params)
  req.send_request(options)
end

#delete_qualification_type(params = {}) ⇒ Struct

The ‘DeleteQualificationType` deletes a Qualification type and deletes any HIT types that are associated with the Qualification type.

This operation does not revoke Qualifications already assigned to Workers because the Qualifications might be needed for active HITs. If there are any pending requests for the Qualification type, Amazon Mechanical Turk rejects those requests. After you delete a Qualification type, you can no longer use it to create HITs or HIT types.

<note markdown=“1”> DeleteQualificationType must wait for all the HITs that use the deleted Qualification type to be deleted before completing. It may take up to 48 hours before DeleteQualificationType completes and the unique name of the Qualification type is available for reuse with CreateQualificationType.

</note>

Examples:

Request syntax with placeholder values


resp = client.delete_qualification_type({
  qualification_type_id: "EntityId", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :qualification_type_id (required, String)

    The ID of the QualificationType to dispose.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1423
1424
1425
1426
# File 'lib/aws-sdk-mturk/client.rb', line 1423

def delete_qualification_type(params = {}, options = {})
  req = build_request(:delete_qualification_type, params)
  req.send_request(options)
end

#delete_worker_block(params = {}) ⇒ Struct

The ‘DeleteWorkerBlock` operation allows you to reinstate a blocked Worker to work on your HITs. This operation reverses the effects of the CreateWorkerBlock operation. You need the Worker ID to use this operation. If the Worker ID is missing or invalid, this operation fails and returns the message “WorkerId is invalid.” If the specified Worker is not blocked, this operation returns successfully.

Examples:

Request syntax with placeholder values


resp = client.delete_worker_block({
  worker_id: "CustomerId", # required
  reason: "String",
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :worker_id (required, String)

    The ID of the Worker to unblock.

  • :reason (String)

    A message that explains the reason for unblocking the Worker. The Worker does not see this message.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1455
1456
1457
1458
# File 'lib/aws-sdk-mturk/client.rb', line 1455

def delete_worker_block(params = {}, options = {})
  req = build_request(:delete_worker_block, params)
  req.send_request(options)
end

#disassociate_qualification_from_worker(params = {}) ⇒ Struct

The ‘DisassociateQualificationFromWorker` revokes a previously granted Qualification from a user.

You can provide a text message explaining why the Qualification was revoked. The user who had the Qualification can see this message.

Examples:

Request syntax with placeholder values


resp = client.disassociate_qualification_from_worker({
  worker_id: "CustomerId", # required
  qualification_type_id: "EntityId", # required
  reason: "String",
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :worker_id (required, String)

    The ID of the Worker who possesses the Qualification to be revoked.

  • :qualification_type_id (required, String)

    The ID of the Qualification type of the Qualification to be revoked.

  • :reason (String)

    A text message that explains why the Qualification was revoked. The user who had the Qualification sees this message.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1490
1491
1492
1493
# File 'lib/aws-sdk-mturk/client.rb', line 1490

def disassociate_qualification_from_worker(params = {}, options = {})
  req = build_request(:disassociate_qualification_from_worker, params)
  req.send_request(options)
end

#get_account_balance(params = {}) ⇒ Types::GetAccountBalanceResponse

The ‘GetAccountBalance` operation retrieves the Prepaid HITs balance in your Amazon Mechanical Turk account if you are a Prepaid Requester. Alternatively, this operation will retrieve the remaining available AWS Billing usage if you have enabled AWS Billing. Note: If you have enabled AWS Billing and still have a remaining Prepaid HITs balance, this balance can be viewed on the My Account page in the Requester console.

Examples:

Response structure


resp.available_balance #=> String
resp.on_hold_balance #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Returns:

See Also:



1517
1518
1519
1520
# File 'lib/aws-sdk-mturk/client.rb', line 1517

def (params = {}, options = {})
  req = build_request(:get_account_balance, params)
  req.send_request(options)
end

#get_assignment(params = {}) ⇒ Types::GetAssignmentResponse

The ‘GetAssignment` operation retrieves the details of the specified Assignment.

Examples:

Request syntax with placeholder values


resp = client.get_assignment({
  assignment_id: "EntityId", # required
})

Response structure


resp.assignment.assignment_id #=> String
resp.assignment.worker_id #=> String
resp.assignment.hit_id #=> String
resp.assignment.assignment_status #=> String, one of "Submitted", "Approved", "Rejected"
resp.assignment.auto_approval_time #=> Time
resp.assignment.accept_time #=> Time
resp.assignment.submit_time #=> Time
resp.assignment.approval_time #=> Time
resp.assignment.rejection_time #=> Time
resp.assignment.deadline #=> Time
resp.assignment.answer #=> String
resp.assignment.requester_feedback #=> String
resp.hit.hit_id #=> String
resp.hit.hit_type_id #=> String
resp.hit.hit_group_id #=> String
resp.hit.hit_layout_id #=> String
resp.hit.creation_time #=> Time
resp.hit.title #=> String
resp.hit.description #=> String
resp.hit.question #=> String
resp.hit.keywords #=> String
resp.hit.hit_status #=> String, one of "Assignable", "Unassignable", "Reviewable", "Reviewing", "Disposed"
resp.hit.max_assignments #=> Integer
resp.hit.reward #=> String
resp.hit.auto_approval_delay_in_seconds #=> Integer
resp.hit.expiration #=> Time
resp.hit.assignment_duration_in_seconds #=> Integer
resp.hit.requester_annotation #=> String
resp.hit.qualification_requirements #=> Array
resp.hit.qualification_requirements[0].qualification_type_id #=> String
resp.hit.qualification_requirements[0].comparator #=> String, one of "LessThan", "LessThanOrEqualTo", "GreaterThan", "GreaterThanOrEqualTo", "EqualTo", "NotEqualTo", "Exists", "DoesNotExist", "In", "NotIn"
resp.hit.qualification_requirements[0].integer_values #=> Array
resp.hit.qualification_requirements[0].integer_values[0] #=> Integer
resp.hit.qualification_requirements[0].locale_values #=> Array
resp.hit.qualification_requirements[0].locale_values[0].country #=> String
resp.hit.qualification_requirements[0].locale_values[0].subdivision #=> String
resp.hit.qualification_requirements[0].required_to_preview #=> Boolean
resp.hit.qualification_requirements[0].actions_guarded #=> String, one of "Accept", "PreviewAndAccept", "DiscoverPreviewAndAccept"
resp.hit.hit_review_status #=> String, one of "NotReviewed", "MarkedForReview", "ReviewedAppropriate", "ReviewedInappropriate"
resp.hit.number_of_assignments_pending #=> Integer
resp.hit.number_of_assignments_available #=> Integer
resp.hit.number_of_assignments_completed #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :assignment_id (required, String)

    The ID of the Assignment to be retrieved.

Returns:

See Also:



1588
1589
1590
1591
# File 'lib/aws-sdk-mturk/client.rb', line 1588

def get_assignment(params = {}, options = {})
  req = build_request(:get_assignment, params)
  req.send_request(options)
end

#get_file_upload_url(params = {}) ⇒ Types::GetFileUploadURLResponse

The ‘GetFileUploadURL` operation generates and returns a temporary URL. You use the temporary URL to retrieve a file uploaded by a Worker as an answer to a FileUploadAnswer question for a HIT. The temporary URL is generated the instant the GetFileUploadURL operation is called, and is valid for 60 seconds. You can get a temporary file upload URL any time until the HIT is disposed. After the HIT is disposed, any uploaded files are deleted, and cannot be retrieved. Pending Deprecation on December 12, 2017. The Answer Specification structure will no longer support the `FileUploadAnswer` element to be used for the QuestionForm data structure. Instead, we recommend that Requesters who want to create HITs asking Workers to upload files to use Amazon S3.

Examples:

Request syntax with placeholder values


resp = client.get_file_upload_url({
  assignment_id: "EntityId", # required
  question_identifier: "String", # required
})

Response structure


resp.file_upload_url #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :assignment_id (required, String)

    The ID of the assignment that contains the question with a FileUploadAnswer.

  • :question_identifier (required, String)

    The identifier of the question with a FileUploadAnswer, as specified in the QuestionForm of the HIT.

Returns:

See Also:



1633
1634
1635
1636
# File 'lib/aws-sdk-mturk/client.rb', line 1633

def get_file_upload_url(params = {}, options = {})
  req = build_request(:get_file_upload_url, params)
  req.send_request(options)
end

#get_hit(params = {}) ⇒ Types::GetHITResponse

The ‘GetHIT` operation retrieves the details of the specified HIT.

Examples:

Request syntax with placeholder values


resp = client.get_hit({
  hit_id: "EntityId", # required
})

Response structure


resp.hit.hit_id #=> String
resp.hit.hit_type_id #=> String
resp.hit.hit_group_id #=> String
resp.hit.hit_layout_id #=> String
resp.hit.creation_time #=> Time
resp.hit.title #=> String
resp.hit.description #=> String
resp.hit.question #=> String
resp.hit.keywords #=> String
resp.hit.hit_status #=> String, one of "Assignable", "Unassignable", "Reviewable", "Reviewing", "Disposed"
resp.hit.max_assignments #=> Integer
resp.hit.reward #=> String
resp.hit.auto_approval_delay_in_seconds #=> Integer
resp.hit.expiration #=> Time
resp.hit.assignment_duration_in_seconds #=> Integer
resp.hit.requester_annotation #=> String
resp.hit.qualification_requirements #=> Array
resp.hit.qualification_requirements[0].qualification_type_id #=> String
resp.hit.qualification_requirements[0].comparator #=> String, one of "LessThan", "LessThanOrEqualTo", "GreaterThan", "GreaterThanOrEqualTo", "EqualTo", "NotEqualTo", "Exists", "DoesNotExist", "In", "NotIn"
resp.hit.qualification_requirements[0].integer_values #=> Array
resp.hit.qualification_requirements[0].integer_values[0] #=> Integer
resp.hit.qualification_requirements[0].locale_values #=> Array
resp.hit.qualification_requirements[0].locale_values[0].country #=> String
resp.hit.qualification_requirements[0].locale_values[0].subdivision #=> String
resp.hit.qualification_requirements[0].required_to_preview #=> Boolean
resp.hit.qualification_requirements[0].actions_guarded #=> String, one of "Accept", "PreviewAndAccept", "DiscoverPreviewAndAccept"
resp.hit.hit_review_status #=> String, one of "NotReviewed", "MarkedForReview", "ReviewedAppropriate", "ReviewedInappropriate"
resp.hit.number_of_assignments_pending #=> Integer
resp.hit.number_of_assignments_available #=> Integer
resp.hit.number_of_assignments_completed #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :hit_id (required, String)

    The ID of the HIT to be retrieved.

Returns:

See Also:



1690
1691
1692
1693
# File 'lib/aws-sdk-mturk/client.rb', line 1690

def get_hit(params = {}, options = {})
  req = build_request(:get_hit, params)
  req.send_request(options)
end

#get_qualification_score(params = {}) ⇒ Types::GetQualificationScoreResponse

The ‘GetQualificationScore` operation returns the value of a Worker’s Qualification for a given Qualification type.

To get a Worker’s Qualification, you must know the Worker’s ID. The Worker’s ID is included in the assignment data returned by the ‘ListAssignmentsForHIT` operation.

Only the owner of a Qualification type can query the value of a Worker’s Qualification of that type.

Examples:

Request syntax with placeholder values


resp = client.get_qualification_score({
  qualification_type_id: "EntityId", # required
  worker_id: "CustomerId", # required
})

Response structure


resp.qualification.qualification_type_id #=> String
resp.qualification.worker_id #=> String
resp.qualification.grant_time #=> Time
resp.qualification.integer_value #=> Integer
resp.qualification.locale_value.country #=> String
resp.qualification.locale_value.subdivision #=> String
resp.qualification.status #=> String, one of "Granted", "Revoked"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :qualification_type_id (required, String)

    The ID of the QualificationType.

  • :worker_id (required, String)

    The ID of the Worker whose Qualification is being updated.

Returns:

See Also:



1736
1737
1738
1739
# File 'lib/aws-sdk-mturk/client.rb', line 1736

def get_qualification_score(params = {}, options = {})
  req = build_request(:get_qualification_score, params)
  req.send_request(options)
end

#get_qualification_type(params = {}) ⇒ Types::GetQualificationTypeResponse

The ‘GetQualificationType`operation retrieves information about a Qualification type using its ID.

Examples:

Request syntax with placeholder values


resp = client.get_qualification_type({
  qualification_type_id: "EntityId", # required
})

Response structure


resp.qualification_type.qualification_type_id #=> String
resp.qualification_type.creation_time #=> Time
resp.qualification_type.name #=> String
resp.qualification_type.description #=> String
resp.qualification_type.keywords #=> String
resp.qualification_type.qualification_type_status #=> String, one of "Active", "Inactive"
resp.qualification_type.test #=> String
resp.qualification_type.test_duration_in_seconds #=> Integer
resp.qualification_type.answer_key #=> String
resp.qualification_type.retry_delay_in_seconds #=> Integer
resp.qualification_type.is_requestable #=> Boolean
resp.qualification_type.auto_granted #=> Boolean
resp.qualification_type.auto_granted_value #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :qualification_type_id (required, String)

    The ID of the QualificationType.

Returns:

See Also:



1777
1778
1779
1780
# File 'lib/aws-sdk-mturk/client.rb', line 1777

def get_qualification_type(params = {}, options = {})
  req = build_request(:get_qualification_type, params)
  req.send_request(options)
end

#list_assignments_for_hit(params = {}) ⇒ Types::ListAssignmentsForHITResponse

The ‘ListAssignmentsForHIT` operation retrieves completed assignments for a HIT. You can use this operation to retrieve the results for a HIT.

You can get assignments for a HIT at any time, even if the HIT is not yet Reviewable. If a HIT requested multiple assignments, and has received some results but has not yet become Reviewable, you can still retrieve the partial results with this operation.

Use the AssignmentStatus parameter to control which set of assignments for a HIT are returned. The ListAssignmentsForHIT operation can return submitted assignments awaiting approval, or it can return assignments that have already been approved or rejected. You can set AssignmentStatus=Approved,Rejected to get assignments that have already been approved and rejected together in one result set.

Only the Requester who created the HIT can retrieve the assignments for that HIT.

Results are sorted and divided into numbered pages and the operation returns a single page of results. You can use the parameters of the operation to control sorting and pagination.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_assignments_for_hit({
  hit_id: "EntityId", # required
  next_token: "PaginationToken",
  max_results: 1,
  assignment_statuses: ["Submitted"], # accepts Submitted, Approved, Rejected
})

Response structure


resp.next_token #=> String
resp.num_results #=> Integer
resp.assignments #=> Array
resp.assignments[0].assignment_id #=> String
resp.assignments[0].worker_id #=> String
resp.assignments[0].hit_id #=> String
resp.assignments[0].assignment_status #=> String, one of "Submitted", "Approved", "Rejected"
resp.assignments[0].auto_approval_time #=> Time
resp.assignments[0].accept_time #=> Time
resp.assignments[0].submit_time #=> Time
resp.assignments[0].approval_time #=> Time
resp.assignments[0].rejection_time #=> Time
resp.assignments[0].deadline #=> Time
resp.assignments[0].answer #=> String
resp.assignments[0].requester_feedback #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :hit_id (required, String)

    The ID of the HIT.

  • :next_token (String)

    Pagination token

  • :max_results (Integer)
  • :assignment_statuses (Array<String>)

    The status of the assignments to return: Submitted | Approved | Rejected

Returns:

See Also:



1856
1857
1858
1859
# File 'lib/aws-sdk-mturk/client.rb', line 1856

def list_assignments_for_hit(params = {}, options = {})
  req = build_request(:list_assignments_for_hit, params)
  req.send_request(options)
end

#list_bonus_payments(params = {}) ⇒ Types::ListBonusPaymentsResponse

The ‘ListBonusPayments` operation retrieves the amounts of bonuses you have paid to Workers for a given HIT or assignment.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_bonus_payments({
  hit_id: "EntityId",
  assignment_id: "EntityId",
  next_token: "PaginationToken",
  max_results: 1,
})

Response structure


resp.num_results #=> Integer
resp.next_token #=> String
resp.bonus_payments #=> Array
resp.bonus_payments[0].worker_id #=> String
resp.bonus_payments[0].bonus_amount #=> String
resp.bonus_payments[0].assignment_id #=> String
resp.bonus_payments[0].reason #=> String
resp.bonus_payments[0].grant_time #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :hit_id (String)

    The ID of the HIT associated with the bonus payments to retrieve. If not specified, all bonus payments for all assignments for the given HIT are returned. Either the HITId parameter or the AssignmentId parameter must be specified

  • :assignment_id (String)

    The ID of the assignment associated with the bonus payments to retrieve. If specified, only bonus payments for the given assignment are returned. Either the HITId parameter or the AssignmentId parameter must be specified

  • :next_token (String)

    Pagination token

  • :max_results (Integer)

Returns:

See Also:



1913
1914
1915
1916
# File 'lib/aws-sdk-mturk/client.rb', line 1913

def list_bonus_payments(params = {}, options = {})
  req = build_request(:list_bonus_payments, params)
  req.send_request(options)
end

#list_hits(params = {}) ⇒ Types::ListHITsResponse

The ‘ListHITs` operation returns all of a Requester’s HITs. The operation returns HITs of any status, except for HITs that have been deleted of with the DeleteHIT operation or that have been auto-deleted.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_hits({
  next_token: "PaginationToken",
  max_results: 1,
})

Response structure


resp.next_token #=> String
resp.num_results #=> Integer
resp.hits #=> Array
resp.hits[0].hit_id #=> String
resp.hits[0].hit_type_id #=> String
resp.hits[0].hit_group_id #=> String
resp.hits[0].hit_layout_id #=> String
resp.hits[0].creation_time #=> Time
resp.hits[0].title #=> String
resp.hits[0].description #=> String
resp.hits[0].question #=> String
resp.hits[0].keywords #=> String
resp.hits[0].hit_status #=> String, one of "Assignable", "Unassignable", "Reviewable", "Reviewing", "Disposed"
resp.hits[0].max_assignments #=> Integer
resp.hits[0].reward #=> String
resp.hits[0].auto_approval_delay_in_seconds #=> Integer
resp.hits[0].expiration #=> Time
resp.hits[0].assignment_duration_in_seconds #=> Integer
resp.hits[0].requester_annotation #=> String
resp.hits[0].qualification_requirements #=> Array
resp.hits[0].qualification_requirements[0].qualification_type_id #=> String
resp.hits[0].qualification_requirements[0].comparator #=> String, one of "LessThan", "LessThanOrEqualTo", "GreaterThan", "GreaterThanOrEqualTo", "EqualTo", "NotEqualTo", "Exists", "DoesNotExist", "In", "NotIn"
resp.hits[0].qualification_requirements[0].integer_values #=> Array
resp.hits[0].qualification_requirements[0].integer_values[0] #=> Integer
resp.hits[0].qualification_requirements[0].locale_values #=> Array
resp.hits[0].qualification_requirements[0].locale_values[0].country #=> String
resp.hits[0].qualification_requirements[0].locale_values[0].subdivision #=> String
resp.hits[0].qualification_requirements[0].required_to_preview #=> Boolean
resp.hits[0].qualification_requirements[0].actions_guarded #=> String, one of "Accept", "PreviewAndAccept", "DiscoverPreviewAndAccept"
resp.hits[0].hit_review_status #=> String, one of "NotReviewed", "MarkedForReview", "ReviewedAppropriate", "ReviewedInappropriate"
resp.hits[0].number_of_assignments_pending #=> Integer
resp.hits[0].number_of_assignments_available #=> Integer
resp.hits[0].number_of_assignments_completed #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :next_token (String)

    Pagination token

  • :max_results (Integer)

Returns:

See Also:



1983
1984
1985
1986
# File 'lib/aws-sdk-mturk/client.rb', line 1983

def list_hits(params = {}, options = {})
  req = build_request(:list_hits, params)
  req.send_request(options)
end

#list_hits_for_qualification_type(params = {}) ⇒ Types::ListHITsForQualificationTypeResponse

The ‘ListHITsForQualificationType` operation returns the HITs that use the given Qualification type for a Qualification requirement. The operation returns HITs of any status, except for HITs that have been deleted with the `DeleteHIT` operation or that have been auto-deleted.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_hits_for_qualification_type({
  qualification_type_id: "EntityId", # required
  next_token: "PaginationToken",
  max_results: 1,
})

Response structure


resp.next_token #=> String
resp.num_results #=> Integer
resp.hits #=> Array
resp.hits[0].hit_id #=> String
resp.hits[0].hit_type_id #=> String
resp.hits[0].hit_group_id #=> String
resp.hits[0].hit_layout_id #=> String
resp.hits[0].creation_time #=> Time
resp.hits[0].title #=> String
resp.hits[0].description #=> String
resp.hits[0].question #=> String
resp.hits[0].keywords #=> String
resp.hits[0].hit_status #=> String, one of "Assignable", "Unassignable", "Reviewable", "Reviewing", "Disposed"
resp.hits[0].max_assignments #=> Integer
resp.hits[0].reward #=> String
resp.hits[0].auto_approval_delay_in_seconds #=> Integer
resp.hits[0].expiration #=> Time
resp.hits[0].assignment_duration_in_seconds #=> Integer
resp.hits[0].requester_annotation #=> String
resp.hits[0].qualification_requirements #=> Array
resp.hits[0].qualification_requirements[0].qualification_type_id #=> String
resp.hits[0].qualification_requirements[0].comparator #=> String, one of "LessThan", "LessThanOrEqualTo", "GreaterThan", "GreaterThanOrEqualTo", "EqualTo", "NotEqualTo", "Exists", "DoesNotExist", "In", "NotIn"
resp.hits[0].qualification_requirements[0].integer_values #=> Array
resp.hits[0].qualification_requirements[0].integer_values[0] #=> Integer
resp.hits[0].qualification_requirements[0].locale_values #=> Array
resp.hits[0].qualification_requirements[0].locale_values[0].country #=> String
resp.hits[0].qualification_requirements[0].locale_values[0].subdivision #=> String
resp.hits[0].qualification_requirements[0].required_to_preview #=> Boolean
resp.hits[0].qualification_requirements[0].actions_guarded #=> String, one of "Accept", "PreviewAndAccept", "DiscoverPreviewAndAccept"
resp.hits[0].hit_review_status #=> String, one of "NotReviewed", "MarkedForReview", "ReviewedAppropriate", "ReviewedInappropriate"
resp.hits[0].number_of_assignments_pending #=> Integer
resp.hits[0].number_of_assignments_available #=> Integer
resp.hits[0].number_of_assignments_completed #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :qualification_type_id (required, String)

    The ID of the Qualification type to use when querying HITs.

  • :next_token (String)

    Pagination Token

  • :max_results (Integer)

    Limit the number of results returned.

Returns:

See Also:



2058
2059
2060
2061
# File 'lib/aws-sdk-mturk/client.rb', line 2058

def list_hits_for_qualification_type(params = {}, options = {})
  req = build_request(:list_hits_for_qualification_type, params)
  req.send_request(options)
end

#list_qualification_requests(params = {}) ⇒ Types::ListQualificationRequestsResponse

The ‘ListQualificationRequests` operation retrieves requests for Qualifications of a particular Qualification type. The owner of the Qualification type calls this operation to poll for pending requests, and accepts them using the AcceptQualification operation.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_qualification_requests({
  qualification_type_id: "EntityId",
  next_token: "PaginationToken",
  max_results: 1,
})

Response structure


resp.num_results #=> Integer
resp.next_token #=> String
resp.qualification_requests #=> Array
resp.qualification_requests[0].qualification_request_id #=> String
resp.qualification_requests[0].qualification_type_id #=> String
resp.qualification_requests[0].worker_id #=> String
resp.qualification_requests[0].test #=> String
resp.qualification_requests[0].answer #=> String
resp.qualification_requests[0].submit_time #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :qualification_type_id (String)

    The ID of the QualificationType.

  • :next_token (String)

    If the previous response was incomplete (because there is more data to retrieve), Amazon Mechanical Turk returns a pagination token in the response. You can use this pagination token to retrieve the next set of results.

  • :max_results (Integer)

    The maximum number of results to return in a single call.

Returns:

See Also:



2112
2113
2114
2115
# File 'lib/aws-sdk-mturk/client.rb', line 2112

def list_qualification_requests(params = {}, options = {})
  req = build_request(:list_qualification_requests, params)
  req.send_request(options)
end

#list_qualification_types(params = {}) ⇒ Types::ListQualificationTypesResponse

The ‘ListQualificationTypes` operation returns a list of Qualification types, filtered by an optional search term.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_qualification_types({
  query: "String",
  must_be_requestable: false, # required
  must_be_owned_by_caller: false,
  next_token: "PaginationToken",
  max_results: 1,
})

Response structure


resp.num_results #=> Integer
resp.next_token #=> String
resp.qualification_types #=> Array
resp.qualification_types[0].qualification_type_id #=> String
resp.qualification_types[0].creation_time #=> Time
resp.qualification_types[0].name #=> String
resp.qualification_types[0].description #=> String
resp.qualification_types[0].keywords #=> String
resp.qualification_types[0].qualification_type_status #=> String, one of "Active", "Inactive"
resp.qualification_types[0].test #=> String
resp.qualification_types[0].test_duration_in_seconds #=> Integer
resp.qualification_types[0].answer_key #=> String
resp.qualification_types[0].retry_delay_in_seconds #=> Integer
resp.qualification_types[0].is_requestable #=> Boolean
resp.qualification_types[0].auto_granted #=> Boolean
resp.qualification_types[0].auto_granted_value #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :query (String)

    A text query against all of the searchable attributes of Qualification types.

  • :must_be_requestable (required, Boolean)

    Specifies that only Qualification types that a user can request through the Amazon Mechanical Turk web site, such as by taking a Qualification test, are returned as results of the search. Some Qualification types, such as those assigned automatically by the system, cannot be requested directly by users. If false, all Qualification types, including those managed by the system, are considered. Valid values are True | False.

  • :must_be_owned_by_caller (Boolean)

    Specifies that only Qualification types that the Requester created are returned. If false, the operation returns all Qualification types.

  • :next_token (String)

    If the previous response was incomplete (because there is more data to retrieve), Amazon Mechanical Turk returns a pagination token in the response. You can use this pagination token to retrieve the next set of results.

  • :max_results (Integer)

    The maximum number of results to return in a single call.

Returns:

See Also:



2187
2188
2189
2190
# File 'lib/aws-sdk-mturk/client.rb', line 2187

def list_qualification_types(params = {}, options = {})
  req = build_request(:list_qualification_types, params)
  req.send_request(options)
end

#list_review_policy_results_for_hit(params = {}) ⇒ Types::ListReviewPolicyResultsForHITResponse

The ‘ListReviewPolicyResultsForHIT` operation retrieves the computed results and the actions taken in the course of executing your Review Policies for a given HIT. For information about how to specify Review Policies when you call CreateHIT, see Review Policies. The ListReviewPolicyResultsForHIT operation can return results for both Assignment-level and HIT-level review results.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_review_policy_results_for_hit({
  hit_id: "EntityId", # required
  policy_levels: ["Assignment"], # accepts Assignment, HIT
  retrieve_actions: false,
  retrieve_results: false,
  next_token: "PaginationToken",
  max_results: 1,
})

Response structure


resp.hit_id #=> String
resp.assignment_review_policy.policy_name #=> String
resp.assignment_review_policy.parameters #=> Array
resp.assignment_review_policy.parameters[0].key #=> String
resp.assignment_review_policy.parameters[0].values #=> Array
resp.assignment_review_policy.parameters[0].values[0] #=> String
resp.assignment_review_policy.parameters[0].map_entries #=> Array
resp.assignment_review_policy.parameters[0].map_entries[0].key #=> String
resp.assignment_review_policy.parameters[0].map_entries[0].values #=> Array
resp.assignment_review_policy.parameters[0].map_entries[0].values[0] #=> String
resp.hit_review_policy.policy_name #=> String
resp.hit_review_policy.parameters #=> Array
resp.hit_review_policy.parameters[0].key #=> String
resp.hit_review_policy.parameters[0].values #=> Array
resp.hit_review_policy.parameters[0].values[0] #=> String
resp.hit_review_policy.parameters[0].map_entries #=> Array
resp.hit_review_policy.parameters[0].map_entries[0].key #=> String
resp.hit_review_policy.parameters[0].map_entries[0].values #=> Array
resp.hit_review_policy.parameters[0].map_entries[0].values[0] #=> String
resp.assignment_review_report.review_results #=> Array
resp.assignment_review_report.review_results[0].action_id #=> String
resp.assignment_review_report.review_results[0].subject_id #=> String
resp.assignment_review_report.review_results[0].subject_type #=> String
resp.assignment_review_report.review_results[0].question_id #=> String
resp.assignment_review_report.review_results[0].key #=> String
resp.assignment_review_report.review_results[0].value #=> String
resp.assignment_review_report.review_actions #=> Array
resp.assignment_review_report.review_actions[0].action_id #=> String
resp.assignment_review_report.review_actions[0].action_name #=> String
resp.assignment_review_report.review_actions[0].target_id #=> String
resp.assignment_review_report.review_actions[0].target_type #=> String
resp.assignment_review_report.review_actions[0].status #=> String, one of "Intended", "Succeeded", "Failed", "Cancelled"
resp.assignment_review_report.review_actions[0].complete_time #=> Time
resp.assignment_review_report.review_actions[0].result #=> String
resp.assignment_review_report.review_actions[0].error_code #=> String
resp.hit_review_report.review_results #=> Array
resp.hit_review_report.review_results[0].action_id #=> String
resp.hit_review_report.review_results[0].subject_id #=> String
resp.hit_review_report.review_results[0].subject_type #=> String
resp.hit_review_report.review_results[0].question_id #=> String
resp.hit_review_report.review_results[0].key #=> String
resp.hit_review_report.review_results[0].value #=> String
resp.hit_review_report.review_actions #=> Array
resp.hit_review_report.review_actions[0].action_id #=> String
resp.hit_review_report.review_actions[0].action_name #=> String
resp.hit_review_report.review_actions[0].target_id #=> String
resp.hit_review_report.review_actions[0].target_type #=> String
resp.hit_review_report.review_actions[0].status #=> String, one of "Intended", "Succeeded", "Failed", "Cancelled"
resp.hit_review_report.review_actions[0].complete_time #=> Time
resp.hit_review_report.review_actions[0].result #=> String
resp.hit_review_report.review_actions[0].error_code #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :hit_id (required, String)

    The unique identifier of the HIT to retrieve review results for.

  • :policy_levels (Array<String>)

    The Policy Level(s) to retrieve review results for - HIT or Assignment. If omitted, the default behavior is to retrieve all data for both policy levels. For a list of all the described policies, see Review Policies.

  • :retrieve_actions (Boolean)

    Specify if the operation should retrieve a list of the actions taken executing the Review Policies and their outcomes.

  • :retrieve_results (Boolean)

    Specify if the operation should retrieve a list of the results computed by the Review Policies.

  • :next_token (String)

    Pagination token

  • :max_results (Integer)

    Limit the number of results returned.

Returns:

See Also:



2303
2304
2305
2306
# File 'lib/aws-sdk-mturk/client.rb', line 2303

def list_review_policy_results_for_hit(params = {}, options = {})
  req = build_request(:list_review_policy_results_for_hit, params)
  req.send_request(options)
end

#list_reviewable_hits(params = {}) ⇒ Types::ListReviewableHITsResponse

The ‘ListReviewableHITs` operation retrieves the HITs with Status equal to Reviewable or Status equal to Reviewing that belong to the Requester calling the operation.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_reviewable_hits({
  hit_type_id: "EntityId",
  status: "Reviewable", # accepts Reviewable, Reviewing
  next_token: "PaginationToken",
  max_results: 1,
})

Response structure


resp.next_token #=> String
resp.num_results #=> Integer
resp.hits #=> Array
resp.hits[0].hit_id #=> String
resp.hits[0].hit_type_id #=> String
resp.hits[0].hit_group_id #=> String
resp.hits[0].hit_layout_id #=> String
resp.hits[0].creation_time #=> Time
resp.hits[0].title #=> String
resp.hits[0].description #=> String
resp.hits[0].question #=> String
resp.hits[0].keywords #=> String
resp.hits[0].hit_status #=> String, one of "Assignable", "Unassignable", "Reviewable", "Reviewing", "Disposed"
resp.hits[0].max_assignments #=> Integer
resp.hits[0].reward #=> String
resp.hits[0].auto_approval_delay_in_seconds #=> Integer
resp.hits[0].expiration #=> Time
resp.hits[0].assignment_duration_in_seconds #=> Integer
resp.hits[0].requester_annotation #=> String
resp.hits[0].qualification_requirements #=> Array
resp.hits[0].qualification_requirements[0].qualification_type_id #=> String
resp.hits[0].qualification_requirements[0].comparator #=> String, one of "LessThan", "LessThanOrEqualTo", "GreaterThan", "GreaterThanOrEqualTo", "EqualTo", "NotEqualTo", "Exists", "DoesNotExist", "In", "NotIn"
resp.hits[0].qualification_requirements[0].integer_values #=> Array
resp.hits[0].qualification_requirements[0].integer_values[0] #=> Integer
resp.hits[0].qualification_requirements[0].locale_values #=> Array
resp.hits[0].qualification_requirements[0].locale_values[0].country #=> String
resp.hits[0].qualification_requirements[0].locale_values[0].subdivision #=> String
resp.hits[0].qualification_requirements[0].required_to_preview #=> Boolean
resp.hits[0].qualification_requirements[0].actions_guarded #=> String, one of "Accept", "PreviewAndAccept", "DiscoverPreviewAndAccept"
resp.hits[0].hit_review_status #=> String, one of "NotReviewed", "MarkedForReview", "ReviewedAppropriate", "ReviewedInappropriate"
resp.hits[0].number_of_assignments_pending #=> Integer
resp.hits[0].number_of_assignments_available #=> Integer
resp.hits[0].number_of_assignments_completed #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :hit_type_id (String)

    The ID of the HIT type of the HITs to consider for the query. If not specified, all HITs for the Reviewer are considered

  • :status (String)

    Can be either ‘Reviewable` or `Reviewing`. Reviewable is the default value.

  • :next_token (String)

    Pagination Token

  • :max_results (Integer)

    Limit the number of results returned.

Returns:

See Also:



2383
2384
2385
2386
# File 'lib/aws-sdk-mturk/client.rb', line 2383

def list_reviewable_hits(params = {}, options = {})
  req = build_request(:list_reviewable_hits, params)
  req.send_request(options)
end

#list_worker_blocks(params = {}) ⇒ Types::ListWorkerBlocksResponse

The ‘ListWorkersBlocks` operation retrieves a list of Workers who are blocked from working on your HITs.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_worker_blocks({
  next_token: "PaginationToken",
  max_results: 1,
})

Response structure


resp.next_token #=> String
resp.num_results #=> Integer
resp.worker_blocks #=> Array
resp.worker_blocks[0].worker_id #=> String
resp.worker_blocks[0].reason #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :next_token (String)

    Pagination token

  • :max_results (Integer)

Returns:

See Also:



2423
2424
2425
2426
# File 'lib/aws-sdk-mturk/client.rb', line 2423

def list_worker_blocks(params = {}, options = {})
  req = build_request(:list_worker_blocks, params)
  req.send_request(options)
end

#list_workers_with_qualification_type(params = {}) ⇒ Types::ListWorkersWithQualificationTypeResponse

The ‘ListWorkersWithQualificationType` operation returns all of the Workers that have been associated with a given Qualification type.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_workers_with_qualification_type({
  qualification_type_id: "EntityId", # required
  status: "Granted", # accepts Granted, Revoked
  next_token: "PaginationToken",
  max_results: 1,
})

Response structure


resp.next_token #=> String
resp.num_results #=> Integer
resp.qualifications #=> Array
resp.qualifications[0].qualification_type_id #=> String
resp.qualifications[0].worker_id #=> String
resp.qualifications[0].grant_time #=> Time
resp.qualifications[0].integer_value #=> Integer
resp.qualifications[0].locale_value.country #=> String
resp.qualifications[0].locale_value.subdivision #=> String
resp.qualifications[0].status #=> String, one of "Granted", "Revoked"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :qualification_type_id (required, String)

    The ID of the Qualification type of the Qualifications to return.

  • :status (String)

    The status of the Qualifications to return. Can be ‘Granted | Revoked`.

  • :next_token (String)

    Pagination Token

  • :max_results (Integer)

    Limit the number of results returned.

Returns:

See Also:



2478
2479
2480
2481
# File 'lib/aws-sdk-mturk/client.rb', line 2478

def list_workers_with_qualification_type(params = {}, options = {})
  req = build_request(:list_workers_with_qualification_type, params)
  req.send_request(options)
end

#notify_workers(params = {}) ⇒ Types::NotifyWorkersResponse

The ‘NotifyWorkers` operation sends an email to one or more Workers that you specify with the Worker ID. You can specify up to 100 Worker IDs to send the same message with a single call to the NotifyWorkers operation. The NotifyWorkers operation will send a notification email to a Worker only if you have previously approved or rejected work from the Worker.

Examples:

Request syntax with placeholder values


resp = client.notify_workers({
  subject: "String", # required
  message_text: "String", # required
  worker_ids: ["CustomerId"], # required
})

Response structure


resp.notify_workers_failure_statuses #=> Array
resp.notify_workers_failure_statuses[0].notify_workers_failure_code #=> String, one of "SoftFailure", "HardFailure"
resp.notify_workers_failure_statuses[0].notify_workers_failure_message #=> String
resp.notify_workers_failure_statuses[0].worker_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :subject (required, String)

    The subject line of the email message to send. Can include up to 200 characters.

  • :message_text (required, String)

    The text of the email message to send. Can include up to 4,096 characters

  • :worker_ids (required, Array<String>)

    A list of Worker IDs you wish to notify. You can notify upto 100 Workers at a time.

Returns:

See Also:



2525
2526
2527
2528
# File 'lib/aws-sdk-mturk/client.rb', line 2525

def notify_workers(params = {}, options = {})
  req = build_request(:notify_workers, params)
  req.send_request(options)
end

#reject_assignment(params = {}) ⇒ Struct

The ‘RejectAssignment` operation rejects the results of a completed assignment.

You can include an optional feedback message with the rejection, which the Worker can see in the Status section of the web site. When you include a feedback message with the rejection, it helps the Worker understand why the assignment was rejected, and can improve the quality of the results the Worker submits in the future.

Only the Requester who created the HIT can reject an assignment for the HIT.

Examples:

Request syntax with placeholder values


resp = client.reject_assignment({
  assignment_id: "EntityId", # required
  requester_feedback: "String", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :assignment_id (required, String)

    The ID of the assignment. The assignment must correspond to a HIT created by the Requester.

  • :requester_feedback (required, String)

    A message for the Worker, which the Worker can see in the Status section of the web site.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2563
2564
2565
2566
# File 'lib/aws-sdk-mturk/client.rb', line 2563

def reject_assignment(params = {}, options = {})
  req = build_request(:reject_assignment, params)
  req.send_request(options)
end

#reject_qualification_request(params = {}) ⇒ Struct

The ‘RejectQualificationRequest` operation rejects a user’s request for a Qualification.

You can provide a text message explaining why the request was rejected. The Worker who made the request can see this message.

Examples:

Request syntax with placeholder values


resp = client.reject_qualification_request({
  qualification_request_id: "String", # required
  reason: "String",
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :qualification_request_id (required, String)

    The ID of the Qualification request, as returned by the ‘ListQualificationRequests` operation.

  • :reason (String)

    A text message explaining why the request was rejected, to be shown to the Worker who made the request.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2595
2596
2597
2598
# File 'lib/aws-sdk-mturk/client.rb', line 2595

def reject_qualification_request(params = {}, options = {})
  req = build_request(:reject_qualification_request, params)
  req.send_request(options)
end

#send_bonus(params = {}) ⇒ Struct

The ‘SendBonus` operation issues a payment of money from your account to a Worker. This payment happens separately from the reward you pay to the Worker when you approve the Worker’s assignment. The SendBonus operation requires the Worker’s ID and the assignment ID as parameters to initiate payment of the bonus. You must include a message that explains the reason for the bonus payment, as the Worker may not be expecting the payment. Amazon Mechanical Turk collects a fee for bonus payments, similar to the HIT listing fee. This operation fails if your account does not have enough funds to pay for both the bonus and the fees.

Examples:

Request syntax with placeholder values


resp = client.send_bonus({
  worker_id: "CustomerId", # required
  bonus_amount: "CurrencyAmount", # required
  assignment_id: "EntityId", # required
  reason: "String", # required
  unique_request_token: "IdempotencyToken",
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :worker_id (required, String)

    The ID of the Worker being paid the bonus.

  • :bonus_amount (required, String)

    The Bonus amount is a US Dollar amount specified using a string (for example, “5” represents $5.00 USD and “101.42” represents $101.42 USD). Do not include currency symbols or currency codes.

  • :assignment_id (required, String)

    The ID of the assignment for which this bonus is paid.

  • :reason (required, String)

    A message that explains the reason for the bonus payment. The Worker receiving the bonus can see this message.

  • :unique_request_token (String)

    A unique identifier for this request, which allows you to retry the call on error without granting multiple bonuses. This is useful in cases such as network timeouts where it is unclear whether or not the call succeeded on the server. If the bonus 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.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2651
2652
2653
2654
# File 'lib/aws-sdk-mturk/client.rb', line 2651

def send_bonus(params = {}, options = {})
  req = build_request(:send_bonus, params)
  req.send_request(options)
end

#send_test_event_notification(params = {}) ⇒ Struct

The ‘SendTestEventNotification` operation causes Amazon Mechanical Turk to send a notification message as if a HIT event occurred, according to the provided notification specification. This allows you to test notifications without setting up notifications for a real HIT type and trying to trigger them using the website. When you call this operation, the service attempts to send the test notification immediately.

Examples:

Request syntax with placeholder values


resp = client.send_test_event_notification({
  notification: { # required
    destination: "String", # required
    transport: "Email", # required, accepts Email, SQS, SNS
    version: "String", # required
    event_types: ["AssignmentAccepted"], # required, accepts AssignmentAccepted, AssignmentAbandoned, AssignmentReturned, AssignmentSubmitted, AssignmentRejected, AssignmentApproved, HITCreated, HITExpired, HITReviewable, HITExtended, HITDisposed, Ping
  },
  test_event_type: "AssignmentAccepted", # required, accepts AssignmentAccepted, AssignmentAbandoned, AssignmentReturned, AssignmentSubmitted, AssignmentRejected, AssignmentApproved, HITCreated, HITExpired, HITReviewable, HITExtended, HITDisposed, Ping
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :notification (required, Types::NotificationSpecification)

    The notification specification to test. This value is identical to the value you would provide to the UpdateNotificationSettings operation when you establish the notification specification for a HIT type.

  • :test_event_type (required, String)

    The event to simulate to test the notification specification. This event is included in the test message even if the notification specification does not include the event type. The notification specification does not filter out the test event.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2693
2694
2695
2696
# File 'lib/aws-sdk-mturk/client.rb', line 2693

def send_test_event_notification(params = {}, options = {})
  req = build_request(:send_test_event_notification, params)
  req.send_request(options)
end

#update_expiration_for_hit(params = {}) ⇒ Struct

The ‘UpdateExpirationForHIT` operation allows you update the expiration time of a HIT. If you update it to a time in the past, the HIT will be immediately expired.

Examples:

Request syntax with placeholder values


resp = client.update_expiration_for_hit({
  hit_id: "EntityId", # required
  expire_at: Time.now, # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :hit_id (required, String)

    The HIT to update.

  • :expire_at (required, Time, DateTime, Date, Integer, String)

    The date and time at which you want the HIT to expire

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2721
2722
2723
2724
# File 'lib/aws-sdk-mturk/client.rb', line 2721

def update_expiration_for_hit(params = {}, options = {})
  req = build_request(:update_expiration_for_hit, params)
  req.send_request(options)
end

#update_hit_review_status(params = {}) ⇒ Struct

The ‘UpdateHITReviewStatus` operation updates the status of a HIT. If the status is Reviewable, this operation can update the status to Reviewing, or it can revert a Reviewing HIT back to the Reviewable status.

Examples:

Request syntax with placeholder values


resp = client.update_hit_review_status({
  hit_id: "EntityId", # required
  revert: false,
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :hit_id (required, String)

    The ID of the HIT to update.

  • :revert (Boolean)

    Specifies how to update the HIT status. Default is ‘False`.

    • Setting this to false will only transition a HIT from ‘Reviewable` to `Reviewing`

    • Setting this to true will only transition a HIT from ‘Reviewing` to `Reviewable`

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2756
2757
2758
2759
# File 'lib/aws-sdk-mturk/client.rb', line 2756

def update_hit_review_status(params = {}, options = {})
  req = build_request(:update_hit_review_status, params)
  req.send_request(options)
end

#update_hit_type_of_hit(params = {}) ⇒ Struct

The ‘UpdateHITTypeOfHIT` operation allows you to change the HITType properties of a HIT. This operation disassociates the HIT from its old HITType properties and associates it with the new HITType properties. The HIT takes on the properties of the new HITType in place of the old ones.

Examples:

Request syntax with placeholder values


resp = client.update_hit_type_of_hit({
  hit_id: "EntityId", # required
  hit_type_id: "EntityId", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :hit_id (required, String)

    The HIT to update.

  • :hit_type_id (required, String)

    The ID of the new HIT type.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2786
2787
2788
2789
# File 'lib/aws-sdk-mturk/client.rb', line 2786

def update_hit_type_of_hit(params = {}, options = {})
  req = build_request(:update_hit_type_of_hit, params)
  req.send_request(options)
end

#update_notification_settings(params = {}) ⇒ Struct

The ‘UpdateNotificationSettings` operation creates, updates, disables or re-enables notifications for a HIT type. If you call the UpdateNotificationSettings operation for a HIT type that already has a notification specification, the operation replaces the old specification with a new one. You can call the UpdateNotificationSettings operation to enable or disable notifications for the HIT type, without having to modify the notification specification itself by providing updates to the Active status without specifying a new notification specification. To change the Active status of a HIT type’s notifications, the HIT type must already have a notification specification, or one must be provided in the same call to ‘UpdateNotificationSettings`.

Examples:

Request syntax with placeholder values


resp = client.update_notification_settings({
  hit_type_id: "EntityId", # required
  notification: {
    destination: "String", # required
    transport: "Email", # required, accepts Email, SQS, SNS
    version: "String", # required
    event_types: ["AssignmentAccepted"], # required, accepts AssignmentAccepted, AssignmentAbandoned, AssignmentReturned, AssignmentSubmitted, AssignmentRejected, AssignmentApproved, HITCreated, HITExpired, HITReviewable, HITExtended, HITDisposed, Ping
  },
  active: false,
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :hit_type_id (required, String)

    The ID of the HIT type whose notification specification is being updated.

  • :notification (Types::NotificationSpecification)

    The notification specification for the HIT type.

  • :active (Boolean)

    Specifies whether notifications are sent for HITs of this HIT type, according to the notification specification. You must specify either the Notification parameter or the Active parameter for the call to UpdateNotificationSettings to succeed.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2836
2837
2838
2839
# File 'lib/aws-sdk-mturk/client.rb', line 2836

def update_notification_settings(params = {}, options = {})
  req = build_request(:update_notification_settings, params)
  req.send_request(options)
end

#update_qualification_type(params = {}) ⇒ Types::UpdateQualificationTypeResponse

The ‘UpdateQualificationType` operation modifies the attributes of an existing Qualification type, which is represented by a QualificationType data structure. Only the owner of a Qualification type can modify its attributes.

Most attributes of a Qualification type can be changed after the type has been created. However, the Name and Keywords fields cannot be modified. The RetryDelayInSeconds parameter can be modified or added to change the delay or to enable retries, but RetryDelayInSeconds cannot be used to disable retries.

You can use this operation to update the test for a Qualification type. The test is updated based on the values specified for the Test, TestDurationInSeconds and AnswerKey parameters. All three parameters specify the updated test. If you are updating the test for a type, you must specify the Test and TestDurationInSeconds parameters. The AnswerKey parameter is optional; omitting it specifies that the updated test does not have an answer key.

If you omit the Test parameter, the test for the Qualification type is unchanged. There is no way to remove a test from a Qualification type that has one. If the type already has a test, you cannot update it to be AutoGranted. If the Qualification type does not have a test and one is provided by an update, the type will henceforth have a test.

If you want to update the test duration or answer key for an existing test without changing the questions, you must specify a Test parameter with the original questions, along with the updated values.

If you provide an updated Test but no AnswerKey, the new test will not have an answer key. Requests for such Qualifications must be granted manually.

You can also update the AutoGranted and AutoGrantedValue attributes of the Qualification type.

Examples:

Request syntax with placeholder values


resp = client.update_qualification_type({
  qualification_type_id: "EntityId", # required
  description: "String",
  qualification_type_status: "Active", # accepts Active, Inactive
  test: "String",
  answer_key: "String",
  test_duration_in_seconds: 1,
  retry_delay_in_seconds: 1,
  auto_granted: false,
  auto_granted_value: 1,
})

Response structure


resp.qualification_type.qualification_type_id #=> String
resp.qualification_type.creation_time #=> Time
resp.qualification_type.name #=> String
resp.qualification_type.description #=> String
resp.qualification_type.keywords #=> String
resp.qualification_type.qualification_type_status #=> String, one of "Active", "Inactive"
resp.qualification_type.test #=> String
resp.qualification_type.test_duration_in_seconds #=> Integer
resp.qualification_type.answer_key #=> String
resp.qualification_type.retry_delay_in_seconds #=> Integer
resp.qualification_type.is_requestable #=> Boolean
resp.qualification_type.auto_granted #=> Boolean
resp.qualification_type.auto_granted_value #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :qualification_type_id (required, String)

    The ID of the Qualification type to update.

  • :description (String)

    The new description of the Qualification type.

  • :qualification_type_status (String)

    The new status of the Qualification type - Active | Inactive

  • :test (String)

    The questions for the Qualification test a Worker must answer correctly to obtain a Qualification of this type. If this parameter is specified, ‘TestDurationInSeconds` must also be specified.

    Constraints: Must not be longer than 65535 bytes. Must be a QuestionForm data structure. This parameter cannot be specified if AutoGranted is true.

    Constraints: None. If not specified, the Worker may request the Qualification without answering any questions.

  • :answer_key (String)

    The answers to the Qualification test specified in the Test parameter, in the form of an AnswerKey data structure.

  • :test_duration_in_seconds (Integer)

    The number of seconds the Worker has to complete the Qualification test, starting from the time the Worker requests the Qualification.

  • :retry_delay_in_seconds (Integer)

    The amount of time, in seconds, that Workers must wait after requesting a Qualification of the specified Qualification type before they can retry the Qualification request. It is not possible to disable retries for a Qualification type after it has been created with retries enabled. If you want to disable retries, you must dispose of the existing retry-enabled Qualification type using DisposeQualificationType and then create a new Qualification type with retries disabled using CreateQualificationType.

  • :auto_granted (Boolean)

    Specifies whether requests for the Qualification type are granted immediately, without prompting the Worker with a Qualification test.

    Constraints: If the Test parameter is specified, this parameter cannot be true.

  • :auto_granted_value (Integer)

    The Qualification value to use for automatically granted Qualifications. This parameter is used only if the AutoGranted parameter is true.

Returns:

See Also:



2966
2967
2968
2969
# File 'lib/aws-sdk-mturk/client.rb', line 2966

def update_qualification_type(params = {}, options = {})
  req = build_request(:update_qualification_type, params)
  req.send_request(options)
end

#waiter_namesObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Deprecated.


2995
2996
2997
# File 'lib/aws-sdk-mturk/client.rb', line 2995

def waiter_names
  []
end