{"id":15066040,"url":"https://github.com/ehsan-ashik/mturk-api-helpers-console-app","last_synced_at":"2026-01-02T15:44:37.836Z","repository":{"id":257194176,"uuid":"857583441","full_name":"ehsan-ashik/mturk-api-helpers-console-app","owner":"ehsan-ashik","description":"The .NET app includes a curated list of helper functions with ability to perform advanced Requester tasks programmatically on Amazon Mechanical Turk crowdsourcing platform.","archived":false,"fork":false,"pushed_at":"2024-09-15T03:56:41.000Z","size":16,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-22T14:07:54.957Z","etag":null,"topics":["amazon-mechanical-turk","aws-sdk","consoleapp","csharp","dotnet","mturk"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ehsan-ashik.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-15T03:31:20.000Z","updated_at":"2024-09-15T09:06:51.000Z","dependencies_parsed_at":"2024-09-15T08:44:16.046Z","dependency_job_id":"08709419-9526-49d0-8ce0-cf1409781633","html_url":"https://github.com/ehsan-ashik/mturk-api-helpers-console-app","commit_stats":null,"previous_names":["ehsan-ashik/mturk-api-helpers"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ehsan-ashik%2Fmturk-api-helpers-console-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ehsan-ashik%2Fmturk-api-helpers-console-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ehsan-ashik%2Fmturk-api-helpers-console-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ehsan-ashik%2Fmturk-api-helpers-console-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ehsan-ashik","download_url":"https://codeload.github.com/ehsan-ashik/mturk-api-helpers-console-app/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243809885,"owners_count":20351407,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["amazon-mechanical-turk","aws-sdk","consoleapp","csharp","dotnet","mturk"],"created_at":"2024-09-25T01:00:22.228Z","updated_at":"2026-01-02T15:44:37.777Z","avatar_url":"https://github.com/ehsan-ashik.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Amazon MTurk Requester API Helpers - .NET Console App\r\nThe .NET app includes a curated list of helper functions with ability to perform advanced *Requester* tasks programmatically on **Amazon Mechanical Turk** crowdsourcing platform. The app leverages AWS MTurk SDKs toward performing the requester jobs that typically cannot be done from the MTurk Web Requester Portal.\r\n\r\n## Features\r\n1. Includes a curated list of helper functions that perform advanced *Requester* taks (e.g., emailing *Workers*) on MTurk.\r\n2. Supports generating excel worksheets with Worker data based on *QualificationTypes*.\r\n3. Supports *Logging mechanism* for sensitive tasks such as sending emails to workers along wth functionality to forward email logs to the *Requester*.\r\n\r\n## List of Available MTurk API Helpers\r\n\r\n* `ListAllHITs` - List all the HITs associated with the Requester Account\r\n* `GetWorkerIdsForHit` - Get all the *Workers* who completed a specific HIT\r\n* `GetQualificationType` - Get *QualificationType* object from the provided name\r\n* `GetQualificationTypeId` - Get ID of the *QualificationType* object from the provided name\r\n* `AssignQualificationTypeToWorkers` - Assigns *QualificationType* to *Workers* from a specific HIT or from a list of workers\r\n* `RemoveQualificationTypeFromWorkers` - Removes QualificationType from all workers in the HIT\r\n* `GenerateBatchDataForWorkersWithQualificationTypeExcel` - Generate a list of all *Workers* assigned to a *QualficationType* and save the result in a excel file in the current directory\r\n* `SendMessageToWorker` - Send a email message to a certain *Worker* with a speific *Subject* and *Message*\r\n* `SendMessageToWorkers` - Send email to a lis of *Workers* while generating logs of the email sending job and sending out log email to the *Requester*\r\n\r\n## Dependencies\r\nHere are a list of dependencies for the app:\r\n* .NET SDK 8.0 (https://dotnet.microsoft.com/en-us/download)\r\n* AWSSDK.MTurk v3.7.400.20 (https://www.nuget.org/packages/AWSSDK.MTurk)\r\n* ClosedXML v0.102.3 (https://www.nuget.org/packages/ClosedXML)\r\n\r\n## Usage (Visual Studio)\r\n\r\n1. Clone the repo using the command: `git clone https://github.com/ehsan-ashik/mturk-api-helpers.git`\r\n2. Open the `MTurkAPIHelpers.sln` with **Visual Studio**\r\n3. Set the `AWS_ACCESS_KEY_ID` and `AWS_ACCESS_KEY_SECRET` (AWS IAM/root user with permission to access Mechanical Turk) properties in the `MTurkAPIHelpers/Constants/Config` file.\r\n4. Build and Run the Solution.\r\n\r\n## Usage (VS Code/Command Line)\r\nHere are a list of steps to run the app locally:\r\n\r\n1. Clone the repo using the command: `git clone https://github.com/ehsan-ashik/mturk-api-helpers.git`\r\n2. Open the repo with code and `cd` into *MTurkAPIHelpers*\r\n3. Set the `AWS_ACCESS_KEY_ID` and `AWS_ACCESS_KEY_SECRET` (AWS IAM/root user with permission to access Mechanical Turk) properties in the `MTurkAPIHelpers/Constants/Config` file.\r\n4. Build the project in the command line with the command: `dotnet build`\r\n5. Run the project with the command: `dotnet run`\r\n\r\n## References\r\n1. Tutorial to setup/link AWS account with Mturk - https://docs.aws.amazon.com/AWSMechTurk/latest/AWSMechanicalTurkGettingStartedGuide/SetUp.html\r\n1. Creating IAM user in AWS - https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html\r\n2. Adding permission to the IAM User - https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fehsan-ashik%2Fmturk-api-helpers-console-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fehsan-ashik%2Fmturk-api-helpers-console-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fehsan-ashik%2Fmturk-api-helpers-console-app/lists"}