Concepts

This section explains the core concepts and terminology used in TaskMonk.

Core Entities

Task

A Task represents a single unit of work for an analyst. Tasks can vary in type based on the project requirements:

  • Image Annotation

  • Search Relevance

  • Data Labeling

  • Content Moderation

Task Structure:

Component

Description

Input Fields

Data presented to the analyst for review

Output Fields

Information curated by the analyst

Task Processing:

  • Tasks may go through multiple levels based on SLA requirements

  • At a single level, tasks can be analyzed by multiple analysts (parallel execution)

  • Majority rule can be applied to determine final values when needed

  • Analysts are typically associated with a Data Service Partner organization

Project

A Project is the basic organizational unit in TaskMonk. All configuration and role-based access control (RBAC) is defined at the project level.

Projects contain:

  • Field definitions

  • Processing levels

  • User permissions

  • Analyst assignments

Note

Projects are typically created by the Annotation Partner or TaskMonk Support team through the portal.

Batch

A Batch is a logical grouping of tasks that helps correlate work between customers and annotation partners.

Key Characteristics:

  • Typically corresponds to an input file and its corresponding output file

  • Can be assigned a priority level

  • Helps organize and track related tasks

Priority Management:

Tasks are processed in the order they are added to TaskMonk. However, batches can have priorities assigned:

Input

TaskMonk provides multiple methods to upload tasks to a batch:

Upload Methods

1. Single Task Upload

Upload individual tasks using the Add Task API

2. Bulk Upload via File

Upload Excel or CSV files using the Import Tasks API

3. Bulk Upload via Dictionary

Upload multiple tasks programmatically using the Dictionary API

4. Streaming Client

Use the streaming client for real-time task uploads

Job Tracking

All upload APIs return a job_id for tracking purposes.

Why Job Tracking?

  • Large task uploads may require preprocessing

  • Import process can take several minutes

  • Allows monitoring of upload progress

Monitoring Options:

  • Poll status using the Get Import Progress API

  • Receive email notifications upon completion

  • Get Slack notifications when import is complete

Output

Retrieving Results

Monitor batch progress using the Batch Status API, which returns:

  • Number of completed tasks

  • Number of pending tasks

  • Overall batch status

Output Methods

TaskMonk provides two primary methods to retrieve task results:

Real-time Updates

Set up a streaming client to receive notifications as analysts complete tasks.

  • Immediate task-by-task updates

  • Real-time processing workflow

  • Ideal for continuous integration

Batch Output

Retrieve complete output when the annotation partner finishes all tasks in a batch.

Option 1: File Download

Use the Get Output File API

  • Returns: job_id and file_url

  • File becomes available when job completes

  • Complete batch output in one file

Option 2: Dictionary Output

Use the Get Dictionary Output API

  • Supports pagination

  • Configurable page size

  • Retrieve results in smaller chunks